isaacscript-common 83.0.0 → 83.2.0
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/array.d.ts +6 -0
- package/dist/functions/array.d.ts.map +1 -1
- package/dist/functions/array.lua +8 -0
- package/dist/functions/stage.d.ts +17 -5
- package/dist/functions/stage.d.ts.map +1 -1
- package/dist/functions/stage.lua +70 -23
- package/dist/index.rollup.d.ts +25 -4
- package/dist/isaacscript-common.lua +175 -179
- package/dist/objects/stageIDNames.d.ts +40 -0
- package/dist/objects/stageIDNames.d.ts.map +1 -0
- package/dist/objects/stageIDNames.lua +41 -0
- package/dist/objects/stageToStageID.d.ts +2 -1
- package/dist/objects/stageToStageID.d.ts.map +1 -1
- package/dist/objects/stageToStageID.lua +29 -0
- package/dist/objects/versusScreenBackgroundColors.d.ts +0 -6
- package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
- package/dist/objects/versusScreenBackgroundColors.lua +2 -8
- package/dist/objects/versusScreenDirtSpotColors.d.ts +0 -6
- package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
- package/dist/objects/versusScreenDirtSpotColors.lua +2 -8
- package/dist/sets/bossSets.lua +2 -2
- package/package.json +2 -2
- package/src/functions/array.ts +10 -0
- package/src/functions/stage.ts +62 -8
- package/src/objects/stageIDNames.ts +41 -0
- package/src/objects/stageToStageID.ts +33 -1
- package/src/objects/versusScreenBackgroundColors.ts +2 -8
- package/src/objects/versusScreenDirtSpotColors.ts +2 -8
- package/src/sets/bossSets.ts +2 -2
- package/dist/objects/levelNames.d.ts +0 -115
- package/dist/objects/levelNames.d.ts.map +0 -1
- package/dist/objects/levelNames.lua +0 -117
- package/src/objects/levelNames.ts +0 -141
|
@@ -216,6 +216,12 @@ export declare function isArray(object: unknown, ensureContiguousValues?: boolea
|
|
|
216
216
|
* For example, `[2, 3, 4]` would return true, and `[2, 3, 5]` would return false.
|
|
217
217
|
*/
|
|
218
218
|
export declare function isArrayContiguous(array: readonly int[]): boolean;
|
|
219
|
+
/**
|
|
220
|
+
* Helper function to check if all the elements of an array are unique within that array.
|
|
221
|
+
*
|
|
222
|
+
* Under the hood, this is performed by converting the array to a set.
|
|
223
|
+
*/
|
|
224
|
+
export declare function isArrayElementsUnique(array: readonly unknown[]): boolean;
|
|
219
225
|
/** Checks if an array is in the provided 2-dimensional array. */
|
|
220
226
|
export declare function isArrayInArray<T>(arrayToMatch: readonly T[], parentArray: ReadonlyArray<readonly T[]>): boolean;
|
|
221
227
|
/** Helper function to set every element in an array to a specific value. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/functions/array.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/functions/array.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/array.lua
CHANGED
|
@@ -15,6 +15,7 @@ local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
|
15
15
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
16
16
|
local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
|
|
17
17
|
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
18
|
+
local Set = ____lualib.Set
|
|
18
19
|
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
19
20
|
local __TS__ArrayReduce = ____lualib.__TS__ArrayReduce
|
|
20
21
|
local ____exports = {}
|
|
@@ -528,6 +529,13 @@ function ____exports.isArrayContiguous(self, array)
|
|
|
528
529
|
end
|
|
529
530
|
return true
|
|
530
531
|
end
|
|
532
|
+
--- Helper function to check if all the elements of an array are unique within that array.
|
|
533
|
+
--
|
|
534
|
+
-- Under the hood, this is performed by converting the array to a set.
|
|
535
|
+
function ____exports.isArrayElementsUnique(self, array)
|
|
536
|
+
local set = __TS__New(Set, array)
|
|
537
|
+
return set.size == #array
|
|
538
|
+
end
|
|
531
539
|
--- Checks if an array is in the provided 2-dimensional array.
|
|
532
540
|
function ____exports.isArrayInArray(self, arrayToMatch, parentArray)
|
|
533
541
|
return __TS__ArraySome(
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { LevelStage, RoomType, StageType } from "isaac-typescript-definitions";
|
|
1
|
+
import { LevelStage, RoomType, StageID, StageType } from "isaac-typescript-definitions";
|
|
3
2
|
/**
|
|
4
3
|
* Helper function that calculates what the stage type should be for the provided stage. This
|
|
5
4
|
* emulates what the game's internal code does.
|
|
@@ -42,9 +41,13 @@ export declare function getLevelName(stage?: LevelStage, stageType?: StageType):
|
|
|
42
41
|
/** Alias for the `Level.GetStage` method. */
|
|
43
42
|
export declare function getStage(): LevelStage;
|
|
44
43
|
/**
|
|
45
|
-
* Helper function to get the stage ID that corresponds to a particular
|
|
46
|
-
*
|
|
47
|
-
* `getRoomStageID` will not correctly return the `StageID` if the player is
|
|
44
|
+
* Helper function to get the stage ID that corresponds to a particular stage and stage type.
|
|
45
|
+
*
|
|
46
|
+
* This is useful because `getRoomStageID` will not correctly return the `StageID` if the player is
|
|
47
|
+
* in a special room.
|
|
48
|
+
*
|
|
49
|
+
* This correctly handles the case of Greed Mode. In Greed Mode, if an undefined stage and stage
|
|
50
|
+
* type combination are passed, `StageID.SPECIAL_ROOMS` (0) will be returned.
|
|
48
51
|
*
|
|
49
52
|
* @param stage Optional. If not specified, the stage corresponding to the current floor will be
|
|
50
53
|
* used.
|
|
@@ -52,6 +55,15 @@ export declare function getStage(): LevelStage;
|
|
|
52
55
|
* will be used.
|
|
53
56
|
*/
|
|
54
57
|
export declare function getStageID(stage?: LevelStage, stageType?: StageType): StageID;
|
|
58
|
+
/**
|
|
59
|
+
* Helper function to get the English name corresponding to a stage ID. For example, "Caves".
|
|
60
|
+
*
|
|
61
|
+
* This is derived from the data in the "stages.xml" file.
|
|
62
|
+
*
|
|
63
|
+
* Note that unlike "stages.xml", Blue Womb is specified with a name of "Blue Womb" instead of
|
|
64
|
+
* "???".
|
|
65
|
+
*/
|
|
66
|
+
export declare function getStageIDName(stageID: StageID): string;
|
|
55
67
|
/** Alias for the `Level.GetStageType` method. */
|
|
56
68
|
export declare function getStageType(): StageType;
|
|
57
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/functions/stage.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/functions/stage.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/stage.lua
CHANGED
|
@@ -5,15 +5,17 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitio
|
|
|
5
5
|
local GameStateFlag = ____isaac_2Dtypescript_2Ddefinitions.GameStateFlag
|
|
6
6
|
local LevelStage = ____isaac_2Dtypescript_2Ddefinitions.LevelStage
|
|
7
7
|
local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
|
|
8
|
+
local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
|
|
8
9
|
local StageType = ____isaac_2Dtypescript_2Ddefinitions.StageType
|
|
9
10
|
local ____cachedClasses = require("core.cachedClasses")
|
|
10
11
|
local game = ____cachedClasses.game
|
|
11
|
-
local ____levelNames = require("objects.levelNames")
|
|
12
|
-
local LEVEL_NAMES = ____levelNames.LEVEL_NAMES
|
|
13
12
|
local ____roomTypeSpecialGotoPrefixes = require("objects.roomTypeSpecialGotoPrefixes")
|
|
14
13
|
local ROOM_TYPE_SPECIAL_GOTO_PREFIXES = ____roomTypeSpecialGotoPrefixes.ROOM_TYPE_SPECIAL_GOTO_PREFIXES
|
|
14
|
+
local ____stageIDNames = require("objects.stageIDNames")
|
|
15
|
+
local STAGE_ID_NAMES = ____stageIDNames.STAGE_ID_NAMES
|
|
15
16
|
local ____stageToStageID = require("objects.stageToStageID")
|
|
16
17
|
local STAGE_TO_STAGE_ID = ____stageToStageID.STAGE_TO_STAGE_ID
|
|
18
|
+
local STAGE_TO_STAGE_ID_GREED_MODE = ____stageToStageID.STAGE_TO_STAGE_ID_GREED_MODE
|
|
17
19
|
local ____stageTypeSuffixes = require("objects.stageTypeSuffixes")
|
|
18
20
|
local STAGE_TYPE_SUFFIXES = ____stageTypeSuffixes.STAGE_TYPE_SUFFIXES
|
|
19
21
|
local ____log = require("functions.log")
|
|
@@ -22,6 +24,45 @@ local ____types = require("functions.types")
|
|
|
22
24
|
local asLevelStage = ____types.asLevelStage
|
|
23
25
|
local ____utils = require("functions.utils")
|
|
24
26
|
local inRange = ____utils.inRange
|
|
27
|
+
--- Helper function to get the stage ID that corresponds to a particular stage and stage type.
|
|
28
|
+
--
|
|
29
|
+
-- This is useful because `getRoomStageID` will not correctly return the `StageID` if the player is
|
|
30
|
+
-- in a special room.
|
|
31
|
+
--
|
|
32
|
+
-- This correctly handles the case of Greed Mode. In Greed Mode, if an undefined stage and stage
|
|
33
|
+
-- type combination are passed, `StageID.SPECIAL_ROOMS` (0) will be returned.
|
|
34
|
+
--
|
|
35
|
+
-- @param stage Optional. If not specified, the stage corresponding to the current floor will be
|
|
36
|
+
-- used.
|
|
37
|
+
-- @param stageType Optional. If not specified, the stage type corresponding to the current floor
|
|
38
|
+
-- will be used.
|
|
39
|
+
function ____exports.getStageID(self, stage, stageType)
|
|
40
|
+
local level = game:GetLevel()
|
|
41
|
+
if stage == nil then
|
|
42
|
+
stage = level:GetStage()
|
|
43
|
+
end
|
|
44
|
+
if stageType == nil then
|
|
45
|
+
stageType = level:GetStageType()
|
|
46
|
+
end
|
|
47
|
+
if game:IsGreedMode() then
|
|
48
|
+
local stageTypeToStageID = STAGE_TO_STAGE_ID_GREED_MODE:get(stage)
|
|
49
|
+
if stageTypeToStageID == nil then
|
|
50
|
+
return StageID.SPECIAL_ROOMS
|
|
51
|
+
end
|
|
52
|
+
return stageTypeToStageID[stageType]
|
|
53
|
+
end
|
|
54
|
+
local stageTypeToStageID = STAGE_TO_STAGE_ID[stage]
|
|
55
|
+
return stageTypeToStageID[stageType]
|
|
56
|
+
end
|
|
57
|
+
--- Helper function to get the English name corresponding to a stage ID. For example, "Caves".
|
|
58
|
+
--
|
|
59
|
+
-- This is derived from the data in the "stages.xml" file.
|
|
60
|
+
--
|
|
61
|
+
-- Note that unlike "stages.xml", Blue Womb is specified with a name of "Blue Womb" instead of
|
|
62
|
+
-- "???".
|
|
63
|
+
function ____exports.getStageIDName(self, stageID)
|
|
64
|
+
return STAGE_ID_NAMES[stageID]
|
|
65
|
+
end
|
|
25
66
|
--- Helper function to check if the provided stage type is equal to `StageType.REPENTANCE` or
|
|
26
67
|
-- `StageType.REPENTANCE_B`.
|
|
27
68
|
function ____exports.isRepentanceStage(self, stageType)
|
|
@@ -114,33 +155,39 @@ function ____exports.getLevelName(self, stage, stageType)
|
|
|
114
155
|
if stageType == nil then
|
|
115
156
|
stageType = level:GetStageType()
|
|
116
157
|
end
|
|
117
|
-
local
|
|
118
|
-
|
|
158
|
+
local stageID = ____exports.getStageID(nil, stage, stageType)
|
|
159
|
+
local stageIDName = ____exports.getStageIDName(nil, stageID)
|
|
160
|
+
local suffix
|
|
161
|
+
repeat
|
|
162
|
+
local ____switch14 = stage
|
|
163
|
+
local ____cond14 = ____switch14 == LevelStage.BASEMENT_1 or ____switch14 == LevelStage.CAVES_1 or ____switch14 == LevelStage.DEPTHS_1 or ____switch14 == LevelStage.WOMB_1
|
|
164
|
+
if ____cond14 then
|
|
165
|
+
do
|
|
166
|
+
suffix = " 1"
|
|
167
|
+
break
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
____cond14 = ____cond14 or (____switch14 == LevelStage.BASEMENT_2 or ____switch14 == LevelStage.CAVES_2 or ____switch14 == LevelStage.DEPTHS_2 or ____switch14 == LevelStage.WOMB_2)
|
|
171
|
+
if ____cond14 then
|
|
172
|
+
do
|
|
173
|
+
suffix = " 2"
|
|
174
|
+
break
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
do
|
|
178
|
+
do
|
|
179
|
+
suffix = ""
|
|
180
|
+
break
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
until true
|
|
184
|
+
return stageIDName .. suffix
|
|
119
185
|
end
|
|
120
186
|
--- Alias for the `Level.GetStage` method.
|
|
121
187
|
function ____exports.getStage(self)
|
|
122
188
|
local level = game:GetLevel()
|
|
123
189
|
return level:GetStage()
|
|
124
190
|
end
|
|
125
|
-
--- Helper function to get the stage ID that corresponds to a particular floor. It does this by
|
|
126
|
-
-- manually converting `LevelStage` and `StageType` into `StageID`. This is useful because
|
|
127
|
-
-- `getRoomStageID` will not correctly return the `StageID` if the player is in a special room.
|
|
128
|
-
--
|
|
129
|
-
-- @param stage Optional. If not specified, the stage corresponding to the current floor will be
|
|
130
|
-
-- used.
|
|
131
|
-
-- @param stageType Optional. If not specified, the stage type corresponding to the current floor
|
|
132
|
-
-- will be used.
|
|
133
|
-
function ____exports.getStageID(self, stage, stageType)
|
|
134
|
-
local level = game:GetLevel()
|
|
135
|
-
if stage == nil then
|
|
136
|
-
stage = level:GetStage()
|
|
137
|
-
end
|
|
138
|
-
if stageType == nil then
|
|
139
|
-
stageType = level:GetStageType()
|
|
140
|
-
end
|
|
141
|
-
local stageTypeToStageID = STAGE_TO_STAGE_ID[stage]
|
|
142
|
-
return stageTypeToStageID[stageType]
|
|
143
|
-
end
|
|
144
191
|
--- Alias for the `Level.GetStageType` method.
|
|
145
192
|
function ____exports.getStageType(self)
|
|
146
193
|
local level = game:GetLevel()
|
package/dist/index.rollup.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ import { RoomType } from 'isaac-typescript-definitions';
|
|
|
76
76
|
import type { SackSubType } from 'isaac-typescript-definitions';
|
|
77
77
|
import { SeedEffect } from 'isaac-typescript-definitions';
|
|
78
78
|
import { SlotVariant } from 'isaac-typescript-definitions';
|
|
79
|
-
import
|
|
79
|
+
import { StageID } from 'isaac-typescript-definitions';
|
|
80
80
|
import { StageType } from 'isaac-typescript-definitions';
|
|
81
81
|
import { TearFlag } from 'isaac-typescript-definitions';
|
|
82
82
|
import type { TearVariant } from 'isaac-typescript-definitions';
|
|
@@ -7893,9 +7893,13 @@ export declare function getSpikes(variant?: number): readonly GridEntitySpikes[]
|
|
|
7893
7893
|
export declare function getStage(): LevelStage;
|
|
7894
7894
|
|
|
7895
7895
|
/**
|
|
7896
|
-
* Helper function to get the stage ID that corresponds to a particular
|
|
7897
|
-
*
|
|
7898
|
-
* `getRoomStageID` will not correctly return the `StageID` if the player is
|
|
7896
|
+
* Helper function to get the stage ID that corresponds to a particular stage and stage type.
|
|
7897
|
+
*
|
|
7898
|
+
* This is useful because `getRoomStageID` will not correctly return the `StageID` if the player is
|
|
7899
|
+
* in a special room.
|
|
7900
|
+
*
|
|
7901
|
+
* This correctly handles the case of Greed Mode. In Greed Mode, if an undefined stage and stage
|
|
7902
|
+
* type combination are passed, `StageID.SPECIAL_ROOMS` (0) will be returned.
|
|
7899
7903
|
*
|
|
7900
7904
|
* @param stage Optional. If not specified, the stage corresponding to the current floor will be
|
|
7901
7905
|
* used.
|
|
@@ -7904,6 +7908,16 @@ export declare function getStage(): LevelStage;
|
|
|
7904
7908
|
*/
|
|
7905
7909
|
export declare function getStageID(stage?: LevelStage, stageType?: StageType): StageID;
|
|
7906
7910
|
|
|
7911
|
+
/**
|
|
7912
|
+
* Helper function to get the English name corresponding to a stage ID. For example, "Caves".
|
|
7913
|
+
*
|
|
7914
|
+
* This is derived from the data in the "stages.xml" file.
|
|
7915
|
+
*
|
|
7916
|
+
* Note that unlike "stages.xml", Blue Womb is specified with a name of "Blue Womb" instead of
|
|
7917
|
+
* "???".
|
|
7918
|
+
*/
|
|
7919
|
+
export declare function getStageIDName(stageID: StageID): string;
|
|
7920
|
+
|
|
7907
7921
|
/** Alias for the `Level.GetStageType` method. */
|
|
7908
7922
|
export declare function getStageType(): StageType;
|
|
7909
7923
|
|
|
@@ -9006,6 +9020,13 @@ export declare function isArray(object: unknown, ensureContiguousValues?: boolea
|
|
|
9006
9020
|
*/
|
|
9007
9021
|
export declare function isArrayContiguous(array: readonly int[]): boolean;
|
|
9008
9022
|
|
|
9023
|
+
/**
|
|
9024
|
+
* Helper function to check if all the elements of an array are unique within that array.
|
|
9025
|
+
*
|
|
9026
|
+
* Under the hood, this is performed by converting the array to a set.
|
|
9027
|
+
*/
|
|
9028
|
+
export declare function isArrayElementsUnique(array: readonly unknown[]): boolean;
|
|
9029
|
+
|
|
9009
9030
|
/** Checks if an array is in the provided 2-dimensional array. */
|
|
9010
9031
|
export declare function isArrayInArray<T>(arrayToMatch: readonly T[], parentArray: ReadonlyArray<readonly T[]>): boolean;
|
|
9011
9032
|
|