isaacscript-common 47.1.0 → 47.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.
@@ -4891,6 +4891,14 @@ export declare function getBooleansFromTable(luaMap: LuaMap<string, unknown>, ob
4891
4891
  */
4892
4892
  export declare function getBosses(entityType?: EntityType, variant?: int, subType?: int, ignoreFriendly?: boolean): EntityNPC[];
4893
4893
 
4894
+ /**
4895
+ * Helper function to get the door that leads to the Boss Rush. (In vanilla, the door will only
4896
+ * appear in the Boss Room of the sixth floor.)
4897
+ *
4898
+ * Returns undefined if the room has no Boss Rush doors.
4899
+ */
4900
+ export declare function getBossRushDoor(): GridEntityDoor | undefined;
4901
+
4894
4902
  /**
4895
4903
  * Helper function to get the set of vanilla bosses for a particular stage and stage type
4896
4904
  * combination.
@@ -8381,6 +8389,12 @@ export declare function isBoolean(variable: unknown): variable is boolean;
8381
8389
  */
8382
8390
  export declare function isBossRoomOf(roomData: RoomConfig, bossID: BossID): boolean;
8383
8391
 
8392
+ /**
8393
+ * Helper function to check if the provided door is the one that leads to the Boss Rush room. (In
8394
+ * vanilla, the door will only appear in the Boss Room of the sixth floor.)
8395
+ */
8396
+ export declare function isBossRushDoor(door: GridEntityDoor): boolean;
8397
+
8384
8398
  /**
8385
8399
  * Returns true for cards that have the following card type:
8386
8400
  * - CardType.TAROT
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 47.1.0
3
+ isaacscript-common 47.2.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -20476,23 +20476,26 @@ function ____exports.getDoors(self, ...)
20476
20476
  do
20477
20477
  local door = room:GetDoor(doorSlot)
20478
20478
  if door == nil then
20479
- goto __continue25
20479
+ goto __continue27
20480
20480
  end
20481
20481
  local gridEntityType = door:GetType()
20482
20482
  if gridEntityType ~= GridEntityType.DOOR then
20483
- goto __continue25
20483
+ goto __continue27
20484
20484
  end
20485
20485
  if roomTypesSet.size == 0 or roomTypesSet:has(door.TargetRoomType) then
20486
20486
  doors[#doors + 1] = door
20487
20487
  end
20488
20488
  end
20489
- ::__continue25::
20489
+ ::__continue27::
20490
20490
  end
20491
20491
  return doors
20492
20492
  end
20493
20493
  function ____exports.isBlueWombDoor(self, door)
20494
20494
  return door.TargetRoomIndex == asNumber(nil, GridRoom.BLUE_WOMB)
20495
20495
  end
20496
+ function ____exports.isBossRushDoor(self, door)
20497
+ return door.TargetRoomIndex == asNumber(nil, GridRoom.BOSS_RUSH)
20498
+ end
20496
20499
  function ____exports.isMegaSatanDoor(self, door)
20497
20500
  return door.TargetRoomIndex == asNumber(nil, GridRoom.MEGA_SATAN)
20498
20501
  end
@@ -20569,6 +20572,13 @@ function ____exports.getBlueWombDoor(self)
20569
20572
  function(____, door) return ____exports.isBlueWombDoor(nil, door) end
20570
20573
  )
20571
20574
  end
20575
+ function ____exports.getBossRushDoor(self)
20576
+ local doors = ____exports.getDoors(nil)
20577
+ return __TS__ArrayFind(
20578
+ doors,
20579
+ function(____, door) return ____exports.isBossRushDoor(nil, door) end
20580
+ )
20581
+ end
20572
20582
  function ____exports.getDevilRoomDoor(self)
20573
20583
  local devilRoomDoors = ____exports.getDoors(nil, RoomType.DEVIL)
20574
20584
  local ____temp_1
@@ -23,6 +23,13 @@ export declare function getAngelRoomDoor(): GridEntityDoor | undefined;
23
23
  * Returns undefined if the room has no Blue Womb doors.
24
24
  */
25
25
  export declare function getBlueWombDoor(): GridEntityDoor | undefined;
26
+ /**
27
+ * Helper function to get the door that leads to the Boss Rush. (In vanilla, the door will only
28
+ * appear in the Boss Room of the sixth floor.)
29
+ *
30
+ * Returns undefined if the room has no Boss Rush doors.
31
+ */
32
+ export declare function getBossRushDoor(): GridEntityDoor | undefined;
26
33
  export declare function getDevilRoomDoor(): GridEntityDoor | undefined;
27
34
  /**
28
35
  * If there is both a Devil Room and an Angel Room door, this function will return door with the
@@ -128,6 +135,11 @@ export declare function isAngelRoomDoor(door: GridEntityDoor): boolean;
128
135
  * Room.)
129
136
  */
130
137
  export declare function isBlueWombDoor(door: GridEntityDoor): boolean;
138
+ /**
139
+ * Helper function to check if the provided door is the one that leads to the Boss Rush room. (In
140
+ * vanilla, the door will only appear in the Boss Room of the sixth floor.)
141
+ */
142
+ export declare function isBossRushDoor(door: GridEntityDoor): boolean;
131
143
  export declare function isDevilRoomDoor(door: GridEntityDoor): boolean;
132
144
  /** Helper function to see if a door slot could exist for a given room shape. */
133
145
  export declare function isDoorSlotInRoomShape(doorSlot: DoorSlot, roomShape: RoomShape): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"doors.d.ts","sourceRoot":"","sources":["../../../src/functions/doors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doors.d.ts","sourceRoot":"","sources":["../../../src/functions/doors.ts"],"names":[],"mappings":"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"}
@@ -83,17 +83,17 @@ function ____exports.getDoors(self, ...)
83
83
  do
84
84
  local door = room:GetDoor(doorSlot)
85
85
  if door == nil then
86
- goto __continue25
86
+ goto __continue27
87
87
  end
88
88
  local gridEntityType = door:GetType()
89
89
  if gridEntityType ~= GridEntityType.DOOR then
90
- goto __continue25
90
+ goto __continue27
91
91
  end
92
92
  if roomTypesSet.size == 0 or roomTypesSet:has(door.TargetRoomType) then
93
93
  doors[#doors + 1] = door
94
94
  end
95
95
  end
96
- ::__continue25::
96
+ ::__continue27::
97
97
  end
98
98
  return doors
99
99
  end
@@ -103,6 +103,11 @@ end
103
103
  function ____exports.isBlueWombDoor(self, door)
104
104
  return door.TargetRoomIndex == asNumber(nil, GridRoom.BLUE_WOMB)
105
105
  end
106
+ --- Helper function to check if the provided door is the one that leads to the Boss Rush room. (In
107
+ -- vanilla, the door will only appear in the Boss Room of the sixth floor.)
108
+ function ____exports.isBossRushDoor(self, door)
109
+ return door.TargetRoomIndex == asNumber(nil, GridRoom.BOSS_RUSH)
110
+ end
106
111
  --- Helper function to check if the provided door is the one that leads to the Mega Satan Boss Room.
107
112
  -- (In vanilla, the door will only appear in the starting room of The Chest / Dark Room.)
108
113
  function ____exports.isMegaSatanDoor(self, door)
@@ -203,6 +208,17 @@ function ____exports.getBlueWombDoor(self)
203
208
  function(____, door) return ____exports.isBlueWombDoor(nil, door) end
204
209
  )
205
210
  end
211
+ --- Helper function to get the door that leads to the Boss Rush. (In vanilla, the door will only
212
+ -- appear in the Boss Room of the sixth floor.)
213
+ --
214
+ -- Returns undefined if the room has no Boss Rush doors.
215
+ function ____exports.getBossRushDoor(self)
216
+ local doors = ____exports.getDoors(nil)
217
+ return __TS__ArrayFind(
218
+ doors,
219
+ function(____, door) return ____exports.isBossRushDoor(nil, door) end
220
+ )
221
+ end
206
222
  function ____exports.getDevilRoomDoor(self)
207
223
  local devilRoomDoors = ____exports.getDoors(nil, RoomType.DEVIL)
208
224
  local ____temp_1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "47.1.0",
3
+ "version": "47.2.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -115,6 +115,17 @@ export function getBlueWombDoor(): GridEntityDoor | undefined {
115
115
  return doors.find((door) => isBlueWombDoor(door));
116
116
  }
117
117
 
118
+ /**
119
+ * Helper function to get the door that leads to the Boss Rush. (In vanilla, the door will only
120
+ * appear in the Boss Room of the sixth floor.)
121
+ *
122
+ * Returns undefined if the room has no Boss Rush doors.
123
+ */
124
+ export function getBossRushDoor(): GridEntityDoor | undefined {
125
+ const doors = getDoors();
126
+ return doors.find((door) => isBossRushDoor(door));
127
+ }
128
+
118
129
  export function getDevilRoomDoor(): GridEntityDoor | undefined {
119
130
  const devilRoomDoors = getDoors(RoomType.DEVIL);
120
131
  return devilRoomDoors.length === 0 ? undefined : devilRoomDoors[0];
@@ -365,6 +376,14 @@ export function isBlueWombDoor(door: GridEntityDoor): boolean {
365
376
  return door.TargetRoomIndex === asNumber(GridRoom.BLUE_WOMB);
366
377
  }
367
378
 
379
+ /**
380
+ * Helper function to check if the provided door is the one that leads to the Boss Rush room. (In
381
+ * vanilla, the door will only appear in the Boss Room of the sixth floor.)
382
+ */
383
+ export function isBossRushDoor(door: GridEntityDoor): boolean {
384
+ return door.TargetRoomIndex === asNumber(GridRoom.BOSS_RUSH);
385
+ }
386
+
368
387
  export function isDevilRoomDoor(door: GridEntityDoor): boolean {
369
388
  return door.TargetRoomType === RoomType.DEVIL;
370
389
  }