isaacscript-common 8.4.0 → 8.4.3
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/functions/hex.d.ts +16 -0
- package/dist/functions/hex.d.ts.map +1 -0
- package/dist/functions/hex.lua +51 -0
- package/dist/functions/playerHealth.d.ts +1 -1
- package/dist/functions/playerHealth.d.ts.map +1 -1
- package/dist/functions/playerHealth.lua +20 -3
- package/dist/functions/trinkets.d.ts +1 -1
- package/dist/functions/trinkets.d.ts.map +1 -1
- package/dist/functions/trinkets.lua +1 -1
- package/dist/functions/utils.d.ts +0 -14
- package/dist/functions/utils.d.ts.map +1 -1
- package/dist/functions/utils.lua +0 -43
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.lua +8 -0
- package/package.json +1 -1
- package/src/functions/hex.ts +60 -0
- package/src/functions/playerHealth.ts +17 -3
- package/src/functions/trinkets.ts +1 -1
- package/src/functions/utils.ts +0 -55
- package/src/index.ts +1 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
3
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
4
|
+
/**
|
|
5
|
+
* Converts a hex string like "#33aa33" to a KColor object.
|
|
6
|
+
*
|
|
7
|
+
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
8
|
+
*/
|
|
9
|
+
export declare function hexToColor(hexString: string, alpha: float): Color;
|
|
10
|
+
/**
|
|
11
|
+
* Converts a hex string like "#33aa33" to a Color object.
|
|
12
|
+
*
|
|
13
|
+
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
14
|
+
*/
|
|
15
|
+
export declare function hexToKColor(hexString: string, alpha: float): KColor;
|
|
16
|
+
//# sourceMappingURL=hex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/functions/hex.ts"],"names":[],"mappings":";;;AAIA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAMjE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAMnE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__StringReplace = ____lualib.__TS__StringReplace
|
|
3
|
+
local __TS__StringSubstring = ____lualib.__TS__StringSubstring
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local hexToRGB, HEX_STRING_LENGTH
|
|
6
|
+
local ____log = require("functions.log")
|
|
7
|
+
local logError = ____log.logError
|
|
8
|
+
function hexToRGB(self, hexString)
|
|
9
|
+
hexString = __TS__StringReplace(hexString, "#", "")
|
|
10
|
+
if #hexString ~= HEX_STRING_LENGTH then
|
|
11
|
+
logError("Hex strings must be of length: " .. tostring(HEX_STRING_LENGTH))
|
|
12
|
+
return {0, 0, 0}
|
|
13
|
+
end
|
|
14
|
+
local rString = __TS__StringSubstring(hexString, 0, 2)
|
|
15
|
+
local r = tonumber("0x" .. rString)
|
|
16
|
+
if r == nil then
|
|
17
|
+
logError(("Failed to convert `0x" .. rString) .. "` to a number.")
|
|
18
|
+
return {0, 0, 0}
|
|
19
|
+
end
|
|
20
|
+
local gString = __TS__StringSubstring(hexString, 2, 4)
|
|
21
|
+
local g = tonumber("0x" .. gString)
|
|
22
|
+
if g == nil then
|
|
23
|
+
logError(("Failed to convert `0x" .. gString) .. "` to a number.")
|
|
24
|
+
return {0, 0, 0}
|
|
25
|
+
end
|
|
26
|
+
local bString = __TS__StringSubstring(hexString, 4, 6)
|
|
27
|
+
local b = tonumber("0x" .. bString)
|
|
28
|
+
if b == nil then
|
|
29
|
+
logError(("Failed to convert `0x" .. bString) .. "` to a number.")
|
|
30
|
+
return {0, 0, 0}
|
|
31
|
+
end
|
|
32
|
+
return {r, g, b}
|
|
33
|
+
end
|
|
34
|
+
HEX_STRING_LENGTH = 6
|
|
35
|
+
--- Converts a hex string like "#33aa33" to a KColor object.
|
|
36
|
+
--
|
|
37
|
+
-- @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
38
|
+
function ____exports.hexToColor(self, hexString, alpha)
|
|
39
|
+
local r, g, b = table.unpack(hexToRGB(nil, hexString))
|
|
40
|
+
local base = 255
|
|
41
|
+
return Color(r / base, g / base, b / base, alpha)
|
|
42
|
+
end
|
|
43
|
+
--- Converts a hex string like "#33aa33" to a Color object.
|
|
44
|
+
--
|
|
45
|
+
-- @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
46
|
+
function ____exports.hexToKColor(self, hexString, alpha)
|
|
47
|
+
local r, g, b = table.unpack(hexToRGB(nil, hexString))
|
|
48
|
+
local base = 255
|
|
49
|
+
return KColor(r / base, g / base, b / base, alpha)
|
|
50
|
+
end
|
|
51
|
+
return ____exports
|
|
@@ -12,7 +12,7 @@ export declare function addPlayerHealthType(player: EntityPlayer, healthType: He
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function getPlayerHealth(player: EntityPlayer): PlayerHealth;
|
|
14
14
|
export declare function getPlayerHealthType(player: EntityPlayer, healthType: HealthType): int;
|
|
15
|
-
/** Returns a `PlayerHealth` object with all
|
|
15
|
+
/** Returns a `PlayerHealth` object with all zeros. */
|
|
16
16
|
export declare function newPlayerHealth(): PlayerHealth;
|
|
17
17
|
export declare function playerConvertBlackHeartsToSoulHearts(player: EntityPlayer): void;
|
|
18
18
|
export declare function playerConvertSoulHeartsToBlackHearts(player: EntityPlayer): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playerHealth.d.ts","sourceRoot":"","sources":["../../src/functions/playerHealth.ts"],"names":[],"mappings":";;AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAiB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"playerHealth.d.ts","sourceRoot":"","sources":["../../src/functions/playerHealth.ts"],"names":[],"mappings":";;AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAiB,MAAM,4BAA4B,CAAC;AAYzE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,GAAG,GACb,IAAI,CA+CN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CA2ElE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,GACrB,GAAG,CAmDL;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,YAAY,CAc9C;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,YAAY,GACnB,IAAI,CAQN;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,YAAY,GACnB,IAAI,CAQN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBhE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GACzB,IAAI,CAsHN"}
|
|
@@ -21,6 +21,8 @@ local getPlayerHearts = ____players.getPlayerHearts
|
|
|
21
21
|
local getPlayerSoulHearts = ____players.getPlayerSoulHearts
|
|
22
22
|
local isCharacter = ____players.isCharacter
|
|
23
23
|
local setActiveItem = ____players.setActiveItem
|
|
24
|
+
local ____utils = require("functions.utils")
|
|
25
|
+
local ____repeat = ____utils["repeat"]
|
|
24
26
|
function ____exports.removeAllPlayerHealth(self, player)
|
|
25
27
|
local goldenHearts = player:GetGoldenHearts()
|
|
26
28
|
local eternalHearts = player:GetEternalHearts()
|
|
@@ -105,8 +107,23 @@ function ____exports.setPlayerHealth(self, player, playerHealth)
|
|
|
105
107
|
)
|
|
106
108
|
player:AddRottenHearts(playerHealth.rottenHearts)
|
|
107
109
|
if character == PlayerType.MAGDALENE_B then
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
____repeat(
|
|
111
|
+
nil,
|
|
112
|
+
playerHealth.hearts,
|
|
113
|
+
function()
|
|
114
|
+
if player:HasFullHearts() then
|
|
115
|
+
return
|
|
116
|
+
end
|
|
117
|
+
local hearts = player:GetHearts()
|
|
118
|
+
local maxHearts = player:GetMaxHearts()
|
|
119
|
+
if hearts == maxHearts - 1 then
|
|
120
|
+
player:AddHearts(1)
|
|
121
|
+
return
|
|
122
|
+
end
|
|
123
|
+
player:AddHearts(1)
|
|
124
|
+
player:AddHearts(-1)
|
|
125
|
+
end
|
|
126
|
+
)
|
|
110
127
|
else
|
|
111
128
|
player:AddHearts(playerHealth.hearts)
|
|
112
129
|
end
|
|
@@ -323,7 +340,7 @@ function ____exports.getPlayerHealthType(self, player, healthType)
|
|
|
323
340
|
end
|
|
324
341
|
until true
|
|
325
342
|
end
|
|
326
|
-
--- Returns a `PlayerHealth` object with all
|
|
343
|
+
--- Returns a `PlayerHealth` object with all zeros.
|
|
327
344
|
function ____exports.newPlayerHealth(self)
|
|
328
345
|
return {
|
|
329
346
|
maxHearts = 0,
|
|
@@ -48,7 +48,7 @@ export declare function getVanillaTrinketTypes(): TrinketType[];
|
|
|
48
48
|
* items. (Only Tainted Forgotten can pick up items.)
|
|
49
49
|
*/
|
|
50
50
|
export declare function hasOpenTrinketSlot(player: EntityPlayer): boolean;
|
|
51
|
-
export declare function
|
|
51
|
+
export declare function isGoldenTrinketType(trinketType: TrinketType): boolean;
|
|
52
52
|
export declare function isModdedTrinketType(trinketType: TrinketType): boolean;
|
|
53
53
|
export declare function isVanillaTrinketType(trinketType: TrinketType): boolean;
|
|
54
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trinkets.d.ts","sourceRoot":"","sources":["../../src/functions/trinkets.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACZ,MAAM,8BAA8B,CAAC;AA6BtC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAE1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,GAAG,SAAS,CAkBxE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CActE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAc/D;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,IAAI,WAAW,EAAE,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAOhE;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"trinkets.d.ts","sourceRoot":"","sources":["../../src/functions/trinkets.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACZ,MAAM,8BAA8B,CAAC;AA6BtC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAE1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,GAAG,SAAS,CAkBxE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CActE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAc/D;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,IAAI,WAAW,EAAE,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAOhE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI,CAeN"}
|
|
@@ -119,7 +119,7 @@ function ____exports.hasOpenTrinketSlot(self, player)
|
|
|
119
119
|
local openTrinketSlot = ____exports.getOpenTrinketSlot(nil, player)
|
|
120
120
|
return openTrinketSlot ~= nil
|
|
121
121
|
end
|
|
122
|
-
function ____exports.
|
|
122
|
+
function ____exports.isGoldenTrinketType(self, trinketType)
|
|
123
123
|
return asNumber(nil, trinketType) > GOLDEN_TRINKET_ADJUSTMENT
|
|
124
124
|
end
|
|
125
125
|
function ____exports.isModdedTrinketType(self, trinketType)
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
/// <reference types="isaac-typescript-definitions" />
|
|
3
|
-
/// <reference types="isaac-typescript-definitions" />
|
|
4
2
|
/**
|
|
5
3
|
* Helper function to return an array with the elements from start to end. It is inclusive at the
|
|
6
4
|
* start and exclusive at the end. (The "e" stands for exclusive.)
|
|
@@ -16,18 +14,6 @@ export declare function erange(start: int, end?: int): int[];
|
|
|
16
14
|
* structures.
|
|
17
15
|
*/
|
|
18
16
|
export declare function getTraversalDescription(key: unknown, traversalDescription: string): string;
|
|
19
|
-
/**
|
|
20
|
-
* Converts a hex string like "#33aa33" to a KColor object.
|
|
21
|
-
*
|
|
22
|
-
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
23
|
-
*/
|
|
24
|
-
export declare function hexToColor(hexString: string, alpha: float): Color;
|
|
25
|
-
/**
|
|
26
|
-
* Converts a hex string like "#33aa33" to a Color object.
|
|
27
|
-
*
|
|
28
|
-
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
29
|
-
*/
|
|
30
|
-
export declare function hexToKColor(hexString: string, alpha: float): KColor;
|
|
31
17
|
/**
|
|
32
18
|
* Helper function to return an array with the elements from start to end, inclusive. (The "i"
|
|
33
19
|
* stands for inclusive.)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":";AAIA;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAYnD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAQR;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAYnD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAGxE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAI3D;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAG;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAYhE"}
|
package/dist/functions/utils.lua
CHANGED
|
@@ -1,37 +1,10 @@
|
|
|
1
|
-
local ____lualib = require("lualib_bundle")
|
|
2
|
-
local __TS__StringReplace = ____lualib.__TS__StringReplace
|
|
3
|
-
local __TS__StringSubstring = ____lualib.__TS__StringSubstring
|
|
4
1
|
local ____exports = {}
|
|
5
|
-
local hexToRGB, HEX_STRING_LENGTH
|
|
6
2
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
3
|
local RenderMode = ____isaac_2Dtypescript_2Ddefinitions.RenderMode
|
|
8
4
|
local ____cachedClasses = require("core.cachedClasses")
|
|
9
5
|
local game = ____cachedClasses.game
|
|
10
6
|
local ____consoleCommandsSet = require("sets.consoleCommandsSet")
|
|
11
7
|
local CONSOLE_COMMANDS_SET = ____consoleCommandsSet.CONSOLE_COMMANDS_SET
|
|
12
|
-
function hexToRGB(self, hexString)
|
|
13
|
-
hexString = __TS__StringReplace(hexString, "#", "")
|
|
14
|
-
if #hexString ~= HEX_STRING_LENGTH then
|
|
15
|
-
error("Hex strings must be of length: " .. tostring(HEX_STRING_LENGTH))
|
|
16
|
-
end
|
|
17
|
-
local rString = __TS__StringSubstring(hexString, 0, 2)
|
|
18
|
-
local r = tonumber("0x" .. rString)
|
|
19
|
-
if r == nil then
|
|
20
|
-
error(("Failed to convert `0x" .. rString) .. "` to a number.")
|
|
21
|
-
end
|
|
22
|
-
local gString = __TS__StringSubstring(hexString, 2, 4)
|
|
23
|
-
local g = tonumber("0x" .. gString)
|
|
24
|
-
if g == nil then
|
|
25
|
-
error(("Failed to convert `0x" .. gString) .. "` to a number.")
|
|
26
|
-
end
|
|
27
|
-
local bString = __TS__StringSubstring(hexString, 4, 6)
|
|
28
|
-
local b = tonumber("0x" .. bString)
|
|
29
|
-
if b == nil then
|
|
30
|
-
error(("Failed to convert `0x" .. bString) .. "` to a number.")
|
|
31
|
-
end
|
|
32
|
-
return {r, g, b}
|
|
33
|
-
end
|
|
34
|
-
HEX_STRING_LENGTH = 6
|
|
35
8
|
--- Helper function to return an array with the elements from start to end. It is inclusive at the
|
|
36
9
|
-- start and exclusive at the end. (The "e" stands for exclusive.)
|
|
37
10
|
--
|
|
@@ -63,22 +36,6 @@ function ____exports.getTraversalDescription(self, key, traversalDescription)
|
|
|
63
36
|
traversalDescription = traversalDescription .. tostring(key)
|
|
64
37
|
return traversalDescription
|
|
65
38
|
end
|
|
66
|
-
--- Converts a hex string like "#33aa33" to a KColor object.
|
|
67
|
-
--
|
|
68
|
-
-- @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
69
|
-
function ____exports.hexToColor(self, hexString, alpha)
|
|
70
|
-
local r, g, b = table.unpack(hexToRGB(nil, hexString))
|
|
71
|
-
local base = 255
|
|
72
|
-
return Color(r / base, g / base, b / base, alpha)
|
|
73
|
-
end
|
|
74
|
-
--- Converts a hex string like "#33aa33" to a Color object.
|
|
75
|
-
--
|
|
76
|
-
-- @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
77
|
-
function ____exports.hexToKColor(self, hexString, alpha)
|
|
78
|
-
local r, g, b = table.unpack(hexToRGB(nil, hexString))
|
|
79
|
-
local base = 255
|
|
80
|
-
return KColor(r / base, g / base, b / base, alpha)
|
|
81
|
-
end
|
|
82
39
|
--- Helper function to return an array with the elements from start to end, inclusive. (The "i"
|
|
83
40
|
-- stands for inclusive.)
|
|
84
41
|
--
|
package/dist/index.d.ts
CHANGED
|
@@ -5803,7 +5803,7 @@ export declare function isFunction(variable: unknown): variable is Function;
|
|
|
5803
5803
|
*/
|
|
5804
5804
|
export declare function isGlitchedCollectible(pickup: EntityPickup): boolean;
|
|
5805
5805
|
|
|
5806
|
-
export declare function
|
|
5806
|
+
export declare function isGoldenTrinketType(trinketType: TrinketType): boolean;
|
|
5807
5807
|
|
|
5808
5808
|
/** Helper function to detect if a variable is of type `GridEntity`. */
|
|
5809
5809
|
export declare function isGridEntity(variable: unknown): variable is GridEntity;
|
|
@@ -8143,7 +8143,7 @@ export declare function newChargeBarSprites(maxCharges: int): ChargeBarSprites;
|
|
|
8143
8143
|
|
|
8144
8144
|
export declare function newPickingUpItem(): PickingUpItem;
|
|
8145
8145
|
|
|
8146
|
-
/** Returns a `PlayerHealth` object with all
|
|
8146
|
+
/** Returns a `PlayerHealth` object with all zeros. */
|
|
8147
8147
|
export declare function newPlayerHealth(): PlayerHealth;
|
|
8148
8148
|
|
|
8149
8149
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.lua
CHANGED
|
@@ -687,6 +687,14 @@ do
|
|
|
687
687
|
end
|
|
688
688
|
end
|
|
689
689
|
end
|
|
690
|
+
do
|
|
691
|
+
local ____export = require("functions.hex")
|
|
692
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
693
|
+
if ____exportKey ~= "default" then
|
|
694
|
+
____exports[____exportKey] = ____exportValue
|
|
695
|
+
end
|
|
696
|
+
end
|
|
697
|
+
end
|
|
690
698
|
do
|
|
691
699
|
local ____export = require("functions.input")
|
|
692
700
|
for ____exportKey, ____exportValue in pairs(____export) do
|
package/package.json
CHANGED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { logError } from "./log";
|
|
2
|
+
|
|
3
|
+
const HEX_STRING_LENGTH = 6;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Converts a hex string like "#33aa33" to a KColor object.
|
|
7
|
+
*
|
|
8
|
+
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
9
|
+
*/
|
|
10
|
+
export function hexToColor(hexString: string, alpha: float): Color {
|
|
11
|
+
const [r, g, b] = hexToRGB(hexString);
|
|
12
|
+
|
|
13
|
+
// Color values should be between 0 and 1.
|
|
14
|
+
const base = 255;
|
|
15
|
+
return Color(r / base, g / base, b / base, alpha);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Converts a hex string like "#33aa33" to a Color object.
|
|
20
|
+
*
|
|
21
|
+
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
22
|
+
*/
|
|
23
|
+
export function hexToKColor(hexString: string, alpha: float): KColor {
|
|
24
|
+
const [r, g, b] = hexToRGB(hexString);
|
|
25
|
+
|
|
26
|
+
// KColor values should be between 0 and 1.
|
|
27
|
+
const base = 255;
|
|
28
|
+
return KColor(r / base, g / base, b / base, alpha);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function hexToRGB(hexString: string): [r: float, g: float, b: float] {
|
|
32
|
+
hexString = hexString.replace("#", "");
|
|
33
|
+
if (hexString.length !== HEX_STRING_LENGTH) {
|
|
34
|
+
logError(`Hex strings must be of length: ${HEX_STRING_LENGTH}`);
|
|
35
|
+
return [0, 0, 0];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const rString = hexString.substring(0, 2);
|
|
39
|
+
const r = tonumber(`0x${rString}`);
|
|
40
|
+
if (r === undefined) {
|
|
41
|
+
logError(`Failed to convert \`0x${rString}\` to a number.`);
|
|
42
|
+
return [0, 0, 0];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const gString = hexString.substring(2, 4);
|
|
46
|
+
const g = tonumber(`0x${gString}`);
|
|
47
|
+
if (g === undefined) {
|
|
48
|
+
logError(`Failed to convert \`0x${gString}\` to a number.`);
|
|
49
|
+
return [0, 0, 0];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const bString = hexString.substring(4, 6);
|
|
53
|
+
const b = tonumber(`0x${bString}`);
|
|
54
|
+
if (b === undefined) {
|
|
55
|
+
logError(`Failed to convert \`0x${bString}\` to a number.`);
|
|
56
|
+
return [0, 0, 0];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return [r, g, b];
|
|
60
|
+
}
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
isCharacter,
|
|
17
17
|
setActiveItem,
|
|
18
18
|
} from "./players";
|
|
19
|
+
import { repeat } from "./utils";
|
|
19
20
|
|
|
20
21
|
export function addPlayerHealthType(
|
|
21
22
|
player: EntityPlayer,
|
|
@@ -210,7 +211,7 @@ export function getPlayerHealthType(
|
|
|
210
211
|
}
|
|
211
212
|
}
|
|
212
213
|
|
|
213
|
-
/** Returns a `PlayerHealth` object with all
|
|
214
|
+
/** Returns a `PlayerHealth` object with all zeros. */
|
|
214
215
|
export function newPlayerHealth(): PlayerHealth {
|
|
215
216
|
return {
|
|
216
217
|
maxHearts: 0,
|
|
@@ -381,8 +382,21 @@ export function setPlayerHealth(
|
|
|
381
382
|
|
|
382
383
|
if (character === PlayerType.MAGDALENE_B) {
|
|
383
384
|
// Adding 1 heart to Tainted Magdalene will actually add two hearts.
|
|
384
|
-
|
|
385
|
-
|
|
385
|
+
repeat(playerHealth.hearts, () => {
|
|
386
|
+
if (player.HasFullHearts()) {
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
const hearts = player.GetHearts();
|
|
391
|
+
const maxHearts = player.GetMaxHearts();
|
|
392
|
+
if (hearts === maxHearts - 1) {
|
|
393
|
+
player.AddHearts(1);
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
player.AddHearts(1);
|
|
398
|
+
player.AddHearts(-1);
|
|
399
|
+
});
|
|
386
400
|
} else {
|
|
387
401
|
player.AddHearts(playerHealth.hearts);
|
|
388
402
|
}
|
|
@@ -143,7 +143,7 @@ export function hasOpenTrinketSlot(player: EntityPlayer): boolean {
|
|
|
143
143
|
return openTrinketSlot !== undefined;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
-
export function
|
|
146
|
+
export function isGoldenTrinketType(trinketType: TrinketType): boolean {
|
|
147
147
|
return asNumber(trinketType) > GOLDEN_TRINKET_ADJUSTMENT;
|
|
148
148
|
}
|
|
149
149
|
|
package/src/functions/utils.ts
CHANGED
|
@@ -2,8 +2,6 @@ import { RenderMode } from "isaac-typescript-definitions";
|
|
|
2
2
|
import { game } from "../core/cachedClasses";
|
|
3
3
|
import { CONSOLE_COMMANDS_SET } from "../sets/consoleCommandsSet";
|
|
4
4
|
|
|
5
|
-
const HEX_STRING_LENGTH = 6;
|
|
6
|
-
|
|
7
5
|
/**
|
|
8
6
|
* Helper function to return an array with the elements from start to end. It is inclusive at the
|
|
9
7
|
* start and exclusive at the end. (The "e" stands for exclusive.)
|
|
@@ -44,59 +42,6 @@ export function getTraversalDescription(
|
|
|
44
42
|
return traversalDescription;
|
|
45
43
|
}
|
|
46
44
|
|
|
47
|
-
/**
|
|
48
|
-
* Converts a hex string like "#33aa33" to a KColor object.
|
|
49
|
-
*
|
|
50
|
-
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
51
|
-
*/
|
|
52
|
-
export function hexToColor(hexString: string, alpha: float): Color {
|
|
53
|
-
const [r, g, b] = hexToRGB(hexString);
|
|
54
|
-
|
|
55
|
-
// Color values should be between 0 and 1.
|
|
56
|
-
const base = 255;
|
|
57
|
-
return Color(r / base, g / base, b / base, alpha);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Converts a hex string like "#33aa33" to a Color object.
|
|
62
|
-
*
|
|
63
|
-
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
64
|
-
*/
|
|
65
|
-
export function hexToKColor(hexString: string, alpha: float): KColor {
|
|
66
|
-
const [r, g, b] = hexToRGB(hexString);
|
|
67
|
-
|
|
68
|
-
// KColor values should be between 0 and 1.
|
|
69
|
-
const base = 255;
|
|
70
|
-
return KColor(r / base, g / base, b / base, alpha);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function hexToRGB(hexString: string): [r: float, g: float, b: float] {
|
|
74
|
-
hexString = hexString.replace("#", "");
|
|
75
|
-
if (hexString.length !== HEX_STRING_LENGTH) {
|
|
76
|
-
error(`Hex strings must be of length: ${HEX_STRING_LENGTH}`);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const rString = hexString.substring(0, 2);
|
|
80
|
-
const r = tonumber(`0x${rString}`);
|
|
81
|
-
if (r === undefined) {
|
|
82
|
-
error(`Failed to convert \`0x${rString}\` to a number.`);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const gString = hexString.substring(2, 4);
|
|
86
|
-
const g = tonumber(`0x${gString}`);
|
|
87
|
-
if (g === undefined) {
|
|
88
|
-
error(`Failed to convert \`0x${gString}\` to a number.`);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const bString = hexString.substring(4, 6);
|
|
92
|
-
const b = tonumber(`0x${bString}`);
|
|
93
|
-
if (b === undefined) {
|
|
94
|
-
error(`Failed to convert \`0x${bString}\` to a number.`);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return [r, g, b];
|
|
98
|
-
}
|
|
99
|
-
|
|
100
45
|
/**
|
|
101
46
|
* Helper function to return an array with the elements from start to end, inclusive. (The "i"
|
|
102
47
|
* stands for inclusive.)
|
package/src/index.ts
CHANGED
|
@@ -84,6 +84,7 @@ export * from "./functions/flying";
|
|
|
84
84
|
export * from "./functions/globals";
|
|
85
85
|
export * from "./functions/gridEntities";
|
|
86
86
|
export * from "./functions/gridEntitiesSpecific";
|
|
87
|
+
export * from "./functions/hex";
|
|
87
88
|
export * from "./functions/input";
|
|
88
89
|
export * from "./functions/isaacAPIClass";
|
|
89
90
|
export * from "./functions/itemPool";
|