isaacscript-common 79.0.0 → 79.1.1
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/classes/callbacks/PostPlayerInitFirst.lua +4 -5
- package/dist/enums/ModCallbackCustom.d.ts +1 -1
- package/dist/functions/levelGrid.d.ts +6 -1
- package/dist/functions/levelGrid.d.ts.map +1 -1
- package/dist/functions/levelGrid.lua +4 -1
- package/dist/functions/rng.d.ts.map +1 -1
- package/dist/functions/rng.lua +3 -0
- package/dist/functions/roomData.d.ts +3 -2
- package/dist/functions/roomData.d.ts.map +1 -1
- package/dist/functions/roomData.lua +3 -2
- package/dist/functions/roomShape.d.ts +13 -0
- package/dist/functions/roomShape.d.ts.map +1 -1
- package/dist/functions/roomShape.lua +9 -0
- package/dist/functions/rooms.d.ts +7 -7
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.lua +19 -19
- package/dist/index.rollup.d.ts +30 -10
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +1 -1
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
- package/dist/isaacscript-common.lua +210 -195
- package/package.json +2 -2
- package/src/classes/callbacks/PostPlayerInitFirst.ts +6 -6
- package/src/enums/ModCallbackCustom.ts +1 -1
- package/src/functions/levelGrid.ts +6 -1
- package/src/functions/rng.ts +2 -0
- package/src/functions/roomData.ts +3 -2
- package/src/functions/roomShape.ts +16 -0
- package/src/functions/rooms.ts +20 -23
- package/src/interfaces/private/AddCallbackParametersCustom.ts +1 -1
|
@@ -21,11 +21,10 @@ function PostPlayerInitFirst.prototype.____constructor(self)
|
|
|
21
21
|
CustomCallback.prototype.____constructor(self)
|
|
22
22
|
self.shouldFire = shouldFirePlayer
|
|
23
23
|
self.postNewRoomReordered = function()
|
|
24
|
-
if
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
self:fire(player)
|
|
24
|
+
if inGenesisRoom(nil) then
|
|
25
|
+
for ____, player in ipairs(getPlayers(nil)) do
|
|
26
|
+
self:fire(player)
|
|
27
|
+
end
|
|
29
28
|
end
|
|
30
29
|
end
|
|
31
30
|
self.postPlayerInitLate = function(____, player)
|
|
@@ -1387,7 +1387,7 @@ export declare enum ModCallbackCustom {
|
|
|
1387
1387
|
* pickup: EntityPickup,
|
|
1388
1388
|
* variant: PickupVariant,
|
|
1389
1389
|
* subType: int,
|
|
1390
|
-
* ): [PickupVariant, int] | undefined {}
|
|
1390
|
+
* ): [pickupVariant: PickupVariant, subType: int] | undefined {}
|
|
1391
1391
|
* ```
|
|
1392
1392
|
*/
|
|
1393
1393
|
POST_PICKUP_SELECTION_FILTER = 79,
|
|
@@ -41,7 +41,12 @@ export declare function getAdjacentNonExistingRoomGridIndexes(roomGridIndex?: in
|
|
|
41
41
|
* @param roomGridIndex Optional. Default is the current room index.
|
|
42
42
|
*/
|
|
43
43
|
export declare function getAdjacentRoomGridIndexes(roomGridIndex?: int): readonly int[];
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Helper function to get the room safe grid index for every room on the entire floor. This includes
|
|
46
|
+
* off-grid rooms, such as the Devil Room.
|
|
47
|
+
*
|
|
48
|
+
* Rooms without any data are assumed to be non-existent and are not included.
|
|
49
|
+
*/
|
|
45
50
|
export declare function getAllRoomGridIndexes(): readonly int[];
|
|
46
51
|
/**
|
|
47
52
|
* Helper function to pick a random valid spot on the floor to insert a brand new room. Note that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../src/functions/levelGrid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAIL,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAoCtC;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,aAAa,CAAC,EAAE,GAAG,GAClB,SAAS,GAAG,EAAE,CAKhB;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACnD,aAAa,CAAC,EAAE,GAAG,GAClB,SAAS,GAAG,EAAE,CAKhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,CAAC,EAAE,GAAG,GAClB,SAAS,GAAG,EAAE,CAchB;AAED
|
|
1
|
+
{"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../src/functions/levelGrid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAIL,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAoCtC;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,aAAa,CAAC,EAAE,GAAG,GAClB,SAAS,GAAG,EAAE,CAKhB;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACnD,aAAa,CAAC,EAAE,GAAG,GAClB,SAAS,GAAG,EAAE,CAKhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,CAAC,EAAE,GAAG,GAClB,SAAS,GAAG,EAAE,CAchB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,GAAG,EAAE,CAGtD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,aAAa,UAAO,GAElB;IACE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;CAChC,GACD,SAAS,CAOZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,CAAC,EAAE,GAAG,EACnB,aAAa,UAAO,GACnB,aAAa,CAAC;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAA;CAAE,CAAC,CAiD7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,UAAO,GACnB,aAAa,CAAC;IACf,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;CAChC,CAAC,CAoCD;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,CAAC,EAAE,GAAG,GAClB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAgB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,SAAS,EAAE,QAAQ,EAAE,GACvB,cAAc,EAAE,CASlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,SAAS,EAAE,QAAQ,EAAE,GACvB,SAAS,GAAG,EAAE,CAGhB;AAED;;;;;;GAMG;AACH,wBAAgB,uCAAuC,CACrD,iBAAiB,EAAE,GAAG,EACtB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAa5B;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,iBAAiB,EAAE,GAAG,EACtB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAa5B;AAED;;;;;;GAMG;AACH,wBAAgB,0CAA0C,CACxD,iBAAiB,EAAE,GAAG,EACtB,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAa5B;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAGhC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,OAAO,CAKtD;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,GAAG,GACjB,OAAO,CAGT;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,GAAG,GACjB,OAAO,CAqBT;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAGxD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,OAAO,CAM7D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,aAAa,UAAO,EACpB,cAAc,CAAC,EAAE,UAAU,GAC1B,GAAG,GAAG,SAAS,CAuDjB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAGtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAE7D"}
|
|
@@ -280,7 +280,10 @@ function ____exports.getAdjacentNonExistingRoomGridIndexes(self, roomGridIndex)
|
|
|
280
280
|
function(____, adjacentRoomGridIndex) return getRoomData(nil, adjacentRoomGridIndex) == nil end
|
|
281
281
|
)
|
|
282
282
|
end
|
|
283
|
-
--- Helper function to get the room safe grid index for every room on the entire floor.
|
|
283
|
+
--- Helper function to get the room safe grid index for every room on the entire floor. This includes
|
|
284
|
+
-- off-grid rooms, such as the Devil Room.
|
|
285
|
+
--
|
|
286
|
+
-- Rooms without any data are assumed to be non-existent and are not included.
|
|
284
287
|
function ____exports.getAllRoomGridIndexes(self)
|
|
285
288
|
local rooms = getRooms(nil)
|
|
286
289
|
return __TS__ArrayMap(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rng.d.ts","sourceRoot":"","sources":["../../src/functions/rng.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"rng.d.ts","sourceRoot":"","sources":["../../src/functions/rng.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAU9E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACpD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,CAAC;CAChD,CAAC;AAYF,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CASrC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,CAetD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,6EAA6E;AAC7E,wBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,GAAG,CAEpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,aAAa,CAMxE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,OAAkB,GAAG,GAAG,CAIlD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAYpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAoBjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAK1D;AAED,4FAA4F;AAC5F,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAYlD"}
|
package/dist/functions/rng.lua
CHANGED
|
@@ -6,6 +6,8 @@ local ____cachedClasses = require("core.cachedClasses")
|
|
|
6
6
|
local game = ____cachedClasses.game
|
|
7
7
|
local ____SerializationBrand = require("enums.private.SerializationBrand")
|
|
8
8
|
local SerializationBrand = ____SerializationBrand.SerializationBrand
|
|
9
|
+
local ____debugFunctions = require("functions.debugFunctions")
|
|
10
|
+
local traceback = ____debugFunctions.traceback
|
|
9
11
|
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
10
12
|
local isaacAPIClassEquals = ____isaacAPIClass.isaacAPIClassEquals
|
|
11
13
|
local isIsaacAPIClassOfType = ____isaacAPIClass.isIsaacAPIClassOfType
|
|
@@ -46,6 +48,7 @@ function ____exports.setSeed(self, rng, seed)
|
|
|
46
48
|
if seed == 0 then
|
|
47
49
|
seed = ____exports.getRandomSeed(nil)
|
|
48
50
|
logError("Failed to set a RNG object to a seed of 0. Using a random value instead.")
|
|
51
|
+
traceback()
|
|
49
52
|
end
|
|
50
53
|
rng:SetSeed(seed, RECOMMENDED_SHIFT_IDX)
|
|
51
54
|
end
|
|
@@ -39,9 +39,10 @@ export declare function getRoomDescriptorReadOnly(): Readonly<RoomDescriptor>;
|
|
|
39
39
|
* the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
|
|
40
40
|
* overlaps with, or the top-right 1x1 section of a `RoomType.SHAPE_LTL` room.)
|
|
41
41
|
* - If the current room is outside of the grid, it will return the index from the
|
|
42
|
-
* `Level.GetCurrentRoomIndex` method
|
|
42
|
+
* `Level.GetCurrentRoomIndex` method, since `SafeGridIndex` is bugged for these cases, as
|
|
43
43
|
* demonstrated by entering a Genesis room and entering `l
|
|
44
|
-
* print(Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex)` into the console
|
|
44
|
+
* print(Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex)` into the console. (It prints -1
|
|
45
|
+
* instead of -12.)
|
|
45
46
|
*
|
|
46
47
|
* Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
|
|
47
48
|
* will return the specific 1x1 quadrant that the player entered the room at. For most situations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roomData.d.ts","sourceRoot":"","sources":["../../src/functions/roomData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,8BAA8B,CAAC;AAMtC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAgBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,UAAU,GAAG,SAAS,CAAC;AAOzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,cAAc,CAQrE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,QAAQ,CAAC,cAAc,CAAC,CAGpE;AAED
|
|
1
|
+
{"version":3,"file":"roomData.d.ts","sourceRoot":"","sources":["../../src/functions/roomData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,8BAA8B,CAAC;AAMtC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAgBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,UAAU,GAAG,SAAS,CAAC;AAOzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,cAAc,CAQrE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,QAAQ,CAAC,cAAc,CAAC,CAGpE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAUtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,CAGzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;AAOrE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC;AAOzE;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS,CAAC;AAOzE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;AAOrE;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC;AAExC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC;AAavE;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAAC;AAEtC;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;AAOrE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,CAG5D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,CAG1E"}
|
|
@@ -47,9 +47,10 @@ end
|
|
|
47
47
|
-- the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
|
|
48
48
|
-- overlaps with, or the top-right 1x1 section of a `RoomType.SHAPE_LTL` room.)
|
|
49
49
|
-- - If the current room is outside of the grid, it will return the index from the
|
|
50
|
-
-- `Level.GetCurrentRoomIndex` method
|
|
50
|
+
-- `Level.GetCurrentRoomIndex` method, since `SafeGridIndex` is bugged for these cases, as
|
|
51
51
|
-- demonstrated by entering a Genesis room and entering `l
|
|
52
|
-
-- print(Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex)` into the console
|
|
52
|
+
-- print(Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex)` into the console. (It prints -1
|
|
53
|
+
-- instead of -12.)
|
|
53
54
|
--
|
|
54
55
|
-- Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
|
|
55
56
|
-- will return the specific 1x1 quadrant that the player entered the room at. For most situations,
|
|
@@ -58,12 +58,25 @@ export declare function getRoomShapeTopLeftPosition(roomShape: RoomShape): Reado
|
|
|
58
58
|
*/
|
|
59
59
|
export declare function getRoomShapeVolume(roomShape: RoomShape): int;
|
|
60
60
|
export declare function getRoomShapeWidth(roomShape: RoomShape): int;
|
|
61
|
+
/**
|
|
62
|
+
* Helper function to determine if the provided room is equal to `RoomShape.1x2` (4) or
|
|
63
|
+
* `RoomShape.2x1` (6).
|
|
64
|
+
*/
|
|
65
|
+
export declare function is2x1RoomShape(roomShape: RoomShape): boolean;
|
|
61
66
|
/**
|
|
62
67
|
* Helper function to detect if the provided room shape is big. Specifically, this is all 1x2 rooms,
|
|
63
68
|
* 2x2 rooms, and L rooms.
|
|
64
69
|
*/
|
|
65
70
|
export declare function isBigRoomShape(roomShape: RoomShape): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Helper function to determine if the provided room is equal to `RoomShape.LTL` (9),
|
|
73
|
+
* `RoomShape.LTR` (10), `RoomShape.LBL` (11), or `RoomShape.LBR` (12).
|
|
74
|
+
*/
|
|
66
75
|
export declare function isLRoomShape(roomShape: RoomShape): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Helper function to determine if the provided room is equal to `RoomShape.IH` (2), `RoomShape.IV`
|
|
78
|
+
* (3), `RoomShape.IIV` (5), or `RoomShape.IIH` (7).
|
|
79
|
+
*/
|
|
67
80
|
export declare function isNarrowRoom(roomShape: RoomShape): boolean;
|
|
68
81
|
/**
|
|
69
82
|
* Helper function to see if a given room shape will grant a single charge or a double charge to the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roomShape.d.ts","sourceRoot":"","sources":["../../src/functions/roomShape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAanD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,GAAG,GAAG,SAAS,CAIjB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,SAAS,GACnB,QAAQ,CAAC,MAAM,CAAC,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,GACnB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,GACnB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,GACnB,QAAQ,CAAC,MAAM,CAAC,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAE3D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAGrE"}
|
|
1
|
+
{"version":3,"file":"roomShape.d.ts","sourceRoot":"","sources":["../../src/functions/roomShape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAanD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,GAAG,GAAG,SAAS,CAIjB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,SAAS,GACnB,QAAQ,CAAC,MAAM,CAAC,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,GACnB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,GACnB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,GACnB,QAAQ,CAAC,MAAM,CAAC,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAE3D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAGrE"}
|
|
@@ -90,14 +90,23 @@ end
|
|
|
90
90
|
function ____exports.getRoomShapeWidth(self, roomShape)
|
|
91
91
|
return ROOM_SHAPE_TO_GRID_WIDTH[roomShape]
|
|
92
92
|
end
|
|
93
|
+
--- Helper function to determine if the provided room is equal to `RoomShape.1x2` (4) or
|
|
94
|
+
-- `RoomShape.2x1` (6).
|
|
95
|
+
function ____exports.is2x1RoomShape(self, roomShape)
|
|
96
|
+
return roomShape == RoomShape.SHAPE_1x2 or roomShape == RoomShape.SHAPE_2x1
|
|
97
|
+
end
|
|
93
98
|
--- Helper function to detect if the provided room shape is big. Specifically, this is all 1x2 rooms,
|
|
94
99
|
-- 2x2 rooms, and L rooms.
|
|
95
100
|
function ____exports.isBigRoomShape(self, roomShape)
|
|
96
101
|
return BIG_ROOM_SHAPES_SET:has(roomShape)
|
|
97
102
|
end
|
|
103
|
+
--- Helper function to determine if the provided room is equal to `RoomShape.LTL` (9),
|
|
104
|
+
-- `RoomShape.LTR` (10), `RoomShape.LBL` (11), or `RoomShape.LBR` (12).
|
|
98
105
|
function ____exports.isLRoomShape(self, roomShape)
|
|
99
106
|
return L_ROOM_SHAPES_SET:has(roomShape)
|
|
100
107
|
end
|
|
108
|
+
--- Helper function to determine if the provided room is equal to `RoomShape.IH` (2), `RoomShape.IV`
|
|
109
|
+
-- (3), `RoomShape.IIV` (5), or `RoomShape.IIH` (7).
|
|
101
110
|
function ____exports.isNarrowRoom(self, roomShape)
|
|
102
111
|
return NARROW_ROOM_SHAPES_SET:has(roomShape)
|
|
103
112
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BackdropType, BossID, ItemPoolType, MinibossID } from "isaac-typescript-definitions";
|
|
2
|
-
import { Dimension,
|
|
1
|
+
import type { BackdropType, BossID, ItemPoolType, MinibossID, RoomShape } from "isaac-typescript-definitions";
|
|
2
|
+
import { Dimension, RoomType } from "isaac-typescript-definitions";
|
|
3
3
|
/**
|
|
4
4
|
* Helper function for quickly switching to a new room without playing a particular animation. Use
|
|
5
5
|
* this helper function over invoking the `Game.ChangeRoom` method directly to ensure that you do
|
|
@@ -63,7 +63,7 @@ export declare function getRoomTypeName(roomType: RoomType): string;
|
|
|
63
63
|
* Helper function to get the room descriptor for every room on the level. This includes off-grid
|
|
64
64
|
* rooms, such as the Devil Room.
|
|
65
65
|
*
|
|
66
|
-
* Room
|
|
66
|
+
* Room without any data are assumed to be non-existent and are not included.
|
|
67
67
|
*
|
|
68
68
|
* - If you want just the rooms inside of the grid, use the `getRoomsInsideGrid` helper function.
|
|
69
69
|
* - If you want just the rooms outside of the grid, use the `getRoomsOutsideGrid` helper function.
|
|
@@ -334,7 +334,7 @@ export declare function isDoubleTrouble(roomData: RoomConfig): boolean;
|
|
|
334
334
|
/**
|
|
335
335
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.GENESIS`.
|
|
336
336
|
*/
|
|
337
|
-
export declare function isGenesisRoom(
|
|
337
|
+
export declare function isGenesisRoom(roomGridIndex: int): boolean;
|
|
338
338
|
/**
|
|
339
339
|
* Helper function to check if the provided room is either the left Home closet (behind the red
|
|
340
340
|
* door) or the right Home closet (with one random pickup).
|
|
@@ -347,7 +347,7 @@ export declare function isLRoom(roomData: RoomConfig): boolean;
|
|
|
347
347
|
/**
|
|
348
348
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.MEGA_SATAN`.
|
|
349
349
|
*/
|
|
350
|
-
export declare function isMegaSatanRoom(
|
|
350
|
+
export declare function isMegaSatanRoom(roomGridIndex: int): boolean;
|
|
351
351
|
/**
|
|
352
352
|
* Helper function to determine if the provided room is part of the Repentance "escape sequence" in
|
|
353
353
|
* the Mines/Ashpit.
|
|
@@ -387,7 +387,7 @@ export declare function isRoomType(roomData: RoomConfig, ...roomTypes: RoomType[
|
|
|
387
387
|
* Helper function for checking if the provided room is a secret exit that leads to a Repentance
|
|
388
388
|
* floor.
|
|
389
389
|
*/
|
|
390
|
-
export declare function isSecretExit(
|
|
390
|
+
export declare function isSecretExit(roomGridIndex: int): boolean;
|
|
391
391
|
/**
|
|
392
392
|
* Helper function to detect if a room type is a Secret Room, a Super Secret Room, or an Ultra
|
|
393
393
|
* Secret Room.
|
|
@@ -401,7 +401,7 @@ export declare function isSecretRoomType(roomType: RoomType): boolean;
|
|
|
401
401
|
* words, they will have the same room type, room variant, and room sub-type of a normal shop. Thus,
|
|
402
402
|
* the only way to detect them is by using the grid index.
|
|
403
403
|
*/
|
|
404
|
-
export declare function isSecretShop(
|
|
404
|
+
export declare function isSecretShop(roomGridIndex: int): boolean;
|
|
405
405
|
/**
|
|
406
406
|
* If the `Room.Update` method is called in a `POST_NEW_ROOM` callback, then some entities will
|
|
407
407
|
* slide around (such as the player). Since those entity velocities are already at zero, setting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../src/functions/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,UAAU,
|
|
1
|
+
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../src/functions/rooms.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/rooms.lua
CHANGED
|
@@ -23,7 +23,6 @@ local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
|
|
|
23
23
|
local HomeRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.HomeRoomSubType
|
|
24
24
|
local ProjectileFlag = ____isaac_2Dtypescript_2Ddefinitions.ProjectileFlag
|
|
25
25
|
local RoomDescriptorFlag = ____isaac_2Dtypescript_2Ddefinitions.RoomDescriptorFlag
|
|
26
|
-
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
|
|
27
26
|
local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
|
|
28
27
|
local SoundEffect = ____isaac_2Dtypescript_2Ddefinitions.SoundEffect
|
|
29
28
|
local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
|
|
@@ -62,6 +61,7 @@ local getRoomDescriptor = ____roomData.getRoomDescriptor
|
|
|
62
61
|
local getRoomDescriptorReadOnly = ____roomData.getRoomDescriptorReadOnly
|
|
63
62
|
local getRoomGridIndex = ____roomData.getRoomGridIndex
|
|
64
63
|
local ____roomShape = require("functions.roomShape")
|
|
64
|
+
local is2x1RoomShape = ____roomShape.is2x1RoomShape
|
|
65
65
|
local isBigRoomShape = ____roomShape.isBigRoomShape
|
|
66
66
|
local isLRoomShape = ____roomShape.isLRoomShape
|
|
67
67
|
local ____roomTransition = require("functions.roomTransition")
|
|
@@ -142,7 +142,7 @@ function ____exports.getRoomsOutsideGrid(self)
|
|
|
142
142
|
end
|
|
143
143
|
--- Helper function to determine if the provided room is equal to `RoomShape.1x2` or `RoomShape.2x1`.
|
|
144
144
|
function ____exports.is2x1Room(self, roomData)
|
|
145
|
-
return
|
|
145
|
+
return is2x1RoomShape(nil, roomData.Shape)
|
|
146
146
|
end
|
|
147
147
|
--- Helper function to check to see if the current room is an angel shop.
|
|
148
148
|
--
|
|
@@ -219,8 +219,8 @@ function ____exports.isDoubleTrouble(self, roomData)
|
|
|
219
219
|
return roomData.Type == RoomType.BOSS and __TS__StringIncludes(roomData.Name, "Double Trouble")
|
|
220
220
|
end
|
|
221
221
|
--- Helper function to determine if the index of the provided room is equal to `GridRoom.GENESIS`.
|
|
222
|
-
function ____exports.isGenesisRoom(self,
|
|
223
|
-
return
|
|
222
|
+
function ____exports.isGenesisRoom(self, roomGridIndex)
|
|
223
|
+
return roomGridIndex == asNumber(nil, GridRoom.GENESIS)
|
|
224
224
|
end
|
|
225
225
|
--- Helper function to check if the provided room is either the left Home closet (behind the red
|
|
226
226
|
-- door) or the right Home closet (with one random pickup).
|
|
@@ -234,8 +234,8 @@ function ____exports.isLRoom(self, roomData)
|
|
|
234
234
|
return isLRoomShape(nil, roomData.Shape)
|
|
235
235
|
end
|
|
236
236
|
--- Helper function to determine if the index of the provided room is equal to `GridRoom.MEGA_SATAN`.
|
|
237
|
-
function ____exports.isMegaSatanRoom(self,
|
|
238
|
-
return
|
|
237
|
+
function ____exports.isMegaSatanRoom(self, roomGridIndex)
|
|
238
|
+
return roomGridIndex == asNumber(nil, GridRoom.MEGA_SATAN)
|
|
239
239
|
end
|
|
240
240
|
--- Helper function to determine if the provided room is part of the Repentance "escape sequence" in
|
|
241
241
|
-- the Mines/Ashpit.
|
|
@@ -268,8 +268,8 @@ function ____exports.isRoomType(self, roomData, ...)
|
|
|
268
268
|
end
|
|
269
269
|
--- Helper function for checking if the provided room is a secret exit that leads to a Repentance
|
|
270
270
|
-- floor.
|
|
271
|
-
function ____exports.isSecretExit(self,
|
|
272
|
-
return
|
|
271
|
+
function ____exports.isSecretExit(self, roomGridIndex)
|
|
272
|
+
return roomGridIndex == asNumber(nil, GridRoom.SECRET_EXIT)
|
|
273
273
|
end
|
|
274
274
|
--- Helper function for checking if the provided room is a secret shop (from the Member Card
|
|
275
275
|
-- collectible).
|
|
@@ -277,8 +277,8 @@ end
|
|
|
277
277
|
-- Secret shops are simply copies of normal shops, but with the backdrop of a secret room. In other
|
|
278
278
|
-- words, they will have the same room type, room variant, and room sub-type of a normal shop. Thus,
|
|
279
279
|
-- the only way to detect them is by using the grid index.
|
|
280
|
-
function ____exports.isSecretShop(self,
|
|
281
|
-
return
|
|
280
|
+
function ____exports.isSecretShop(self, roomGridIndex)
|
|
281
|
+
return roomGridIndex == asNumber(nil, GridRoom.SECRET_SHOP)
|
|
282
282
|
end
|
|
283
283
|
local SECRET_ROOM_TYPES = __TS__New(ReadonlySet, {RoomType.SECRET, RoomType.SUPER_SECRET, RoomType.ULTRA_SECRET})
|
|
284
284
|
--- Helper function for quickly switching to a new room without playing a particular animation. Use
|
|
@@ -356,7 +356,7 @@ end
|
|
|
356
356
|
--- Helper function to get the room descriptor for every room on the level. This includes off-grid
|
|
357
357
|
-- rooms, such as the Devil Room.
|
|
358
358
|
--
|
|
359
|
-
-- Room
|
|
359
|
+
-- Room without any data are assumed to be non-existent and are not included.
|
|
360
360
|
--
|
|
361
361
|
-- - If you want just the rooms inside of the grid, use the `getRoomsInsideGrid` helper function.
|
|
362
362
|
-- - If you want just the rooms outside of the grid, use the `getRoomsOutsideGrid` helper function.
|
|
@@ -486,8 +486,8 @@ function ____exports.inDoubleTrouble(self)
|
|
|
486
486
|
end
|
|
487
487
|
--- Helper function to determine if the current room index is equal to `GridRoom.GENESIS`.
|
|
488
488
|
function ____exports.inGenesisRoom(self)
|
|
489
|
-
local
|
|
490
|
-
return ____exports.isGenesisRoom(nil,
|
|
489
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
490
|
+
return ____exports.isGenesisRoom(nil, roomGridIndex)
|
|
491
491
|
end
|
|
492
492
|
--- Helper function to check if the current room is either the left Home closet (behind the red door)
|
|
493
493
|
-- or the right Home closet (with one random pickup).
|
|
@@ -504,8 +504,8 @@ function ____exports.inLRoom(self)
|
|
|
504
504
|
end
|
|
505
505
|
--- Helper function to determine if the current room index is equal to `GridRoom.MEGA_SATAN`.
|
|
506
506
|
function ____exports.inMegaSatanRoom(self)
|
|
507
|
-
local
|
|
508
|
-
return ____exports.isMegaSatanRoom(nil,
|
|
507
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
508
|
+
return ____exports.isMegaSatanRoom(nil, roomGridIndex)
|
|
509
509
|
end
|
|
510
510
|
--- Helper function to determine if the current room is part of the Repentance "escape sequence" in
|
|
511
511
|
-- the Mines/Ashpit.
|
|
@@ -542,8 +542,8 @@ end
|
|
|
542
542
|
--- Helper function for checking if the current room is a secret exit that leads to a Repentance
|
|
543
543
|
-- floor.
|
|
544
544
|
function ____exports.inSecretExit(self)
|
|
545
|
-
local
|
|
546
|
-
return ____exports.isSecretExit(nil,
|
|
545
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
546
|
+
return ____exports.isSecretExit(nil, roomGridIndex)
|
|
547
547
|
end
|
|
548
548
|
--- Helper function for checking if the current room is a secret shop (from the Member Card
|
|
549
549
|
-- collectible).
|
|
@@ -552,8 +552,8 @@ end
|
|
|
552
552
|
-- words, they will have the same room type, room variant, and room sub-type of a normal shop. Thus,
|
|
553
553
|
-- the only way to detect them is by using the grid index.
|
|
554
554
|
function ____exports.inSecretShop(self)
|
|
555
|
-
local
|
|
556
|
-
return ____exports.isSecretShop(nil,
|
|
555
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
556
|
+
return ____exports.isSecretShop(nil, roomGridIndex)
|
|
557
557
|
end
|
|
558
558
|
--- Helper function to determine whether the current room is the starting room of a floor. It only
|
|
559
559
|
-- returns true for the starting room of the primary dimension (meaning that being in the starting
|
package/dist/index.rollup.d.ts
CHANGED
|
@@ -471,7 +471,7 @@ declare interface AddCallbackParametersCustom {
|
|
|
471
471
|
subType?: int
|
|
472
472
|
];
|
|
473
473
|
[ModCallbackCustom.POST_PICKUP_SELECTION_FILTER]: [
|
|
474
|
-
callback: (pickup: EntityPickup, variant: PickupVariant, subType: int) => [PickupVariant, int] | undefined,
|
|
474
|
+
callback: (pickup: EntityPickup, variant: PickupVariant, subType: int) => [pickupVariant: PickupVariant, subType: int] | undefined,
|
|
475
475
|
pickupVariant?: PickupVariant,
|
|
476
476
|
subType?: int
|
|
477
477
|
];
|
|
@@ -4959,7 +4959,12 @@ export declare function getAllPillColors(): readonly PillColor[];
|
|
|
4959
4959
|
*/
|
|
4960
4960
|
export declare function getAllPlayers(): EntityPlayer[];
|
|
4961
4961
|
|
|
4962
|
-
/**
|
|
4962
|
+
/**
|
|
4963
|
+
* Helper function to get the room safe grid index for every room on the entire floor. This includes
|
|
4964
|
+
* off-grid rooms, such as the Devil Room.
|
|
4965
|
+
*
|
|
4966
|
+
* Rooms without any data are assumed to be non-existent and are not included.
|
|
4967
|
+
*/
|
|
4963
4968
|
export declare function getAllRoomGridIndexes(): readonly int[];
|
|
4964
4969
|
|
|
4965
4970
|
/**
|
|
@@ -7394,9 +7399,10 @@ export declare function getRoomDisplayFlags(roomGridIndex?: int, minimapAPI?: bo
|
|
|
7394
7399
|
* the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
|
|
7395
7400
|
* overlaps with, or the top-right 1x1 section of a `RoomType.SHAPE_LTL` room.)
|
|
7396
7401
|
* - If the current room is outside of the grid, it will return the index from the
|
|
7397
|
-
* `Level.GetCurrentRoomIndex` method
|
|
7402
|
+
* `Level.GetCurrentRoomIndex` method, since `SafeGridIndex` is bugged for these cases, as
|
|
7398
7403
|
* demonstrated by entering a Genesis room and entering `l
|
|
7399
|
-
* print(Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex)` into the console
|
|
7404
|
+
* print(Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex)` into the console. (It prints -1
|
|
7405
|
+
* instead of -12.)
|
|
7400
7406
|
*
|
|
7401
7407
|
* Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
|
|
7402
7408
|
* will return the specific 1x1 quadrant that the player entered the room at. For most situations,
|
|
@@ -7463,7 +7469,7 @@ export declare function getRoomName(roomGridIndex?: int): string | undefined;
|
|
|
7463
7469
|
* Helper function to get the room descriptor for every room on the level. This includes off-grid
|
|
7464
7470
|
* rooms, such as the Devil Room.
|
|
7465
7471
|
*
|
|
7466
|
-
* Room
|
|
7472
|
+
* Room without any data are assumed to be non-existent and are not included.
|
|
7467
7473
|
*
|
|
7468
7474
|
* - If you want just the rooms inside of the grid, use the `getRoomsInsideGrid` helper function.
|
|
7469
7475
|
* - If you want just the rooms outside of the grid, use the `getRoomsOutsideGrid` helper function.
|
|
@@ -8810,6 +8816,12 @@ export declare function iRange(start: int, end?: int, increment?: number): int[]
|
|
|
8810
8816
|
*/
|
|
8811
8817
|
export declare function is2x1Room(roomData: RoomConfig): boolean;
|
|
8812
8818
|
|
|
8819
|
+
/**
|
|
8820
|
+
* Helper function to determine if the provided room is equal to `RoomShape.1x2` (4) or
|
|
8821
|
+
* `RoomShape.2x1` (6).
|
|
8822
|
+
*/
|
|
8823
|
+
export declare function is2x1RoomShape(roomShape: RoomShape): boolean;
|
|
8824
|
+
|
|
8813
8825
|
/**
|
|
8814
8826
|
* Helper function to check if an instantiated Isaac API class is equal to another one of the same
|
|
8815
8827
|
* type. You must provide the list of keys to check for.
|
|
@@ -9519,7 +9531,7 @@ export declare function isFunction(variable: unknown): variable is Function;
|
|
|
9519
9531
|
/**
|
|
9520
9532
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.GENESIS`.
|
|
9521
9533
|
*/
|
|
9522
|
-
export declare function isGenesisRoom(
|
|
9534
|
+
export declare function isGenesisRoom(roomGridIndex: int): boolean;
|
|
9523
9535
|
|
|
9524
9536
|
/**
|
|
9525
9537
|
* Returns whether the given collectible is a "glitched" item. All items are replaced by glitched
|
|
@@ -9639,6 +9651,10 @@ export declare function isLost(player: EntityPlayer): boolean;
|
|
|
9639
9651
|
/** Helper function to determine if the provided room is one of the four L room shapes. */
|
|
9640
9652
|
export declare function isLRoom(roomData: RoomConfig): boolean;
|
|
9641
9653
|
|
|
9654
|
+
/**
|
|
9655
|
+
* Helper function to determine if the provided room is equal to `RoomShape.LTL` (9),
|
|
9656
|
+
* `RoomShape.LTR` (10), `RoomShape.LBL` (11), or `RoomShape.LBR` (12).
|
|
9657
|
+
*/
|
|
9642
9658
|
export declare function isLRoomShape(roomShape: RoomShape): boolean;
|
|
9643
9659
|
|
|
9644
9660
|
/**
|
|
@@ -9673,7 +9689,7 @@ export declare function isMegaSatanDoor(door: GridEntityDoor): boolean;
|
|
|
9673
9689
|
/**
|
|
9674
9690
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.MEGA_SATAN`.
|
|
9675
9691
|
*/
|
|
9676
|
-
export declare function isMegaSatanRoom(
|
|
9692
|
+
export declare function isMegaSatanRoom(roomGridIndex: int): boolean;
|
|
9677
9693
|
|
|
9678
9694
|
/**
|
|
9679
9695
|
* Helper function to determine if the provided room is part of the Repentance "escape sequence" in
|
|
@@ -9747,6 +9763,10 @@ export declare function isMoveActionTriggeredOnAnyInput(): boolean;
|
|
|
9747
9763
|
*/
|
|
9748
9764
|
export declare function isMultiplayer(): boolean;
|
|
9749
9765
|
|
|
9766
|
+
/**
|
|
9767
|
+
* Helper function to determine if the provided room is equal to `RoomShape.IH` (2), `RoomShape.IV`
|
|
9768
|
+
* (3), `RoomShape.IIV` (5), or `RoomShape.IIH` (7).
|
|
9769
|
+
*/
|
|
9750
9770
|
export declare function isNarrowRoom(roomShape: RoomShape): boolean;
|
|
9751
9771
|
|
|
9752
9772
|
/** Helper function to detect if a variable is of type `EntityNPC`. */
|
|
@@ -9964,7 +9984,7 @@ export declare function isSack(pickup: EntityPickup): pickup is EntityPickupSack
|
|
|
9964
9984
|
* Helper function for checking if the provided room is a secret exit that leads to a Repentance
|
|
9965
9985
|
* floor.
|
|
9966
9986
|
*/
|
|
9967
|
-
export declare function isSecretExit(
|
|
9987
|
+
export declare function isSecretExit(roomGridIndex: int): boolean;
|
|
9968
9988
|
|
|
9969
9989
|
/**
|
|
9970
9990
|
* This refers to the hole in the wall that appears after bombing the entrance to a secret room.
|
|
@@ -9990,7 +10010,7 @@ export declare function isSecretRoomType(roomType: RoomType): boolean;
|
|
|
9990
10010
|
* words, they will have the same room type, room variant, and room sub-type of a normal shop. Thus,
|
|
9991
10011
|
* the only way to detect them is by using the grid index.
|
|
9992
10012
|
*/
|
|
9993
|
-
export declare function isSecretShop(
|
|
10013
|
+
export declare function isSecretShop(roomGridIndex: int): boolean;
|
|
9994
10014
|
|
|
9995
10015
|
/**
|
|
9996
10016
|
* Helper function to determine whether damage to a player in the `ENTITY_TAKE_DMG` callback was
|
|
@@ -12485,7 +12505,7 @@ export declare enum ModCallbackCustom {
|
|
|
12485
12505
|
* pickup: EntityPickup,
|
|
12486
12506
|
* variant: PickupVariant,
|
|
12487
12507
|
* subType: int,
|
|
12488
|
-
* ): [PickupVariant, int] | undefined {}
|
|
12508
|
+
* ): [pickupVariant: PickupVariant, subType: int] | undefined {}
|
|
12489
12509
|
* ```
|
|
12490
12510
|
*/
|
|
12491
12511
|
POST_PICKUP_SELECTION_FILTER = 79,
|
|
@@ -387,7 +387,7 @@ export interface AddCallbackParametersCustom {
|
|
|
387
387
|
subType?: int
|
|
388
388
|
];
|
|
389
389
|
[ModCallbackCustom.POST_PICKUP_SELECTION_FILTER]: [
|
|
390
|
-
callback: (pickup: EntityPickup, variant: PickupVariant, subType: int) => [PickupVariant, int] | undefined,
|
|
390
|
+
callback: (pickup: EntityPickup, variant: PickupVariant, subType: int) => [pickupVariant: PickupVariant, subType: int] | undefined,
|
|
391
391
|
pickupVariant?: PickupVariant,
|
|
392
392
|
subType?: int
|
|
393
393
|
];
|