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.
@@ -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 not inGenesisRoom(nil) then
25
- return
26
- end
27
- for ____, player in ipairs(getPlayers(nil)) do
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
- /** Helper function to get the room safe grid index for every room on the entire floor. */
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":"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"}
1
+ {"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../src/functions/levelGrid.ts"],"names":[],"mappings":"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"}
@@ -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;AAS9E,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,CAWlD"}
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"}
@@ -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 (since `SafeGridIndex` is bugged for these cases, as
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;;;;;;;;;;;;;;;;;GAiBG;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"}
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 (since `SafeGridIndex` is bugged for these cases, as
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, RoomShape, RoomType } from "isaac-typescript-definitions";
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 descriptors without any data are assumed to be non-existent and are not included.
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(roomDescriptor: RoomDescriptor): boolean;
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(roomDescriptor: RoomDescriptor): boolean;
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(roomDescriptor: RoomDescriptor): boolean;
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(roomDescriptor: RoomDescriptor): boolean;
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,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,SAAS,EAST,SAAS,EACT,QAAQ,EAGT,MAAM,8BAA8B,CAAC;AAuCtC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI,CAcnD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAGjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAiBlE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,GAAG,EAChB,oBAAoB,UAAO,EAC3B,iCAAiC,UAAQ,GACxC,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAgBlC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAOlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,4BAA4B,UAAQ,GACnC,cAAc,EAAE,CAOlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,4BAA4B,UAAQ,GACnC,cAAc,EAAE,CAqBlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,EAAE,CAe1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAWtD;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,IAAI,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED,+FAA+F;AAC/F,wBAAgB,OAAO,IAAI,OAAO,CAGjC;AAED,gGAAgG;AAChG,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAGhE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAG5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAKvD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,QAAQ,EAAE,EACrD,iBAAiB,UAAQ,EACzB,sBAAsB,UAAQ,EAC9B,sBAAsB,UAAQ,GAC7B,OAAO,CAwCT;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAKzD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAKzD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM1E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAK1D;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,UAAU,GACnB,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAOpE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAET;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAOzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAI7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAM1D;AAED,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAEvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAOzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAO1D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA4BzC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,UAAU,EACpB,GAAG,UAAU,EAAE,SAAS,EAAE,GACzB,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,UAAU,EACpB,GAAG,SAAS,EAAE,QAAQ,EAAE,GACvB,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE5D;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAWrC;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA8BrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
1
+ {"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../src/functions/rooms.ts"],"names":[],"mappings":"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"}
@@ -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 roomData.Shape == RoomShape.SHAPE_1x2 or roomData.Shape == RoomShape.SHAPE_2x1
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, roomDescriptor)
223
- return roomDescriptor.GridIndex == asNumber(nil, GridRoom.GENESIS)
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, roomDescriptor)
238
- return roomDescriptor.GridIndex == asNumber(nil, GridRoom.MEGA_SATAN)
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, roomDescriptor)
272
- return roomDescriptor.GridIndex == asNumber(nil, GridRoom.SECRET_EXIT)
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, roomDescriptor)
281
- return roomDescriptor.GridIndex == asNumber(nil, GridRoom.SECRET_SHOP)
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 descriptors without any data are assumed to be non-existent and are not included.
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 roomDescriptor = getRoomDescriptorReadOnly(nil)
490
- return ____exports.isGenesisRoom(nil, roomDescriptor)
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 roomDescriptor = getRoomDescriptorReadOnly(nil)
508
- return ____exports.isMegaSatanRoom(nil, roomDescriptor)
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 roomDescriptor = getRoomDescriptorReadOnly(nil)
546
- return ____exports.isSecretExit(nil, roomDescriptor)
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 roomDescriptor = getRoomDescriptorReadOnly(nil)
556
- return ____exports.isSecretShop(nil, roomDescriptor)
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
@@ -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
- /** Helper function to get the room safe grid index for every room on the entire floor. */
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 (since `SafeGridIndex` is bugged for these cases, as
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 descriptors without any data are assumed to be non-existent and are not included.
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(roomDescriptor: RoomDescriptor): boolean;
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(roomDescriptor: RoomDescriptor): boolean;
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(roomDescriptor: RoomDescriptor): boolean;
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(roomDescriptor: RoomDescriptor): boolean;
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
  ];