isaacscript-common 31.7.2 → 31.8.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.
Files changed (111) hide show
  1. package/dist/index.rollup.d.ts +215 -153
  2. package/dist/isaacscript-common.lua +144 -14
  3. package/dist/lualib_bundle.lua +99 -3
  4. package/dist/src/classes/ModFeature.d.ts +2 -2
  5. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +1 -1
  6. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
  7. package/dist/src/classes/callbacks/PostUsePillFilter.d.ts +2 -2
  8. package/dist/src/classes/callbacks/PostUsePillFilter.lua +2 -2
  9. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
  10. package/dist/src/classes/features/other/CustomItemPools.d.ts +1 -1
  11. package/dist/src/classes/features/other/CustomTrapdoors.d.ts +2 -2
  12. package/dist/src/classes/features/other/DebugDisplay.d.ts +18 -18
  13. package/dist/src/classes/features/other/ModdedElementSets.d.ts +2 -2
  14. package/dist/src/classes/features/other/RunInNFrames.d.ts +14 -14
  15. package/dist/src/classes/features/other/SaveDataManager.d.ts +2 -2
  16. package/dist/src/classes/features/other/SpawnRockAltRewards.d.ts +1 -1
  17. package/dist/src/classes/features/other/StageHistory.d.ts +2 -2
  18. package/dist/src/classes/features/other/extraConsoleCommands/commands.d.ts +1 -1
  19. package/dist/src/classes/features/other/extraConsoleCommands/commands.d.ts.map +1 -1
  20. package/dist/src/classes/features/other/extraConsoleCommands/commands.lua +1 -1
  21. package/dist/src/functions/array.d.ts +4 -4
  22. package/dist/src/functions/array.lua +4 -4
  23. package/dist/src/functions/cards.d.ts +1 -1
  24. package/dist/src/functions/cards.d.ts.map +1 -1
  25. package/dist/src/functions/cards.lua +1 -1
  26. package/dist/src/functions/charge.d.ts +1 -1
  27. package/dist/src/functions/charge.lua +1 -1
  28. package/dist/src/functions/collectibles.d.ts +3 -3
  29. package/dist/src/functions/collectibles.lua +3 -3
  30. package/dist/src/functions/debugFunctions.d.ts +2 -2
  31. package/dist/src/functions/debugFunctions.lua +2 -2
  32. package/dist/src/functions/deepCopy.d.ts +2 -2
  33. package/dist/src/functions/deepCopy.lua +2 -2
  34. package/dist/src/functions/globals.d.ts +1 -1
  35. package/dist/src/functions/globals.lua +1 -1
  36. package/dist/src/functions/gridEntities.d.ts +6 -6
  37. package/dist/src/functions/gridEntities.lua +6 -6
  38. package/dist/src/functions/gridEntitiesSpecific.d.ts +22 -22
  39. package/dist/src/functions/gridEntitiesSpecific.lua +22 -22
  40. package/dist/src/functions/input.d.ts +4 -4
  41. package/dist/src/functions/input.lua +4 -4
  42. package/dist/src/functions/logEntities.d.ts +1 -1
  43. package/dist/src/functions/logEntities.lua +1 -1
  44. package/dist/src/functions/minimap.d.ts +17 -20
  45. package/dist/src/functions/minimap.d.ts.map +1 -1
  46. package/dist/src/functions/minimap.lua +17 -20
  47. package/dist/src/functions/nextStage.d.ts +2 -2
  48. package/dist/src/functions/nextStage.lua +2 -2
  49. package/dist/src/functions/pills.d.ts +2 -2
  50. package/dist/src/functions/pills.lua +2 -2
  51. package/dist/src/functions/playerHealth.d.ts +4 -4
  52. package/dist/src/functions/playerHealth.lua +4 -4
  53. package/dist/src/functions/playerIndex.d.ts +2 -3
  54. package/dist/src/functions/playerIndex.d.ts.map +1 -1
  55. package/dist/src/functions/playerIndex.lua +2 -3
  56. package/dist/src/functions/players.d.ts +5 -5
  57. package/dist/src/functions/players.lua +5 -5
  58. package/dist/src/functions/pocketItems.d.ts +5 -5
  59. package/dist/src/functions/pocketItems.lua +5 -5
  60. package/dist/src/functions/revive.d.ts +3 -3
  61. package/dist/src/functions/revive.lua +3 -3
  62. package/dist/src/functions/rooms.d.ts +7 -7
  63. package/dist/src/functions/rooms.lua +7 -7
  64. package/dist/src/functions/run.d.ts +1 -1
  65. package/dist/src/functions/run.lua +1 -1
  66. package/dist/src/functions/set.d.ts +1 -1
  67. package/dist/src/functions/set.lua +1 -1
  68. package/dist/src/functions/stage.d.ts +64 -7
  69. package/dist/src/functions/stage.d.ts.map +1 -1
  70. package/dist/src/functions/stage.lua +80 -16
  71. package/dist/src/functions/trinkets.d.ts +1 -1
  72. package/dist/src/functions/trinkets.lua +1 -1
  73. package/package.json +2 -2
  74. package/src/classes/ModFeature.ts +2 -2
  75. package/src/classes/callbacks/PostPlayerFatalDamage.ts +1 -1
  76. package/src/classes/callbacks/PostUsePillFilter.ts +2 -2
  77. package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
  78. package/src/classes/features/other/CustomItemPools.ts +1 -1
  79. package/src/classes/features/other/CustomTrapdoors.ts +2 -2
  80. package/src/classes/features/other/DebugDisplay.ts +18 -18
  81. package/src/classes/features/other/DisableInputs.ts +2 -2
  82. package/src/classes/features/other/ModdedElementSets.ts +2 -2
  83. package/src/classes/features/other/RunInNFrames.ts +15 -15
  84. package/src/classes/features/other/SaveDataManager.ts +2 -2
  85. package/src/classes/features/other/SpawnRockAltRewards.ts +1 -1
  86. package/src/classes/features/other/StageHistory.ts +2 -2
  87. package/src/classes/features/other/extraConsoleCommands/commands.ts +1 -1
  88. package/src/functions/array.ts +4 -4
  89. package/src/functions/cards.ts +1 -1
  90. package/src/functions/charge.ts +1 -1
  91. package/src/functions/collectibles.ts +3 -3
  92. package/src/functions/debugFunctions.ts +2 -2
  93. package/src/functions/deepCopy.ts +3 -3
  94. package/src/functions/globals.ts +1 -1
  95. package/src/functions/gridEntities.ts +6 -6
  96. package/src/functions/gridEntitiesSpecific.ts +22 -22
  97. package/src/functions/input.ts +4 -4
  98. package/src/functions/logEntities.ts +1 -1
  99. package/src/functions/minimap.ts +17 -20
  100. package/src/functions/nextStage.ts +2 -2
  101. package/src/functions/pills.ts +2 -2
  102. package/src/functions/playerHealth.ts +4 -4
  103. package/src/functions/playerIndex.ts +2 -3
  104. package/src/functions/players.ts +5 -5
  105. package/src/functions/pocketItems.ts +5 -5
  106. package/src/functions/revive.ts +3 -3
  107. package/src/functions/rooms.ts +7 -7
  108. package/src/functions/run.ts +1 -1
  109. package/src/functions/set.ts +1 -1
  110. package/src/functions/stage.ts +139 -33
  111. package/src/functions/trinkets.ts +1 -1
@@ -93,9 +93,9 @@ function ____exports.getFirstPill(self, player)
93
93
  function(____, pocketItem) return pocketItem.type == PocketItemType.PILL end
94
94
  )
95
95
  end
96
- --- Returns whether or not the player can hold an additional pocket item, beyond what they are
97
- -- currently carrying. This takes into account items that modify the max number of pocket items,
98
- -- like Starter Deck.
96
+ --- Returns whether the player can hold an additional pocket item, beyond what they are currently
97
+ -- carrying. This takes into account items that modify the max number of pocket items, like Starter
98
+ -- Deck.
99
99
  --
100
100
  -- If the player is the Tainted Soul, this always returns false, since that character cannot pick up
101
101
  -- items. (Only Tainted Forgotten can pick up items.)
@@ -109,8 +109,8 @@ function ____exports.hasOpenPocketItemSlot(self, player)
109
109
  function(____, pocketItem) return pocketItem.type == PocketItemType.EMPTY end
110
110
  )
111
111
  end
112
- --- Helper function to determine whether or not the player's "active" pocket item slot is set to
113
- -- their pocket active item.
112
+ --- Helper function to determine whether the player's "active" pocket item slot is set to their
113
+ -- pocket active item.
114
114
  function ____exports.isFirstSlotPocketActiveItem(self, player)
115
115
  local pocketItems = ____exports.getPocketItems(nil, player)
116
116
  local firstPocketItem = pocketItems[1]
@@ -7,9 +7,9 @@
7
7
  */
8
8
  export declare function isDamageToPlayerFatal(player: EntityPlayer, amount: int, source: EntityRef, lastDamageGameFrame: int | undefined): boolean;
9
9
  /**
10
- * Assuming that we are on the frame of fatal damage, this function returns whether or not
11
- * Mysterious Paper would rotate to Missing Poster on the frame that the "Game Over" screen would
12
- * appear (which would subsequently save the player from fatal damage).
10
+ * Assuming that we are on the frame of fatal damage, this function returns whether Mysterious Paper
11
+ * would rotate to Missing Poster on the frame that the "Game Over" screen would appear (which would
12
+ * subsequently save the player from fatal damage).
13
13
  *
14
14
  * Mysterious Paper rotates between the 4 items on every frame, in order. The formula for whether
15
15
  * Mysterious Paper be Missing Power is: `gameFrameCount % 4 === 3`
@@ -96,9 +96,9 @@ function ____exports.isDamageToPlayerFatal(self, player, amount, source, lastDam
96
96
  end
97
97
  return true
98
98
  end
99
- --- Assuming that we are on the frame of fatal damage, this function returns whether or not
100
- -- Mysterious Paper would rotate to Missing Poster on the frame that the "Game Over" screen would
101
- -- appear (which would subsequently save the player from fatal damage).
99
+ --- Assuming that we are on the frame of fatal damage, this function returns whether Mysterious Paper
100
+ -- would rotate to Missing Poster on the frame that the "Game Over" screen would appear (which would
101
+ -- subsequently save the player from fatal damage).
102
102
  --
103
103
  -- Mysterious Paper rotates between the 4 items on every frame, in order. The formula for whether
104
104
  -- Mysterious Paper be Missing Power is: `gameFrameCount % 4 === 3`
@@ -188,9 +188,9 @@ export declare function inSecretExit(): boolean;
188
188
  */
189
189
  export declare function inSecretShop(): boolean;
190
190
  /**
191
- * Helper function to determine whether or not the current room is the starting room of a floor. It
192
- * only returns true for the starting room of the primary dimension (meaning that being in the
193
- * starting room of the mirror world does not count).
191
+ * Helper function to determine whether the current room is the starting room of a floor. It only
192
+ * returns true for the starting room of the primary dimension (meaning that being in the starting
193
+ * room of the mirror world does not count).
194
194
  */
195
195
  export declare function inStartingRoom(): boolean;
196
196
  /**
@@ -205,10 +205,10 @@ export declare function is2x1Room(roomData: RoomConfig): boolean;
205
205
  * @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
206
206
  * the array will be ignored. If not specified, then all rooms will be
207
207
  * checked. Undefined by default.
208
- * @param includeSecretAndSuperSecretRoom Optional. Whether or not to include the Secret Room and
209
- * the Super Secret Room. Default is false.
210
- * @param includeUltraSecretRoom Optional. Whether or not to include the Ultra Secret Room. Default
211
- * is false.
208
+ * @param includeSecretAndSuperSecretRoom Optional. Whether to include the Secret Room and the Super
209
+ * Secret Room. Default is false.
210
+ * @param includeUltraSecretRoom Optional. Whether to include the Ultra Secret Room. Default is
211
+ * false.
212
212
  * @allowEmptyVariadic
213
213
  */
214
214
  export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[], includeSecretAndSuperSecretRoom?: boolean, includeUltraSecretRoom?: boolean): boolean;
@@ -465,9 +465,9 @@ function ____exports.inSecretShop(self)
465
465
  local roomDescriptor = getRoomDescriptorReadOnly(nil)
466
466
  return ____exports.isSecretShop(nil, roomDescriptor)
467
467
  end
468
- --- Helper function to determine whether or not the current room is the starting room of a floor. It
469
- -- only returns true for the starting room of the primary dimension (meaning that being in the
470
- -- starting room of the mirror world does not count).
468
+ --- Helper function to determine whether the current room is the starting room of a floor. It only
469
+ -- returns true for the starting room of the primary dimension (meaning that being in the starting
470
+ -- room of the mirror world does not count).
471
471
  function ____exports.inStartingRoom(self)
472
472
  local level = game:GetLevel()
473
473
  local startingRoomGridIndex = level:GetStartingRoomIndex()
@@ -481,10 +481,10 @@ end
481
481
  -- @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
482
482
  -- the array will be ignored. If not specified, then all rooms will be
483
483
  -- checked. Undefined by default.
484
- -- @param includeSecretAndSuperSecretRoom Optional. Whether or not to include the Secret Room and
485
- -- the Super Secret Room. Default is false.
486
- -- @param includeUltraSecretRoom Optional. Whether or not to include the Ultra Secret Room. Default
487
- -- is false.
484
+ -- @param includeSecretAndSuperSecretRoom Optional. Whether to include the Secret Room and the Super
485
+ -- Secret Room. Default is false.
486
+ -- @param includeUltraSecretRoom Optional. Whether to include the Ultra Secret Room. Default is
487
+ -- false.
488
488
  -- @allowEmptyVariadic
489
489
  function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes, includeSecretAndSuperSecretRoom, includeUltraSecretRoom)
490
490
  if includeSecretAndSuperSecretRoom == nil then
@@ -10,7 +10,7 @@ export declare function canRunUnlockAchievements(): boolean;
10
10
  */
11
11
  export declare function isGreedMode(): boolean;
12
12
  /**
13
- * Whether or not the player is playing on a set seed (i.e. that they entered in a specific seed by
13
+ * Whether the player is playing on a set seed (i.e. that they entered in a specific seed by
14
14
  * pressing tab on the character selection screen). When the player resets the game on a set seed,
15
15
  * the game will not switch to a different seed.
16
16
  */
@@ -27,7 +27,7 @@ end
27
27
  function ____exports.isGreedMode(self)
28
28
  return game.Difficulty == Difficulty.GREED or game.Difficulty == Difficulty.GREEDIER
29
29
  end
30
- --- Whether or not the player is playing on a set seed (i.e. that they entered in a specific seed by
30
+ --- Whether the player is playing on a set seed (i.e. that they entered in a specific seed by
31
31
  -- pressing tab on the character selection screen). When the player resets the game on a set seed,
32
32
  -- the game will not switch to a different seed.
33
33
  function ____exports.onSetSeed(self)
@@ -48,7 +48,7 @@ export declare function getRandomSetElement<T>(set: Set<T> | ReadonlySet<T>, see
48
48
  * - [1, 2, 3]
49
49
  *
50
50
  * @param set The set to get the combinations of.
51
- * @param includeEmptyArray Whether or not to include an empty array in the combinations.
51
+ * @param includeEmptyArray Whether to include an empty array in the combinations.
52
52
  */
53
53
  export declare function getSetCombinations<T>(set: Set<T> | ReadonlySet<T>, includeEmptyArray: boolean): ReadonlyArray<ReadonlySet<T>>;
54
54
  /**
@@ -111,7 +111,7 @@ end
111
111
  -- - [1, 2, 3]
112
112
  --
113
113
  -- @param set The set to get the combinations of.
114
- -- @param includeEmptyArray Whether or not to include an empty array in the combinations.
114
+ -- @param includeEmptyArray Whether to include an empty array in the combinations.
115
115
  function ____exports.getSetCombinations(self, set, includeEmptyArray)
116
116
  local values = ____exports.getSortedSetValues(nil, set)
117
117
  local combinations = getArrayCombinations(nil, values, includeEmptyArray)
@@ -56,11 +56,61 @@ export declare function getStageID(stage?: LevelStage, stageType?: StageType): S
56
56
  export declare function getStageType(): StageType;
57
57
  /** Helper function to directly warp to a specific stage using the "stage" console command. */
58
58
  export declare function goToStage(stage: LevelStage, stageType: StageType): void;
59
+ /**
60
+ * Returns whether the provided stage and stage type represent a "final floor". This is defined as a
61
+ * floor that prevents the player from entering the I AM ERROR room on.
62
+ *
63
+ * For example, when using Undefined on The Chest, it has a 50% chance of teleporting the player to
64
+ * the Secret Room and a 50% chance of teleporting the player to the Super Secret Room, because the
65
+ * I AM ERROR room is never entered into the list of possibilities.
66
+ */
67
+ export declare function isFinalFloor(stage: LevelStage, stageType: StageType): boolean;
59
68
  /**
60
69
  * Helper function to check if the provided stage type is equal to `StageType.REPENTANCE` or
61
70
  * `StageType.REPENTANCE_B`.
62
71
  */
63
72
  export declare function isRepentanceStage(stageType: StageType): boolean;
73
+ /**
74
+ * Helper function to check if the provided effective stage is one that has the possibility to grant
75
+ * a natural Devil Room or Angel Room after killing the boss.
76
+ *
77
+ * Note that in order for this function to work properly, you must provide it with the effective
78
+ * stage (e.g. from the `getEffectiveStage` helper function) and not the absolute stage (e.g. from
79
+ * the `Level.GetStage` method).
80
+ */
81
+ export declare function isStageWithNaturalDevilRoom(effectiveStage: LevelStage): boolean;
82
+ /**
83
+ * After defeating the boss on most stages, a random collectible will spawn from the Boss Room pool.
84
+ * However, this does not happen on Depths 2, Womb 2, and beyond.
85
+ */
86
+ export declare function isStageWithRandomBossCollectible(stage: LevelStage): boolean;
87
+ /**
88
+ * Helper function to check if the provided stage will spawn a locked door to Downpour/Dross after
89
+ * defeating the boss.
90
+ */
91
+ export declare function isStageWithSecretExitToDownpour(stage: LevelStage): boolean;
92
+ /**
93
+ * Helper function to check if the provided stage and stage type will spawn a spiked door to
94
+ * Mausoleum/Gehenna after defeating the boss.
95
+ */
96
+ export declare function isStageWithSecretExitToMausoleum(stage: LevelStage, stageType: StageType): boolean;
97
+ /**
98
+ * Helper function to check if the provided stage and stage type will spawn a wooden door to
99
+ * Mines/Ashpit after defeating the boss.
100
+ */
101
+ export declare function isStageWithSecretExitToMines(stage: LevelStage, stageType: StageType): boolean;
102
+ /**
103
+ * Helper function to check if the current stage is one that would create a trapdoor if We Need to
104
+ * Go Deeper was used.
105
+ */
106
+ export declare function isStageWithShovelTrapdoors(stage: LevelStage, stageType: StageType): boolean;
107
+ /**
108
+ * Helper function to check if the provided stage is one with a story boss. Specifically, this is
109
+ * Depths 2 (Mom), Womb 2 (Mom's Heart / It Lives), Blue Womb (Hush), Sheol (Satan), Cathedral
110
+ * (Isaac), Dark Room (Lamb), The Chest (Blue Baby), The Void (Delirium), and Home (Dogma / The
111
+ * Beast).
112
+ */
113
+ export declare function isStageWithStoryBoss(stage: LevelStage): boolean;
64
114
  /**
65
115
  * Helper function to check if the player has taken Dad's Note. This sets the game state flag of
66
116
  * `GameStateFlag.BACKWARDS_PATH` and causes floor generation to change.
@@ -77,8 +127,8 @@ export declare function onDarkRoom(): boolean;
77
127
  */
78
128
  export declare function onEffectiveStage(...effectiveStages: LevelStage[]): boolean;
79
129
  /**
80
- * Returns whether or not the player is on the "final floor" of the particular run. The final floor
81
- * is defined as one that prevents the player from entering the I AM ERROR room on.
130
+ * Returns whether the player is on the "final floor" of the particular run. The final floor is
131
+ * defined as one that prevents the player from entering the I AM ERROR room on.
82
132
  *
83
133
  * For example, when using Undefined on The Chest, it has a 50% chance of teleporting the player to
84
134
  * the Secret Room and a 50% chance of teleporting the player to the Super Secret Room, because the
@@ -86,7 +136,7 @@ export declare function onEffectiveStage(...effectiveStages: LevelStage[]): bool
86
136
  */
87
137
  export declare function onFinalFloor(): boolean;
88
138
  /**
89
- * Returns whether or not the player is on the first floor of the particular run.
139
+ * Returns whether the player is on the first floor of the particular run.
90
140
  *
91
141
  * This is tricky to determine because we have to handle the cases of Downpour/Dross 1 not being the
92
142
  * first floor and The Ascent.
@@ -143,7 +193,14 @@ export declare function onStageWithSecretExitToMines(): boolean;
143
193
  * Helper function to check if the current stage is one that would create a trapdoor if We Need to
144
194
  * Go Deeper was used.
145
195
  */
146
- export declare function onStageWithShovelWorking(): boolean;
196
+ export declare function onStageWithShovelTrapdoors(): boolean;
197
+ /**
198
+ * Helper function to check if the current stage is one with a story boss. Specifically, this is
199
+ * Depths 2 (Mom), Womb 2 (Mom's Heart / It Lives), Blue Womb (Hush), Sheol (Satan), Cathedral
200
+ * (Isaac), Dark Room (Lamb), The Chest (Blue Baby), The Void (Delirium), and Home (Dogma / The
201
+ * Beast).
202
+ */
203
+ export declare function onStageWithStoryBoss(): boolean;
147
204
  /**
148
205
  * Helper function to warp to a new stage/level.
149
206
  *
@@ -152,9 +209,9 @@ export declare function onStageWithShovelWorking(): boolean;
152
209
  *
153
210
  * @param stage The stage number to warp to.
154
211
  * @param stageType The stage type to warp to.
155
- * @param reseed Optional. Whether or not to reseed the floor upon arrival. Default is false. Set
156
- * this to true if you are warping to the same stage but a different stage type (or
157
- * else the floor layout will be identical to the old floor).
212
+ * @param reseed Optional. Whether to reseed the floor upon arrival. Default is false. Set this to
213
+ * true if you are warping to the same stage but a different stage type (or else the
214
+ * floor layout will be identical to the old floor).
158
215
  */
159
216
  export declare function setStage(stage: LevelStage, stageType: StageType, reseed?: boolean): void;
160
217
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../../src/functions/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAEL,UAAU,EACV,QAAQ,EACR,SAAS,EACV,MAAM,8BAA8B,CAAC;AAUtC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CA6B/D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAmBzE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CAS9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,CAAC,EAAE,UAAU,EAClB,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,GAAG,EAChB,iCAAiC,UAAQ,GACxC,MAAM,CAOR;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,IAAI,UAAU,CAIrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAa7E;AAED,iDAAiD;AACjD,wBAAgB,YAAY,IAAI,SAAS,CAIxC;AAED,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAIvE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAI/D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED,wBAAgB,OAAO,IAAI,OAAO,CASjC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAQpC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,eAAe,EAAE,UAAU,EAAE,GAAG,OAAO,CAG1E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAUtC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAKtC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED,wBAAgB,OAAO,IAAI,OAAO,CAQjC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAIxD;AAED,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAI1D;AAED,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAI/D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAMrD;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAK1D;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAKzD;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAS1D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAStD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAQlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,UAAQ,GACb,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE9D"}
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../../src/functions/stage.ts"],"names":[],"mappings":"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"}
@@ -156,6 +156,59 @@ function ____exports.goToStage(self, stage, stageType)
156
156
  local command = ("stage " .. tostring(stage)) .. stageTypeLetterSuffix
157
157
  Isaac.ExecuteCommand(command)
158
158
  end
159
+ --- Returns whether the provided stage and stage type represent a "final floor". This is defined as a
160
+ -- floor that prevents the player from entering the I AM ERROR room on.
161
+ --
162
+ -- For example, when using Undefined on The Chest, it has a 50% chance of teleporting the player to
163
+ -- the Secret Room and a 50% chance of teleporting the player to the Super Secret Room, because the
164
+ -- I AM ERROR room is never entered into the list of possibilities.
165
+ function ____exports.isFinalFloor(self, stage, stageType)
166
+ return stage == LevelStage.DARK_ROOM_CHEST or stage == LevelStage.THE_VOID or stage == LevelStage.HOME or stage == LevelStage.WOMB_2 and ____exports.isRepentanceStage(nil, stageType)
167
+ end
168
+ --- Helper function to check if the provided effective stage is one that has the possibility to grant
169
+ -- a natural Devil Room or Angel Room after killing the boss.
170
+ --
171
+ -- Note that in order for this function to work properly, you must provide it with the effective
172
+ -- stage (e.g. from the `getEffectiveStage` helper function) and not the absolute stage (e.g. from
173
+ -- the `Level.GetStage` method).
174
+ function ____exports.isStageWithNaturalDevilRoom(self, effectiveStage)
175
+ return inRange(nil, effectiveStage, LevelStage.BASEMENT_2, LevelStage.WOMB_2) and effectiveStage ~= LevelStage.BLUE_WOMB
176
+ end
177
+ --- After defeating the boss on most stages, a random collectible will spawn from the Boss Room pool.
178
+ -- However, this does not happen on Depths 2, Womb 2, and beyond.
179
+ function ____exports.isStageWithRandomBossCollectible(self, stage)
180
+ return stage ~= LevelStage.DEPTHS_2 and stage < LevelStage.WOMB_2
181
+ end
182
+ --- Helper function to check if the provided stage will spawn a locked door to Downpour/Dross after
183
+ -- defeating the boss.
184
+ function ____exports.isStageWithSecretExitToDownpour(self, stage)
185
+ return stage == LevelStage.BASEMENT_1 or stage == LevelStage.BASEMENT_2
186
+ end
187
+ --- Helper function to check if the provided stage and stage type will spawn a spiked door to
188
+ -- Mausoleum/Gehenna after defeating the boss.
189
+ function ____exports.isStageWithSecretExitToMausoleum(self, stage, stageType)
190
+ local repentanceStage = ____exports.isRepentanceStage(nil, stageType)
191
+ return stage == LevelStage.DEPTHS_1 and not repentanceStage or stage == LevelStage.CAVES_2 and repentanceStage
192
+ end
193
+ --- Helper function to check if the provided stage and stage type will spawn a wooden door to
194
+ -- Mines/Ashpit after defeating the boss.
195
+ function ____exports.isStageWithSecretExitToMines(self, stage, stageType)
196
+ local repentanceStage = ____exports.isRepentanceStage(nil, stageType)
197
+ return stage == LevelStage.CAVES_1 and not repentanceStage or stage == LevelStage.BASEMENT_2 and repentanceStage
198
+ end
199
+ --- Helper function to check if the current stage is one that would create a trapdoor if We Need to
200
+ -- Go Deeper was used.
201
+ function ____exports.isStageWithShovelTrapdoors(self, stage, stageType)
202
+ local repentanceStage = ____exports.isRepentanceStage(nil, stageType)
203
+ return stage < LevelStage.WOMB_2 or stage == LevelStage.WOMB_2 and not repentanceStage
204
+ end
205
+ --- Helper function to check if the provided stage is one with a story boss. Specifically, this is
206
+ -- Depths 2 (Mom), Womb 2 (Mom's Heart / It Lives), Blue Womb (Hush), Sheol (Satan), Cathedral
207
+ -- (Isaac), Dark Room (Lamb), The Chest (Blue Baby), The Void (Delirium), and Home (Dogma / The
208
+ -- Beast).
209
+ function ____exports.isStageWithStoryBoss(self, stage)
210
+ return stage == LevelStage.DEPTHS_2 or stage >= LevelStage.WOMB_2
211
+ end
159
212
  --- Helper function to check if the player has taken Dad's Note. This sets the game state flag of
160
213
  -- `GameStateFlag.BACKWARDS_PATH` and causes floor generation to change.
161
214
  function ____exports.onAscent(self)
@@ -188,8 +241,8 @@ function ____exports.onEffectiveStage(self, ...)
188
241
  local thisEffectiveStage = ____exports.getEffectiveStage(nil)
189
242
  return __TS__ArrayIncludes(effectiveStages, thisEffectiveStage)
190
243
  end
191
- --- Returns whether or not the player is on the "final floor" of the particular run. The final floor
192
- -- is defined as one that prevents the player from entering the I AM ERROR room on.
244
+ --- Returns whether the player is on the "final floor" of the particular run. The final floor is
245
+ -- defined as one that prevents the player from entering the I AM ERROR room on.
193
246
  --
194
247
  -- For example, when using Undefined on The Chest, it has a 50% chance of teleporting the player to
195
248
  -- the Secret Room and a 50% chance of teleporting the player to the Super Secret Room, because the
@@ -197,9 +250,10 @@ end
197
250
  function ____exports.onFinalFloor(self)
198
251
  local level = game:GetLevel()
199
252
  local stage = level:GetStage()
200
- return stage == LevelStage.DARK_ROOM_CHEST or stage == LevelStage.THE_VOID or stage == LevelStage.HOME or stage == LevelStage.WOMB_2 and ____exports.onRepentanceStage(nil)
253
+ local stageType = level:GetStageType()
254
+ return ____exports.isFinalFloor(nil, stage, stageType)
201
255
  end
202
- --- Returns whether or not the player is on the first floor of the particular run.
256
+ --- Returns whether the player is on the first floor of the particular run.
203
257
  --
204
258
  -- This is tricky to determine because we have to handle the cases of Downpour/Dross 1 not being the
205
259
  -- first floor and The Ascent.
@@ -248,44 +302,54 @@ end
248
302
  -- Devil Room or Angel Room after killing the boss.
249
303
  function ____exports.onStageWithNaturalDevilRoom(self)
250
304
  local effectiveStage = ____exports.getEffectiveStage(nil)
251
- return inRange(nil, effectiveStage, LevelStage.BASEMENT_2, LevelStage.WOMB_2) and effectiveStage ~= LevelStage.BLUE_WOMB
305
+ return ____exports.isStageWithNaturalDevilRoom(nil, effectiveStage)
252
306
  end
253
307
  --- After defeating the boss on most stages, a random collectible will spawn from the Boss Room pool.
254
308
  -- However, this does not happen on Depths 2, Womb 2, and beyond.
255
309
  function ____exports.onStageWithRandomBossCollectible(self)
256
310
  local level = game:GetLevel()
257
311
  local stage = level:GetStage()
258
- return stage ~= LevelStage.DEPTHS_2 and stage < LevelStage.WOMB_2
312
+ return ____exports.isStageWithRandomBossCollectible(nil, stage)
259
313
  end
260
314
  --- Helper function to check if the current stage will spawn a locked door to Downpour/Dross after
261
315
  -- defeating the boss.
262
316
  function ____exports.onStageWithSecretExitToDownpour(self)
263
317
  local level = game:GetLevel()
264
318
  local stage = level:GetStage()
265
- return stage == LevelStage.BASEMENT_1 or stage == LevelStage.BASEMENT_2
319
+ return ____exports.isStageWithSecretExitToDownpour(nil, stage)
266
320
  end
267
321
  --- Helper function to check if the current stage will spawn a spiked door to Mausoleum/Gehenna after
268
322
  -- defeating the boss.
269
323
  function ____exports.onStageWithSecretExitToMausoleum(self)
270
324
  local level = game:GetLevel()
271
325
  local stage = level:GetStage()
272
- local repentanceStage = ____exports.onRepentanceStage(nil)
273
- return stage == LevelStage.DEPTHS_1 and not repentanceStage or stage == LevelStage.CAVES_2 and repentanceStage
326
+ local stageType = level:GetStageType()
327
+ return ____exports.isStageWithSecretExitToMausoleum(nil, stage, stageType)
274
328
  end
275
329
  --- Helper function to check if the current stage will spawn a wooden door to Mines/Ashpit after
276
330
  -- defeating the boss.
277
331
  function ____exports.onStageWithSecretExitToMines(self)
278
332
  local level = game:GetLevel()
279
333
  local stage = level:GetStage()
280
- local repentanceStage = ____exports.onRepentanceStage(nil)
281
- return stage == LevelStage.CAVES_1 and not repentanceStage or stage == LevelStage.BASEMENT_2 and repentanceStage
334
+ local stageType = level:GetStageType()
335
+ return ____exports.isStageWithSecretExitToMines(nil, stage, stageType)
282
336
  end
283
337
  --- Helper function to check if the current stage is one that would create a trapdoor if We Need to
284
338
  -- Go Deeper was used.
285
- function ____exports.onStageWithShovelWorking(self)
339
+ function ____exports.onStageWithShovelTrapdoors(self)
340
+ local level = game:GetLevel()
341
+ local stage = level:GetStage()
342
+ local stageType = level:GetStageType()
343
+ return ____exports.isStageWithShovelTrapdoors(nil, stage, stageType)
344
+ end
345
+ --- Helper function to check if the current stage is one with a story boss. Specifically, this is
346
+ -- Depths 2 (Mom), Womb 2 (Mom's Heart / It Lives), Blue Womb (Hush), Sheol (Satan), Cathedral
347
+ -- (Isaac), Dark Room (Lamb), The Chest (Blue Baby), The Void (Delirium), and Home (Dogma / The
348
+ -- Beast).
349
+ function ____exports.onStageWithStoryBoss(self)
286
350
  local level = game:GetLevel()
287
351
  local stage = level:GetStage()
288
- return stage < LevelStage.WOMB_2 or stage == LevelStage.WOMB_2 and not ____exports.onRepentanceStage(nil)
352
+ return ____exports.isStageWithStoryBoss(nil, stage)
289
353
  end
290
354
  --- Helper function to warp to a new stage/level.
291
355
  --
@@ -294,9 +358,9 @@ end
294
358
  --
295
359
  -- @param stage The stage number to warp to.
296
360
  -- @param stageType The stage type to warp to.
297
- -- @param reseed Optional. Whether or not to reseed the floor upon arrival. Default is false. Set
298
- -- this to true if you are warping to the same stage but a different stage type (or
299
- -- else the floor layout will be identical to the old floor).
361
+ -- @param reseed Optional. Whether to reseed the floor upon arrival. Default is false. Set this to
362
+ -- true if you are warping to the same stage but a different stage type (or else the
363
+ -- floor layout will be identical to the old floor).
300
364
  function ____exports.setStage(self, stage, stageType, reseed)
301
365
  if reseed == nil then
302
366
  reseed = false
@@ -79,7 +79,7 @@ export declare function getTrinketName(trinketType: TrinketType): string;
79
79
  */
80
80
  export declare function getVanillaTrinketTypeRange(): TrinketType[];
81
81
  /**
82
- * Returns whether or not the player can hold an additional trinket, beyond what they are currently
82
+ * Returns whether the player can hold an additional trinket, beyond what they are currently
83
83
  * carrying. This takes into account items that modify the max number of trinkets, like Mom's Purse.
84
84
  *
85
85
  * If the player is the Tainted Soul, this always returns false, since that character cannot pick up
@@ -161,7 +161,7 @@ end
161
161
  function ____exports.getVanillaTrinketTypeRange(self)
162
162
  return iRange(nil, FIRST_TRINKET_TYPE, LAST_VANILLA_TRINKET_TYPE)
163
163
  end
164
- --- Returns whether or not the player can hold an additional trinket, beyond what they are currently
164
+ --- Returns whether the player can hold an additional trinket, beyond what they are currently
165
165
  -- carrying. This takes into account items that modify the max number of trinkets, like Mom's Purse.
166
166
  --
167
167
  -- If the player is the Tainted Soul, this always returns false, since that character cannot pick up
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "31.7.2",
3
+ "version": "31.8.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -25,6 +25,6 @@
25
25
  "main": "dist/src/index",
26
26
  "types": "dist/index.rollup.d.ts",
27
27
  "dependencies": {
28
- "isaac-typescript-definitions": "^13.0.32"
28
+ "isaac-typescript-definitions": "^13.0.35"
29
29
  }
30
30
  }
@@ -82,7 +82,7 @@ export class ModFeature {
82
82
  *
83
83
  * ```ts
84
84
  * <T extends boolean>(
85
- * vanilla: T, // Whether or not this is a vanilla or custom callback.
85
+ * vanilla: T, // Whether this is a vanilla or custom callback.
86
86
  * modCallback: T extends true ? ModCallback : ModCallbackCustom,
87
87
  * ...callbackArgs: unknown[] // This would be e.g. `pickup: EntityPickup` for the `POST_PICKUP_INIT` callback.
88
88
  * ) => boolean;
@@ -97,7 +97,7 @@ export class ModFeature {
97
97
  | null = null;
98
98
 
99
99
  /**
100
- * Whether or not the feature has registered its callbacks yet.
100
+ * Whether the feature has registered its callbacks yet.
101
101
  *
102
102
  * This will almost always be equal to true unless you explicitly passed `false` to the second
103
103
  * argument of the constructor.
@@ -27,7 +27,7 @@ import { CustomCallback } from "../private/CustomCallback";
27
27
 
28
28
  const v = {
29
29
  run: {
30
- /** Needed to detect if Glass Cannon will kill the player or not. */
30
+ /** Needed to detect if Glass Cannon will kill the player. */
31
31
  playersLastDamageGameFrame: new Map<PlayerIndex, int>(),
32
32
  },
33
33
  };
@@ -26,8 +26,8 @@ const v = {
26
26
  /**
27
27
  * The vanilla `POST_USE_PILL` callback does not pass the `PillColor` of the used pill. We can
28
28
  * resolve pill effect to pill color by using the `ItemPool.GetPillEffect` method. However, this
29
- * does not tell us whether or not the pill used was a horse pill. Thus, we must keep track of the
30
- * pills that the player is holding on every frame to account for this.
29
+ * does not tell us whether the pill used was a horse pill. Thus, we must keep track of the pills
30
+ * that the player is holding on every frame to account for this.
31
31
  *
32
32
  * In some cases, pills can be used without a corresponding pocket item slot, like in the case of
33
33
  * the reverse Temperance card. In this case, we fall back to looking up the color using the
@@ -284,7 +284,7 @@ export class CustomGridEntities extends Feature {
284
284
  * @param gridIndexOrPositionOrGridEntity You can specify the custom grid entity to remove by
285
285
  * providing the grid index, the room position, or the grid entity
286
286
  * itself.
287
- * @param updateRoom Optional. Whether or not to update the room after the grid entity is removed.
287
+ * @param updateRoom Optional. Whether to update the room after the grid entity is removed.
288
288
  * Default is true. This is generally a good idea because if the room is not
289
289
  * updated, you will be unable to spawn another grid entity on the same tile
290
290
  * until a frame has passed. However, doing this is expensive, since it involves
@@ -102,7 +102,7 @@ export class CustomItemPools extends Feature {
102
102
  * In order to use this function, you must upgrade your mod with `ISCFeature.CUSTOM_ITEM_POOLS`.
103
103
  *
104
104
  * @param itemPoolTypeCustom An integer representing the custom item pool to use.
105
- * @param decrease Optional. Whether or not to remove the selected collectible from the item pool.
105
+ * @param decrease Optional. Whether to remove the selected collectible from the item pool.
106
106
  * Default is true.
107
107
  * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided,
108
108
  * the `RNG.Next` method will be called. Default is `getRandomSeed()`.
@@ -732,8 +732,8 @@ export class CustomTrapdoors extends Feature {
732
732
  * @param anm2Path Optional. The path to the anm2 file to use. By default, the vanilla trapdoor
733
733
  * anm2 of "gfx/grid/door_11_trapdoor.anm2" will be used. The specified anm2 file
734
734
  * must have animations called "Opened", "Closed", and "Open Animation".
735
- * @param spawnOpen Optional. Whether or not to spawn the trapdoor in an open state. By default,
736
- * behavior will be used that emulates a vanilla trapdoor.
735
+ * @param spawnOpen Optional. Whether to spawn the trapdoor in an open state. By default, behavior
736
+ * will be used that emulates a vanilla trapdoor.
737
737
  */
738
738
  @Exported
739
739
  public spawnCustomTrapdoor(