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
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { DefaultMap } from "../classes/DefaultMap";
|
|
2
|
-
import { PlayerIndex } from "../types/PlayerIndex";
|
|
3
|
-
import { getPlayerIndex } from "./playerIndex";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Helper function to make using default maps with an index of `PlayerIndex` easier. Use this
|
|
7
|
-
* instead of the `DefaultMap.getAndSetDefault` method if you have a default map of this type.
|
|
8
|
-
*
|
|
9
|
-
* For example:
|
|
10
|
-
*
|
|
11
|
-
* ```ts
|
|
12
|
-
* const v = {
|
|
13
|
-
* run: {
|
|
14
|
-
* playersSpeedBoost: new DefaultMap<PlayerIndex, int>(0),
|
|
15
|
-
* },
|
|
16
|
-
* };
|
|
17
|
-
*
|
|
18
|
-
* function evaluateCacheSpeed(player: EntityPlayer) {
|
|
19
|
-
* player.MoveSpeed = defaultMapGetPlayer(v.run.playersSpeedBoost, player);
|
|
20
|
-
* }
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export function defaultMapGetPlayer<V, A extends unknown[]>(
|
|
24
|
-
map: DefaultMap<PlayerIndex, V, A>,
|
|
25
|
-
player: EntityPlayer,
|
|
26
|
-
...extraArgs: A
|
|
27
|
-
): V {
|
|
28
|
-
const playerIndex = getPlayerIndex(player);
|
|
29
|
-
return map.getAndSetDefault(playerIndex, ...extraArgs);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
34
|
-
* `Map.set` method if you have a map of this type.
|
|
35
|
-
*
|
|
36
|
-
* Since `Map` and `DefaultMap` set values in the same way, this function is simply an alias for the
|
|
37
|
-
* `mapSetPlayer` helper function.
|
|
38
|
-
*/
|
|
39
|
-
export function defaultMapSetPlayer<V>(
|
|
40
|
-
map: Map<PlayerIndex, V>,
|
|
41
|
-
player: EntityPlayer,
|
|
42
|
-
value: V,
|
|
43
|
-
): void {
|
|
44
|
-
mapSetPlayer(map, player, value);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
49
|
-
* `Map.get` method if you have a map of this type.
|
|
50
|
-
*
|
|
51
|
-
* For example:
|
|
52
|
-
*
|
|
53
|
-
* ```ts
|
|
54
|
-
* const v = {
|
|
55
|
-
* run: {
|
|
56
|
-
* playersSpeedBoost: new Map<PlayerIndex, int>(),
|
|
57
|
-
* },
|
|
58
|
-
* };
|
|
59
|
-
*
|
|
60
|
-
* function incrementSpeedBoost(player: EntityPlayer) {
|
|
61
|
-
* const oldSpeedBoost = mapGetPlayer(v.run.playersSpeedBoost, player);
|
|
62
|
-
* const newSpeedBoost = oldSpeedBoost + 0.1;
|
|
63
|
-
* mapSetPlayer(v.run.playersSpeedBoost, player);
|
|
64
|
-
* }
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export function mapGetPlayer<V>(
|
|
68
|
-
map: Map<PlayerIndex, V>,
|
|
69
|
-
player: EntityPlayer,
|
|
70
|
-
): V | undefined {
|
|
71
|
-
const playerIndex = getPlayerIndex(player);
|
|
72
|
-
return map.get(playerIndex);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
77
|
-
* `Map.has` method if you have a map of this type.
|
|
78
|
-
*/
|
|
79
|
-
export function mapHasPlayer<V>(
|
|
80
|
-
map: Map<PlayerIndex, V>,
|
|
81
|
-
player: EntityPlayer,
|
|
82
|
-
): boolean {
|
|
83
|
-
const playerIndex = getPlayerIndex(player);
|
|
84
|
-
return map.has(playerIndex);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
89
|
-
* `Map.set` method if you have a map of this type.
|
|
90
|
-
*
|
|
91
|
-
* For example:
|
|
92
|
-
*
|
|
93
|
-
* ```ts
|
|
94
|
-
* const v = {
|
|
95
|
-
* run: {
|
|
96
|
-
* playersSpeedBoost: new Map<PlayerIndex, int>(),
|
|
97
|
-
* },
|
|
98
|
-
* };
|
|
99
|
-
*
|
|
100
|
-
* function incrementSpeedBoost(player: EntityPlayer) {
|
|
101
|
-
* const oldSpeedBoost = mapGetPlayer(v.run.playersSpeedBoost, player);
|
|
102
|
-
* const newSpeedBoost = oldSpeedBoost + 0.1;
|
|
103
|
-
* mapSetPlayer(v.run.playersSpeedBoost, player);
|
|
104
|
-
* }
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export function mapSetPlayer<V>(
|
|
108
|
-
map: Map<PlayerIndex, V>,
|
|
109
|
-
player: EntityPlayer,
|
|
110
|
-
value: V,
|
|
111
|
-
): void {
|
|
112
|
-
const playerIndex = getPlayerIndex(player);
|
|
113
|
-
map.set(playerIndex, value);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
|
|
118
|
-
* `Set.add` method if you have a set of this type.
|
|
119
|
-
*/
|
|
120
|
-
export function setAddPlayer(
|
|
121
|
-
set: Set<PlayerIndex>,
|
|
122
|
-
player: EntityPlayer,
|
|
123
|
-
): Set<PlayerIndex> {
|
|
124
|
-
const playerIndex = getPlayerIndex(player);
|
|
125
|
-
return set.add(playerIndex);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
|
|
130
|
-
* `Set.delete` method if you have a set of this type.
|
|
131
|
-
*/
|
|
132
|
-
export function setDeletePlayer(
|
|
133
|
-
set: Set<PlayerIndex>,
|
|
134
|
-
player: EntityPlayer,
|
|
135
|
-
): boolean {
|
|
136
|
-
const playerIndex = getPlayerIndex(player);
|
|
137
|
-
return set.delete(playerIndex);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
|
|
142
|
-
* `Set.has` method if you have a set of this type.
|
|
143
|
-
*/
|
|
144
|
-
export function setHasPlayer(
|
|
145
|
-
set: Set<PlayerIndex>,
|
|
146
|
-
player: EntityPlayer,
|
|
147
|
-
): boolean {
|
|
148
|
-
const playerIndex = getPlayerIndex(player);
|
|
149
|
-
return set.has(playerIndex);
|
|
150
|
-
}
|
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
import { HeartSubType, PlayerType } from "isaac-typescript-definitions";
|
|
2
|
-
import { MAX_PLAYER_HEART_CONTAINERS } from "../constants";
|
|
3
|
-
import { HealthType } from "../enums/HealthType";
|
|
4
|
-
import { PlayerHealth } from "../interfaces/PlayerHealth";
|
|
5
|
-
import {
|
|
6
|
-
getPlayerBlackHearts,
|
|
7
|
-
getPlayerHearts,
|
|
8
|
-
getPlayerSoulHearts,
|
|
9
|
-
isCharacter,
|
|
10
|
-
} from "./player";
|
|
11
|
-
import { ensureAllCases, repeat } from "./utils";
|
|
12
|
-
|
|
13
|
-
export function addPlayerHealthType(
|
|
14
|
-
player: EntityPlayer,
|
|
15
|
-
healthType: HealthType,
|
|
16
|
-
numHearts: int,
|
|
17
|
-
): void {
|
|
18
|
-
switch (healthType) {
|
|
19
|
-
case HealthType.RED: {
|
|
20
|
-
player.AddHearts(numHearts);
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
case HealthType.SOUL: {
|
|
25
|
-
player.AddSoulHearts(numHearts);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
case HealthType.ETERNAL: {
|
|
30
|
-
player.AddEternalHearts(numHearts);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
case HealthType.BLACK: {
|
|
35
|
-
player.AddBlackHearts(numHearts);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
case HealthType.GOLDEN: {
|
|
40
|
-
player.AddGoldenHearts(numHearts);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
case HealthType.BONE: {
|
|
45
|
-
player.AddBoneHearts(numHearts);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
case HealthType.ROTTEN: {
|
|
50
|
-
player.AddRottenHearts(numHearts);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
case HealthType.BROKEN: {
|
|
55
|
-
player.AddBrokenHearts(numHearts);
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
case HealthType.MAX_HEARTS: {
|
|
60
|
-
player.AddMaxHearts(numHearts, false);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
default: {
|
|
65
|
-
ensureAllCases(healthType);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Helper function to get an object representing the player's health. You can use this in
|
|
72
|
-
* combination with the `setPlayerHealth` function to restore the player's health back to a certain
|
|
73
|
-
* configuration at a later time.
|
|
74
|
-
*
|
|
75
|
-
* This is based on the `REVEL.StoreHealth` function in the Revelations mod.
|
|
76
|
-
*/
|
|
77
|
-
export function getPlayerHealth(player: EntityPlayer): PlayerHealth {
|
|
78
|
-
const character = player.GetPlayerType();
|
|
79
|
-
const soulHeartTypes: HeartSubType[] = [];
|
|
80
|
-
let maxHearts = player.GetMaxHearts();
|
|
81
|
-
let hearts = getPlayerHearts(player); // We use the helper function to remove rotten hearts
|
|
82
|
-
let soulHearts = player.GetSoulHearts();
|
|
83
|
-
let boneHearts = player.GetBoneHearts();
|
|
84
|
-
const goldenHearts = player.GetGoldenHearts();
|
|
85
|
-
const eternalHearts = player.GetEternalHearts();
|
|
86
|
-
const rottenHearts = player.GetRottenHearts();
|
|
87
|
-
const brokenHearts = player.GetBrokenHearts();
|
|
88
|
-
const subPlayer = player.GetSubPlayer();
|
|
89
|
-
const soulCharges = player.GetEffectiveSoulCharge();
|
|
90
|
-
const bloodCharges = player.GetEffectiveBloodCharge();
|
|
91
|
-
|
|
92
|
-
// The Forgotten and The Soul has special health, so we need to account for this.
|
|
93
|
-
if (character === PlayerType.THE_FORGOTTEN && subPlayer !== undefined) {
|
|
94
|
-
// The Forgotten does not have red heart containers.
|
|
95
|
-
maxHearts = boneHearts * 2;
|
|
96
|
-
boneHearts = 0;
|
|
97
|
-
|
|
98
|
-
// The Forgotten will always have 0 soul hearts; we need to get the soul heart amount from the
|
|
99
|
-
// sub player.
|
|
100
|
-
soulHearts = subPlayer.GetSoulHearts();
|
|
101
|
-
} else if (character === PlayerType.THE_SOUL && subPlayer !== undefined) {
|
|
102
|
-
// The Soul will always have 0 bone hearts; we need to get the bone heart amount from the sub
|
|
103
|
-
// player. We need to store it as "maxHearts" instead of "boneHearts".
|
|
104
|
-
maxHearts = subPlayer.GetBoneHearts() * 2;
|
|
105
|
-
hearts = subPlayer.GetHearts();
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// This is the number of individual hearts shown in the HUD, minus heart containers.
|
|
109
|
-
const extraHearts = math.ceil(soulHearts / 2) + boneHearts;
|
|
110
|
-
|
|
111
|
-
// Since bone hearts can be inserted anywhere between soul hearts, we need a separate counter to
|
|
112
|
-
// track which soul heart we're currently at.
|
|
113
|
-
let currentSoulHeart = 0;
|
|
114
|
-
|
|
115
|
-
for (let i = 0; i < extraHearts; i++) {
|
|
116
|
-
let isBoneHeart = player.IsBoneHeart(i);
|
|
117
|
-
if (character === PlayerType.THE_FORGOTTEN && subPlayer !== undefined) {
|
|
118
|
-
isBoneHeart = subPlayer.IsBoneHeart(i);
|
|
119
|
-
}
|
|
120
|
-
if (isBoneHeart) {
|
|
121
|
-
soulHeartTypes.push(HeartSubType.BONE);
|
|
122
|
-
} else {
|
|
123
|
-
// We need to add 1 here because only the second half of a black heart is considered black.
|
|
124
|
-
let isBlackHeart = player.IsBlackHeart(currentSoulHeart + 1);
|
|
125
|
-
if (character === PlayerType.THE_FORGOTTEN && subPlayer !== undefined) {
|
|
126
|
-
isBlackHeart = subPlayer.IsBlackHeart(currentSoulHeart + 1);
|
|
127
|
-
}
|
|
128
|
-
if (isBlackHeart) {
|
|
129
|
-
soulHeartTypes.push(HeartSubType.BLACK);
|
|
130
|
-
} else {
|
|
131
|
-
soulHeartTypes.push(HeartSubType.SOUL);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Move to the next heart.
|
|
135
|
-
currentSoulHeart += 2;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return {
|
|
140
|
-
maxHearts,
|
|
141
|
-
hearts,
|
|
142
|
-
eternalHearts,
|
|
143
|
-
soulHearts,
|
|
144
|
-
boneHearts,
|
|
145
|
-
goldenHearts,
|
|
146
|
-
rottenHearts,
|
|
147
|
-
brokenHearts,
|
|
148
|
-
soulCharges,
|
|
149
|
-
bloodCharges,
|
|
150
|
-
soulHeartTypes,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export function getPlayerHealthType(
|
|
155
|
-
player: EntityPlayer,
|
|
156
|
-
healthType: HealthType,
|
|
157
|
-
): int {
|
|
158
|
-
switch (healthType) {
|
|
159
|
-
// 5.10.1
|
|
160
|
-
case HealthType.RED: {
|
|
161
|
-
// We use the standard library helper function since the `EntityPlayer.GetHearts` method
|
|
162
|
-
// returns a value that includes rotten hearts.
|
|
163
|
-
return getPlayerHearts(player);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// 5.10.3
|
|
167
|
-
case HealthType.SOUL: {
|
|
168
|
-
// We use the standard library helper function since the `EntityPlayer.GetSoulHearts` method
|
|
169
|
-
// returns a value that includes black hearts.
|
|
170
|
-
return getPlayerSoulHearts(player);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
// 5.10.4
|
|
174
|
-
case HealthType.ETERNAL: {
|
|
175
|
-
return player.GetEternalHearts();
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// 5.10.6
|
|
179
|
-
case HealthType.BLACK: {
|
|
180
|
-
// We use the standard library helper function since the `EntityPlayer.GetBlackHearts` method
|
|
181
|
-
// returns a bit mask.
|
|
182
|
-
return getPlayerBlackHearts(player);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// 5.10.7
|
|
186
|
-
case HealthType.GOLDEN: {
|
|
187
|
-
return player.GetGoldenHearts();
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// 5.10.11
|
|
191
|
-
case HealthType.BONE: {
|
|
192
|
-
return player.GetBoneHearts();
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
// 5.10.12
|
|
196
|
-
case HealthType.ROTTEN: {
|
|
197
|
-
return player.GetRottenHearts();
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
case HealthType.BROKEN: {
|
|
201
|
-
return player.GetBrokenHearts();
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
case HealthType.MAX_HEARTS: {
|
|
205
|
-
return player.GetMaxHearts();
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
default: {
|
|
209
|
-
return ensureAllCases(healthType);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export function removeAllPlayerHealth(player: EntityPlayer): void {
|
|
215
|
-
const goldenHearts = player.GetGoldenHearts();
|
|
216
|
-
const eternalHearts = player.GetEternalHearts();
|
|
217
|
-
const boneHearts = player.GetBoneHearts();
|
|
218
|
-
const brokenHearts = player.GetBrokenHearts();
|
|
219
|
-
|
|
220
|
-
// To avoid bugs, we have to remove the exact amount of certain types of hearts. We remove Golden
|
|
221
|
-
// Hearts first so that they don't break.
|
|
222
|
-
player.AddGoldenHearts(goldenHearts * -1);
|
|
223
|
-
player.AddEternalHearts(eternalHearts * -1);
|
|
224
|
-
player.AddBoneHearts(boneHearts * -1);
|
|
225
|
-
player.AddBrokenHearts(brokenHearts * -1);
|
|
226
|
-
player.AddMaxHearts(MAX_PLAYER_HEART_CONTAINERS * -2, true);
|
|
227
|
-
player.AddSoulHearts(MAX_PLAYER_HEART_CONTAINERS * -2);
|
|
228
|
-
|
|
229
|
-
// If we are The Soul, the `EntityPlayer.AddBoneHearts` method will not remove Forgotten's bone
|
|
230
|
-
// hearts, so we need to explicitly handle this.
|
|
231
|
-
if (isCharacter(player, PlayerType.THE_SOUL)) {
|
|
232
|
-
const forgotten = player.GetSubPlayer();
|
|
233
|
-
if (forgotten !== undefined) {
|
|
234
|
-
const forgottenBoneHearts = forgotten.GetBoneHearts();
|
|
235
|
-
forgotten.AddBoneHearts(forgottenBoneHearts * -1);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Helper function to set a player's health to a specific state. You can use this in combination
|
|
242
|
-
* with the `getPlayerHealth` function to restore the player's health back to a certain
|
|
243
|
-
* configuration at a later time.
|
|
244
|
-
*
|
|
245
|
-
* Based on the `REVEL.LoadHealth` function in the Revelations mod.
|
|
246
|
-
*/
|
|
247
|
-
export function setPlayerHealth(
|
|
248
|
-
player: EntityPlayer,
|
|
249
|
-
playerHealth: PlayerHealth,
|
|
250
|
-
): void {
|
|
251
|
-
const character = player.GetPlayerType();
|
|
252
|
-
const subPlayer = player.GetSubPlayer();
|
|
253
|
-
|
|
254
|
-
removeAllPlayerHealth(player);
|
|
255
|
-
|
|
256
|
-
// Add the red heart containers.
|
|
257
|
-
if (character === PlayerType.THE_SOUL && subPlayer !== undefined) {
|
|
258
|
-
// Adding health to The Soul is a special case.
|
|
259
|
-
subPlayer.AddMaxHearts(playerHealth.maxHearts, false);
|
|
260
|
-
} else {
|
|
261
|
-
player.AddMaxHearts(playerHealth.maxHearts, false);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
// Add the eternal hearts.
|
|
265
|
-
player.AddEternalHearts(playerHealth.eternalHearts);
|
|
266
|
-
|
|
267
|
-
// Add the soul / black / bone hearts.
|
|
268
|
-
let soulHeartsRemaining = playerHealth.soulHearts;
|
|
269
|
-
playerHealth.soulHeartTypes.forEach((heartType, i) => {
|
|
270
|
-
const isHalf =
|
|
271
|
-
playerHealth.soulHearts + playerHealth.boneHearts * 2 < (i + 1) * 2;
|
|
272
|
-
let addAmount = 2;
|
|
273
|
-
if (isHalf || heartType === HeartSubType.BONE || soulHeartsRemaining < 2) {
|
|
274
|
-
// Fix the bug where a half soul heart to the left of a bone heart will be treated as a full
|
|
275
|
-
// soul heart.
|
|
276
|
-
addAmount = 1;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
if (heartType === HeartSubType.SOUL) {
|
|
280
|
-
player.AddSoulHearts(addAmount);
|
|
281
|
-
soulHeartsRemaining -= addAmount;
|
|
282
|
-
} else if (heartType === HeartSubType.BLACK) {
|
|
283
|
-
player.AddBlackHearts(addAmount);
|
|
284
|
-
soulHeartsRemaining -= addAmount;
|
|
285
|
-
} else if (heartType === HeartSubType.BONE) {
|
|
286
|
-
player.AddBoneHearts(addAmount);
|
|
287
|
-
}
|
|
288
|
-
});
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Fill in the red heart containers.
|
|
292
|
-
*
|
|
293
|
-
* (Rotten Hearts must be filled in first in order for this to work properly, since they conflict
|
|
294
|
-
* with half red hearts.)
|
|
295
|
-
*
|
|
296
|
-
* The `EntityPlayer.AddRottenHearts` method is not like actually picking up a rotten heart, since
|
|
297
|
-
* it will only grant one rotten heart to Tainted Magdalene (whereas picking up a rotten heart
|
|
298
|
-
* would grant two).
|
|
299
|
-
*/
|
|
300
|
-
player.AddRottenHearts(playerHealth.rottenHearts);
|
|
301
|
-
repeat(playerHealth.hearts, () => {
|
|
302
|
-
player.AddHearts(1);
|
|
303
|
-
|
|
304
|
-
// Adding 1 heart to Tainted Magdalene will actually add two hearts.
|
|
305
|
-
if (character === PlayerType.MAGDALENE_B) {
|
|
306
|
-
player.AddHearts(-1);
|
|
307
|
-
}
|
|
308
|
-
});
|
|
309
|
-
player.AddGoldenHearts(playerHealth.goldenHearts);
|
|
310
|
-
player.AddBrokenHearts(playerHealth.brokenHearts);
|
|
311
|
-
|
|
312
|
-
// Set the Bethany / Tainted Bethany charges.
|
|
313
|
-
if (character === PlayerType.BETHANY) {
|
|
314
|
-
player.SetSoulCharge(playerHealth.soulCharges);
|
|
315
|
-
} else if (character === PlayerType.BETHANY_B) {
|
|
316
|
-
player.SetBloodCharge(playerHealth.bloodCharges);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { CollectibleType, PlayerType } from "isaac-typescript-definitions";
|
|
2
|
-
import { game } from "../cachedClasses";
|
|
3
|
-
import { PlayerIndex } from "../types/PlayerIndex";
|
|
4
|
-
|
|
5
|
-
const DEFAULT_COLLECTIBLE_TYPE = CollectibleType.SAD_ONION;
|
|
6
|
-
|
|
7
|
-
const EXCLUDED_CHARACTERS: ReadonlySet<PlayerType> = new Set([
|
|
8
|
-
PlayerType.ESAU, // 20
|
|
9
|
-
PlayerType.THE_SOUL_B, // 40
|
|
10
|
-
]);
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Helper function to get every player with no restrictions, by using `Game.GetNumPlayers` and
|
|
14
|
-
* `Isaac.GetPlayer`.
|
|
15
|
-
*
|
|
16
|
-
* This function is almost never what you want to use. For most purposes, use the `getPlayers`
|
|
17
|
-
* helper function instead to get a filtered list of players.
|
|
18
|
-
*/
|
|
19
|
-
export function getAllPlayers(): EntityPlayer[] {
|
|
20
|
-
const numPlayers = game.GetNumPlayers();
|
|
21
|
-
|
|
22
|
-
const players: EntityPlayer[] = [];
|
|
23
|
-
for (let i = 0; i < numPlayers; i++) {
|
|
24
|
-
const player = Isaac.GetPlayer(i);
|
|
25
|
-
players.push(player);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return players;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function getPlayerFromIndex(
|
|
32
|
-
playerIndex: PlayerIndex,
|
|
33
|
-
): EntityPlayer | undefined {
|
|
34
|
-
const players = getPlayers();
|
|
35
|
-
return players.find((player) => getPlayerIndex(player) === playerIndex);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Mods often have to track variables relating to the player. In naive mods, information will only
|
|
40
|
-
* be stored about the first player. However, in order to be robust, mods must handle up to 4
|
|
41
|
-
* players playing at the same time. This means that information must be stored on a map data
|
|
42
|
-
* structure. Finding a good index for these types of map data structures is difficult:
|
|
43
|
-
*
|
|
44
|
-
* - We cannot use the index from `Isaac.GetPlayer(i)` since this fails in the case where there are
|
|
45
|
-
* two players and the first player leaves the run.
|
|
46
|
-
* - We cannot use `EntityPlayer.ControllerIndex` as an index because it fails in the case of Jacob
|
|
47
|
-
* & Esau or Tainted Forgotten. It also fails in the case of a player changing their controls
|
|
48
|
-
* mid-run.
|
|
49
|
-
* - We cannot use `EntityPlayer.GetData().index` because it does not persist across saving and
|
|
50
|
-
* continuing.
|
|
51
|
-
* - We cannot use `GetPtrHash()` as an index because it does not persist across exiting and
|
|
52
|
-
* relaunching the game.
|
|
53
|
-
* - We cannot use `EntityPlayer.InitSeed` because it is not consistent with additional players
|
|
54
|
-
* beyond the first.
|
|
55
|
-
*
|
|
56
|
-
* Instead, we use the `EntityPlayer.GetCollectibleRNG` method with an arbitrary value of Sad Onion
|
|
57
|
-
* (1). This works even if the player does not have any Sad Onions.
|
|
58
|
-
*
|
|
59
|
-
* Since the RNG value is the same for both Tainted Lazarus and Dead Tainted Lazarus, we revert to
|
|
60
|
-
* using the RNG of The Inner Eye (2) for Dead Tainted Lazarus.
|
|
61
|
-
*
|
|
62
|
-
* Note that by default, this returns the same index for both The Forgotten and The Soul. (Even
|
|
63
|
-
* though they are technically different characters, they share the same inventory and InitSeed.) If
|
|
64
|
-
* this is not desired, pass true for the `differentiateForgottenAndSoul` argument, and the RNG of
|
|
65
|
-
* Spoon Bender (3) will be used for The Soul.
|
|
66
|
-
*/
|
|
67
|
-
export function getPlayerIndex(
|
|
68
|
-
player: EntityPlayer,
|
|
69
|
-
differentiateForgottenAndSoul = false,
|
|
70
|
-
): PlayerIndex {
|
|
71
|
-
// Sub-players use separate RNG values for some reason, so we need to always use the main player:
|
|
72
|
-
// https://github.com/Meowlala/RepentanceAPIIssueTracker/issues/443
|
|
73
|
-
|
|
74
|
-
// We can safely ignore the player's character because regardless of whether the main player ends
|
|
75
|
-
// up being The Forgotten or The Soul, the collectible RNG values will be the same. The
|
|
76
|
-
// `EntityPlayer.IsSubPlayer` method can return true for Dead Tainted Lazarus during the
|
|
77
|
-
// PostPlayerInit callback, but since we fall back to the player in the case of
|
|
78
|
-
// "getSubPlayerParent" returning undefined, we do not need to explicitly check for this case.
|
|
79
|
-
let playerToUse = player;
|
|
80
|
-
const isSubPlayer = player.IsSubPlayer();
|
|
81
|
-
if (isSubPlayer) {
|
|
82
|
-
// The "getSubPlayerParent" function will return undefined in the situation where we are on Dead
|
|
83
|
-
// Tainted Lazarus in the PostPlayerInit callback.
|
|
84
|
-
const playerParent = getSubPlayerParent(player as EntitySubPlayer);
|
|
85
|
-
if (playerParent !== undefined) {
|
|
86
|
-
playerToUse = playerParent;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const collectibleType = getPlayerIndexCollectibleType(
|
|
91
|
-
player,
|
|
92
|
-
differentiateForgottenAndSoul,
|
|
93
|
-
);
|
|
94
|
-
const collectibleRNG = playerToUse.GetCollectibleRNG(collectibleType);
|
|
95
|
-
const seed = collectibleRNG.GetSeed();
|
|
96
|
-
|
|
97
|
-
return seed as unknown as PlayerIndex;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function getPlayerIndexCollectibleType(
|
|
101
|
-
player: EntityPlayer,
|
|
102
|
-
differentiateForgottenAndSoul: boolean,
|
|
103
|
-
) {
|
|
104
|
-
const character = player.GetPlayerType();
|
|
105
|
-
|
|
106
|
-
switch (character) {
|
|
107
|
-
// 17
|
|
108
|
-
case PlayerType.THE_SOUL: {
|
|
109
|
-
return differentiateForgottenAndSoul
|
|
110
|
-
? CollectibleType.SPOON_BENDER
|
|
111
|
-
: DEFAULT_COLLECTIBLE_TYPE;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// 38
|
|
115
|
-
case PlayerType.LAZARUS_2_B: {
|
|
116
|
-
return CollectibleType.INNER_EYE;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
default: {
|
|
120
|
-
return DEFAULT_COLLECTIBLE_TYPE;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Helper function to return the index of this player with respect to the output of the
|
|
127
|
-
* `Isaac.GetPlayer` method.
|
|
128
|
-
*/
|
|
129
|
-
export function getPlayerIndexVanilla(
|
|
130
|
-
playerToFind: EntityPlayer,
|
|
131
|
-
): int | undefined {
|
|
132
|
-
const numPlayers = game.GetNumPlayers();
|
|
133
|
-
const playerToFindHash = GetPtrHash(playerToFind);
|
|
134
|
-
|
|
135
|
-
for (let i = 0; i < numPlayers; i++) {
|
|
136
|
-
const player = Isaac.GetPlayer(i);
|
|
137
|
-
const playerHash = GetPtrHash(player);
|
|
138
|
-
if (playerHash === playerToFindHash) {
|
|
139
|
-
return i;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
return undefined;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* This function always excludes players with a non-undefined parent, since they are not real
|
|
148
|
-
* players (e.g. the Strawman Keeper).
|
|
149
|
-
*
|
|
150
|
-
* If this is not desired, use the `getAllPlayers` helper function instead.
|
|
151
|
-
*
|
|
152
|
-
* @param performCharacterExclusions Whether or not to exclude characters that are not directly
|
|
153
|
-
* controlled by the player (i.e. Esau & Tainted Soul). Default is
|
|
154
|
-
* false.
|
|
155
|
-
*/
|
|
156
|
-
export function getPlayers(performCharacterExclusions = false): EntityPlayer[] {
|
|
157
|
-
const players = getAllPlayers();
|
|
158
|
-
const nonChildPlayers = players.filter((player) => !isChildPlayer(player));
|
|
159
|
-
const nonChildPlayersFiltered = nonChildPlayers.filter((player) => {
|
|
160
|
-
const character = player.GetPlayerType();
|
|
161
|
-
return !EXCLUDED_CHARACTERS.has(character);
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
return performCharacterExclusions ? nonChildPlayersFiltered : nonChildPlayers;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Helper function to get a parent `EntityPlayer` object for a given `EntitySubPlayer` object. This
|
|
169
|
-
* is useful because calling the `EntityPlayer.GetSubPlayer` method on a sub-player object will
|
|
170
|
-
* return undefined.
|
|
171
|
-
*/
|
|
172
|
-
export function getSubPlayerParent(
|
|
173
|
-
subPlayer: EntitySubPlayer,
|
|
174
|
-
): EntityPlayer | undefined {
|
|
175
|
-
const subPlayerPtrHash = GetPtrHash(subPlayer);
|
|
176
|
-
const players = getPlayers();
|
|
177
|
-
|
|
178
|
-
return players.find((player) => {
|
|
179
|
-
const thisPlayerSubPlayer = player.GetSubPlayer();
|
|
180
|
-
if (thisPlayerSubPlayer === undefined) {
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
const thisPlayerSubPlayerPtrHash = GetPtrHash(thisPlayerSubPlayer);
|
|
185
|
-
return thisPlayerSubPlayerPtrHash === subPlayerPtrHash;
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Some players are "child" players, meaning that they have a non-undefined Parent property. (For
|
|
191
|
-
* example, the Strawman Keeper.)
|
|
192
|
-
*/
|
|
193
|
-
export function isChildPlayer(player: EntityPlayer): boolean {
|
|
194
|
-
return player.Parent !== undefined;
|
|
195
|
-
}
|