isaacscript-common 2.3.0 → 2.3.1
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 +6 -0
- package/callbacks/customRevive.d.ts +1 -0
- package/callbacks/customRevive.lua +145 -0
- package/callbacks/itemPickup.d.ts +1 -0
- package/callbacks/itemPickup.lua +64 -0
- package/callbacks/postBombInitLate.d.ts +1 -0
- package/callbacks/postBombInitLate.lua +31 -0
- package/callbacks/postBoneSwing.d.ts +1 -0
- package/callbacks/postBoneSwing.lua +48 -0
- package/callbacks/postCollectibleInitFirst.d.ts +1 -0
- package/callbacks/postCollectibleInitFirst.lua +32 -0
- package/callbacks/postCursedTeleport.d.ts +1 -0
- package/callbacks/postCursedTeleport.lua +119 -0
- package/callbacks/postCustomDoorEnter.d.ts +50 -0
- package/callbacks/postCustomDoorEnter.lua +203 -0
- package/callbacks/postDoorRender.d.ts +1 -0
- package/callbacks/postDoorRender.lua +24 -0
- package/callbacks/postDoorUpdate.d.ts +1 -0
- package/callbacks/postDoorUpdate.lua +24 -0
- package/callbacks/postEffectInitLate.d.ts +1 -0
- package/callbacks/postEffectInitLate.lua +31 -0
- package/callbacks/postEffectStateChanged.d.ts +1 -0
- package/callbacks/postEffectStateChanged.lua +37 -0
- package/callbacks/postEsauJr.d.ts +1 -0
- package/callbacks/postEsauJr.lua +67 -0
- package/callbacks/postFamiliarInitLate.d.ts +1 -0
- package/callbacks/postFamiliarInitLate.lua +31 -0
- package/callbacks/postFamiliarStateChanged.d.ts +1 -0
- package/callbacks/postFamiliarStateChanged.lua +37 -0
- package/callbacks/postFlip.d.ts +1 -0
- package/callbacks/postFlip.lua +61 -0
- package/callbacks/postGreedModeWave.d.ts +1 -0
- package/callbacks/postGreedModeWave.lua +32 -0
- package/callbacks/postGridEntity.d.ts +1 -0
- package/callbacks/postGridEntity.lua +105 -0
- package/callbacks/postGridEntityCollision.d.ts +1 -0
- package/callbacks/postGridEntityCollision.lua +65 -0
- package/callbacks/postGridEntityRender.d.ts +1 -0
- package/callbacks/postGridEntityRender.lua +24 -0
- package/callbacks/postHolyMantleRemoved.d.ts +1 -0
- package/callbacks/postHolyMantleRemoved.lua +39 -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 +31 -0
- package/callbacks/postLaserInitLate.d.ts +1 -0
- package/callbacks/postLaserInitLate.lua +31 -0
- package/callbacks/postNPCInitLate.d.ts +1 -0
- package/callbacks/postNPCInitLate.lua +31 -0
- package/callbacks/postNPCStateChanged.d.ts +1 -0
- package/callbacks/postNPCStateChanged.lua +37 -0
- package/callbacks/postNewRoomEarly.d.ts +1 -0
- package/callbacks/postNewRoomEarly.lua +65 -0
- package/callbacks/postPickupCollect.d.ts +1 -0
- package/callbacks/postPickupCollect.lua +39 -0
- package/callbacks/postPickupInitLate.d.ts +1 -0
- package/callbacks/postPickupInitLate.lua +31 -0
- package/callbacks/postPickupStateChanged.d.ts +1 -0
- package/callbacks/postPickupStateChanged.lua +37 -0
- package/callbacks/postPitRender.d.ts +1 -0
- package/callbacks/postPitRender.lua +24 -0
- package/callbacks/postPitUpdate.d.ts +1 -0
- package/callbacks/postPitUpdate.lua +24 -0
- package/callbacks/postPlayerChangeHealth.d.ts +1 -0
- package/callbacks/postPlayerChangeHealth.lua +50 -0
- package/callbacks/postPlayerChangeType.d.ts +1 -0
- package/callbacks/postPlayerChangeType.lua +39 -0
- package/callbacks/postPlayerFatalDamage.d.ts +1 -0
- package/callbacks/postPlayerFatalDamage.lua +71 -0
- package/callbacks/postPlayerInitLate.d.ts +1 -0
- package/callbacks/postPlayerInitLate.lua +33 -0
- package/callbacks/postPlayerReordered.d.ts +1 -0
- package/callbacks/postPlayerReordered.lua +112 -0
- package/callbacks/postPoopRender.d.ts +1 -0
- package/callbacks/postPoopRender.lua +24 -0
- package/callbacks/postPoopUpdate.d.ts +1 -0
- package/callbacks/postPoopUpdate.lua +24 -0
- package/callbacks/postPressurePlateRender.d.ts +1 -0
- package/callbacks/postPressurePlateRender.lua +24 -0
- package/callbacks/postPressurePlateUpdate.d.ts +1 -0
- package/callbacks/postPressurePlateUpdate.lua +24 -0
- package/callbacks/postProjectileInitLate.d.ts +1 -0
- package/callbacks/postProjectileInitLate.lua +31 -0
- package/callbacks/postPurchase.d.ts +1 -0
- package/callbacks/postPurchase.lua +49 -0
- package/callbacks/postRockRender.d.ts +1 -0
- package/callbacks/postRockRender.lua +24 -0
- package/callbacks/postRockUpdate.d.ts +1 -0
- package/callbacks/postRockUpdate.lua +24 -0
- package/callbacks/postRoomClearChanged.d.ts +1 -0
- package/callbacks/postRoomClearChanged.lua +40 -0
- package/callbacks/postSacrifice.d.ts +1 -0
- package/callbacks/postSacrifice.lua +42 -0
- package/callbacks/postSlotInitUpdate.d.ts +1 -0
- package/callbacks/postSlotInitUpdate.lua +51 -0
- package/callbacks/postSlotRender.d.ts +1 -0
- package/callbacks/postSlotRender.lua +74 -0
- package/callbacks/postSpikesRender.d.ts +1 -0
- package/callbacks/postSpikesRender.lua +24 -0
- package/callbacks/postSpikesUpdate.d.ts +1 -0
- package/callbacks/postSpikesUpdate.lua +24 -0
- package/callbacks/postTNTRender.d.ts +1 -0
- package/callbacks/postTNTRender.lua +24 -0
- package/callbacks/postTNTUpdate.d.ts +1 -0
- package/callbacks/postTNTUpdate.lua +24 -0
- package/callbacks/postTearInitLate.d.ts +1 -0
- package/callbacks/postTearInitLate.lua +31 -0
- package/callbacks/postTearInitVeryLate.d.ts +1 -0
- package/callbacks/postTearInitVeryLate.lua +34 -0
- package/callbacks/postTransformation.d.ts +1 -0
- package/callbacks/postTransformation.lua +46 -0
- package/callbacks/postTrinketBreak.d.ts +1 -0
- package/callbacks/postTrinketBreak.lua +70 -0
- package/callbacks/preBerserkDeath.d.ts +1 -0
- package/callbacks/preBerserkDeath.lua +36 -0
- package/callbacks/preNewLevel.d.ts +1 -0
- package/callbacks/preNewLevel.lua +43 -0
- package/callbacks/reorderedCallbacks.d.ts +20 -0
- package/callbacks/reorderedCallbacks.lua +92 -0
- package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postBombInitLate.lua +23 -0
- package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
- package/callbacks/subscriptions/postBoneSwing.lua +16 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.lua +23 -0
- package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
- package/callbacks/subscriptions/postCursedTeleport.lua +16 -0
- package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
- package/callbacks/subscriptions/postCustomDoorEnter.lua +29 -0
- package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
- package/callbacks/subscriptions/postCustomRevive.lua +23 -0
- package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
- package/callbacks/subscriptions/postDoorRender.lua +24 -0
- package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postDoorUpdate.lua +24 -0
- package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postEffectInitLate.lua +23 -0
- package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postEffectStateChanged.lua +23 -0
- package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
- package/callbacks/subscriptions/postEsauJr.lua +16 -0
- package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postFamiliarInitLate.lua +23 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.lua +23 -0
- package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
- package/callbacks/subscriptions/postFirstEsauJr.lua +16 -0
- package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
- package/callbacks/subscriptions/postFirstFlip.lua +16 -0
- package/callbacks/subscriptions/postFlip.d.ts +4 -0
- package/callbacks/subscriptions/postFlip.lua +16 -0
- package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
- package/callbacks/subscriptions/postGameStartedReordered.lua +16 -0
- package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
- package/callbacks/subscriptions/postGreedModeWave.lua +16 -0
- package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityBroken.lua +29 -0
- package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityCollision.lua +29 -0
- package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityInit.lua +29 -0
- package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityRemove.lua +27 -0
- package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityRender.lua +29 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.lua +29 -0
- package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityUpdate.lua +29 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.lua +28 -0
- package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
- package/callbacks/subscriptions/postItemDischarged.lua +23 -0
- package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
- package/callbacks/subscriptions/postItemPickup.lua +27 -0
- package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postKnifeInitLate.lua +23 -0
- package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postLaserInitLate.lua +23 -0
- package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postNPCInitLate.lua +23 -0
- package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
- package/callbacks/subscriptions/postNPCStateChanged.lua +27 -0
- package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
- package/callbacks/subscriptions/postNewLevelReordered.lua +16 -0
- package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
- package/callbacks/subscriptions/postNewRoomEarly.lua +16 -0
- package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
- package/callbacks/subscriptions/postNewRoomReordered.lua +16 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.lua +28 -0
- package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
- package/callbacks/subscriptions/postPickupCollect.lua +23 -0
- package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
- package/callbacks/subscriptions/postPickupInitLate.lua +23 -0
- package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postPickupStateChanged.lua +23 -0
- package/callbacks/subscriptions/postPitRender.d.ts +5 -0
- package/callbacks/subscriptions/postPitRender.lua +24 -0
- package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPitUpdate.lua +24 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.lua +28 -0
- package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
- package/callbacks/subscriptions/postPlayerChangeType.lua +23 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.lua +39 -0
- package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerInitLate.lua +28 -0
- package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerInitReordered.lua +28 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.lua +28 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.lua +28 -0
- package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
- package/callbacks/subscriptions/postPoopRender.lua +24 -0
- package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPoopUpdate.lua +24 -0
- package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
- package/callbacks/subscriptions/postPressurePlateRender.lua +24 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.lua +24 -0
- package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postProjectileInitLate.lua +23 -0
- package/callbacks/subscriptions/postPurchase.d.ts +6 -0
- package/callbacks/subscriptions/postPurchase.lua +16 -0
- package/callbacks/subscriptions/postRockRender.d.ts +5 -0
- package/callbacks/subscriptions/postRockRender.lua +24 -0
- package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postRockUpdate.lua +24 -0
- package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
- package/callbacks/subscriptions/postRoomClearChanged.lua +16 -0
- package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
- package/callbacks/subscriptions/postSacrifice.lua +28 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.lua +23 -0
- package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
- package/callbacks/subscriptions/postSlotDestroyed.lua +23 -0
- package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
- package/callbacks/subscriptions/postSlotInit.lua +23 -0
- package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
- package/callbacks/subscriptions/postSlotRender.lua +23 -0
- package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postSlotUpdate.lua +23 -0
- package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
- package/callbacks/subscriptions/postSpikesRender.lua +24 -0
- package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postSpikesUpdate.lua +24 -0
- package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
- package/callbacks/subscriptions/postTNTRender.lua +24 -0
- package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postTNTUpdate.lua +24 -0
- package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postTearInitLate.lua +23 -0
- package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
- package/callbacks/subscriptions/postTearInitVeryLate.lua +23 -0
- package/callbacks/subscriptions/postTransformation.d.ts +5 -0
- package/callbacks/subscriptions/postTransformation.lua +23 -0
- package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
- package/callbacks/subscriptions/postTrinketBreak.lua +23 -0
- package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
- package/callbacks/subscriptions/preBerserkDeath.lua +29 -0
- package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
- package/callbacks/subscriptions/preCustomRevive.lua +32 -0
- package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
- package/callbacks/subscriptions/preItemPickup.lua +27 -0
- package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
- package/callbacks/subscriptions/preNewLevel.lua +16 -0
- package/classes/DefaultMap.d.ts +79 -0
- package/classes/DefaultMap.lua +84 -0
- package/classes/ModUpgraded.d.ts +23 -0
- package/classes/ModUpgraded.lua +38 -0
- package/constants.d.ts +104 -0
- package/constants.lua +45 -0
- package/constantsFirstLast.d.ts +130 -0
- package/constantsFirstLast.lua +50 -0
- package/enums/HealthType.d.ts +16 -0
- package/enums/HealthType.lua +21 -0
- package/enums/ModCallbackCustom.d.ts +860 -0
- package/enums/ModCallbackCustom.lua +153 -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 +7 -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 +12 -0
- package/features/characterHealthConversion.d.ts +9 -0
- package/features/characterHealthConversion.lua +85 -0
- package/features/characterStats.d.ts +19 -0
- package/features/characterStats.lua +37 -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 +133 -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 +463 -0
- package/features/disableInputs.d.ts +62 -0
- package/features/disableInputs.lua +89 -0
- package/features/disableSound.d.ts +18 -0
- package/features/disableSound.lua +48 -0
- package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
- package/features/extraConsoleCommands/commandsDisplay.lua +129 -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 +249 -0
- package/features/extraConsoleCommands/listCommands.d.ts +349 -0
- package/features/extraConsoleCommands/listCommands.lua +922 -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 +45 -0
- package/features/fastReset.d.ts +14 -0
- package/features/fastReset.lua +49 -0
- package/features/forgottenSwitch.d.ts +5 -0
- package/features/forgottenSwitch.lua +28 -0
- package/features/getCollectibleItemPoolType.d.ts +7 -0
- package/features/getCollectibleItemPoolType.lua +43 -0
- package/features/playerInventory.d.ts +23 -0
- package/features/playerInventory.lua +129 -0
- package/features/ponyDetection.d.ts +6 -0
- package/features/ponyDetection.lua +49 -0
- package/features/preventCollectibleRotation.d.ts +11 -0
- package/features/preventCollectibleRotation.lua +58 -0
- package/features/runInNFrames.d.ts +61 -0
- package/features/runInNFrames.lua +78 -0
- package/features/saveDataManager/constants.d.ts +3 -0
- package/features/saveDataManager/constants.lua +4 -0
- package/features/saveDataManager/exports.d.ts +131 -0
- package/features/saveDataManager/exports.lua +66 -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 +119 -0
- package/features/saveDataManager/maps.d.ts +10 -0
- package/features/saveDataManager/maps.lua +8 -0
- package/features/saveDataManager/merge.d.ts +24 -0
- package/features/saveDataManager/merge.lua +124 -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 +69 -0
- package/features/taintedLazarusPlayers.d.ts +13 -0
- package/features/taintedLazarusPlayers.lua +74 -0
- package/featuresInitialized.d.ts +1 -0
- package/featuresInitialized.lua +14 -0
- package/functions/array.d.ts +141 -0
- package/functions/array.lua +269 -0
- package/functions/benchmark.d.ts +10 -0
- package/functions/benchmark.lua +32 -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 +183 -0
- package/functions/cacheFlag.d.ts +8 -0
- package/functions/cacheFlag.lua +7 -0
- package/functions/cards.d.ts +95 -0
- package/functions/cards.lua +174 -0
- package/functions/challenges.d.ts +3 -0
- package/functions/challenges.lua +9 -0
- package/functions/character.d.ts +48 -0
- package/functions/character.lua +73 -0
- package/functions/charge.d.ts +54 -0
- package/functions/charge.lua +123 -0
- package/functions/chargeBar.d.ts +12 -0
- package/functions/chargeBar.lua +43 -0
- package/functions/collectibleCacheFlag.d.ts +23 -0
- package/functions/collectibleCacheFlag.lua +65 -0
- package/functions/collectibleSet.d.ts +9 -0
- package/functions/collectibleSet.lua +51 -0
- package/functions/collectibleTag.d.ts +16 -0
- package/functions/collectibleTag.lua +74 -0
- package/functions/collectibles.d.ts +211 -0
- package/functions/collectibles.lua +281 -0
- package/functions/color.d.ts +45 -0
- package/functions/color.lua +122 -0
- package/functions/debug.d.ts +27 -0
- package/functions/debug.lua +31 -0
- package/functions/deepCopy.d.ts +29 -0
- package/functions/deepCopy.lua +357 -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 +231 -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 +233 -0
- package/functions/entitySpecific.d.ts +264 -0
- package/functions/entitySpecific.lua +650 -0
- package/functions/entityTypes.d.ts +3 -0
- package/functions/entityTypes.lua +7 -0
- package/functions/enums.d.ts +80 -0
- package/functions/enums.lua +85 -0
- package/functions/familiars.d.ts +60 -0
- package/functions/familiars.lua +33 -0
- package/functions/flag.d.ts +99 -0
- package/functions/flag.lua +47 -0
- package/functions/flying.d.ts +19 -0
- package/functions/flying.lua +67 -0
- package/functions/globals.d.ts +14 -0
- package/functions/globals.lua +230 -0
- package/functions/gridEntity.d.ts +155 -0
- package/functions/gridEntity.lua +263 -0
- package/functions/gridEntitySpecific.d.ts +18 -0
- package/functions/gridEntitySpecific.lua +88 -0
- package/functions/input.d.ts +32 -0
- package/functions/input.lua +106 -0
- package/functions/isaacAPIClass.d.ts +23 -0
- package/functions/isaacAPIClass.lua +35 -0
- package/functions/jsonHelpers.d.ts +18 -0
- package/functions/jsonHelpers.lua +26 -0
- package/functions/jsonRoom.d.ts +12 -0
- package/functions/jsonRoom.lua +86 -0
- package/functions/kColor.d.ts +31 -0
- package/functions/kColor.lua +101 -0
- package/functions/language.d.ts +8 -0
- package/functions/language.lua +8 -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 +519 -0
- package/functions/map.d.ts +22 -0
- package/functions/map.lua +43 -0
- package/functions/math.d.ts +50 -0
- package/functions/math.lua +92 -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 +104 -0
- package/functions/pickupVariants.d.ts +23 -0
- package/functions/pickupVariants.lua +37 -0
- package/functions/pickups.d.ts +132 -0
- package/functions/pickups.lua +407 -0
- package/functions/pills.d.ts +69 -0
- package/functions/pills.lua +83 -0
- package/functions/player.d.ts +296 -0
- package/functions/player.lua +611 -0
- package/functions/playerDataStructures.d.ts +92 -0
- package/functions/playerDataStructures.lua +38 -0
- package/functions/playerHealth.d.ts +22 -0
- package/functions/playerHealth.lua +286 -0
- package/functions/playerIndex.d.ts +68 -0
- package/functions/playerIndex.lua +127 -0
- package/functions/pocketItems.d.ts +33 -0
- package/functions/pocketItems.lua +86 -0
- package/functions/positionVelocity.d.ts +64 -0
- package/functions/positionVelocity.lua +108 -0
- package/functions/random.d.ts +42 -0
- package/functions/random.lua +38 -0
- package/functions/revive.d.ts +31 -0
- package/functions/revive.lua +102 -0
- package/functions/rng.d.ts +53 -0
- package/functions/rng.lua +129 -0
- package/functions/roomData.d.ts +108 -0
- package/functions/roomData.lua +92 -0
- package/functions/roomGrid.d.ts +40 -0
- package/functions/roomGrid.lua +59 -0
- package/functions/roomShape.d.ts +43 -0
- package/functions/roomShape.lua +45 -0
- package/functions/rooms.d.ts +194 -0
- package/functions/rooms.lua +382 -0
- package/functions/run.d.ts +12 -0
- package/functions/run.lua +28 -0
- package/functions/seeds.d.ts +9 -0
- package/functions/seeds.lua +15 -0
- package/functions/serialization.d.ts +11 -0
- package/functions/serialization.lua +65 -0
- package/functions/set.d.ts +39 -0
- package/functions/set.lua +61 -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 +70 -0
- package/functions/sprite.d.ts +36 -0
- package/functions/sprite.lua +64 -0
- package/functions/stage.d.ts +35 -0
- package/functions/stage.lua +70 -0
- package/functions/string.d.ts +13 -0
- package/functions/string.lua +36 -0
- package/functions/table.d.ts +36 -0
- package/functions/table.lua +79 -0
- package/functions/tears.d.ts +22 -0
- package/functions/tears.lua +14 -0
- package/functions/transformations.d.ts +30 -0
- package/functions/transformations.lua +96 -0
- package/functions/trinketCacheFlag.d.ts +10 -0
- package/functions/trinketCacheFlag.lua +50 -0
- package/functions/trinketGive.d.ts +38 -0
- package/functions/trinketGive.lua +90 -0
- package/functions/trinkets.d.ts +73 -0
- package/functions/trinkets.lua +115 -0
- package/functions/tstlClass.d.ts +20 -0
- package/functions/tstlClass.lua +56 -0
- package/functions/ui.d.ts +34 -0
- package/functions/ui.lua +95 -0
- package/functions/utils.d.ts +112 -0
- package/functions/utils.lua +94 -0
- package/functions/vector.d.ts +32 -0
- package/functions/vector.lua +118 -0
- package/index.d.ts +128 -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 +2488 -0
- package/maps/cardMap.d.ts +3 -0
- package/maps/cardMap.lua +211 -0
- package/maps/characterMap.d.ts +3 -0
- package/maps/characterMap.lua +89 -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 +24 -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 +51 -0
- package/maps/pillEffectMap.d.ts +3 -0
- package/maps/pillEffectMap.lua +89 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.lua +15 -0
- package/maps/roomTypeMap.d.ts +3 -0
- package/maps/roomTypeMap.lua +44 -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 +33 -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 +12 -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 +24 -0
- package/objects/roomShapeLayoutSizes.d.ts +10 -0
- package/objects/roomShapeLayoutSizes.lua +25 -0
- package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
- package/objects/roomShapeToBottomRightPosition.lua +20 -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 +87 -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 +22 -0
- package/objects/roomShapeVolumes.d.ts +13 -0
- package/objects/roomShapeVolumes.lua +27 -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 +2 -3
- package/patchErrorFunctions.d.ts +1 -0
- package/patchErrorFunctions.lua +50 -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 +531 -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 +17 -0
- package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
- package/sets/charactersWithNoSoulHeartsSet.lua +14 -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 +14 -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 +27 -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 +33 -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,69 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local postNPCInitSirenHelper, checkReturnFamiliarToPlayer, blacklistEntryExists, getSirenHelper, v
|
|
5
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
6
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
7
|
+
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
|
|
8
|
+
local ____featuresInitialized = require("featuresInitialized")
|
|
9
|
+
local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
|
|
10
|
+
local ____entity = require("functions.entity")
|
|
11
|
+
local getEntities = ____entity.getEntities
|
|
12
|
+
local ____exports = require("features.saveDataManager.exports")
|
|
13
|
+
local saveDataManager = ____exports.saveDataManager
|
|
14
|
+
function postNPCInitSirenHelper(self, npc)
|
|
15
|
+
checkReturnFamiliarToPlayer(nil, npc)
|
|
16
|
+
end
|
|
17
|
+
function checkReturnFamiliarToPlayer(self, npc)
|
|
18
|
+
if npc.Target == nil then
|
|
19
|
+
return
|
|
20
|
+
end
|
|
21
|
+
local familiar = npc.Target:ToFamiliar()
|
|
22
|
+
if familiar == nil then
|
|
23
|
+
return
|
|
24
|
+
end
|
|
25
|
+
if blacklistEntryExists(nil, familiar.Variant, familiar.SubType) then
|
|
26
|
+
npc:Remove()
|
|
27
|
+
familiar:AddToFollowers()
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
function blacklistEntryExists(self, incomingFamiliarVariant, incomingFamiliarSubType)
|
|
31
|
+
for ____, ____value in ipairs(v.run.familiarBlacklist) do
|
|
32
|
+
local familiarVariant = ____value[1]
|
|
33
|
+
local familiarSubType = ____value[2]
|
|
34
|
+
if incomingFamiliarVariant == familiarVariant and familiarSubType == incomingFamiliarSubType then
|
|
35
|
+
return true
|
|
36
|
+
end
|
|
37
|
+
if incomingFamiliarVariant == familiarVariant and familiarSubType == nil then
|
|
38
|
+
return true
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
return false
|
|
42
|
+
end
|
|
43
|
+
function getSirenHelper(self, familiar)
|
|
44
|
+
local familiarPtrHash = GetPtrHash(familiar)
|
|
45
|
+
local sirenHelpers = getEntities(nil, EntityType.SIREN_HELPER)
|
|
46
|
+
return __TS__ArrayFind(
|
|
47
|
+
sirenHelpers,
|
|
48
|
+
function(____, sirenHelper) return sirenHelper.Target ~= nil and GetPtrHash(sirenHelper.Target) == familiarPtrHash end
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
local FEATURE_NAME = "siren helpers"
|
|
52
|
+
v = {run = {familiarBlacklist = {}}}
|
|
53
|
+
function ____exports.sirenHelpersInit(self, mod)
|
|
54
|
+
saveDataManager(nil, "sirenHelpers", v)
|
|
55
|
+
mod:AddCallback(ModCallback.POST_NPC_INIT, postNPCInitSirenHelper, EntityType.SIREN_HELPER)
|
|
56
|
+
end
|
|
57
|
+
function ____exports.setFamiliarNoSirenSteal(self, familiarVariant, familiarSubType)
|
|
58
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
59
|
+
if blacklistEntryExists(nil, familiarVariant, familiarSubType) then
|
|
60
|
+
return
|
|
61
|
+
end
|
|
62
|
+
local ____v_run_familiarBlacklist_0 = v.run.familiarBlacklist
|
|
63
|
+
____v_run_familiarBlacklist_0[#____v_run_familiarBlacklist_0 + 1] = {familiarVariant, familiarSubType}
|
|
64
|
+
end
|
|
65
|
+
function ____exports.hasSirenStolenFamiliar(self, familiar)
|
|
66
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
67
|
+
return getSirenHelper(nil, familiar) ~= nil
|
|
68
|
+
end
|
|
69
|
+
return ____exports
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to get the other version of Tainted Lazarus.
|
|
4
|
+
*
|
|
5
|
+
* - On Tainted Lazarus, returns the player object for Dead Tainted Lazarus.
|
|
6
|
+
* - On Dead Tainted Lazarus, returns the player object for Tainted Lazarus.
|
|
7
|
+
* - Returns undefined if player object retrieval failed for any reason.
|
|
8
|
+
*
|
|
9
|
+
* If you call the `EntityPlayer.Exists` method on the returned object, it will return false.
|
|
10
|
+
* However, you can still call the other methods like you normally would (e.g.
|
|
11
|
+
* `EntityPlayer.AddCollectible`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function getTaintedLazarusSubPlayer(player: EntityPlayer): EntityPlayer | undefined;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Map = ____lualib.Map
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local postPlayerInit, checkDequeue, v
|
|
6
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
|
+
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
|
|
8
|
+
local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
|
|
9
|
+
local ____featuresInitialized = require("featuresInitialized")
|
|
10
|
+
local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
|
|
11
|
+
local ____exports = require("features.saveDataManager.exports")
|
|
12
|
+
local saveDataManager = ____exports.saveDataManager
|
|
13
|
+
function postPlayerInit(self, player)
|
|
14
|
+
local entityPtr = EntityPtr(player)
|
|
15
|
+
local character = player:GetPlayerType()
|
|
16
|
+
if character == PlayerType.LAZARUS_B then
|
|
17
|
+
local ____v_run_queuedTaintedLazarus_0 = v.run.queuedTaintedLazarus
|
|
18
|
+
____v_run_queuedTaintedLazarus_0[#____v_run_queuedTaintedLazarus_0 + 1] = entityPtr
|
|
19
|
+
elseif character == PlayerType.LAZARUS_2_B then
|
|
20
|
+
local ____v_run_queuedDeadTaintedLazarus_1 = v.run.queuedDeadTaintedLazarus
|
|
21
|
+
____v_run_queuedDeadTaintedLazarus_1[#____v_run_queuedDeadTaintedLazarus_1 + 1] = entityPtr
|
|
22
|
+
else
|
|
23
|
+
return
|
|
24
|
+
end
|
|
25
|
+
checkDequeue(nil)
|
|
26
|
+
end
|
|
27
|
+
function checkDequeue(self)
|
|
28
|
+
if #v.run.queuedTaintedLazarus == 0 or #v.run.queuedDeadTaintedLazarus == 0 then
|
|
29
|
+
return
|
|
30
|
+
end
|
|
31
|
+
local taintedLazarusPtr = table.remove(v.run.queuedTaintedLazarus, 1)
|
|
32
|
+
local deadTaintedLazarusPtr = table.remove(v.run.queuedDeadTaintedLazarus, 1)
|
|
33
|
+
if taintedLazarusPtr == nil or deadTaintedLazarusPtr == nil then
|
|
34
|
+
return
|
|
35
|
+
end
|
|
36
|
+
local taintedLazarus = taintedLazarusPtr.Ref
|
|
37
|
+
local deadTaintedLazarus = deadTaintedLazarusPtr.Ref
|
|
38
|
+
if taintedLazarus == nil or deadTaintedLazarus == nil then
|
|
39
|
+
return
|
|
40
|
+
end
|
|
41
|
+
local taintedLazarusPtrHash = GetPtrHash(taintedLazarus)
|
|
42
|
+
local deadTaintedLazarusPtrHash = GetPtrHash(deadTaintedLazarus)
|
|
43
|
+
v.run.subPlayerMap:set(taintedLazarusPtrHash, deadTaintedLazarusPtr)
|
|
44
|
+
v.run.subPlayerMap:set(deadTaintedLazarusPtrHash, taintedLazarusPtr)
|
|
45
|
+
end
|
|
46
|
+
local FEATURE_NAME = "Tainted Lazarus entity finder"
|
|
47
|
+
v = {run = {
|
|
48
|
+
queuedTaintedLazarus = {},
|
|
49
|
+
queuedDeadTaintedLazarus = {},
|
|
50
|
+
subPlayerMap = __TS__New(Map)
|
|
51
|
+
}}
|
|
52
|
+
function ____exports.taintedLazarusPlayersInit(self, mod)
|
|
53
|
+
saveDataManager(
|
|
54
|
+
nil,
|
|
55
|
+
"taintedLazarusPlayers",
|
|
56
|
+
v,
|
|
57
|
+
function() return false end
|
|
58
|
+
)
|
|
59
|
+
mod:AddCallback(ModCallback.POST_PLAYER_INIT, postPlayerInit)
|
|
60
|
+
end
|
|
61
|
+
function ____exports.getTaintedLazarusSubPlayer(self, player)
|
|
62
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
63
|
+
local ptrHash = GetPtrHash(player)
|
|
64
|
+
local entityPtr = v.run.subPlayerMap:get(ptrHash)
|
|
65
|
+
if entityPtr == nil then
|
|
66
|
+
return nil
|
|
67
|
+
end
|
|
68
|
+
local entity = entityPtr.Ref
|
|
69
|
+
if entity == nil then
|
|
70
|
+
return nil
|
|
71
|
+
end
|
|
72
|
+
return entity:ToPlayer()
|
|
73
|
+
end
|
|
74
|
+
return ____exports
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local featuresInitialized = false
|
|
3
|
+
function ____exports.areFeaturesInitialized(self)
|
|
4
|
+
return featuresInitialized
|
|
5
|
+
end
|
|
6
|
+
function ____exports.errorIfFeaturesNotInitialized(self, featureName)
|
|
7
|
+
if not ____exports.areFeaturesInitialized(nil) then
|
|
8
|
+
error(("The " .. featureName) .. " is not initialized. You must first upgrade your mod object by calling the \"upgradeMod\" function.")
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
function ____exports.setFeaturesInitialized(self)
|
|
12
|
+
featuresInitialized = true
|
|
13
|
+
end
|
|
14
|
+
return ____exports
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Helper function for determining if two arrays contain the exact same elements. Note that this
|
|
4
|
+
* only performs a shallow comparison.
|
|
5
|
+
*/
|
|
6
|
+
export declare function arrayEquals<T>(array1: T[] | readonly T[], array2: T[] | readonly T[]): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Shallow copies and removes the specified element(s) from the array. Returns the copied array. If
|
|
9
|
+
* the specified element(s) are not found in the array, it will simply return a shallow copy of the
|
|
10
|
+
* array.
|
|
11
|
+
*
|
|
12
|
+
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
13
|
+
*/
|
|
14
|
+
export declare function arrayRemove<T>(originalArray: T[] | readonly T[], ...elementsToRemove: T[]): T[];
|
|
15
|
+
/**
|
|
16
|
+
* Removes the specified element(s) from the array. If the specified element(s) are not found in the
|
|
17
|
+
* array, this function will do nothing. Returns whether or not one or more elements were removed.
|
|
18
|
+
*
|
|
19
|
+
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
20
|
+
*/
|
|
21
|
+
export declare function arrayRemoveInPlace<T>(array: T[], ...elementsToRemove: T[]): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Shallow copies and removes the elements at the specified indexes from the array. Returns the
|
|
24
|
+
* copied array. If the specified indexes are not found in the array, it will simply return a
|
|
25
|
+
* shallow copy of the array.
|
|
26
|
+
*
|
|
27
|
+
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
28
|
+
*/
|
|
29
|
+
export declare function arrayRemoveIndex<T>(originalArray: T[] | readonly T[], ...indexesToRemove: int[]): T[];
|
|
30
|
+
/**
|
|
31
|
+
* Removes the elements at the specified indexes from the array. If the specified indexes are not
|
|
32
|
+
* found in the array, this function will do nothing. Returns whether or not one or more elements
|
|
33
|
+
* were removed.
|
|
34
|
+
*
|
|
35
|
+
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
36
|
+
*/
|
|
37
|
+
export declare function arrayRemoveIndexInPlace<T>(array: T[], ...indexesToRemove: int[]): boolean;
|
|
38
|
+
export declare function arrayToString<T>(array: T[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* Helper function to combine two or more arrays. Returns a new array that is the composition of all
|
|
41
|
+
* of the specified arrays.
|
|
42
|
+
*
|
|
43
|
+
* This function is variadic, meaning that you can specify N arguments to combine N arrays. Note
|
|
44
|
+
* that this will only perform a shallow copy of the array elements.
|
|
45
|
+
*/
|
|
46
|
+
export declare function combineArrays<T>(...arrays: Array<T[] | readonly T[]>): T[];
|
|
47
|
+
/**
|
|
48
|
+
* Helper function to perform a shallow copy.
|
|
49
|
+
*
|
|
50
|
+
* @param oldArray The array to copy.
|
|
51
|
+
* @param numElements Optional. If specified, will only copy the first N elements. By default, the
|
|
52
|
+
* entire array will be copied.
|
|
53
|
+
*/
|
|
54
|
+
export declare function copyArray<T>(oldArray: T[] | readonly T[], numElements?: int): T[];
|
|
55
|
+
export declare function emptyArray<T>(array: T[]): void;
|
|
56
|
+
/**
|
|
57
|
+
* Helper function to get an array containing the indexes of an array.
|
|
58
|
+
*
|
|
59
|
+
* For example, an array of `["Apple", "Banana"]` would return an array of `[0, 1]`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function getArrayIndexes<T>(array: T[] | readonly T[]): int[];
|
|
62
|
+
/**
|
|
63
|
+
* Helper function to return the last element of an array.
|
|
64
|
+
*
|
|
65
|
+
* If the array is empty, this will return undefined.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getLastElement<T>(array: T[]): T | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Helper function to get a random element from the provided array.
|
|
70
|
+
*
|
|
71
|
+
* @param array The array to get an element from.
|
|
72
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
73
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
74
|
+
* @param exceptions Optional. An array of elements to skip over if selected.
|
|
75
|
+
*/
|
|
76
|
+
export declare function getRandomArrayElement<T>(array: T[] | readonly T[], seedOrRNG?: Seed | RNG, exceptions?: T[] | readonly T[]): T;
|
|
77
|
+
/**
|
|
78
|
+
* Helper function to get a random element from the provided array. Once the random element is
|
|
79
|
+
* decided, it is then removed from the array (in-place).
|
|
80
|
+
*
|
|
81
|
+
* @param array The array to get an element from.
|
|
82
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
83
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
84
|
+
* @param exceptions Optional. An array of elements to skip over if selected.
|
|
85
|
+
*/
|
|
86
|
+
export declare function getRandomArrayElementAndRemove<T>(array: T[], seedOrRNG?: Seed | RNG, exceptions?: T[] | readonly T[]): T;
|
|
87
|
+
/**
|
|
88
|
+
* Helper function to get a random index from the provided array.
|
|
89
|
+
*
|
|
90
|
+
* @param array The array to get the index from.
|
|
91
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
92
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
93
|
+
*/
|
|
94
|
+
export declare function getRandomArrayIndex<T>(array: T[] | readonly T[], seedOrRNG?: Seed | RNG): int;
|
|
95
|
+
/**
|
|
96
|
+
* Initializes an array with all elements containing the specified default value.
|
|
97
|
+
*
|
|
98
|
+
* For example:
|
|
99
|
+
*
|
|
100
|
+
* ```ts
|
|
101
|
+
* const playerTransformations = initArray(false, PlayerForm.NUM_PLAYER_FORMS - 1);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function initArray<T>(defaultValue: T, size: int): T[];
|
|
105
|
+
/**
|
|
106
|
+
* Since Lua uses tables for every non-primitive data structure, it is non-trivial to determine if a
|
|
107
|
+
* particular table is being used as an array. `isArray` returns true if:
|
|
108
|
+
*
|
|
109
|
+
* - the table contains all numerical indexes that are contiguous, starting at 1
|
|
110
|
+
* - the table has no keys (i.e. an "empty" table)
|
|
111
|
+
*/
|
|
112
|
+
export declare function isArray(object: unknown): object is unknown[];
|
|
113
|
+
/**
|
|
114
|
+
* Helper function to see if every element in the array is N + 1.
|
|
115
|
+
*
|
|
116
|
+
* For example, `[2, 3, 4]` would return true, and `[2, 3, 5]` would return false.
|
|
117
|
+
*/
|
|
118
|
+
export declare function isArrayContiguous(array: int[]): boolean;
|
|
119
|
+
/** Checks if an array is in the provided 2-dimensional array. */
|
|
120
|
+
export declare function isArrayInArray<T>(arrayToMatch: T[] | readonly T[], parentArray: Array<T[] | readonly T[]>): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Shallow copies and shuffles the array using the Fisher-Yates algorithm. Returns the copied array.
|
|
123
|
+
*
|
|
124
|
+
* From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
|
|
125
|
+
*
|
|
126
|
+
* @param originalArray The array to shuffle.
|
|
127
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
128
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
129
|
+
*/
|
|
130
|
+
export declare function shuffleArray<T>(originalArray: T[] | readonly T[], seedOrRNG?: Seed | RNG): T[];
|
|
131
|
+
/**
|
|
132
|
+
* Shuffles the provided array in-place using the Fisher-Yates algorithm.
|
|
133
|
+
*
|
|
134
|
+
* From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
|
|
135
|
+
*
|
|
136
|
+
* @param array The array to shuffle.
|
|
137
|
+
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
138
|
+
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
139
|
+
*/
|
|
140
|
+
export declare function shuffleArrayInPlace<T>(array: T[], seedOrRNG?: Seed | RNG): void;
|
|
141
|
+
export declare function sumArray(array: number[] | readonly number[]): number;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
|
|
3
|
+
local Set = ____lualib.Set
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local __TS__ArrayIndexOf = ____lualib.__TS__ArrayIndexOf
|
|
6
|
+
local __TS__ArraySplice = ____lualib.__TS__ArraySplice
|
|
7
|
+
local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
|
|
8
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
9
|
+
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
10
|
+
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
11
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
12
|
+
local __TS__ArrayReduce = ____lualib.__TS__ArrayReduce
|
|
13
|
+
local ____exports = {}
|
|
14
|
+
local ____random = require("functions.random")
|
|
15
|
+
local getRandomInt = ____random.getRandomInt
|
|
16
|
+
local ____rng = require("functions.rng")
|
|
17
|
+
local getRandomSeed = ____rng.getRandomSeed
|
|
18
|
+
local isRNG = ____rng.isRNG
|
|
19
|
+
local newRNG = ____rng.newRNG
|
|
20
|
+
local ____utils = require("functions.utils")
|
|
21
|
+
local erange = ____utils.erange
|
|
22
|
+
local ____repeat = ____utils["repeat"]
|
|
23
|
+
function ____exports.getRandomArrayIndex(self, array, seedOrRNG)
|
|
24
|
+
if seedOrRNG == nil then
|
|
25
|
+
seedOrRNG = getRandomSeed(nil)
|
|
26
|
+
end
|
|
27
|
+
if #array == 0 then
|
|
28
|
+
error("Failed to get a random array index since the provided array is empty.")
|
|
29
|
+
end
|
|
30
|
+
return getRandomInt(nil, 0, #array - 1, seedOrRNG)
|
|
31
|
+
end
|
|
32
|
+
function ____exports.shuffleArrayInPlace(self, array, seedOrRNG)
|
|
33
|
+
if seedOrRNG == nil then
|
|
34
|
+
seedOrRNG = getRandomSeed(nil)
|
|
35
|
+
end
|
|
36
|
+
local currentIndex = #array
|
|
37
|
+
local randomIndex
|
|
38
|
+
local rng = isRNG(nil, seedOrRNG) and seedOrRNG or newRNG(nil, seedOrRNG)
|
|
39
|
+
while currentIndex > 0 do
|
|
40
|
+
currentIndex = currentIndex - 1
|
|
41
|
+
randomIndex = ____exports.getRandomArrayIndex(nil, array, rng)
|
|
42
|
+
local ____temp_0 = {array[randomIndex + 1], array[currentIndex + 1]}
|
|
43
|
+
array[currentIndex + 1] = ____temp_0[1]
|
|
44
|
+
array[randomIndex + 1] = ____temp_0[2]
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
function ____exports.arrayEquals(self, array1, array2)
|
|
48
|
+
if #array1 ~= #array2 then
|
|
49
|
+
return false
|
|
50
|
+
end
|
|
51
|
+
return __TS__ArrayEvery(
|
|
52
|
+
array1,
|
|
53
|
+
function(____, array1Element, i)
|
|
54
|
+
local array2Element = array2[i + 1]
|
|
55
|
+
return array1Element == array2Element
|
|
56
|
+
end
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
function ____exports.arrayRemove(self, originalArray, ...)
|
|
60
|
+
local elementsToRemove = {...}
|
|
61
|
+
local elementsToRemoveSet = __TS__New(Set, elementsToRemove)
|
|
62
|
+
local array = {}
|
|
63
|
+
for ____, element in ipairs(originalArray) do
|
|
64
|
+
if not elementsToRemoveSet:has(element) then
|
|
65
|
+
array[#array + 1] = element
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
return array
|
|
69
|
+
end
|
|
70
|
+
function ____exports.arrayRemoveInPlace(self, array, ...)
|
|
71
|
+
local elementsToRemove = {...}
|
|
72
|
+
local removedOneOrMoreElements = false
|
|
73
|
+
for ____, element in ipairs(elementsToRemove) do
|
|
74
|
+
local index = __TS__ArrayIndexOf(array, element)
|
|
75
|
+
if index > -1 then
|
|
76
|
+
removedOneOrMoreElements = true
|
|
77
|
+
__TS__ArraySplice(array, index, 1)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
return removedOneOrMoreElements
|
|
81
|
+
end
|
|
82
|
+
function ____exports.arrayRemoveIndex(self, originalArray, ...)
|
|
83
|
+
local indexesToRemove = {...}
|
|
84
|
+
local indexesToRemoveSet = __TS__New(Set, indexesToRemove)
|
|
85
|
+
local array = {}
|
|
86
|
+
__TS__ArrayForEach(
|
|
87
|
+
originalArray,
|
|
88
|
+
function(____, element, i)
|
|
89
|
+
if not indexesToRemoveSet:has(i) then
|
|
90
|
+
array[#array + 1] = element
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
)
|
|
94
|
+
return array
|
|
95
|
+
end
|
|
96
|
+
function ____exports.arrayRemoveIndexInPlace(self, array, ...)
|
|
97
|
+
local indexesToRemove = {...}
|
|
98
|
+
local legalIndexes = __TS__ArrayFilter(
|
|
99
|
+
indexesToRemove,
|
|
100
|
+
function(____, i) return i >= 0 and i < #array end
|
|
101
|
+
)
|
|
102
|
+
__TS__ArraySort(legalIndexes)
|
|
103
|
+
if #legalIndexes == 0 then
|
|
104
|
+
return false
|
|
105
|
+
end
|
|
106
|
+
do
|
|
107
|
+
local i = #array - 1
|
|
108
|
+
while i >= 0 do
|
|
109
|
+
__TS__ArraySplice(array, i, 1)
|
|
110
|
+
i = i - 1
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
return true
|
|
114
|
+
end
|
|
115
|
+
function ____exports.arrayToString(self, array)
|
|
116
|
+
if #array == 0 then
|
|
117
|
+
return "[]"
|
|
118
|
+
end
|
|
119
|
+
local strings = __TS__ArrayMap(
|
|
120
|
+
array,
|
|
121
|
+
function(____, element) return tostring(element) end
|
|
122
|
+
)
|
|
123
|
+
local commaSeparatedStrings = table.concat(strings, ", ")
|
|
124
|
+
return ("[" .. commaSeparatedStrings) .. "]"
|
|
125
|
+
end
|
|
126
|
+
function ____exports.combineArrays(self, ...)
|
|
127
|
+
local arrays = {...}
|
|
128
|
+
local elements = {}
|
|
129
|
+
for ____, array in ipairs(arrays) do
|
|
130
|
+
for ____, element in ipairs(array) do
|
|
131
|
+
elements[#elements + 1] = element
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
return elements
|
|
135
|
+
end
|
|
136
|
+
function ____exports.copyArray(self, oldArray, numElements)
|
|
137
|
+
if numElements == nil then
|
|
138
|
+
numElements = #oldArray
|
|
139
|
+
end
|
|
140
|
+
local newArray = {}
|
|
141
|
+
do
|
|
142
|
+
local i = 0
|
|
143
|
+
while i < numElements do
|
|
144
|
+
local oldElement = oldArray[i + 1]
|
|
145
|
+
if oldElement ~= nil then
|
|
146
|
+
newArray[#newArray + 1] = oldElement
|
|
147
|
+
end
|
|
148
|
+
i = i + 1
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
return newArray
|
|
152
|
+
end
|
|
153
|
+
function ____exports.emptyArray(self, array)
|
|
154
|
+
__TS__ArraySplice(array, 0, #array)
|
|
155
|
+
end
|
|
156
|
+
function ____exports.getArrayIndexes(self, array)
|
|
157
|
+
return erange(nil, #array)
|
|
158
|
+
end
|
|
159
|
+
function ____exports.getLastElement(self, array)
|
|
160
|
+
return array[#array]
|
|
161
|
+
end
|
|
162
|
+
function ____exports.getRandomArrayElement(self, array, seedOrRNG, exceptions)
|
|
163
|
+
if seedOrRNG == nil then
|
|
164
|
+
seedOrRNG = getRandomSeed(nil)
|
|
165
|
+
end
|
|
166
|
+
if exceptions == nil then
|
|
167
|
+
exceptions = {}
|
|
168
|
+
end
|
|
169
|
+
if #array == 0 then
|
|
170
|
+
error("Failed to get a random array element since the provided array is empty.")
|
|
171
|
+
end
|
|
172
|
+
local arrayWithoutExceptions = ____exports.arrayRemove(
|
|
173
|
+
nil,
|
|
174
|
+
array,
|
|
175
|
+
table.unpack(exceptions)
|
|
176
|
+
)
|
|
177
|
+
local randomIndex = ____exports.getRandomArrayIndex(nil, arrayWithoutExceptions, seedOrRNG)
|
|
178
|
+
local randomElement = arrayWithoutExceptions[randomIndex + 1]
|
|
179
|
+
if randomElement == nil then
|
|
180
|
+
error(("Failed to get a random array element since the random index of " .. tostring(randomIndex)) .. " was not valid.")
|
|
181
|
+
end
|
|
182
|
+
return randomElement
|
|
183
|
+
end
|
|
184
|
+
function ____exports.getRandomArrayElementAndRemove(self, array, seedOrRNG, exceptions)
|
|
185
|
+
if seedOrRNG == nil then
|
|
186
|
+
seedOrRNG = getRandomSeed(nil)
|
|
187
|
+
end
|
|
188
|
+
if exceptions == nil then
|
|
189
|
+
exceptions = {}
|
|
190
|
+
end
|
|
191
|
+
local randomArrayElement = ____exports.getRandomArrayElement(nil, array, seedOrRNG, exceptions)
|
|
192
|
+
____exports.arrayRemoveInPlace(nil, array, randomArrayElement)
|
|
193
|
+
return randomArrayElement
|
|
194
|
+
end
|
|
195
|
+
function ____exports.initArray(self, defaultValue, size)
|
|
196
|
+
local array = {}
|
|
197
|
+
____repeat(
|
|
198
|
+
nil,
|
|
199
|
+
size,
|
|
200
|
+
function()
|
|
201
|
+
array[#array + 1] = defaultValue
|
|
202
|
+
end
|
|
203
|
+
)
|
|
204
|
+
return array
|
|
205
|
+
end
|
|
206
|
+
function ____exports.isArray(self, object)
|
|
207
|
+
if type(object) ~= "table" then
|
|
208
|
+
return false
|
|
209
|
+
end
|
|
210
|
+
local ____table = object
|
|
211
|
+
local metatable = getmetatable(____table)
|
|
212
|
+
if metatable ~= nil then
|
|
213
|
+
return false
|
|
214
|
+
end
|
|
215
|
+
local numEntries = 0
|
|
216
|
+
for key in pairs(____table) do
|
|
217
|
+
numEntries = numEntries + 1
|
|
218
|
+
if type(key) ~= "number" then
|
|
219
|
+
return false
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
if numEntries == 0 then
|
|
223
|
+
return true
|
|
224
|
+
end
|
|
225
|
+
do
|
|
226
|
+
local i = 1
|
|
227
|
+
while i <= numEntries do
|
|
228
|
+
local element = ____table[i]
|
|
229
|
+
if element == nil then
|
|
230
|
+
return false
|
|
231
|
+
end
|
|
232
|
+
i = i + 1
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
return true
|
|
236
|
+
end
|
|
237
|
+
function ____exports.isArrayContiguous(self, array)
|
|
238
|
+
local lastValue
|
|
239
|
+
for ____, element in ipairs(array) do
|
|
240
|
+
if lastValue == nil then
|
|
241
|
+
lastValue = element - 1
|
|
242
|
+
end
|
|
243
|
+
if element ~= lastValue - 1 then
|
|
244
|
+
return false
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
return true
|
|
248
|
+
end
|
|
249
|
+
function ____exports.isArrayInArray(self, arrayToMatch, parentArray)
|
|
250
|
+
return __TS__ArraySome(
|
|
251
|
+
parentArray,
|
|
252
|
+
function(____, element) return ____exports.arrayEquals(nil, element, arrayToMatch) end
|
|
253
|
+
)
|
|
254
|
+
end
|
|
255
|
+
function ____exports.shuffleArray(self, originalArray, seedOrRNG)
|
|
256
|
+
if seedOrRNG == nil then
|
|
257
|
+
seedOrRNG = getRandomSeed(nil)
|
|
258
|
+
end
|
|
259
|
+
local array = ____exports.copyArray(nil, originalArray)
|
|
260
|
+
____exports.shuffleArrayInPlace(nil, array, seedOrRNG)
|
|
261
|
+
return array
|
|
262
|
+
end
|
|
263
|
+
function ____exports.sumArray(self, array)
|
|
264
|
+
return __TS__ArrayReduce(
|
|
265
|
+
array,
|
|
266
|
+
function(____, accumulator, element) return accumulator + element end
|
|
267
|
+
)
|
|
268
|
+
end
|
|
269
|
+
return ____exports
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to benchmark the performance of a function.
|
|
4
|
+
*
|
|
5
|
+
* This function is variadic, which means that you can supply as many as you want to benchmark.
|
|
6
|
+
*
|
|
7
|
+
* @returns An array containing the average time in milliseconds for each function. (This will also
|
|
8
|
+
* be printed to the log.)
|
|
9
|
+
*/
|
|
10
|
+
export declare function benchmark(numTrials: int, ...functions: Array<() => void>): int[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____log = require("functions.log")
|
|
5
|
+
local log = ____log.log
|
|
6
|
+
function ____exports.benchmark(self, numTrials, ...)
|
|
7
|
+
local functions = {...}
|
|
8
|
+
log(((("Benchmarking " .. tostring(#functions)) .. " function(s) with ") .. tostring(numTrials)) .. " trials.")
|
|
9
|
+
local averages = {}
|
|
10
|
+
__TS__ArrayForEach(
|
|
11
|
+
functions,
|
|
12
|
+
function(____, func, i)
|
|
13
|
+
local totalTimeMilliseconds = 0
|
|
14
|
+
do
|
|
15
|
+
local j = 0
|
|
16
|
+
while j < numTrials do
|
|
17
|
+
local startTimeMilliseconds = Isaac.GetTime()
|
|
18
|
+
func(nil)
|
|
19
|
+
local endTimeMilliseconds = Isaac.GetTime()
|
|
20
|
+
local elapsedTimeMilliseconds = endTimeMilliseconds - startTimeMilliseconds
|
|
21
|
+
totalTimeMilliseconds = totalTimeMilliseconds + elapsedTimeMilliseconds
|
|
22
|
+
j = j + 1
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
local averageTimeMilliseconds = totalTimeMilliseconds / numTrials
|
|
26
|
+
log(((("The average time of the function at index " .. tostring(i)) .. " is: ") .. tostring(averageTimeMilliseconds)) .. " milliseconds")
|
|
27
|
+
averages[#averages + 1] = averageTimeMilliseconds
|
|
28
|
+
end
|
|
29
|
+
)
|
|
30
|
+
return averages
|
|
31
|
+
end
|
|
32
|
+
return ____exports
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
function ____exports.countSetBits(self, n)
|
|
3
|
+
local count = 0
|
|
4
|
+
while n > 0 do
|
|
5
|
+
n = n & n - 1
|
|
6
|
+
count = count + 1
|
|
7
|
+
end
|
|
8
|
+
return count
|
|
9
|
+
end
|
|
10
|
+
function ____exports.getKBitOfN(self, k, n)
|
|
11
|
+
return n >> k & 1
|
|
12
|
+
end
|
|
13
|
+
function ____exports.getNumBitsOfN(self, n)
|
|
14
|
+
local numBits = 0
|
|
15
|
+
while n > 0 do
|
|
16
|
+
numBits = numBits + 1
|
|
17
|
+
n = n >> 1
|
|
18
|
+
end
|
|
19
|
+
return numBits
|
|
20
|
+
end
|
|
21
|
+
return ____exports
|