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,117 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
3
|
+
local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
|
|
4
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
5
|
+
local NullItemID = ____isaac_2Dtypescript_2Ddefinitions.NullItemID
|
|
6
|
+
local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
|
|
7
|
+
local TrinketType = ____isaac_2Dtypescript_2Ddefinitions.TrinketType
|
|
8
|
+
local ____cachedClasses = require("cachedClasses")
|
|
9
|
+
local game = ____cachedClasses.game
|
|
10
|
+
local ____constants = require("constants")
|
|
11
|
+
local MAX_TAINTED_SAMSON_BERSERK_CHARGE = ____constants.MAX_TAINTED_SAMSON_BERSERK_CHARGE
|
|
12
|
+
local TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE = ____constants.TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE
|
|
13
|
+
local ____character = require("functions.character")
|
|
14
|
+
local getCharacterDeathAnimationName = ____character.getCharacterDeathAnimationName
|
|
15
|
+
local ____player = require("functions.player")
|
|
16
|
+
local getPlayerMaxHeartContainers = ____player.getPlayerMaxHeartContainers
|
|
17
|
+
local getPlayerNumHitsRemaining = ____player.getPlayerNumHitsRemaining
|
|
18
|
+
local hasLostCurse = ____player.hasLostCurse
|
|
19
|
+
local isKeeper = ____player.isKeeper
|
|
20
|
+
local ____sprite = require("functions.sprite")
|
|
21
|
+
local getLastFrameOfAnimation = ____sprite.getLastFrameOfAnimation
|
|
22
|
+
local ____trinketGive = require("functions.trinketGive")
|
|
23
|
+
local giveTrinketsBack = ____trinketGive.giveTrinketsBack
|
|
24
|
+
local temporarilyRemoveTrinket = ____trinketGive.temporarilyRemoveTrinket
|
|
25
|
+
--- Helper function to determine if the player will be revived by the Heartbreak collectible if they
|
|
26
|
+
-- take fatal damage. This is contingent on the character that they are playing as and the amount of
|
|
27
|
+
-- broken hearts that they already have.
|
|
28
|
+
function ____exports.willReviveFromHeartbreak(self, player)
|
|
29
|
+
if not player:HasCollectible(CollectibleType.HEARTBREAK) then
|
|
30
|
+
return false
|
|
31
|
+
end
|
|
32
|
+
local maxHeartContainers = getPlayerMaxHeartContainers(nil, player)
|
|
33
|
+
local numBrokenHeartsThatWillBeAdded = isKeeper(nil, player) and 1 or 2
|
|
34
|
+
local brokenHearts = player:GetBrokenHearts()
|
|
35
|
+
local numBrokenHeartsAfterRevival = numBrokenHeartsThatWillBeAdded + brokenHearts
|
|
36
|
+
return maxHeartContainers > numBrokenHeartsAfterRevival
|
|
37
|
+
end
|
|
38
|
+
--- Helper function to determine if the Spirit Shackles item is in an enabled state. (It can be
|
|
39
|
+
-- either enabled or disabled.)
|
|
40
|
+
function ____exports.willReviveFromSpiritShackles(self, player)
|
|
41
|
+
if not player:HasCollectible(CollectibleType.SPIRIT_SHACKLES) then
|
|
42
|
+
return false
|
|
43
|
+
end
|
|
44
|
+
local effects = player:GetEffects()
|
|
45
|
+
local spiritShacklesEnabled = not effects:HasNullEffect(NullItemID.SPIRIT_SHACKLES_DISABLED)
|
|
46
|
+
local playerInSoulForm = effects:HasNullEffect(NullItemID.SPIRIT_SHACKLES_SOUL)
|
|
47
|
+
return spiritShacklesEnabled and not playerInSoulForm
|
|
48
|
+
end
|
|
49
|
+
--- Uses the player's current health and other miscellaneous things to determine if incoming damage
|
|
50
|
+
-- will be fatal.
|
|
51
|
+
function ____exports.isDamageToPlayerFatal(self, player, damageAmount, damageSource, lastDamageGameFrame)
|
|
52
|
+
local gameFrameCount = game:GetFrameCount()
|
|
53
|
+
local character = player:GetPlayerType()
|
|
54
|
+
local effects = player:GetEffects()
|
|
55
|
+
local isBerserk = effects:HasCollectibleEffect(CollectibleType.BERSERK)
|
|
56
|
+
if character == PlayerType.JACOB_B and damageSource.Type == EntityType.DARK_ESAU then
|
|
57
|
+
return false
|
|
58
|
+
end
|
|
59
|
+
if isBerserk then
|
|
60
|
+
return false
|
|
61
|
+
end
|
|
62
|
+
local berserkChargeAfterHit = player.SamsonBerserkCharge + TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE
|
|
63
|
+
if character == PlayerType.SAMSON_B and berserkChargeAfterHit >= MAX_TAINTED_SAMSON_BERSERK_CHARGE then
|
|
64
|
+
return false
|
|
65
|
+
end
|
|
66
|
+
if ____exports.willReviveFromSpiritShackles(nil, player) then
|
|
67
|
+
return false
|
|
68
|
+
end
|
|
69
|
+
if character == PlayerType.JACOB_2_B then
|
|
70
|
+
return true
|
|
71
|
+
end
|
|
72
|
+
if hasLostCurse(nil, player) then
|
|
73
|
+
return true
|
|
74
|
+
end
|
|
75
|
+
local playerNumAllHearts = getPlayerNumHitsRemaining(nil, player)
|
|
76
|
+
if damageAmount < playerNumAllHearts then
|
|
77
|
+
return false
|
|
78
|
+
end
|
|
79
|
+
if ____exports.willReviveFromHeartbreak(nil, player) then
|
|
80
|
+
return false
|
|
81
|
+
end
|
|
82
|
+
if player:HasCollectible(CollectibleType.BROKEN_GLASS_CANNON) and gameFrameCount == lastDamageGameFrame then
|
|
83
|
+
return false
|
|
84
|
+
end
|
|
85
|
+
local hearts = player:GetHearts()
|
|
86
|
+
local eternalHearts = player:GetEternalHearts()
|
|
87
|
+
local soulHearts = player:GetSoulHearts()
|
|
88
|
+
local boneHearts = player:GetBoneHearts()
|
|
89
|
+
if hearts > 0 and soulHearts > 0 or hearts > 0 and boneHearts > 0 or soulHearts > 0 and boneHearts > 0 or soulHearts > 0 and eternalHearts > 0 or boneHearts >= 2 then
|
|
90
|
+
return false
|
|
91
|
+
end
|
|
92
|
+
return true
|
|
93
|
+
end
|
|
94
|
+
--- Assuming that we are on the frame of fatal damage, this function returns whether or not
|
|
95
|
+
-- Mysterious Paper would rotate to Missing Poster on the frame that the "Game Over" screen would
|
|
96
|
+
-- appear (which would subsequently save the player from fatal damage).
|
|
97
|
+
--
|
|
98
|
+
-- Mysterious Paper rotates between the 4 items on every frame, in order. The formula for whether
|
|
99
|
+
-- Mysterious Paper be Missing Power is: `gameFrameCount % 4 === 3`
|
|
100
|
+
function ____exports.willMysteriousPaperRevive(self, player)
|
|
101
|
+
local gameFrameCount = game:GetFrameCount()
|
|
102
|
+
local sprite = player:GetSprite()
|
|
103
|
+
local character = player:GetPlayerType()
|
|
104
|
+
local animation = getCharacterDeathAnimationName(nil, character)
|
|
105
|
+
local deathAnimationFrames = getLastFrameOfAnimation(nil, sprite, animation)
|
|
106
|
+
local frameOfDeath = gameFrameCount + deathAnimationFrames + 1
|
|
107
|
+
return frameOfDeath % 4 == 3
|
|
108
|
+
end
|
|
109
|
+
--- The `EntityPlayer.WillPlayerRevive` method does not properly account for Mysterious Paper, so use
|
|
110
|
+
-- this helper function instead for more robust revival detection.
|
|
111
|
+
function ____exports.willPlayerRevive(self, player)
|
|
112
|
+
local trinketSituation = temporarilyRemoveTrinket(nil, player, TrinketType.MYSTERIOUS_PAPER)
|
|
113
|
+
local willRevive = player:WillPlayerRevive() or trinketSituation ~= nil and ____exports.willMysteriousPaperRevive(nil, player)
|
|
114
|
+
giveTrinketsBack(nil, player, trinketSituation)
|
|
115
|
+
return willRevive
|
|
116
|
+
end
|
|
117
|
+
return ____exports
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/// <reference types="typescript-to-lua/language-extensions" />
|
|
3
|
+
import { SerializationType } from "../enums/SerializationType";
|
|
4
|
+
declare type SerializedRNG = LuaTable<string, unknown> & {
|
|
5
|
+
__serializedRNGBrand: void;
|
|
6
|
+
};
|
|
7
|
+
interface CopyRNGReturn {
|
|
8
|
+
[SerializationType.NONE]: RNG;
|
|
9
|
+
[SerializationType.SERIALIZE]: SerializedRNG;
|
|
10
|
+
[SerializationType.DESERIALIZE]: RNG;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Helper function to copy an `RNG` object.
|
|
14
|
+
*
|
|
15
|
+
* @param rng The RNG object to copy. In the case of deserialization, this will actually be a Lua
|
|
16
|
+
* table instead of an instantiated RNG class.
|
|
17
|
+
* @param serializationType Default is `SerializationType.NONE`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function copyRNG<R extends RNG | SerializedRNG, S extends SerializationType>(rng: R, serializationType: S): CopyRNGReturn[S];
|
|
20
|
+
export declare function copyRNG<R extends RNG | SerializedRNG>(rng: R): CopyRNGReturn[SerializationType.NONE];
|
|
21
|
+
/**
|
|
22
|
+
* Helper function to get a random `Seed` value to be used in spawning entities and so on. Use this
|
|
23
|
+
* instead of calling the `Random` function directly since that can return a value of 0 and crash
|
|
24
|
+
* the game.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getRandomSeed(): Seed;
|
|
27
|
+
/** Helper function to check if something is an instantiated RNG object. */
|
|
28
|
+
export declare function isRNG(object: unknown): object is RNG;
|
|
29
|
+
/**
|
|
30
|
+
* Used to determine is the given table is a serialized `RNG` object created by the save data
|
|
31
|
+
* manager and/or the `deepCopy` function.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isSerializedRNG(object: unknown): object is SerializedRNG;
|
|
34
|
+
/**
|
|
35
|
+
* Helper function to initialize an RNG object using Blade's recommended shift index.
|
|
36
|
+
*
|
|
37
|
+
* @param seed The seed to initialize it with. Default is `getRandomSeed()`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function newRNG(seed?: Seed): RNG;
|
|
40
|
+
export declare function rngEquals(rng1: RNG, rng2: RNG): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Helper function to iterate over the provided object and set the seed for all of the values that
|
|
43
|
+
* are RNG objects equal to a particular seed.
|
|
44
|
+
*/
|
|
45
|
+
export declare function setAllRNGToSeed(object: unknown, seed: Seed): void;
|
|
46
|
+
/**
|
|
47
|
+
* Helper function to iterate over the provided object and set the seed for all of the values that
|
|
48
|
+
* are RNG objects equal to the start seed for the current run.
|
|
49
|
+
*/
|
|
50
|
+
export declare function setAllRNGToStartSeed(object: unknown): void;
|
|
51
|
+
/** Helper function to set a seed to an RNG object using Blade's recommended shift index. */
|
|
52
|
+
export declare function setSeed(rng: RNG, seed: Seed): void;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ObjectValues = ____lualib.__TS__ObjectValues
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local RECOMMENDED_SHIFT_IDX, OBJECT_NAME
|
|
5
|
+
local ____cachedClasses = require("cachedClasses")
|
|
6
|
+
local game = ____cachedClasses.game
|
|
7
|
+
local ____SerializationBrand = require("enums.private.SerializationBrand")
|
|
8
|
+
local SerializationBrand = ____SerializationBrand.SerializationBrand
|
|
9
|
+
local ____SerializationType = require("enums.SerializationType")
|
|
10
|
+
local SerializationType = ____SerializationType.SerializationType
|
|
11
|
+
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
12
|
+
local isaacAPIClassEquals = ____isaacAPIClass.isaacAPIClassEquals
|
|
13
|
+
local isIsaacAPIClassOfType = ____isaacAPIClass.isIsaacAPIClassOfType
|
|
14
|
+
local ____table = require("functions.table")
|
|
15
|
+
local getNumbersFromTable = ____table.getNumbersFromTable
|
|
16
|
+
local tableHasKeys = ____table.tableHasKeys
|
|
17
|
+
local ____utils = require("functions.utils")
|
|
18
|
+
local ensureAllCases = ____utils.ensureAllCases
|
|
19
|
+
--- Helper function to get a random `Seed` value to be used in spawning entities and so on. Use this
|
|
20
|
+
-- instead of calling the `Random` function directly since that can return a value of 0 and crash
|
|
21
|
+
-- the game.
|
|
22
|
+
function ____exports.getRandomSeed(self)
|
|
23
|
+
local randomNumber = Random()
|
|
24
|
+
local safeRandomNumber = randomNumber == 0 and 1 or randomNumber
|
|
25
|
+
return safeRandomNumber
|
|
26
|
+
end
|
|
27
|
+
--- Helper function to check if something is an instantiated RNG object.
|
|
28
|
+
function ____exports.isRNG(self, object)
|
|
29
|
+
return isIsaacAPIClassOfType(nil, object, OBJECT_NAME)
|
|
30
|
+
end
|
|
31
|
+
--- Helper function to initialize an RNG object using Blade's recommended shift index.
|
|
32
|
+
--
|
|
33
|
+
-- @param seed The seed to initialize it with. Default is `getRandomSeed()`.
|
|
34
|
+
function ____exports.newRNG(self, seed)
|
|
35
|
+
if seed == nil then
|
|
36
|
+
seed = ____exports.getRandomSeed(nil)
|
|
37
|
+
end
|
|
38
|
+
local rng = RNG()
|
|
39
|
+
____exports.setSeed(nil, rng, seed)
|
|
40
|
+
return rng
|
|
41
|
+
end
|
|
42
|
+
--- Helper function to set a seed to an RNG object using Blade's recommended shift index.
|
|
43
|
+
function ____exports.setSeed(self, rng, seed)
|
|
44
|
+
if seed == 0 then
|
|
45
|
+
error("You cannot set an RNG object to a seed of 0, or the game will crash.")
|
|
46
|
+
end
|
|
47
|
+
rng:SetSeed(seed, RECOMMENDED_SHIFT_IDX)
|
|
48
|
+
end
|
|
49
|
+
RECOMMENDED_SHIFT_IDX = 35
|
|
50
|
+
local KEYS = {"seed"}
|
|
51
|
+
OBJECT_NAME = "RNG"
|
|
52
|
+
--- Helper function to copy an `RNG` object.
|
|
53
|
+
--
|
|
54
|
+
-- @param rng The RNG object to copy. In the case of deserialization, this will actually be a Lua
|
|
55
|
+
-- table instead of an instantiated RNG class.
|
|
56
|
+
-- @param serializationType Default is `SerializationType.NONE`.
|
|
57
|
+
function ____exports.copyRNG(self, rng, serializationType)
|
|
58
|
+
if serializationType == nil then
|
|
59
|
+
serializationType = SerializationType.NONE
|
|
60
|
+
end
|
|
61
|
+
repeat
|
|
62
|
+
local ____switch3 = serializationType
|
|
63
|
+
local ____cond3 = ____switch3 == SerializationType.NONE
|
|
64
|
+
if ____cond3 then
|
|
65
|
+
do
|
|
66
|
+
if not ____exports.isRNG(nil, rng) then
|
|
67
|
+
error(((("Failed to copy a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
68
|
+
end
|
|
69
|
+
local seed = rng:GetSeed()
|
|
70
|
+
return ____exports.newRNG(nil, seed)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
____cond3 = ____cond3 or ____switch3 == SerializationType.SERIALIZE
|
|
74
|
+
if ____cond3 then
|
|
75
|
+
do
|
|
76
|
+
if not ____exports.isRNG(nil, rng) then
|
|
77
|
+
error(((("Failed to serialize a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
78
|
+
end
|
|
79
|
+
local seed = rng:GetSeed()
|
|
80
|
+
local rngTable = {}
|
|
81
|
+
rngTable.seed = seed
|
|
82
|
+
rngTable[SerializationBrand.RNG] = ""
|
|
83
|
+
return rngTable
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
____cond3 = ____cond3 or ____switch3 == SerializationType.DESERIALIZE
|
|
87
|
+
if ____cond3 then
|
|
88
|
+
do
|
|
89
|
+
local rngType = type(rng)
|
|
90
|
+
if ____exports.isRNG(nil, rng) or rngType ~= "table" then
|
|
91
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object was not a Lua table.")
|
|
92
|
+
end
|
|
93
|
+
local seedNumber = table.unpack(getNumbersFromTable(
|
|
94
|
+
nil,
|
|
95
|
+
rng,
|
|
96
|
+
OBJECT_NAME,
|
|
97
|
+
table.unpack(KEYS)
|
|
98
|
+
))
|
|
99
|
+
local seed = seedNumber
|
|
100
|
+
return ____exports.newRNG(nil, seed)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
do
|
|
104
|
+
do
|
|
105
|
+
return ensureAllCases(nil, serializationType)
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
until true
|
|
109
|
+
end
|
|
110
|
+
--- Used to determine is the given table is a serialized `RNG` object created by the save data
|
|
111
|
+
-- manager and/or the `deepCopy` function.
|
|
112
|
+
function ____exports.isSerializedRNG(self, object)
|
|
113
|
+
local objectType = type(object)
|
|
114
|
+
if objectType ~= "table" then
|
|
115
|
+
return false
|
|
116
|
+
end
|
|
117
|
+
local ____table = object
|
|
118
|
+
return tableHasKeys(
|
|
119
|
+
nil,
|
|
120
|
+
____table,
|
|
121
|
+
table.unpack(KEYS)
|
|
122
|
+
) and ____table[SerializationBrand.RNG] ~= nil
|
|
123
|
+
end
|
|
124
|
+
function ____exports.rngEquals(self, rng1, rng2)
|
|
125
|
+
return isaacAPIClassEquals(nil, rng1, rng2, KEYS)
|
|
126
|
+
end
|
|
127
|
+
--- Helper function to iterate over the provided object and set the seed for all of the values that
|
|
128
|
+
-- are RNG objects equal to a particular seed.
|
|
129
|
+
function ____exports.setAllRNGToSeed(self, object, seed)
|
|
130
|
+
local objectType = type(object)
|
|
131
|
+
if objectType ~= "table" then
|
|
132
|
+
error("Failed to iterate over the object containing RNG objects since the type of the provided object was: " .. objectType)
|
|
133
|
+
end
|
|
134
|
+
local ____table = object
|
|
135
|
+
for ____, value in ipairs(__TS__ObjectValues(____table)) do
|
|
136
|
+
if ____exports.isRNG(nil, value) then
|
|
137
|
+
____exports.setSeed(nil, value, seed)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
--- Helper function to iterate over the provided object and set the seed for all of the values that
|
|
142
|
+
-- are RNG objects equal to the start seed for the current run.
|
|
143
|
+
function ____exports.setAllRNGToStartSeed(self, object)
|
|
144
|
+
local seeds = game:GetSeeds()
|
|
145
|
+
local startSeed = seeds:GetStartSeed()
|
|
146
|
+
____exports.setAllRNGToSeed(nil, object, startSeed)
|
|
147
|
+
end
|
|
148
|
+
return ____exports
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { DoorSlot, RoomShape, RoomType, StageID } from "isaac-typescript-definitions";
|
|
2
|
+
/**
|
|
3
|
+
* Alias for the `Level.GetCurrentRoomDesc` method. Use this to make it more clear what type of
|
|
4
|
+
* `RoomDescriptor` object that you are retrieving.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getCurrentRoomDescriptorReadOnly(): ReadonlyRoomDescriptor;
|
|
7
|
+
/**
|
|
8
|
+
* Helper function to get the set of allowed door slots for the room at the supplied grid index.
|
|
9
|
+
* This corresponds to the doors that are enabled in the STB/XML file for the room.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getRoomAllowedDoors(roomGridIndex?: int): Set<DoorSlot>;
|
|
12
|
+
/**
|
|
13
|
+
* Helper function to get the room data for the provided room.
|
|
14
|
+
*
|
|
15
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getRoomData(roomGridIndex?: int): RoomConfig | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Helper function to get the descriptor for a room.
|
|
20
|
+
*
|
|
21
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getRoomDescriptor(roomGridIndex?: int): RoomDescriptor;
|
|
24
|
+
/**
|
|
25
|
+
* Helper function to get the grid index of the current room.
|
|
26
|
+
*
|
|
27
|
+
* - If the current room is inside of the grid, this function will return the `SafeGridIndex` from
|
|
28
|
+
* the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
|
|
29
|
+
* overlaps with, or the top-right 1x1 section of a `RoomType.SHAPE_LTL` room.)
|
|
30
|
+
* - If the current room is outside of the grid, it will return the index from the
|
|
31
|
+
* `Level.GetCurrentRoomIndex` method (since `SafeGridIndex` is bugged for these cases).
|
|
32
|
+
*
|
|
33
|
+
* Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
|
|
34
|
+
* will return the specific 1x1 quadrant that the player entered the room at. For most situations,
|
|
35
|
+
* using the safe grid index is more reliable than this.
|
|
36
|
+
*
|
|
37
|
+
* Data structures that store data per room should use the room's `ListIndex` instead of
|
|
38
|
+
* `SafeGridIndex`, since the former is unique across different dimensions.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getRoomGridIndex(): int;
|
|
41
|
+
/**
|
|
42
|
+
* Helper function to get the list grid index of the provided room, which is equal to the index in
|
|
43
|
+
* the `RoomList.Get` method. In other words, this is equal to the order that the room was created
|
|
44
|
+
* by the floor generation algorithm.
|
|
45
|
+
*
|
|
46
|
+
* Use this as an index for data structures that store data per room, since it is unique across
|
|
47
|
+
* different dimensions.
|
|
48
|
+
*
|
|
49
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getRoomListIndex(roomGridIndex?: int): int;
|
|
52
|
+
/**
|
|
53
|
+
* Helper function to get the name of the room as it appears in the STB/XML data.
|
|
54
|
+
*
|
|
55
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
56
|
+
* @returns The room name. Returns "Unknown" if the type was not found.
|
|
57
|
+
*/
|
|
58
|
+
export declare function getRoomName(roomGridIndex?: int): string;
|
|
59
|
+
/**
|
|
60
|
+
* Helper function to get the name of the room as it appears in the STB/XML data.
|
|
61
|
+
*
|
|
62
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
63
|
+
* @returns The room name. Returns "Unknown" if the type was not found.
|
|
64
|
+
*/
|
|
65
|
+
export declare function getRoomShape(roomGridIndex?: int): RoomShape | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Helper function to get the stage ID for a room from the XML/STB data. The room stage ID will
|
|
68
|
+
* correspond to the first number in the filename of the XML/STB file. For example, a Depths room
|
|
69
|
+
* would have a stage ID of 7.
|
|
70
|
+
*
|
|
71
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
72
|
+
* @returns The room stage ID. Returns -1 if the stage ID was not found.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getRoomStageID(roomGridIndex?: int): StageID;
|
|
75
|
+
/**
|
|
76
|
+
* Helper function to get the sub-type for a room from the XML/STB data. The room sub-type will
|
|
77
|
+
* correspond to different things depending on what XML/STB file it draws from. For example, in the
|
|
78
|
+
* "00.special rooms.stb" file, an Angel Room with a sub-type of 0 will correspond to a normal Angel
|
|
79
|
+
* Room and a sub-type of 1 will correspond to an Angel Room shop for The Stairway.
|
|
80
|
+
*
|
|
81
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
82
|
+
* @returns The room sub-type. Returns -1 if the sub-type was not found.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getRoomSubType(roomGridIndex?: int): int;
|
|
85
|
+
/**
|
|
86
|
+
* Helper function for getting the type of the room with the given grid index.
|
|
87
|
+
*
|
|
88
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
89
|
+
* @returns The room data type. Returns -1 if the type was not found.
|
|
90
|
+
*/
|
|
91
|
+
export declare function getRoomType(roomGridIndex?: int): RoomType;
|
|
92
|
+
/**
|
|
93
|
+
* Helper function to get the variant for a room from the XML/STB data. You can think of a room
|
|
94
|
+
* variant as its identifier. For example, to go to Basement room #123, you would use a console
|
|
95
|
+
* command of `goto d.123` while on the Basement.
|
|
96
|
+
*
|
|
97
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
98
|
+
* @returns The room variant. Returns -1 if the variant was not found.
|
|
99
|
+
*/
|
|
100
|
+
export declare function getRoomVariant(roomGridIndex?: int): int;
|
|
101
|
+
/**
|
|
102
|
+
* Note that the room visited count will be inaccurate during the period before the PostNewRoom
|
|
103
|
+
* callback has fired (i.e. when entities are initializing and performing their first update). This
|
|
104
|
+
* is because the variable is only incremented immediately before the PostNewRoom callback fires.
|
|
105
|
+
*
|
|
106
|
+
* @param roomGridIndex Optional. Default is the current room index.
|
|
107
|
+
*/
|
|
108
|
+
export declare function getRoomVisitedCount(roomGridIndex?: int): int;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Set = ____lualib.Set
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
6
|
+
local DoorSlotFlag = ____isaac_2Dtypescript_2Ddefinitions.DoorSlotFlag
|
|
7
|
+
local ____cachedClasses = require("cachedClasses")
|
|
8
|
+
local game = ____cachedClasses.game
|
|
9
|
+
local ____doors = require("functions.doors")
|
|
10
|
+
local doorSlotFlagToDoorSlot = ____doors.doorSlotFlagToDoorSlot
|
|
11
|
+
local ____enums = require("functions.enums")
|
|
12
|
+
local getEnumValues = ____enums.getEnumValues
|
|
13
|
+
local ____flag = require("functions.flag")
|
|
14
|
+
local hasFlag = ____flag.hasFlag
|
|
15
|
+
--- Alias for the `Level.GetCurrentRoomDesc` method. Use this to make it more clear what type of
|
|
16
|
+
-- `RoomDescriptor` object that you are retrieving.
|
|
17
|
+
function ____exports.getCurrentRoomDescriptorReadOnly(self)
|
|
18
|
+
local level = game:GetLevel()
|
|
19
|
+
return level:GetCurrentRoomDesc()
|
|
20
|
+
end
|
|
21
|
+
--- Helper function to get the room data for the provided room.
|
|
22
|
+
--
|
|
23
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
24
|
+
function ____exports.getRoomData(self, roomGridIndex)
|
|
25
|
+
local roomDescriptor = ____exports.getRoomDescriptor(nil, roomGridIndex)
|
|
26
|
+
return roomDescriptor.Data
|
|
27
|
+
end
|
|
28
|
+
--- Helper function to get the descriptor for a room.
|
|
29
|
+
--
|
|
30
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
31
|
+
function ____exports.getRoomDescriptor(self, roomGridIndex)
|
|
32
|
+
local level = game:GetLevel()
|
|
33
|
+
if roomGridIndex == nil then
|
|
34
|
+
roomGridIndex = ____exports.getRoomGridIndex(nil)
|
|
35
|
+
end
|
|
36
|
+
return level:GetRoomByIdx(roomGridIndex)
|
|
37
|
+
end
|
|
38
|
+
--- Helper function to get the grid index of the current room.
|
|
39
|
+
--
|
|
40
|
+
-- - If the current room is inside of the grid, this function will return the `SafeGridIndex` from
|
|
41
|
+
-- the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
|
|
42
|
+
-- overlaps with, or the top-right 1x1 section of a `RoomType.SHAPE_LTL` room.)
|
|
43
|
+
-- - If the current room is outside of the grid, it will return the index from the
|
|
44
|
+
-- `Level.GetCurrentRoomIndex` method (since `SafeGridIndex` is bugged for these cases).
|
|
45
|
+
--
|
|
46
|
+
-- Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
|
|
47
|
+
-- will return the specific 1x1 quadrant that the player entered the room at. For most situations,
|
|
48
|
+
-- using the safe grid index is more reliable than this.
|
|
49
|
+
--
|
|
50
|
+
-- Data structures that store data per room should use the room's `ListIndex` instead of
|
|
51
|
+
-- `SafeGridIndex`, since the former is unique across different dimensions.
|
|
52
|
+
function ____exports.getRoomGridIndex(self)
|
|
53
|
+
local level = game:GetLevel()
|
|
54
|
+
local currentRoomIndex = level:GetCurrentRoomIndex()
|
|
55
|
+
if currentRoomIndex < 0 then
|
|
56
|
+
return currentRoomIndex
|
|
57
|
+
end
|
|
58
|
+
local roomDescriptor = ____exports.getCurrentRoomDescriptorReadOnly(nil)
|
|
59
|
+
return roomDescriptor.SafeGridIndex
|
|
60
|
+
end
|
|
61
|
+
--- Helper function to get the set of allowed door slots for the room at the supplied grid index.
|
|
62
|
+
-- This corresponds to the doors that are enabled in the STB/XML file for the room.
|
|
63
|
+
function ____exports.getRoomAllowedDoors(self, roomGridIndex)
|
|
64
|
+
local allowedDoors = __TS__New(Set)
|
|
65
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
66
|
+
if roomData == nil then
|
|
67
|
+
return allowedDoors
|
|
68
|
+
end
|
|
69
|
+
local doorSlotFlags = getEnumValues(nil, DoorSlotFlag)
|
|
70
|
+
for ____, doorSlotFlag in ipairs(doorSlotFlags) do
|
|
71
|
+
if hasFlag(nil, roomData.Doors, doorSlotFlag) then
|
|
72
|
+
local doorSlot = doorSlotFlagToDoorSlot(nil, doorSlotFlag)
|
|
73
|
+
allowedDoors:add(doorSlot)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
return allowedDoors
|
|
77
|
+
end
|
|
78
|
+
--- Helper function to get the list grid index of the provided room, which is equal to the index in
|
|
79
|
+
-- the `RoomList.Get` method. In other words, this is equal to the order that the room was created
|
|
80
|
+
-- by the floor generation algorithm.
|
|
81
|
+
--
|
|
82
|
+
-- Use this as an index for data structures that store data per room, since it is unique across
|
|
83
|
+
-- different dimensions.
|
|
84
|
+
--
|
|
85
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
86
|
+
function ____exports.getRoomListIndex(self, roomGridIndex)
|
|
87
|
+
local roomDescriptor = ____exports.getRoomDescriptor(nil, roomGridIndex)
|
|
88
|
+
return roomDescriptor.ListIndex
|
|
89
|
+
end
|
|
90
|
+
--- Helper function to get the name of the room as it appears in the STB/XML data.
|
|
91
|
+
--
|
|
92
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
93
|
+
-- @returns The room name. Returns "Unknown" if the type was not found.
|
|
94
|
+
function ____exports.getRoomName(self, roomGridIndex)
|
|
95
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
96
|
+
return roomData == nil and "Unknown" or roomData.Name
|
|
97
|
+
end
|
|
98
|
+
--- Helper function to get the name of the room as it appears in the STB/XML data.
|
|
99
|
+
--
|
|
100
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
101
|
+
-- @returns The room name. Returns "Unknown" if the type was not found.
|
|
102
|
+
function ____exports.getRoomShape(self, roomGridIndex)
|
|
103
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
104
|
+
local ____temp_0
|
|
105
|
+
if roomData == nil then
|
|
106
|
+
____temp_0 = nil
|
|
107
|
+
else
|
|
108
|
+
____temp_0 = roomData.Shape
|
|
109
|
+
end
|
|
110
|
+
return ____temp_0
|
|
111
|
+
end
|
|
112
|
+
--- Helper function to get the stage ID for a room from the XML/STB data. The room stage ID will
|
|
113
|
+
-- correspond to the first number in the filename of the XML/STB file. For example, a Depths room
|
|
114
|
+
-- would have a stage ID of 7.
|
|
115
|
+
--
|
|
116
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
117
|
+
-- @returns The room stage ID. Returns -1 if the stage ID was not found.
|
|
118
|
+
function ____exports.getRoomStageID(self, roomGridIndex)
|
|
119
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
120
|
+
return roomData == nil and -1 or roomData.StageID
|
|
121
|
+
end
|
|
122
|
+
--- Helper function to get the sub-type for a room from the XML/STB data. The room sub-type will
|
|
123
|
+
-- correspond to different things depending on what XML/STB file it draws from. For example, in the
|
|
124
|
+
-- "00.special rooms.stb" file, an Angel Room with a sub-type of 0 will correspond to a normal Angel
|
|
125
|
+
-- Room and a sub-type of 1 will correspond to an Angel Room shop for The Stairway.
|
|
126
|
+
--
|
|
127
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
128
|
+
-- @returns The room sub-type. Returns -1 if the sub-type was not found.
|
|
129
|
+
function ____exports.getRoomSubType(self, roomGridIndex)
|
|
130
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
131
|
+
return roomData == nil and -1 or roomData.Subtype
|
|
132
|
+
end
|
|
133
|
+
--- Helper function for getting the type of the room with the given grid index.
|
|
134
|
+
--
|
|
135
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
136
|
+
-- @returns The room data type. Returns -1 if the type was not found.
|
|
137
|
+
function ____exports.getRoomType(self, roomGridIndex)
|
|
138
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
139
|
+
return roomData == nil and -1 or roomData.Type
|
|
140
|
+
end
|
|
141
|
+
--- Helper function to get the variant for a room from the XML/STB data. You can think of a room
|
|
142
|
+
-- variant as its identifier. For example, to go to Basement room #123, you would use a console
|
|
143
|
+
-- command of `goto d.123` while on the Basement.
|
|
144
|
+
--
|
|
145
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
146
|
+
-- @returns The room variant. Returns -1 if the variant was not found.
|
|
147
|
+
function ____exports.getRoomVariant(self, roomGridIndex)
|
|
148
|
+
local roomData = ____exports.getRoomData(nil, roomGridIndex)
|
|
149
|
+
return roomData == nil and -1 or roomData.Variant
|
|
150
|
+
end
|
|
151
|
+
--- Note that the room visited count will be inaccurate during the period before the PostNewRoom
|
|
152
|
+
-- callback has fired (i.e. when entities are initializing and performing their first update). This
|
|
153
|
+
-- is because the variable is only incremented immediately before the PostNewRoom callback fires.
|
|
154
|
+
--
|
|
155
|
+
-- @param roomGridIndex Optional. Default is the current room index.
|
|
156
|
+
function ____exports.getRoomVisitedCount(self, roomGridIndex)
|
|
157
|
+
local roomDescriptor = ____exports.getRoomDescriptor(nil, roomGridIndex)
|
|
158
|
+
return roomDescriptor.VisitedCount
|
|
159
|
+
end
|
|
160
|
+
return ____exports
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RoomShape } from "isaac-typescript-definitions";
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to convert grid coordinates to a world position `Vector`.
|
|
4
|
+
*
|
|
5
|
+
* For example, the coordinates of (0, 0) are equal to `Vector(80, 160)`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function gridCoordinatesToWorldPosition(x: int, y: int): Vector;
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to convert a grid index to a grid position.
|
|
10
|
+
*
|
|
11
|
+
* For example, in a 1x1 room, grid index 0 is equal to "Vector(-1, -1) and grid index 16 is equal
|
|
12
|
+
* to "Vector(0, 0)".
|
|
13
|
+
*/
|
|
14
|
+
export declare function gridIndexToGridPosition(gridIndex: int, roomShape: RoomShape): Vector;
|
|
15
|
+
/**
|
|
16
|
+
* Helper function to convert a grid position `Vector` to a world position `Vector`.
|
|
17
|
+
*
|
|
18
|
+
* For example, the coordinates of (0, 0) are equal to `Vector(80, 160)`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function gridPositionToWorldPosition(gridPosition: Vector): Vector;
|
|
21
|
+
/**
|
|
22
|
+
* Test if a grid position is actually in the given `RoomShape`.
|
|
23
|
+
*
|
|
24
|
+
* In this context, the grid position of the top-left wall is "Vector(-1, -1)".
|
|
25
|
+
*/
|
|
26
|
+
export declare function isValidGridPosition(gridPosition: Vector, roomShape: RoomShape): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Helper function to convert a world position `Vector` to a grid position `Vector`.
|
|
29
|
+
*
|
|
30
|
+
* In this context, the grid position of the top-left wall is "Vector(-1, -1)".
|
|
31
|
+
*/
|
|
32
|
+
export declare function worldPositionToGridPosition(worldPos: Vector): Vector;
|
|
33
|
+
/**
|
|
34
|
+
* Helper function to convert a world position `Vector` to a grid position `Vector`.
|
|
35
|
+
*
|
|
36
|
+
* In this context, the grid position of the top-left wall is "Vector(-1, -1)".
|
|
37
|
+
*
|
|
38
|
+
* This is similar to the `worldPositionToGridPosition` function, but the values are not rounded.
|
|
39
|
+
*/
|
|
40
|
+
export declare function worldPositionToGridPositionFast(worldPos: Vector): Vector;
|