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.
- package/dist/index.rollup.d.ts +215 -153
- package/dist/isaacscript-common.lua +144 -14
- package/dist/lualib_bundle.lua +99 -3
- package/dist/src/classes/ModFeature.d.ts +2 -2
- package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +1 -1
- package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostUsePillFilter.d.ts +2 -2
- package/dist/src/classes/callbacks/PostUsePillFilter.lua +2 -2
- package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
- package/dist/src/classes/features/other/CustomItemPools.d.ts +1 -1
- package/dist/src/classes/features/other/CustomTrapdoors.d.ts +2 -2
- package/dist/src/classes/features/other/DebugDisplay.d.ts +18 -18
- package/dist/src/classes/features/other/ModdedElementSets.d.ts +2 -2
- package/dist/src/classes/features/other/RunInNFrames.d.ts +14 -14
- package/dist/src/classes/features/other/SaveDataManager.d.ts +2 -2
- package/dist/src/classes/features/other/SpawnRockAltRewards.d.ts +1 -1
- package/dist/src/classes/features/other/StageHistory.d.ts +2 -2
- package/dist/src/classes/features/other/extraConsoleCommands/commands.d.ts +1 -1
- package/dist/src/classes/features/other/extraConsoleCommands/commands.d.ts.map +1 -1
- package/dist/src/classes/features/other/extraConsoleCommands/commands.lua +1 -1
- package/dist/src/functions/array.d.ts +4 -4
- package/dist/src/functions/array.lua +4 -4
- package/dist/src/functions/cards.d.ts +1 -1
- package/dist/src/functions/cards.d.ts.map +1 -1
- package/dist/src/functions/cards.lua +1 -1
- package/dist/src/functions/charge.d.ts +1 -1
- package/dist/src/functions/charge.lua +1 -1
- package/dist/src/functions/collectibles.d.ts +3 -3
- package/dist/src/functions/collectibles.lua +3 -3
- package/dist/src/functions/debugFunctions.d.ts +2 -2
- package/dist/src/functions/debugFunctions.lua +2 -2
- package/dist/src/functions/deepCopy.d.ts +2 -2
- package/dist/src/functions/deepCopy.lua +2 -2
- package/dist/src/functions/globals.d.ts +1 -1
- package/dist/src/functions/globals.lua +1 -1
- package/dist/src/functions/gridEntities.d.ts +6 -6
- package/dist/src/functions/gridEntities.lua +6 -6
- package/dist/src/functions/gridEntitiesSpecific.d.ts +22 -22
- package/dist/src/functions/gridEntitiesSpecific.lua +22 -22
- package/dist/src/functions/input.d.ts +4 -4
- package/dist/src/functions/input.lua +4 -4
- package/dist/src/functions/logEntities.d.ts +1 -1
- package/dist/src/functions/logEntities.lua +1 -1
- package/dist/src/functions/minimap.d.ts +17 -20
- package/dist/src/functions/minimap.d.ts.map +1 -1
- package/dist/src/functions/minimap.lua +17 -20
- package/dist/src/functions/nextStage.d.ts +2 -2
- package/dist/src/functions/nextStage.lua +2 -2
- package/dist/src/functions/pills.d.ts +2 -2
- package/dist/src/functions/pills.lua +2 -2
- package/dist/src/functions/playerHealth.d.ts +4 -4
- package/dist/src/functions/playerHealth.lua +4 -4
- package/dist/src/functions/playerIndex.d.ts +2 -3
- package/dist/src/functions/playerIndex.d.ts.map +1 -1
- package/dist/src/functions/playerIndex.lua +2 -3
- package/dist/src/functions/players.d.ts +5 -5
- package/dist/src/functions/players.lua +5 -5
- package/dist/src/functions/pocketItems.d.ts +5 -5
- package/dist/src/functions/pocketItems.lua +5 -5
- package/dist/src/functions/revive.d.ts +3 -3
- package/dist/src/functions/revive.lua +3 -3
- package/dist/src/functions/rooms.d.ts +7 -7
- package/dist/src/functions/rooms.lua +7 -7
- package/dist/src/functions/run.d.ts +1 -1
- package/dist/src/functions/run.lua +1 -1
- package/dist/src/functions/set.d.ts +1 -1
- package/dist/src/functions/set.lua +1 -1
- package/dist/src/functions/stage.d.ts +64 -7
- package/dist/src/functions/stage.d.ts.map +1 -1
- package/dist/src/functions/stage.lua +80 -16
- package/dist/src/functions/trinkets.d.ts +1 -1
- package/dist/src/functions/trinkets.lua +1 -1
- package/package.json +2 -2
- package/src/classes/ModFeature.ts +2 -2
- package/src/classes/callbacks/PostPlayerFatalDamage.ts +1 -1
- package/src/classes/callbacks/PostUsePillFilter.ts +2 -2
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
- package/src/classes/features/other/CustomItemPools.ts +1 -1
- package/src/classes/features/other/CustomTrapdoors.ts +2 -2
- package/src/classes/features/other/DebugDisplay.ts +18 -18
- package/src/classes/features/other/DisableInputs.ts +2 -2
- package/src/classes/features/other/ModdedElementSets.ts +2 -2
- package/src/classes/features/other/RunInNFrames.ts +15 -15
- package/src/classes/features/other/SaveDataManager.ts +2 -2
- package/src/classes/features/other/SpawnRockAltRewards.ts +1 -1
- package/src/classes/features/other/StageHistory.ts +2 -2
- package/src/classes/features/other/extraConsoleCommands/commands.ts +1 -1
- package/src/functions/array.ts +4 -4
- package/src/functions/cards.ts +1 -1
- package/src/functions/charge.ts +1 -1
- package/src/functions/collectibles.ts +3 -3
- package/src/functions/debugFunctions.ts +2 -2
- package/src/functions/deepCopy.ts +3 -3
- package/src/functions/globals.ts +1 -1
- package/src/functions/gridEntities.ts +6 -6
- package/src/functions/gridEntitiesSpecific.ts +22 -22
- package/src/functions/input.ts +4 -4
- package/src/functions/logEntities.ts +1 -1
- package/src/functions/minimap.ts +17 -20
- package/src/functions/nextStage.ts +2 -2
- package/src/functions/pills.ts +2 -2
- package/src/functions/playerHealth.ts +4 -4
- package/src/functions/playerIndex.ts +2 -3
- package/src/functions/players.ts +5 -5
- package/src/functions/pocketItems.ts +5 -5
- package/src/functions/revive.ts +3 -3
- package/src/functions/rooms.ts +7 -7
- package/src/functions/run.ts +1 -1
- package/src/functions/set.ts +1 -1
- package/src/functions/stage.ts +139 -33
- 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
|
|
97
|
-
--
|
|
98
|
-
--
|
|
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
|
|
113
|
-
--
|
|
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
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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
|
|
100
|
-
--
|
|
101
|
-
--
|
|
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
|
|
192
|
-
*
|
|
193
|
-
*
|
|
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
|
|
209
|
-
*
|
|
210
|
-
* @param includeUltraSecretRoom Optional. Whether
|
|
211
|
-
*
|
|
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
|
|
469
|
-
--
|
|
470
|
-
--
|
|
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
|
|
485
|
-
--
|
|
486
|
-
-- @param includeUltraSecretRoom Optional. Whether
|
|
487
|
-
--
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
81
|
-
*
|
|
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
|
|
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
|
|
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
|
|
156
|
-
*
|
|
157
|
-
*
|
|
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,
|
|
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
|
|
192
|
-
--
|
|
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
|
-
|
|
253
|
+
local stageType = level:GetStageType()
|
|
254
|
+
return ____exports.isFinalFloor(nil, stage, stageType)
|
|
201
255
|
end
|
|
202
|
-
--- Returns whether
|
|
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
|
|
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
|
|
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
|
|
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
|
|
273
|
-
return
|
|
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
|
|
281
|
-
return
|
|
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.
|
|
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
|
|
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
|
|
298
|
-
--
|
|
299
|
-
--
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
30
|
-
*
|
|
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
|
|
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
|
|
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
|
|
736
|
-
*
|
|
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(
|