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,174 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Set = ____lualib.Set
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
5
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local getPlayerIndexCollectibleType, DEFAULT_COLLECTIBLE_TYPE, EXCLUDED_CHARACTERS
|
|
8
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
9
|
+
local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
|
|
10
|
+
local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
|
|
11
|
+
local ____cachedClasses = require("cachedClasses")
|
|
12
|
+
local game = ____cachedClasses.game
|
|
13
|
+
--- Helper function to get every player with no restrictions, by using `Game.GetNumPlayers` and
|
|
14
|
+
-- `Isaac.GetPlayer`.
|
|
15
|
+
--
|
|
16
|
+
-- This function is almost never what you want to use. For most purposes, use the `getPlayers`
|
|
17
|
+
-- helper function instead to get a filtered list of players.
|
|
18
|
+
function ____exports.getAllPlayers(self)
|
|
19
|
+
local numPlayers = game:GetNumPlayers()
|
|
20
|
+
local players = {}
|
|
21
|
+
do
|
|
22
|
+
local i = 0
|
|
23
|
+
while i < numPlayers do
|
|
24
|
+
local player = Isaac.GetPlayer(i)
|
|
25
|
+
players[#players + 1] = player
|
|
26
|
+
i = i + 1
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
return players
|
|
30
|
+
end
|
|
31
|
+
--- Mods often have to track variables relating to the player. In naive mods, information will only
|
|
32
|
+
-- be stored about the first player. However, in order to be robust, mods must handle up to 4
|
|
33
|
+
-- players playing at the same time. This means that information must be stored on a map data
|
|
34
|
+
-- structure. Finding a good index for these types of map data structures is difficult:
|
|
35
|
+
--
|
|
36
|
+
-- - We cannot use the index from `Isaac.GetPlayer(i)` since this fails in the case where there are
|
|
37
|
+
-- two players and the first player leaves the run.
|
|
38
|
+
-- - We cannot use `EntityPlayer.ControllerIndex` as an index because it fails in the case of Jacob
|
|
39
|
+
-- & Esau or Tainted Forgotten. It also fails in the case of a player changing their controls
|
|
40
|
+
-- mid-run.
|
|
41
|
+
-- - We cannot use `EntityPlayer.GetData().index` because it does not persist across saving and
|
|
42
|
+
-- continuing.
|
|
43
|
+
-- - We cannot use `GetPtrHash()` as an index because it does not persist across exiting and
|
|
44
|
+
-- relaunching the game.
|
|
45
|
+
-- - We cannot use `EntityPlayer.InitSeed` because it is not consistent with additional players
|
|
46
|
+
-- beyond the first.
|
|
47
|
+
--
|
|
48
|
+
-- Instead, we use the `EntityPlayer.GetCollectibleRNG` method with an arbitrary value of Sad Onion
|
|
49
|
+
-- (1). This works even if the player does not have any Sad Onions.
|
|
50
|
+
--
|
|
51
|
+
-- Since the RNG value is the same for both Tainted Lazarus and Dead Tainted Lazarus, we revert to
|
|
52
|
+
-- using the RNG of The Inner Eye (2) for Dead Tainted Lazarus.
|
|
53
|
+
--
|
|
54
|
+
-- Note that by default, this returns the same index for both The Forgotten and The Soul. (Even
|
|
55
|
+
-- though they are technically different characters, they share the same inventory and InitSeed.) If
|
|
56
|
+
-- this is not desired, pass true for the `differentiateForgottenAndSoul` argument, and the RNG of
|
|
57
|
+
-- Spoon Bender (3) will be used for The Soul.
|
|
58
|
+
function ____exports.getPlayerIndex(self, player, differentiateForgottenAndSoul)
|
|
59
|
+
if differentiateForgottenAndSoul == nil then
|
|
60
|
+
differentiateForgottenAndSoul = false
|
|
61
|
+
end
|
|
62
|
+
local playerToUse = player
|
|
63
|
+
local isSubPlayer = player:IsSubPlayer()
|
|
64
|
+
if isSubPlayer then
|
|
65
|
+
local playerParent = ____exports.getSubPlayerParent(nil, player)
|
|
66
|
+
if playerParent ~= nil then
|
|
67
|
+
playerToUse = playerParent
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
local collectibleType = getPlayerIndexCollectibleType(nil, player, differentiateForgottenAndSoul)
|
|
71
|
+
local collectibleRNG = playerToUse:GetCollectibleRNG(collectibleType)
|
|
72
|
+
local seed = collectibleRNG:GetSeed()
|
|
73
|
+
return seed
|
|
74
|
+
end
|
|
75
|
+
function getPlayerIndexCollectibleType(self, player, differentiateForgottenAndSoul)
|
|
76
|
+
local character = player:GetPlayerType()
|
|
77
|
+
repeat
|
|
78
|
+
local ____switch10 = character
|
|
79
|
+
local ____cond10 = ____switch10 == PlayerType.THE_SOUL
|
|
80
|
+
if ____cond10 then
|
|
81
|
+
do
|
|
82
|
+
return differentiateForgottenAndSoul and CollectibleType.SPOON_BENDER or DEFAULT_COLLECTIBLE_TYPE
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
____cond10 = ____cond10 or ____switch10 == PlayerType.LAZARUS_2_B
|
|
86
|
+
if ____cond10 then
|
|
87
|
+
do
|
|
88
|
+
return CollectibleType.INNER_EYE
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
do
|
|
92
|
+
do
|
|
93
|
+
return DEFAULT_COLLECTIBLE_TYPE
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
until true
|
|
97
|
+
end
|
|
98
|
+
--- This function always excludes players with a non-undefined parent, since they are not real
|
|
99
|
+
-- players (e.g. the Strawman Keeper).
|
|
100
|
+
--
|
|
101
|
+
-- If this is not desired, use the `getAllPlayers` helper function instead.
|
|
102
|
+
--
|
|
103
|
+
-- @param performCharacterExclusions Whether or not to exclude characters that are not directly
|
|
104
|
+
-- controlled by the player (i.e. Esau & Tainted Soul). Default is
|
|
105
|
+
-- false.
|
|
106
|
+
function ____exports.getPlayers(self, performCharacterExclusions)
|
|
107
|
+
if performCharacterExclusions == nil then
|
|
108
|
+
performCharacterExclusions = false
|
|
109
|
+
end
|
|
110
|
+
local players = ____exports.getAllPlayers(nil)
|
|
111
|
+
local nonChildPlayers = __TS__ArrayFilter(
|
|
112
|
+
players,
|
|
113
|
+
function(____, player) return not ____exports.isChildPlayer(nil, player) end
|
|
114
|
+
)
|
|
115
|
+
local nonChildPlayersFiltered = __TS__ArrayFilter(
|
|
116
|
+
nonChildPlayers,
|
|
117
|
+
function(____, player)
|
|
118
|
+
local character = player:GetPlayerType()
|
|
119
|
+
return not EXCLUDED_CHARACTERS:has(character)
|
|
120
|
+
end
|
|
121
|
+
)
|
|
122
|
+
return performCharacterExclusions and nonChildPlayersFiltered or nonChildPlayers
|
|
123
|
+
end
|
|
124
|
+
--- Helper function to get a parent `EntityPlayer` object for a given `EntitySubPlayer` object. This
|
|
125
|
+
-- is useful because calling the `EntityPlayer.GetSubPlayer` method on a sub-player object will
|
|
126
|
+
-- return undefined.
|
|
127
|
+
function ____exports.getSubPlayerParent(self, subPlayer)
|
|
128
|
+
local subPlayerPtrHash = GetPtrHash(subPlayer)
|
|
129
|
+
local players = ____exports.getPlayers(nil)
|
|
130
|
+
return __TS__ArrayFind(
|
|
131
|
+
players,
|
|
132
|
+
function(____, player)
|
|
133
|
+
local thisPlayerSubPlayer = player:GetSubPlayer()
|
|
134
|
+
if thisPlayerSubPlayer == nil then
|
|
135
|
+
return false
|
|
136
|
+
end
|
|
137
|
+
local thisPlayerSubPlayerPtrHash = GetPtrHash(thisPlayerSubPlayer)
|
|
138
|
+
return thisPlayerSubPlayerPtrHash == subPlayerPtrHash
|
|
139
|
+
end
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
--- Some players are "child" players, meaning that they have a non-undefined Parent property. (For
|
|
143
|
+
-- example, the Strawman Keeper.)
|
|
144
|
+
function ____exports.isChildPlayer(self, player)
|
|
145
|
+
return player.Parent ~= nil
|
|
146
|
+
end
|
|
147
|
+
DEFAULT_COLLECTIBLE_TYPE = CollectibleType.SAD_ONION
|
|
148
|
+
EXCLUDED_CHARACTERS = __TS__New(Set, {PlayerType.ESAU, PlayerType.THE_SOUL_B})
|
|
149
|
+
function ____exports.getPlayerFromIndex(self, playerIndex)
|
|
150
|
+
local players = ____exports.getPlayers(nil)
|
|
151
|
+
return __TS__ArrayFind(
|
|
152
|
+
players,
|
|
153
|
+
function(____, player) return ____exports.getPlayerIndex(nil, player) == playerIndex end
|
|
154
|
+
)
|
|
155
|
+
end
|
|
156
|
+
--- Helper function to return the index of this player with respect to the output of the
|
|
157
|
+
-- `Isaac.GetPlayer` method.
|
|
158
|
+
function ____exports.getPlayerIndexVanilla(self, playerToFind)
|
|
159
|
+
local numPlayers = game:GetNumPlayers()
|
|
160
|
+
local playerToFindHash = GetPtrHash(playerToFind)
|
|
161
|
+
do
|
|
162
|
+
local i = 0
|
|
163
|
+
while i < numPlayers do
|
|
164
|
+
local player = Isaac.GetPlayer(i)
|
|
165
|
+
local playerHash = GetPtrHash(player)
|
|
166
|
+
if playerHash == playerToFindHash then
|
|
167
|
+
return i
|
|
168
|
+
end
|
|
169
|
+
i = i + 1
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
return nil
|
|
173
|
+
end
|
|
174
|
+
return ____exports
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { PocketItemSlot } from "isaac-typescript-definitions";
|
|
2
|
+
import { PocketItemDescription } from "../interfaces/PocketItemDescription";
|
|
3
|
+
/**
|
|
4
|
+
* Helper function to get the `PocketItemSlot` that the player's pocket active collectible item is
|
|
5
|
+
* in, if any. Returns undefined if the player does not have a pocket active item.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getActivePocketItemSlot(player: EntityPlayer): PocketItemSlot | undefined;
|
|
8
|
+
export declare function getFirstCardOrPill(player: EntityPlayer): PocketItemDescription | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Use this helper function as a workaround for the `EntityPlayer.GetPocketItem` method not working
|
|
11
|
+
* correctly.
|
|
12
|
+
*
|
|
13
|
+
* Note that due to API limitations, there is no way to determine the location of a Dice Bag trinket
|
|
14
|
+
* dice. Furthermore, when the player has a Dice Bag trinket dice and a pocket active at the same
|
|
15
|
+
* time, there is no way to determine the location of the pocket active item. If this function
|
|
16
|
+
* cannot determine the identity of a particular slot, it will mark the type of the slot as
|
|
17
|
+
* `PocketItemType.UNDETERMINABLE`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getPocketItems(player: EntityPlayer): PocketItemDescription[];
|
|
20
|
+
/**
|
|
21
|
+
* Returns whether or not the player can hold an additional pocket item, beyond what they are
|
|
22
|
+
* currently carrying. This takes into account items that modify the max number of pocket items,
|
|
23
|
+
* like Starter Deck.
|
|
24
|
+
*
|
|
25
|
+
* If the player is the Tainted Soul, this always returns false, since that character cannot pick up
|
|
26
|
+
* items. (Only Tainted Forgotten can pick up items.)
|
|
27
|
+
*/
|
|
28
|
+
export declare function hasOpenPocketItemSlot(player: EntityPlayer): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Helper function to determine whether or not the player's "active" pocket item slot is set to
|
|
31
|
+
* their pocket active item.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isFirstSlotPocketActiveItem(player: EntityPlayer): boolean;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
3
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
6
|
+
local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
|
|
7
|
+
local Card = ____isaac_2Dtypescript_2Ddefinitions.Card
|
|
8
|
+
local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
|
|
9
|
+
local PillColor = ____isaac_2Dtypescript_2Ddefinitions.PillColor
|
|
10
|
+
local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
|
|
11
|
+
local PocketItemSlot = ____isaac_2Dtypescript_2Ddefinitions.PocketItemSlot
|
|
12
|
+
local ____PocketItemType = require("enums.PocketItemType")
|
|
13
|
+
local PocketItemType = ____PocketItemType.PocketItemType
|
|
14
|
+
local ____enums = require("functions.enums")
|
|
15
|
+
local getEnumValues = ____enums.getEnumValues
|
|
16
|
+
local ____player = require("functions.player")
|
|
17
|
+
local isCharacter = ____player.isCharacter
|
|
18
|
+
--- Use this helper function as a workaround for the `EntityPlayer.GetPocketItem` method not working
|
|
19
|
+
-- correctly.
|
|
20
|
+
--
|
|
21
|
+
-- Note that due to API limitations, there is no way to determine the location of a Dice Bag trinket
|
|
22
|
+
-- dice. Furthermore, when the player has a Dice Bag trinket dice and a pocket active at the same
|
|
23
|
+
-- time, there is no way to determine the location of the pocket active item. If this function
|
|
24
|
+
-- cannot determine the identity of a particular slot, it will mark the type of the slot as
|
|
25
|
+
-- `PocketItemType.UNDETERMINABLE`.
|
|
26
|
+
function ____exports.getPocketItems(self, player)
|
|
27
|
+
local pocketItem = player:GetActiveItem(ActiveSlot.POCKET)
|
|
28
|
+
local hasPocketItem = pocketItem ~= CollectibleType.NULL
|
|
29
|
+
local pocketItem2 = player:GetActiveItem(ActiveSlot.POCKET_SINGLE_USE)
|
|
30
|
+
local hasPocketItem2 = pocketItem2 ~= CollectibleType.NULL
|
|
31
|
+
local maxPocketItems = player:GetMaxPocketItems()
|
|
32
|
+
local pocketItemSlots = getEnumValues(nil, PocketItemSlot)
|
|
33
|
+
local pocketItems = {}
|
|
34
|
+
local pocketItemIdentified = false
|
|
35
|
+
local pocketItem2Identified = false
|
|
36
|
+
for ____, slot in ipairs(pocketItemSlots) do
|
|
37
|
+
local card = player:GetCard(slot)
|
|
38
|
+
local pillColor = player:GetPill(slot)
|
|
39
|
+
if card ~= Card.NULL then
|
|
40
|
+
pocketItems[#pocketItems + 1] = {slot = slot, type = PocketItemType.CARD, subType = card}
|
|
41
|
+
elseif pillColor ~= PillColor.NULL then
|
|
42
|
+
pocketItems[#pocketItems + 1] = {slot = slot, type = PocketItemType.PILL, subType = pillColor}
|
|
43
|
+
elseif hasPocketItem and not hasPocketItem2 and not pocketItemIdentified then
|
|
44
|
+
pocketItemIdentified = true
|
|
45
|
+
pocketItems[#pocketItems + 1] = {slot = slot, type = PocketItemType.ACTIVE_ITEM, subType = pocketItem}
|
|
46
|
+
elseif not hasPocketItem and hasPocketItem2 and not pocketItem2Identified then
|
|
47
|
+
pocketItem2Identified = true
|
|
48
|
+
pocketItems[#pocketItems + 1] = {slot = slot, type = PocketItemType.DICE_BAG_DICE, subType = pocketItem2}
|
|
49
|
+
elseif hasPocketItem and hasPocketItem2 then
|
|
50
|
+
pocketItems[#pocketItems + 1] = {slot = slot, type = PocketItemType.UNDETERMINABLE, subType = 0}
|
|
51
|
+
else
|
|
52
|
+
pocketItems[#pocketItems + 1] = {slot = slot, type = PocketItemType.EMPTY, subType = 0}
|
|
53
|
+
end
|
|
54
|
+
if slot + 1 == maxPocketItems then
|
|
55
|
+
break
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
return pocketItems
|
|
59
|
+
end
|
|
60
|
+
--- Helper function to get the `PocketItemSlot` that the player's pocket active collectible item is
|
|
61
|
+
-- in, if any. Returns undefined if the player does not have a pocket active item.
|
|
62
|
+
function ____exports.getActivePocketItemSlot(self, player)
|
|
63
|
+
local pocketItems = ____exports.getPocketItems(nil, player)
|
|
64
|
+
for ____, pocketItem in ipairs(pocketItems) do
|
|
65
|
+
if pocketItem.type == PocketItemType.ACTIVE_ITEM then
|
|
66
|
+
return pocketItem.slot
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
return nil
|
|
70
|
+
end
|
|
71
|
+
function ____exports.getFirstCardOrPill(self, player)
|
|
72
|
+
local pocketItems = ____exports.getPocketItems(nil, player)
|
|
73
|
+
return __TS__ArrayFind(
|
|
74
|
+
pocketItems,
|
|
75
|
+
function(____, pocketItem) return pocketItem.type == PocketItemType.CARD or pocketItem.type == PocketItemType.PILL end
|
|
76
|
+
)
|
|
77
|
+
end
|
|
78
|
+
--- Returns whether or not the player can hold an additional pocket item, beyond what they are
|
|
79
|
+
-- currently carrying. This takes into account items that modify the max number of pocket items,
|
|
80
|
+
-- like Starter Deck.
|
|
81
|
+
--
|
|
82
|
+
-- If the player is the Tainted Soul, this always returns false, since that character cannot pick up
|
|
83
|
+
-- items. (Only Tainted Forgotten can pick up items.)
|
|
84
|
+
function ____exports.hasOpenPocketItemSlot(self, player)
|
|
85
|
+
if isCharacter(nil, player, PlayerType.THE_SOUL_B) then
|
|
86
|
+
return false
|
|
87
|
+
end
|
|
88
|
+
local pocketItems = ____exports.getPocketItems(nil, player)
|
|
89
|
+
return __TS__ArraySome(
|
|
90
|
+
pocketItems,
|
|
91
|
+
function(____, pocketItem) return pocketItem.type == PocketItemType.EMPTY end
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
--- Helper function to determine whether or not the player's "active" pocket item slot is set to
|
|
95
|
+
-- their pocket active item.
|
|
96
|
+
function ____exports.isFirstSlotPocketActiveItem(self, player)
|
|
97
|
+
local pocketItems = ____exports.getPocketItems(nil, player)
|
|
98
|
+
local firstPocketItem = pocketItems[1]
|
|
99
|
+
if firstPocketItem == nil then
|
|
100
|
+
return false
|
|
101
|
+
end
|
|
102
|
+
return firstPocketItem.type == PocketItemType.ACTIVE_ITEM
|
|
103
|
+
end
|
|
104
|
+
return ____exports
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
export declare function anyEntityCloserThan(entities: Entity[], position: Vector, distance: int): boolean;
|
|
3
|
+
/** Iterates over all players and checks if any player is close enough to the specified position. */
|
|
4
|
+
export declare function anyPlayerCloserThan(position: Vector, distance: float): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to get a room position that is not overlapping with a grid entity, a heaven door,
|
|
7
|
+
* or a player. The `Room.FindFreePickupSpawnPosition` method will return locations that overlap
|
|
8
|
+
* with heaven doors and partially overlap with players, if the thing being spawned is bigger than a
|
|
9
|
+
* tile (like a Blood Donation Machine). Use this function instead if you want to account for those
|
|
10
|
+
* specific situations.
|
|
11
|
+
*
|
|
12
|
+
* @param startingPosition The position to start searching from. If this position is not overlapping
|
|
13
|
+
* with anything, then it will be returned.
|
|
14
|
+
* @param avoidActiveEntities Optional. Default is false.
|
|
15
|
+
*/
|
|
16
|
+
export declare function findFreePosition(startingPosition: Vector, avoidActiveEntities?: boolean): Vector;
|
|
17
|
+
/**
|
|
18
|
+
* Helper function to get a map containing the positions of every entity in the current room.
|
|
19
|
+
*
|
|
20
|
+
* This is useful for rewinding entity positions at a later time. Also see `setEntityPositions`.
|
|
21
|
+
*
|
|
22
|
+
* @param entities Optional. If provided, will only get the positions of the provided entities. Use
|
|
23
|
+
* this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
24
|
+
* multiple times.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getEntityPositions(entities?: Entity[]): Map<PtrHash, Vector>;
|
|
27
|
+
/**
|
|
28
|
+
* Helper function to get a map containing the velocities of every entity in the current room.
|
|
29
|
+
*
|
|
30
|
+
* This is useful for rewinding entity velocities at a later time. Also see `setEntityVelocities`.
|
|
31
|
+
*
|
|
32
|
+
* @param entities Optional. If provided, will only get the velocities of the provided entities. Use
|
|
33
|
+
* this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
34
|
+
* multiple times.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getEntityVelocities(entities?: Entity[]): Map<PtrHash, Vector>;
|
|
37
|
+
/**
|
|
38
|
+
* Helper function to set the position of every entity in the room based on a map of positions. If
|
|
39
|
+
* an entity is found that does not have matching element in the provided map, then that entity will
|
|
40
|
+
* be skipped.
|
|
41
|
+
*
|
|
42
|
+
* This function is useful for rewinding entity positions at a later time. Also see
|
|
43
|
+
* `getEntityPositions`.
|
|
44
|
+
*
|
|
45
|
+
* @param entityPositions The map providing the positions for every entity.
|
|
46
|
+
* @param entities Optional. If provided, will only set the positions of the provided entities. Use
|
|
47
|
+
* this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
48
|
+
* multiple times.
|
|
49
|
+
*/
|
|
50
|
+
export declare function setEntityPositions(entityPositions: Map<PtrHash, Vector>, entities?: Entity[]): void;
|
|
51
|
+
/**
|
|
52
|
+
* Helper function to set the velocity of every entity in the room based on a map of velocities. If
|
|
53
|
+
* an entity is found that does not have matching element in the provided map, then that entity will
|
|
54
|
+
* be skipped.
|
|
55
|
+
*
|
|
56
|
+
* This function is useful for rewinding entity velocities at a later time. Also see
|
|
57
|
+
* `getEntityVelocities`.
|
|
58
|
+
*
|
|
59
|
+
* @param entityVelocities The map providing the velocities for every entity.
|
|
60
|
+
* @param entities Optional. If provided, will only set the velocities of the provided entities. Use
|
|
61
|
+
* this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
62
|
+
* multiple times.
|
|
63
|
+
*/
|
|
64
|
+
export declare function setEntityVelocities(entityVelocities: Map<PtrHash, Vector>, entities?: Entity[]): void;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
3
|
+
local Map = ____lualib.Map
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
|
+
local EffectVariant = ____isaac_2Dtypescript_2Ddefinitions.EffectVariant
|
|
8
|
+
local HeavenLightDoorSubType = ____isaac_2Dtypescript_2Ddefinitions.HeavenLightDoorSubType
|
|
9
|
+
local ____cachedClasses = require("cachedClasses")
|
|
10
|
+
local game = ____cachedClasses.game
|
|
11
|
+
local ____constants = require("constants")
|
|
12
|
+
local DISTANCE_OF_GRID_TILE = ____constants.DISTANCE_OF_GRID_TILE
|
|
13
|
+
local ____entity = require("functions.entity")
|
|
14
|
+
local getEntities = ____entity.getEntities
|
|
15
|
+
local ____entitySpecific = require("functions.entitySpecific")
|
|
16
|
+
local getEffects = ____entitySpecific.getEffects
|
|
17
|
+
local ____player = require("functions.player")
|
|
18
|
+
local getPlayerCloserThan = ____player.getPlayerCloserThan
|
|
19
|
+
local ____playerIndex = require("functions.playerIndex")
|
|
20
|
+
local getPlayers = ____playerIndex.getPlayers
|
|
21
|
+
local MAX_FIND_FREE_POSITION_ATTEMPTS = 100
|
|
22
|
+
function ____exports.anyEntityCloserThan(self, entities, position, distance)
|
|
23
|
+
return __TS__ArraySome(
|
|
24
|
+
entities,
|
|
25
|
+
function(____, entity) return position:Distance(entity.Position) <= distance end
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
--- Iterates over all players and checks if any player is close enough to the specified position.
|
|
29
|
+
function ____exports.anyPlayerCloserThan(self, position, distance)
|
|
30
|
+
local players = getPlayers(nil)
|
|
31
|
+
return __TS__ArraySome(
|
|
32
|
+
players,
|
|
33
|
+
function(____, player) return player.Position:Distance(position) <= distance end
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
--- Helper function to get a room position that is not overlapping with a grid entity, a heaven door,
|
|
37
|
+
-- or a player. The `Room.FindFreePickupSpawnPosition` method will return locations that overlap
|
|
38
|
+
-- with heaven doors and partially overlap with players, if the thing being spawned is bigger than a
|
|
39
|
+
-- tile (like a Blood Donation Machine). Use this function instead if you want to account for those
|
|
40
|
+
-- specific situations.
|
|
41
|
+
--
|
|
42
|
+
-- @param startingPosition The position to start searching from. If this position is not overlapping
|
|
43
|
+
-- with anything, then it will be returned.
|
|
44
|
+
-- @param avoidActiveEntities Optional. Default is false.
|
|
45
|
+
function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities)
|
|
46
|
+
if avoidActiveEntities == nil then
|
|
47
|
+
avoidActiveEntities = false
|
|
48
|
+
end
|
|
49
|
+
local room = game:GetRoom()
|
|
50
|
+
local heavenDoors = getEffects(nil, EffectVariant.HEAVEN_LIGHT_DOOR, HeavenLightDoorSubType.HEAVEN_DOOR)
|
|
51
|
+
do
|
|
52
|
+
local i = 0
|
|
53
|
+
while i < MAX_FIND_FREE_POSITION_ATTEMPTS do
|
|
54
|
+
do
|
|
55
|
+
local position = room:FindFreePickupSpawnPosition(startingPosition, i, avoidActiveEntities)
|
|
56
|
+
local closePlayer = getPlayerCloserThan(nil, position, DISTANCE_OF_GRID_TILE)
|
|
57
|
+
if closePlayer ~= nil then
|
|
58
|
+
goto __continue7
|
|
59
|
+
end
|
|
60
|
+
local isCloseHeavenDoor = ____exports.anyEntityCloserThan(nil, heavenDoors, position, DISTANCE_OF_GRID_TILE)
|
|
61
|
+
if isCloseHeavenDoor then
|
|
62
|
+
goto __continue7
|
|
63
|
+
end
|
|
64
|
+
return position
|
|
65
|
+
end
|
|
66
|
+
::__continue7::
|
|
67
|
+
i = i + 1
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
return room:FindFreePickupSpawnPosition(startingPosition)
|
|
71
|
+
end
|
|
72
|
+
--- Helper function to get a map containing the positions of every entity in the current room.
|
|
73
|
+
--
|
|
74
|
+
-- This is useful for rewinding entity positions at a later time. Also see `setEntityPositions`.
|
|
75
|
+
--
|
|
76
|
+
-- @param entities Optional. If provided, will only get the positions of the provided entities. Use
|
|
77
|
+
-- this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
78
|
+
-- multiple times.
|
|
79
|
+
function ____exports.getEntityPositions(self, entities)
|
|
80
|
+
if entities == nil then
|
|
81
|
+
entities = getEntities(nil)
|
|
82
|
+
end
|
|
83
|
+
local entityPositions = __TS__New(Map)
|
|
84
|
+
for ____, entity in ipairs(entities) do
|
|
85
|
+
local ptrHash = GetPtrHash(entity)
|
|
86
|
+
entityPositions:set(ptrHash, entity.Position)
|
|
87
|
+
end
|
|
88
|
+
return entityPositions
|
|
89
|
+
end
|
|
90
|
+
--- Helper function to get a map containing the velocities of every entity in the current room.
|
|
91
|
+
--
|
|
92
|
+
-- This is useful for rewinding entity velocities at a later time. Also see `setEntityVelocities`.
|
|
93
|
+
--
|
|
94
|
+
-- @param entities Optional. If provided, will only get the velocities of the provided entities. Use
|
|
95
|
+
-- this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
96
|
+
-- multiple times.
|
|
97
|
+
function ____exports.getEntityVelocities(self, entities)
|
|
98
|
+
if entities == nil then
|
|
99
|
+
entities = getEntities(nil)
|
|
100
|
+
end
|
|
101
|
+
local entityVelocities = __TS__New(Map)
|
|
102
|
+
for ____, entity in ipairs(entities) do
|
|
103
|
+
local ptrHash = GetPtrHash(entity)
|
|
104
|
+
entityVelocities:set(ptrHash, entity.Velocity)
|
|
105
|
+
end
|
|
106
|
+
return entityVelocities
|
|
107
|
+
end
|
|
108
|
+
--- Helper function to set the position of every entity in the room based on a map of positions. If
|
|
109
|
+
-- an entity is found that does not have matching element in the provided map, then that entity will
|
|
110
|
+
-- be skipped.
|
|
111
|
+
--
|
|
112
|
+
-- This function is useful for rewinding entity positions at a later time. Also see
|
|
113
|
+
-- `getEntityPositions`.
|
|
114
|
+
--
|
|
115
|
+
-- @param entityPositions The map providing the positions for every entity.
|
|
116
|
+
-- @param entities Optional. If provided, will only set the positions of the provided entities. Use
|
|
117
|
+
-- this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
118
|
+
-- multiple times.
|
|
119
|
+
function ____exports.setEntityPositions(self, entityPositions, entities)
|
|
120
|
+
if entities == nil then
|
|
121
|
+
entities = getEntities(nil)
|
|
122
|
+
end
|
|
123
|
+
for ____, entity in ipairs(entities) do
|
|
124
|
+
local ptrHash = GetPtrHash(entity)
|
|
125
|
+
local entityPosition = entityPositions:get(ptrHash)
|
|
126
|
+
if entityPosition ~= nil then
|
|
127
|
+
entity.Position = entityPosition
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
--- Helper function to set the velocity of every entity in the room based on a map of velocities. If
|
|
132
|
+
-- an entity is found that does not have matching element in the provided map, then that entity will
|
|
133
|
+
-- be skipped.
|
|
134
|
+
--
|
|
135
|
+
-- This function is useful for rewinding entity velocities at a later time. Also see
|
|
136
|
+
-- `getEntityVelocities`.
|
|
137
|
+
--
|
|
138
|
+
-- @param entityVelocities The map providing the velocities for every entity.
|
|
139
|
+
-- @param entities Optional. If provided, will only set the velocities of the provided entities. Use
|
|
140
|
+
-- this with cached entities to avoid invoking the `Isaac.GetRoomEntities` method
|
|
141
|
+
-- multiple times.
|
|
142
|
+
function ____exports.setEntityVelocities(self, entityVelocities, entities)
|
|
143
|
+
if entities == nil then
|
|
144
|
+
entities = getEntities(nil)
|
|
145
|
+
end
|
|
146
|
+
for ____, entity in ipairs(entities) do
|
|
147
|
+
local ptrHash = GetPtrHash(entity)
|
|
148
|
+
local entityVelocity = entityVelocities:get(ptrHash)
|
|
149
|
+
if entityVelocity ~= nil then
|
|
150
|
+
entity.Velocity = entityVelocity
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
return ____exports
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* This returns a random float between 0 and 1. It is inclusive on the low end, but exclusive on the
|
|
4
|
+
* high end. (This is because the `RNG.RandomFloat` method will never return a value of exactly 1.)
|
|
5
|
+
*
|
|
6
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
7
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getRandom(seedOrRNG?: Seed | RNG): float;
|
|
10
|
+
/**
|
|
11
|
+
* This returns a random float between min and max.
|
|
12
|
+
*
|
|
13
|
+
* For example:
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* const realNumberBetweenOneAndThree = getRandomFloat(1, 3);
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @param min The lower bound for the random number (inclusive).
|
|
20
|
+
* @param max The upper bound for the random number (exclusive).
|
|
21
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
22
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getRandomFloat(min: int, max: int, seedOrRNG?: Seed | RNG): float;
|
|
25
|
+
/**
|
|
26
|
+
* This returns a random integer between min and max. It is inclusive on both ends.
|
|
27
|
+
*
|
|
28
|
+
* Note that this function will invoke the `Next` method on the `RNG` object before returning the
|
|
29
|
+
* random number.
|
|
30
|
+
*
|
|
31
|
+
* For example:
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* const oneTwoOrThree = getRandomInt(1, 3);
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @param min The lower bound for the random number (inclusive).
|
|
38
|
+
* @param max The upper bound for the random number (inclusive).
|
|
39
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
40
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getRandomInt(min: int, max: int, seedOrRNG?: Seed | RNG): int;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____rng = require("functions.rng")
|
|
3
|
+
local getRandomSeed = ____rng.getRandomSeed
|
|
4
|
+
local isRNG = ____rng.isRNG
|
|
5
|
+
local newRNG = ____rng.newRNG
|
|
6
|
+
--- This returns a random float between 0 and 1. It is inclusive on the low end, but exclusive on the
|
|
7
|
+
-- high end. (This is because the `RNG.RandomFloat` method will never return a value of exactly 1.)
|
|
8
|
+
--
|
|
9
|
+
-- @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
10
|
+
-- `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
11
|
+
function ____exports.getRandom(self, seedOrRNG)
|
|
12
|
+
if seedOrRNG == nil then
|
|
13
|
+
seedOrRNG = getRandomSeed(nil)
|
|
14
|
+
end
|
|
15
|
+
local rng = isRNG(nil, seedOrRNG) and seedOrRNG or newRNG(nil, seedOrRNG)
|
|
16
|
+
return rng:RandomFloat()
|
|
17
|
+
end
|
|
18
|
+
--- This returns a random float between min and max.
|
|
19
|
+
--
|
|
20
|
+
-- For example:
|
|
21
|
+
--
|
|
22
|
+
-- ```ts
|
|
23
|
+
-- const realNumberBetweenOneAndThree = getRandomFloat(1, 3);
|
|
24
|
+
-- ```
|
|
25
|
+
--
|
|
26
|
+
-- @param min The lower bound for the random number (inclusive).
|
|
27
|
+
-- @param max The upper bound for the random number (exclusive).
|
|
28
|
+
-- @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
29
|
+
-- `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
30
|
+
function ____exports.getRandomFloat(self, min, max, seedOrRNG)
|
|
31
|
+
if seedOrRNG == nil then
|
|
32
|
+
seedOrRNG = getRandomSeed(nil)
|
|
33
|
+
end
|
|
34
|
+
if min > max then
|
|
35
|
+
local oldMin = min
|
|
36
|
+
local oldMax = max
|
|
37
|
+
min = oldMax
|
|
38
|
+
max = oldMin
|
|
39
|
+
end
|
|
40
|
+
return min + ____exports.getRandom(nil, seedOrRNG) * (max - min)
|
|
41
|
+
end
|
|
42
|
+
--- This returns a random integer between min and max. It is inclusive on both ends.
|
|
43
|
+
--
|
|
44
|
+
-- Note that this function will invoke the `Next` method on the `RNG` object before returning the
|
|
45
|
+
-- random number.
|
|
46
|
+
--
|
|
47
|
+
-- For example:
|
|
48
|
+
--
|
|
49
|
+
-- ```ts
|
|
50
|
+
-- const oneTwoOrThree = getRandomInt(1, 3);
|
|
51
|
+
-- ```
|
|
52
|
+
--
|
|
53
|
+
-- @param min The lower bound for the random number (inclusive).
|
|
54
|
+
-- @param max The upper bound for the random number (inclusive).
|
|
55
|
+
-- @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
56
|
+
-- `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
57
|
+
function ____exports.getRandomInt(self, min, max, seedOrRNG)
|
|
58
|
+
if seedOrRNG == nil then
|
|
59
|
+
seedOrRNG = getRandomSeed(nil)
|
|
60
|
+
end
|
|
61
|
+
local rng = isRNG(nil, seedOrRNG) and seedOrRNG or newRNG(nil, seedOrRNG)
|
|
62
|
+
if min > max then
|
|
63
|
+
local oldMin = min
|
|
64
|
+
local oldMax = max
|
|
65
|
+
min = oldMax
|
|
66
|
+
max = oldMin
|
|
67
|
+
end
|
|
68
|
+
return rng:RandomInt(max - min + 1) + min
|
|
69
|
+
end
|
|
70
|
+
return ____exports
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Uses the player's current health and other miscellaneous things to determine if incoming damage
|
|
4
|
+
* will be fatal.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isDamageToPlayerFatal(player: EntityPlayer, damageAmount: int, damageSource: EntityRef, lastDamageGameFrame: int | undefined): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Assuming that we are on the frame of fatal damage, this function returns whether or not
|
|
9
|
+
* Mysterious Paper would rotate to Missing Poster on the frame that the "Game Over" screen would
|
|
10
|
+
* appear (which would subsequently save the player from fatal damage).
|
|
11
|
+
*
|
|
12
|
+
* Mysterious Paper rotates between the 4 items on every frame, in order. The formula for whether
|
|
13
|
+
* Mysterious Paper be Missing Power is: `gameFrameCount % 4 === 3`
|
|
14
|
+
*/
|
|
15
|
+
export declare function willMysteriousPaperRevive(player: EntityPlayer): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The `EntityPlayer.WillPlayerRevive` method does not properly account for Mysterious Paper, so use
|
|
18
|
+
* this helper function instead for more robust revival detection.
|
|
19
|
+
*/
|
|
20
|
+
export declare function willPlayerRevive(player: EntityPlayer): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Helper function to determine if the player will be revived by the Heartbreak collectible if they
|
|
23
|
+
* take fatal damage. This is contingent on the character that they are playing as and the amount of
|
|
24
|
+
* broken hearts that they already have.
|
|
25
|
+
*/
|
|
26
|
+
export declare function willReviveFromHeartbreak(player: EntityPlayer): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Helper function to determine if the Spirit Shackles item is in an enabled state. (It can be
|
|
29
|
+
* either enabled or disabled.)
|
|
30
|
+
*/
|
|
31
|
+
export declare function willReviveFromSpiritShackles(player: EntityPlayer): boolean;
|