isaacscript-common 87.5.0 → 87.6.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/README.md +1 -1
- package/dist/callbackClasses.d.ts +7 -6
- package/dist/callbackClasses.d.ts.map +1 -1
- package/dist/callbackClasses.js +17 -15
- package/dist/callbackClasses.lua +163 -300
- package/dist/callbacks.d.ts +118 -117
- package/dist/callbacks.d.ts.map +1 -1
- package/dist/callbacks.js +19 -9
- package/dist/callbacks.lua +1 -0
- package/dist/classes/DefaultMap.d.ts +5 -1
- package/dist/classes/DefaultMap.d.ts.map +1 -1
- package/dist/classes/ModFeature.js +3 -3
- package/dist/classes/ModUpgraded.d.ts.map +1 -1
- package/dist/classes/ModUpgraded.js +4 -6
- package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
- package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionFilter.js +3 -3
- package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
- package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionPlayer.js +6 -6
- package/dist/classes/callbacks/PostBoneSwing.js +2 -2
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCollectibleEmpty.js +3 -5
- package/dist/classes/callbacks/PostCursedTeleport.js +5 -5
- package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -4
- package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -3
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDiceRoomActivated.js +2 -2
- package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts +9 -0
- package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts.map +1 -0
- package/dist/classes/callbacks/PostEntityRemoveFilter.js +21 -0
- package/dist/classes/callbacks/PostEntityRemoveFilter.lua +23 -0
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCollision.js +10 -10
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomCollision.js +8 -8
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRemove.js +2 -2
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityRemove.js +3 -3
- package/dist/classes/callbacks/PostItemDischarge.d.ts +2 -2
- package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemDischarge.js +5 -8
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKeyboardChanged.js +2 -2
- package/dist/classes/callbacks/PostNewRoomEarly.js +3 -3
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -3
- package/dist/classes/callbacks/PostPlayerChangeHealth.js +2 -2
- package/dist/classes/callbacks/PostPlayerChangeType.js +1 -1
- package/dist/classes/callbacks/PostPurchase.d.ts +2 -4
- package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPurchase.js +9 -9
- package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
- package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTransformation.js +1 -3
- package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTrinketBreak.js +1 -3
- package/dist/classes/callbacks/PostUsePillFilter.js +2 -2
- package/dist/classes/callbacks/PreBerserkDeath.js +4 -4
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreEntitySpawnFilter.js +3 -3
- package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +5 -5
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/EsauJrDetection.js +2 -2
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +9 -11
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +4 -4
- package/dist/classes/features/callbackLogic/ItemPickupDetection.js +4 -4
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +2 -2
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +0 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +4 -4
- package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
- package/dist/classes/features/other/CustomPickups.js +1 -0
- package/dist/classes/features/other/CustomStages.js +19 -9
- package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
- package/dist/classes/features/other/CustomTrapdoors.js +44 -38
- package/dist/classes/features/other/CustomTrapdoors.lua +14 -7
- package/dist/classes/features/other/DebugDisplay.d.ts +0 -18
- package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -2
- package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.js +6 -4
- package/dist/classes/features/other/DisableInputs.js +3 -3
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +1 -1
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts +14 -10
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.js +31 -17
- package/dist/classes/features/other/ExtraConsoleCommands.lua +2 -1
- package/dist/classes/features/other/FlyingDetection.d.ts +0 -1
- package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
- package/dist/classes/features/other/ForgottenSwitch.d.ts +0 -1
- package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementDetection.js +4 -4
- package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
- package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementSets.js +3 -3
- package/dist/classes/features/other/NoSirenSteal.js +4 -4
- package/dist/classes/features/other/PickupIndexCreation.d.ts +0 -1
- package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
- package/dist/classes/features/other/PickupIndexCreation.js +7 -8
- package/dist/classes/features/other/PickupIndexCreation.lua +10 -10
- package/dist/classes/features/other/PonyDetection.d.ts +0 -1
- package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
- package/dist/classes/features/other/PonyDetection.js +2 -2
- package/dist/classes/features/other/PressInput.js +2 -2
- package/dist/classes/features/other/PreventChildEntities.d.ts +0 -1
- package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
- package/dist/classes/features/other/PreventChildEntities.js +4 -4
- package/dist/classes/features/other/RoomClearFrame.d.ts +0 -1
- package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
- package/dist/classes/features/other/RoomHistory.d.ts +0 -1
- package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
- package/dist/classes/features/other/RoomHistory.js +5 -5
- package/dist/classes/features/other/RunInNFrames.js +2 -2
- package/dist/classes/features/other/SaveDataManager.js +3 -3
- package/dist/classes/features/other/SpawnRockAltRewards.d.ts +0 -4
- package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
- package/dist/classes/features/other/StageHistory.js +2 -2
- package/dist/classes/features/other/StartAmbush.js +2 -2
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +0 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.js +2 -2
- package/dist/classes/features/other/customStages/backdrop.js +2 -3
- package/dist/classes/features/other/customStages/constants.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.d.ts +0 -1
- package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.js +9 -10
- package/dist/classes/features/other/customStages/shadows.js +1 -2
- package/dist/classes/features/other/customStages/streakText.js +7 -8
- package/dist/classes/features/other/customStages/utils.d.ts +0 -2
- package/dist/classes/features/other/customStages/utils.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/utils.js +2 -3
- package/dist/classes/features/other/customStages/v.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/versusScreen.js +2 -3
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/utils.d.ts +0 -2
- package/dist/classes/features/other/debugDisplay/utils.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/utils.js +2 -3
- package/dist/classes/features/other/extraConsoleCommands/commands.js +155 -158
- package/dist/classes/features/other/extraConsoleCommands/subroutines.js +8 -9
- package/dist/classes/features/other/saveDataManager/constants.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts +0 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +4 -5
- package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts +0 -2
- package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/loadFromDisk.js +5 -2
- package/dist/classes/features/other/saveDataManager/loadFromDisk.lua +3 -0
- package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts +0 -1
- package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/restoreDefaults.js +3 -4
- package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts +0 -2
- package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/saveToDisk.js +1 -2
- package/dist/classes/private/CustomCallback.d.ts.map +1 -1
- package/dist/core/cachedClasses.d.ts +0 -5
- package/dist/core/cachedClasses.d.ts.map +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/constantsVanilla.js +4 -4
- package/dist/core/upgradeMod.d.ts +0 -2
- package/dist/core/upgradeMod.d.ts.map +1 -1
- package/dist/core/upgradeMod.js +1 -2
- package/dist/decorators.js +2 -2
- package/dist/enums/ModCallbackCustom.d.ts +134 -117
- package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
- package/dist/enums/ModCallbackCustom.js +134 -117
- package/dist/enums/ModCallbackCustom.lua +119 -117
- package/dist/enums/private/GridEntityTypeCustom.d.ts.map +1 -1
- package/dist/features.js +1 -2
- package/dist/functions/ambush.js +1 -2
- package/dist/functions/array.d.ts +5 -8
- package/dist/functions/array.d.ts.map +1 -1
- package/dist/functions/array.js +55 -55
- package/dist/functions/array.lua +2 -2
- package/dist/functions/arrayLua.d.ts +1 -1
- package/dist/functions/arrayLua.d.ts.map +1 -1
- package/dist/functions/arrayLua.js +7 -8
- package/dist/functions/benchmark.d.ts +0 -1
- package/dist/functions/benchmark.d.ts.map +1 -1
- package/dist/functions/benchmark.js +1 -2
- package/dist/functions/bitSet128.d.ts +0 -1
- package/dist/functions/bitSet128.d.ts.map +1 -1
- package/dist/functions/bitSet128.js +5 -6
- package/dist/functions/bitwise.d.ts +0 -4
- package/dist/functions/bitwise.d.ts.map +1 -1
- package/dist/functions/bitwise.js +7 -8
- package/dist/functions/bitwise.lua +3 -3
- package/dist/functions/bombs.d.ts +0 -1
- package/dist/functions/bombs.d.ts.map +1 -1
- package/dist/functions/bombs.js +1 -2
- package/dist/functions/bosses.d.ts.map +1 -1
- package/dist/functions/bosses.js +19 -19
- package/dist/functions/cards.js +16 -17
- package/dist/functions/challenges.js +9 -10
- package/dist/functions/characters.js +17 -18
- package/dist/functions/charge.d.ts.map +1 -1
- package/dist/functions/charge.js +12 -13
- package/dist/functions/charge.lua +1 -1
- package/dist/functions/chargeBar.d.ts +0 -2
- package/dist/functions/chargeBar.d.ts.map +1 -1
- package/dist/functions/chargeBar.js +2 -3
- package/dist/functions/collectibleTag.js +2 -3
- package/dist/functions/collectibles.js +39 -40
- package/dist/functions/color.d.ts +0 -1
- package/dist/functions/color.d.ts.map +1 -1
- package/dist/functions/color.js +7 -8
- package/dist/functions/console.js +2 -3
- package/dist/functions/curses.js +2 -3
- package/dist/functions/debugFunctions.d.ts +0 -1
- package/dist/functions/debugFunctions.d.ts.map +1 -1
- package/dist/functions/debugFunctions.js +5 -6
- package/dist/functions/decorators.d.ts +4 -4
- package/dist/functions/decorators.d.ts.map +1 -1
- package/dist/functions/decorators.js +4 -5
- package/dist/functions/deepCopy.d.ts +0 -1
- package/dist/functions/deepCopy.d.ts.map +1 -1
- package/dist/functions/deepCopy.js +7 -10
- package/dist/functions/deepCopy.lua +0 -2
- package/dist/functions/deepCopyTests.js +5 -6
- package/dist/functions/dimensions.js +2 -3
- package/dist/functions/direction.js +6 -7
- package/dist/functions/doors.d.ts.map +1 -1
- package/dist/functions/doors.js +56 -52
- package/dist/functions/easing.js +32 -33
- package/dist/functions/effects.d.ts +0 -2
- package/dist/functions/effects.d.ts.map +1 -1
- package/dist/functions/effects.js +2 -2
- package/dist/functions/emptyRoom.js +7 -8
- package/dist/functions/entities.d.ts +0 -1
- package/dist/functions/entities.d.ts.map +1 -1
- package/dist/functions/entities.js +36 -38
- package/dist/functions/entitiesSpecific.js +40 -41
- package/dist/functions/entityTypes.d.ts +0 -1
- package/dist/functions/entityTypes.d.ts.map +1 -1
- package/dist/functions/entityTypes.js +1 -2
- package/dist/functions/enums.d.ts +1 -6
- package/dist/functions/enums.d.ts.map +1 -1
- package/dist/functions/enums.js +12 -13
- package/dist/functions/external.js +2 -3
- package/dist/functions/familiars.js +8 -9
- package/dist/functions/flag.d.ts +1 -1
- package/dist/functions/flag.d.ts.map +1 -1
- package/dist/functions/flag.js +9 -10
- package/dist/functions/frames.d.ts +0 -1
- package/dist/functions/frames.d.ts.map +1 -1
- package/dist/functions/frames.js +18 -19
- package/dist/functions/globals.d.ts +0 -1
- package/dist/functions/globals.d.ts.map +1 -1
- package/dist/functions/globals.js +23 -15
- package/dist/functions/gridEntities.d.ts.map +1 -1
- package/dist/functions/gridEntities.js +68 -62
- package/dist/functions/gridEntitiesSpecific.js +40 -41
- package/dist/functions/gridIndex.js +1 -2
- package/dist/functions/hash.js +1 -2
- package/dist/functions/hex.d.ts +0 -2
- package/dist/functions/hex.d.ts.map +1 -1
- package/dist/functions/hex.js +2 -3
- package/dist/functions/input.js +21 -21
- package/dist/functions/isaacAPIClass.d.ts +0 -20
- package/dist/functions/isaacAPIClass.d.ts.map +1 -1
- package/dist/functions/isaacAPIClass.js +25 -26
- package/dist/functions/itemPool.js +7 -8
- package/dist/functions/jsonHelpers.d.ts +4 -5
- package/dist/functions/jsonHelpers.d.ts.map +1 -1
- package/dist/functions/jsonHelpers.js +23 -14
- package/dist/functions/jsonHelpers.lua +4 -4
- package/dist/functions/jsonRoom.js +5 -6
- package/dist/functions/kColor.d.ts +0 -1
- package/dist/functions/kColor.d.ts.map +1 -1
- package/dist/functions/kColor.js +7 -8
- package/dist/functions/language.js +1 -2
- package/dist/functions/level.js +7 -8
- package/dist/functions/levelGrid.d.ts.map +1 -1
- package/dist/functions/levelGrid.js +33 -38
- package/dist/functions/log.js +4 -5
- package/dist/functions/logEntities.d.ts.map +1 -1
- package/dist/functions/logEntities.js +19 -17
- package/dist/functions/logMisc.d.ts +1 -2
- package/dist/functions/logMisc.d.ts.map +1 -1
- package/dist/functions/logMisc.js +35 -48
- package/dist/functions/logMisc.lua +3 -3
- package/dist/functions/map.d.ts +0 -2
- package/dist/functions/map.d.ts.map +1 -1
- package/dist/functions/map.js +12 -13
- package/dist/functions/math.js +17 -18
- package/dist/functions/merge.d.ts +0 -1
- package/dist/functions/merge.d.ts.map +1 -1
- package/dist/functions/merge.js +2 -3
- package/dist/functions/mergeTests.js +1 -2
- package/dist/functions/minimap.d.ts.map +1 -1
- package/dist/functions/minimap.js +12 -17
- package/dist/functions/modFeatures.js +1 -2
- package/dist/functions/newArray.d.ts +0 -1
- package/dist/functions/newArray.d.ts.map +1 -1
- package/dist/functions/newArray.js +2 -3
- package/dist/functions/nextStage.d.ts.map +1 -1
- package/dist/functions/nextStage.js +16 -13
- package/dist/functions/npcDataStructures.d.ts +0 -2
- package/dist/functions/npcDataStructures.d.ts.map +1 -1
- package/dist/functions/npcDataStructures.js +14 -15
- package/dist/functions/npcs.d.ts.map +1 -1
- package/dist/functions/npcs.js +19 -17
- package/dist/functions/pickupVariants.d.ts +0 -1
- package/dist/functions/pickupVariants.d.ts.map +1 -1
- package/dist/functions/pickupVariants.js +17 -18
- package/dist/functions/pickups.js +14 -15
- package/dist/functions/pickupsSpecific.js +40 -41
- package/dist/functions/pills.js +18 -19
- package/dist/functions/playerCenter.d.ts +0 -1
- package/dist/functions/playerCenter.d.ts.map +1 -1
- package/dist/functions/playerCenter.js +1 -2
- package/dist/functions/playerCollectibles.d.ts.map +1 -1
- package/dist/functions/playerCollectibles.js +21 -24
- package/dist/functions/playerCollectibles.lua +9 -9
- package/dist/functions/playerDataStructures.d.ts +0 -1
- package/dist/functions/playerDataStructures.d.ts.map +1 -1
- package/dist/functions/playerDataStructures.js +14 -15
- package/dist/functions/playerEffects.js +5 -6
- package/dist/functions/playerHealth.d.ts +0 -2
- package/dist/functions/playerHealth.d.ts.map +1 -1
- package/dist/functions/playerHealth.js +28 -29
- package/dist/functions/playerHealth.lua +26 -26
- package/dist/functions/playerIndex.d.ts +0 -3
- package/dist/functions/playerIndex.d.ts.map +1 -1
- package/dist/functions/playerIndex.js +12 -13
- package/dist/functions/playerTrinkets.js +10 -11
- package/dist/functions/players.js +41 -42
- package/dist/functions/pocketItems.js +10 -11
- package/dist/functions/positionVelocity.d.ts +0 -4
- package/dist/functions/positionVelocity.d.ts.map +1 -1
- package/dist/functions/positionVelocity.js +11 -20
- package/dist/functions/positionVelocity.lua +4 -4
- package/dist/functions/pressurePlate.js +1 -2
- package/dist/functions/projectiles.js +2 -3
- package/dist/functions/random.d.ts +0 -3
- package/dist/functions/random.d.ts.map +1 -1
- package/dist/functions/random.js +3 -4
- package/dist/functions/readOnly.d.ts +0 -4
- package/dist/functions/readOnly.d.ts.map +1 -1
- package/dist/functions/readOnly.js +3 -4
- package/dist/functions/render.d.ts +0 -3
- package/dist/functions/render.d.ts.map +1 -1
- package/dist/functions/render.js +3 -4
- package/dist/functions/revive.d.ts +0 -3
- package/dist/functions/revive.d.ts.map +1 -1
- package/dist/functions/revive.js +20 -21
- package/dist/functions/rng.d.ts +0 -1
- package/dist/functions/rng.d.ts.map +1 -1
- package/dist/functions/rng.js +15 -15
- package/dist/functions/rockAlt.d.ts +0 -1
- package/dist/functions/rockAlt.d.ts.map +1 -1
- package/dist/functions/rockAlt.js +2 -3
- package/dist/functions/roomData.d.ts.map +1 -1
- package/dist/functions/roomData.js +15 -18
- package/dist/functions/roomGrid.js +8 -9
- package/dist/functions/roomShape.js +14 -15
- package/dist/functions/roomShapeWalls.js +2 -3
- package/dist/functions/roomTransition.js +2 -3
- package/dist/functions/rooms.d.ts +1 -2
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.js +116 -105
- package/dist/functions/rooms.lua +3 -4
- package/dist/functions/run.js +8 -9
- package/dist/functions/seeds.d.ts +0 -1
- package/dist/functions/seeds.d.ts.map +1 -1
- package/dist/functions/seeds.js +2 -3
- package/dist/functions/serialization.js +5 -6
- package/dist/functions/set.d.ts +0 -2
- package/dist/functions/set.d.ts.map +1 -1
- package/dist/functions/set.js +22 -23
- package/dist/functions/slots.js +2 -3
- package/dist/functions/sort.d.ts.map +1 -1
- package/dist/functions/sort.js +8 -9
- package/dist/functions/sound.d.ts.map +1 -1
- package/dist/functions/sound.js +4 -9
- package/dist/functions/spawnCollectible.d.ts.map +1 -1
- package/dist/functions/spawnCollectible.js +7 -10
- package/dist/functions/sprites.d.ts +0 -3
- package/dist/functions/sprites.d.ts.map +1 -1
- package/dist/functions/sprites.js +6 -7
- package/dist/functions/stage.d.ts.map +1 -1
- package/dist/functions/stage.js +60 -69
- package/dist/functions/stage.lua +5 -5
- package/dist/functions/stats.js +4 -5
- package/dist/functions/storyBosses.js +2 -3
- package/dist/functions/string.d.ts +0 -1
- package/dist/functions/string.d.ts.map +1 -1
- package/dist/functions/string.js +18 -19
- package/dist/functions/table.d.ts +0 -1
- package/dist/functions/table.d.ts.map +1 -1
- package/dist/functions/table.js +8 -9
- package/dist/functions/tears.js +8 -9
- package/dist/functions/transformations.js +5 -6
- package/dist/functions/trinketGive.js +9 -10
- package/dist/functions/trinkets.d.ts.map +1 -1
- package/dist/functions/trinkets.js +14 -17
- package/dist/functions/tstlClass.d.ts +2 -3
- package/dist/functions/tstlClass.d.ts.map +1 -1
- package/dist/functions/tstlClass.js +9 -10
- package/dist/functions/tstlClass.lua +2 -2
- package/dist/functions/types.d.ts +15 -17
- package/dist/functions/types.d.ts.map +1 -1
- package/dist/functions/types.js +41 -42
- package/dist/functions/types.lua +14 -14
- package/dist/functions/ui.d.ts +0 -3
- package/dist/functions/ui.d.ts.map +1 -1
- package/dist/functions/ui.js +13 -14
- package/dist/functions/utils.d.ts +0 -1
- package/dist/functions/utils.d.ts.map +1 -1
- package/dist/functions/utils.js +11 -12
- package/dist/functions/vector.d.ts +0 -1
- package/dist/functions/vector.d.ts.map +1 -1
- package/dist/functions/vector.js +11 -12
- package/dist/functions/versusScreen.js +4 -5
- package/dist/functions/weighted.d.ts +0 -3
- package/dist/functions/weighted.d.ts.map +1 -1
- package/dist/functions/weighted.js +2 -3
- package/dist/index.d.ts +58 -58
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -58
- package/dist/index.lua +18 -18
- package/dist/index.rollup.d.ts +222 -181
- package/dist/indexLua.d.ts +58 -58
- package/dist/indexLua.d.ts.map +1 -1
- package/dist/indexLua.js +4 -58
- package/dist/indexLua.lua +18 -18
- package/dist/interfaces/ChargeBarSprites.d.ts +0 -2
- package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
- package/dist/interfaces/Corner.d.ts +0 -2
- package/dist/interfaces/Corner.d.ts.map +1 -1
- package/dist/interfaces/SaveData.d.ts +0 -1
- package/dist/interfaces/SaveData.d.ts.map +1 -1
- package/dist/interfaces/TSTLClassMetatable.d.ts +0 -4
- package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +6 -0
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
- package/dist/interfaces/private/ModUpgradedInterface.d.ts +0 -1
- package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
- package/dist/isaacscript-common.lua +786 -871
- package/dist/lib/jsonLua.js +34 -34
- package/dist/lualib_bundle.lua +49 -38
- package/dist/objects/LRoomShapeToRectangles.js +1 -1
- package/dist/objects/colors.d.ts +0 -1
- package/dist/objects/colors.d.ts.map +1 -1
- package/dist/objects/directionToVector.d.ts +0 -1
- package/dist/objects/directionToVector.d.ts.map +1 -1
- package/dist/objects/doorSlotFlagToDoorSlot.d.ts +9 -2
- package/dist/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
- package/dist/objects/doorSlotToDoorSlotFlag.d.ts +0 -1
- package/dist/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
- package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +17 -7
- package/dist/objects/kColors.d.ts +0 -1
- package/dist/objects/kColors.d.ts.map +1 -1
- package/dist/objects/roomShapeToBottomRightPosition.d.ts +0 -1
- package/dist/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
- package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +1 -1
- package/dist/objects/roomShapeToTopLeftPosition.d.ts +0 -1
- package/dist/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
- package/dist/objects/versusScreenBackgroundColors.d.ts +0 -1
- package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
- package/dist/objects/versusScreenDirtSpotColors.d.ts +0 -1
- package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
- package/dist/patchErrorFunctions.js +1 -2
- package/dist/serialization.js +1 -2
- package/dist/shaderCrashFix.d.ts +0 -1
- package/dist/shaderCrashFix.d.ts.map +1 -1
- package/dist/shaderCrashFix.js +1 -2
- package/dist/shouldFire.d.ts.map +1 -1
- package/dist/shouldFire.js +83 -86
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/AddSubtract.d.ts +10 -2
- package/dist/types/AddSubtract.d.ts.map +1 -1
- package/dist/types/AnyEntity.d.ts +0 -11
- package/dist/types/AnyEntity.d.ts.map +1 -1
- package/dist/types/AnyGridEntity.d.ts +0 -8
- package/dist/types/AnyGridEntity.d.ts.map +1 -1
- package/dist/types/Increment.d.ts.map +1 -1
- package/dist/types/PickingUpItem.d.ts +10 -3
- package/dist/types/PickingUpItem.d.ts.map +1 -1
- package/dist/types/PickingUpItem.js +15 -9
- package/dist/types/PickingUpItem.lua +8 -3
- package/dist/types/PickupIndex.d.ts +0 -1
- package/dist/types/PickupIndex.d.ts.map +1 -1
- package/dist/types/PlayerIndex.d.ts +0 -1
- package/dist/types/PlayerIndex.d.ts.map +1 -1
- package/dist/types/ReadonlyMap.d.ts.map +1 -1
- package/dist/types/ReadonlySet.d.ts.map +1 -1
- package/dist/types/TSTLClass.d.ts +0 -1
- package/dist/types/TSTLClass.d.ts.map +1 -1
- package/dist/types/TupleWithLengthBetween.js +2 -2
- package/dist/types/TupleWithMaxLength.js +2 -2
- package/dist/types/WeightedArray.d.ts +0 -1
- package/dist/types/WeightedArray.d.ts.map +1 -1
- package/package.json +9 -2
- package/src/callbackClasses.ts +7 -6
- package/src/callbacks.ts +1 -0
- package/src/classes/DefaultMap.ts +5 -2
- package/src/classes/ModFeature.ts +3 -3
- package/src/classes/ModUpgraded.ts +4 -6
- package/src/classes/callbacks/InputActionFilter.ts +3 -3
- package/src/classes/callbacks/InputActionPlayer.ts +6 -6
- package/src/classes/callbacks/PostBoneSwing.ts +2 -2
- package/src/classes/callbacks/PostCollectibleEmpty.ts +3 -5
- package/src/classes/callbacks/PostCursedTeleport.ts +5 -5
- package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -2
- package/src/classes/callbacks/PostEntityRemoveFilter.ts +22 -0
- package/src/classes/callbacks/PostGridEntityCollision.ts +10 -10
- package/src/classes/callbacks/PostGridEntityCustomCollision.ts +8 -8
- package/src/classes/callbacks/PostGridEntityCustomRemove.ts +2 -2
- package/src/classes/callbacks/PostGridEntityRemove.ts +3 -3
- package/src/classes/callbacks/PostItemDischarge.ts +5 -8
- package/src/classes/callbacks/PostKeyboardChanged.ts +2 -2
- package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
- package/src/classes/callbacks/PostNewRoomEarly.ts +3 -3
- package/src/classes/callbacks/PostPickupSelectionFilter.ts +4 -3
- package/src/classes/callbacks/PostPlayerChangeHealth.ts +2 -2
- package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
- package/src/classes/callbacks/PostPurchase.ts +9 -9
- package/src/classes/callbacks/PostTransformation.ts +1 -3
- package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
- package/src/classes/callbacks/PostUsePillFilter.ts +2 -2
- package/src/classes/callbacks/PreBerserkDeath.ts +4 -4
- package/src/classes/callbacks/PreEntitySpawnFilter.ts +3 -3
- package/src/classes/callbacks/PreRoomEntitySpawnFilter.ts +5 -5
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
- package/src/classes/features/callbackLogic/EsauJrDetection.ts +2 -2
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +9 -11
- package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +4 -4
- package/src/classes/features/callbackLogic/ItemPickupDetection.ts +4 -4
- package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +2 -2
- package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +4 -4
- package/src/classes/features/other/CustomPickups.ts +1 -0
- package/src/classes/features/other/CustomStages.ts +2 -2
- package/src/classes/features/other/CustomTrapdoors.ts +46 -39
- package/src/classes/features/other/DeployJSONRoom.ts +6 -4
- package/src/classes/features/other/DisableInputs.ts +3 -3
- package/src/classes/features/other/EdenStartingStatsHealth.ts +3 -1
- package/src/classes/features/other/ExtraConsoleCommands.ts +14 -10
- package/src/classes/features/other/ModdedElementDetection.ts +4 -4
- package/src/classes/features/other/ModdedElementSets.ts +5 -5
- package/src/classes/features/other/NoSirenSteal.ts +4 -4
- package/src/classes/features/other/PickupIndexCreation.ts +7 -8
- package/src/classes/features/other/PonyDetection.ts +2 -2
- package/src/classes/features/other/PressInput.ts +2 -2
- package/src/classes/features/other/PreventChildEntities.ts +4 -4
- package/src/classes/features/other/RoomHistory.ts +5 -5
- package/src/classes/features/other/RunInNFrames.ts +2 -2
- package/src/classes/features/other/SaveDataManager.ts +3 -3
- package/src/classes/features/other/StageHistory.ts +2 -2
- package/src/classes/features/other/StartAmbush.ts +2 -2
- package/src/classes/features/other/TaintedLazarusPlayers.ts +2 -2
- package/src/classes/features/other/customStages/backdrop.ts +1 -1
- package/src/classes/features/other/customStages/gridEntities.ts +4 -4
- package/src/classes/features/other/customStages/streakText.ts +4 -4
- package/src/classes/features/other/extraConsoleCommands/commands.ts +15 -15
- package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +4 -2
- package/src/classes/features/other/saveDataManager/loadFromDisk.ts +5 -0
- package/src/core/constants.ts +1 -1
- package/src/core/constantsVanilla.ts +4 -4
- package/src/enums/ModCallbackCustom.ts +18 -0
- package/src/functions/array.ts +33 -29
- package/src/functions/arrayLua.ts +1 -1
- package/src/functions/bosses.ts +4 -3
- package/src/functions/charge.ts +3 -4
- package/src/functions/collectibles.ts +2 -2
- package/src/functions/decorators.ts +6 -9
- package/src/functions/deepCopy.ts +6 -10
- package/src/functions/deepCopyTests.ts +4 -4
- package/src/functions/doors.ts +8 -3
- package/src/functions/easing.ts +2 -2
- package/src/functions/emptyRoom.ts +5 -5
- package/src/functions/entities.ts +11 -12
- package/src/functions/enums.ts +4 -4
- package/src/functions/familiars.ts +2 -2
- package/src/functions/flag.ts +3 -3
- package/src/functions/globals.ts +2 -3
- package/src/functions/gridEntities.ts +30 -24
- package/src/functions/gridEntitiesSpecific.ts +2 -2
- package/src/functions/isaacAPIClass.ts +2 -2
- package/src/functions/jsonHelpers.ts +7 -5
- package/src/functions/level.ts +3 -3
- package/src/functions/levelGrid.ts +9 -12
- package/src/functions/logEntities.ts +11 -8
- package/src/functions/logMisc.ts +9 -20
- package/src/functions/map.ts +4 -4
- package/src/functions/math.ts +4 -4
- package/src/functions/merge.ts +1 -1
- package/src/functions/minimap.ts +2 -6
- package/src/functions/newArray.ts +1 -1
- package/src/functions/nextStage.ts +14 -10
- package/src/functions/npcDataStructures.ts +5 -5
- package/src/functions/npcs.ts +13 -10
- package/src/functions/pickupVariants.ts +6 -6
- package/src/functions/playerCollectibles.ts +3 -5
- package/src/functions/playerDataStructures.ts +5 -5
- package/src/functions/playerHealth.ts +8 -8
- package/src/functions/playerIndex.ts +3 -3
- package/src/functions/players.ts +4 -4
- package/src/functions/pocketItems.ts +2 -2
- package/src/functions/positionVelocity.ts +4 -12
- package/src/functions/revive.ts +15 -15
- package/src/functions/rng.ts +4 -3
- package/src/functions/roomData.ts +1 -3
- package/src/functions/roomGrid.ts +2 -2
- package/src/functions/rooms.ts +55 -42
- package/src/functions/set.ts +8 -8
- package/src/functions/sort.ts +4 -4
- package/src/functions/sound.ts +2 -7
- package/src/functions/spawnCollectible.ts +4 -6
- package/src/functions/stage.ts +20 -30
- package/src/functions/string.ts +6 -6
- package/src/functions/tears.ts +2 -2
- package/src/functions/trinketGive.ts +4 -4
- package/src/functions/trinkets.ts +1 -3
- package/src/functions/tstlClass.ts +2 -2
- package/src/functions/types.ts +19 -19
- package/src/index.ts +58 -58
- package/src/interfaces/SaveData.ts +2 -1
- package/src/interfaces/private/AddCallbackParametersCustom.ts +7 -0
- package/src/lib/jsonLua.js +34 -34
- package/src/objects/LRoomShapeToRectangles.ts +1 -1
- package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
- package/src/shouldFire.ts +55 -57
- package/src/types/AddSubtract.ts +10 -2
- package/src/types/HasFunction.ts +1 -1
- package/src/types/Immutable.ts +1 -1
- package/src/types/Increment.ts +2 -2
- package/src/types/PickingUpItem.ts +10 -3
- package/src/types/TupleWithLengthBetween.ts +2 -2
- package/src/types/TupleWithMaxLength.ts +2 -2
package/dist/functions/rooms.js
CHANGED
|
@@ -1,7 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
3
|
+
exports.changeRoom = changeRoom;
|
|
4
|
+
exports.getNumRooms = getNumRooms;
|
|
5
|
+
exports.getReadOnlyRooms = getReadOnlyRooms;
|
|
6
|
+
exports.getRoomDataForTypeVariant = getRoomDataForTypeVariant;
|
|
7
|
+
exports.getRoomItemPoolType = getRoomItemPoolType;
|
|
8
|
+
exports.getRoomTypeName = getRoomTypeName;
|
|
9
|
+
exports.getRooms = getRooms;
|
|
10
|
+
exports.getRoomsInsideGrid = getRoomsInsideGrid;
|
|
11
|
+
exports.getRoomsOfDimension = getRoomsOfDimension;
|
|
12
|
+
exports.getRoomsOutsideGrid = getRoomsOutsideGrid;
|
|
13
|
+
exports.in2x1Room = in2x1Room;
|
|
14
|
+
exports.inAngelShop = inAngelShop;
|
|
15
|
+
exports.inBeastRoom = inBeastRoom;
|
|
16
|
+
exports.inBigRoom = inBigRoom;
|
|
17
|
+
exports.inBossRoomOf = inBossRoomOf;
|
|
18
|
+
exports.inCrawlSpace = inCrawlSpace;
|
|
19
|
+
exports.inCrawlSpaceWithBlackMarketEntrance = inCrawlSpaceWithBlackMarketEntrance;
|
|
20
|
+
exports.inDeathCertificateArea = inDeathCertificateArea;
|
|
21
|
+
exports.inDevilsCrownTreasureRoom = inDevilsCrownTreasureRoom;
|
|
22
|
+
exports.inDogmaRoom = inDogmaRoom;
|
|
23
|
+
exports.inDoubleTrouble = inDoubleTrouble;
|
|
24
|
+
exports.inGenesisRoom = inGenesisRoom;
|
|
25
|
+
exports.inHomeCloset = inHomeCloset;
|
|
26
|
+
exports.inLRoom = inLRoom;
|
|
27
|
+
exports.inMegaSatanRoom = inMegaSatanRoom;
|
|
28
|
+
exports.inMineShaft = inMineShaft;
|
|
29
|
+
exports.inMinibossRoomOf = inMinibossRoomOf;
|
|
30
|
+
exports.inMirrorRoom = inMirrorRoom;
|
|
31
|
+
exports.inRoomShape = inRoomShape;
|
|
32
|
+
exports.inRoomType = inRoomType;
|
|
33
|
+
exports.inSecretExit = inSecretExit;
|
|
34
|
+
exports.inSecretShop = inSecretShop;
|
|
35
|
+
exports.inStartingRoom = inStartingRoom;
|
|
36
|
+
exports.is2x1Room = is2x1Room;
|
|
37
|
+
exports.isAllRoomsClear = isAllRoomsClear;
|
|
38
|
+
exports.isAngelShop = isAngelShop;
|
|
39
|
+
exports.isBeastRoom = isBeastRoom;
|
|
40
|
+
exports.isBigRoom = isBigRoom;
|
|
41
|
+
exports.isBossRoomOf = isBossRoomOf;
|
|
42
|
+
exports.isCrawlSpace = isCrawlSpace;
|
|
43
|
+
exports.isCrawlSpaceWithBlackMarketEntrance = isCrawlSpaceWithBlackMarketEntrance;
|
|
44
|
+
exports.isDeathCertificateArea = isDeathCertificateArea;
|
|
45
|
+
exports.isDevilsCrownTreasureRoom = isDevilsCrownTreasureRoom;
|
|
46
|
+
exports.isDogmaRoom = isDogmaRoom;
|
|
47
|
+
exports.isDoubleTrouble = isDoubleTrouble;
|
|
48
|
+
exports.isGenesisRoom = isGenesisRoom;
|
|
49
|
+
exports.isHomeCloset = isHomeCloset;
|
|
50
|
+
exports.isLRoom = isLRoom;
|
|
51
|
+
exports.isMegaSatanRoom = isMegaSatanRoom;
|
|
52
|
+
exports.isMineShaft = isMineShaft;
|
|
53
|
+
exports.isMinibossRoomOf = isMinibossRoomOf;
|
|
54
|
+
exports.isMirrorRoom = isMirrorRoom;
|
|
55
|
+
exports.isRoomShape = isRoomShape;
|
|
56
|
+
exports.isRoomType = isRoomType;
|
|
57
|
+
exports.isSecretExit = isSecretExit;
|
|
58
|
+
exports.isSecretRoomType = isSecretRoomType;
|
|
59
|
+
exports.isSecretShop = isSecretShop;
|
|
60
|
+
exports.roomUpdateSafe = roomUpdateSafe;
|
|
61
|
+
exports.setBackdrop = setBackdrop;
|
|
62
|
+
exports.setRoomCleared = setRoomCleared;
|
|
63
|
+
exports.setRoomUncleared = setRoomUncleared;
|
|
5
64
|
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
6
65
|
const cachedClasses_1 = require("../core/cachedClasses");
|
|
7
66
|
const constants_1 = require("../core/constants");
|
|
@@ -37,7 +96,6 @@ function changeRoom(roomGridIndex) {
|
|
|
37
96
|
level.LeaveDoor = isaac_typescript_definitions_1.DoorSlot.NO_DOOR_SLOT;
|
|
38
97
|
cachedClasses_1.game.ChangeRoom(roomGridIndex);
|
|
39
98
|
}
|
|
40
|
-
exports.changeRoom = changeRoom;
|
|
41
99
|
/**
|
|
42
100
|
* Helper function to get the number of rooms that are currently on the floor layout. This does not
|
|
43
101
|
* include off-grid rooms, like the Devil Room.
|
|
@@ -46,7 +104,6 @@ function getNumRooms() {
|
|
|
46
104
|
const roomsInsideGrid = getRoomsInsideGrid();
|
|
47
105
|
return roomsInsideGrid.length;
|
|
48
106
|
}
|
|
49
|
-
exports.getNumRooms = getNumRooms;
|
|
50
107
|
/**
|
|
51
108
|
* Helper function to get a read-only copy of the room descriptor for every room on the level. This
|
|
52
109
|
* includes off-grid rooms, such as the Devil Room, and extra-dimensional rooms, if they are
|
|
@@ -64,14 +121,13 @@ function getReadOnlyRooms() {
|
|
|
64
121
|
const readOnlyRoomDescriptors = [];
|
|
65
122
|
for (let i = 0; i < roomList.Size; i++) {
|
|
66
123
|
const readOnlyRoomDescriptor = roomList.Get(i);
|
|
67
|
-
if (readOnlyRoomDescriptor !== undefined
|
|
68
|
-
readOnlyRoomDescriptor.Data !== undefined) {
|
|
124
|
+
if (readOnlyRoomDescriptor !== undefined
|
|
125
|
+
&& readOnlyRoomDescriptor.Data !== undefined) {
|
|
69
126
|
readOnlyRoomDescriptors.push(readOnlyRoomDescriptor);
|
|
70
127
|
}
|
|
71
128
|
}
|
|
72
129
|
return readOnlyRoomDescriptors;
|
|
73
130
|
}
|
|
74
|
-
exports.getReadOnlyRooms = getReadOnlyRooms;
|
|
75
131
|
/**
|
|
76
132
|
* Helper function to get the room data for a specific room type and variant combination. This is
|
|
77
133
|
* accomplished by using the "goto" console command to load the specified room into the
|
|
@@ -107,7 +163,6 @@ function getRoomDataForTypeVariant(roomType, roomVariant, cancelRoomTransition =
|
|
|
107
163
|
}
|
|
108
164
|
return newRoomData;
|
|
109
165
|
}
|
|
110
|
-
exports.getRoomDataForTypeVariant = getRoomDataForTypeVariant;
|
|
111
166
|
/**
|
|
112
167
|
* Helper function to get the item pool type for the current room. For example, this returns
|
|
113
168
|
* `ItemPoolType.ItemPoolType.POOL_ANGEL` if you are in an Angel Room.
|
|
@@ -119,7 +174,6 @@ function getRoomItemPoolType() {
|
|
|
119
174
|
const roomSeed = room.GetSpawnSeed();
|
|
120
175
|
return itemPool.GetPoolForRoom(roomType, roomSeed);
|
|
121
176
|
}
|
|
122
|
-
exports.getRoomItemPoolType = getRoomItemPoolType;
|
|
123
177
|
/**
|
|
124
178
|
* Helper function to get the proper name of a room type.
|
|
125
179
|
*
|
|
@@ -128,7 +182,6 @@ exports.getRoomItemPoolType = getRoomItemPoolType;
|
|
|
128
182
|
function getRoomTypeName(roomType) {
|
|
129
183
|
return roomTypeNames_1.ROOM_TYPE_NAMES[roomType];
|
|
130
184
|
}
|
|
131
|
-
exports.getRoomTypeName = getRoomTypeName;
|
|
132
185
|
/**
|
|
133
186
|
* Helper function to get the room descriptor for every room on the level. This includes off-grid
|
|
134
187
|
* rooms, such as the Devil Room.
|
|
@@ -150,7 +203,6 @@ function getRooms(includeExtraDimensionalRooms = false) {
|
|
|
150
203
|
const roomsOutsideGrid = getRoomsOutsideGrid();
|
|
151
204
|
return [...roomsInGrid, ...roomsOutsideGrid];
|
|
152
205
|
}
|
|
153
|
-
exports.getRooms = getRooms;
|
|
154
206
|
/**
|
|
155
207
|
* Helper function to get the room descriptor for every room on the level that is on the grid. (For
|
|
156
208
|
* example, Devil Rooms are excluded.)
|
|
@@ -158,8 +210,7 @@ exports.getRooms = getRooms;
|
|
|
158
210
|
* Room descriptors without any data are assumed to be non-existent and are not included.
|
|
159
211
|
*
|
|
160
212
|
* @param includeExtraDimensionalRooms Optional. On some floors (e.g. Downpour 2, Mines 2),
|
|
161
|
-
* extra-dimensional rooms
|
|
162
|
-
* is false.
|
|
213
|
+
* extra-dimensional rooms will be generated. Default is false.
|
|
163
214
|
*/
|
|
164
215
|
function getRoomsInsideGrid(includeExtraDimensionalRooms = false) {
|
|
165
216
|
const level = cachedClasses_1.game.GetLevel();
|
|
@@ -179,7 +230,6 @@ function getRoomsInsideGrid(includeExtraDimensionalRooms = false) {
|
|
|
179
230
|
}
|
|
180
231
|
return [...roomDescriptorMap.values()];
|
|
181
232
|
}
|
|
182
|
-
exports.getRoomsInsideGrid = getRoomsInsideGrid;
|
|
183
233
|
/**
|
|
184
234
|
* Helper function to get the room descriptor for every room on the level in a specific dimension.
|
|
185
235
|
* This will not include any off-grid rooms, such as the Devil Room.
|
|
@@ -199,7 +249,6 @@ function getRoomsOfDimension(dimension) {
|
|
|
199
249
|
}
|
|
200
250
|
return [...roomsMap.values()];
|
|
201
251
|
}
|
|
202
|
-
exports.getRoomsOfDimension = getRoomsOfDimension;
|
|
203
252
|
/**
|
|
204
253
|
* Helper function to get the room descriptor for every room on the level that is outside of the
|
|
205
254
|
* grid (like a Devil Room).
|
|
@@ -213,7 +262,6 @@ function getRoomsOutsideGrid() {
|
|
|
213
262
|
const readOnlyRoomsOffGrid = readOnlyRooms.filter((readOnlyRoomDescriptor) => readOnlyRoomDescriptor.SafeGridIndex < 0);
|
|
214
263
|
return readOnlyRoomsOffGrid.map((readOnlyRoomDescriptor) => (0, roomData_1.getRoomDescriptor)(readOnlyRoomDescriptor.SafeGridIndex));
|
|
215
264
|
}
|
|
216
|
-
exports.getRoomsOutsideGrid = getRoomsOutsideGrid;
|
|
217
265
|
/**
|
|
218
266
|
* Helper function to determine if the current room shape is equal to `RoomShape.1x2` or
|
|
219
267
|
* `RoomShape.2x1`.
|
|
@@ -222,7 +270,6 @@ function in2x1Room() {
|
|
|
222
270
|
const roomData = (0, roomData_1.getRoomData)();
|
|
223
271
|
return is2x1Room(roomData);
|
|
224
272
|
}
|
|
225
|
-
exports.in2x1Room = in2x1Room;
|
|
226
273
|
/**
|
|
227
274
|
* Helper function to check to see if the current room is an angel shop.
|
|
228
275
|
*
|
|
@@ -233,7 +280,6 @@ function inAngelShop() {
|
|
|
233
280
|
const roomData = (0, roomData_1.getRoomData)();
|
|
234
281
|
return isAngelShop(roomData);
|
|
235
282
|
}
|
|
236
|
-
exports.inAngelShop = inAngelShop;
|
|
237
283
|
/**
|
|
238
284
|
* Helper function to check to see if the current room is the Boss Room for The Beast.
|
|
239
285
|
*
|
|
@@ -246,7 +292,6 @@ function inBeastRoom() {
|
|
|
246
292
|
const roomData = (0, roomData_1.getRoomData)();
|
|
247
293
|
return isBeastRoom(roomData);
|
|
248
294
|
}
|
|
249
|
-
exports.inBeastRoom = inBeastRoom;
|
|
250
295
|
/**
|
|
251
296
|
* Helper function to detect if the current room is big. Specifically, this is all 1x2 rooms, 2x2
|
|
252
297
|
* rooms, and L rooms.
|
|
@@ -255,7 +300,6 @@ function inBigRoom() {
|
|
|
255
300
|
const roomData = (0, roomData_1.getRoomData)();
|
|
256
301
|
return isBigRoom(roomData);
|
|
257
302
|
}
|
|
258
|
-
exports.inBigRoom = inBigRoom;
|
|
259
303
|
/**
|
|
260
304
|
* Helper function to check if the current room is the Boss Room for a particular boss. This will
|
|
261
305
|
* only work for bosses that have dedicated boss rooms in the "00.special rooms.stb" file.
|
|
@@ -264,7 +308,6 @@ function inBossRoomOf(bossID) {
|
|
|
264
308
|
const roomData = (0, roomData_1.getRoomData)();
|
|
265
309
|
return isBossRoomOf(roomData, bossID);
|
|
266
310
|
}
|
|
267
|
-
exports.inBossRoomOf = inBossRoomOf;
|
|
268
311
|
/**
|
|
269
312
|
* Helper function for determining whether the current room is a crawl space. Use this function over
|
|
270
313
|
* comparing to `RoomType.DUNGEON` or `GridRoom.DUNGEON_IDX` since there is a special case of the
|
|
@@ -274,7 +317,6 @@ function inCrawlSpace() {
|
|
|
274
317
|
const roomData = (0, roomData_1.getRoomData)();
|
|
275
318
|
return isCrawlSpace(roomData);
|
|
276
319
|
}
|
|
277
|
-
exports.inCrawlSpace = inCrawlSpace;
|
|
278
320
|
/**
|
|
279
321
|
* Helper function for checking whether the current room is a crawl space with a door corresponding
|
|
280
322
|
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
@@ -283,7 +325,6 @@ function inCrawlSpaceWithBlackMarketEntrance() {
|
|
|
283
325
|
const roomData = (0, roomData_1.getRoomData)();
|
|
284
326
|
return isCrawlSpaceWithBlackMarketEntrance(roomData);
|
|
285
327
|
}
|
|
286
|
-
exports.inCrawlSpaceWithBlackMarketEntrance = inCrawlSpaceWithBlackMarketEntrance;
|
|
287
328
|
/**
|
|
288
329
|
* Helper function to detect if the current room is one of the rooms in the Death Certificate area.
|
|
289
330
|
*/
|
|
@@ -291,7 +332,6 @@ function inDeathCertificateArea() {
|
|
|
291
332
|
const roomData = (0, roomData_1.getRoomData)();
|
|
292
333
|
return isDeathCertificateArea(roomData);
|
|
293
334
|
}
|
|
294
|
-
exports.inDeathCertificateArea = inDeathCertificateArea;
|
|
295
335
|
/**
|
|
296
336
|
* Helper function to detect if the current room is a Treasure Room created when entering with a
|
|
297
337
|
* Devil's Crown trinket.
|
|
@@ -302,7 +342,6 @@ function inDevilsCrownTreasureRoom() {
|
|
|
302
342
|
const roomDescriptor = (0, roomData_1.getRoomDescriptorReadOnly)();
|
|
303
343
|
return isDevilsCrownTreasureRoom(roomDescriptor);
|
|
304
344
|
}
|
|
305
|
-
exports.inDevilsCrownTreasureRoom = inDevilsCrownTreasureRoom;
|
|
306
345
|
/**
|
|
307
346
|
* Helper function to check to see if the current room is the Boss Room for Dogma.
|
|
308
347
|
*
|
|
@@ -320,7 +359,6 @@ function inDogmaRoom() {
|
|
|
320
359
|
const roomData = (0, roomData_1.getRoomData)();
|
|
321
360
|
return isDogmaRoom(roomData);
|
|
322
361
|
}
|
|
323
|
-
exports.inDogmaRoom = inDogmaRoom;
|
|
324
362
|
/**
|
|
325
363
|
* Helper function to detect if the current room is a Double Trouble Boss Room.
|
|
326
364
|
*
|
|
@@ -336,13 +374,11 @@ function inDoubleTrouble() {
|
|
|
336
374
|
const roomData = (0, roomData_1.getRoomData)();
|
|
337
375
|
return isDoubleTrouble(roomData);
|
|
338
376
|
}
|
|
339
|
-
exports.inDoubleTrouble = inDoubleTrouble;
|
|
340
377
|
/** Helper function to determine if the current room index is equal to `GridRoom.GENESIS`. */
|
|
341
378
|
function inGenesisRoom() {
|
|
342
379
|
const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
|
|
343
380
|
return isGenesisRoom(roomGridIndex);
|
|
344
381
|
}
|
|
345
|
-
exports.inGenesisRoom = inGenesisRoom;
|
|
346
382
|
/**
|
|
347
383
|
* Helper function to check if the current room is either the left Home closet (behind the red door)
|
|
348
384
|
* or the right Home closet (with one random pickup).
|
|
@@ -353,19 +389,16 @@ function inHomeCloset() {
|
|
|
353
389
|
const roomData = (0, roomData_1.getRoomData)();
|
|
354
390
|
return isHomeCloset(roomData);
|
|
355
391
|
}
|
|
356
|
-
exports.inHomeCloset = inHomeCloset;
|
|
357
392
|
/** Helper function to determine if the current room shape is one of the four L room shapes. */
|
|
358
393
|
function inLRoom() {
|
|
359
394
|
const roomData = (0, roomData_1.getRoomData)();
|
|
360
395
|
return isLRoom(roomData);
|
|
361
396
|
}
|
|
362
|
-
exports.inLRoom = inLRoom;
|
|
363
397
|
/** Helper function to determine if the current room index is equal to `GridRoom.MEGA_SATAN`. */
|
|
364
398
|
function inMegaSatanRoom() {
|
|
365
399
|
const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
|
|
366
400
|
return isMegaSatanRoom(roomGridIndex);
|
|
367
401
|
}
|
|
368
|
-
exports.inMegaSatanRoom = inMegaSatanRoom;
|
|
369
402
|
/**
|
|
370
403
|
* Helper function to determine if the current room is part of the Repentance "escape sequence" in
|
|
371
404
|
* the Mines/Ashpit.
|
|
@@ -374,7 +407,6 @@ function inMineShaft() {
|
|
|
374
407
|
const roomData = (0, roomData_1.getRoomData)();
|
|
375
408
|
return isMineShaft(roomData);
|
|
376
409
|
}
|
|
377
|
-
exports.inMineShaft = inMineShaft;
|
|
378
410
|
/**
|
|
379
411
|
* Helper function to check if the current room is a miniboss room for a particular miniboss. This
|
|
380
412
|
* will only work for mini-bosses that have dedicated boss rooms in the "00.special rooms.stb" file.
|
|
@@ -383,7 +415,6 @@ function inMinibossRoomOf(minibossID) {
|
|
|
383
415
|
const roomData = (0, roomData_1.getRoomData)();
|
|
384
416
|
return isMinibossRoomOf(roomData, minibossID);
|
|
385
417
|
}
|
|
386
|
-
exports.inMinibossRoomOf = inMinibossRoomOf;
|
|
387
418
|
/**
|
|
388
419
|
* Helper function to check if the current room is a "mirror room" in Downpour or Dross. (These
|
|
389
420
|
* rooms are marked with a specific sub-type.)
|
|
@@ -392,7 +423,6 @@ function inMirrorRoom() {
|
|
|
392
423
|
const roomData = (0, roomData_1.getRoomData)();
|
|
393
424
|
return isMirrorRoom(roomData);
|
|
394
425
|
}
|
|
395
|
-
exports.inMirrorRoom = inMirrorRoom;
|
|
396
426
|
/**
|
|
397
427
|
* Helper function to check if the current room shape matches one of the given room shapes.
|
|
398
428
|
*
|
|
@@ -402,7 +432,6 @@ function inRoomShape(...roomShapes) {
|
|
|
402
432
|
const roomData = (0, roomData_1.getRoomData)();
|
|
403
433
|
return isRoomShape(roomData, ...roomShapes);
|
|
404
434
|
}
|
|
405
|
-
exports.inRoomShape = inRoomShape;
|
|
406
435
|
/**
|
|
407
436
|
* Helper function to check if the current room matches one of the given room types.
|
|
408
437
|
*
|
|
@@ -412,7 +441,6 @@ function inRoomType(...roomTypes) {
|
|
|
412
441
|
const roomData = (0, roomData_1.getRoomData)();
|
|
413
442
|
return isRoomType(roomData, ...roomTypes);
|
|
414
443
|
}
|
|
415
|
-
exports.inRoomType = inRoomType;
|
|
416
444
|
/**
|
|
417
445
|
* Helper function for checking if the current room is a secret exit that leads to a Repentance
|
|
418
446
|
* floor.
|
|
@@ -421,7 +449,6 @@ function inSecretExit() {
|
|
|
421
449
|
const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
|
|
422
450
|
return isSecretExit(roomGridIndex);
|
|
423
451
|
}
|
|
424
|
-
exports.inSecretExit = inSecretExit;
|
|
425
452
|
/**
|
|
426
453
|
* Helper function for checking if the current room is a secret shop (from the Member Card
|
|
427
454
|
* collectible).
|
|
@@ -434,7 +461,6 @@ function inSecretShop() {
|
|
|
434
461
|
const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
|
|
435
462
|
return isSecretShop(roomGridIndex);
|
|
436
463
|
}
|
|
437
|
-
exports.inSecretShop = inSecretShop;
|
|
438
464
|
/**
|
|
439
465
|
* Helper function to determine whether the current room is the starting room of a floor. It only
|
|
440
466
|
* returns true for the starting room of the primary dimension (meaning that being in the starting
|
|
@@ -446,14 +472,12 @@ function inStartingRoom() {
|
|
|
446
472
|
const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
|
|
447
473
|
return roomGridIndex === startingRoomGridIndex && (0, dimensions_1.inDimension)(isaac_typescript_definitions_1.Dimension.MAIN);
|
|
448
474
|
}
|
|
449
|
-
exports.inStartingRoom = inStartingRoom;
|
|
450
475
|
/**
|
|
451
476
|
* Helper function to determine if the provided room is equal to `RoomShape.1x2` or `RoomShape.2x1`.
|
|
452
477
|
*/
|
|
453
478
|
function is2x1Room(roomData) {
|
|
454
479
|
return (0, roomShape_1.is2x1RoomShape)(roomData.Shape);
|
|
455
480
|
}
|
|
456
|
-
exports.is2x1Room = is2x1Room;
|
|
457
481
|
/**
|
|
458
482
|
* Helper function to loop through every room on the floor and see if it has been cleared.
|
|
459
483
|
*
|
|
@@ -477,24 +501,23 @@ function isAllRoomsClear(onlyCheckRoomTypes, includeSecretRoom = false, includeS
|
|
|
477
501
|
}
|
|
478
502
|
else {
|
|
479
503
|
const roomTypeWhitelist = new ReadonlySet_1.ReadonlySet(onlyCheckRoomTypes);
|
|
480
|
-
matchingRooms = roomsInsideGrid.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
481
|
-
roomTypeWhitelist.has(roomDescriptor.Data.Type));
|
|
504
|
+
matchingRooms = roomsInsideGrid.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
505
|
+
&& roomTypeWhitelist.has(roomDescriptor.Data.Type));
|
|
482
506
|
}
|
|
483
507
|
if (!includeSecretRoom) {
|
|
484
|
-
matchingRooms = matchingRooms.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
485
|
-
roomDescriptor.Data.Type !== isaac_typescript_definitions_1.RoomType.SECRET);
|
|
508
|
+
matchingRooms = matchingRooms.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
509
|
+
&& roomDescriptor.Data.Type !== isaac_typescript_definitions_1.RoomType.SECRET);
|
|
486
510
|
}
|
|
487
511
|
if (!includeSuperSecretRoom) {
|
|
488
|
-
matchingRooms = matchingRooms.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
489
|
-
roomDescriptor.Data.Type !== isaac_typescript_definitions_1.RoomType.SUPER_SECRET);
|
|
512
|
+
matchingRooms = matchingRooms.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
513
|
+
&& roomDescriptor.Data.Type !== isaac_typescript_definitions_1.RoomType.SUPER_SECRET);
|
|
490
514
|
}
|
|
491
515
|
if (!includeUltraSecretRoom) {
|
|
492
|
-
matchingRooms = matchingRooms.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
493
|
-
roomDescriptor.Data.Type !== isaac_typescript_definitions_1.RoomType.ULTRA_SECRET);
|
|
516
|
+
matchingRooms = matchingRooms.filter((roomDescriptor) => roomDescriptor.Data !== undefined
|
|
517
|
+
&& roomDescriptor.Data.Type !== isaac_typescript_definitions_1.RoomType.ULTRA_SECRET);
|
|
494
518
|
}
|
|
495
519
|
return matchingRooms.every((roomDescriptor) => roomDescriptor.Clear);
|
|
496
520
|
}
|
|
497
|
-
exports.isAllRoomsClear = isAllRoomsClear;
|
|
498
521
|
/**
|
|
499
522
|
* Helper function to check to see if the current room is an angel shop.
|
|
500
523
|
*
|
|
@@ -502,10 +525,10 @@ exports.isAllRoomsClear = isAllRoomsClear;
|
|
|
502
525
|
* being equal to `AngelRoomSubType.SHOP` (1).
|
|
503
526
|
*/
|
|
504
527
|
function isAngelShop(roomData) {
|
|
505
|
-
return (roomData.Type === isaac_typescript_definitions_1.RoomType.ANGEL
|
|
506
|
-
|
|
528
|
+
return (roomData.Type === isaac_typescript_definitions_1.RoomType.ANGEL
|
|
529
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
530
|
+
&& roomData.Subtype === isaac_typescript_definitions_1.AngelRoomSubType.SHOP);
|
|
507
531
|
}
|
|
508
|
-
exports.isAngelShop = isAngelShop;
|
|
509
532
|
/**
|
|
510
533
|
* Helper function to check to see if the provided room is the Boss Room for The Beast.
|
|
511
534
|
*
|
|
@@ -515,10 +538,10 @@ exports.isAngelShop = isAngelShop;
|
|
|
515
538
|
* being equal to `DungeonSubType.BEAST_ROOM` (4).
|
|
516
539
|
*/
|
|
517
540
|
function isBeastRoom(roomData) {
|
|
518
|
-
return (roomData.Type === isaac_typescript_definitions_1.RoomType.DUNGEON
|
|
519
|
-
|
|
541
|
+
return (roomData.Type === isaac_typescript_definitions_1.RoomType.DUNGEON
|
|
542
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
543
|
+
&& roomData.Subtype === isaac_typescript_definitions_1.DungeonSubType.BEAST_ROOM);
|
|
520
544
|
}
|
|
521
|
-
exports.isBeastRoom = isBeastRoom;
|
|
522
545
|
/**
|
|
523
546
|
* Helper function to detect if the provided room is big. Specifically, this is all 1x2 rooms, 2x2
|
|
524
547
|
* rooms, and L rooms.
|
|
@@ -526,27 +549,26 @@ exports.isBeastRoom = isBeastRoom;
|
|
|
526
549
|
function isBigRoom(roomData) {
|
|
527
550
|
return (0, roomShape_1.isBigRoomShape)(roomData.Shape);
|
|
528
551
|
}
|
|
529
|
-
exports.isBigRoom = isBigRoom;
|
|
530
552
|
/**
|
|
531
553
|
* Helper function to check if the provided room is the Boss Room for a particular boss. This will
|
|
532
554
|
* only work for bosses that have dedicated boss rooms in the "00.special rooms.stb" file.
|
|
533
555
|
*/
|
|
534
556
|
function isBossRoomOf(roomData, bossID) {
|
|
535
|
-
return (roomData.Type === isaac_typescript_definitions_1.RoomType.BOSS
|
|
536
|
-
roomData.StageID === isaac_typescript_definitions_1.StageID.SPECIAL_ROOMS
|
|
537
|
-
|
|
557
|
+
return (roomData.Type === isaac_typescript_definitions_1.RoomType.BOSS
|
|
558
|
+
&& roomData.StageID === isaac_typescript_definitions_1.StageID.SPECIAL_ROOMS
|
|
559
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
560
|
+
&& roomData.Subtype === bossID);
|
|
538
561
|
}
|
|
539
|
-
exports.isBossRoomOf = isBossRoomOf;
|
|
540
562
|
/**
|
|
541
563
|
* Helper function for determining whether the provided room is a crawl space. Use this function
|
|
542
564
|
* over comparing to `RoomType.DUNGEON` or `GridRoom.DUNGEON_IDX` since there is a special case of
|
|
543
565
|
* the player being in a boss fight that takes place in a dungeon.
|
|
544
566
|
*/
|
|
545
567
|
function isCrawlSpace(roomData) {
|
|
546
|
-
return (roomData.Type === isaac_typescript_definitions_1.RoomType.DUNGEON
|
|
547
|
-
|
|
568
|
+
return (roomData.Type === isaac_typescript_definitions_1.RoomType.DUNGEON
|
|
569
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
570
|
+
&& roomData.Subtype === isaac_typescript_definitions_1.DungeonSubType.NORMAL);
|
|
548
571
|
}
|
|
549
|
-
exports.isCrawlSpace = isCrawlSpace;
|
|
550
572
|
/**
|
|
551
573
|
* Helper function for checking whether the provided room is a crawl space with a door corresponding
|
|
552
574
|
* to `DoorSlotFlag.RIGHT_0` (1 << 2).
|
|
@@ -554,16 +576,16 @@ exports.isCrawlSpace = isCrawlSpace;
|
|
|
554
576
|
function isCrawlSpaceWithBlackMarketEntrance(roomData) {
|
|
555
577
|
return (isCrawlSpace(roomData) && (0, flag_1.hasFlag)(roomData.Doors, isaac_typescript_definitions_1.DoorSlotFlag.RIGHT_0));
|
|
556
578
|
}
|
|
557
|
-
exports.isCrawlSpaceWithBlackMarketEntrance = isCrawlSpaceWithBlackMarketEntrance;
|
|
558
579
|
/**
|
|
559
580
|
* Helper function to detect if the provided room is one of the rooms in the Death Certificate area.
|
|
560
581
|
*/
|
|
561
582
|
function isDeathCertificateArea(roomData) {
|
|
562
|
-
return (roomData.StageID === isaac_typescript_definitions_1.StageID.HOME
|
|
563
|
-
|
|
564
|
-
|
|
583
|
+
return (roomData.StageID === isaac_typescript_definitions_1.StageID.HOME
|
|
584
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
585
|
+
&& (roomData.Subtype === isaac_typescript_definitions_1.HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE
|
|
586
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
587
|
+
|| roomData.Subtype === isaac_typescript_definitions_1.HomeRoomSubType.DEATH_CERTIFICATE_ITEMS));
|
|
565
588
|
}
|
|
566
|
-
exports.isDeathCertificateArea = isDeathCertificateArea;
|
|
567
589
|
/**
|
|
568
590
|
* Helper function to detect if the provided room is a Treasure Room created when entering with a
|
|
569
591
|
* Devil's Crown trinket.
|
|
@@ -573,7 +595,6 @@ exports.isDeathCertificateArea = isDeathCertificateArea;
|
|
|
573
595
|
function isDevilsCrownTreasureRoom(roomDescriptor) {
|
|
574
596
|
return (0, flag_1.hasFlag)(roomDescriptor.Flags, isaac_typescript_definitions_1.RoomDescriptorFlag.DEVIL_TREASURE);
|
|
575
597
|
}
|
|
576
|
-
exports.isDevilsCrownTreasureRoom = isDevilsCrownTreasureRoom;
|
|
577
598
|
/**
|
|
578
599
|
* Helper function to check to see if the provided room is the Boss Room for Dogma.
|
|
579
600
|
*
|
|
@@ -588,12 +609,12 @@ exports.isDevilsCrownTreasureRoom = isDevilsCrownTreasureRoom;
|
|
|
588
609
|
* `HomeRoomSubType.LIVING_ROOM` (3).
|
|
589
610
|
*/
|
|
590
611
|
function isDogmaRoom(roomData) {
|
|
591
|
-
return (roomData.StageID === isaac_typescript_definitions_1.StageID.HOME
|
|
592
|
-
roomData.Type === isaac_typescript_definitions_1.RoomType.DEFAULT
|
|
593
|
-
roomData.Variant === 1000
|
|
594
|
-
|
|
612
|
+
return (roomData.StageID === isaac_typescript_definitions_1.StageID.HOME
|
|
613
|
+
&& roomData.Type === isaac_typescript_definitions_1.RoomType.DEFAULT
|
|
614
|
+
&& roomData.Variant === 1000
|
|
615
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
616
|
+
&& roomData.Subtype === isaac_typescript_definitions_1.HomeRoomSubType.LIVING_ROOM);
|
|
595
617
|
}
|
|
596
|
-
exports.isDogmaRoom = isDogmaRoom;
|
|
597
618
|
/**
|
|
598
619
|
* Helper function to detect if the provided room is a Double Trouble Boss Room.
|
|
599
620
|
*
|
|
@@ -608,14 +629,13 @@ exports.isDogmaRoom = isDogmaRoom;
|
|
|
608
629
|
function isDoubleTrouble(roomData) {
|
|
609
630
|
return (roomData.Type === isaac_typescript_definitions_1.RoomType.BOSS && roomData.Name.includes("Double Trouble"));
|
|
610
631
|
}
|
|
611
|
-
exports.isDoubleTrouble = isDoubleTrouble;
|
|
612
632
|
/**
|
|
613
633
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.GENESIS`.
|
|
614
634
|
*/
|
|
615
635
|
function isGenesisRoom(roomGridIndex) {
|
|
636
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
616
637
|
return roomGridIndex === isaac_typescript_definitions_1.GridRoom.GENESIS;
|
|
617
638
|
}
|
|
618
|
-
exports.isGenesisRoom = isGenesisRoom;
|
|
619
639
|
/**
|
|
620
640
|
* Helper function to check if the provided room is either the left Home closet (behind the red
|
|
621
641
|
* door) or the right Home closet (with one random pickup).
|
|
@@ -623,55 +643,53 @@ exports.isGenesisRoom = isGenesisRoom;
|
|
|
623
643
|
* Home closets have a unique shape that is different from any other room in the game.
|
|
624
644
|
*/
|
|
625
645
|
function isHomeCloset(roomData) {
|
|
626
|
-
return (roomData.StageID === isaac_typescript_definitions_1.StageID.HOME
|
|
627
|
-
|
|
628
|
-
|
|
646
|
+
return (roomData.StageID === isaac_typescript_definitions_1.StageID.HOME
|
|
647
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
648
|
+
&& (roomData.Subtype === isaac_typescript_definitions_1.HomeRoomSubType.CLOSET_LEFT
|
|
649
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
650
|
+
|| roomData.Subtype === isaac_typescript_definitions_1.HomeRoomSubType.CLOSET_RIGHT));
|
|
629
651
|
}
|
|
630
|
-
exports.isHomeCloset = isHomeCloset;
|
|
631
652
|
/** Helper function to determine if the provided room is one of the four L room shapes. */
|
|
632
653
|
function isLRoom(roomData) {
|
|
633
654
|
return (0, roomShape_1.isLRoomShape)(roomData.Shape);
|
|
634
655
|
}
|
|
635
|
-
exports.isLRoom = isLRoom;
|
|
636
656
|
/**
|
|
637
657
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.MEGA_SATAN`.
|
|
638
658
|
*/
|
|
639
659
|
function isMegaSatanRoom(roomGridIndex) {
|
|
660
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
640
661
|
return roomGridIndex === isaac_typescript_definitions_1.GridRoom.MEGA_SATAN;
|
|
641
662
|
}
|
|
642
|
-
exports.isMegaSatanRoom = isMegaSatanRoom;
|
|
643
663
|
/**
|
|
644
664
|
* Helper function to determine if the provided room is part of the Repentance "escape sequence" in
|
|
645
665
|
* the Mines/Ashpit.
|
|
646
666
|
*/
|
|
647
667
|
function isMineShaft(roomData) {
|
|
648
|
-
return ((roomData.StageID === isaac_typescript_definitions_1.StageID.MINES ||
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
mineShaftRoomSubTypesSet_1.MINE_SHAFT_ROOM_SUB_TYPE_SET.has(roomData.Subtype));
|
|
668
|
+
return ((roomData.StageID === isaac_typescript_definitions_1.StageID.MINES || roomData.StageID === isaac_typescript_definitions_1.StageID.ASHPIT)
|
|
669
|
+
// eslint-disable-next-line complete/strict-enums
|
|
670
|
+
&& mineShaftRoomSubTypesSet_1.MINE_SHAFT_ROOM_SUB_TYPE_SET.has(roomData.Subtype));
|
|
652
671
|
}
|
|
653
|
-
exports.isMineShaft = isMineShaft;
|
|
654
672
|
/**
|
|
655
673
|
* Helper function to check if the provided room is a miniboss room for a particular miniboss. This
|
|
656
674
|
* will only work for mini-bosses that have dedicated boss rooms in the "00.special rooms.stb" file.
|
|
657
675
|
*/
|
|
658
676
|
function isMinibossRoomOf(roomData, minibossID) {
|
|
659
|
-
return (roomData.Type === isaac_typescript_definitions_1.RoomType.MINI_BOSS
|
|
660
|
-
roomData.StageID === isaac_typescript_definitions_1.StageID.SPECIAL_ROOMS
|
|
661
|
-
|
|
677
|
+
return (roomData.Type === isaac_typescript_definitions_1.RoomType.MINI_BOSS
|
|
678
|
+
&& roomData.StageID === isaac_typescript_definitions_1.StageID.SPECIAL_ROOMS
|
|
679
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
680
|
+
&& roomData.Subtype === minibossID);
|
|
662
681
|
}
|
|
663
|
-
exports.isMinibossRoomOf = isMinibossRoomOf;
|
|
664
682
|
/**
|
|
665
683
|
* Helper function to check if the provided room is a "mirror room" in Downpour or Dross. (These
|
|
666
684
|
* rooms are marked with a specific sub-type.)
|
|
667
685
|
*/
|
|
668
686
|
function isMirrorRoom(roomData) {
|
|
669
|
-
return (roomData.Type === isaac_typescript_definitions_1.RoomType.DEFAULT
|
|
670
|
-
(roomData.StageID === isaac_typescript_definitions_1.StageID.DOWNPOUR
|
|
671
|
-
roomData.StageID === isaac_typescript_definitions_1.StageID.DROSS)
|
|
672
|
-
|
|
687
|
+
return (roomData.Type === isaac_typescript_definitions_1.RoomType.DEFAULT
|
|
688
|
+
&& (roomData.StageID === isaac_typescript_definitions_1.StageID.DOWNPOUR
|
|
689
|
+
|| roomData.StageID === isaac_typescript_definitions_1.StageID.DROSS)
|
|
690
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
691
|
+
&& roomData.Subtype === isaac_typescript_definitions_1.DownpourRoomSubType.MIRROR);
|
|
673
692
|
}
|
|
674
|
-
exports.isMirrorRoom = isMirrorRoom;
|
|
675
693
|
/**
|
|
676
694
|
* Helper function to check if the provided room matches one of the given room shapes.
|
|
677
695
|
*
|
|
@@ -680,7 +698,6 @@ exports.isMirrorRoom = isMirrorRoom;
|
|
|
680
698
|
function isRoomShape(roomData, ...roomShapes) {
|
|
681
699
|
return roomShapes.includes(roomData.Shape);
|
|
682
700
|
}
|
|
683
|
-
exports.isRoomShape = isRoomShape;
|
|
684
701
|
/**
|
|
685
702
|
* Helper function to check if the provided room matches one of the given room types.
|
|
686
703
|
*
|
|
@@ -689,15 +706,14 @@ exports.isRoomShape = isRoomShape;
|
|
|
689
706
|
function isRoomType(roomData, ...roomTypes) {
|
|
690
707
|
return roomTypes.includes(roomData.Type);
|
|
691
708
|
}
|
|
692
|
-
exports.isRoomType = isRoomType;
|
|
693
709
|
/**
|
|
694
710
|
* Helper function for checking if the provided room is a secret exit that leads to a Repentance
|
|
695
711
|
* floor.
|
|
696
712
|
*/
|
|
697
713
|
function isSecretExit(roomGridIndex) {
|
|
714
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
698
715
|
return roomGridIndex === isaac_typescript_definitions_1.GridRoom.SECRET_EXIT;
|
|
699
716
|
}
|
|
700
|
-
exports.isSecretExit = isSecretExit;
|
|
701
717
|
/**
|
|
702
718
|
* Helper function to detect if a room type is a Secret Room, a Super Secret Room, or an Ultra
|
|
703
719
|
* Secret Room.
|
|
@@ -705,7 +721,6 @@ exports.isSecretExit = isSecretExit;
|
|
|
705
721
|
function isSecretRoomType(roomType) {
|
|
706
722
|
return SECRET_ROOM_TYPES.has(roomType);
|
|
707
723
|
}
|
|
708
|
-
exports.isSecretRoomType = isSecretRoomType;
|
|
709
724
|
/**
|
|
710
725
|
* Helper function for checking if the provided room is a secret shop (from the Member Card
|
|
711
726
|
* collectible).
|
|
@@ -715,9 +730,9 @@ exports.isSecretRoomType = isSecretRoomType;
|
|
|
715
730
|
* the only way to detect them is by using the grid index.
|
|
716
731
|
*/
|
|
717
732
|
function isSecretShop(roomGridIndex) {
|
|
733
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
718
734
|
return roomGridIndex === isaac_typescript_definitions_1.GridRoom.SECRET_SHOP;
|
|
719
735
|
}
|
|
720
|
-
exports.isSecretShop = isSecretShop;
|
|
721
736
|
/**
|
|
722
737
|
* If the `Room.Update` method is called in a `POST_NEW_ROOM` callback, then some entities will
|
|
723
738
|
* slide around (such as the player). Since those entity velocities are already at zero, setting
|
|
@@ -733,13 +748,11 @@ function roomUpdateSafe() {
|
|
|
733
748
|
(0, positionVelocity_1.setEntityPositions)(entityPositions, entities);
|
|
734
749
|
(0, positionVelocity_1.setEntityVelocities)(entityVelocities, entities);
|
|
735
750
|
}
|
|
736
|
-
exports.roomUpdateSafe = roomUpdateSafe;
|
|
737
751
|
/** Helper function to set the backdrop (i.e. background) of the current room. */
|
|
738
752
|
function setBackdrop(backdropType) {
|
|
739
753
|
cachedClasses_1.game.ShowHallucination(0, backdropType);
|
|
740
754
|
cachedClasses_1.sfxManager.Stop(isaac_typescript_definitions_1.SoundEffect.DEATH_CARD);
|
|
741
755
|
}
|
|
742
|
-
exports.setBackdrop = setBackdrop;
|
|
743
756
|
/**
|
|
744
757
|
* Helper function to convert an uncleared room to a cleared room in the `POST_NEW_ROOM` callback.
|
|
745
758
|
* This is useful because if enemies are removed in this callback, a room drop will be awarded and
|
|
@@ -769,7 +782,6 @@ function setRoomCleared() {
|
|
|
769
782
|
// frame shake.
|
|
770
783
|
cachedClasses_1.game.ShakeScreen(0);
|
|
771
784
|
}
|
|
772
|
-
exports.setRoomCleared = setRoomCleared;
|
|
773
785
|
/**
|
|
774
786
|
* Helper function to emulate what happens when you bomb an Angel Statue or push a Reward Plate that
|
|
775
787
|
* spawns an NPC.
|
|
@@ -779,4 +791,3 @@ function setRoomUncleared() {
|
|
|
779
791
|
room.SetClear(false);
|
|
780
792
|
(0, doors_1.closeAllDoors)();
|
|
781
793
|
}
|
|
782
|
-
exports.setRoomUncleared = setRoomUncleared;
|
package/dist/functions/rooms.lua
CHANGED
|
@@ -99,8 +99,7 @@ end
|
|
|
99
99
|
-- Room descriptors without any data are assumed to be non-existent and are not included.
|
|
100
100
|
--
|
|
101
101
|
-- @param includeExtraDimensionalRooms Optional. On some floors (e.g. Downpour 2, Mines 2),
|
|
102
|
-
-- extra-dimensional rooms
|
|
103
|
-
-- is false.
|
|
102
|
+
-- extra-dimensional rooms will be generated. Default is false.
|
|
104
103
|
function ____exports.getRoomsInsideGrid(self, includeExtraDimensionalRooms)
|
|
105
104
|
if includeExtraDimensionalRooms == nil then
|
|
106
105
|
includeExtraDimensionalRooms = false
|
|
@@ -652,12 +651,12 @@ function ____exports.setRoomCleared(self)
|
|
|
652
651
|
for ____, door in ipairs(getDoors(nil)) do
|
|
653
652
|
do
|
|
654
653
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
655
|
-
goto
|
|
654
|
+
goto __continue87
|
|
656
655
|
end
|
|
657
656
|
openDoorFast(nil, door)
|
|
658
657
|
door.ExtraVisible = false
|
|
659
658
|
end
|
|
660
|
-
::
|
|
659
|
+
::__continue87::
|
|
661
660
|
end
|
|
662
661
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
663
662
|
game:ShakeScreen(0)
|