isaacscript-common 2.3.0 → 3.0.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/cachedClasses.d.ts +37 -0
- package/cachedClasses.lua +30 -0
- package/callbacks/customRevive.d.ts +1 -0
- package/callbacks/customRevive.lua +147 -0
- package/callbacks/itemPickup.d.ts +1 -0
- package/callbacks/itemPickup.lua +66 -0
- package/callbacks/postBombInitLate.d.ts +1 -0
- package/callbacks/postBombInitLate.lua +33 -0
- package/callbacks/postBoneSwing.d.ts +1 -0
- package/callbacks/postBoneSwing.lua +50 -0
- package/callbacks/postCollectibleInitFirst.d.ts +1 -0
- package/callbacks/postCollectibleInitFirst.lua +34 -0
- package/callbacks/postCursedTeleport.d.ts +1 -0
- package/callbacks/postCursedTeleport.lua +121 -0
- package/callbacks/postCustomDoorEnter.d.ts +50 -0
- package/callbacks/postCustomDoorEnter.lua +247 -0
- package/callbacks/postDoorRender.d.ts +1 -0
- package/callbacks/postDoorRender.lua +26 -0
- package/callbacks/postDoorUpdate.d.ts +1 -0
- package/callbacks/postDoorUpdate.lua +26 -0
- package/callbacks/postEffectInitLate.d.ts +1 -0
- package/callbacks/postEffectInitLate.lua +33 -0
- package/callbacks/postEffectStateChanged.d.ts +1 -0
- package/callbacks/postEffectStateChanged.lua +39 -0
- package/callbacks/postEsauJr.d.ts +1 -0
- package/callbacks/postEsauJr.lua +69 -0
- package/callbacks/postFamiliarInitLate.d.ts +1 -0
- package/callbacks/postFamiliarInitLate.lua +33 -0
- package/callbacks/postFamiliarStateChanged.d.ts +1 -0
- package/callbacks/postFamiliarStateChanged.lua +39 -0
- package/callbacks/postFlip.d.ts +1 -0
- package/callbacks/postFlip.lua +63 -0
- package/callbacks/postGreedModeWave.d.ts +1 -0
- package/callbacks/postGreedModeWave.lua +34 -0
- package/callbacks/postGridEntity.d.ts +1 -0
- package/callbacks/postGridEntity.lua +107 -0
- package/callbacks/postGridEntityCollision.d.ts +1 -0
- package/callbacks/postGridEntityCollision.lua +67 -0
- package/callbacks/postGridEntityRender.d.ts +1 -0
- package/callbacks/postGridEntityRender.lua +26 -0
- package/callbacks/postHolyMantleRemoved.d.ts +1 -0
- package/callbacks/postHolyMantleRemoved.lua +41 -0
- package/callbacks/postItemDischarged.d.ts +2 -0
- package/callbacks/postItemDischarged.lua +104 -0
- package/callbacks/postKnifeInitLate.d.ts +1 -0
- package/callbacks/postKnifeInitLate.lua +33 -0
- package/callbacks/postLaserInitLate.d.ts +1 -0
- package/callbacks/postLaserInitLate.lua +33 -0
- package/callbacks/postNPCInitLate.d.ts +1 -0
- package/callbacks/postNPCInitLate.lua +33 -0
- package/callbacks/postNPCStateChanged.d.ts +1 -0
- package/callbacks/postNPCStateChanged.lua +39 -0
- package/callbacks/postNewRoomEarly.d.ts +1 -0
- package/callbacks/postNewRoomEarly.lua +67 -0
- package/callbacks/postPickupCollect.d.ts +1 -0
- package/callbacks/postPickupCollect.lua +41 -0
- package/callbacks/postPickupInitLate.d.ts +1 -0
- package/callbacks/postPickupInitLate.lua +33 -0
- package/callbacks/postPickupStateChanged.d.ts +1 -0
- package/callbacks/postPickupStateChanged.lua +39 -0
- package/callbacks/postPitRender.d.ts +1 -0
- package/callbacks/postPitRender.lua +26 -0
- package/callbacks/postPitUpdate.d.ts +1 -0
- package/callbacks/postPitUpdate.lua +26 -0
- package/callbacks/postPlayerChangeHealth.d.ts +1 -0
- package/callbacks/postPlayerChangeHealth.lua +52 -0
- package/callbacks/postPlayerChangeType.d.ts +1 -0
- package/callbacks/postPlayerChangeType.lua +41 -0
- package/callbacks/postPlayerFatalDamage.d.ts +1 -0
- package/callbacks/postPlayerFatalDamage.lua +73 -0
- package/callbacks/postPlayerInitLate.d.ts +1 -0
- package/callbacks/postPlayerInitLate.lua +35 -0
- package/callbacks/postPlayerReordered.d.ts +1 -0
- package/callbacks/postPlayerReordered.lua +114 -0
- package/callbacks/postPoopRender.d.ts +1 -0
- package/callbacks/postPoopRender.lua +26 -0
- package/callbacks/postPoopUpdate.d.ts +1 -0
- package/callbacks/postPoopUpdate.lua +26 -0
- package/callbacks/postPressurePlateRender.d.ts +1 -0
- package/callbacks/postPressurePlateRender.lua +26 -0
- package/callbacks/postPressurePlateUpdate.d.ts +1 -0
- package/callbacks/postPressurePlateUpdate.lua +26 -0
- package/callbacks/postProjectileInitLate.d.ts +1 -0
- package/callbacks/postProjectileInitLate.lua +33 -0
- package/callbacks/postPurchase.d.ts +1 -0
- package/callbacks/postPurchase.lua +51 -0
- package/callbacks/postRockRender.d.ts +1 -0
- package/callbacks/postRockRender.lua +26 -0
- package/callbacks/postRockUpdate.d.ts +1 -0
- package/callbacks/postRockUpdate.lua +26 -0
- package/callbacks/postRoomClearChanged.d.ts +1 -0
- package/callbacks/postRoomClearChanged.lua +42 -0
- package/callbacks/postSacrifice.d.ts +1 -0
- package/callbacks/postSacrifice.lua +44 -0
- package/callbacks/postSlotInitUpdate.d.ts +1 -0
- package/callbacks/postSlotInitUpdate.lua +53 -0
- package/callbacks/postSlotRender.d.ts +1 -0
- package/callbacks/postSlotRender.lua +76 -0
- package/callbacks/postSpikesRender.d.ts +1 -0
- package/callbacks/postSpikesRender.lua +26 -0
- package/callbacks/postSpikesUpdate.d.ts +1 -0
- package/callbacks/postSpikesUpdate.lua +26 -0
- package/callbacks/postTNTRender.d.ts +1 -0
- package/callbacks/postTNTRender.lua +26 -0
- package/callbacks/postTNTUpdate.d.ts +1 -0
- package/callbacks/postTNTUpdate.lua +26 -0
- package/callbacks/postTearInitLate.d.ts +1 -0
- package/callbacks/postTearInitLate.lua +33 -0
- package/callbacks/postTearInitVeryLate.d.ts +1 -0
- package/callbacks/postTearInitVeryLate.lua +36 -0
- package/callbacks/postTransformation.d.ts +1 -0
- package/callbacks/postTransformation.lua +48 -0
- package/callbacks/postTrinketBreak.d.ts +1 -0
- package/callbacks/postTrinketBreak.lua +72 -0
- package/callbacks/preBerserkDeath.d.ts +1 -0
- package/callbacks/preBerserkDeath.lua +38 -0
- package/callbacks/preNewLevel.d.ts +1 -0
- package/callbacks/preNewLevel.lua +45 -0
- package/callbacks/reorderedCallbacks.d.ts +20 -0
- package/callbacks/reorderedCallbacks.lua +108 -0
- package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postBombInitLate.lua +29 -0
- package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
- package/callbacks/subscriptions/postBoneSwing.lua +22 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.lua +29 -0
- package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
- package/callbacks/subscriptions/postCursedTeleport.lua +22 -0
- package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
- package/callbacks/subscriptions/postCustomDoorEnter.lua +35 -0
- package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
- package/callbacks/subscriptions/postCustomRevive.lua +29 -0
- package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
- package/callbacks/subscriptions/postDoorRender.lua +30 -0
- package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postDoorUpdate.lua +30 -0
- package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postEffectInitLate.lua +29 -0
- package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postEffectStateChanged.lua +29 -0
- package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
- package/callbacks/subscriptions/postEsauJr.lua +22 -0
- package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postFamiliarInitLate.lua +29 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.lua +29 -0
- package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
- package/callbacks/subscriptions/postFirstEsauJr.lua +22 -0
- package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
- package/callbacks/subscriptions/postFirstFlip.lua +22 -0
- package/callbacks/subscriptions/postFlip.d.ts +4 -0
- package/callbacks/subscriptions/postFlip.lua +22 -0
- package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
- package/callbacks/subscriptions/postGameStartedReordered.lua +22 -0
- package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
- package/callbacks/subscriptions/postGreedModeWave.lua +22 -0
- package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityBroken.lua +35 -0
- package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityCollision.lua +35 -0
- package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityInit.lua +35 -0
- package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityRemove.lua +33 -0
- package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityRender.lua +35 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.lua +35 -0
- package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityUpdate.lua +35 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.lua +34 -0
- package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
- package/callbacks/subscriptions/postItemDischarged.lua +29 -0
- package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
- package/callbacks/subscriptions/postItemPickup.lua +33 -0
- package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postKnifeInitLate.lua +29 -0
- package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postLaserInitLate.lua +29 -0
- package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postNPCInitLate.lua +29 -0
- package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
- package/callbacks/subscriptions/postNPCStateChanged.lua +33 -0
- package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
- package/callbacks/subscriptions/postNewLevelReordered.lua +22 -0
- package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
- package/callbacks/subscriptions/postNewRoomEarly.lua +22 -0
- package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
- package/callbacks/subscriptions/postNewRoomReordered.lua +22 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.lua +34 -0
- package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
- package/callbacks/subscriptions/postPickupCollect.lua +29 -0
- package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
- package/callbacks/subscriptions/postPickupInitLate.lua +29 -0
- package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postPickupStateChanged.lua +29 -0
- package/callbacks/subscriptions/postPitRender.d.ts +5 -0
- package/callbacks/subscriptions/postPitRender.lua +30 -0
- package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPitUpdate.lua +30 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.lua +34 -0
- package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
- package/callbacks/subscriptions/postPlayerChangeType.lua +29 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.lua +45 -0
- package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerInitLate.lua +34 -0
- package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerInitReordered.lua +34 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.lua +34 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.lua +34 -0
- package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
- package/callbacks/subscriptions/postPoopRender.lua +30 -0
- package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPoopUpdate.lua +30 -0
- package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
- package/callbacks/subscriptions/postPressurePlateRender.lua +30 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.lua +30 -0
- package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postProjectileInitLate.lua +29 -0
- package/callbacks/subscriptions/postPurchase.d.ts +6 -0
- package/callbacks/subscriptions/postPurchase.lua +22 -0
- package/callbacks/subscriptions/postRockRender.d.ts +5 -0
- package/callbacks/subscriptions/postRockRender.lua +30 -0
- package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postRockUpdate.lua +30 -0
- package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
- package/callbacks/subscriptions/postRoomClearChanged.lua +22 -0
- package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
- package/callbacks/subscriptions/postSacrifice.lua +34 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.lua +29 -0
- package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
- package/callbacks/subscriptions/postSlotDestroyed.lua +29 -0
- package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
- package/callbacks/subscriptions/postSlotInit.lua +29 -0
- package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
- package/callbacks/subscriptions/postSlotRender.lua +29 -0
- package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postSlotUpdate.lua +29 -0
- package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
- package/callbacks/subscriptions/postSpikesRender.lua +30 -0
- package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postSpikesUpdate.lua +30 -0
- package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
- package/callbacks/subscriptions/postTNTRender.lua +30 -0
- package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postTNTUpdate.lua +30 -0
- package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postTearInitLate.lua +29 -0
- package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
- package/callbacks/subscriptions/postTearInitVeryLate.lua +29 -0
- package/callbacks/subscriptions/postTransformation.d.ts +5 -0
- package/callbacks/subscriptions/postTransformation.lua +29 -0
- package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
- package/callbacks/subscriptions/postTrinketBreak.lua +29 -0
- package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
- package/callbacks/subscriptions/preBerserkDeath.lua +35 -0
- package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
- package/callbacks/subscriptions/preCustomRevive.lua +38 -0
- package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
- package/callbacks/subscriptions/preItemPickup.lua +33 -0
- package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
- package/callbacks/subscriptions/preNewLevel.lua +22 -0
- package/classes/DefaultMap.d.ts +110 -0
- package/classes/DefaultMap.lua +135 -0
- package/classes/ModUpgraded.d.ts +23 -0
- package/classes/ModUpgraded.lua +43 -0
- package/constants.d.ts +104 -0
- package/constants.lua +86 -0
- package/constantsFirstLast.d.ts +130 -0
- package/constantsFirstLast.lua +113 -0
- package/enums/HealthType.d.ts +16 -0
- package/enums/HealthType.lua +24 -0
- package/enums/ModCallbackCustom.d.ts +860 -0
- package/enums/ModCallbackCustom.lua +159 -0
- package/enums/PocketItemType.d.ts +8 -0
- package/enums/PocketItemType.lua +15 -0
- package/enums/SerializationType.d.ts +5 -0
- package/enums/SerializationType.lua +9 -0
- package/enums/private/CopyableIsaacAPIClassType.d.ts +7 -0
- package/enums/private/CopyableIsaacAPIClassType.lua +8 -0
- package/enums/private/SaveDataKey.d.ts +7 -0
- package/enums/private/SaveDataKey.lua +11 -0
- package/enums/private/SerializationBrand.d.ts +37 -0
- package/enums/private/SerializationBrand.lua +17 -0
- package/features/characterHealthConversion.d.ts +9 -0
- package/features/characterHealthConversion.lua +91 -0
- package/features/characterStats.d.ts +19 -0
- package/features/characterStats.lua +54 -0
- package/features/debugDisplay/debugDisplay.d.ts +2 -0
- package/features/debugDisplay/debugDisplay.lua +181 -0
- package/features/debugDisplay/exports.d.ts +199 -0
- package/features/debugDisplay/exports.lua +223 -0
- package/features/debugDisplay/v.d.ts +44 -0
- package/features/debugDisplay/v.lua +54 -0
- package/features/deployJSONRoom.d.ts +65 -0
- package/features/deployJSONRoom.lua +519 -0
- package/features/disableInputs.d.ts +62 -0
- package/features/disableInputs.lua +134 -0
- package/features/disableSound.d.ts +18 -0
- package/features/disableSound.lua +62 -0
- package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
- package/features/extraConsoleCommands/commandsDisplay.lua +219 -0
- package/features/extraConsoleCommands/commandsSubroutines.d.ts +9 -0
- package/features/extraConsoleCommands/commandsSubroutines.lua +129 -0
- package/features/extraConsoleCommands/init.d.ts +26 -0
- package/features/extraConsoleCommands/init.lua +265 -0
- package/features/extraConsoleCommands/listCommands.d.ts +349 -0
- package/features/extraConsoleCommands/listCommands.lua +1094 -0
- package/features/extraConsoleCommands/v.d.ts +13 -0
- package/features/extraConsoleCommands/v.lua +10 -0
- package/features/fadeInRemover.d.ts +14 -0
- package/features/fadeInRemover.lua +55 -0
- package/features/fastReset.d.ts +14 -0
- package/features/fastReset.lua +59 -0
- package/features/forgottenSwitch.d.ts +5 -0
- package/features/forgottenSwitch.lua +32 -0
- package/features/getCollectibleItemPoolType.d.ts +7 -0
- package/features/getCollectibleItemPoolType.lua +48 -0
- package/features/playerInventory.d.ts +23 -0
- package/features/playerInventory.lua +147 -0
- package/features/ponyDetection.d.ts +6 -0
- package/features/ponyDetection.lua +53 -0
- package/features/preventCollectibleRotation.d.ts +11 -0
- package/features/preventCollectibleRotation.lua +67 -0
- package/features/runInNFrames.d.ts +61 -0
- package/features/runInNFrames.lua +128 -0
- package/features/saveDataManager/constants.d.ts +3 -0
- package/features/saveDataManager/constants.lua +5 -0
- package/features/saveDataManager/exports.d.ts +131 -0
- package/features/saveDataManager/exports.lua +181 -0
- package/features/saveDataManager/load.d.ts +4 -0
- package/features/saveDataManager/load.lua +66 -0
- package/features/saveDataManager/main.d.ts +3 -0
- package/features/saveDataManager/main.lua +125 -0
- package/features/saveDataManager/maps.d.ts +10 -0
- package/features/saveDataManager/maps.lua +11 -0
- package/features/saveDataManager/merge.d.ts +24 -0
- package/features/saveDataManager/merge.lua +144 -0
- package/features/saveDataManager/save.d.ts +4 -0
- package/features/saveDataManager/save.lua +44 -0
- package/features/saveDataManager/serializationBrand.d.ts +1 -0
- package/features/saveDataManager/serializationBrand.lua +17 -0
- package/features/sirenHelpers.d.ts +18 -0
- package/features/sirenHelpers.lua +82 -0
- package/features/taintedLazarusPlayers.d.ts +13 -0
- package/features/taintedLazarusPlayers.lua +85 -0
- package/featuresInitialized.d.ts +1 -0
- package/featuresInitialized.lua +20 -0
- package/functions/array.d.ts +141 -0
- package/functions/array.lua +354 -0
- package/functions/benchmark.d.ts +10 -0
- package/functions/benchmark.lua +38 -0
- package/functions/bitwise.d.ts +4 -0
- package/functions/bitwise.lua +21 -0
- package/functions/boss.d.ts +56 -0
- package/functions/boss.lua +218 -0
- package/functions/cacheFlag.d.ts +8 -0
- package/functions/cacheFlag.lua +11 -0
- package/functions/cards.d.ts +95 -0
- package/functions/cards.lua +234 -0
- package/functions/challenges.d.ts +3 -0
- package/functions/challenges.lua +10 -0
- package/functions/character.d.ts +48 -0
- package/functions/character.lua +96 -0
- package/functions/charge.d.ts +54 -0
- package/functions/charge.lua +162 -0
- package/functions/chargeBar.d.ts +12 -0
- package/functions/chargeBar.lua +47 -0
- package/functions/collectibleCacheFlag.d.ts +23 -0
- package/functions/collectibleCacheFlag.lua +80 -0
- package/functions/collectibleSet.d.ts +9 -0
- package/functions/collectibleSet.lua +54 -0
- package/functions/collectibleTag.d.ts +16 -0
- package/functions/collectibleTag.lua +83 -0
- package/functions/collectibles.d.ts +211 -0
- package/functions/collectibles.lua +412 -0
- package/functions/color.d.ts +45 -0
- package/functions/color.lua +140 -0
- package/functions/debug.d.ts +27 -0
- package/functions/debug.lua +49 -0
- package/functions/deepCopy.d.ts +29 -0
- package/functions/deepCopy.lua +382 -0
- package/functions/deepCopyTests.d.ts +1 -0
- package/functions/deepCopyTests.lua +316 -0
- package/functions/direction.d.ts +4 -0
- package/functions/direction.lua +17 -0
- package/functions/doors.d.ts +117 -0
- package/functions/doors.lua +284 -0
- package/functions/easing.d.ts +30 -0
- package/functions/easing.lua +115 -0
- package/functions/eden.d.ts +3 -0
- package/functions/eden.lua +47 -0
- package/functions/entity.d.ts +131 -0
- package/functions/entity.lua +321 -0
- package/functions/entitySpecific.d.ts +264 -0
- package/functions/entitySpecific.lua +832 -0
- package/functions/entityTypes.d.ts +3 -0
- package/functions/entityTypes.lua +8 -0
- package/functions/enums.d.ts +80 -0
- package/functions/enums.lua +147 -0
- package/functions/familiars.d.ts +60 -0
- package/functions/familiars.lua +85 -0
- package/functions/flag.d.ts +99 -0
- package/functions/flag.lua +124 -0
- package/functions/flying.d.ts +19 -0
- package/functions/flying.lua +77 -0
- package/functions/globals.d.ts +14 -0
- package/functions/globals.lua +236 -0
- package/functions/gridEntity.d.ts +155 -0
- package/functions/gridEntity.lua +368 -0
- package/functions/gridEntitySpecific.d.ts +18 -0
- package/functions/gridEntitySpecific.lua +96 -0
- package/functions/input.d.ts +32 -0
- package/functions/input.lua +117 -0
- package/functions/isaacAPIClass.d.ts +23 -0
- package/functions/isaacAPIClass.lua +47 -0
- package/functions/jsonHelpers.d.ts +18 -0
- package/functions/jsonHelpers.lua +37 -0
- package/functions/jsonRoom.d.ts +12 -0
- package/functions/jsonRoom.lua +91 -0
- package/functions/kColor.d.ts +31 -0
- package/functions/kColor.lua +110 -0
- package/functions/language.d.ts +8 -0
- package/functions/language.lua +13 -0
- package/functions/level.d.ts +1 -0
- package/functions/level.lua +29 -0
- package/functions/log.d.ts +78 -0
- package/functions/log.lua +547 -0
- package/functions/map.d.ts +22 -0
- package/functions/map.lua +61 -0
- package/functions/math.d.ts +50 -0
- package/functions/math.lua +118 -0
- package/functions/mergeTests.d.ts +1 -0
- package/functions/mergeTests.lua +182 -0
- package/functions/npc.d.ts +40 -0
- package/functions/npc.lua +128 -0
- package/functions/pickupVariants.d.ts +23 -0
- package/functions/pickupVariants.lua +48 -0
- package/functions/pickups.d.ts +132 -0
- package/functions/pickups.lua +474 -0
- package/functions/pills.d.ts +69 -0
- package/functions/pills.lua +128 -0
- package/functions/player.d.ts +296 -0
- package/functions/player.lua +777 -0
- package/functions/playerDataStructures.d.ts +92 -0
- package/functions/playerDataStructures.lua +103 -0
- package/functions/playerHealth.d.ts +22 -0
- package/functions/playerHealth.lua +296 -0
- package/functions/playerIndex.d.ts +68 -0
- package/functions/playerIndex.lua +174 -0
- package/functions/pocketItems.d.ts +33 -0
- package/functions/pocketItems.lua +104 -0
- package/functions/positionVelocity.d.ts +64 -0
- package/functions/positionVelocity.lua +154 -0
- package/functions/random.d.ts +42 -0
- package/functions/random.lua +70 -0
- package/functions/revive.d.ts +31 -0
- package/functions/revive.lua +117 -0
- package/functions/rng.d.ts +53 -0
- package/functions/rng.lua +148 -0
- package/functions/roomData.d.ts +108 -0
- package/functions/roomData.lua +160 -0
- package/functions/roomGrid.d.ts +40 -0
- package/functions/roomGrid.lua +80 -0
- package/functions/roomShape.d.ts +43 -0
- package/functions/roomShape.lua +67 -0
- package/functions/rooms.d.ts +194 -0
- package/functions/rooms.lua +482 -0
- package/functions/run.d.ts +12 -0
- package/functions/run.lua +33 -0
- package/functions/seeds.d.ts +9 -0
- package/functions/seeds.lua +19 -0
- package/functions/serialization.d.ts +11 -0
- package/functions/serialization.lua +69 -0
- package/functions/set.d.ts +39 -0
- package/functions/set.lua +83 -0
- package/functions/sound.d.ts +1 -0
- package/functions/sound.lua +13 -0
- package/functions/spawnCollectible.d.ts +31 -0
- package/functions/spawnCollectible.lua +94 -0
- package/functions/sprite.d.ts +36 -0
- package/functions/sprite.lua +89 -0
- package/functions/stage.d.ts +35 -0
- package/functions/stage.lua +86 -0
- package/functions/string.d.ts +13 -0
- package/functions/string.lua +42 -0
- package/functions/table.d.ts +36 -0
- package/functions/table.lua +98 -0
- package/functions/tears.d.ts +22 -0
- package/functions/tears.lua +26 -0
- package/functions/transformations.d.ts +30 -0
- package/functions/transformations.lua +114 -0
- package/functions/trinketCacheFlag.d.ts +10 -0
- package/functions/trinketCacheFlag.lua +53 -0
- package/functions/trinketGive.d.ts +38 -0
- package/functions/trinketGive.lua +114 -0
- package/functions/trinkets.d.ts +73 -0
- package/functions/trinkets.lua +167 -0
- package/functions/tstlClass.d.ts +20 -0
- package/functions/tstlClass.lua +65 -0
- package/functions/ui.d.ts +34 -0
- package/functions/ui.lua +111 -0
- package/functions/utils.d.ts +113 -0
- package/functions/utils.lua +182 -0
- package/functions/vector.d.ts +32 -0
- package/functions/vector.lua +127 -0
- package/index.d.ts +129 -0
- package/index.lua +900 -0
- package/initCustomCallbacks.d.ts +2 -0
- package/initCustomCallbacks.lua +178 -0
- package/initFeatures.d.ts +3 -0
- package/initFeatures.lua +51 -0
- package/interfaces/AddCallbackParameterCustom.d.ts +153 -0
- package/interfaces/AddCallbackParameterCustom.lua +4 -0
- package/interfaces/ChargeBarSprites.d.ts +13 -0
- package/interfaces/ChargeBarSprites.lua +2 -0
- package/interfaces/JSONDoor.d.ts +11 -0
- package/interfaces/JSONDoor.lua +2 -0
- package/interfaces/JSONEntity.d.ts +13 -0
- package/interfaces/JSONEntity.lua +2 -0
- package/interfaces/JSONRoom.d.ts +26 -0
- package/interfaces/JSONRoom.lua +2 -0
- package/interfaces/JSONRooms.d.ts +11 -0
- package/interfaces/JSONRooms.lua +2 -0
- package/interfaces/JSONSpawn.d.ts +11 -0
- package/interfaces/JSONSpawn.lua +2 -0
- package/interfaces/PlayerHealth.d.ts +15 -0
- package/interfaces/PlayerHealth.lua +2 -0
- package/interfaces/PocketItemDescription.d.ts +8 -0
- package/interfaces/PocketItemDescription.lua +2 -0
- package/interfaces/SaveData.d.ts +29 -0
- package/interfaces/SaveData.lua +2 -0
- package/interfaces/TrinketSituation.d.ts +8 -0
- package/interfaces/TrinketSituation.lua +2 -0
- package/interfaces/private/TSTLClassMetatable.d.ts +10 -0
- package/interfaces/private/TSTLClassMetatable.lua +2 -0
- package/lualib_bundle.lua +2475 -0
- package/maps/cardMap.d.ts +3 -0
- package/maps/cardMap.lua +212 -0
- package/maps/characterMap.d.ts +3 -0
- package/maps/characterMap.lua +90 -0
- package/maps/collectibleDescriptionMap.d.ts +3 -0
- package/maps/collectibleDescriptionMap.lua +728 -0
- package/maps/collectibleNameMap.d.ts +3 -0
- package/maps/collectibleNameMap.lua +728 -0
- package/maps/defaultPlayerStatMap.d.ts +3 -0
- package/maps/defaultPlayerStatMap.lua +25 -0
- package/maps/gridEntityTypeToBrokenStateMap.d.ts +2 -0
- package/maps/gridEntityTypeToBrokenStateMap.lua +26 -0
- package/maps/gridEntityXMLMap.d.ts +9 -0
- package/maps/gridEntityXMLMap.lua +53 -0
- package/maps/pillEffectMap.d.ts +3 -0
- package/maps/pillEffectMap.lua +90 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.lua +17 -0
- package/maps/roomTypeMap.d.ts +3 -0
- package/maps/roomTypeMap.lua +45 -0
- package/maps/trinketDescriptionMap.d.ts +3 -0
- package/maps/trinketDescriptionMap.lua +196 -0
- package/maps/trinketNameMap.d.ts +3 -0
- package/maps/trinketNameMap.lua +196 -0
- package/objects/LRoomShapeToRectangles.d.ts +13 -0
- package/objects/LRoomShapeToRectangles.lua +35 -0
- package/objects/callbackRegisterFunctions.d.ts +5 -0
- package/objects/callbackRegisterFunctions.lua +231 -0
- package/objects/cardDescriptions.d.ts +5 -0
- package/objects/cardDescriptions.lua +105 -0
- package/objects/cardNames.d.ts +5 -0
- package/objects/cardNames.lua +105 -0
- package/objects/cardTypes.d.ts +5 -0
- package/objects/cardTypes.lua +106 -0
- package/objects/challengeNames.d.ts +5 -0
- package/objects/challengeNames.lua +53 -0
- package/objects/characterNames.d.ts +5 -0
- package/objects/characterNames.lua +49 -0
- package/objects/coinSubTypeToValue.d.ts +5 -0
- package/objects/coinSubTypeToValue.lua +15 -0
- package/objects/colors.d.ts +17 -0
- package/objects/colors.lua +16 -0
- package/objects/directionNames.d.ts +4 -0
- package/objects/directionNames.lua +11 -0
- package/objects/directionToDegrees.d.ts +4 -0
- package/objects/directionToDegrees.lua +11 -0
- package/objects/directionToVector.d.ts +4 -0
- package/objects/directionToVector.lua +13 -0
- package/objects/doorSlotFlagToDoorSlot.d.ts +5 -0
- package/objects/doorSlotFlagToDoorSlot.lua +16 -0
- package/objects/doorSlotToDirection.d.ts +4 -0
- package/objects/doorSlotToDirection.lua +16 -0
- package/objects/isaacAPIClassTypeToBrand.d.ts +5 -0
- package/objects/isaacAPIClassTypeToBrand.lua +7 -0
- package/objects/isaacAPIClassTypeToCopyFunction.d.ts +5 -0
- package/objects/isaacAPIClassTypeToCopyFunction.lua +13 -0
- package/objects/languageNames.d.ts +4 -0
- package/objects/languageNames.lua +13 -0
- package/objects/pillEffectClasses.d.ts +5 -0
- package/objects/pillEffectClasses.lua +59 -0
- package/objects/pillEffectNames.d.ts +5 -0
- package/objects/pillEffectNames.lua +57 -0
- package/objects/pillEffectTypes.d.ts +5 -0
- package/objects/pillEffectTypes.lua +58 -0
- package/objects/roomShapeBounds.d.ts +8 -0
- package/objects/roomShapeBounds.lua +26 -0
- package/objects/roomShapeLayoutSizes.d.ts +10 -0
- package/objects/roomShapeLayoutSizes.lua +29 -0
- package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
- package/objects/roomShapeToBottomRightPosition.lua +22 -0
- package/objects/roomShapeToDoorSlots.d.ts +4 -0
- package/objects/roomShapeToDoorSlots.lua +46 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +8 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +89 -0
- package/objects/roomShapeToGridWidth.d.ts +4 -0
- package/objects/roomShapeToGridWidth.lua +20 -0
- package/objects/roomShapeToTopLeftPosition.d.ts +8 -0
- package/objects/roomShapeToTopLeftPosition.lua +24 -0
- package/objects/roomShapeVolumes.d.ts +13 -0
- package/objects/roomShapeVolumes.lua +30 -0
- package/objects/roomTypeNames.d.ts +5 -0
- package/objects/roomTypeNames.lua +37 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +4 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +13 -0
- package/objects/stageTypeToLetter.d.ts +4 -0
- package/objects/stageTypeToLetter.lua +12 -0
- package/objects/transformationNames.d.ts +5 -0
- package/objects/transformationNames.lua +21 -0
- package/package.json +3 -4
- package/patchErrorFunctions.d.ts +1 -0
- package/patchErrorFunctions.lua +58 -0
- package/sets/LRoomShapesSet.d.ts +2 -0
- package/sets/LRoomShapesSet.lua +8 -0
- package/sets/bossSets.d.ts +4 -0
- package/sets/bossSets.lua +554 -0
- package/sets/charactersThatStartWithAnActiveItemSet.d.ts +2 -0
- package/sets/charactersThatStartWithAnActiveItemSet.lua +20 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +2 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +8 -0
- package/sets/charactersWithFreeDevilDealsSet.d.ts +2 -0
- package/sets/charactersWithFreeDevilDealsSet.lua +8 -0
- package/sets/charactersWithNoRedHeartsSet.d.ts +6 -0
- package/sets/charactersWithNoRedHeartsSet.lua +19 -0
- package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
- package/sets/charactersWithNoSoulHeartsSet.lua +16 -0
- package/sets/chestPickupVariantsSet.d.ts +2 -0
- package/sets/chestPickupVariantsSet.lua +21 -0
- package/sets/familiarsThatShootPlayerTearsSet.d.ts +2 -0
- package/sets/familiarsThatShootPlayerTearsSet.lua +17 -0
- package/sets/lostStyleCharactersSet.d.ts +6 -0
- package/sets/lostStyleCharactersSet.lua +16 -0
- package/sets/mineShaftRoomSubTypesSet.d.ts +2 -0
- package/sets/mineShaftRoomSubTypesSet.lua +14 -0
- package/sets/redHeartSubTypesSet.d.ts +2 -0
- package/sets/redHeartSubTypesSet.lua +8 -0
- package/sets/sinEntityTypesSet.d.ts +2 -0
- package/sets/sinEntityTypesSet.lua +16 -0
- package/sets/singleUseActiveCollectibleTypesSet.d.ts +2 -0
- package/sets/singleUseActiveCollectibleTypesSet.lua +17 -0
- package/sets/storyBossesSet.d.ts +2 -0
- package/sets/storyBossesSet.lua +22 -0
- package/types/AnyEntity.d.ts +2 -0
- package/types/AnyEntity.lua +2 -0
- package/types/CollectibleIndex.d.ts +16 -0
- package/types/CollectibleIndex.lua +2 -0
- package/types/PickingUpItem.d.ts +34 -0
- package/types/PickingUpItem.lua +34 -0
- package/types/PlayerIndex.d.ts +16 -0
- package/types/PlayerIndex.lua +2 -0
- package/types/private/IsaacAPIClass.d.ts +4 -0
- package/types/private/IsaacAPIClass.lua +2 -0
- package/types/private/SerializedIsaacAPIClass.d.ts +4 -0
- package/types/private/SerializedIsaacAPIClass.lua +2 -0
- package/types/private/TSTLClass.d.ts +4 -0
- package/types/private/TSTLClass.lua +2 -0
- package/upgradeMod.d.ts +23 -0
- package/upgradeMod.lua +51 -0
- package/.eslintrc.js +0 -70
- package/build.sh +0 -27
- package/docs.sh +0 -21
- package/lint.sh +0 -34
- package/project.json +0 -37
- package/release.sh +0 -16
- package/scripts/.eslintrc.js +0 -21
- package/scripts/docsEntryPointLint.ts +0 -135
- package/scripts/tsconfig.json +0 -5
- package/src/cachedClasses.ts +0 -39
- package/src/callbacks/customRevive.ts +0 -206
- package/src/callbacks/itemPickup.ts +0 -101
- package/src/callbacks/postBombInitLate.ts +0 -36
- package/src/callbacks/postBoneSwing.ts +0 -64
- package/src/callbacks/postCollectibleInitFirst.ts +0 -39
- package/src/callbacks/postCursedTeleport.ts +0 -183
- package/src/callbacks/postCustomDoorEnter.ts +0 -297
- package/src/callbacks/postDoorRender.ts +0 -26
- package/src/callbacks/postDoorUpdate.ts +0 -26
- package/src/callbacks/postEffectInitLate.ts +0 -36
- package/src/callbacks/postEffectStateChanged.ts +0 -43
- package/src/callbacks/postEsauJr.ts +0 -107
- package/src/callbacks/postFamiliarInitLate.ts +0 -36
- package/src/callbacks/postFamiliarStateChanged.ts +0 -43
- package/src/callbacks/postFlip.ts +0 -88
- package/src/callbacks/postGreedModeWave.ts +0 -41
- package/src/callbacks/postGridEntity.ts +0 -159
- package/src/callbacks/postGridEntityCollision.ts +0 -69
- package/src/callbacks/postGridEntityRender.ts +0 -26
- package/src/callbacks/postHolyMantleRemoved.ts +0 -55
- package/src/callbacks/postItemDischarged.ts +0 -149
- package/src/callbacks/postKnifeInitLate.ts +0 -36
- package/src/callbacks/postLaserInitLate.ts +0 -36
- package/src/callbacks/postNPCInitLate.ts +0 -36
- package/src/callbacks/postNPCStateChanged.ts +0 -42
- package/src/callbacks/postNewRoomEarly.ts +0 -90
- package/src/callbacks/postPickupCollect.ts +0 -48
- package/src/callbacks/postPickupInitLate.ts +0 -36
- package/src/callbacks/postPickupStateChanged.ts +0 -43
- package/src/callbacks/postPitRender.ts +0 -26
- package/src/callbacks/postPitUpdate.ts +0 -26
- package/src/callbacks/postPlayerChangeHealth.ts +0 -62
- package/src/callbacks/postPlayerChangeType.ts +0 -56
- package/src/callbacks/postPlayerFatalDamage.ts +0 -98
- package/src/callbacks/postPlayerInitLate.ts +0 -37
- package/src/callbacks/postPlayerReordered.ts +0 -142
- package/src/callbacks/postPoopRender.ts +0 -26
- package/src/callbacks/postPoopUpdate.ts +0 -26
- package/src/callbacks/postPressurePlateRender.ts +0 -26
- package/src/callbacks/postPressurePlateUpdate.ts +0 -26
- package/src/callbacks/postProjectileInitLate.ts +0 -36
- package/src/callbacks/postPurchase.ts +0 -64
- package/src/callbacks/postRockRender.ts +0 -26
- package/src/callbacks/postRockUpdate.ts +0 -26
- package/src/callbacks/postRoomClearChanged.ts +0 -52
- package/src/callbacks/postSacrifice.ts +0 -62
- package/src/callbacks/postSlotInitUpdate.ts +0 -63
- package/src/callbacks/postSlotRender.ts +0 -96
- package/src/callbacks/postSpikesRender.ts +0 -26
- package/src/callbacks/postSpikesUpdate.ts +0 -26
- package/src/callbacks/postTNTRender.ts +0 -26
- package/src/callbacks/postTNTUpdate.ts +0 -26
- package/src/callbacks/postTearInitLate.ts +0 -36
- package/src/callbacks/postTearInitVeryLate.ts +0 -41
- package/src/callbacks/postTransformation.ts +0 -59
- package/src/callbacks/postTrinketBreak.ts +0 -110
- package/src/callbacks/preBerserkDeath.ts +0 -49
- package/src/callbacks/preNewLevel.ts +0 -55
- package/src/callbacks/reorderedCallbacks.ts +0 -166
- package/src/callbacks/subscriptions/postBombInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postBoneSwing.ts +0 -24
- package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
- package/src/callbacks/subscriptions/postCursedTeleport.ts +0 -24
- package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
- package/src/callbacks/subscriptions/postCustomRevive.ts +0 -36
- package/src/callbacks/subscriptions/postDoorRender.ts +0 -35
- package/src/callbacks/subscriptions/postDoorUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postEffectInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
- package/src/callbacks/subscriptions/postEsauJr.ts +0 -24
- package/src/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
- package/src/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
- package/src/callbacks/subscriptions/postFirstFlip.ts +0 -24
- package/src/callbacks/subscriptions/postFlip.ts +0 -22
- package/src/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
- package/src/callbacks/subscriptions/postGreedModeWave.ts +0 -24
- package/src/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
- package/src/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
- package/src/callbacks/subscriptions/postGridEntityInit.ts +0 -51
- package/src/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
- package/src/callbacks/subscriptions/postGridEntityRender.ts +0 -51
- package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
- package/src/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
- package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
- package/src/callbacks/subscriptions/postItemDischarged.ts +0 -43
- package/src/callbacks/subscriptions/postItemPickup.ts +0 -64
- package/src/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postLaserInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postNPCInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
- package/src/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
- package/src/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
- package/src/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
- package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPickupCollect.ts +0 -34
- package/src/callbacks/subscriptions/postPickupInitLate.ts +0 -31
- package/src/callbacks/subscriptions/postPickupStateChanged.ts +0 -35
- package/src/callbacks/subscriptions/postPitRender.ts +0 -35
- package/src/callbacks/subscriptions/postPitUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -45
- package/src/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -67
- package/src/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPoopRender.ts +0 -35
- package/src/callbacks/subscriptions/postPoopUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
- package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
- package/src/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
- package/src/callbacks/subscriptions/postPurchase.ts +0 -31
- package/src/callbacks/subscriptions/postRockRender.ts +0 -35
- package/src/callbacks/subscriptions/postRockUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postRoomClearChanged.ts +0 -24
- package/src/callbacks/subscriptions/postSacrifice.ts +0 -43
- package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
- package/src/callbacks/subscriptions/postSlotDestroyed.ts +0 -32
- package/src/callbacks/subscriptions/postSlotInit.ts +0 -32
- package/src/callbacks/subscriptions/postSlotRender.ts +0 -32
- package/src/callbacks/subscriptions/postSlotUpdate.ts +0 -32
- package/src/callbacks/subscriptions/postSpikesRender.ts +0 -35
- package/src/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postTNTRender.ts +0 -35
- package/src/callbacks/subscriptions/postTNTUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postTearInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
- package/src/callbacks/subscriptions/postTransformation.ts +0 -40
- package/src/callbacks/subscriptions/postTrinketBreak.ts +0 -38
- package/src/callbacks/subscriptions/preBerserkDeath.ts +0 -42
- package/src/callbacks/subscriptions/preCustomRevive.ts +0 -45
- package/src/callbacks/subscriptions/preItemPickup.ts +0 -64
- package/src/callbacks/subscriptions/preNewLevel.ts +0 -24
- package/src/classes/DefaultMap.ts +0 -220
- package/src/classes/ModUpgraded.ts +0 -83
- package/src/constants.ts +0 -140
- package/src/constantsFirstLast.ts +0 -212
- package/src/enums/HealthType.ts +0 -16
- package/src/enums/ModCallbackCustom.ts +0 -943
- package/src/enums/PocketItemType.ts +0 -8
- package/src/enums/SerializationType.ts +0 -5
- package/src/enums/private/CopyableIsaacAPIClassType.ts +0 -7
- package/src/enums/private/SaveDataKey.ts +0 -14
- package/src/enums/private/SerializationBrand.ts +0 -42
- package/src/features/characterHealthConversion.ts +0 -116
- package/src/features/characterStats.ts +0 -61
- package/src/features/debugDisplay/debugDisplay.ts +0 -221
- package/src/features/debugDisplay/exports.ts +0 -368
- package/src/features/debugDisplay/v.ts +0 -65
- package/src/features/deployJSONRoom.ts +0 -672
- package/src/features/disableInputs.ts +0 -193
- package/src/features/disableSound.ts +0 -77
- package/src/features/extraConsoleCommands/commandsDisplay.ts +0 -290
- package/src/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
- package/src/features/extraConsoleCommands/init.ts +0 -334
- package/src/features/extraConsoleCommands/listCommands.ts +0 -1298
- package/src/features/extraConsoleCommands/v.ts +0 -14
- package/src/features/fadeInRemover.ts +0 -60
- package/src/features/fastReset.ts +0 -75
- package/src/features/forgottenSwitch.ts +0 -50
- package/src/features/getCollectibleItemPoolType.ts +0 -66
- package/src/features/playerInventory.ts +0 -187
- package/src/features/ponyDetection.ts +0 -74
- package/src/features/preventCollectibleRotation.ts +0 -113
- package/src/features/runInNFrames.ts +0 -148
- package/src/features/saveDataManager/constants.ts +0 -4
- package/src/features/saveDataManager/exports.ts +0 -230
- package/src/features/saveDataManager/load.ts +0 -90
- package/src/features/saveDataManager/main.ts +0 -187
- package/src/features/saveDataManager/maps.ts +0 -13
- package/src/features/saveDataManager/merge.ts +0 -182
- package/src/features/saveDataManager/save.ts +0 -66
- package/src/features/saveDataManager/serializationBrand.ts +0 -15
- package/src/features/sirenHelpers.ts +0 -129
- package/src/features/taintedLazarusPlayers.ts +0 -113
- package/src/featuresInitialized.ts +0 -20
- package/src/functions/array.ts +0 -412
- package/src/functions/benchmark.ts +0 -36
- package/src/functions/bitwise.ts +0 -24
- package/src/functions/boss.ts +0 -227
- package/src/functions/cacheFlag.ts +0 -12
- package/src/functions/cards.ts +0 -267
- package/src/functions/challenges.ts +0 -11
- package/src/functions/character.ts +0 -124
- package/src/functions/charge.ts +0 -237
- package/src/functions/chargeBar.ts +0 -67
- package/src/functions/collectibleCacheFlag.ts +0 -90
- package/src/functions/collectibleSet.ts +0 -57
- package/src/functions/collectibleTag.ts +0 -89
- package/src/functions/collectibles.ts +0 -610
- package/src/functions/color.ts +0 -149
- package/src/functions/debug.ts +0 -65
- package/src/functions/deepCopy.ts +0 -508
- package/src/functions/deepCopyTests.ts +0 -390
- package/src/functions/direction.ts +0 -16
- package/src/functions/doors.ts +0 -343
- package/src/functions/easing.ts +0 -182
- package/src/functions/eden.ts +0 -47
- package/src/functions/entity.ts +0 -352
- package/src/functions/entitySpecific.ts +0 -889
- package/src/functions/entityTypes.ts +0 -6
- package/src/functions/enums.ts +0 -145
- package/src/functions/familiars.ts +0 -106
- package/src/functions/flag.ts +0 -165
- package/src/functions/flying.ts +0 -117
- package/src/functions/globals.ts +0 -249
- package/src/functions/gridEntity.ts +0 -511
- package/src/functions/gridEntitySpecific.ts +0 -112
- package/src/functions/input.ts +0 -139
- package/src/functions/isaacAPIClass.ts +0 -65
- package/src/functions/jsonHelpers.ts +0 -45
- package/src/functions/jsonRoom.ts +0 -100
- package/src/functions/kColor.ts +0 -130
- package/src/functions/language.ts +0 -13
- package/src/functions/level.ts +0 -31
- package/src/functions/log.ts +0 -660
- package/src/functions/map.ts +0 -56
- package/src/functions/math.ts +0 -149
- package/src/functions/mergeTests.ts +0 -288
- package/src/functions/npc.ts +0 -148
- package/src/functions/pickupVariants.ts +0 -60
- package/src/functions/pickups.ts +0 -449
- package/src/functions/pills.ts +0 -182
- package/src/functions/player.ts +0 -975
- package/src/functions/playerDataStructures.ts +0 -150
- package/src/functions/playerHealth.ts +0 -318
- package/src/functions/playerIndex.ts +0 -195
- package/src/functions/pocketItems.ts +0 -149
- package/src/functions/positionVelocity.ts +0 -188
- package/src/functions/random.ts +0 -77
- package/src/functions/revive.ts +0 -201
- package/src/functions/rng.ts +0 -177
- package/src/functions/roomData.ts +0 -199
- package/src/functions/roomGrid.ts +0 -109
- package/src/functions/roomShape.ts +0 -80
- package/src/functions/rooms.ts +0 -667
- package/src/functions/run.ts +0 -36
- package/src/functions/seeds.ts +0 -19
- package/src/functions/serialization.ts +0 -97
- package/src/functions/set.ts +0 -95
- package/src/functions/sound.ts +0 -9
- package/src/functions/spawnCollectible.ts +0 -104
- package/src/functions/sprite.ts +0 -107
- package/src/functions/stage.ts +0 -125
- package/src/functions/string.ts +0 -47
- package/src/functions/table.ts +0 -139
- package/src/functions/tears.ts +0 -32
- package/src/functions/transformations.ts +0 -137
- package/src/functions/trinketCacheFlag.ts +0 -60
- package/src/functions/trinketGive.ts +0 -157
- package/src/functions/trinkets.ts +0 -215
- package/src/functions/tstlClass.ts +0 -91
- package/src/functions/ui.ts +0 -138
- package/src/functions/utils.ts +0 -200
- package/src/functions/vector.ts +0 -145
- package/src/index.ts +0 -162
- package/src/initCustomCallbacks.ts +0 -120
- package/src/initFeatures.ts +0 -37
- package/src/interfaces/AddCallbackParameterCustom.ts +0 -174
- package/src/interfaces/ChargeBarSprites.ts +0 -12
- package/src/interfaces/JSONDoor.ts +0 -13
- package/src/interfaces/JSONEntity.ts +0 -16
- package/src/interfaces/JSONRoom.ts +0 -36
- package/src/interfaces/JSONRooms.ts +0 -12
- package/src/interfaces/JSONSpawn.ts +0 -14
- package/src/interfaces/PlayerHealth.ts +0 -16
- package/src/interfaces/PocketItemDescription.ts +0 -9
- package/src/interfaces/SaveData.ts +0 -29
- package/src/interfaces/TrinketSituation.ts +0 -9
- package/src/interfaces/private/TSTLClassMetatable.ts +0 -8
- package/src/maps/cardMap.ts +0 -209
- package/src/maps/characterMap.ts +0 -87
- package/src/maps/collectibleDescriptionMap.ts +0 -732
- package/src/maps/collectibleNameMap.ts +0 -731
- package/src/maps/defaultPlayerStatMap.ts +0 -17
- package/src/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
- package/src/maps/gridEntityXMLMap.ts +0 -176
- package/src/maps/pillEffectMap.ts +0 -88
- package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
- package/src/maps/roomTypeMap.ts +0 -40
- package/src/maps/trinketDescriptionMap.ts +0 -200
- package/src/maps/trinketNameMap.ts +0 -198
- package/src/objects/LRoomShapeToRectangles.ts +0 -44
- package/src/objects/callbackRegisterFunctions.ts +0 -171
- package/src/objects/cardDescriptions.ts +0 -105
- package/src/objects/cardNames.ts +0 -105
- package/src/objects/cardTypes.ts +0 -104
- package/src/objects/challengeNames.ts +0 -52
- package/src/objects/characterNames.ts +0 -48
- package/src/objects/coinSubTypeToValue.ts +0 -14
- package/src/objects/colors.ts +0 -16
- package/src/objects/directionNames.ts +0 -11
- package/src/objects/directionToDegrees.ts +0 -11
- package/src/objects/directionToVector.ts +0 -12
- package/src/objects/doorSlotFlagToDoorSlot.ts +0 -16
- package/src/objects/doorSlotToDirection.ts +0 -14
- package/src/objects/isaacAPIClassTypeToBrand.ts +0 -11
- package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
- package/src/objects/languageNames.ts +0 -13
- package/src/objects/pillEffectClasses.ts +0 -63
- package/src/objects/pillEffectNames.ts +0 -57
- package/src/objects/pillEffectTypes.ts +0 -62
- package/src/objects/roomShapeBounds.ts +0 -71
- package/src/objects/roomShapeLayoutSizes.ts +0 -45
- package/src/objects/roomShapeToBottomRightPosition.ts +0 -25
- package/src/objects/roomShapeToDoorSlots.ts +0 -83
- package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
- package/src/objects/roomShapeToGridWidth.ts +0 -21
- package/src/objects/roomShapeToTopLeftPosition.ts +0 -26
- package/src/objects/roomShapeVolumes.ts +0 -38
- package/src/objects/roomTypeNames.ts +0 -36
- package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
- package/src/objects/stageTypeToLetter.ts +0 -15
- package/src/objects/transformationNames.ts +0 -20
- package/src/patchErrorFunctions.ts +0 -92
- package/src/sets/LRoomShapesSet.ts +0 -8
- package/src/sets/bossSets.ts +0 -470
- package/src/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
- package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
- package/src/sets/charactersWithFreeDevilDealsSet.ts +0 -4
- package/src/sets/charactersWithNoRedHeartsSet.ts +0 -17
- package/src/sets/charactersWithNoSoulHeartsSet.ts +0 -14
- package/src/sets/chestPickupVariantsSet.ts +0 -16
- package/src/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
- package/src/sets/lostStyleCharactersSet.ts +0 -13
- package/src/sets/mineShaftRoomSubTypesSet.ts +0 -10
- package/src/sets/redHeartSubTypesSet.ts +0 -7
- package/src/sets/sinEntityTypesSet.ts +0 -11
- package/src/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
- package/src/sets/storyBossesSet.ts +0 -17
- package/src/types/AnyEntity.ts +0 -12
- package/src/types/AwaitingTextInput.d.ts +0 -2
- package/src/types/CollectibleIndex.ts +0 -14
- package/src/types/PickingUpItem.ts +0 -89
- package/src/types/PlayerIndex.ts +0 -13
- package/src/types/private/IsaacAPIClass.ts +0 -3
- package/src/types/private/SerializedIsaacAPIClass.ts +0 -3
- package/src/types/private/TSTLClass.ts +0 -3
- package/src/upgradeMod.ts +0 -55
- package/tsconfig.json +0 -42
- package/typedoc.json +0 -158
- package/website-root.md +0 -11
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
3
|
+
local Set = ____lualib.Set
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
6
|
+
local __TS__Spread = ____lualib.__TS__Spread
|
|
7
|
+
local Map = ____lualib.Map
|
|
8
|
+
local __TS__StringIncludes = ____lualib.__TS__StringIncludes
|
|
9
|
+
local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
|
|
10
|
+
local ____exports = {}
|
|
11
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
12
|
+
local AngelRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.AngelRoomSubType
|
|
13
|
+
local Dimension = ____isaac_2Dtypescript_2Ddefinitions.Dimension
|
|
14
|
+
local Direction = ____isaac_2Dtypescript_2Ddefinitions.Direction
|
|
15
|
+
local DoorSlot = ____isaac_2Dtypescript_2Ddefinitions.DoorSlot
|
|
16
|
+
local DungeonSubType = ____isaac_2Dtypescript_2Ddefinitions.DungeonSubType
|
|
17
|
+
local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
|
|
18
|
+
local HomeRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.HomeRoomSubType
|
|
19
|
+
local RoomDescriptorFlag = ____isaac_2Dtypescript_2Ddefinitions.RoomDescriptorFlag
|
|
20
|
+
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
|
|
21
|
+
local RoomTransitionAnim = ____isaac_2Dtypescript_2Ddefinitions.RoomTransitionAnim
|
|
22
|
+
local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
|
|
23
|
+
local SoundEffect = ____isaac_2Dtypescript_2Ddefinitions.SoundEffect
|
|
24
|
+
local StageID = ____isaac_2Dtypescript_2Ddefinitions.StageID
|
|
25
|
+
local ____cachedClasses = require("cachedClasses")
|
|
26
|
+
local game = ____cachedClasses.game
|
|
27
|
+
local sfxManager = ____cachedClasses.sfxManager
|
|
28
|
+
local ____constants = require("constants")
|
|
29
|
+
local LEVEL_GRID_ROW_WIDTH = ____constants.LEVEL_GRID_ROW_WIDTH
|
|
30
|
+
local MAX_LEVEL_GRID_INDEX = ____constants.MAX_LEVEL_GRID_INDEX
|
|
31
|
+
local NUM_DIMENSIONS = ____constants.NUM_DIMENSIONS
|
|
32
|
+
local ____roomShapeToDoorSlotsToGridIndexDelta = require("objects.roomShapeToDoorSlotsToGridIndexDelta")
|
|
33
|
+
local ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = ____roomShapeToDoorSlotsToGridIndexDelta.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA
|
|
34
|
+
local ____roomTypeNames = require("objects.roomTypeNames")
|
|
35
|
+
local DEFAULT_ROOM_TYPE_NAME = ____roomTypeNames.DEFAULT_ROOM_TYPE_NAME
|
|
36
|
+
local ROOM_TYPE_NAMES = ____roomTypeNames.ROOM_TYPE_NAMES
|
|
37
|
+
local ____mineShaftRoomSubTypesSet = require("sets.mineShaftRoomSubTypesSet")
|
|
38
|
+
local MINE_SHAFT_ROOM_SUB_TYPE_SET = ____mineShaftRoomSubTypesSet.MINE_SHAFT_ROOM_SUB_TYPE_SET
|
|
39
|
+
local ____doors = require("functions.doors")
|
|
40
|
+
local closeAllDoors = ____doors.closeAllDoors
|
|
41
|
+
local getDoors = ____doors.getDoors
|
|
42
|
+
local isHiddenSecretRoomDoor = ____doors.isHiddenSecretRoomDoor
|
|
43
|
+
local openDoorFast = ____doors.openDoorFast
|
|
44
|
+
local ____entity = require("functions.entity")
|
|
45
|
+
local getEntities = ____entity.getEntities
|
|
46
|
+
local ____flag = require("functions.flag")
|
|
47
|
+
local hasFlag = ____flag.hasFlag
|
|
48
|
+
local ____positionVelocity = require("functions.positionVelocity")
|
|
49
|
+
local getEntityPositions = ____positionVelocity.getEntityPositions
|
|
50
|
+
local getEntityVelocities = ____positionVelocity.getEntityVelocities
|
|
51
|
+
local setEntityPositions = ____positionVelocity.setEntityPositions
|
|
52
|
+
local setEntityVelocities = ____positionVelocity.setEntityVelocities
|
|
53
|
+
local ____roomData = require("functions.roomData")
|
|
54
|
+
local getCurrentRoomDescriptorReadOnly = ____roomData.getCurrentRoomDescriptorReadOnly
|
|
55
|
+
local getRoomAllowedDoors = ____roomData.getRoomAllowedDoors
|
|
56
|
+
local getRoomData = ____roomData.getRoomData
|
|
57
|
+
local getRoomDescriptor = ____roomData.getRoomDescriptor
|
|
58
|
+
local getRoomGridIndex = ____roomData.getRoomGridIndex
|
|
59
|
+
local getRoomName = ____roomData.getRoomName
|
|
60
|
+
local getRoomShape = ____roomData.getRoomShape
|
|
61
|
+
local getRoomStageID = ____roomData.getRoomStageID
|
|
62
|
+
local getRoomSubType = ____roomData.getRoomSubType
|
|
63
|
+
local ____roomShape = require("functions.roomShape")
|
|
64
|
+
local getGridIndexDelta = ____roomShape.getGridIndexDelta
|
|
65
|
+
local ____utils = require("functions.utils")
|
|
66
|
+
local erange = ____utils.erange
|
|
67
|
+
local irange = ____utils.irange
|
|
68
|
+
function ____exports.getRoomShapeNeighborGridIndexDeltas(self, roomShape)
|
|
69
|
+
return {__TS__Spread(ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA[roomShape]:values())}
|
|
70
|
+
end
|
|
71
|
+
--- Helper function to get the room descriptor for every room on the level. Uses the `Level.GetRooms`
|
|
72
|
+
-- method to accomplish this. Rooms without data are assumed to be non-existent and are not added to
|
|
73
|
+
-- the list.
|
|
74
|
+
--
|
|
75
|
+
-- @param includeExtraDimensionalRooms Optional. On some floors (e.g. Downpour 2, Mines 2),
|
|
76
|
+
-- extra-dimensional rooms are automatically be generated and can be
|
|
77
|
+
-- seen when you iterate over the `RoomList`. Default is false.
|
|
78
|
+
function ____exports.getRooms(self, includeExtraDimensionalRooms)
|
|
79
|
+
if includeExtraDimensionalRooms == nil then
|
|
80
|
+
includeExtraDimensionalRooms = false
|
|
81
|
+
end
|
|
82
|
+
local level = game:GetLevel()
|
|
83
|
+
local roomList = level:GetRooms()
|
|
84
|
+
local roomsMap = __TS__New(Map)
|
|
85
|
+
if includeExtraDimensionalRooms then
|
|
86
|
+
do
|
|
87
|
+
local i = 0
|
|
88
|
+
while i < roomList.Size do
|
|
89
|
+
local roomDescriptor = roomList:Get(i)
|
|
90
|
+
if roomDescriptor ~= nil and roomDescriptor.Data ~= nil then
|
|
91
|
+
roomsMap:set(roomDescriptor.ListIndex, roomDescriptor)
|
|
92
|
+
end
|
|
93
|
+
i = i + 1
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
else
|
|
97
|
+
for ____, roomGridIndex in ipairs(irange(nil, MAX_LEVEL_GRID_INDEX)) do
|
|
98
|
+
local roomDescriptor = level:GetRoomByIdx(roomGridIndex)
|
|
99
|
+
if roomDescriptor.Data ~= nil then
|
|
100
|
+
roomsMap:set(roomDescriptor.ListIndex, roomDescriptor)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
return {__TS__Spread(roomsMap:values())}
|
|
105
|
+
end
|
|
106
|
+
--- We cannot use the standard code in the `inDimension` function for this purpose since it is bugged
|
|
107
|
+
-- with the Death Certificate area.
|
|
108
|
+
function ____exports.inDeathCertificateArea(self)
|
|
109
|
+
local roomStageID = getRoomStageID(nil)
|
|
110
|
+
local roomSubType = getRoomSubType(nil)
|
|
111
|
+
return roomStageID == StageID.HOME and (roomSubType == HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE or roomSubType == HomeRoomSubType.DEATH_CERTIFICATE_ITEMS)
|
|
112
|
+
end
|
|
113
|
+
--- Helper function to check if a room exists at the given room grid index.
|
|
114
|
+
function ____exports.roomExists(self, roomGridIndex)
|
|
115
|
+
local roomData = getRoomData(nil, roomGridIndex)
|
|
116
|
+
return roomData ~= nil
|
|
117
|
+
end
|
|
118
|
+
--- Helper function for quickly switching to a new room without playing a particular animation. Use
|
|
119
|
+
-- this helper function over invoking the `Game.ChangeRoom` method directly to ensure that you do
|
|
120
|
+
-- not forget to set the `LeaveDoor` property and to prevent crashing on invalid room grid indexes.
|
|
121
|
+
function ____exports.changeRoom(self, roomGridIndex)
|
|
122
|
+
local level = game:GetLevel()
|
|
123
|
+
local roomData = getRoomData(nil, roomGridIndex)
|
|
124
|
+
if roomData == nil then
|
|
125
|
+
error(("Failed to change the room to grid index " .. tostring(roomGridIndex)) .. " because that room does not exist.")
|
|
126
|
+
end
|
|
127
|
+
level.LeaveDoor = DoorSlot.NO_DOOR_SLOT
|
|
128
|
+
game:ChangeRoom(roomGridIndex)
|
|
129
|
+
end
|
|
130
|
+
--- Helper function to get an array with every valid `Dimension` (not including `Dimension.CURRENT`).
|
|
131
|
+
function ____exports.getAllDimensions(self)
|
|
132
|
+
return erange(nil, NUM_DIMENSIONS)
|
|
133
|
+
end
|
|
134
|
+
function ____exports.getAllRoomGridIndexes(self)
|
|
135
|
+
local rooms = ____exports.getRooms(nil)
|
|
136
|
+
return __TS__ArrayMap(
|
|
137
|
+
rooms,
|
|
138
|
+
function(____, roomDescriptor) return roomDescriptor.SafeGridIndex end
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
--- Helper function to get the current dimension. Most of the time, this will be `Dimension.MAIN`,
|
|
142
|
+
-- but it can change if e.g. the player is in the mirror world of Downpour/Dross.
|
|
143
|
+
--
|
|
144
|
+
-- Note that this function correctly handles detecting the Death Certificate dimension, which is
|
|
145
|
+
-- tricky to properly detect.
|
|
146
|
+
function ____exports.getCurrentDimension(self)
|
|
147
|
+
local level = game:GetLevel()
|
|
148
|
+
if ____exports.inDeathCertificateArea(nil) then
|
|
149
|
+
return Dimension.DEATH_CERTIFICATE
|
|
150
|
+
end
|
|
151
|
+
local startingRoomGridIndex = level:GetStartingRoomIndex()
|
|
152
|
+
local startingRoomDescription = level:GetRoomByIdx(startingRoomGridIndex, Dimension.CURRENT)
|
|
153
|
+
local startingRoomHash = GetPtrHash(startingRoomDescription)
|
|
154
|
+
for ____, dimension in ipairs(____exports.getAllDimensions(nil)) do
|
|
155
|
+
local dimensionRoomDescription = level:GetRoomByIdx(startingRoomGridIndex, dimension)
|
|
156
|
+
local dimensionRoomHash = GetPtrHash(dimensionRoomDescription)
|
|
157
|
+
if dimensionRoomHash == startingRoomHash then
|
|
158
|
+
return dimension
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
return error("Failed to get the current dimension using the starting room index of: " .. tostring(startingRoomGridIndex))
|
|
162
|
+
end
|
|
163
|
+
--- Helper function to get the number of rooms that are currently on the floor layout. This does not
|
|
164
|
+
-- include off-grid rooms, like the Devil Room.
|
|
165
|
+
function ____exports.getNumRooms(self)
|
|
166
|
+
local rooms = ____exports.getRooms(nil)
|
|
167
|
+
return #rooms
|
|
168
|
+
end
|
|
169
|
+
--- Helper function to get an array of all of the safe grid indexes for rooms that match the
|
|
170
|
+
-- specified room type.
|
|
171
|
+
--
|
|
172
|
+
-- This function only searches through rooms in the current dimension.
|
|
173
|
+
--
|
|
174
|
+
-- This function is variadic, meaning that you can specify N arguments to get the combined grid
|
|
175
|
+
-- indexes for N room types.
|
|
176
|
+
function ____exports.getRoomGridIndexesForType(self, ...)
|
|
177
|
+
local roomTypesSet = __TS__New(Set, {...})
|
|
178
|
+
local rooms = ____exports.getRooms(nil)
|
|
179
|
+
local matchingRooms = __TS__ArrayFilter(
|
|
180
|
+
rooms,
|
|
181
|
+
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomTypesSet:has(roomDescriptor.Data.Type) end
|
|
182
|
+
)
|
|
183
|
+
return __TS__ArrayMap(
|
|
184
|
+
matchingRooms,
|
|
185
|
+
function(____, roomDescriptor) return roomDescriptor.SafeGridIndex end
|
|
186
|
+
)
|
|
187
|
+
end
|
|
188
|
+
--- Helper function to get the item pool type for the current room. For example, this returns
|
|
189
|
+
-- `ItemPoolType.ItemPoolType.POOL_ANGEL` if you are in an Angel Room.
|
|
190
|
+
function ____exports.getRoomItemPoolType(self)
|
|
191
|
+
local itemPool = game:GetItemPool()
|
|
192
|
+
local room = game:GetRoom()
|
|
193
|
+
local roomType = room:GetType()
|
|
194
|
+
local roomSeed = room:GetSpawnSeed()
|
|
195
|
+
return itemPool:GetPoolForRoom(roomType, roomSeed)
|
|
196
|
+
end
|
|
197
|
+
--- Helper function to get the grid indexes of all the rooms connected to the given room index.
|
|
198
|
+
--
|
|
199
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
200
|
+
function ____exports.getRoomNeighbors(self, roomGridIndex)
|
|
201
|
+
local roomDescriptor = getRoomDescriptor(nil, roomGridIndex)
|
|
202
|
+
if roomDescriptor.SafeGridIndex < 0 or roomDescriptor.SafeGridIndex > MAX_LEVEL_GRID_INDEX then
|
|
203
|
+
return {}
|
|
204
|
+
end
|
|
205
|
+
local roomData = roomDescriptor.Data
|
|
206
|
+
if roomData == nil then
|
|
207
|
+
return {}
|
|
208
|
+
end
|
|
209
|
+
local roomShape = roomData.Shape
|
|
210
|
+
local gridIndexDeltas = ____exports.getRoomShapeNeighborGridIndexDeltas(nil, roomShape)
|
|
211
|
+
local gridIndexes = __TS__ArrayMap(
|
|
212
|
+
gridIndexDeltas,
|
|
213
|
+
function(____, gridIndexDelta) return roomDescriptor.SafeGridIndex + gridIndexDelta end
|
|
214
|
+
)
|
|
215
|
+
return __TS__ArrayFilter(
|
|
216
|
+
gridIndexes,
|
|
217
|
+
function(____, gridIndex) return ____exports.roomExists(nil, gridIndex) end
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
--- Helper function to get the proper name of a room type.
|
|
221
|
+
--
|
|
222
|
+
-- For example, `RoomType.TREASURE` will return "Treasure Room".
|
|
223
|
+
function ____exports.getRoomTypeName(self, roomType)
|
|
224
|
+
local roomTypeName = ROOM_TYPE_NAMES[roomType]
|
|
225
|
+
return roomTypeName == nil and DEFAULT_ROOM_TYPE_NAME or roomTypeName
|
|
226
|
+
end
|
|
227
|
+
--- Helper function to get the room descriptor for every room on the level in a specific dimension.
|
|
228
|
+
-- Uses the `Level.GetRooms` method to accomplish this. Rooms without data are assumed to be
|
|
229
|
+
-- non-existent and are not added to the list.
|
|
230
|
+
--
|
|
231
|
+
-- @returns A map of room ListIndex to RoomDescriptor.
|
|
232
|
+
function ____exports.getRoomsOfDimension(self, dimension)
|
|
233
|
+
local level = game:GetLevel()
|
|
234
|
+
local roomsMap = __TS__New(Map)
|
|
235
|
+
for ____, roomGridIndex in ipairs(irange(nil, MAX_LEVEL_GRID_INDEX)) do
|
|
236
|
+
local roomDescriptor = level:GetRoomByIdx(roomGridIndex, dimension)
|
|
237
|
+
if roomDescriptor.Data ~= nil then
|
|
238
|
+
roomsMap:set(roomDescriptor.ListIndex, roomDescriptor)
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
return {__TS__Spread(roomsMap:values())}
|
|
242
|
+
end
|
|
243
|
+
--- Helper function to determine if the current room shape is equal to `RoomShape.1x2` or
|
|
244
|
+
-- `RoomShape.2x1`.
|
|
245
|
+
function ____exports.in2x1Room(self)
|
|
246
|
+
local room = game:GetRoom()
|
|
247
|
+
local roomShape = room:GetRoomShape()
|
|
248
|
+
return roomShape == RoomShape.SHAPE_1x2 or roomShape == RoomShape.SHAPE_2x1
|
|
249
|
+
end
|
|
250
|
+
function ____exports.inAngelShop(self)
|
|
251
|
+
local room = game:GetRoom()
|
|
252
|
+
local roomType = room:GetType()
|
|
253
|
+
local roomSubType = getRoomSubType(nil)
|
|
254
|
+
return roomType == RoomType.ANGEL and roomSubType == AngelRoomSubType.SHOP
|
|
255
|
+
end
|
|
256
|
+
function ____exports.inBeastRoom(self)
|
|
257
|
+
local room = game:GetRoom()
|
|
258
|
+
local roomType = room:GetType()
|
|
259
|
+
local roomSubType = getRoomSubType(nil)
|
|
260
|
+
return roomType == RoomType.DUNGEON and roomSubType == DungeonSubType.BEAST_ROOM
|
|
261
|
+
end
|
|
262
|
+
--- Helper function to check if the current room is a boss room for a particular boss. This will only
|
|
263
|
+
-- work for bosses that have dedicated boss rooms in the "00.special rooms.stb" file.
|
|
264
|
+
function ____exports.inBossRoomOf(self, bossID)
|
|
265
|
+
local room = game:GetRoom()
|
|
266
|
+
local roomType = room:GetType()
|
|
267
|
+
local roomStageID = getRoomStageID(nil)
|
|
268
|
+
local roomSubType = getRoomSubType(nil)
|
|
269
|
+
return roomType == RoomType.BOSS and roomStageID == StageID.SPECIAL_ROOMS and roomSubType == bossID
|
|
270
|
+
end
|
|
271
|
+
--- Helper function for determining whether the current room is a crawlspace. Use this function over
|
|
272
|
+
-- comparing to `RoomType.DUNGEON` or `GridRoom.DUNGEON_IDX` since there is a special case of the
|
|
273
|
+
-- player being in a boss fight that take place in a dungeon.
|
|
274
|
+
function ____exports.inCrawlspace(self)
|
|
275
|
+
local room = game:GetRoom()
|
|
276
|
+
local roomType = room:GetType()
|
|
277
|
+
local roomSubType = getRoomSubType(nil)
|
|
278
|
+
return roomType == RoomType.DUNGEON and roomSubType == DungeonSubType.NORMAL
|
|
279
|
+
end
|
|
280
|
+
--- Helper function to detect if the current room is a Treasure Room created when entering with a
|
|
281
|
+
-- Devil's Crown trinket. Under the hood, this checks for the `RoomDescriptorFlag.DEVIL_TREASURE`
|
|
282
|
+
-- flag.
|
|
283
|
+
function ____exports.inDevilsCrownTreasureRoom(self)
|
|
284
|
+
local roomDescriptor = getCurrentRoomDescriptorReadOnly(nil)
|
|
285
|
+
return hasFlag(nil, roomDescriptor.Flags, RoomDescriptorFlag.DEVIL_TREASURE)
|
|
286
|
+
end
|
|
287
|
+
function ____exports.inDimension(self, dimension)
|
|
288
|
+
return dimension == ____exports.getCurrentDimension(nil)
|
|
289
|
+
end
|
|
290
|
+
function ____exports.inDoubleTrouble(self)
|
|
291
|
+
local room = game:GetRoom()
|
|
292
|
+
local roomType = room:GetType()
|
|
293
|
+
local roomName = getRoomName(nil)
|
|
294
|
+
return roomType == RoomType.BOSS and __TS__StringIncludes(roomName, "Double Trouble")
|
|
295
|
+
end
|
|
296
|
+
function ____exports.inGenesisRoom(self)
|
|
297
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
298
|
+
return roomGridIndex == GridRoom.GENESIS
|
|
299
|
+
end
|
|
300
|
+
--- Helper function to determine if the current room shape is one of the four L room shapes.
|
|
301
|
+
function ____exports.inLRoom(self)
|
|
302
|
+
local room = game:GetRoom()
|
|
303
|
+
local roomShape = room:GetRoomShape()
|
|
304
|
+
return roomShape == RoomShape.LTL or roomShape == RoomShape.LTR or roomShape == RoomShape.LBL or roomShape == RoomShape.LBR
|
|
305
|
+
end
|
|
306
|
+
function ____exports.inMegaSatanRoom(self)
|
|
307
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
308
|
+
return roomGridIndex == GridRoom.MEGA_SATAN
|
|
309
|
+
end
|
|
310
|
+
--- Helper function to determine if the current room is part of the Repentance "escape sequence" in
|
|
311
|
+
-- the Mines/Ashpit.
|
|
312
|
+
function ____exports.inMineShaft(self)
|
|
313
|
+
local roomStageID = getRoomStageID(nil)
|
|
314
|
+
local roomSubType = getRoomSubType(nil)
|
|
315
|
+
return (roomStageID == StageID.MINES or roomStageID == StageID.ASHPIT) and MINE_SHAFT_ROOM_SUB_TYPE_SET:has(roomSubType)
|
|
316
|
+
end
|
|
317
|
+
--- Helper function to check if the current room is a miniboss room for a particular miniboss. This
|
|
318
|
+
-- will only work for mini-bosses that have dedicated boss rooms in the "00.special rooms.stb" file.
|
|
319
|
+
function ____exports.inMinibossRoomOf(self, minibossID)
|
|
320
|
+
local room = game:GetRoom()
|
|
321
|
+
local roomType = room:GetType()
|
|
322
|
+
local roomStageID = getRoomStageID(nil)
|
|
323
|
+
local roomSubType = getRoomSubType(nil)
|
|
324
|
+
return roomType == RoomType.MINI_BOSS and roomStageID == StageID.SPECIAL_ROOMS and roomSubType == minibossID
|
|
325
|
+
end
|
|
326
|
+
--- Helper function for checking if the room is a secret shop (from the Member Card collectible).
|
|
327
|
+
--
|
|
328
|
+
-- Secret shops are simply copies of normal shops, but with the backdrop of a secret room. In other
|
|
329
|
+
-- words, they will have the same room type, room variant, and room sub-type of a normal shop. Thus,
|
|
330
|
+
-- the only way to detect them is by using the grid index.
|
|
331
|
+
function ____exports.inSecretShop(self)
|
|
332
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
333
|
+
return roomGridIndex == GridRoom.SECRET_SHOP
|
|
334
|
+
end
|
|
335
|
+
--- Helper function to determine whether or not the current room is the starting room of a floor. It
|
|
336
|
+
-- only returns true for the starting room of the primary dimension (meaning that being in the
|
|
337
|
+
-- starting room of the mirror world does not count).
|
|
338
|
+
function ____exports.inStartingRoom(self)
|
|
339
|
+
local level = game:GetLevel()
|
|
340
|
+
local startingRoomGridIndex = level:GetStartingRoomIndex()
|
|
341
|
+
local roomGridIndex = getRoomGridIndex(nil)
|
|
342
|
+
return roomGridIndex == startingRoomGridIndex and ____exports.inDimension(nil, Dimension.MAIN)
|
|
343
|
+
end
|
|
344
|
+
--- Helper function to loop through every room on the floor and see if it has been cleared.
|
|
345
|
+
--
|
|
346
|
+
-- This function will only check rooms in the current dimension.
|
|
347
|
+
--
|
|
348
|
+
-- @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
|
|
349
|
+
-- the array will be ignored. If not specified, then all rooms will be
|
|
350
|
+
-- checked. Undefined by default.
|
|
351
|
+
function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes)
|
|
352
|
+
local ____temp_0
|
|
353
|
+
if onlyCheckRoomTypes == nil then
|
|
354
|
+
____temp_0 = nil
|
|
355
|
+
else
|
|
356
|
+
____temp_0 = __TS__New(Set, onlyCheckRoomTypes)
|
|
357
|
+
end
|
|
358
|
+
local roomTypeWhitelist = ____temp_0
|
|
359
|
+
local rooms = ____exports.getRooms(nil)
|
|
360
|
+
local matchingRooms = roomTypeWhitelist == nil and rooms or __TS__ArrayFilter(
|
|
361
|
+
rooms,
|
|
362
|
+
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomTypeWhitelist:has(roomDescriptor.Data.Type) end
|
|
363
|
+
)
|
|
364
|
+
return __TS__ArrayEvery(
|
|
365
|
+
matchingRooms,
|
|
366
|
+
function(____, roomDescriptor) return roomDescriptor.Clear end
|
|
367
|
+
)
|
|
368
|
+
end
|
|
369
|
+
function ____exports.isDoorSlotValidAtGridIndex(self, doorSlot, roomGridIndex)
|
|
370
|
+
local allowedDoors = getRoomAllowedDoors(nil, roomGridIndex)
|
|
371
|
+
return allowedDoors:has(doorSlot)
|
|
372
|
+
end
|
|
373
|
+
function ____exports.isDoorSlotValidAtGridIndexForRedRoom(self, doorSlot, roomGridIndex)
|
|
374
|
+
local doorSlotValidAtGridIndex = ____exports.isDoorSlotValidAtGridIndex(nil, doorSlot, roomGridIndex)
|
|
375
|
+
if not doorSlotValidAtGridIndex then
|
|
376
|
+
return false
|
|
377
|
+
end
|
|
378
|
+
local roomShape = getRoomShape(nil, roomGridIndex)
|
|
379
|
+
if roomShape == nil then
|
|
380
|
+
return false
|
|
381
|
+
end
|
|
382
|
+
local delta = getGridIndexDelta(nil, roomShape, doorSlot)
|
|
383
|
+
if delta == nil then
|
|
384
|
+
return false
|
|
385
|
+
end
|
|
386
|
+
local redRoomGridIndex = roomGridIndex + delta
|
|
387
|
+
return not ____exports.roomExists(nil, redRoomGridIndex) and redRoomGridIndex >= 0 and redRoomGridIndex <= MAX_LEVEL_GRID_INDEX
|
|
388
|
+
end
|
|
389
|
+
--- Helper function to detect if the provided room was created by the Red Key item. Under the hood,
|
|
390
|
+
-- this checks for the `RoomDescriptorFlag.FLAG_RED_ROOM` flag.
|
|
391
|
+
--
|
|
392
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
393
|
+
function ____exports.isRedKeyRoom(self, roomGridIndex)
|
|
394
|
+
local roomDescriptor = getRoomDescriptor(nil, roomGridIndex)
|
|
395
|
+
return hasFlag(nil, roomDescriptor.Flags, RoomDescriptorFlag.RED_ROOM)
|
|
396
|
+
end
|
|
397
|
+
--- Helper function to determine if the provided room is part of the floor layout. For example, Devil
|
|
398
|
+
-- Rooms and the Mega Satan room are not considered to be inside the map.
|
|
399
|
+
--
|
|
400
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
401
|
+
function ____exports.isRoomInsideMap(self, roomGridIndex)
|
|
402
|
+
if roomGridIndex == nil then
|
|
403
|
+
roomGridIndex = getRoomGridIndex(nil)
|
|
404
|
+
end
|
|
405
|
+
return roomGridIndex >= 0
|
|
406
|
+
end
|
|
407
|
+
--- Helper function to get the coordinates of a given grid index. The floor is represented by a 13x13
|
|
408
|
+
-- grid. For example, since the starting room is in the center, the starting room grid index of 84
|
|
409
|
+
-- be equal to coordinates of (?, ?).
|
|
410
|
+
function ____exports.roomGridIndexToXY(self, roomGridIndex)
|
|
411
|
+
local x = roomGridIndex % LEVEL_GRID_ROW_WIDTH
|
|
412
|
+
local y = math.floor(roomGridIndex / LEVEL_GRID_ROW_WIDTH)
|
|
413
|
+
return {x, y}
|
|
414
|
+
end
|
|
415
|
+
--- If the `Room.Update` method is called in a PostNewRoom callback, then some entities will slide
|
|
416
|
+
-- around (such as the player). Since those entity velocities are already at zero, setting them to
|
|
417
|
+
-- zero will have no effect. Thus, a generic solution is to record all of the entity
|
|
418
|
+
-- positions/velocities before updating the room, and then restore those positions/velocities.
|
|
419
|
+
function ____exports.roomUpdateSafe(self)
|
|
420
|
+
local room = game:GetRoom()
|
|
421
|
+
local entities = getEntities(nil)
|
|
422
|
+
local entityPositions = getEntityPositions(nil, entities)
|
|
423
|
+
local entityVelocities = getEntityVelocities(nil, entities)
|
|
424
|
+
room:Update()
|
|
425
|
+
setEntityPositions(nil, entityPositions, entities)
|
|
426
|
+
setEntityVelocities(nil, entityVelocities, entities)
|
|
427
|
+
end
|
|
428
|
+
--- Helper function to convert an uncleared room to a cleared room in the PostNewRoom callback. This
|
|
429
|
+
-- is useful because if enemies are removed in this callback, a room drop will be awarded and the
|
|
430
|
+
-- doors will start closed and then open.
|
|
431
|
+
function ____exports.setRoomCleared(self)
|
|
432
|
+
local room = game:GetRoom()
|
|
433
|
+
local roomClear = room:IsClear()
|
|
434
|
+
if roomClear then
|
|
435
|
+
return
|
|
436
|
+
end
|
|
437
|
+
room:SetClear(true)
|
|
438
|
+
for ____, door in ipairs(getDoors(nil)) do
|
|
439
|
+
do
|
|
440
|
+
if isHiddenSecretRoomDoor(nil, door) then
|
|
441
|
+
goto __continue68
|
|
442
|
+
end
|
|
443
|
+
openDoorFast(nil, door)
|
|
444
|
+
door.ExtraVisible = false
|
|
445
|
+
end
|
|
446
|
+
::__continue68::
|
|
447
|
+
end
|
|
448
|
+
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
449
|
+
game:ShakeScreen(0)
|
|
450
|
+
end
|
|
451
|
+
--- Helper function to emulate what happens when you bomb an Angel Statue or push a Reward Plate that
|
|
452
|
+
-- spawns an NPC.
|
|
453
|
+
function ____exports.setRoomUncleared(self)
|
|
454
|
+
local room = game:GetRoom()
|
|
455
|
+
room:SetClear(false)
|
|
456
|
+
closeAllDoors(nil)
|
|
457
|
+
end
|
|
458
|
+
--- Helper function to change the current room. It can be used for both teleportation and "normal"
|
|
459
|
+
-- room transitions, depending on what is passed for the `direction` and `roomTransitionAnim`
|
|
460
|
+
-- arguments. Use this function instead of invoking the `Game.StartRoomTransition` method directly
|
|
461
|
+
-- so that you do not forget to set `Level.LeaveDoor` property and to prevent crashing on invalid
|
|
462
|
+
-- room grid indexes.
|
|
463
|
+
--
|
|
464
|
+
-- @param roomGridIndex The room grid index of the destination room.
|
|
465
|
+
-- @param direction Optional. Default is `Direction.NO_DIRECTION`.
|
|
466
|
+
-- @param roomTransitionAnim Optional. Default is `RoomTransitionAnim.TELEPORT`.
|
|
467
|
+
function ____exports.teleport(self, roomGridIndex, direction, roomTransitionAnim)
|
|
468
|
+
if direction == nil then
|
|
469
|
+
direction = Direction.NO_DIRECTION
|
|
470
|
+
end
|
|
471
|
+
if roomTransitionAnim == nil then
|
|
472
|
+
roomTransitionAnim = RoomTransitionAnim.TELEPORT
|
|
473
|
+
end
|
|
474
|
+
local level = game:GetLevel()
|
|
475
|
+
local roomData = getRoomData(nil, roomGridIndex)
|
|
476
|
+
if roomData == nil then
|
|
477
|
+
error(("Failed to change the room to grid index " .. tostring(roomGridIndex)) .. " because that room does not exist.")
|
|
478
|
+
end
|
|
479
|
+
level.LeaveDoor = DoorSlot.NO_DOOR_SLOT
|
|
480
|
+
game:StartRoomTransition(roomGridIndex, direction, roomTransitionAnim)
|
|
481
|
+
end
|
|
482
|
+
return ____exports
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PlayerType } from "isaac-typescript-definitions";
|
|
2
|
+
/**
|
|
3
|
+
* Whether or not the player is playing on a set seed (i.e. that they entered in a specific seed by
|
|
4
|
+
* pressing tab on the character selection screen). When the player resets the game on a set seed,
|
|
5
|
+
* the game will not switch to a different seed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function onSetSeed(): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to restart the game using the console command of "restart". You can optionally
|
|
10
|
+
* specify a `PlayerType` to restart the game as that character.
|
|
11
|
+
*/
|
|
12
|
+
export declare function restart(character?: PlayerType): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
3
|
+
local Challenge = ____isaac_2Dtypescript_2Ddefinitions.Challenge
|
|
4
|
+
local ____cachedClasses = require("cachedClasses")
|
|
5
|
+
local game = ____cachedClasses.game
|
|
6
|
+
local ____constantsFirstLast = require("constantsFirstLast")
|
|
7
|
+
local FIRST_CHARACTER = ____constantsFirstLast.FIRST_CHARACTER
|
|
8
|
+
local ____log = require("functions.log")
|
|
9
|
+
local log = ____log.log
|
|
10
|
+
--- Whether or not the player is playing on a set seed (i.e. that they entered in a specific seed by
|
|
11
|
+
-- pressing tab on the character selection screen). When the player resets the game on a set seed,
|
|
12
|
+
-- the game will not switch to a different seed.
|
|
13
|
+
function ____exports.onSetSeed(self)
|
|
14
|
+
local seeds = game:GetSeeds()
|
|
15
|
+
local customRun = seeds:IsCustomRun()
|
|
16
|
+
local challenge = Isaac.GetChallenge()
|
|
17
|
+
return challenge == Challenge.NULL and customRun
|
|
18
|
+
end
|
|
19
|
+
--- Helper function to restart the game using the console command of "restart". You can optionally
|
|
20
|
+
-- specify a `PlayerType` to restart the game as that character.
|
|
21
|
+
function ____exports.restart(self, character)
|
|
22
|
+
if character == nil then
|
|
23
|
+
log("Restarting.")
|
|
24
|
+
Isaac.ExecuteCommand("restart")
|
|
25
|
+
return
|
|
26
|
+
end
|
|
27
|
+
if character < FIRST_CHARACTER then
|
|
28
|
+
error(("Restarting as a character of " .. tostring(character)) .. " would crash the game.")
|
|
29
|
+
end
|
|
30
|
+
log("Restarting as character: " .. tostring(character))
|
|
31
|
+
Isaac.ExecuteCommand("restart " .. tostring(character))
|
|
32
|
+
end
|
|
33
|
+
return ____exports
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/** Alias for the `Seeds.GetStartSeedString` method. */
|
|
3
|
+
export declare function getStartSeedString(): string;
|
|
4
|
+
/**
|
|
5
|
+
* Helper function to get the next seed value.
|
|
6
|
+
*
|
|
7
|
+
* This function is useful when you are working with seed values directly over RNG objects.
|
|
8
|
+
*/
|
|
9
|
+
export declare function nextSeed(seed: Seed): Seed;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____cachedClasses = require("cachedClasses")
|
|
3
|
+
local game = ____cachedClasses.game
|
|
4
|
+
local ____rng = require("functions.rng")
|
|
5
|
+
local newRNG = ____rng.newRNG
|
|
6
|
+
--- Alias for the `Seeds.GetStartSeedString` method.
|
|
7
|
+
function ____exports.getStartSeedString(self)
|
|
8
|
+
local seeds = game:GetSeeds()
|
|
9
|
+
return seeds:GetStartSeedString()
|
|
10
|
+
end
|
|
11
|
+
--- Helper function to get the next seed value.
|
|
12
|
+
--
|
|
13
|
+
-- This function is useful when you are working with seed values directly over RNG objects.
|
|
14
|
+
function ____exports.nextSeed(self, seed)
|
|
15
|
+
local rng = newRNG(nil, seed)
|
|
16
|
+
rng:Next()
|
|
17
|
+
return rng:GetSeed()
|
|
18
|
+
end
|
|
19
|
+
return ____exports
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SerializationType } from "../enums/SerializationType";
|
|
2
|
+
import { SerializedIsaacAPIClass } from "../types/private/SerializedIsaacAPIClass";
|
|
3
|
+
export declare function copyIsaacAPIClass(isaacAPIClass: unknown, serializationType: SerializationType): unknown;
|
|
4
|
+
/**
|
|
5
|
+
* Deserialization is a special case, so we make a dedicated function for this.
|
|
6
|
+
*
|
|
7
|
+
* There is no need for a corresponding "serializeIsaacAPIClass" function because the
|
|
8
|
+
* "copyIsaacAPIClass" function can handles all serialization types.
|
|
9
|
+
*/
|
|
10
|
+
export declare function deserializeIsaacAPIClass(serializedIsaacAPIClass: SerializedIsaacAPIClass): unknown;
|
|
11
|
+
export declare function isSerializedIsaacAPIClass(object: unknown): object is SerializedIsaacAPIClass;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ObjectEntries = ____lualib.__TS__ObjectEntries
|
|
3
|
+
local __TS__ObjectValues = ____lualib.__TS__ObjectValues
|
|
4
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local getSerializedTableType
|
|
7
|
+
local ____SerializationType = require("enums.SerializationType")
|
|
8
|
+
local SerializationType = ____SerializationType.SerializationType
|
|
9
|
+
local ____isaacAPIClassTypeToBrand = require("objects.isaacAPIClassTypeToBrand")
|
|
10
|
+
local ISAAC_API_CLASS_TYPE_TO_BRAND = ____isaacAPIClassTypeToBrand.ISAAC_API_CLASS_TYPE_TO_BRAND
|
|
11
|
+
local ____isaacAPIClassTypeToCopyFunction = require("objects.isaacAPIClassTypeToCopyFunction")
|
|
12
|
+
local ISAAC_API_CLASS_TYPE_TO_COPY_FUNCTION = ____isaacAPIClassTypeToCopyFunction.ISAAC_API_CLASS_TYPE_TO_COPY_FUNCTION
|
|
13
|
+
local ____serializedIsaacAPIClassTypeToIdentityFunction = require("objects.serializedIsaacAPIClassTypeToIdentityFunction")
|
|
14
|
+
local SERIALIZED_ISAAC_API_CLASS_TYPE_TO_IDENTITY_FUNCTION = ____serializedIsaacAPIClassTypeToIdentityFunction.SERIALIZED_ISAAC_API_CLASS_TYPE_TO_IDENTITY_FUNCTION
|
|
15
|
+
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
16
|
+
local getIsaacAPIClassType = ____isaacAPIClass.getIsaacAPIClassType
|
|
17
|
+
function getSerializedTableType(self, serializedIsaacAPIClass)
|
|
18
|
+
for ____, ____value in ipairs(__TS__ObjectEntries(ISAAC_API_CLASS_TYPE_TO_BRAND)) do
|
|
19
|
+
local copyableIsaacAPIClassType = ____value[1]
|
|
20
|
+
local serializationBrand = ____value[2]
|
|
21
|
+
if serializedIsaacAPIClass[serializationBrand] ~= nil then
|
|
22
|
+
return copyableIsaacAPIClassType
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
return nil
|
|
26
|
+
end
|
|
27
|
+
function ____exports.copyIsaacAPIClass(self, isaacAPIClass, serializationType)
|
|
28
|
+
local objectType = type(isaacAPIClass)
|
|
29
|
+
if objectType ~= "userdata" then
|
|
30
|
+
error("Failed to copy an Isaac API class since the provided object was of type: " .. objectType)
|
|
31
|
+
end
|
|
32
|
+
local isaacAPIClassType = getIsaacAPIClassType(nil, isaacAPIClass)
|
|
33
|
+
if isaacAPIClassType == nil then
|
|
34
|
+
error("Failed to copy an Isaac API class since it does not have a class type.")
|
|
35
|
+
end
|
|
36
|
+
local copyableIsaacAPIClassType = isaacAPIClassType
|
|
37
|
+
local copyFunction = ISAAC_API_CLASS_TYPE_TO_COPY_FUNCTION[copyableIsaacAPIClassType]
|
|
38
|
+
if copyFunction == nil then
|
|
39
|
+
error(("Failed to copy Isaac API class \"" .. copyableIsaacAPIClassType) .. "\" since there is not a defined copy function for this class type.")
|
|
40
|
+
end
|
|
41
|
+
return copyFunction(nil, isaacAPIClass, serializationType)
|
|
42
|
+
end
|
|
43
|
+
--- Deserialization is a special case, so we make a dedicated function for this.
|
|
44
|
+
--
|
|
45
|
+
-- There is no need for a corresponding "serializeIsaacAPIClass" function because the
|
|
46
|
+
-- "copyIsaacAPIClass" function can handles all serialization types.
|
|
47
|
+
function ____exports.deserializeIsaacAPIClass(self, serializedIsaacAPIClass)
|
|
48
|
+
local objectType = type(serializedIsaacAPIClass)
|
|
49
|
+
if objectType ~= "table" then
|
|
50
|
+
error("Failed to deserialize an Isaac API class since the provided object was of type: " .. objectType)
|
|
51
|
+
end
|
|
52
|
+
local copyableIsaacAPIClassType = getSerializedTableType(nil, serializedIsaacAPIClass)
|
|
53
|
+
if copyableIsaacAPIClassType == nil then
|
|
54
|
+
error("Failed to deserialize an API class since a valid class type brand was not found.")
|
|
55
|
+
end
|
|
56
|
+
local copyFunction = ISAAC_API_CLASS_TYPE_TO_COPY_FUNCTION[copyableIsaacAPIClassType]
|
|
57
|
+
if copyFunction == nil then
|
|
58
|
+
error(("Failed to deserialize Isaac API class \"" .. copyableIsaacAPIClassType) .. "\" since there is not a defined copy function for this class type.")
|
|
59
|
+
end
|
|
60
|
+
return copyFunction(nil, serializedIsaacAPIClass, SerializationType.DESERIALIZE)
|
|
61
|
+
end
|
|
62
|
+
function ____exports.isSerializedIsaacAPIClass(self, object)
|
|
63
|
+
local identityFunctions = __TS__ObjectValues(SERIALIZED_ISAAC_API_CLASS_TYPE_TO_IDENTITY_FUNCTION)
|
|
64
|
+
return __TS__ArraySome(
|
|
65
|
+
identityFunctions,
|
|
66
|
+
function(____, identityFunction) return identityFunction(nil, object) end
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
return ____exports
|