isaacscript-common 6.6.0 → 6.6.1-dev.2
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 +1 -0
- package/cachedClasses.js +59 -0
- package/cachedClasses.lua +2 -0
- package/callbacks/customRevive.js +153 -0
- package/callbacks/customRevive.lua +2 -0
- package/callbacks/itemPickup.js +64 -0
- package/callbacks/itemPickup.lua +2 -0
- package/callbacks/postAmbush.js +54 -0
- package/callbacks/postAmbush.lua +2 -0
- package/callbacks/postBombExploded.js +20 -0
- package/callbacks/postBombExploded.lua +2 -0
- package/callbacks/postBombInitLate.js +28 -0
- package/callbacks/postBombInitLate.lua +2 -0
- package/callbacks/postBoneSwing.js +49 -0
- package/callbacks/postBoneSwing.lua +2 -0
- package/callbacks/postCollectibleEmpty.js +32 -0
- package/callbacks/postCollectibleEmpty.lua +2 -0
- package/callbacks/postCollectibleInitFirst.js +27 -0
- package/callbacks/postCollectibleInitFirst.lua +2 -0
- package/callbacks/postCursedTeleport.js +120 -0
- package/callbacks/postCursedTeleport.lua +2 -0
- package/callbacks/postCustomDoorEnter.js +205 -0
- package/callbacks/postCustomDoorEnter.lua +2 -0
- package/callbacks/postDiceRoomActivated.js +39 -0
- package/callbacks/postDiceRoomActivated.lua +2 -0
- package/callbacks/postDoorRender.js +20 -0
- package/callbacks/postDoorRender.lua +2 -0
- package/callbacks/postDoorUpdate.js +20 -0
- package/callbacks/postDoorUpdate.lua +2 -0
- package/callbacks/postEffectInitLate.js +28 -0
- package/callbacks/postEffectInitLate.lua +2 -0
- package/callbacks/postEffectStateChanged.js +31 -0
- package/callbacks/postEffectStateChanged.lua +2 -0
- package/callbacks/postEsauJr.js +70 -0
- package/callbacks/postEsauJr.lua +2 -0
- package/callbacks/postFamiliarInitLate.js +28 -0
- package/callbacks/postFamiliarInitLate.lua +2 -0
- package/callbacks/postFamiliarStateChanged.js +31 -0
- package/callbacks/postFamiliarStateChanged.lua +2 -0
- package/callbacks/postFlip.js +59 -0
- package/callbacks/postFlip.lua +2 -0
- package/callbacks/postGreedModeWave.js +31 -0
- package/callbacks/postGreedModeWave.lua +2 -0
- package/callbacks/postGridEntity.js +107 -0
- package/callbacks/postGridEntity.lua +2 -0
- package/callbacks/postGridEntityCollision.js +49 -0
- package/callbacks/postGridEntityCollision.lua +2 -0
- package/callbacks/postGridEntityRender.js +20 -0
- package/callbacks/postGridEntityRender.lua +2 -0
- package/callbacks/postHolyMantleRemoved.js +33 -0
- package/callbacks/postHolyMantleRemoved.lua +2 -0
- package/callbacks/postItemDischarged.js +94 -0
- package/callbacks/postItemDischarged.lua +2 -0
- package/callbacks/postKnifeInitLate.js +28 -0
- package/callbacks/postKnifeInitLate.lua +2 -0
- package/callbacks/postLaserInitLate.js +28 -0
- package/callbacks/postLaserInitLate.lua +2 -0
- package/callbacks/postNPCInitLate.js +28 -0
- package/callbacks/postNPCInitLate.lua +2 -0
- package/callbacks/postNPCStateChanged.js +31 -0
- package/callbacks/postNPCStateChanged.lua +2 -0
- package/callbacks/postNewRoomEarly.js +69 -0
- package/callbacks/postNewRoomEarly.lua +2 -0
- package/callbacks/postPickupCollect.js +37 -0
- package/callbacks/postPickupCollect.lua +2 -0
- package/callbacks/postPickupInitFirst.js +52 -0
- package/callbacks/postPickupInitFirst.lua +2 -0
- package/callbacks/postPickupInitLate.js +28 -0
- package/callbacks/postPickupInitLate.lua +2 -0
- package/callbacks/postPickupStateChanged.js +31 -0
- package/callbacks/postPickupStateChanged.lua +2 -0
- package/callbacks/postPitRender.js +20 -0
- package/callbacks/postPitRender.lua +2 -0
- package/callbacks/postPitUpdate.js +20 -0
- package/callbacks/postPitUpdate.lua +2 -0
- package/callbacks/postPlayerChangeHealth.js +43 -0
- package/callbacks/postPlayerChangeHealth.lua +2 -0
- package/callbacks/postPlayerChangeType.js +31 -0
- package/callbacks/postPlayerChangeType.lua +2 -0
- package/callbacks/postPlayerCollectible.js +74 -0
- package/callbacks/postPlayerCollectible.lua +2 -0
- package/callbacks/postPlayerFatalDamage.js +74 -0
- package/callbacks/postPlayerFatalDamage.lua +2 -0
- package/callbacks/postPlayerInitLate.js +28 -0
- package/callbacks/postPlayerInitLate.lua +2 -0
- package/callbacks/postPlayerReordered.js +109 -0
- package/callbacks/postPlayerReordered.lua +2 -0
- package/callbacks/postPoopRender.js +20 -0
- package/callbacks/postPoopRender.lua +2 -0
- package/callbacks/postPoopUpdate.js +20 -0
- package/callbacks/postPoopUpdate.lua +2 -0
- package/callbacks/postPressurePlateRender.js +20 -0
- package/callbacks/postPressurePlateRender.lua +2 -0
- package/callbacks/postPressurePlateUpdate.js +20 -0
- package/callbacks/postPressurePlateUpdate.lua +2 -0
- package/callbacks/postProjectileInitLate.js +28 -0
- package/callbacks/postProjectileInitLate.lua +2 -0
- package/callbacks/postPurchase.js +39 -0
- package/callbacks/postPurchase.lua +2 -0
- package/callbacks/postRockRender.js +20 -0
- package/callbacks/postRockRender.lua +2 -0
- package/callbacks/postRockUpdate.js +20 -0
- package/callbacks/postRockUpdate.lua +2 -0
- package/callbacks/postRoomClearChanged.js +41 -0
- package/callbacks/postRoomClearChanged.lua +2 -0
- package/callbacks/postSacrifice.js +38 -0
- package/callbacks/postSacrifice.lua +2 -0
- package/callbacks/postSlotDestroyed.js +64 -0
- package/callbacks/postSlotDestroyed.lua +2 -0
- package/callbacks/postSlotInitUpdate.js +49 -0
- package/callbacks/postSlotInitUpdate.lua +2 -0
- package/callbacks/postSlotRender.js +48 -0
- package/callbacks/postSlotRender.lua +2 -0
- package/callbacks/postSpikesRender.js +20 -0
- package/callbacks/postSpikesRender.lua +2 -0
- package/callbacks/postSpikesUpdate.js +20 -0
- package/callbacks/postSpikesUpdate.lua +2 -0
- package/callbacks/postTNTRender.js +20 -0
- package/callbacks/postTNTRender.lua +2 -0
- package/callbacks/postTNTUpdate.js +20 -0
- package/callbacks/postTNTUpdate.lua +2 -0
- package/callbacks/postTearInitLate.js +28 -0
- package/callbacks/postTearInitLate.lua +2 -0
- package/callbacks/postTearInitVeryLate.js +32 -0
- package/callbacks/postTearInitVeryLate.lua +2 -0
- package/callbacks/postTransformation.js +37 -0
- package/callbacks/postTransformation.lua +2 -0
- package/callbacks/postTrinketBreak.js +64 -0
- package/callbacks/postTrinketBreak.lua +2 -0
- package/callbacks/preBerserkDeath.js +35 -0
- package/callbacks/preBerserkDeath.lua +2 -0
- package/callbacks/preNewLevel.js +45 -0
- package/callbacks/preNewLevel.lua +2 -0
- package/callbacks/reorderedCallbacks.js +136 -0
- package/callbacks/reorderedCallbacks.lua +2 -0
- package/callbacks/subscriptions/postAmbushFinished.js +20 -0
- package/callbacks/subscriptions/postAmbushFinished.lua +2 -0
- package/callbacks/subscriptions/postAmbushStarted.js +20 -0
- package/callbacks/subscriptions/postAmbushStarted.lua +2 -0
- package/callbacks/subscriptions/postBombInitLate.js +20 -0
- package/callbacks/subscriptions/postBombInitLate.lua +2 -0
- package/callbacks/subscriptions/postBoneExploded.js +20 -0
- package/callbacks/subscriptions/postBoneExploded.lua +2 -0
- package/callbacks/subscriptions/postBoneSwing.js +16 -0
- package/callbacks/subscriptions/postBoneSwing.lua +2 -0
- package/callbacks/subscriptions/postCollectibleEmpty.js +21 -0
- package/callbacks/subscriptions/postCollectibleEmpty.lua +2 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.js +21 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.lua +2 -0
- package/callbacks/subscriptions/postCursedTeleport.js +16 -0
- package/callbacks/subscriptions/postCursedTeleport.lua +2 -0
- package/callbacks/subscriptions/postCustomDoorEnter.js +21 -0
- package/callbacks/subscriptions/postCustomDoorEnter.lua +2 -0
- package/callbacks/subscriptions/postCustomRevive.js +21 -0
- package/callbacks/subscriptions/postCustomRevive.lua +2 -0
- package/callbacks/subscriptions/postDiceRoomActivated.js +21 -0
- package/callbacks/subscriptions/postDiceRoomActivated.lua +2 -0
- package/callbacks/subscriptions/postDoorRender.js +22 -0
- package/callbacks/subscriptions/postDoorRender.lua +2 -0
- package/callbacks/subscriptions/postDoorUpdate.js +22 -0
- package/callbacks/subscriptions/postDoorUpdate.lua +2 -0
- package/callbacks/subscriptions/postEffectInitLate.js +20 -0
- package/callbacks/subscriptions/postEffectInitLate.lua +2 -0
- package/callbacks/subscriptions/postEffectStateChanged.js +20 -0
- package/callbacks/subscriptions/postEffectStateChanged.lua +2 -0
- package/callbacks/subscriptions/postEsauJr.js +16 -0
- package/callbacks/subscriptions/postEsauJr.lua +2 -0
- package/callbacks/subscriptions/postFamiliarInitLate.js +20 -0
- package/callbacks/subscriptions/postFamiliarInitLate.lua +2 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.js +20 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.lua +2 -0
- package/callbacks/subscriptions/postFirstEsauJr.js +16 -0
- package/callbacks/subscriptions/postFirstEsauJr.lua +2 -0
- package/callbacks/subscriptions/postFirstFlip.js +16 -0
- package/callbacks/subscriptions/postFirstFlip.lua +2 -0
- package/callbacks/subscriptions/postFlip.js +16 -0
- package/callbacks/subscriptions/postFlip.lua +2 -0
- package/callbacks/subscriptions/postGameStartedReordered.js +16 -0
- package/callbacks/subscriptions/postGameStartedReordered.lua +2 -0
- package/callbacks/subscriptions/postGreedModeWave.js +16 -0
- package/callbacks/subscriptions/postGreedModeWave.lua +2 -0
- package/callbacks/subscriptions/postGridEntityBroken.js +28 -0
- package/callbacks/subscriptions/postGridEntityBroken.lua +2 -0
- package/callbacks/subscriptions/postGridEntityCollision.js +28 -0
- package/callbacks/subscriptions/postGridEntityCollision.lua +2 -0
- package/callbacks/subscriptions/postGridEntityInit.js +28 -0
- package/callbacks/subscriptions/postGridEntityInit.lua +2 -0
- package/callbacks/subscriptions/postGridEntityRemove.js +26 -0
- package/callbacks/subscriptions/postGridEntityRemove.lua +2 -0
- package/callbacks/subscriptions/postGridEntityRender.js +28 -0
- package/callbacks/subscriptions/postGridEntityRender.lua +2 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.js +28 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.lua +2 -0
- package/callbacks/subscriptions/postGridEntityUpdate.js +28 -0
- package/callbacks/subscriptions/postGridEntityUpdate.lua +2 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.js +25 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.lua +2 -0
- package/callbacks/subscriptions/postItemDischarged.js +21 -0
- package/callbacks/subscriptions/postItemDischarged.lua +2 -0
- package/callbacks/subscriptions/postItemPickup.js +25 -0
- package/callbacks/subscriptions/postItemPickup.lua +2 -0
- package/callbacks/subscriptions/postKnifeInitLate.js +20 -0
- package/callbacks/subscriptions/postKnifeInitLate.lua +2 -0
- package/callbacks/subscriptions/postLaserInitLate.js +20 -0
- package/callbacks/subscriptions/postLaserInitLate.lua +2 -0
- package/callbacks/subscriptions/postNPCInitLate.js +20 -0
- package/callbacks/subscriptions/postNPCInitLate.lua +2 -0
- package/callbacks/subscriptions/postNPCStateChanged.js +24 -0
- package/callbacks/subscriptions/postNPCStateChanged.lua +2 -0
- package/callbacks/subscriptions/postNewLevelReordered.js +16 -0
- package/callbacks/subscriptions/postNewLevelReordered.lua +2 -0
- package/callbacks/subscriptions/postNewRoomEarly.js +16 -0
- package/callbacks/subscriptions/postNewRoomEarly.lua +2 -0
- package/callbacks/subscriptions/postNewRoomReordered.js +16 -0
- package/callbacks/subscriptions/postNewRoomReordered.lua +2 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.js +25 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.lua +2 -0
- package/callbacks/subscriptions/postPickupCollect.js +20 -0
- package/callbacks/subscriptions/postPickupCollect.lua +2 -0
- package/callbacks/subscriptions/postPickupInitFirst.js +20 -0
- package/callbacks/subscriptions/postPickupInitFirst.lua +2 -0
- package/callbacks/subscriptions/postPickupInitLate.js +20 -0
- package/callbacks/subscriptions/postPickupInitLate.lua +2 -0
- package/callbacks/subscriptions/postPickupStateChanged.js +20 -0
- package/callbacks/subscriptions/postPickupStateChanged.lua +2 -0
- package/callbacks/subscriptions/postPitRender.js +22 -0
- package/callbacks/subscriptions/postPitRender.lua +2 -0
- package/callbacks/subscriptions/postPitUpdate.js +22 -0
- package/callbacks/subscriptions/postPitUpdate.lua +2 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.js +25 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.lua +2 -0
- package/callbacks/subscriptions/postPlayerChangeType.js +20 -0
- package/callbacks/subscriptions/postPlayerChangeType.lua +2 -0
- package/callbacks/subscriptions/postPlayerCollectibleAdded.js +21 -0
- package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.js +21 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.js +29 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.lua +2 -0
- package/callbacks/subscriptions/postPlayerInitLate.js +25 -0
- package/callbacks/subscriptions/postPlayerInitLate.lua +2 -0
- package/callbacks/subscriptions/postPlayerInitReordered.js +25 -0
- package/callbacks/subscriptions/postPlayerInitReordered.lua +2 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.js +25 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.lua +2 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.js +25 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.lua +2 -0
- package/callbacks/subscriptions/postPoopRender.js +22 -0
- package/callbacks/subscriptions/postPoopRender.lua +2 -0
- package/callbacks/subscriptions/postPoopUpdate.js +22 -0
- package/callbacks/subscriptions/postPoopUpdate.lua +2 -0
- package/callbacks/subscriptions/postPressurePlateRender.js +22 -0
- package/callbacks/subscriptions/postPressurePlateRender.lua +2 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.js +22 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.lua +2 -0
- package/callbacks/subscriptions/postProjectileInitLate.js +21 -0
- package/callbacks/subscriptions/postProjectileInitLate.lua +2 -0
- package/callbacks/subscriptions/postPurchase.js +16 -0
- package/callbacks/subscriptions/postPurchase.lua +2 -0
- package/callbacks/subscriptions/postRockRender.js +22 -0
- package/callbacks/subscriptions/postRockRender.lua +2 -0
- package/callbacks/subscriptions/postRockUpdate.js +22 -0
- package/callbacks/subscriptions/postRockUpdate.lua +2 -0
- package/callbacks/subscriptions/postRoomClearChanged.js +20 -0
- package/callbacks/subscriptions/postRoomClearChanged.lua +2 -0
- package/callbacks/subscriptions/postSacrifice.js +25 -0
- package/callbacks/subscriptions/postSacrifice.lua +2 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.js +20 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.lua +2 -0
- package/callbacks/subscriptions/postSlotDestroyed.js +26 -0
- package/callbacks/subscriptions/postSlotDestroyed.lua +2 -0
- package/callbacks/subscriptions/postSlotInit.js +20 -0
- package/callbacks/subscriptions/postSlotInit.lua +2 -0
- package/callbacks/subscriptions/postSlotRender.js +20 -0
- package/callbacks/subscriptions/postSlotRender.lua +2 -0
- package/callbacks/subscriptions/postSlotUpdate.js +20 -0
- package/callbacks/subscriptions/postSlotUpdate.lua +2 -0
- package/callbacks/subscriptions/postSpikesRender.js +22 -0
- package/callbacks/subscriptions/postSpikesRender.lua +2 -0
- package/callbacks/subscriptions/postSpikesUpdate.js +22 -0
- package/callbacks/subscriptions/postSpikesUpdate.lua +2 -0
- package/callbacks/subscriptions/postTNTRender.js +22 -0
- package/callbacks/subscriptions/postTNTRender.lua +2 -0
- package/callbacks/subscriptions/postTNTUpdate.js +22 -0
- package/callbacks/subscriptions/postTNTUpdate.lua +2 -0
- package/callbacks/subscriptions/postTearInitLate.js +20 -0
- package/callbacks/subscriptions/postTearInitLate.lua +2 -0
- package/callbacks/subscriptions/postTearInitVeryLate.js +20 -0
- package/callbacks/subscriptions/postTearInitVeryLate.lua +2 -0
- package/callbacks/subscriptions/postTransformation.js +20 -0
- package/callbacks/subscriptions/postTransformation.lua +2 -0
- package/callbacks/subscriptions/postTrinketBreak.js +21 -0
- package/callbacks/subscriptions/postTrinketBreak.lua +2 -0
- package/callbacks/subscriptions/preBerserkDeath.js +26 -0
- package/callbacks/subscriptions/preBerserkDeath.lua +2 -0
- package/callbacks/subscriptions/preCustomRevive.js +29 -0
- package/callbacks/subscriptions/preCustomRevive.lua +2 -0
- package/callbacks/subscriptions/preItemPickup.js +25 -0
- package/callbacks/subscriptions/preItemPickup.lua +2 -0
- package/callbacks/subscriptions/preNewLevel.js +16 -0
- package/callbacks/subscriptions/preNewLevel.lua +2 -0
- package/classes/DefaultMap.js +145 -0
- package/classes/DefaultMap.lua +2 -0
- package/classes/ModUpgraded.js +57 -0
- package/classes/ModUpgraded.lua +2 -0
- package/constants.js +143 -0
- package/constants.lua +2 -0
- package/constantsFirstLast.js +156 -0
- package/constantsFirstLast.lua +2 -0
- package/enums/AmbushType.js +6 -0
- package/enums/AmbushType.lua +2 -0
- package/enums/CornerType.js +8 -0
- package/enums/CornerType.lua +2 -0
- package/enums/DecorationVariant.js +11 -0
- package/enums/DecorationVariant.lua +2 -0
- package/enums/HealthType.js +18 -0
- package/enums/HealthType.lua +2 -0
- package/enums/ModCallbackCustom.js +1213 -0
- package/enums/ModCallbackCustom.lua +2 -0
- package/enums/PocketItemType.js +10 -0
- package/enums/PocketItemType.lua +2 -0
- package/enums/RockAltType.js +9 -0
- package/enums/RockAltType.lua +2 -0
- package/enums/SerializationType.js +7 -0
- package/enums/SerializationType.lua +2 -0
- package/enums/SlotDestructionType.js +6 -0
- package/enums/SlotDestructionType.lua +2 -0
- package/enums/private/CopyableIsaacAPIClassType.js +9 -0
- package/enums/private/CopyableIsaacAPIClassType.lua +2 -0
- package/enums/private/SaveDataKey.js +8 -0
- package/enums/private/SaveDataKey.lua +2 -0
- package/enums/private/SerializationBrand.js +41 -0
- package/enums/private/SerializationBrand.lua +2 -0
- package/features/characterHealthConversion.js +86 -0
- package/features/characterHealthConversion.lua +2 -0
- package/features/characterStats.js +52 -0
- package/features/characterStats.lua +2 -0
- package/features/collectibleItemPoolType.js +45 -0
- package/features/collectibleItemPoolType.lua +2 -0
- package/features/customGridEntity.js +148 -0
- package/features/customGridEntity.lua +2 -0
- package/features/customStage/backdrop.js +191 -0
- package/features/customStage/backdrop.lua +9 -7
- package/features/customStage/customStageConstants.js +2 -0
- package/features/customStage/customStageConstants.lua +2 -0
- package/features/customStage/exports.js +147 -0
- package/features/customStage/exports.lua +8 -1
- package/features/customStage/gridEntities.js +138 -0
- package/features/customStage/gridEntities.lua +2 -0
- package/features/customStage/init.js +104 -0
- package/features/customStage/init.lua +4 -9
- package/features/customStage/metadata.json +1 -0
- package/features/customStage/metadata.lua +2 -0
- package/features/customStage/shadows.d.ts +0 -1
- package/features/customStage/shadows.js +63 -0
- package/features/customStage/shadows.lua +31 -19
- package/features/customStage/streakText.d.ts +1 -1
- package/features/customStage/streakText.js +35 -0
- package/features/customStage/streakText.lua +14 -3
- package/features/customStage/util.js +36 -0
- package/features/customStage/util.lua +2 -0
- package/features/customStage/v.js +18 -0
- package/features/customStage/v.lua +2 -0
- package/features/customStage/versusScreen.js +184 -0
- package/features/customStage/versusScreen.lua +8 -1
- package/features/debugDisplay/debugDisplay.js +183 -0
- package/features/debugDisplay/debugDisplay.lua +2 -0
- package/features/debugDisplay/exports.js +441 -0
- package/features/debugDisplay/exports.lua +2 -0
- package/features/debugDisplay/v.d.ts +18 -0
- package/features/debugDisplay/v.js +61 -0
- package/features/debugDisplay/v.lua +2 -0
- package/features/deployJSONRoom.js +532 -0
- package/features/deployJSONRoom.lua +2 -0
- package/features/disableAllSound.js +63 -0
- package/features/disableAllSound.lua +2 -0
- package/features/disableInputs.js +130 -0
- package/features/disableInputs.lua +2 -0
- package/features/extraConsoleCommands/commandsDisplay.js +236 -0
- package/features/extraConsoleCommands/commandsDisplay.lua +2 -0
- package/features/extraConsoleCommands/commandsSubroutines.js +109 -0
- package/features/extraConsoleCommands/commandsSubroutines.lua +2 -0
- package/features/extraConsoleCommands/exports.js +53 -0
- package/features/extraConsoleCommands/exports.lua +2 -0
- package/features/extraConsoleCommands/init.js +239 -0
- package/features/extraConsoleCommands/init.lua +2 -0
- package/features/extraConsoleCommands/listCommands.js +1081 -0
- package/features/extraConsoleCommands/listCommands.lua +2 -0
- package/features/extraConsoleCommands/v.js +25 -0
- package/features/extraConsoleCommands/v.lua +2 -0
- package/features/fadeInRemover.js +51 -0
- package/features/fadeInRemover.lua +2 -0
- package/features/fastReset.js +61 -0
- package/features/fastReset.lua +2 -0
- package/features/forgottenSwitch.js +33 -0
- package/features/forgottenSwitch.lua +2 -0
- package/features/pause.js +68 -0
- package/features/pause.lua +2 -0
- package/features/persistentEntities.js +120 -0
- package/features/persistentEntities.lua +2 -0
- package/features/playerInventory.js +89 -0
- package/features/playerInventory.lua +2 -0
- package/features/ponyDetection.js +63 -0
- package/features/ponyDetection.lua +2 -0
- package/features/preventCollectibleRotation.js +81 -0
- package/features/preventCollectibleRotation.lua +2 -0
- package/features/registerHotkey.js +91 -0
- package/features/registerHotkey.lua +2 -0
- package/features/roomClearFrame.js +42 -0
- package/features/roomClearFrame.lua +2 -0
- package/features/runInNFrames.js +189 -0
- package/features/runInNFrames.lua +2 -0
- package/features/runNextRoom.js +34 -0
- package/features/runNextRoom.lua +2 -0
- package/features/saveDataManager/exports.js +183 -0
- package/features/saveDataManager/exports.lua +2 -0
- package/features/saveDataManager/load.js +69 -0
- package/features/saveDataManager/load.lua +2 -0
- package/features/saveDataManager/main.js +131 -0
- package/features/saveDataManager/main.lua +2 -0
- package/features/saveDataManager/maps.js +9 -0
- package/features/saveDataManager/maps.lua +2 -0
- package/features/saveDataManager/merge.js +139 -0
- package/features/saveDataManager/merge.lua +2 -0
- package/features/saveDataManager/save.js +43 -0
- package/features/saveDataManager/save.lua +2 -0
- package/features/saveDataManager/saveDataManagerConstants.js +4 -0
- package/features/saveDataManager/saveDataManagerConstants.lua +2 -0
- package/features/saveDataManager/serializationBrand.js +12 -0
- package/features/saveDataManager/serializationBrand.lua +2 -0
- package/features/sirenHelpers.js +90 -0
- package/features/sirenHelpers.lua +2 -0
- package/features/stageHistory.js +43 -0
- package/features/stageHistory.lua +2 -0
- package/features/taintedLazarusPlayers.js +92 -0
- package/features/taintedLazarusPlayers.lua +2 -0
- package/featuresInitialized.js +16 -0
- package/featuresInitialized.lua +2 -0
- package/functions/ambush.js +35 -0
- package/functions/ambush.lua +2 -0
- package/functions/array.js +423 -0
- package/functions/array.lua +2 -0
- package/functions/benchmark.js +28 -0
- package/functions/benchmark.lua +2 -0
- package/functions/bitwise.js +74 -0
- package/functions/bitwise.lua +2 -0
- package/functions/bombs.js +11 -0
- package/functions/bombs.lua +2 -0
- package/functions/boss.js +137 -0
- package/functions/boss.lua +2 -0
- package/functions/cacheFlag.js +11 -0
- package/functions/cacheFlag.lua +2 -0
- package/functions/cards.js +217 -0
- package/functions/cards.lua +2 -0
- package/functions/challenges.js +9 -0
- package/functions/challenges.lua +2 -0
- package/functions/character.js +102 -0
- package/functions/character.lua +2 -0
- package/functions/charge.js +202 -0
- package/functions/charge.lua +2 -0
- package/functions/chargeBar.js +44 -0
- package/functions/chargeBar.lua +2 -0
- package/functions/collectibleCacheFlag.js +68 -0
- package/functions/collectibleCacheFlag.lua +2 -0
- package/functions/collectibleSet.js +108 -0
- package/functions/collectibleSet.lua +2 -0
- package/functions/collectibleTag.js +65 -0
- package/functions/collectibleTag.lua +2 -0
- package/functions/collectibles.js +469 -0
- package/functions/collectibles.lua +2 -0
- package/functions/color.d.ts +1 -1
- package/functions/color.js +60 -0
- package/functions/color.lua +2 -0
- package/functions/debug.js +60 -0
- package/functions/debug.lua +2 -0
- package/functions/deepCopy.js +361 -0
- package/functions/deepCopy.lua +2 -0
- package/functions/deepCopyTests.js +308 -0
- package/functions/deepCopyTests.lua +2 -0
- package/functions/direction.js +41 -0
- package/functions/direction.lua +2 -0
- package/functions/doors.js +326 -0
- package/functions/doors.lua +2 -0
- package/functions/easing.js +142 -0
- package/functions/easing.lua +2 -0
- package/functions/eden.js +32 -0
- package/functions/eden.lua +2 -0
- package/functions/effects.js +11 -0
- package/functions/effects.lua +2 -0
- package/functions/entity.js +324 -0
- package/functions/entity.lua +2 -0
- package/functions/entitySpecific.js +481 -0
- package/functions/entitySpecific.lua +2 -0
- package/functions/entityTypes.js +6 -0
- package/functions/entityTypes.lua +2 -0
- package/functions/enums.js +151 -0
- package/functions/enums.lua +2 -0
- package/functions/familiars.js +85 -0
- package/functions/familiars.lua +2 -0
- package/functions/flag.js +137 -0
- package/functions/flag.lua +2 -0
- package/functions/flying.js +88 -0
- package/functions/flying.lua +2 -0
- package/functions/globals.js +230 -0
- package/functions/globals.lua +2 -0
- package/functions/gridEntity.js +488 -0
- package/functions/gridEntity.lua +2 -0
- package/functions/gridEntitySpecific.js +109 -0
- package/functions/gridEntitySpecific.lua +2 -0
- package/functions/input.js +95 -0
- package/functions/input.lua +2 -0
- package/functions/isaacAPIClass.js +48 -0
- package/functions/isaacAPIClass.lua +2 -0
- package/functions/jsonHelpers.js +40 -0
- package/functions/jsonHelpers.lua +2 -0
- package/functions/jsonRoom.js +132 -0
- package/functions/jsonRoom.lua +2 -0
- package/functions/kColor.d.ts +1 -1
- package/functions/kColor.js +63 -0
- package/functions/kColor.lua +2 -0
- package/functions/language.js +13 -0
- package/functions/language.lua +2 -0
- package/functions/level.js +20 -0
- package/functions/level.lua +2 -0
- package/functions/log.js +567 -0
- package/functions/log.lua +2 -0
- package/functions/map.js +45 -0
- package/functions/map.lua +2 -0
- package/functions/math.js +103 -0
- package/functions/math.lua +2 -0
- package/functions/mergeTests.js +213 -0
- package/functions/mergeTests.lua +2 -0
- package/functions/minimap.js +80 -0
- package/functions/minimap.lua +2 -0
- package/functions/nextStage.js +290 -0
- package/functions/nextStage.lua +2 -0
- package/functions/npc.js +101 -0
- package/functions/npc.lua +2 -0
- package/functions/pickupVariants.js +47 -0
- package/functions/pickupVariants.lua +2 -0
- package/functions/pickups.js +219 -0
- package/functions/pickups.lua +2 -0
- package/functions/pills.js +160 -0
- package/functions/pills.lua +2 -0
- package/functions/player.js +808 -0
- package/functions/player.lua +2 -0
- package/functions/playerCenter.js +50 -0
- package/functions/playerCenter.lua +2 -0
- package/functions/playerDataStructures.js +114 -0
- package/functions/playerDataStructures.lua +2 -0
- package/functions/playerHealth.js +321 -0
- package/functions/playerHealth.lua +2 -0
- package/functions/playerIndex.js +160 -0
- package/functions/playerIndex.lua +2 -0
- package/functions/pocketItems.js +124 -0
- package/functions/pocketItems.lua +2 -0
- package/functions/positionVelocity.js +136 -0
- package/functions/positionVelocity.lua +2 -0
- package/functions/random.js +73 -0
- package/functions/random.lua +2 -0
- package/functions/revive.js +140 -0
- package/functions/revive.lua +2 -0
- package/functions/rng.d.ts +1 -1
- package/functions/rng.js +117 -0
- package/functions/rng.lua +2 -0
- package/functions/roomData.js +174 -0
- package/functions/roomData.lua +2 -0
- package/functions/roomGrid.js +81 -0
- package/functions/roomGrid.lua +2 -0
- package/functions/roomShape.js +99 -0
- package/functions/roomShape.lua +2 -0
- package/functions/rooms.js +487 -0
- package/functions/rooms.lua +2 -0
- package/functions/run.js +53 -0
- package/functions/run.lua +2 -0
- package/functions/saveFile.js +104 -0
- package/functions/saveFile.lua +2 -0
- package/functions/seeds.js +18 -0
- package/functions/seeds.lua +2 -0
- package/functions/serialization.js +52 -0
- package/functions/serialization.lua +2 -0
- package/functions/set.js +99 -0
- package/functions/set.lua +2 -0
- package/functions/sound.js +9 -0
- package/functions/sound.lua +2 -0
- package/functions/spawnCollectible.js +66 -0
- package/functions/spawnCollectible.lua +2 -0
- package/functions/sprite.js +80 -0
- package/functions/sprite.lua +2 -0
- package/functions/stage.js +172 -0
- package/functions/stage.lua +2 -0
- package/functions/string.js +37 -0
- package/functions/string.lua +2 -0
- package/functions/table.js +143 -0
- package/functions/table.lua +2 -0
- package/functions/tears.js +31 -0
- package/functions/tears.lua +2 -0
- package/functions/transformations.js +101 -0
- package/functions/transformations.lua +2 -0
- package/functions/trinketCacheFlag.js +46 -0
- package/functions/trinketCacheFlag.lua +2 -0
- package/functions/trinketGive.js +121 -0
- package/functions/trinketGive.lua +2 -0
- package/functions/trinkets.js +169 -0
- package/functions/trinkets.lua +2 -0
- package/functions/tstlClass.js +125 -0
- package/functions/tstlClass.lua +2 -0
- package/functions/types.js +27 -0
- package/functions/types.lua +2 -0
- package/functions/ui.js +124 -0
- package/functions/ui.lua +2 -0
- package/functions/utils.js +172 -0
- package/functions/utils.lua +2 -0
- package/functions/vector.js +68 -0
- package/functions/vector.lua +2 -0
- package/index.js +140 -0
- package/index.lua +2 -0
- package/initCustomCallbacks.js +133 -0
- package/initCustomCallbacks.lua +2 -0
- package/initFeatures.js +51 -0
- package/initFeatures.lua +2 -0
- package/interfaces/AddCallbackParameterCustom.js +2 -0
- package/interfaces/AddCallbackParameterCustom.lua +2 -0
- package/interfaces/ChargeBarSprites.js +2 -0
- package/interfaces/ChargeBarSprites.lua +2 -0
- package/interfaces/Corner.js +2 -0
- package/interfaces/Corner.lua +2 -0
- package/interfaces/CustomGridEntityData.js +2 -0
- package/interfaces/CustomGridEntityData.lua +2 -0
- package/interfaces/CustomStage.js +2 -0
- package/interfaces/CustomStage.lua +2 -0
- package/interfaces/CustomStageLua.d.ts +64 -24
- package/interfaces/CustomStageLua.js +13 -0
- package/interfaces/CustomStageLua.lua +2 -0
- package/interfaces/JSONRoomsFile.js +2 -0
- package/interfaces/JSONRoomsFile.lua +2 -0
- package/interfaces/PlayerHealth.js +2 -0
- package/interfaces/PlayerHealth.lua +2 -0
- package/interfaces/PocketItemDescription.js +2 -0
- package/interfaces/PocketItemDescription.lua +2 -0
- package/interfaces/SaveData.js +2 -0
- package/interfaces/SaveData.lua +2 -0
- package/interfaces/TrinketSituation.js +2 -0
- package/interfaces/TrinketSituation.lua +2 -0
- package/interfaces/private/TSTLClassMetatable.js +2 -0
- package/interfaces/private/TSTLClassMetatable.lua +2 -0
- package/maps/PHDPillConversions.js +20 -0
- package/maps/PHDPillConversions.lua +2 -0
- package/maps/cardMap.js +208 -0
- package/maps/cardMap.lua +2 -0
- package/maps/characterMap.js +86 -0
- package/maps/characterMap.lua +2 -0
- package/maps/collectibleDescriptionMap.js +728 -0
- package/maps/collectibleDescriptionMap.lua +2 -0
- package/maps/collectibleNameMap.js +727 -0
- package/maps/collectibleNameMap.lua +2 -0
- package/maps/defaultPlayerStatMap.js +14 -0
- package/maps/defaultPlayerStatMap.lua +2 -0
- package/maps/falsePHDPillConversions.js +34 -0
- package/maps/falsePHDPillConversions.lua +2 -0
- package/maps/gridEntityTypeToBrokenStateMap.js +29 -0
- package/maps/gridEntityTypeToBrokenStateMap.lua +2 -0
- package/maps/gridEntityXMLMap.js +128 -0
- package/maps/gridEntityXMLMap.lua +2 -0
- package/maps/pillEffectMap.js +88 -0
- package/maps/pillEffectMap.lua +2 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.js +14 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.lua +2 -0
- package/maps/roomTypeMap.js +39 -0
- package/maps/roomTypeMap.lua +2 -0
- package/maps/trinketDescriptionMap.js +196 -0
- package/maps/trinketDescriptionMap.lua +2 -0
- package/maps/trinketNameMap.js +195 -0
- package/maps/trinketNameMap.lua +2 -0
- package/objects/LRoomShapeToRectangles.js +33 -0
- package/objects/LRoomShapeToRectangles.lua +2 -0
- package/objects/backdropTypeToRockAltType.js +66 -0
- package/objects/backdropTypeToRockAltType.lua +2 -0
- package/objects/bossNamePNGFileNames.js +112 -0
- package/objects/bossNamePNGFileNames.lua +2 -0
- package/objects/bossPortraitPNGFileNames.js +115 -0
- package/objects/bossPortraitPNGFileNames.lua +2 -0
- package/objects/callbackRegisterFunctions.js +170 -0
- package/objects/callbackRegisterFunctions.lua +2 -0
- package/objects/cardDescriptions.js +104 -0
- package/objects/cardDescriptions.lua +2 -0
- package/objects/cardNames.js +104 -0
- package/objects/cardNames.lua +2 -0
- package/objects/cardTypes.js +103 -0
- package/objects/cardTypes.lua +2 -0
- package/objects/challengeNames.js +51 -0
- package/objects/challengeNames.lua +2 -0
- package/objects/characterNames.js +46 -0
- package/objects/characterNames.lua +2 -0
- package/objects/coinSubTypeToValue.js +13 -0
- package/objects/coinSubTypeToValue.lua +2 -0
- package/objects/colors.d.ts +1 -0
- package/objects/colors.js +24 -0
- package/objects/colors.lua +2 -0
- package/objects/directionNames.js +9 -0
- package/objects/directionNames.lua +2 -0
- package/objects/directionToDegrees.js +9 -0
- package/objects/directionToDegrees.lua +2 -0
- package/objects/directionToVector.js +10 -0
- package/objects/directionToVector.lua +2 -0
- package/objects/doorSlotFlagToDoorSlot.js +13 -0
- package/objects/doorSlotFlagToDoorSlot.lua +2 -0
- package/objects/doorSlotToDirection.js +13 -0
- package/objects/doorSlotToDirection.lua +2 -0
- package/objects/doorSlotToDoorSlotFlag.js +13 -0
- package/objects/doorSlotToDoorSlotFlag.lua +2 -0
- package/objects/isaacAPIClassTypeToBrand.js +9 -0
- package/objects/isaacAPIClassTypeToBrand.lua +2 -0
- package/objects/isaacAPIClassTypeToCopyFunction.js +12 -0
- package/objects/isaacAPIClassTypeToCopyFunction.lua +2 -0
- package/objects/languageNames.js +11 -0
- package/objects/languageNames.lua +2 -0
- package/objects/oppositeDoorSlots.js +13 -0
- package/objects/oppositeDoorSlots.lua +2 -0
- package/objects/pillEffectClasses.js +56 -0
- package/objects/pillEffectClasses.lua +2 -0
- package/objects/pillEffectNames.js +55 -0
- package/objects/pillEffectNames.lua +2 -0
- package/objects/pillEffectTypes.js +55 -0
- package/objects/pillEffectTypes.lua +2 -0
- package/objects/playerNamePNGFileNames.js +55 -0
- package/objects/playerNamePNGFileNames.lua +2 -0
- package/objects/playerPortraitPNGFileNames.js +52 -0
- package/objects/playerPortraitPNGFileNames.lua +2 -0
- package/objects/roomShapeBounds.js +46 -0
- package/objects/roomShapeBounds.lua +2 -0
- package/objects/roomShapeCorners.js +268 -0
- package/objects/roomShapeCorners.lua +2 -0
- package/objects/roomShapeLayoutSizes.js +39 -0
- package/objects/roomShapeLayoutSizes.lua +2 -0
- package/objects/roomShapeToBottomRightPosition.js +22 -0
- package/objects/roomShapeToBottomRightPosition.lua +2 -0
- package/objects/roomShapeToDoorSlotCoordinates.js +109 -0
- package/objects/roomShapeToDoorSlotCoordinates.lua +2 -0
- package/objects/roomShapeToDoorSlots.js +69 -0
- package/objects/roomShapeToDoorSlots.lua +2 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.js +113 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +2 -0
- package/objects/roomShapeToGridWidth.js +18 -0
- package/objects/roomShapeToGridWidth.lua +2 -0
- package/objects/roomShapeToTopLeftPosition.js +23 -0
- package/objects/roomShapeToTopLeftPosition.lua +2 -0
- package/objects/roomShapeVolumes.js +30 -0
- package/objects/roomShapeVolumes.lua +2 -0
- package/objects/roomTypeGotoPrefixes.js +33 -0
- package/objects/roomTypeGotoPrefixes.lua +2 -0
- package/objects/roomTypeNames.js +34 -0
- package/objects/roomTypeNames.lua +2 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.js +12 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +2 -0
- package/objects/stageTypeSuffixes.js +10 -0
- package/objects/stageTypeSuffixes.lua +2 -0
- package/objects/stageTypeToLetter.js +12 -0
- package/objects/stageTypeToLetter.lua +2 -0
- package/objects/transformationNames.js +18 -0
- package/objects/transformationNames.lua +2 -0
- package/objects/versusScreenBackgroundColors.js +36 -0
- package/objects/versusScreenBackgroundColors.lua +2 -0
- package/objects/versusScreenDirtSpotColors.js +36 -0
- package/objects/versusScreenDirtSpotColors.lua +2 -0
- package/package.json +1 -1
- package/patchErrorFunctions.js +67 -0
- package/patchErrorFunctions.lua +2 -0
- package/sets/LRoomShapesSet.js +8 -0
- package/sets/LRoomShapesSet.lua +2 -0
- package/sets/bossSets.js +374 -0
- package/sets/bossSets.lua +2 -0
- package/sets/charactersThatStartWithAnActiveItemSet.js +15 -0
- package/sets/charactersThatStartWithAnActiveItemSet.lua +2 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.js +6 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +2 -0
- package/sets/charactersWithFreeDevilDealsSet.js +3 -0
- package/sets/charactersWithFreeDevilDealsSet.lua +2 -0
- package/sets/charactersWithNoRedHeartsSet.js +16 -0
- package/sets/charactersWithNoRedHeartsSet.lua +2 -0
- package/sets/charactersWithNoSoulHeartsSet.js +13 -0
- package/sets/charactersWithNoSoulHeartsSet.lua +2 -0
- package/sets/chestPickupVariantsSet.js +16 -0
- package/sets/chestPickupVariantsSet.lua +2 -0
- package/sets/consoleCommandsSet.js +61 -0
- package/sets/consoleCommandsSet.lua +2 -0
- package/sets/familiarsThatShootPlayerTearsSet.js +12 -0
- package/sets/familiarsThatShootPlayerTearsSet.lua +2 -0
- package/sets/lostStyleCharactersSet.js +13 -0
- package/sets/lostStyleCharactersSet.lua +2 -0
- package/sets/mineShaftRoomSubTypesSet.js +9 -0
- package/sets/mineShaftRoomSubTypesSet.lua +2 -0
- package/sets/narrowRoomShapesSet.js +8 -0
- package/sets/narrowRoomShapesSet.lua +2 -0
- package/sets/redHeartSubTypesSet.js +7 -0
- package/sets/redHeartSubTypesSet.lua +2 -0
- package/sets/sinEntityTypesSet.js +11 -0
- package/sets/sinEntityTypesSet.lua +2 -0
- package/sets/singleUseActiveCollectibleTypesSet.js +12 -0
- package/sets/singleUseActiveCollectibleTypesSet.lua +2 -0
- package/sets/storyBossesSet.js +17 -0
- package/sets/storyBossesSet.lua +2 -0
- package/shaderCrashFix.js +17 -0
- package/shaderCrashFix.lua +2 -0
- package/types/AnyEntity.js +2 -0
- package/types/AnyEntity.lua +2 -0
- package/types/CollectibleIndex.js +2 -0
- package/types/CollectibleIndex.lua +2 -0
- package/types/PickingUpItem.js +38 -0
- package/types/PickingUpItem.lua +2 -0
- package/types/PlayerIndex.js +2 -0
- package/types/PlayerIndex.lua +2 -0
- package/types/private/IsaacAPIClass.js +2 -0
- package/types/private/IsaacAPIClass.lua +2 -0
- package/types/private/SerializedIsaacAPIClass.js +2 -0
- package/types/private/SerializedIsaacAPIClass.lua +2 -0
- package/types/private/TSTLClass.js +2 -0
- package/types/private/TSTLClass.lua +2 -0
- package/upgradeMod.js +47 -0
- package/upgradeMod.lua +2 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { PickupVariant, } from "isaac-typescript-definitions";
|
|
2
|
+
import { VectorZero } from "../constants";
|
|
3
|
+
import { COIN_SUBTYPE_TO_VALUE, DEFAULT_COIN_VALUE, } from "../objects/coinSubTypeToValue";
|
|
4
|
+
import { CHEST_PICKUP_VARIANTS } from "../sets/chestPickupVariantsSet";
|
|
5
|
+
import { RED_HEART_SUB_TYPES_SET } from "../sets/redHeartSubTypesSet";
|
|
6
|
+
import { getPickups, removeAllPickups, spawnPickup } from "./entitySpecific";
|
|
7
|
+
import { isHeart } from "./pickupVariants";
|
|
8
|
+
/** Helper function to get all of the battery entities in the room. */
|
|
9
|
+
export function getBatteries(matchingSubType = -1) {
|
|
10
|
+
return getPickups(PickupVariant.LIL_BATTERY, matchingSubType);
|
|
11
|
+
}
|
|
12
|
+
/** Helper function to get all of the card entities in the room. */
|
|
13
|
+
export function getCards(matchingSubType = -1) {
|
|
14
|
+
return getPickups(PickupVariant.TAROT_CARD, matchingSubType);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Helper function to get the corresponding coin amount from a `CoinSubType`. Returns 1 for modded
|
|
18
|
+
* sub-types.
|
|
19
|
+
*/
|
|
20
|
+
export function getCoinValue(coinSubType) {
|
|
21
|
+
const value = COIN_SUBTYPE_TO_VALUE[coinSubType];
|
|
22
|
+
// Handle modded coin sub-types.
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
24
|
+
return value === undefined ? DEFAULT_COIN_VALUE : value;
|
|
25
|
+
}
|
|
26
|
+
/** Helper function to get all of the coin pickup entities in the room. */
|
|
27
|
+
export function getCoins(matchingSubType = -1) {
|
|
28
|
+
return getPickups(PickupVariant.COIN, matchingSubType);
|
|
29
|
+
}
|
|
30
|
+
/** Helper function to get all of the collectible entities in the room. */
|
|
31
|
+
export function getCollectibles(matchingSubType = -1) {
|
|
32
|
+
return getPickups(PickupVariant.COLLECTIBLE, matchingSubType);
|
|
33
|
+
}
|
|
34
|
+
/** Helper function to get all of the heart pickup entities in the room. */
|
|
35
|
+
export function getHearts(matchingSubType = -1) {
|
|
36
|
+
return getPickups(PickupVariant.HEART, matchingSubType);
|
|
37
|
+
}
|
|
38
|
+
/** Helper function to get all of the key pickup entities in the room. */
|
|
39
|
+
export function getKeys(matchingSubType = -1) {
|
|
40
|
+
return getPickups(PickupVariant.KEY, matchingSubType);
|
|
41
|
+
}
|
|
42
|
+
/** Helper function to get all of the pill entities in the room. */
|
|
43
|
+
export function getPills(matchingSubType = -1) {
|
|
44
|
+
return getPickups(PickupVariant.PILL, matchingSubType);
|
|
45
|
+
}
|
|
46
|
+
/** Helper function to get all of the red heart pickup entities in the room. */
|
|
47
|
+
export function getRedHearts() {
|
|
48
|
+
const hearts = getHearts();
|
|
49
|
+
return hearts.filter((heart) => RED_HEART_SUB_TYPES_SET.has(heart.SubType));
|
|
50
|
+
}
|
|
51
|
+
/** Helper function to get all of the sack (i.e. grab bag) entities in the room. */
|
|
52
|
+
export function getSacks(matchingSubType = -1) {
|
|
53
|
+
return getPickups(PickupVariant.SACK, matchingSubType);
|
|
54
|
+
}
|
|
55
|
+
/** Helper function to get all of the trinket entities in the room. */
|
|
56
|
+
export function getTrinkets(matchingSubType = -1) {
|
|
57
|
+
return getPickups(PickupVariant.TRINKET, matchingSubType);
|
|
58
|
+
}
|
|
59
|
+
export function isChest(pickup) {
|
|
60
|
+
return CHEST_PICKUP_VARIANTS.has(pickup.Variant);
|
|
61
|
+
}
|
|
62
|
+
export function isRedHeart(pickup) {
|
|
63
|
+
return isHeart(pickup) && RED_HEART_SUB_TYPES_SET.has(pickup.SubType);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Helper function to remove all of the batteries in the room.
|
|
67
|
+
*
|
|
68
|
+
* @param batterySubType Optional. If specified, will only remove cards that match this sub-type.
|
|
69
|
+
* @param cap Optional. If specified, will only remove the given amount of cards.
|
|
70
|
+
* @returns True if one or more cards were removed, false otherwise.
|
|
71
|
+
*/
|
|
72
|
+
export function removeAllBatteries(batterySubType, cap) {
|
|
73
|
+
return removeAllPickups(PickupVariant.LIL_BATTERY, batterySubType, cap);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Helper function to remove all of the cards in the room.
|
|
77
|
+
*
|
|
78
|
+
* @param card Optional. If specified, will only remove cards that match this sub-type.
|
|
79
|
+
* @param cap Optional. If specified, will only remove the given amount of cards.
|
|
80
|
+
* @returns True if one or more cards were removed, false otherwise.
|
|
81
|
+
*/
|
|
82
|
+
export function removeAllCards(card, cap) {
|
|
83
|
+
return removeAllPickups(PickupVariant.TAROT_CARD, card, cap);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Helper function to remove all of the coins in the room.
|
|
87
|
+
*
|
|
88
|
+
* @param coinSubType Optional. If specified, will only remove coins that match this sub-type.
|
|
89
|
+
* @param cap Optional. If specified, will only remove the given amount of coins.
|
|
90
|
+
* @returns True if one or more coins were removed, false otherwise.
|
|
91
|
+
*/
|
|
92
|
+
export function removeAllCoins(coinSubType, cap) {
|
|
93
|
+
return removeAllPickups(PickupVariant.COIN, coinSubType, cap);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Helper function to remove all of the collectibles in the room.
|
|
97
|
+
*
|
|
98
|
+
* @param collectibleType Optional. If specified, will only remove collectibles that match this
|
|
99
|
+
* collectible type.
|
|
100
|
+
* @param cap Optional. If specified, will only remove the given amount of collectibles.
|
|
101
|
+
* @returns True if one or more collectibles were removed, false otherwise.
|
|
102
|
+
*/
|
|
103
|
+
export function removeAllCollectibles(collectibleType, cap) {
|
|
104
|
+
return removeAllPickups(PickupVariant.COLLECTIBLE, collectibleType, cap);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Helper function to remove all of the hearts in the room.
|
|
108
|
+
*
|
|
109
|
+
* @param heartSubType Optional. If specified, will only remove hearts that match this sub-type.
|
|
110
|
+
* @param cap Optional. If specified, will only remove the given amount of hearts.
|
|
111
|
+
* @returns True if one or more hearts were removed, false otherwise.
|
|
112
|
+
*/
|
|
113
|
+
export function removeAllHearts(heartSubType, cap) {
|
|
114
|
+
return removeAllPickups(PickupVariant.HEART, heartSubType, cap);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Helper function to remove all of the keys in the room.
|
|
118
|
+
*
|
|
119
|
+
* @param keySubType Optional. If specified, will only remove keys that match this sub-type.
|
|
120
|
+
* @param cap Optional. If specified, will only remove the given amount of keys.
|
|
121
|
+
* @returns True if one or more keys were removed, false otherwise.
|
|
122
|
+
*/
|
|
123
|
+
export function removeAllKeys(keySubType, cap) {
|
|
124
|
+
return removeAllPickups(PickupVariant.KEY, keySubType, cap);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Helper function to remove all of the pills in the room.
|
|
128
|
+
*
|
|
129
|
+
* @param pillColor Optional. If specified, will only remove pills that match this color.
|
|
130
|
+
* @param cap Optional. If specified, will only remove the given amount of pills.
|
|
131
|
+
* @returns True if one or more pills were removed, false otherwise.
|
|
132
|
+
*/
|
|
133
|
+
export function removeAllPills(pillColor, cap) {
|
|
134
|
+
return removeAllPickups(PickupVariant.PILL, pillColor, cap);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Helper function to remove all of the sacks (i.e. grab bags) in the room.
|
|
138
|
+
*
|
|
139
|
+
* @param sackSubType Optional. If specified, will only remove sacks that match this sub-type.
|
|
140
|
+
* @param cap Optional. If specified, will only remove the given amount of trinkets.
|
|
141
|
+
* @returns True if one or more trinkets were removed, false otherwise.
|
|
142
|
+
*/
|
|
143
|
+
export function removeAllSacks(sackSubType, cap) {
|
|
144
|
+
return removeAllPickups(PickupVariant.TRINKET, sackSubType, cap);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Helper function to remove all of the trinkets in the room.
|
|
148
|
+
*
|
|
149
|
+
* @param trinketType Optional. If specified, will only remove trinkets that match this trinket
|
|
150
|
+
* type.
|
|
151
|
+
* @param cap Optional. If specified, will only remove the given amount of trinkets.
|
|
152
|
+
* @returns True if one or more trinkets were removed, false otherwise.
|
|
153
|
+
*/
|
|
154
|
+
export function removeAllTrinkets(trinketType, cap) {
|
|
155
|
+
return removeAllPickups(PickupVariant.TRINKET, trinketType, cap);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90).
|
|
159
|
+
*/
|
|
160
|
+
export function spawnBattery(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
161
|
+
return spawnPickup(PickupVariant.LIL_BATTERY, subType, position, velocity, spawner, seedOrRNG);
|
|
162
|
+
}
|
|
163
|
+
export function spawnBatteryWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
164
|
+
return spawnBattery(subType, position, velocity, spawner, seedOrRNG);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TAROT_CARD` (300).
|
|
168
|
+
*/
|
|
169
|
+
export function spawnCard(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
170
|
+
return spawnPickup(PickupVariant.TAROT_CARD, subType, position, velocity, spawner, seedOrRNG);
|
|
171
|
+
}
|
|
172
|
+
export function spawnCardWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
173
|
+
return spawnCard(subType, position, velocity, spawner, seedOrRNG);
|
|
174
|
+
}
|
|
175
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20). */
|
|
176
|
+
export function spawnCoin(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
177
|
+
return spawnPickup(PickupVariant.COIN, subType, position, velocity, spawner, seedOrRNG);
|
|
178
|
+
}
|
|
179
|
+
export function spawnCoinWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
180
|
+
return spawnCoin(subType, position, velocity, spawner, seedOrRNG);
|
|
181
|
+
}
|
|
182
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10). */
|
|
183
|
+
export function spawnHeart(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
184
|
+
return spawnPickup(PickupVariant.HEART, subType, position, velocity, spawner, seedOrRNG);
|
|
185
|
+
}
|
|
186
|
+
export function spawnHeartWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
187
|
+
return spawnHeart(subType, position, velocity, spawner, seedOrRNG);
|
|
188
|
+
}
|
|
189
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30). */
|
|
190
|
+
export function spawnKey(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
191
|
+
return spawnPickup(PickupVariant.KEY, subType, position, velocity, spawner, seedOrRNG);
|
|
192
|
+
}
|
|
193
|
+
export function spawnKeyWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
194
|
+
return spawnKey(subType, position, velocity, spawner, seedOrRNG);
|
|
195
|
+
}
|
|
196
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70). */
|
|
197
|
+
export function spawnPill(pillColor, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
198
|
+
return spawnPickup(PickupVariant.PILL, pillColor, position, velocity, spawner, seedOrRNG);
|
|
199
|
+
}
|
|
200
|
+
export function spawnPillWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
201
|
+
return spawnPill(subType, position, velocity, spawner, seedOrRNG);
|
|
202
|
+
}
|
|
203
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69). */
|
|
204
|
+
export function spawnSack(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
205
|
+
return spawnPickup(PickupVariant.SACK, subType, position, velocity, spawner, seedOrRNG);
|
|
206
|
+
}
|
|
207
|
+
export function spawnSackWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
208
|
+
return spawnSack(subType, position, velocity, spawner, seedOrRNG);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350).
|
|
212
|
+
*/
|
|
213
|
+
export function spawnTrinket(subType, position, velocity = VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
214
|
+
return spawnPickup(PickupVariant.TRINKET, subType, position, velocity, spawner, seedOrRNG);
|
|
215
|
+
}
|
|
216
|
+
export function spawnTrinketWithSeed(subType, position, seedOrRNG, velocity = VectorZero, spawner = undefined) {
|
|
217
|
+
return spawnTrinket(subType, position, velocity, spawner, seedOrRNG);
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja3Vwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL3BpY2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQU9MLGFBQWEsR0FJZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQkFBa0IsR0FDbkIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxzRUFBc0U7QUFDdEUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsa0JBQXVDLENBQUMsQ0FBQztJQUV6QyxPQUFPLFVBQVUsQ0FDZixhQUFhLENBQUMsV0FBVyxFQUN6QixlQUFlLENBQ1MsQ0FBQztBQUM3QixDQUFDO0FBRUQsbUVBQW1FO0FBQ25FLE1BQU0sVUFBVSxRQUFRLENBQUMsa0JBQTZCLENBQUMsQ0FBQztJQUN0RCxPQUFPLFVBQVUsQ0FDZixhQUFhLENBQUMsVUFBVSxFQUN4QixlQUFlLENBQ00sQ0FBQztBQUMxQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxXQUF3QjtJQUNuRCxNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxnQ0FBZ0M7SUFDaEMsdUVBQXVFO0lBQ3ZFLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsa0JB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
|
package/functions/pickups.lua
CHANGED
|
@@ -472,3 +472,5 @@ function ____exports.spawnTrinketWithSeed(self, subType, position, seedOrRNG, ve
|
|
|
472
472
|
)
|
|
473
473
|
end
|
|
474
474
|
return ____exports
|
|
475
|
+
|
|
476
|
+
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL3BpY2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBV087QUFKTDtBQUtGLHNCQUEyQjtBQUFsQjtBQUNULCtCQUdPO0FBRkw7QUFDQTtBQUVGLG1DQUFzQztBQUE3QjtBQUNULGdDQUF3QztBQUEvQjtBQUNULDJCQUEwRDtBQUFqRDtBQUFZO0FBQWtCO0FBQ3ZDLDJCQUF3QjtBQUFmOztBQUdULHdDQUNFO09BQUE7UUFBQSxtQkFBd0M7O0FBRXhDLFdBQU8sZ0JBQ0wsMkJBQ0E7QUFMSjs7QUFVQSxvQ0FBeUI7T0FBQTtRQUFBLG1CQUE4Qjs7QUFDckQsV0FBTyxnQkFDTCwwQkFDQTtBQUhKOzs7QUFXQSx3Q0FBNkI7QUFDckIsa0JBQVEsc0JBQXNCO0FBR3BDLFdBQU8saUJBQXNCLHNCQUFxQjtBQUpwRDs7QUFRQSxvQ0FDRTtPQUFBO1FBQUEsbUJBQXFDOztBQUVyQyxXQUFPLGdCQUFXLG9CQUFvQjtBQUh4Qzs7QUFPQSwyQ0FDRTtPQUFBO1FBQUEsbUJBQXlDOztBQUV6QyxXQUFPLGdCQUNMLDJCQUNBO0FBTEo7O0FBVUEscUNBQ0U7T0FBQTtRQUFBLG1CQUFzQzs7QUFFdEMsV0FBTyxnQkFDTCxxQkFDQTtBQUxKOztBQVVBLG1DQUNFO09BQUE7UUFBQSxtQkFBb0M7O0FBRXBDLFdBQU8sZ0JBQVcsbUJBQW1CO0FBSHZDOztBQU9BLG9DQUNFO09BQUE7UUFBQSxtQkFBbUM7O0FBRW5DLFdBQU8sZ0JBQVcsb0JBQW9CO0FBSHhDOztBQU9BO0FBQ1EsbUJBQVM7QUFDZixXQUFPO1FBQUE7UUFBYyxlQUFDLE9BQVUsK0JBQXdCLElBQUksY0FBdkM7O0FBRnZCOztBQU1BLG9DQUNFO09BQUE7UUFBQSxtQkFBcUM7O0FBRXJDLFdBQU8sZ0JBQVcsb0JBQW9CO0FBSHhDOztBQU9BLHVDQUNFO09BQUE7UUFBQSxtQkFBcUM7O0FBRXJD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
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { PillColor, } from "isaac-typescript-definitions";
|
|
2
|
+
import { itemConfig } from "../cachedClasses";
|
|
3
|
+
import { FIRST_HORSE_PILL_COLOR, FIRST_MODDED_PILL_EFFECT, FIRST_PILL_COLOR, FIRST_PILL_EFFECT, LAST_HORSE_PILL_COLOR, LAST_NORMAL_PILL_COLOR, LAST_PILL_EFFECT, LAST_VANILLA_PILL_EFFECT, } from "../constantsFirstLast";
|
|
4
|
+
import { FALSE_PHD_PILL_CONVERSIONS } from "../maps/falsePHDPillConversions";
|
|
5
|
+
import { PHD_PILL_CONVERSIONS } from "../maps/PHDPillConversions";
|
|
6
|
+
import { DEFAULT_PILL_EFFECT_CLASS, PILL_EFFECT_CLASSES, } from "../objects/pillEffectClasses";
|
|
7
|
+
import { DEFAULT_PILL_EFFECT_NAME, PILL_EFFECT_NAMES, } from "../objects/pillEffectNames";
|
|
8
|
+
import { DEFAULT_PILL_EFFECT_TYPE, PILL_EFFECT_TYPES, } from "../objects/pillEffectTypes";
|
|
9
|
+
import { getEnumValues } from "./enums";
|
|
10
|
+
import { irange } from "./utils";
|
|
11
|
+
/**
|
|
12
|
+
* Add this to a `PillColor` to get the corresponding giant pill color.
|
|
13
|
+
*
|
|
14
|
+
* Corresponds to the vanilla `PillColor.GIANT_FLAG` value.
|
|
15
|
+
*
|
|
16
|
+
* 1 << 11
|
|
17
|
+
*/
|
|
18
|
+
const HORSE_PILL_ADJUSTMENT = 2048;
|
|
19
|
+
/**
|
|
20
|
+
* Helper function to get an array with every non-null pill color. This includes all gold colors and
|
|
21
|
+
* all horse colors.
|
|
22
|
+
*/
|
|
23
|
+
export function getAllPillColors() {
|
|
24
|
+
const pillColors = getEnumValues(PillColor);
|
|
25
|
+
pillColors.slice(); // Remove `PillColor.NULL`
|
|
26
|
+
return pillColors;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Helper function to get an array with every valid pill effect. This includes modded pill effects.
|
|
30
|
+
*/
|
|
31
|
+
export function getAllPillEffects() {
|
|
32
|
+
return irange(FIRST_PILL_EFFECT, LAST_PILL_EFFECT);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Helper function to get the associated pill effect after False PHD is acquired. If a pill effect
|
|
36
|
+
* is not altered by False PHD, then the same pill effect will be returned.
|
|
37
|
+
*/
|
|
38
|
+
export function getFalsePHDPillEffect(pillEffect) {
|
|
39
|
+
const convertedPillEffect = FALSE_PHD_PILL_CONVERSIONS.get(pillEffect);
|
|
40
|
+
return convertedPillEffect === undefined ? pillEffect : convertedPillEffect;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Helper function to get the corresponding horse pill color from a normal pill color.
|
|
44
|
+
*
|
|
45
|
+
* For example, passing `PillColor.BLUE_BLUE` would result in 2049, which is the value that
|
|
46
|
+
* corresponds to the horse pill color for blue/blue.
|
|
47
|
+
*/
|
|
48
|
+
export function getHorsePillColor(pillColor) {
|
|
49
|
+
return pillColor + HORSE_PILL_ADJUSTMENT; // eslint-disable-line isaacscript/strict-enums
|
|
50
|
+
}
|
|
51
|
+
/** Helper function to get an array with every non-gold horse pill color. */
|
|
52
|
+
export function getHorsePillColors() {
|
|
53
|
+
return irange(FIRST_HORSE_PILL_COLOR, LAST_HORSE_PILL_COLOR);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Helper function to get an array with every modded pill effect.
|
|
57
|
+
*
|
|
58
|
+
* Returns an empty array if there are no modded pill effects.
|
|
59
|
+
*/
|
|
60
|
+
export function getModdedPillEffects() {
|
|
61
|
+
if (LAST_VANILLA_PILL_EFFECT === LAST_PILL_EFFECT) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
return irange(FIRST_MODDED_PILL_EFFECT, LAST_PILL_EFFECT);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Helper function to get the corresponding normal pill color from a horse pill color.
|
|
68
|
+
*
|
|
69
|
+
* For example, passing 2049 would result in `PillColor.BLUE_BLUE`.
|
|
70
|
+
*
|
|
71
|
+
* If called with a non-horse pill color, this function will return back the same color.
|
|
72
|
+
*/
|
|
73
|
+
export function getNormalPillColorFromHorse(pillColor) {
|
|
74
|
+
// eslint-disable-next-line isaacscript/strict-enums
|
|
75
|
+
const normalPillColor = (pillColor - HORSE_PILL_ADJUSTMENT);
|
|
76
|
+
return normalPillColor > PillColor.NULL ? normalPillColor : pillColor;
|
|
77
|
+
}
|
|
78
|
+
/** Helper function to get an array with every non-gold and non-horse pill color. */
|
|
79
|
+
export function getNormalPillColors() {
|
|
80
|
+
return irange(FIRST_PILL_COLOR, LAST_NORMAL_PILL_COLOR);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Helper function to get the associated pill effect after PHD is acquired. If a pill effect is not
|
|
84
|
+
* altered by PHD, then the same pill effect will be returned.
|
|
85
|
+
*/
|
|
86
|
+
export function getPHDPillEffect(pillEffect) {
|
|
87
|
+
const convertedPillEffect = PHD_PILL_CONVERSIONS.get(pillEffect);
|
|
88
|
+
return convertedPillEffect === undefined ? pillEffect : convertedPillEffect;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Helper function to get a pill effect class from a PillEffect enum value. In this context, the
|
|
92
|
+
* class is equal to the numerical prefix in the "class" tag in the "pocketitems.xml" file. Use the
|
|
93
|
+
* `getPillEffectType` helper function to determine whether or not the pill effect is positive,
|
|
94
|
+
* negative, or neutral.
|
|
95
|
+
*
|
|
96
|
+
* Due to limitations in the API, this function will not work properly for modded pill effects, and
|
|
97
|
+
* will always return `DEFAULT_PILL_EFFECT_CLASS` in those cases.
|
|
98
|
+
*/
|
|
99
|
+
export function getPillEffectClass(pillEffect) {
|
|
100
|
+
// `ItemConfigPillEffect` does not contain the "class" tag, so we must manually compile a map of
|
|
101
|
+
// pill effect classes. Modded pill effects are not included in the map.
|
|
102
|
+
const pillEffectClass = PILL_EFFECT_CLASSES[pillEffect];
|
|
103
|
+
// Handle modded pill effects.
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
105
|
+
return pillEffectClass === undefined
|
|
106
|
+
? DEFAULT_PILL_EFFECT_CLASS
|
|
107
|
+
: pillEffectClass;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Helper function to get a pill effect name from a PillEffect enum value.
|
|
111
|
+
*
|
|
112
|
+
* For example:
|
|
113
|
+
*
|
|
114
|
+
* ```ts
|
|
115
|
+
* const pillEffect = PillEffect.BAD_GAS;
|
|
116
|
+
* const pillEffectName = getPillEffectName(pillEffect); // trinketName is "Bad Gas"
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export function getPillEffectName(pillEffect) {
|
|
120
|
+
// `ItemConfigPillEffect.Name` is bugged with vanilla pill effects on patch v1.7.6, so we use a
|
|
121
|
+
// hard-coded map as a workaround.
|
|
122
|
+
const pillEffectName = PILL_EFFECT_NAMES[pillEffect];
|
|
123
|
+
// Handle modded pill effects.
|
|
124
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
125
|
+
if (pillEffectName !== undefined) {
|
|
126
|
+
return pillEffectName;
|
|
127
|
+
}
|
|
128
|
+
const itemConfigPillEffect = itemConfig.GetPillEffect(pillEffect);
|
|
129
|
+
if (itemConfigPillEffect !== undefined) {
|
|
130
|
+
return itemConfigPillEffect.Name;
|
|
131
|
+
}
|
|
132
|
+
return DEFAULT_PILL_EFFECT_NAME;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Helper function to get a pill effect type from a PillEffect enum value. In this context, the type
|
|
136
|
+
* is equal to positive, negative, or neutral. This is derived from the suffix of the the "class"
|
|
137
|
+
* tag in the "pocketitems.xml" file. Use the `getPillEffectClass` helper function to determine the
|
|
138
|
+
* "power" of the pill.
|
|
139
|
+
*
|
|
140
|
+
* Due to limitations in the API, this function will not work properly for modded pill effects, and
|
|
141
|
+
* will always return `DEFAULT_PILL_EFFECT_TYPE` in those cases.
|
|
142
|
+
*/
|
|
143
|
+
export function getPillEffectType(pillEffect) {
|
|
144
|
+
// `ItemConfigPillEffect` does not contain the "class" tag, so we must manually compile a map of
|
|
145
|
+
// pill effect classes. Modded pill effects are not included in the map.
|
|
146
|
+
const pillEffectClass = PILL_EFFECT_TYPES[pillEffect];
|
|
147
|
+
// Handle modded pill effects.
|
|
148
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
149
|
+
return pillEffectClass === undefined
|
|
150
|
+
? DEFAULT_PILL_EFFECT_TYPE
|
|
151
|
+
: pillEffectClass;
|
|
152
|
+
}
|
|
153
|
+
/** Helper function to get an array with every vanilla pill effect. */
|
|
154
|
+
export function getVanillaPillEffects() {
|
|
155
|
+
return irange(FIRST_PILL_EFFECT, LAST_VANILLA_PILL_EFFECT);
|
|
156
|
+
}
|
|
157
|
+
export function isHorsePill(pillColor) {
|
|
158
|
+
return pillColor > HORSE_PILL_ADJUSTMENT;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9pc2FhY3NjcmlwdC1jb21tb24vc3JjL2Z1bmN0aW9ucy9waWxscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxHQUVWLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsd0JBQXdCLEdBQ3pCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixtQkFBbUIsR0FDcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGlCQUFpQixHQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsaUJBQWlCLEdBQ2xCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWpDOzs7Ozs7R0FNRztBQUNILE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDO0FBRW5DOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLDBCQUEwQjtJQUM5QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFpQixDQUFDO0FBQ3JFLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsVUFBc0I7SUFDMUQsTUFBTSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkUsT0FBTyxtQkFBbUIsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7QUFDOUUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQW9CO0lBQ3BELE9BQU8sU0FBUyxHQUFHLHFCQUFxQixDQUFDLENBQUMsK0NBQStDO0FBQzNGLENBQUM7QUFFRCw0RUFBNEU7QUFDNUUsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBZ0IsQ0FBQztBQUM5RSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsSUFBSSx3QkFBd0IsS0FBSyxnQkFBZ0IsRUFBRTtRQUNqRCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQWlCLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxTQUFvQjtJQUM5RCxvREFBb0Q7SUFDcEQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQWMsQ0FBQztJQUV6RSxPQUFPLGVBQWUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN4RSxDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQWdCLENBQUM7QUFDekUsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxVQUFzQjtJQUNyRCxNQUFNLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRSxPQUFPLG1CQUFtQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztBQUM5RSxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFVBQXNCO0lBRXRCLGdHQUFnRztJQUNoRyx3RUFBd0U7SUFDeEUsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsOEJBQThCO0lBQzlCLHVFQUF1RTtJQUN2RSxPQUFPLGVBQWUsS0FBSyxTQUFTO1FBQ2xDLENBQUMsQ0FBQyx5QkFBeUI7UUFDM0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQztBQUN0QixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFVBQXNCO0lBQ3RELCtGQUErRjtJQUMvRixrQ0FBa0M7SUFDbEMsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsOEJBQThCO0lBQzlCLHVFQUF1RTtJQUN2RSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFDaEMsT0FBTyxjQUFjLENBQUM7S0FDdkI7SUFFRCxNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEUsSUFBSSxvQkFBb0IsS0FBSyxTQUFTLEVBQUU7UUFDdEMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7S0FDbEM7SUFFRCxPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsVUFBc0I7SUFFdEIsZ0dBQWdHO0lBQ2hHLHdFQUF3RTtJQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCw4QkFBOEI7SUFDOUIsdUVBQXVFO0lBQ3ZFLE9BQU8sZUFBZSxLQUFLLFNBQVM7UUFDbEMsQ0FBQyxDQUFDLHdCQUF3QjtRQUMxQixDQUFDLENBQUMsZUFBZSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxzRUFBc0U7QUFDdEUsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBaUIsQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxTQUFvQjtJQUM5QyxPQUFPLFNBQVMsR0FBSSxxQkFBbUMsQ0FBQztBQUMxRCxDQUFDIn0=
|
package/functions/pills.lua
CHANGED
|
@@ -142,3 +142,5 @@ function ____exports.isHorsePill(self, pillColor)
|
|
|
142
142
|
return pillColor > HORSE_PILL_ADJUSTMENT
|
|
143
143
|
end
|
|
144
144
|
return ____exports
|
|
145
|
+
|
|
146
|
+
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lzYWFjc2NyaXB0LWNvbW1vbi9zcmMvZnVuY3Rpb25zL3BpbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUtPO0FBRkw7QUFHRiwwQkFBMkI7QUFBbEI7QUFDVCwrQkFTTztBQVJMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFRixvQ0FBMkM7QUFBbEM7QUFDVCwrQkFBcUM7QUFBNUI7QUFDVCw4QkFHTztBQUZMO0FBQ0E7QUFFRiw0QkFHTztBQUZMO0FBQ0E7QUFFRiw0QkFHTztBQUZMO0FBQ0E7QUFFRixrQkFBOEI7QUFBckI7QUFDVCxrQkFBdUI7QUFBZDs7Ozs7O0FBU0gsOEJBQXdCOzs7QUFNOUI7QUFDUSx1QkFBYSxtQkFBYztJQUNqQztBQUNBLFdBQU87QUFIVDs7QUFTQTtBQUNFLFdBQU8sWUFBTyxtQkFBbUI7QUFEbkM7OztBQVFBLGlEQUFzQztBQUM5QixnQ0FBc0IsMkJBQTJCLElBQUk7QUFDM0QsV0FBTywrQkFBb0MsY0FBYTtBQUYxRDs7Ozs7QUFXQSw2Q0FBa0M7QUFDaEMsV0FBTyxZQUFZO0FBRHJCOztBQUtBO0FBQ0UsV0FBTyxZQUFPLHdCQUF3QjtBQUR4Qzs7OztBQVNBO09BQ00sNEJBQTZCO0FBQy9CLGVBQU87O0FBR1QsV0FBTyxZQUFPLDBCQUEwQjtBQUwxQzs7Ozs7O0FBZUEsdURBQTRDO0FBRXBDLDRCQUFtQixZQUFZO0FBRXJDLFdBQU8sa0JBQWtCLG1CQUFpQixtQkFBa0I7QUFKOUQ7O0FBUUE7QUFDRSxXQUFPLFlBQU8sa0JBQWtCO0FBRGxDOzs7QUFRQSw0Q0FBaUM7QUFDekIsZ0NBQXNCLHFCQUFxQixJQUFJO0FBQ3JELFdBQU8sK0JBQW9DLGNBQWE7QUFGMUQ7Ozs7Ozs7O0FBY0EsOENBQ0U7QUFJTSw0QkFBa0Isb0JBQW9CO0FBRzVDLFdBQU8sMkJBQ0gsNkJBQ0E7QUFWTjs7Ozs7Ozs7O0FBdUJBLDZDQUFrQztBQUcxQiwyQkFBaUIsa0JBQWtCO09BR3JDO0FBQ0YsZUFBTzs7QUFHSCxpQ0FBdUIsV0FBVyxjQUFjO09BQ2xEO0FBQ0YsZUFBTzs7QUFHVCxXQUFPO0FBZlQ7Ozs7Ozs7O0FBMkJBLDZDQUNFO0FBSU0sNEJBQWtCLGtCQUFrQjtBQUcxQyxXQUFPLDJCQUNILDRCQUNBO0FBVk47O0FBY0E7QUFDRSxXQUFPLFlBQU8sbUJBQW1CO0FBRG5DO0FBSUEsdUNBQTRCO0FBQzFCLFdBQU8sWUFBYTtBQUR0QiIsImZpbGUiOiJwaWxscy5sdWEiLCJzb3VyY2VSb290IjoiIn0=
|