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,368 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Set = ____lualib.Set
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
5
|
+
local Map = ____lualib.Map
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local getAllGridEntities
|
|
8
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
9
|
+
local GridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.GridCollisionClass
|
|
10
|
+
local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
|
|
11
|
+
local PoopGridEntityVariant = ____isaac_2Dtypescript_2Ddefinitions.PoopGridEntityVariant
|
|
12
|
+
local StatueVariant = ____isaac_2Dtypescript_2Ddefinitions.StatueVariant
|
|
13
|
+
local TrapdoorVariant = ____isaac_2Dtypescript_2Ddefinitions.TrapdoorVariant
|
|
14
|
+
local ____cachedClasses = require("cachedClasses")
|
|
15
|
+
local game = ____cachedClasses.game
|
|
16
|
+
local ____constants = require("constants")
|
|
17
|
+
local DISTANCE_OF_GRID_TILE = ____constants.DISTANCE_OF_GRID_TILE
|
|
18
|
+
local ____gridEntityTypeToBrokenStateMap = require("maps.gridEntityTypeToBrokenStateMap")
|
|
19
|
+
local GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP = ____gridEntityTypeToBrokenStateMap.GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP
|
|
20
|
+
local ____gridEntityXMLMap = require("maps.gridEntityXMLMap")
|
|
21
|
+
local GRID_ENTITY_XML_MAP = ____gridEntityXMLMap.GRID_ENTITY_XML_MAP
|
|
22
|
+
local ____roomShapeToTopLeftWallGridIndexMap = require("maps.roomShapeToTopLeftWallGridIndexMap")
|
|
23
|
+
local DEFAULT_TOP_LEFT_WALL_GRID_INDEX = ____roomShapeToTopLeftWallGridIndexMap.DEFAULT_TOP_LEFT_WALL_GRID_INDEX
|
|
24
|
+
local ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP = ____roomShapeToTopLeftWallGridIndexMap.ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP
|
|
25
|
+
local ____math = require("functions.math")
|
|
26
|
+
local isCircleIntersectingRectangle = ____math.isCircleIntersectingRectangle
|
|
27
|
+
local ____rooms = require("functions.rooms")
|
|
28
|
+
local roomUpdateSafe = ____rooms.roomUpdateSafe
|
|
29
|
+
local ____sprite = require("functions.sprite")
|
|
30
|
+
local clearSprite = ____sprite.clearSprite
|
|
31
|
+
local ____utils = require("functions.utils")
|
|
32
|
+
local erange = ____utils.erange
|
|
33
|
+
local ____vector = require("functions.vector")
|
|
34
|
+
local isVector = ____vector.isVector
|
|
35
|
+
function getAllGridEntities(self)
|
|
36
|
+
local room = game:GetRoom()
|
|
37
|
+
local gridSize = room:GetGridSize()
|
|
38
|
+
local gridEntities = {}
|
|
39
|
+
for ____, gridIndex in ipairs(erange(nil, gridSize)) do
|
|
40
|
+
local gridEntity = room:GetGridEntity(gridIndex)
|
|
41
|
+
if gridEntity ~= nil then
|
|
42
|
+
gridEntities[#gridEntities + 1] = gridEntity
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
return gridEntities
|
|
46
|
+
end
|
|
47
|
+
--- Helper function to get the grid index of the top left wall. (This will depend on what the current
|
|
48
|
+
-- room shape is.)
|
|
49
|
+
function ____exports.getTopLeftWallGridIndex(self)
|
|
50
|
+
local room = game:GetRoom()
|
|
51
|
+
local roomShape = room:GetRoomShape()
|
|
52
|
+
local topLeftWallGridIndex = ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP:get(roomShape)
|
|
53
|
+
return topLeftWallGridIndex == nil and DEFAULT_TOP_LEFT_WALL_GRID_INDEX or topLeftWallGridIndex
|
|
54
|
+
end
|
|
55
|
+
--- Helper function to remove a grid entity simply by providing the grid entity object.
|
|
56
|
+
--
|
|
57
|
+
-- @param gridEntity The grid entity to remove.
|
|
58
|
+
-- @param updateRoom Optional. Whether or not to update the room after the grid entity is removed.
|
|
59
|
+
-- Default is true. This is generally a good idea because if the room is not
|
|
60
|
+
-- updated, you will be unable to spawn another grid entity on the same tile until
|
|
61
|
+
-- a frame has passed. However, doing this is expensive, since it involves a call
|
|
62
|
+
-- to `Isaac.GetRoomEntities`, so set it to false if you need to invoke this
|
|
63
|
+
-- function multiple times.
|
|
64
|
+
function ____exports.removeGrid(self, gridEntity, updateRoom)
|
|
65
|
+
if updateRoom == nil then
|
|
66
|
+
updateRoom = true
|
|
67
|
+
end
|
|
68
|
+
local room = game:GetRoom()
|
|
69
|
+
local gridIndex = gridEntity:GetGridIndex()
|
|
70
|
+
room:RemoveGridEntity(gridIndex, 0, false)
|
|
71
|
+
if updateRoom then
|
|
72
|
+
roomUpdateSafe(nil)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
--- Helper function to spawn a grid entity with a specific variant.
|
|
76
|
+
--
|
|
77
|
+
-- Use this instead of the `Isaac.GridSpawn` method since it:
|
|
78
|
+
-- - handles giving pits collision
|
|
79
|
+
-- - removes existing grid entities on the same tile, if any
|
|
80
|
+
-- - allows you to specify the grid index or the position
|
|
81
|
+
function ____exports.spawnGridWithVariant(self, gridEntityType, variant, gridIndexOrPosition)
|
|
82
|
+
local room = game:GetRoom()
|
|
83
|
+
local ____isVector_result_0
|
|
84
|
+
if isVector(nil, gridIndexOrPosition) then
|
|
85
|
+
____isVector_result_0 = room:GetGridEntityFromPos(gridIndexOrPosition)
|
|
86
|
+
else
|
|
87
|
+
____isVector_result_0 = room:GetGridEntity(gridIndexOrPosition)
|
|
88
|
+
end
|
|
89
|
+
local existingGridEntity = ____isVector_result_0
|
|
90
|
+
if existingGridEntity ~= nil then
|
|
91
|
+
____exports.removeGrid(nil, existingGridEntity)
|
|
92
|
+
end
|
|
93
|
+
local position = isVector(nil, gridIndexOrPosition) and gridIndexOrPosition or room:GetGridPosition(gridIndexOrPosition)
|
|
94
|
+
local gridEntity = Isaac.GridSpawn(gridEntityType, variant, position)
|
|
95
|
+
if gridEntity == nil then
|
|
96
|
+
return gridEntity
|
|
97
|
+
end
|
|
98
|
+
if gridEntityType == GridEntityType.PIT then
|
|
99
|
+
local pit = gridEntity:ToPit()
|
|
100
|
+
if pit ~= nil then
|
|
101
|
+
pit:UpdateCollision()
|
|
102
|
+
end
|
|
103
|
+
elseif gridEntityType == GridEntityType.WALL then
|
|
104
|
+
gridEntity.CollisionClass = GridCollisionClass.WALL
|
|
105
|
+
end
|
|
106
|
+
return gridEntity
|
|
107
|
+
end
|
|
108
|
+
local BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS = __TS__New(Set, {
|
|
109
|
+
GridEntityType.ROCK,
|
|
110
|
+
GridEntityType.ROCK_TINTED,
|
|
111
|
+
GridEntityType.ROCK_BOMB,
|
|
112
|
+
GridEntityType.ROCK_ALT,
|
|
113
|
+
GridEntityType.SPIDER_WEB,
|
|
114
|
+
GridEntityType.TNT,
|
|
115
|
+
GridEntityType.POOP,
|
|
116
|
+
GridEntityType.ROCK_SUPER_SPECIAL,
|
|
117
|
+
GridEntityType.ROCK_SPIKED,
|
|
118
|
+
GridEntityType.ROCK_ALT_2,
|
|
119
|
+
GridEntityType.ROCK_GOLD
|
|
120
|
+
})
|
|
121
|
+
local BREAKABLE_GRID_ENTITY_TYPES_VARIANTS_BY_EXPLOSIONS = __TS__New(
|
|
122
|
+
Set,
|
|
123
|
+
{(tostring(GridEntityType.STATUE) .. ".") .. tostring(StatueVariant.ANGEL)}
|
|
124
|
+
)
|
|
125
|
+
--- Helper function to convert the grid entity type found in a room XML file to the corresponding
|
|
126
|
+
-- grid entity type and variant normally used by the game. For example, a rock is represented as
|
|
127
|
+
-- 1000.0 in a room XML file, but `GridEntityType.ROCK` is equal to 2.
|
|
128
|
+
function ____exports.convertXMLGridEntityType(self, gridEntityXMLType, gridEntityXMLVariant)
|
|
129
|
+
local gridEntityArray = GRID_ENTITY_XML_MAP:get(gridEntityXMLType)
|
|
130
|
+
if gridEntityArray == nil then
|
|
131
|
+
error("Failed to find an entry in the grid entity map for XML entity type: " .. tostring(gridEntityXMLType))
|
|
132
|
+
end
|
|
133
|
+
local gridEntityType = gridEntityArray[1]
|
|
134
|
+
local gridEntityVariant = gridEntityArray[2]
|
|
135
|
+
if gridEntityType == GridEntityType.SPIKES_ON_OFF or gridEntityType == GridEntityType.PRESSURE_PLATE or gridEntityType == GridEntityType.TELEPORTER then
|
|
136
|
+
gridEntityVariant = gridEntityXMLVariant
|
|
137
|
+
end
|
|
138
|
+
return {gridEntityType, gridEntityVariant}
|
|
139
|
+
end
|
|
140
|
+
--- Gets the entities that have a hitbox that overlaps with any part of the square that the grid
|
|
141
|
+
-- entity is on.
|
|
142
|
+
--
|
|
143
|
+
-- Note that this function will not work properly in the PostNewRoom callback, since entities do not
|
|
144
|
+
-- have collision yet in that callback.
|
|
145
|
+
function ____exports.getCollidingEntitiesWithGridEntity(self, gridEntity)
|
|
146
|
+
local gridEntityCollisionTopLeft = Vector(gridEntity.Position.X - DISTANCE_OF_GRID_TILE / 2, gridEntity.Position.Y - DISTANCE_OF_GRID_TILE / 2)
|
|
147
|
+
local gridEntityCollisionBottomRight = Vector(gridEntity.Position.X + DISTANCE_OF_GRID_TILE / 2, gridEntity.Position.Y + DISTANCE_OF_GRID_TILE / 2)
|
|
148
|
+
local closeEntities = Isaac.FindInRadius(gridEntity.Position, DISTANCE_OF_GRID_TILE * 2)
|
|
149
|
+
return __TS__ArrayFilter(
|
|
150
|
+
closeEntities,
|
|
151
|
+
function(____, entity) return entity:CollidesWithGrid() and isCircleIntersectingRectangle(
|
|
152
|
+
nil,
|
|
153
|
+
entity.Position,
|
|
154
|
+
entity.Size + 0.1,
|
|
155
|
+
gridEntityCollisionTopLeft,
|
|
156
|
+
gridEntityCollisionBottomRight
|
|
157
|
+
) end
|
|
158
|
+
)
|
|
159
|
+
end
|
|
160
|
+
--- Helper function to get every grid entity in the current room.
|
|
161
|
+
--
|
|
162
|
+
-- Use this function with no arguments to get every grid entity, or specify a variadic amount of
|
|
163
|
+
-- arguments to match specific grid entity types.
|
|
164
|
+
--
|
|
165
|
+
-- For example:
|
|
166
|
+
--
|
|
167
|
+
-- ```ts
|
|
168
|
+
-- for (const gridEntity of getGridEntities()) {
|
|
169
|
+
-- print(gridEntity.GetType())
|
|
170
|
+
-- }
|
|
171
|
+
-- ```
|
|
172
|
+
--
|
|
173
|
+
-- For example:
|
|
174
|
+
--
|
|
175
|
+
-- ```ts
|
|
176
|
+
-- const rocks = getGridEntities(
|
|
177
|
+
-- GridEntityType.ROCK,
|
|
178
|
+
-- GridEntityType.BLOCK,
|
|
179
|
+
-- GridEntityType.ROCK_TINTED,
|
|
180
|
+
-- );
|
|
181
|
+
-- ```
|
|
182
|
+
function ____exports.getGridEntities(self, ...)
|
|
183
|
+
local gridEntityTypes = {...}
|
|
184
|
+
local gridEntities = getAllGridEntities(nil)
|
|
185
|
+
if #gridEntityTypes == 0 then
|
|
186
|
+
return gridEntities
|
|
187
|
+
end
|
|
188
|
+
local gridEntityTypesSet = __TS__New(Set, gridEntityTypes)
|
|
189
|
+
return __TS__ArrayFilter(
|
|
190
|
+
gridEntities,
|
|
191
|
+
function(____, gridEntity)
|
|
192
|
+
local gridEntityType = gridEntity:GetType()
|
|
193
|
+
return gridEntityTypesSet:has(gridEntityType)
|
|
194
|
+
end
|
|
195
|
+
)
|
|
196
|
+
end
|
|
197
|
+
--- Helper function to get a map of every grid entity in the current room. The indexes of the map are
|
|
198
|
+
-- equal to the grid index. The values of the map are equal to the grid entities.
|
|
199
|
+
--
|
|
200
|
+
-- Use this function with no arguments to get every grid entity, or specify a variadic amount of
|
|
201
|
+
-- arguments to match specific grid entity types.
|
|
202
|
+
function ____exports.getGridEntitiesMap(self, ...)
|
|
203
|
+
local gridEntities = ____exports.getGridEntities(nil, ...)
|
|
204
|
+
local gridEntityMap = __TS__New(Map)
|
|
205
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
206
|
+
local gridIndex = gridEntity:GetGridIndex()
|
|
207
|
+
gridEntityMap:set(gridIndex, gridEntity)
|
|
208
|
+
end
|
|
209
|
+
return gridEntityMap
|
|
210
|
+
end
|
|
211
|
+
--- Helper function to return a string containing the grid entity's type and variant.
|
|
212
|
+
function ____exports.getGridEntityID(self, gridEntity)
|
|
213
|
+
local gridEntityType = gridEntity:GetType()
|
|
214
|
+
local gridEntityVariant = gridEntity:GetVariant()
|
|
215
|
+
return (tostring(gridEntityType) .. ".") .. tostring(gridEntityVariant)
|
|
216
|
+
end
|
|
217
|
+
function ____exports.getSurroundingGridEntities(self, gridEntity)
|
|
218
|
+
local room = game:GetRoom()
|
|
219
|
+
local gridWidth = room:GetGridWidth()
|
|
220
|
+
local gridIndex = gridEntity:GetGridIndex()
|
|
221
|
+
local surroundingGridIndexes = {
|
|
222
|
+
gridIndex - 1,
|
|
223
|
+
gridIndex + 1,
|
|
224
|
+
gridIndex - gridWidth - 1,
|
|
225
|
+
gridIndex - gridWidth,
|
|
226
|
+
gridIndex - gridWidth + 1,
|
|
227
|
+
gridIndex + gridWidth - 1,
|
|
228
|
+
gridIndex + gridWidth,
|
|
229
|
+
gridIndex + gridWidth + 1
|
|
230
|
+
}
|
|
231
|
+
local surroundingGridEntities = {}
|
|
232
|
+
for ____, surroundingGridIndex in ipairs(surroundingGridIndexes) do
|
|
233
|
+
local surroundingGridEntity = room:GetGridEntity(surroundingGridIndex)
|
|
234
|
+
if surroundingGridEntity ~= nil then
|
|
235
|
+
surroundingGridEntities[#surroundingGridEntities + 1] = surroundingGridEntity
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
return surroundingGridEntities
|
|
239
|
+
end
|
|
240
|
+
function ____exports.getTopLeftWall(self)
|
|
241
|
+
local room = game:GetRoom()
|
|
242
|
+
local topLeftWallGridIndex = ____exports.getTopLeftWallGridIndex(nil)
|
|
243
|
+
return room:GetGridEntity(topLeftWallGridIndex)
|
|
244
|
+
end
|
|
245
|
+
function ____exports.isGridEntityBreakableByExplosion(self, gridEntity)
|
|
246
|
+
local gridEntityType = gridEntity:GetType()
|
|
247
|
+
local gridEntityVariant = gridEntity:GetVariant()
|
|
248
|
+
local gridEntityTypeVariant = (tostring(gridEntityType) .. ".") .. tostring(gridEntityVariant)
|
|
249
|
+
return BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS:has(gridEntityType) or BREAKABLE_GRID_ENTITY_TYPES_VARIANTS_BY_EXPLOSIONS:has(gridEntityTypeVariant)
|
|
250
|
+
end
|
|
251
|
+
--- Helper function to see if the provided gridEntity is in its respective broken state. See the
|
|
252
|
+
-- `GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP` constant for more details.
|
|
253
|
+
--
|
|
254
|
+
-- Note that in the case of `GridEntityType.LOCK` (11), the state will turn to being broken before
|
|
255
|
+
-- the actual collision for the entity is removed.
|
|
256
|
+
function ____exports.isGridEntityBroken(self, gridEntity)
|
|
257
|
+
local gridEntityType = gridEntity:GetType()
|
|
258
|
+
local brokenState = GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP:get(gridEntityType)
|
|
259
|
+
return gridEntity.State == brokenState
|
|
260
|
+
end
|
|
261
|
+
--- Helper function to detect whether a given Void Portal is one that randomly spawns after a boss is
|
|
262
|
+
-- defeated or is one that naturally spawns in the room after Hush. (This is determined by looking
|
|
263
|
+
-- at the VarData of the entity.)
|
|
264
|
+
function ____exports.isPostBossVoidPortal(self, gridEntity)
|
|
265
|
+
local saveState = gridEntity:GetSaveState()
|
|
266
|
+
return saveState.VarData == 1
|
|
267
|
+
end
|
|
268
|
+
--- Helper function to all grid entities in the room except for ones matching the grid entity types
|
|
269
|
+
-- provided.
|
|
270
|
+
--
|
|
271
|
+
-- For example:
|
|
272
|
+
--
|
|
273
|
+
-- ```ts
|
|
274
|
+
-- removeAllGridEntitiesExceptFor(
|
|
275
|
+
-- GridEntityType.WALL,
|
|
276
|
+
-- GridEntityType.DOOR,
|
|
277
|
+
-- );
|
|
278
|
+
-- ```
|
|
279
|
+
--
|
|
280
|
+
-- @returns True if one or more grid entities were removed, false otherwise.
|
|
281
|
+
function ____exports.removeAllGridExcept(self, ...)
|
|
282
|
+
local gridEntityTypes = {...}
|
|
283
|
+
local gridEntityTypeExceptions = __TS__New(Set, gridEntityTypes)
|
|
284
|
+
local gridEntities = ____exports.getGridEntities(nil)
|
|
285
|
+
local removedOneOrMoreGridEntities = false
|
|
286
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
287
|
+
local gridEntityType = gridEntity:GetType()
|
|
288
|
+
if not gridEntityTypeExceptions:has(gridEntityType) then
|
|
289
|
+
____exports.removeGrid(nil, gridEntity, false)
|
|
290
|
+
removedOneOrMoreGridEntities = true
|
|
291
|
+
end
|
|
292
|
+
end
|
|
293
|
+
if removedOneOrMoreGridEntities then
|
|
294
|
+
roomUpdateSafe(nil)
|
|
295
|
+
end
|
|
296
|
+
return removedOneOrMoreGridEntities
|
|
297
|
+
end
|
|
298
|
+
--- Helper function to remove all of the grid entities in the room that match the grid entity types
|
|
299
|
+
-- provided.
|
|
300
|
+
--
|
|
301
|
+
-- For example:
|
|
302
|
+
--
|
|
303
|
+
-- ```ts
|
|
304
|
+
-- removeAllMatchingGridEntities(
|
|
305
|
+
-- GridEntityType.ROCK,
|
|
306
|
+
-- GridEntityType.BLOCK,
|
|
307
|
+
-- GridEntityType.ROCK_TINTED,
|
|
308
|
+
-- );
|
|
309
|
+
-- ```
|
|
310
|
+
--
|
|
311
|
+
-- @returns True if one or more grid entities were removed, false otherwise.
|
|
312
|
+
function ____exports.removeAllMatchingGridEntities(self, ...)
|
|
313
|
+
local gridEntities = ____exports.getGridEntities(nil, ...)
|
|
314
|
+
if #gridEntities == 0 then
|
|
315
|
+
return false
|
|
316
|
+
end
|
|
317
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
318
|
+
____exports.removeGrid(nil, gridEntity, false)
|
|
319
|
+
end
|
|
320
|
+
roomUpdateSafe(nil)
|
|
321
|
+
return true
|
|
322
|
+
end
|
|
323
|
+
--- Helper function to make a grid entity invisible. This is accomplished by setting its sprite to an
|
|
324
|
+
-- empty/missing PNG file.
|
|
325
|
+
--
|
|
326
|
+
-- For more information, see the documentation for the `clearSprite` helper function.
|
|
327
|
+
function ____exports.setGridEntityInvisible(self, gridEntity)
|
|
328
|
+
local sprite = gridEntity:GetSprite()
|
|
329
|
+
clearSprite(nil, sprite)
|
|
330
|
+
end
|
|
331
|
+
--- Helper function to spawn a giant poop. This is performed by spawning each of the four quadrant
|
|
332
|
+
-- grid entities in the appropriate positions.
|
|
333
|
+
function ____exports.spawnGiantPoop(self, topLeftGridIndex)
|
|
334
|
+
local room = game:GetRoom()
|
|
335
|
+
local gridWidth = room:GetGridWidth()
|
|
336
|
+
local topRightGridIndex = topLeftGridIndex + 1
|
|
337
|
+
local bottomLeftGridIndex = topLeftGridIndex + gridWidth
|
|
338
|
+
local bottomRightGridIndex = bottomLeftGridIndex + 1
|
|
339
|
+
____exports.spawnGridWithVariant(nil, GridEntityType.POOP, PoopGridEntityVariant.GIGA_TOP_LEFT, topLeftGridIndex)
|
|
340
|
+
____exports.spawnGridWithVariant(nil, GridEntityType.POOP, PoopGridEntityVariant.GIGA_TOP_RIGHT, topRightGridIndex)
|
|
341
|
+
____exports.spawnGridWithVariant(nil, GridEntityType.POOP, PoopGridEntityVariant.GIGA_BOTTOM_LEFT, bottomLeftGridIndex)
|
|
342
|
+
____exports.spawnGridWithVariant(nil, GridEntityType.POOP, PoopGridEntityVariant.GIGA_BOTTOM_RIGHT, bottomRightGridIndex)
|
|
343
|
+
end
|
|
344
|
+
--- Helper function to spawn a grid entity.
|
|
345
|
+
--
|
|
346
|
+
-- This function assumes you want to give the grid entity a variant of 0. If you want to specify a
|
|
347
|
+
-- variant, use the `spawnGridWithVariant` helper function instead.
|
|
348
|
+
--
|
|
349
|
+
-- Use this instead of the `Isaac.GridSpawn` method since it:
|
|
350
|
+
-- - handles giving pits collision
|
|
351
|
+
-- - removes existing grid entities on the same tile, if any
|
|
352
|
+
-- - allows you to specify either the grid index or the position
|
|
353
|
+
function ____exports.spawnGrid(self, gridEntityType, gridIndexOrPosition)
|
|
354
|
+
return ____exports.spawnGridWithVariant(nil, gridEntityType, 0, gridIndexOrPosition)
|
|
355
|
+
end
|
|
356
|
+
--- Helper function to spawn a Void Portal. This is more complicated than simply spawning a trapdoor
|
|
357
|
+
-- with the appropriate variant, as the game does not give it the correct sprite automatically.
|
|
358
|
+
function ____exports.spawnVoidPortal(self, gridIndex)
|
|
359
|
+
local voidPortal = ____exports.spawnGridWithVariant(nil, GridEntityType.TRAPDOOR, TrapdoorVariant.VOID_PORTAL, gridIndex)
|
|
360
|
+
if voidPortal == nil then
|
|
361
|
+
return voidPortal
|
|
362
|
+
end
|
|
363
|
+
voidPortal.VarData = 1
|
|
364
|
+
local sprite = voidPortal:GetSprite()
|
|
365
|
+
sprite:Load("gfx/grid/voidtrapdoor.anm2", true)
|
|
366
|
+
return voidPortal
|
|
367
|
+
end
|
|
368
|
+
return ____exports
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/** Helper function to get all of the `GridEntityPit` in the room. */
|
|
3
|
+
export declare function getPits(): GridEntityPit[];
|
|
4
|
+
/** Helper function to get all of the `GridEntityPoop` in the room. */
|
|
5
|
+
export declare function getPoops(): GridEntityPoop[];
|
|
6
|
+
/** Helper function to get all of the `GridEntityPressurePlate` in the room. */
|
|
7
|
+
export declare function getPressurePlates(): GridEntityPressurePlate[];
|
|
8
|
+
/** Helper function to get all of the `GridEntityRock` in the room. */
|
|
9
|
+
export declare function getRocks(): GridEntityRock[];
|
|
10
|
+
/** Helper function to get all of the `GridEntitySpikes` in the room. */
|
|
11
|
+
export declare function getSpikes(): GridEntitySpikes[];
|
|
12
|
+
/** Helper function to get all of the `GridEntityTNT` in the room. */
|
|
13
|
+
export declare function getTNT(): GridEntityTNT[];
|
|
14
|
+
/**
|
|
15
|
+
* Helper function to determine if all of the pressure plates in the current room are pushed.
|
|
16
|
+
* Returns true if there are no pressure plates in the room.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isAllPressurePlatesPushed(): boolean;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
5
|
+
local PressurePlateState = ____isaac_2Dtypescript_2Ddefinitions.PressurePlateState
|
|
6
|
+
local ____cachedClasses = require("cachedClasses")
|
|
7
|
+
local game = ____cachedClasses.game
|
|
8
|
+
local ____gridEntity = require("functions.gridEntity")
|
|
9
|
+
local getGridEntities = ____gridEntity.getGridEntities
|
|
10
|
+
--- Helper function to get all of the `GridEntityPit` in the room.
|
|
11
|
+
function ____exports.getPits(self)
|
|
12
|
+
local gridEntities = getGridEntities(nil)
|
|
13
|
+
local pits = {}
|
|
14
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
15
|
+
local pit = gridEntity:ToPit()
|
|
16
|
+
if pit ~= nil then
|
|
17
|
+
pits[#pits + 1] = pit
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
return pits
|
|
21
|
+
end
|
|
22
|
+
--- Helper function to get all of the `GridEntityPoop` in the room.
|
|
23
|
+
function ____exports.getPoops(self)
|
|
24
|
+
local gridEntities = getGridEntities(nil)
|
|
25
|
+
local poops = {}
|
|
26
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
27
|
+
local poop = gridEntity:ToPoop()
|
|
28
|
+
if poop ~= nil then
|
|
29
|
+
poops[#poops + 1] = poop
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
return poops
|
|
33
|
+
end
|
|
34
|
+
--- Helper function to get all of the `GridEntityPressurePlate` in the room.
|
|
35
|
+
function ____exports.getPressurePlates(self)
|
|
36
|
+
local gridEntities = getGridEntities(nil)
|
|
37
|
+
local pressurePlates = {}
|
|
38
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
39
|
+
local pressurePlate = gridEntity:ToPressurePlate()
|
|
40
|
+
if pressurePlate ~= nil then
|
|
41
|
+
pressurePlates[#pressurePlates + 1] = pressurePlate
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
return pressurePlates
|
|
45
|
+
end
|
|
46
|
+
--- Helper function to get all of the `GridEntityRock` in the room.
|
|
47
|
+
function ____exports.getRocks(self)
|
|
48
|
+
local gridEntities = getGridEntities(nil)
|
|
49
|
+
local rocks = {}
|
|
50
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
51
|
+
local rock = gridEntity:ToRock()
|
|
52
|
+
if rock ~= nil then
|
|
53
|
+
rocks[#rocks + 1] = rock
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
return rocks
|
|
57
|
+
end
|
|
58
|
+
--- Helper function to get all of the `GridEntitySpikes` in the room.
|
|
59
|
+
function ____exports.getSpikes(self)
|
|
60
|
+
local gridEntities = getGridEntities(nil)
|
|
61
|
+
local spikes = {}
|
|
62
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
63
|
+
local spike = gridEntity:ToSpikes()
|
|
64
|
+
if spike ~= nil then
|
|
65
|
+
spikes[#spikes + 1] = spike
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
return spikes
|
|
69
|
+
end
|
|
70
|
+
--- Helper function to get all of the `GridEntityTNT` in the room.
|
|
71
|
+
function ____exports.getTNT(self)
|
|
72
|
+
local gridEntities = getGridEntities(nil)
|
|
73
|
+
local tntArray = {}
|
|
74
|
+
for ____, gridEntity in ipairs(gridEntities) do
|
|
75
|
+
local tnt = gridEntity:ToTNT()
|
|
76
|
+
if tnt ~= nil then
|
|
77
|
+
tntArray[#tntArray + 1] = tnt
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
return tntArray
|
|
81
|
+
end
|
|
82
|
+
--- Helper function to determine if all of the pressure plates in the current room are pushed.
|
|
83
|
+
-- Returns true if there are no pressure plates in the room.
|
|
84
|
+
function ____exports.isAllPressurePlatesPushed(self)
|
|
85
|
+
local room = game:GetRoom()
|
|
86
|
+
local hasPressurePlates = room:HasTriggerPressurePlates()
|
|
87
|
+
if not hasPressurePlates then
|
|
88
|
+
return true
|
|
89
|
+
end
|
|
90
|
+
local pressurePlates = ____exports.getPressurePlates(nil)
|
|
91
|
+
return __TS__ArrayEvery(
|
|
92
|
+
pressurePlates,
|
|
93
|
+
function(____, pressurePlate) return pressurePlate.State == PressurePlateState.PRESSURE_PLATE_PRESSED end
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
return ____exports
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ButtonAction, Controller, Keyboard } from "isaac-typescript-definitions";
|
|
2
|
+
/** Helper function to get the enum name for the specified `Controller` value. */
|
|
3
|
+
export declare function controllerToString(controller: Controller): string;
|
|
4
|
+
export declare function getMoveActions(): Set<ButtonAction>;
|
|
5
|
+
export declare function getShootActions(): Set<ButtonAction>;
|
|
6
|
+
/** Iterates over all inputs to determine if a particular button is pressed (i.e. held down). */
|
|
7
|
+
export declare function isActionPressedOnAnyInput(buttonAction: ButtonAction): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Iterates over all inputs to determine if a particular button is triggered (i.e. held down and
|
|
10
|
+
* then released).
|
|
11
|
+
*/
|
|
12
|
+
export declare function isActionTriggeredOnAnyInput(buttonAction: ButtonAction): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Helper function to see if a particular keyboard key is being pressed down by the player.
|
|
15
|
+
*
|
|
16
|
+
* This function is variadic, meaning you can pass as many keyboard values as you want to check for.
|
|
17
|
+
* This function will return true if any of the values are pressed.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isKeyboardPressed(...keys: Keyboard[]): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Helper function to check if one or more modifier keys are being pressed down on the keyboard.
|
|
22
|
+
*
|
|
23
|
+
* A modifier key is defined as shift, control, alt, or Windows.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isModifierKeyPressed(): boolean;
|
|
26
|
+
export declare function isMoveAction(buttonAction: ButtonAction): boolean;
|
|
27
|
+
export declare function isMoveActionPressedOnAnyInput(): boolean;
|
|
28
|
+
export declare function isMoveActionTriggeredOnAnyInput(): boolean;
|
|
29
|
+
export declare function isShootAction(buttonAction: ButtonAction): boolean;
|
|
30
|
+
export declare function isShootActionPressedOnAnyInput(): boolean;
|
|
31
|
+
export declare function isShootActionTriggeredOnAnyInput(): boolean;
|
|
32
|
+
export declare function keyboardToString(keyboard: Keyboard): string;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Set = ____lualib.Set
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
|
+
local ButtonAction = ____isaac_2Dtypescript_2Ddefinitions.ButtonAction
|
|
8
|
+
local Controller = ____isaac_2Dtypescript_2Ddefinitions.Controller
|
|
9
|
+
local ControllerIndex = ____isaac_2Dtypescript_2Ddefinitions.ControllerIndex
|
|
10
|
+
local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
|
|
11
|
+
local ____constants = require("constants")
|
|
12
|
+
local MAX_NUM_INPUTS = ____constants.MAX_NUM_INPUTS
|
|
13
|
+
local ____set = require("functions.set")
|
|
14
|
+
local copySet = ____set.copySet
|
|
15
|
+
local ____string = require("functions.string")
|
|
16
|
+
local trimPrefix = ____string.trimPrefix
|
|
17
|
+
local ____utils = require("functions.utils")
|
|
18
|
+
local erange = ____utils.erange
|
|
19
|
+
local MODIFIER_KEYS = {
|
|
20
|
+
Keyboard.LEFT_SHIFT,
|
|
21
|
+
Keyboard.LEFT_CONTROL,
|
|
22
|
+
Keyboard.LEFT_ALT,
|
|
23
|
+
Keyboard.LEFT_SUPER,
|
|
24
|
+
Keyboard.RIGHT_SHIFT,
|
|
25
|
+
Keyboard.RIGHT_CONTROL,
|
|
26
|
+
Keyboard.RIGHT_ALT,
|
|
27
|
+
Keyboard.RIGHT_SUPER
|
|
28
|
+
}
|
|
29
|
+
local MOVEMENT_ACTIONS = {ButtonAction.LEFT, ButtonAction.RIGHT, ButtonAction.UP, ButtonAction.DOWN}
|
|
30
|
+
local MOVEMENT_ACTIONS_SET = __TS__New(Set, MOVEMENT_ACTIONS)
|
|
31
|
+
local SHOOTING_ACTIONS = {ButtonAction.SHOOT_LEFT, ButtonAction.SHOOT_RIGHT, ButtonAction.SHOOT_UP, ButtonAction.SHOOT_DOWN}
|
|
32
|
+
local SHOOTING_ACTIONS_SET = __TS__New(Set, SHOOTING_ACTIONS)
|
|
33
|
+
--- Helper function to get the enum name for the specified `Controller` value.
|
|
34
|
+
function ____exports.controllerToString(self, controller)
|
|
35
|
+
local key = Controller[controller]
|
|
36
|
+
if key == nil then
|
|
37
|
+
return "unknown"
|
|
38
|
+
end
|
|
39
|
+
return trimPrefix(nil, key, "BUTTON_")
|
|
40
|
+
end
|
|
41
|
+
function ____exports.getMoveActions(self)
|
|
42
|
+
return copySet(nil, MOVEMENT_ACTIONS_SET)
|
|
43
|
+
end
|
|
44
|
+
function ____exports.getShootActions(self)
|
|
45
|
+
return copySet(nil, SHOOTING_ACTIONS_SET)
|
|
46
|
+
end
|
|
47
|
+
--- Iterates over all inputs to determine if a particular button is pressed (i.e. held down).
|
|
48
|
+
function ____exports.isActionPressedOnAnyInput(self, buttonAction)
|
|
49
|
+
local validInputs = erange(nil, MAX_NUM_INPUTS)
|
|
50
|
+
return __TS__ArraySome(
|
|
51
|
+
validInputs,
|
|
52
|
+
function(____, input) return Input.IsActionPressed(buttonAction, input) end
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
--- Iterates over all inputs to determine if a particular button is triggered (i.e. held down and
|
|
56
|
+
-- then released).
|
|
57
|
+
function ____exports.isActionTriggeredOnAnyInput(self, buttonAction)
|
|
58
|
+
local validInputs = erange(nil, MAX_NUM_INPUTS)
|
|
59
|
+
return __TS__ArraySome(
|
|
60
|
+
validInputs,
|
|
61
|
+
function(____, input) return Input.IsActionTriggered(buttonAction, input) end
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
--- Helper function to see if a particular keyboard key is being pressed down by the player.
|
|
65
|
+
--
|
|
66
|
+
-- This function is variadic, meaning you can pass as many keyboard values as you want to check for.
|
|
67
|
+
-- This function will return true if any of the values are pressed.
|
|
68
|
+
function ____exports.isKeyboardPressed(self, ...)
|
|
69
|
+
local keys = {...}
|
|
70
|
+
return __TS__ArraySome(
|
|
71
|
+
keys,
|
|
72
|
+
function(____, key) return Input.IsButtonPressed(key, ControllerIndex.KEYBOARD) end
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
--- Helper function to check if one or more modifier keys are being pressed down on the keyboard.
|
|
76
|
+
--
|
|
77
|
+
-- A modifier key is defined as shift, control, alt, or Windows.
|
|
78
|
+
function ____exports.isModifierKeyPressed(self)
|
|
79
|
+
return ____exports.isKeyboardPressed(
|
|
80
|
+
nil,
|
|
81
|
+
table.unpack(MODIFIER_KEYS)
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
function ____exports.isMoveAction(self, buttonAction)
|
|
85
|
+
return MOVEMENT_ACTIONS_SET:has(buttonAction)
|
|
86
|
+
end
|
|
87
|
+
function ____exports.isMoveActionPressedOnAnyInput(self)
|
|
88
|
+
return __TS__ArraySome(
|
|
89
|
+
MOVEMENT_ACTIONS,
|
|
90
|
+
function(____, moveAction) return ____exports.isActionPressedOnAnyInput(nil, moveAction) end
|
|
91
|
+
)
|
|
92
|
+
end
|
|
93
|
+
function ____exports.isMoveActionTriggeredOnAnyInput(self)
|
|
94
|
+
return __TS__ArraySome(
|
|
95
|
+
MOVEMENT_ACTIONS,
|
|
96
|
+
function(____, moveAction) return ____exports.isActionTriggeredOnAnyInput(nil, moveAction) end
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
function ____exports.isShootAction(self, buttonAction)
|
|
100
|
+
return SHOOTING_ACTIONS_SET:has(buttonAction)
|
|
101
|
+
end
|
|
102
|
+
function ____exports.isShootActionPressedOnAnyInput(self)
|
|
103
|
+
return __TS__ArraySome(
|
|
104
|
+
SHOOTING_ACTIONS,
|
|
105
|
+
function(____, shootAction) return ____exports.isActionPressedOnAnyInput(nil, shootAction) end
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
function ____exports.isShootActionTriggeredOnAnyInput(self)
|
|
109
|
+
return __TS__ArraySome(
|
|
110
|
+
SHOOTING_ACTIONS,
|
|
111
|
+
function(____, shootAction) return ____exports.isActionTriggeredOnAnyInput(nil, shootAction) end
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
function ____exports.keyboardToString(self, keyboard)
|
|
115
|
+
return Keyboard[keyboard] or "unknown"
|
|
116
|
+
end
|
|
117
|
+
return ____exports
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IsaacAPIClass } from "../types/private/IsaacAPIClass";
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to get the type of a class from the Isaac API. This is contained within the
|
|
4
|
+
* "__type" metatable key. In this context, the type of the class is equivalent to the name.
|
|
5
|
+
*
|
|
6
|
+
* For example, a `Vector` class is has a type of "Vector".
|
|
7
|
+
*
|
|
8
|
+
* Returns undefined if the object is not of type `userdata` or if the "__type" metatable key does
|
|
9
|
+
* not exist.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getIsaacAPIClassType(object: unknown): string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Helper function to check if something is an instantiated class from the Isaac API. (All classes
|
|
14
|
+
* from the Isaac API have a type of "userdata" in Lua with a metatable key of "__type" equal to the
|
|
15
|
+
* name of the class.)
|
|
16
|
+
*/
|
|
17
|
+
export declare function isIsaacAPIClass(object: unknown): object is IsaacAPIClass;
|
|
18
|
+
export declare function isIsaacAPIClassOfType(object: unknown, classType: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Helper function to check if an instantiated Isaac API class is equal to another one of the same
|
|
21
|
+
* type. You must provide the list of keys to check for.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isaacAPIClassEquals(object1: unknown, object2: unknown, keys: string[]): boolean;
|