isaacscript-common 1.2.173 → 1.2.176

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.
Files changed (79) hide show
  1. package/dist/callbacks/postNewRoomEarly.lua +2 -2
  2. package/dist/classes/null.d.ts +6 -7
  3. package/dist/classes/null.lua +5 -5
  4. package/dist/constants.d.ts +10 -10
  5. package/dist/constants.lua +3 -3
  6. package/dist/features/collectiblesSeen.d.ts +6 -0
  7. package/dist/features/collectiblesSeen.lua +43 -0
  8. package/dist/features/deployJSONRoom.lua +2 -1
  9. package/dist/features/extraConsoleCommands/commands.d.ts +11 -11
  10. package/dist/features/extraConsoleCommands/commands.lua +23 -22
  11. package/dist/features/extraConsoleCommands/init.lua +6 -6
  12. package/dist/features/playerInventory.d.ts +10 -2
  13. package/dist/features/playerInventory.lua +60 -21
  14. package/dist/features/saveDataManager/constants.d.ts +1 -1
  15. package/dist/features/saveDataManager/constants.lua +1 -1
  16. package/dist/features/saveDataManager/exports.d.ts +6 -6
  17. package/dist/features/saveDataManager/exports.lua +4 -4
  18. package/dist/features/saveDataManager/merge.lua +5 -3
  19. package/dist/featuresInitialized.d.ts +1 -1
  20. package/dist/featuresInitialized.lua +3 -3
  21. package/dist/functions/array.d.ts +39 -39
  22. package/dist/functions/array.lua +79 -79
  23. package/dist/functions/cards.d.ts +3 -3
  24. package/dist/functions/cards.lua +7 -7
  25. package/dist/functions/charge.d.ts +11 -11
  26. package/dist/functions/charge.lua +13 -13
  27. package/dist/functions/collectibles.d.ts +53 -15
  28. package/dist/functions/collectibles.lua +44 -21
  29. package/dist/functions/color.d.ts +2 -2
  30. package/dist/functions/color.lua +6 -6
  31. package/dist/functions/deepCopy.d.ts +0 -3
  32. package/dist/functions/deepCopy.lua +5 -22
  33. package/dist/functions/doors.d.ts +8 -8
  34. package/dist/functions/doors.lua +16 -16
  35. package/dist/functions/entity.d.ts +13 -14
  36. package/dist/functions/entity.lua +27 -34
  37. package/dist/functions/gridEntity.d.ts +8 -1
  38. package/dist/functions/gridEntity.lua +7 -11
  39. package/dist/functions/jsonHelpers.d.ts +7 -7
  40. package/dist/functions/jsonHelpers.lua +10 -11
  41. package/dist/functions/log.d.ts +21 -21
  42. package/dist/functions/log.lua +75 -74
  43. package/dist/functions/math.d.ts +1 -1
  44. package/dist/functions/math.lua +3 -3
  45. package/dist/functions/player.d.ts +8 -10
  46. package/dist/functions/player.lua +22 -29
  47. package/dist/functions/playerHealth.d.ts +1 -1
  48. package/dist/functions/playerHealth.lua +20 -20
  49. package/dist/functions/positionVelocity.d.ts +3 -0
  50. package/dist/functions/positionVelocity.lua +19 -5
  51. package/dist/functions/random.d.ts +7 -7
  52. package/dist/functions/revive.d.ts +5 -5
  53. package/dist/functions/revive.lua +8 -8
  54. package/dist/functions/roomData.d.ts +96 -0
  55. package/dist/functions/roomData.lua +57 -0
  56. package/dist/functions/rooms.d.ts +1 -96
  57. package/dist/functions/rooms.lua +30 -75
  58. package/dist/functions/set.d.ts +2 -2
  59. package/dist/functions/set.lua +7 -7
  60. package/dist/functions/trinketCacheFlag.d.ts +4 -4
  61. package/dist/functions/trinketCacheFlag.lua +3 -2
  62. package/dist/functions/trinketGive.d.ts +7 -7
  63. package/dist/functions/trinketGive.lua +27 -27
  64. package/dist/functions/trinkets.d.ts +2 -2
  65. package/dist/functions/trinkets.lua +6 -6
  66. package/dist/functions/ui.d.ts +13 -13
  67. package/dist/functions/ui.lua +28 -28
  68. package/dist/functions/utils.d.ts +6 -0
  69. package/dist/functions/utils.lua +7 -0
  70. package/dist/functions/vector.d.ts +2 -0
  71. package/dist/functions/vector.lua +13 -0
  72. package/dist/index.d.ts +3 -0
  73. package/dist/index.lua +13 -0
  74. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +1 -1
  75. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.lua +1 -1
  76. package/dist/types/CollectibleIndex.d.ts +15 -0
  77. package/dist/types/CollectibleIndex.lua +3 -0
  78. package/dist/upgradeMod.lua +3 -0
  79. package/package.json +2 -2
@@ -14,26 +14,6 @@ local getSoulHearts = ____player.getSoulHearts
14
14
  local ____utils = require("functions.utils")
15
15
  local ensureAllCases = ____utils.ensureAllCases
16
16
  local ____repeat = ____utils["repeat"]
17
- function ____exports.removeAllPlayerHealth(self, player)
18
- local character = player:GetPlayerType()
19
- local goldenHearts = player:GetGoldenHearts()
20
- local eternalHearts = player:GetEternalHearts()
21
- local boneHearts = player:GetBoneHearts()
22
- local brokenHearts = player:GetBrokenHearts()
23
- player:AddGoldenHearts(goldenHearts * -1)
24
- player:AddEternalHearts(eternalHearts * -1)
25
- player:AddBoneHearts(boneHearts * -1)
26
- player:AddBrokenHearts(brokenHearts * -1)
27
- player:AddMaxHearts(MAX_PLAYER_HEART_CONTAINERS * -2, true)
28
- player:AddSoulHearts(MAX_PLAYER_HEART_CONTAINERS * -2)
29
- if character == PlayerType.PLAYER_THESOUL then
30
- local forgotten = player:GetSubPlayer()
31
- if forgotten ~= nil then
32
- local forgottenBoneHearts = forgotten:GetBoneHearts()
33
- forgotten:AddBoneHearts(forgottenBoneHearts * -1)
34
- end
35
- end
36
- end
37
17
  function ____exports.addPlayerHealthType(self, player, healthType, numHearts)
38
18
  repeat
39
19
  local ____switch3 = healthType
@@ -233,6 +213,26 @@ function ____exports.getPlayerHealthType(self, player, healthType)
233
213
  end
234
214
  until true
235
215
  end
216
+ function ____exports.removeAllPlayerHealth(self, player)
217
+ local character = player:GetPlayerType()
218
+ local goldenHearts = player:GetGoldenHearts()
219
+ local eternalHearts = player:GetEternalHearts()
220
+ local boneHearts = player:GetBoneHearts()
221
+ local brokenHearts = player:GetBrokenHearts()
222
+ player:AddGoldenHearts(goldenHearts * -1)
223
+ player:AddEternalHearts(eternalHearts * -1)
224
+ player:AddBoneHearts(boneHearts * -1)
225
+ player:AddBrokenHearts(brokenHearts * -1)
226
+ player:AddMaxHearts(MAX_PLAYER_HEART_CONTAINERS * -2, true)
227
+ player:AddSoulHearts(MAX_PLAYER_HEART_CONTAINERS * -2)
228
+ if character == PlayerType.PLAYER_THESOUL then
229
+ local forgotten = player:GetSubPlayer()
230
+ if forgotten ~= nil then
231
+ local forgottenBoneHearts = forgotten:GetBoneHearts()
232
+ forgotten:AddBoneHearts(forgottenBoneHearts * -1)
233
+ end
234
+ end
235
+ end
236
236
  function ____exports.setPlayerHealth(self, player, playerHealth)
237
237
  local character = player:GetPlayerType()
238
238
  local subPlayer = player:GetSubPlayer()
@@ -1,4 +1,7 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
+ export declare function anyEntityCloserThan(entities: Entity[], position: Vector, distance: int): boolean;
3
+ /** Iterates over all players and checks if any player is close enough to the specified position. */
4
+ export declare function anyPlayerCloserThan(position: Vector, distance: float): boolean;
2
5
  /**
3
6
  * Helper function to get a room position that is not overlapping with a grid entity, a heaven door,
4
7
  * or a player. The `Room.FindFreePickupSpawnPosition` method will return locations that overlap
@@ -1,5 +1,6 @@
1
1
  --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
2
  local ____lualib = require("lualib_bundle")
3
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
3
4
  local Map = ____lualib.Map
4
5
  local __TS__New = ____lualib.__TS__New
5
6
  local ____exports = {}
@@ -8,13 +9,26 @@ local game = ____cachedClasses.game
8
9
  local ____constants = require("constants")
9
10
  local DISTANCE_OF_GRID_TILE = ____constants.DISTANCE_OF_GRID_TILE
10
11
  local ____entity = require("functions.entity")
11
- local anyEntityCloserThan = ____entity.anyEntityCloserThan
12
12
  local getEntities = ____entity.getEntities
13
13
  local ____entitySpecific = require("functions.entitySpecific")
14
14
  local getEffects = ____entitySpecific.getEffects
15
15
  local ____player = require("functions.player")
16
16
  local getPlayerCloserThan = ____player.getPlayerCloserThan
17
+ local getPlayers = ____player.getPlayers
17
18
  local MAX_FIND_FREE_POSITION_ATTEMPTS = 100
19
+ function ____exports.anyEntityCloserThan(self, entities, position, distance)
20
+ return __TS__ArraySome(
21
+ entities,
22
+ function(____, entity) return position:Distance(entity.Position) <= distance end
23
+ )
24
+ end
25
+ function ____exports.anyPlayerCloserThan(self, position, distance)
26
+ local players = getPlayers(nil)
27
+ return __TS__ArraySome(
28
+ players,
29
+ function(____, player) return player.Position:Distance(position) <= distance end
30
+ )
31
+ end
18
32
  function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities)
19
33
  if avoidActiveEntities == nil then
20
34
  avoidActiveEntities = false
@@ -28,15 +42,15 @@ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntitie
28
42
  local position = room:FindFreePickupSpawnPosition(startingPosition, i, avoidActiveEntities)
29
43
  local closePlayer = getPlayerCloserThan(nil, position, DISTANCE_OF_GRID_TILE)
30
44
  if closePlayer ~= nil then
31
- goto __continue3
45
+ goto __continue7
32
46
  end
33
- local isCloseHeavenDoor = anyEntityCloserThan(nil, heavenDoors, position, DISTANCE_OF_GRID_TILE)
47
+ local isCloseHeavenDoor = ____exports.anyEntityCloserThan(nil, heavenDoors, position, DISTANCE_OF_GRID_TILE)
34
48
  if isCloseHeavenDoor then
35
- goto __continue3
49
+ goto __continue7
36
50
  end
37
51
  return position
38
52
  end
39
- ::__continue3::
53
+ ::__continue7::
40
54
  i = i + 1
41
55
  end
42
56
  end
@@ -25,13 +25,6 @@ export declare function getRandomFloat(min: int, max: int, seed?: Seed): float;
25
25
  * ```
26
26
  */
27
27
  export declare function getRandomInt(min: int, max: int, seed?: Seed): int;
28
- /**
29
- * Helper function to get the next seed value.
30
- *
31
- * This function is useful because it is standard practice to work with seed values directly over
32
- * RNG objects, since the latter are not serializable.
33
- */
34
- export declare function nextSeed(seed: Seed): Seed;
35
28
  /**
36
29
  * Helper function to initialize an RNG object.
37
30
  *
@@ -48,3 +41,10 @@ export declare function nextSeed(seed: Seed): Seed;
48
41
  * @param seed The seed to initialize it with. Default is `Random()`.
49
42
  */
50
43
  export declare function initRNG(seed?: Seed): RNG;
44
+ /**
45
+ * Helper function to get the next seed value.
46
+ *
47
+ * This function is useful because it is standard practice to work with seed values directly over
48
+ * RNG objects, since the latter are not serializable.
49
+ */
50
+ export declare function nextSeed(seed: Seed): Seed;
@@ -4,11 +4,6 @@
4
4
  * will be fatal.
5
5
  */
6
6
  export declare function isDamageToPlayerFatal(player: EntityPlayer, damageAmount: int, damageSource: EntityRef, lastDamageGameFrame: int | undefined): boolean;
7
- /**
8
- * The `EntityPlayer.WillPlayerRevive` method does not properly account for Mysterious Paper, so use
9
- * this helper function instead for more robust revival detection.
10
- */
11
- export declare function willPlayerRevive(player: EntityPlayer): boolean;
12
7
  /**
13
8
  * Assuming that we are on the frame of fatal damage, this function returns whether or not
14
9
  * Mysterious Paper would rotate to Missing Poster on the frame that the "Game Over" screen would
@@ -18,6 +13,11 @@ export declare function willPlayerRevive(player: EntityPlayer): boolean;
18
13
  * Mysterious Paper be Missing Power is: `gameFrameCount % 4 === 3`
19
14
  */
20
15
  export declare function willMysteriousPaperRevive(player: EntityPlayer): boolean;
16
+ /**
17
+ * The `EntityPlayer.WillPlayerRevive` method does not properly account for Mysterious Paper, so use
18
+ * this helper function instead for more robust revival detection.
19
+ */
20
+ export declare function willPlayerRevive(player: EntityPlayer): boolean;
21
21
  /**
22
22
  * Helper function to determine if the player will be revived by the Heartbreak collectible if they
23
23
  * take fatal damage. This is contingent on the character that they are playing as and the amount of
@@ -13,14 +13,6 @@ local getFinalFrameOfAnimation = ____sprite.getFinalFrameOfAnimation
13
13
  local ____trinketGive = require("functions.trinketGive")
14
14
  local giveTrinketsBack = ____trinketGive.giveTrinketsBack
15
15
  local temporarilyRemoveTrinket = ____trinketGive.temporarilyRemoveTrinket
16
- function ____exports.willMysteriousPaperRevive(self, player)
17
- local gameFrameCount = game:GetFrameCount()
18
- local sprite = player:GetSprite()
19
- local animation = getDeathAnimationName(nil, player)
20
- local deathAnimationFrames = getFinalFrameOfAnimation(nil, sprite, animation)
21
- local frameOfDeath = gameFrameCount + deathAnimationFrames + 1
22
- return frameOfDeath % 4 == 3
23
- end
24
16
  function ____exports.willReviveFromHeartbreak(self, player)
25
17
  if not player:HasCollectible(CollectibleType.COLLECTIBLE_HEARTBREAK) then
26
18
  return false
@@ -79,6 +71,14 @@ function ____exports.isDamageToPlayerFatal(self, player, damageAmount, damageSou
79
71
  end
80
72
  return true
81
73
  end
74
+ function ____exports.willMysteriousPaperRevive(self, player)
75
+ local gameFrameCount = game:GetFrameCount()
76
+ local sprite = player:GetSprite()
77
+ local animation = getDeathAnimationName(nil, player)
78
+ local deathAnimationFrames = getFinalFrameOfAnimation(nil, sprite, animation)
79
+ local frameOfDeath = gameFrameCount + deathAnimationFrames + 1
80
+ return frameOfDeath % 4 == 3
81
+ end
82
82
  function ____exports.willPlayerRevive(self, player)
83
83
  local trinketSituation = temporarilyRemoveTrinket(nil, player, TrinketType.TRINKET_MYSTERIOUS_PAPER)
84
84
  local willRevive = player:WillPlayerRevive() or trinketSituation ~= nil and ____exports.willMysteriousPaperRevive(nil, player)
@@ -0,0 +1,96 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /**
3
+ * Alias for the `Level.GetCurrentRoomDesc` method. Use this to make it more clear what type of
4
+ * `RoomDescriptor` object that you are retrieving.
5
+ */
6
+ export declare function getCurrentRoomDescriptorReadOnly(): RoomDescriptorReadOnly;
7
+ /**
8
+ * Helper function to get the room data for the provided room.
9
+ *
10
+ * @param roomGridIndex Optional. Default is the current room index.
11
+ */
12
+ export declare function getRoomData(roomGridIndex?: int): RoomConfig | undefined;
13
+ /**
14
+ * Helper function to get the descriptor for a room.
15
+ *
16
+ * @param roomGridIndex Optional. Default is the current room index.
17
+ */
18
+ export declare function getRoomDescriptor(roomGridIndex?: int): RoomDescriptor;
19
+ /**
20
+ * Helper function to get the grid index of the current room.
21
+ *
22
+ * - If the current room is inside of the grid, this function will return the `SafeGridIndex` from
23
+ * the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
24
+ * overlaps with, or the top-right 1x1 section of a `RoomType.ROOMSHAPE_LTL` room.)
25
+ * - If the current room is outside of the grid, it will return the index from the
26
+ * `Level.GetCurrentRoomIndex` method (since `SafeGridIndex` is bugged for these cases).
27
+ *
28
+ * Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
29
+ * will return the specific 1x1 quadrant that the player entered the room at. For most situations,
30
+ * using the safe grid index is more reliable than this.
31
+ *
32
+ * Data structures that store data per room should use the room's `ListIndex` instead of
33
+ * `SafeGridIndex`, since the former is unique across different dimensions.
34
+ */
35
+ export declare function getRoomGridIndex(): int;
36
+ /**
37
+ * Helper function to get the list grid index of the provided room, which is equal to the index in
38
+ * the `RoomList.Get` method. In other words, this is equal to the order that the room was created
39
+ * by the floor generation algorithm.
40
+ *
41
+ * Use this as an index for data structures that store data per room, since it is unique across
42
+ * different dimensions.
43
+ *
44
+ * @param roomGridIndex Optional. Default is the current room index.
45
+ */
46
+ export declare function getRoomListIndex(roomGridIndex?: int): int;
47
+ /**
48
+ * Helper function to get the name of the room as it appears in the STB/XML data.
49
+ *
50
+ * @param roomGridIndex Optional. Default is the current room index.
51
+ * @returns The room name. Returns "Unknown" if the type was not found.
52
+ */
53
+ export declare function getRoomName(roomGridIndex?: int): string;
54
+ /**
55
+ * Helper function to get the stage ID for a room from the XML/STB data. The room stage ID will
56
+ * correspond to the first number in the filename of the XML/STB file. For example, a Depths room
57
+ * would have a stage ID of 7.
58
+ *
59
+ * @param roomGridIndex Optional. Default is the current room index.
60
+ * @returns The room stage ID. Returns -1 if the stage ID was not found.
61
+ */
62
+ export declare function getRoomStageID(roomGridIndex?: int): StageID;
63
+ /**
64
+ * Helper function to get the sub-type for a room from the XML/STB data. The room sub-type will
65
+ * correspond to different things depending on what XML/STB file it draws from. For example, in the
66
+ * "00.special rooms.stb" file, an Angel Room with a sub-type of 0 will correspond to a normal Angel
67
+ * Room and a sub-type of 1 will correspond to an Angel Room shop for The Stairway.
68
+ *
69
+ * @param roomGridIndex Optional. Default is the current room index.
70
+ * @returns The room sub-type. Returns -1 if the sub-type was not found.
71
+ */
72
+ export declare function getRoomSubType(roomGridIndex?: int): int;
73
+ /**
74
+ * Helper function for getting the type of the room with the given grid index.
75
+ *
76
+ * @param roomGridIndex Optional. Default is the current room index.
77
+ * @returns The room data type. Returns -1 if the type was not found.
78
+ */
79
+ export declare function getRoomType(roomGridIndex?: int): RoomType;
80
+ /**
81
+ * Helper function to get the variant for a room from the XML/STB data. You can think of a room
82
+ * variant as its identifier. For example, to go to Basement room #123, you would use a console
83
+ * command of `goto d.123` while on the Basement.
84
+ *
85
+ * @param roomGridIndex Optional. Default is the current room index.
86
+ * @returns The room variant. Returns -1 if the variant was not found.
87
+ */
88
+ export declare function getRoomVariant(roomGridIndex?: int): int;
89
+ /**
90
+ * Note that the room visited count will be inaccurate during the period before the PostNewRoom
91
+ * callback has fired (i.e. when entities are initializing and performing their first update). This
92
+ * is because the variable is only incremented immediately before the PostNewRoom callback fires.
93
+ *
94
+ * @param roomGridIndex Optional. Default is the current room index.
95
+ */
96
+ export declare function getRoomVisitedCount(roomGridIndex?: int): int;
@@ -0,0 +1,57 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ local ____exports = {}
3
+ local ____cachedClasses = require("cachedClasses")
4
+ local game = ____cachedClasses.game
5
+ function ____exports.getCurrentRoomDescriptorReadOnly(self)
6
+ local level = game:GetLevel()
7
+ return level:GetCurrentRoomDesc()
8
+ end
9
+ function ____exports.getRoomDescriptor(self, roomGridIndex)
10
+ local level = game:GetLevel()
11
+ if roomGridIndex == nil then
12
+ roomGridIndex = ____exports.getRoomGridIndex(nil)
13
+ end
14
+ return level:GetRoomByIdx(roomGridIndex)
15
+ end
16
+ function ____exports.getRoomGridIndex(self)
17
+ local level = game:GetLevel()
18
+ local currentRoomIndex = level:GetCurrentRoomIndex()
19
+ if currentRoomIndex < 0 then
20
+ return currentRoomIndex
21
+ end
22
+ local roomDescriptor = ____exports.getCurrentRoomDescriptorReadOnly(nil)
23
+ return roomDescriptor.SafeGridIndex
24
+ end
25
+ function ____exports.getRoomData(self, roomGridIndex)
26
+ local roomDescriptor = ____exports.getRoomDescriptor(nil, roomGridIndex)
27
+ return roomDescriptor.Data
28
+ end
29
+ function ____exports.getRoomListIndex(self, roomGridIndex)
30
+ local roomDescriptor = ____exports.getRoomDescriptor(nil, roomGridIndex)
31
+ return roomDescriptor.ListIndex
32
+ end
33
+ function ____exports.getRoomName(self, roomGridIndex)
34
+ local roomData = ____exports.getRoomData(nil, roomGridIndex)
35
+ return roomData == nil and "Unknown" or roomData.Name
36
+ end
37
+ function ____exports.getRoomStageID(self, roomGridIndex)
38
+ local roomData = ____exports.getRoomData(nil, roomGridIndex)
39
+ return roomData == nil and -1 or roomData.StageID
40
+ end
41
+ function ____exports.getRoomSubType(self, roomGridIndex)
42
+ local roomData = ____exports.getRoomData(nil, roomGridIndex)
43
+ return roomData == nil and -1 or roomData.Subtype
44
+ end
45
+ function ____exports.getRoomType(self, roomGridIndex)
46
+ local roomData = ____exports.getRoomData(nil, roomGridIndex)
47
+ return roomData == nil and -1 or roomData.Type
48
+ end
49
+ function ____exports.getRoomVariant(self, roomGridIndex)
50
+ local roomData = ____exports.getRoomData(nil, roomGridIndex)
51
+ return roomData == nil and -1 or roomData.Variant
52
+ end
53
+ function ____exports.getRoomVisitedCount(self, roomGridIndex)
54
+ local roomDescriptor = ____exports.getRoomDescriptor(nil, roomGridIndex)
55
+ return roomDescriptor.VisitedCount
56
+ end
57
+ return ____exports
@@ -15,47 +15,6 @@ export declare function getAllRoomGridIndexes(): int[];
15
15
  * tricky to properly detect.
16
16
  */
17
17
  export declare function getCurrentDimension(): Dimension;
18
- /**
19
- * Alias for the `Level.GetCurrentRoomDesc` method. Use this to make it more clear what type of
20
- * `RoomDescriptor` object that you are retrieving.
21
- */
22
- export declare function getCurrentRoomDescriptorReadOnly(): RoomDescriptorReadOnly;
23
- /**
24
- * Helper function to get the room data for the provided room.
25
- *
26
- * @param roomGridIndex Optional. Default is the current room index.
27
- */
28
- export declare function getRoomData(roomGridIndex?: int): RoomConfig | undefined;
29
- /**
30
- * Helper function for getting the type of the room with the given grid index.
31
- *
32
- * @param roomGridIndex Optional. Default is the current room index.
33
- * @returns The room data type. Returns -1 if the type was not found.
34
- */
35
- export declare function getRoomType(roomGridIndex?: int): RoomType;
36
- /**
37
- * Helper function to get the descriptor for a room.
38
- *
39
- * @param roomGridIndex Optional. Default is the current room index.
40
- */
41
- export declare function getRoomDescriptor(roomGridIndex?: int): RoomDescriptor;
42
- /**
43
- * Helper function to get the grid index of the current room.
44
- *
45
- * - If the current room is inside of the grid, this function will return the `SafeGridIndex` from
46
- * the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
47
- * overlaps with, or the top-right 1x1 section of a `RoomType.ROOMSHAPE_LTL` room.)
48
- * - If the current room is outside of the grid, it will return the index from the
49
- * `Level.GetCurrentRoomIndex` method (since `SafeGridIndex` is bugged for these cases).
50
- *
51
- * Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
52
- * will return the specific 1x1 quadrant that the player entered the room at. For most situations,
53
- * using the safe grid index is more reliable than this.
54
- *
55
- * Data structures that store data per room should use the room's `ListIndex` instead of
56
- * `SafeGridIndex`, since the former is unique across different dimensions.
57
- */
58
- export declare function getRoomGridIndex(): int;
59
18
  /**
60
19
  * Helper function to get an array of all of the safe grid indexes for rooms that match the
61
20
  * specified room type.
@@ -71,60 +30,6 @@ export declare function getRoomGridIndexesForType(...roomTypes: RoomType[]): int
71
30
  * `ItemPoolType.ItemPoolType.POOL_ANGEL` if you are in an Angel Room.
72
31
  */
73
32
  export declare function getRoomItemPoolType(): ItemPoolType;
74
- /**
75
- * Helper function to get the list grid index of the provided room, which is equal to the index in
76
- * the `RoomList.Get` method. In other words, this is equal to the order that the room was created
77
- * by the floor generation algorithm.
78
- *
79
- * Use this as an index for data structures that store data per room, since it is unique across
80
- * different dimensions.
81
- *
82
- * @param roomGridIndex Optional. Default is the current room index.
83
- */
84
- export declare function getRoomListIndex(roomGridIndex?: int): int;
85
- /**
86
- * Helper function to get the name of the room as it appears in the STB/XML data.
87
- *
88
- * @param roomGridIndex Optional. Default is the current room index.
89
- * @returns The room name. Returns "Unknown" if the type was not found.
90
- */
91
- export declare function getRoomName(roomGridIndex?: int): string;
92
- /**
93
- * Helper function to get the stage ID for a room from the XML/STB data. The room stage ID will
94
- * correspond to the first number in the filename of the XML/STB file. For example, a Depths room
95
- * would have a stage ID of 7.
96
- *
97
- * @param roomGridIndex Optional. Default is the current room index.
98
- * @returns The room stage ID. Returns -1 if the stage ID was not found.
99
- */
100
- export declare function getRoomStageID(roomGridIndex?: int): StageID;
101
- /**
102
- * Helper function to get the sub-type for a room from the XML/STB data. The room sub-type will
103
- * correspond to different things depending on what XML/STB file it draws from. For example, in the
104
- * "00.special rooms.stb" file, an Angel Room with a sub-type of 0 will correspond to a normal Angel
105
- * Room and a sub-type of 1 will correspond to an Angel Room shop for The Stairway.
106
- *
107
- * @param roomGridIndex Optional. Default is the current room index.
108
- * @returns The room sub-type. Returns -1 if the sub-type was not found.
109
- */
110
- export declare function getRoomSubType(roomGridIndex?: int): int;
111
- /**
112
- * Helper function to get the variant for a room from the XML/STB data. You can think of a room
113
- * variant as its identifier. For example, to go to Basement room #123, you would use a console
114
- * command of `goto d.123` while on the Basement.
115
- *
116
- * @param roomGridIndex Optional. Default is the current room index.
117
- * @returns The room variant. Returns -1 if the variant was not found.
118
- */
119
- export declare function getRoomVariant(roomGridIndex?: int): int;
120
- /**
121
- * Note that the room visited count will be inaccurate during the period before the PostNewRoom
122
- * callback has fired (i.e. when entities are initializing and performing their first update). This
123
- * is because the variable is only incremented immediately before the PostNewRoom callback fires.
124
- *
125
- * @param roomGridIndex Optional. Default is the current room index.
126
- */
127
- export declare function getRoomVisitedCount(roomGridIndex?: int): int;
128
33
  /**
129
34
  * Helper function to get the room descriptor for every room on the level. Uses the `Level.GetRooms`
130
35
  * method to accomplish this.
@@ -169,9 +74,9 @@ export declare function inDeathCertificateArea(): boolean;
169
74
  */
170
75
  export declare function inDevilsCrownTreasureRoom(): boolean;
171
76
  export declare function inDimension(dimension: Dimension): boolean;
77
+ export declare function inGenesisRoom(): boolean;
172
78
  /** Helper function to determine if the current room shape is one of the four L room shapes. */
173
79
  export declare function inLRoom(): boolean;
174
- export declare function inGenesisRoom(): boolean;
175
80
  export declare function inMegaSatanRoom(): boolean;
176
81
  /**
177
82
  * Helper function to check if the current room is a miniboss room for a particular miniboss. This