isaacscript-common 87.9.6 → 87.9.8
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/dist/cachedEnumValues.js +29 -32
- package/dist/callbackClasses.js +142 -289
- package/dist/callbacks.js +147 -183
- package/dist/classes/DefaultMap.d.ts.map +1 -1
- package/dist/classes/DefaultMap.js +4 -8
- package/dist/classes/ModFeature.d.ts.map +1 -1
- package/dist/classes/ModFeature.js +21 -25
- package/dist/classes/ModUpgraded.d.ts +19 -19
- package/dist/classes/ModUpgraded.d.ts.map +1 -1
- package/dist/classes/ModUpgraded.js +138 -141
- package/dist/classes/ModUpgraded.lua +99 -99
- package/dist/classes/callbacks/EntityTakeDmgFilter.d.ts +2 -2
- package/dist/classes/callbacks/EntityTakeDmgFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/EntityTakeDmgFilter.js +8 -12
- package/dist/classes/callbacks/EntityTakeDmgFilter.lua +1 -1
- package/dist/classes/callbacks/EntityTakeDmgPlayer.d.ts +2 -2
- package/dist/classes/callbacks/EntityTakeDmgPlayer.d.ts.map +1 -1
- package/dist/classes/callbacks/EntityTakeDmgPlayer.js +15 -19
- package/dist/classes/callbacks/EntityTakeDmgPlayer.lua +1 -1
- package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
- package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionFilter.js +12 -16
- package/dist/classes/callbacks/InputActionFilter.lua +1 -1
- package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
- package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionPlayer.js +21 -25
- package/dist/classes/callbacks/InputActionPlayer.lua +6 -6
- package/dist/classes/callbacks/PostAmbushFinished.d.ts +2 -2
- package/dist/classes/callbacks/PostAmbushFinished.d.ts.map +1 -1
- package/dist/classes/callbacks/PostAmbushFinished.js +17 -21
- package/dist/classes/callbacks/PostAmbushFinished.lua +2 -2
- package/dist/classes/callbacks/PostAmbushStarted.d.ts +2 -2
- package/dist/classes/callbacks/PostAmbushStarted.d.ts.map +1 -1
- package/dist/classes/callbacks/PostAmbushStarted.js +17 -21
- package/dist/classes/callbacks/PostAmbushStarted.lua +2 -2
- package/dist/classes/callbacks/PostBombExploded.d.ts +2 -2
- package/dist/classes/callbacks/PostBombExploded.d.ts.map +1 -1
- package/dist/classes/callbacks/PostBombExploded.js +13 -17
- package/dist/classes/callbacks/PostBombExploded.lua +1 -1
- package/dist/classes/callbacks/PostBombInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostBombInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostBombInitFilter.js +10 -14
- package/dist/classes/callbacks/PostBombInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostBombInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostBombInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostBombInitLate.js +13 -17
- package/dist/classes/callbacks/PostBombInitLate.lua +2 -2
- package/dist/classes/callbacks/PostBombRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostBombRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostBombRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostBombRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostBombUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostBombUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostBombUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostBombUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostBoneSwing.d.ts +1 -1
- package/dist/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
- package/dist/classes/callbacks/PostBoneSwing.js +14 -18
- package/dist/classes/callbacks/PostBoneSwing.lua +1 -1
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCollectibleEmpty.js +22 -26
- package/dist/classes/callbacks/PostCollectibleEmpty.lua +6 -6
- package/dist/classes/callbacks/PostCursedTeleport.d.ts +2 -2
- package/dist/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCursedTeleport.js +54 -61
- package/dist/classes/callbacks/PostCursedTeleport.lua +4 -7
- package/dist/classes/callbacks/PostCustomRevive.d.ts +1 -1
- package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCustomRevive.js +7 -11
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -2
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDiceRoomActivated.js +28 -30
- package/dist/classes/callbacks/PostDiceRoomActivated.lua +8 -7
- package/dist/classes/callbacks/PostDoorRender.d.ts +2 -2
- package/dist/classes/callbacks/PostDoorRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDoorRender.js +13 -17
- package/dist/classes/callbacks/PostDoorRender.lua +1 -1
- package/dist/classes/callbacks/PostDoorUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostDoorUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDoorUpdate.js +13 -17
- package/dist/classes/callbacks/PostDoorUpdate.lua +1 -1
- package/dist/classes/callbacks/PostEffectInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostEffectInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEffectInitFilter.js +10 -14
- package/dist/classes/callbacks/PostEffectInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostEffectInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostEffectInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEffectInitLate.js +13 -17
- package/dist/classes/callbacks/PostEffectInitLate.lua +2 -2
- package/dist/classes/callbacks/PostEffectRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostEffectRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEffectRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostEffectRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostEffectStateChanged.d.ts +2 -2
- package/dist/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEffectStateChanged.js +15 -19
- package/dist/classes/callbacks/PostEffectStateChanged.lua +2 -2
- package/dist/classes/callbacks/PostEffectUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostEffectUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEffectUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostEffectUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostEntityKillFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostEntityKillFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEntityKillFilter.js +10 -14
- package/dist/classes/callbacks/PostEntityKillFilter.lua +1 -1
- package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostEntityRemoveFilter.js +10 -14
- package/dist/classes/callbacks/PostEntityRemoveFilter.lua +1 -1
- package/dist/classes/callbacks/PostEsauJr.js +4 -8
- package/dist/classes/callbacks/PostFamiliarInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostFamiliarInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostFamiliarInitFilter.js +10 -14
- package/dist/classes/callbacks/PostFamiliarInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostFamiliarInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostFamiliarInitLate.js +13 -17
- package/dist/classes/callbacks/PostFamiliarInitLate.lua +2 -2
- package/dist/classes/callbacks/PostFamiliarRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostFamiliarRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostFamiliarRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostFamiliarRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostFamiliarStateChanged.d.ts +2 -2
- package/dist/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostFamiliarStateChanged.js +15 -19
- package/dist/classes/callbacks/PostFamiliarStateChanged.lua +2 -2
- package/dist/classes/callbacks/PostFamiliarUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostFamiliarUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostFamiliarUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostFirstEsauJr.js +4 -8
- package/dist/classes/callbacks/PostFirstFlip.js +4 -8
- package/dist/classes/callbacks/PostFlip.js +4 -8
- package/dist/classes/callbacks/PostGameEndFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostGameEndFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGameEndFilter.js +10 -14
- package/dist/classes/callbacks/PostGameEndFilter.lua +1 -1
- package/dist/classes/callbacks/PostGameStartedReordered.d.ts +1 -1
- package/dist/classes/callbacks/PostGameStartedReordered.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGameStartedReordered.js +6 -10
- package/dist/classes/callbacks/PostGameStartedReorderedLast.d.ts +1 -1
- package/dist/classes/callbacks/PostGameStartedReorderedLast.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGameStartedReorderedLast.js +6 -10
- package/dist/classes/callbacks/PostGreedModeWave.d.ts +1 -1
- package/dist/classes/callbacks/PostGreedModeWave.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGreedModeWave.js +14 -18
- package/dist/classes/callbacks/PostGreedModeWave.lua +1 -1
- package/dist/classes/callbacks/PostGridEntityBroken.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityBroken.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityBroken.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCollision.js +7 -11
- package/dist/classes/callbacks/PostGridEntityCustomBroken.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomBroken.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomBroken.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomCollision.js +7 -11
- package/dist/classes/callbacks/PostGridEntityCustomInit.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomInit.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomInit.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRemove.js +7 -11
- package/dist/classes/callbacks/PostGridEntityCustomRender.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRender.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomStateChanged.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomStateChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomUpdate.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +6 -10
- package/dist/classes/callbacks/PostGridEntityInit.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityInit.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityInit.js +6 -10
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityRemove.js +7 -11
- package/dist/classes/callbacks/PostGridEntityRender.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityRender.js +6 -10
- package/dist/classes/callbacks/PostGridEntityStateChanged.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityStateChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityStateChanged.js +6 -10
- package/dist/classes/callbacks/PostGridEntityUpdate.d.ts +1 -1
- package/dist/classes/callbacks/PostGridEntityUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityUpdate.js +6 -10
- package/dist/classes/callbacks/PostHolyMantleRemoved.d.ts +2 -2
- package/dist/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -1
- package/dist/classes/callbacks/PostHolyMantleRemoved.js +24 -28
- package/dist/classes/callbacks/PostHolyMantleRemoved.lua +2 -2
- package/dist/classes/callbacks/PostItemDischarge.d.ts +3 -3
- package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemDischarge.js +60 -64
- package/dist/classes/callbacks/PostItemDischarge.lua +9 -9
- package/dist/classes/callbacks/PostItemPickup.d.ts +1 -1
- package/dist/classes/callbacks/PostItemPickup.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemPickup.js +6 -10
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -2
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKeyboardChanged.js +25 -28
- package/dist/classes/callbacks/PostKeyboardChanged.lua +13 -9
- package/dist/classes/callbacks/PostKnifeInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostKnifeInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKnifeInitFilter.js +10 -14
- package/dist/classes/callbacks/PostKnifeInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostKnifeInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKnifeInitLate.js +13 -17
- package/dist/classes/callbacks/PostKnifeInitLate.lua +2 -2
- package/dist/classes/callbacks/PostKnifeRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostKnifeRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKnifeRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostKnifeRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostKnifeUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostKnifeUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKnifeUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostKnifeUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostLaserInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostLaserInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostLaserInitFilter.js +10 -14
- package/dist/classes/callbacks/PostLaserInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostLaserInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostLaserInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostLaserInitLate.js +13 -17
- package/dist/classes/callbacks/PostLaserInitLate.lua +2 -2
- package/dist/classes/callbacks/PostLaserRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostLaserRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostLaserRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostLaserRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostLaserUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostLaserUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostLaserUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostLaserUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostNPCDeathFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostNPCDeathFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNPCDeathFilter.js +10 -14
- package/dist/classes/callbacks/PostNPCDeathFilter.lua +1 -1
- package/dist/classes/callbacks/PostNPCInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostNPCInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNPCInitFilter.js +10 -14
- package/dist/classes/callbacks/PostNPCInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostNPCInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostNPCInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNPCInitLate.js +13 -17
- package/dist/classes/callbacks/PostNPCInitLate.lua +2 -2
- package/dist/classes/callbacks/PostNPCRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostNPCRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNPCRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostNPCRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostNPCStateChanged.d.ts +2 -2
- package/dist/classes/callbacks/PostNPCStateChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNPCStateChanged.js +15 -19
- package/dist/classes/callbacks/PostNPCStateChanged.lua +2 -2
- package/dist/classes/callbacks/PostNPCUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostNPCUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNPCUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostNPCUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostNewLevelReordered.d.ts +1 -1
- package/dist/classes/callbacks/PostNewLevelReordered.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNewLevelReordered.js +6 -10
- package/dist/classes/callbacks/PostNewRoomEarly.d.ts +2 -2
- package/dist/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNewRoomEarly.js +29 -32
- package/dist/classes/callbacks/PostNewRoomEarly.lua +6 -5
- package/dist/classes/callbacks/PostNewRoomReordered.d.ts +1 -1
- package/dist/classes/callbacks/PostNewRoomReordered.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNewRoomReordered.js +6 -10
- package/dist/classes/callbacks/PostPEffectUpdateReordered.d.ts +1 -1
- package/dist/classes/callbacks/PostPEffectUpdateReordered.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPEffectUpdateReordered.js +6 -10
- package/dist/classes/callbacks/PostPickupChanged.d.ts +1 -1
- package/dist/classes/callbacks/PostPickupChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupChanged.js +6 -10
- package/dist/classes/callbacks/PostPickupCollect.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupCollect.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupCollect.js +15 -19
- package/dist/classes/callbacks/PostPickupCollect.lua +2 -2
- package/dist/classes/callbacks/PostPickupInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupInitFilter.js +10 -14
- package/dist/classes/callbacks/PostPickupInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostPickupInitFirst.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupInitFirst.js +17 -21
- package/dist/classes/callbacks/PostPickupInitFirst.lua +3 -3
- package/dist/classes/callbacks/PostPickupInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupInitLate.js +13 -17
- package/dist/classes/callbacks/PostPickupInitLate.lua +2 -2
- package/dist/classes/callbacks/PostPickupRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostPickupRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupSelectionFilter.js +12 -16
- package/dist/classes/callbacks/PostPickupSelectionFilter.lua +1 -1
- package/dist/classes/callbacks/PostPickupStateChanged.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupStateChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupStateChanged.js +15 -19
- package/dist/classes/callbacks/PostPickupStateChanged.lua +2 -2
- package/dist/classes/callbacks/PostPickupUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostPickupUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostPitRender.d.ts +2 -2
- package/dist/classes/callbacks/PostPitRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPitRender.js +13 -17
- package/dist/classes/callbacks/PostPitRender.lua +1 -1
- package/dist/classes/callbacks/PostPitUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostPitUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPitUpdate.js +13 -17
- package/dist/classes/callbacks/PostPitUpdate.lua +1 -1
- package/dist/classes/callbacks/PostPlayerChangeHealth.d.ts +2 -2
- package/dist/classes/callbacks/PostPlayerChangeHealth.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerChangeHealth.js +23 -27
- package/dist/classes/callbacks/PostPlayerChangeHealth.lua +2 -2
- package/dist/classes/callbacks/PostPlayerChangeStat.d.ts +2 -2
- package/dist/classes/callbacks/PostPlayerChangeStat.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerChangeStat.js +35 -39
- package/dist/classes/callbacks/PostPlayerChangeStat.lua +2 -2
- package/dist/classes/callbacks/PostPlayerChangeType.d.ts +2 -2
- package/dist/classes/callbacks/PostPlayerChangeType.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerChangeType.js +18 -22
- package/dist/classes/callbacks/PostPlayerChangeType.lua +2 -2
- package/dist/classes/callbacks/PostPlayerCollectibleAdded.d.ts +1 -1
- package/dist/classes/callbacks/PostPlayerCollectibleAdded.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +6 -10
- package/dist/classes/callbacks/PostPlayerCollectibleRemoved.d.ts +1 -1
- package/dist/classes/callbacks/PostPlayerCollectibleRemoved.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +6 -10
- package/dist/classes/callbacks/PostPlayerFatalDamage.d.ts +7 -7
- package/dist/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerFatalDamage.js +33 -37
- package/dist/classes/callbacks/PostPlayerFatalDamage.lua +2 -2
- package/dist/classes/callbacks/PostPlayerInitFirst.d.ts +2 -2
- package/dist/classes/callbacks/PostPlayerInitFirst.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerInitFirst.js +17 -21
- package/dist/classes/callbacks/PostPlayerInitFirst.lua +1 -1
- package/dist/classes/callbacks/PostPlayerInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostPlayerInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerInitLate.js +15 -18
- package/dist/classes/callbacks/PostPlayerInitLate.lua +6 -5
- package/dist/classes/callbacks/PostPlayerRenderReordered.d.ts +1 -1
- package/dist/classes/callbacks/PostPlayerRenderReordered.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerRenderReordered.js +6 -10
- package/dist/classes/callbacks/PostPlayerUpdateReordered.d.ts +1 -1
- package/dist/classes/callbacks/PostPlayerUpdateReordered.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerUpdateReordered.js +6 -10
- package/dist/classes/callbacks/PostPoopRender.d.ts +2 -2
- package/dist/classes/callbacks/PostPoopRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPoopRender.js +13 -17
- package/dist/classes/callbacks/PostPoopRender.lua +1 -1
- package/dist/classes/callbacks/PostPoopUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostPoopUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPoopUpdate.js +13 -17
- package/dist/classes/callbacks/PostPoopUpdate.lua +1 -1
- package/dist/classes/callbacks/PostPressurePlateRender.d.ts +2 -2
- package/dist/classes/callbacks/PostPressurePlateRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPressurePlateRender.js +13 -17
- package/dist/classes/callbacks/PostPressurePlateRender.lua +1 -1
- package/dist/classes/callbacks/PostPressurePlateUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostPressurePlateUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPressurePlateUpdate.js +13 -17
- package/dist/classes/callbacks/PostPressurePlateUpdate.lua +1 -1
- package/dist/classes/callbacks/PostProjectileInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostProjectileInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostProjectileInitFilter.js +10 -14
- package/dist/classes/callbacks/PostProjectileInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostProjectileInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostProjectileInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostProjectileInitLate.js +13 -17
- package/dist/classes/callbacks/PostProjectileInitLate.lua +2 -2
- package/dist/classes/callbacks/PostProjectileKill.d.ts +4 -4
- package/dist/classes/callbacks/PostProjectileKill.d.ts.map +1 -1
- package/dist/classes/callbacks/PostProjectileKill.js +17 -21
- package/dist/classes/callbacks/PostProjectileKill.lua +2 -2
- package/dist/classes/callbacks/PostProjectileRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostProjectileRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostProjectileRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostProjectileRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostProjectileUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostProjectileUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostProjectileUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostProjectileUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostPurchase.d.ts +5 -5
- package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPurchase.js +43 -47
- package/dist/classes/callbacks/PostPurchase.lua +6 -6
- package/dist/classes/callbacks/PostRockRender.d.ts +2 -2
- package/dist/classes/callbacks/PostRockRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostRockRender.js +13 -17
- package/dist/classes/callbacks/PostRockRender.lua +1 -1
- package/dist/classes/callbacks/PostRockUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostRockUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostRockUpdate.js +13 -17
- package/dist/classes/callbacks/PostRockUpdate.lua +1 -1
- package/dist/classes/callbacks/PostRoomClearChanged.d.ts +3 -3
- package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostRoomClearChanged.js +23 -27
- package/dist/classes/callbacks/PostRoomClearChanged.lua +6 -6
- package/dist/classes/callbacks/PostSacrifice.d.ts +2 -2
- package/dist/classes/callbacks/PostSacrifice.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSacrifice.js +18 -22
- package/dist/classes/callbacks/PostSacrifice.lua +3 -3
- package/dist/classes/callbacks/PostSlotAnimationChanged.d.ts +1 -1
- package/dist/classes/callbacks/PostSlotAnimationChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSlotAnimationChanged.js +6 -10
- package/dist/classes/callbacks/PostSlotCollision.d.ts +2 -2
- package/dist/classes/callbacks/PostSlotCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSlotCollision.js +14 -18
- package/dist/classes/callbacks/PostSlotCollision.lua +1 -1
- package/dist/classes/callbacks/PostSlotDestroyed.d.ts +1 -1
- package/dist/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSlotDestroyed.js +6 -10
- package/dist/classes/callbacks/PostSlotInit.d.ts +1 -1
- package/dist/classes/callbacks/PostSlotInit.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSlotInit.js +6 -10
- package/dist/classes/callbacks/PostSlotRender.d.ts +1 -1
- package/dist/classes/callbacks/PostSlotRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSlotRender.js +6 -10
- package/dist/classes/callbacks/PostSlotUpdate.d.ts +1 -1
- package/dist/classes/callbacks/PostSlotUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSlotUpdate.js +6 -10
- package/dist/classes/callbacks/PostSpikesRender.d.ts +2 -2
- package/dist/classes/callbacks/PostSpikesRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSpikesRender.js +13 -17
- package/dist/classes/callbacks/PostSpikesRender.lua +1 -1
- package/dist/classes/callbacks/PostSpikesUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostSpikesUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostSpikesUpdate.js +13 -17
- package/dist/classes/callbacks/PostSpikesUpdate.lua +1 -1
- package/dist/classes/callbacks/PostTNTRender.d.ts +2 -2
- package/dist/classes/callbacks/PostTNTRender.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTNTRender.js +13 -17
- package/dist/classes/callbacks/PostTNTRender.lua +1 -1
- package/dist/classes/callbacks/PostTNTUpdate.d.ts +2 -2
- package/dist/classes/callbacks/PostTNTUpdate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTNTUpdate.js +13 -17
- package/dist/classes/callbacks/PostTNTUpdate.lua +1 -1
- package/dist/classes/callbacks/PostTearInitFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostTearInitFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTearInitFilter.js +10 -14
- package/dist/classes/callbacks/PostTearInitFilter.lua +1 -1
- package/dist/classes/callbacks/PostTearInitLate.d.ts +2 -2
- package/dist/classes/callbacks/PostTearInitLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTearInitLate.js +13 -17
- package/dist/classes/callbacks/PostTearInitLate.lua +2 -2
- package/dist/classes/callbacks/PostTearInitVeryLate.d.ts +2 -2
- package/dist/classes/callbacks/PostTearInitVeryLate.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTearInitVeryLate.js +13 -17
- package/dist/classes/callbacks/PostTearInitVeryLate.lua +2 -2
- package/dist/classes/callbacks/PostTearKill.d.ts +4 -4
- package/dist/classes/callbacks/PostTearKill.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTearKill.js +17 -21
- package/dist/classes/callbacks/PostTearKill.lua +2 -2
- package/dist/classes/callbacks/PostTearRenderFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostTearRenderFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTearRenderFilter.js +10 -14
- package/dist/classes/callbacks/PostTearRenderFilter.lua +1 -1
- package/dist/classes/callbacks/PostTearUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostTearUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTearUpdateFilter.js +10 -14
- package/dist/classes/callbacks/PostTearUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
- package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTransformation.js +24 -28
- package/dist/classes/callbacks/PostTransformation.lua +6 -6
- package/dist/classes/callbacks/PostTrinketBreak.d.ts +3 -3
- package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTrinketBreak.js +25 -29
- package/dist/classes/callbacks/PostTrinketBreak.lua +2 -2
- package/dist/classes/callbacks/PostUsePillFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostUsePillFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostUsePillFilter.js +27 -31
- package/dist/classes/callbacks/PostUsePillFilter.lua +1 -1
- package/dist/classes/callbacks/PreBerserkDeath.d.ts +2 -2
- package/dist/classes/callbacks/PreBerserkDeath.d.ts.map +1 -1
- package/dist/classes/callbacks/PreBerserkDeath.js +24 -28
- package/dist/classes/callbacks/PreBerserkDeath.lua +2 -2
- package/dist/classes/callbacks/PreBombCollisionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreBombCollisionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreBombCollisionFilter.js +8 -12
- package/dist/classes/callbacks/PreBombCollisionFilter.lua +1 -1
- package/dist/classes/callbacks/PreCustomRevive.d.ts +1 -1
- package/dist/classes/callbacks/PreCustomRevive.d.ts.map +1 -1
- package/dist/classes/callbacks/PreCustomRevive.js +6 -10
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreEntitySpawnFilter.js +12 -16
- package/dist/classes/callbacks/PreEntitySpawnFilter.lua +5 -5
- package/dist/classes/callbacks/PreFamiliarCollisionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreFamiliarCollisionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +8 -12
- package/dist/classes/callbacks/PreFamiliarCollisionFilter.lua +1 -1
- package/dist/classes/callbacks/PreGetPedestal.d.ts +2 -2
- package/dist/classes/callbacks/PreGetPedestal.d.ts.map +1 -1
- package/dist/classes/callbacks/PreGetPedestal.js +17 -21
- package/dist/classes/callbacks/PreGetPedestal.lua +1 -1
- package/dist/classes/callbacks/PreItemPickup.d.ts +1 -1
- package/dist/classes/callbacks/PreItemPickup.d.ts.map +1 -1
- package/dist/classes/callbacks/PreItemPickup.js +6 -10
- package/dist/classes/callbacks/PreKnifeCollisionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreKnifeCollisionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreKnifeCollisionFilter.js +8 -12
- package/dist/classes/callbacks/PreKnifeCollisionFilter.lua +1 -1
- package/dist/classes/callbacks/PreNPCCollisionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreNPCCollisionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreNPCCollisionFilter.js +8 -12
- package/dist/classes/callbacks/PreNPCCollisionFilter.lua +1 -1
- package/dist/classes/callbacks/PreNPCUpdateFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreNPCUpdateFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreNPCUpdateFilter.js +8 -12
- package/dist/classes/callbacks/PreNPCUpdateFilter.lua +1 -1
- package/dist/classes/callbacks/PreNewLevel.d.ts +1 -1
- package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
- package/dist/classes/callbacks/PreNewLevel.js +19 -23
- package/dist/classes/callbacks/PreNewLevel.lua +1 -1
- package/dist/classes/callbacks/PreProjectileCollisionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreProjectileCollisionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreProjectileCollisionFilter.js +8 -12
- package/dist/classes/callbacks/PreProjectileCollisionFilter.lua +1 -1
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +12 -16
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.lua +5 -5
- package/dist/classes/callbacks/PreTearCollisionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreTearCollisionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreTearCollisionFilter.js +8 -12
- package/dist/classes/callbacks/PreTearCollisionFilter.lua +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.js +65 -66
- package/dist/classes/features/callbackLogic/CustomGridEntities.lua +1 -1
- package/dist/classes/features/callbackLogic/CustomRevive.d.ts +9 -9
- package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomRevive.js +56 -60
- package/dist/classes/features/callbackLogic/CustomRevive.lua +1 -1
- package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts +4 -4
- package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/EsauJrDetection.js +24 -28
- package/dist/classes/features/callbackLogic/EsauJrDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/FlipDetection.d.ts +3 -3
- package/dist/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/FlipDetection.js +20 -24
- package/dist/classes/features/callbackLogic/FlipDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +51 -55
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.lua +4 -4
- package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts +4 -4
- package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +20 -24
- package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/GridEntityRenderDetection.d.ts +1 -1
- package/dist/classes/features/callbackLogic/GridEntityRenderDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +15 -19
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts +8 -8
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +36 -40
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/ItemPickupDetection.d.ts +3 -3
- package/dist/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/ItemPickupDetection.js +28 -32
- package/dist/classes/features/callbackLogic/ItemPickupDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/PickupChangeDetection.d.ts +3 -3
- package/dist/classes/features/callbackLogic/PickupChangeDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/PickupChangeDetection.js +15 -19
- package/dist/classes/features/callbackLogic/PickupChangeDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts +13 -13
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +96 -100
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.lua +2 -2
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +9 -9
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +42 -43
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +1 -1
- package/dist/classes/features/callbackLogic/SlotDestroyedDetection.d.ts +4 -4
- package/dist/classes/features/callbackLogic/SlotDestroyedDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +43 -46
- package/dist/classes/features/callbackLogic/SlotDestroyedDetection.lua +7 -6
- package/dist/classes/features/callbackLogic/SlotRenderDetection.d.ts +3 -3
- package/dist/classes/features/callbackLogic/SlotRenderDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/SlotRenderDetection.js +15 -19
- package/dist/classes/features/callbackLogic/SlotRenderDetection.lua +1 -1
- package/dist/classes/features/callbackLogic/SlotUpdateDetection.d.ts +4 -4
- package/dist/classes/features/callbackLogic/SlotUpdateDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +21 -25
- package/dist/classes/features/callbackLogic/SlotUpdateDetection.lua +1 -1
- package/dist/classes/features/other/CharacterHealthConversion.d.ts.map +1 -1
- package/dist/classes/features/other/CharacterHealthConversion.js +30 -34
- package/dist/classes/features/other/CharacterHealthConversion.lua +2 -2
- package/dist/classes/features/other/CharacterStats.d.ts.map +1 -1
- package/dist/classes/features/other/CharacterStats.js +16 -20
- package/dist/classes/features/other/CollectibleItemPoolType.d.ts.map +1 -1
- package/dist/classes/features/other/CollectibleItemPoolType.js +27 -31
- package/dist/classes/features/other/CollectibleItemPoolType.lua +1 -1
- package/dist/classes/features/other/CustomHotkeys.d.ts.map +1 -1
- package/dist/classes/features/other/CustomHotkeys.js +22 -26
- package/dist/classes/features/other/CustomItemPools.d.ts.map +1 -1
- package/dist/classes/features/other/CustomItemPools.js +24 -28
- package/dist/classes/features/other/CustomItemPools.lua +1 -1
- package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
- package/dist/classes/features/other/CustomPickups.js +27 -31
- package/dist/classes/features/other/CustomStages.d.ts +3 -3
- package/dist/classes/features/other/CustomStages.d.ts.map +1 -1
- package/dist/classes/features/other/CustomStages.js +175 -207
- package/dist/classes/features/other/CustomStages.lua +1 -1
- package/dist/classes/features/other/CustomTrapdoors.d.ts +2 -2
- package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
- package/dist/classes/features/other/CustomTrapdoors.js +152 -155
- package/dist/classes/features/other/CustomTrapdoors.lua +10 -9
- package/dist/classes/features/other/DebugDisplay.d.ts +1 -1
- package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
- package/dist/classes/features/other/DebugDisplay.js +89 -96
- package/dist/classes/features/other/DebugDisplay.lua +13 -12
- package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.js +70 -70
- package/dist/classes/features/other/DisableAllSound.d.ts.map +1 -1
- package/dist/classes/features/other/DisableAllSound.js +21 -25
- package/dist/classes/features/other/DisableAllSound.lua +1 -1
- package/dist/classes/features/other/DisableInputs.d.ts.map +1 -1
- package/dist/classes/features/other/DisableInputs.js +30 -34
- package/dist/classes/features/other/DisableInputs.lua +1 -1
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +2 -2
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
- package/dist/classes/features/other/EdenStartingStatsHealth.js +57 -61
- package/dist/classes/features/other/EdenStartingStatsHealth.lua +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.js +107 -143
- package/dist/classes/features/other/ExtraConsoleCommands.lua +5 -4
- package/dist/classes/features/other/FadeInRemover.d.ts.map +1 -1
- package/dist/classes/features/other/FadeInRemover.js +14 -18
- package/dist/classes/features/other/FastReset.d.ts.map +1 -1
- package/dist/classes/features/other/FastReset.js +25 -29
- package/dist/classes/features/other/FlyingDetection.js +10 -14
- package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
- package/dist/classes/features/other/ForgottenSwitch.js +9 -13
- package/dist/classes/features/other/ItemPoolDetection.js +45 -45
- package/dist/classes/features/other/ItemPoolDetection.lua +5 -1
- package/dist/classes/features/other/ModdedElementDetection.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementDetection.js +47 -51
- package/dist/classes/features/other/ModdedElementSets.js +135 -139
- package/dist/classes/features/other/NoSirenSteal.d.ts.map +1 -1
- package/dist/classes/features/other/NoSirenSteal.js +12 -16
- package/dist/classes/features/other/NoSirenSteal.lua +1 -1
- package/dist/classes/features/other/Pause.d.ts +1 -1
- package/dist/classes/features/other/Pause.d.ts.map +1 -1
- package/dist/classes/features/other/Pause.js +71 -75
- package/dist/classes/features/other/Pause.lua +1 -1
- package/dist/classes/features/other/PersistentEntities.d.ts +5 -5
- package/dist/classes/features/other/PersistentEntities.d.ts.map +1 -1
- package/dist/classes/features/other/PersistentEntities.js +46 -47
- package/dist/classes/features/other/PersistentEntities.lua +6 -6
- package/dist/classes/features/other/PickupIndexCreation.d.ts +1 -1
- package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
- package/dist/classes/features/other/PickupIndexCreation.js +42 -46
- package/dist/classes/features/other/PickupIndexCreation.lua +1 -1
- package/dist/classes/features/other/PlayerCollectibleTracking.d.ts.map +1 -1
- package/dist/classes/features/other/PlayerCollectibleTracking.js +25 -29
- package/dist/classes/features/other/PlayerCollectibleTracking.lua +1 -1
- package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
- package/dist/classes/features/other/PonyDetection.js +32 -36
- package/dist/classes/features/other/PonyDetection.lua +1 -1
- package/dist/classes/features/other/PressInput.d.ts.map +1 -1
- package/dist/classes/features/other/PressInput.js +26 -27
- package/dist/classes/features/other/PressInput.lua +1 -1
- package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
- package/dist/classes/features/other/PreventChildEntities.js +15 -19
- package/dist/classes/features/other/PreventChildEntities.lua +1 -1
- package/dist/classes/features/other/PreventGridEntityRespawn.d.ts.map +1 -1
- package/dist/classes/features/other/PreventGridEntityRespawn.js +49 -53
- package/dist/classes/features/other/PreventGridEntityRespawn.lua +1 -1
- package/dist/classes/features/other/RerunDetection.d.ts.map +1 -1
- package/dist/classes/features/other/RerunDetection.js +22 -26
- package/dist/classes/features/other/RerunDetection.lua +1 -1
- package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
- package/dist/classes/features/other/RoomClearFrame.js +20 -24
- package/dist/classes/features/other/RoomClearFrame.lua +1 -1
- package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
- package/dist/classes/features/other/RoomHistory.js +38 -42
- package/dist/classes/features/other/RoomHistory.lua +1 -1
- package/dist/classes/features/other/RunInNFrames.d.ts +1 -1
- package/dist/classes/features/other/RunInNFrames.d.ts.map +1 -1
- package/dist/classes/features/other/RunInNFrames.js +41 -46
- package/dist/classes/features/other/RunInNFrames.lua +10 -7
- package/dist/classes/features/other/RunNextRoom.d.ts +1 -1
- package/dist/classes/features/other/RunNextRoom.d.ts.map +1 -1
- package/dist/classes/features/other/RunNextRoom.js +14 -18
- package/dist/classes/features/other/RunNextRoom.lua +2 -2
- package/dist/classes/features/other/RunNextRun.d.ts +1 -1
- package/dist/classes/features/other/RunNextRun.d.ts.map +1 -1
- package/dist/classes/features/other/RunNextRun.js +15 -19
- package/dist/classes/features/other/RunNextRun.lua +2 -2
- package/dist/classes/features/other/SaveDataManager.d.ts +4 -4
- package/dist/classes/features/other/SaveDataManager.d.ts.map +1 -1
- package/dist/classes/features/other/SaveDataManager.js +93 -96
- package/dist/classes/features/other/SaveDataManager.lua +11 -11
- package/dist/classes/features/other/SpawnRockAltRewards.js +115 -119
- package/dist/classes/features/other/StageHistory.d.ts.map +1 -1
- package/dist/classes/features/other/StageHistory.js +85 -86
- package/dist/classes/features/other/StageHistory.lua +6 -6
- package/dist/classes/features/other/StartAmbush.js +12 -16
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +1 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.js +22 -24
- package/dist/classes/features/other/TaintedLazarusPlayers.lua +2 -2
- package/dist/classes/features/other/UnlockAchievementsDetection.d.ts.map +1 -1
- package/dist/classes/features/other/UnlockAchievementsDetection.js +15 -19
- package/dist/classes/features/other/UnlockAchievementsDetection.lua +1 -1
- package/dist/classes/features/other/customStages/backdrop.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/backdrop.js +69 -72
- package/dist/classes/features/other/customStages/backdrop.lua +2 -2
- package/dist/classes/features/other/customStages/constants.js +7 -10
- package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.js +24 -30
- package/dist/classes/features/other/customStages/shadows.js +27 -30
- package/dist/classes/features/other/customStages/streakText.js +55 -60
- package/dist/classes/features/other/customStages/utils.js +13 -17
- package/dist/classes/features/other/customStages/v.js +4 -7
- package/dist/classes/features/other/customStages/versusScreen.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/versusScreen.js +59 -54
- package/dist/classes/features/other/customStages/versusScreen.lua +2 -2
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.lua +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +12 -16
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.lua +1 -1
- package/dist/classes/features/other/debugDisplay/utils.js +6 -10
- package/dist/classes/features/other/extraConsoleCommands/commands.d.ts +14 -14
- package/dist/classes/features/other/extraConsoleCommands/commands.d.ts.map +1 -1
- package/dist/classes/features/other/extraConsoleCommands/commands.js +433 -580
- package/dist/classes/features/other/extraConsoleCommands/commands.lua +33 -30
- package/dist/classes/features/other/extraConsoleCommands/subroutines.js +47 -57
- package/dist/classes/features/other/extraConsoleCommands/v.js +1 -4
- package/dist/classes/features/other/saveDataManager/constants.js +1 -4
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +17 -21
- package/dist/classes/features/other/saveDataManager/loadFromDisk.js +19 -22
- package/dist/classes/features/other/saveDataManager/restoreDefaults.js +20 -25
- package/dist/classes/features/other/saveDataManager/saveToDisk.js +13 -16
- package/dist/classes/private/CustomCallback.d.ts +6 -6
- package/dist/classes/private/CustomCallback.d.ts.map +1 -1
- package/dist/classes/private/CustomCallback.js +25 -29
- package/dist/classes/private/Feature.js +1 -5
- package/dist/core/cachedClasses.d.ts.map +1 -1
- package/dist/core/cachedClasses.js +13 -15
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +127 -131
- package/dist/core/constants.lua +1 -1
- package/dist/core/constantsFirstLast.js +22 -25
- package/dist/core/constantsVanilla.js +25 -28
- package/dist/core/upgradeMod.js +7 -10
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +6 -10
- package/dist/enums/AmbushType.js +2 -5
- package/dist/enums/CornerType.js +2 -5
- package/dist/enums/HealthType.js +2 -5
- package/dist/enums/ISCFeature.js +2 -5
- package/dist/enums/LadderSubTypeCustom.js +2 -5
- package/dist/enums/ModCallbackCustom.js +2 -5
- package/dist/enums/MysteriousPaperEffect.js +2 -5
- package/dist/enums/PlayerStat.js +2 -5
- package/dist/enums/PocketItemType.js +2 -5
- package/dist/enums/RockAltType.js +2 -5
- package/dist/enums/SaveDataKey.js +2 -5
- package/dist/enums/SerializationType.js +2 -5
- package/dist/enums/SlotDestructionType.js +2 -5
- package/dist/enums/private/GridEntityTypeCustom.js +1 -4
- package/dist/enums/private/SerializationBrand.js +2 -5
- package/dist/enums/private/StageTravelState.js +2 -5
- package/dist/enums/private/TrapdoorAnimation.js +2 -5
- package/dist/enums/private/UIStreakAnimation.js +2 -5
- package/dist/features.d.ts +57 -57
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +139 -141
- package/dist/functions/ambush.js +9 -12
- package/dist/functions/array.d.ts +13 -13
- package/dist/functions/array.d.ts.map +1 -1
- package/dist/functions/array.js +90 -119
- package/dist/functions/array.lua +58 -53
- package/dist/functions/arrayLua.js +8 -17
- package/dist/functions/benchmark.js +4 -7
- package/dist/functions/bitSet128.d.ts +1 -1
- package/dist/functions/bitSet128.d.ts.map +1 -1
- package/dist/functions/bitSet128.js +19 -26
- package/dist/functions/bitwise.d.ts.map +1 -1
- package/dist/functions/bitwise.js +15 -23
- package/dist/functions/bitwise.lua +2 -2
- package/dist/functions/bombs.js +1 -4
- package/dist/functions/bosses.d.ts +12 -12
- package/dist/functions/bosses.d.ts.map +1 -1
- package/dist/functions/bosses.js +102 -119
- package/dist/functions/bosses.lua +58 -57
- package/dist/functions/cards.js +44 -62
- package/dist/functions/challenges.d.ts.map +1 -1
- package/dist/functions/challenges.js +35 -44
- package/dist/functions/challenges.lua +10 -8
- package/dist/functions/characters.js +68 -87
- package/dist/functions/characters.lua +1 -1
- package/dist/functions/charge.d.ts +11 -11
- package/dist/functions/charge.d.ts.map +1 -1
- package/dist/functions/charge.js +69 -80
- package/dist/functions/charge.lua +9 -9
- package/dist/functions/chargeBar.js +2 -6
- package/dist/functions/collectibleTag.js +9 -13
- package/dist/functions/collectibles.d.ts +5 -5
- package/dist/functions/collectibles.d.ts.map +1 -1
- package/dist/functions/collectibles.js +143 -182
- package/dist/functions/collectibles.lua +1 -1
- package/dist/functions/color.d.ts +1 -1
- package/dist/functions/color.d.ts.map +1 -1
- package/dist/functions/color.js +29 -38
- package/dist/functions/console.js +4 -8
- package/dist/functions/curses.js +6 -10
- package/dist/functions/debugFunctions.js +7 -14
- package/dist/functions/decorators.d.ts.map +1 -1
- package/dist/functions/decorators.js +36 -20
- package/dist/functions/deepCopy.js +173 -175
- package/dist/functions/deepCopy.lua +170 -173
- package/dist/functions/deepCopyTests.js +232 -241
- package/dist/functions/deepCopyTests.lua +217 -217
- package/dist/functions/dimensions.js +10 -14
- package/dist/functions/direction.js +22 -30
- package/dist/functions/doors.d.ts +12 -12
- package/dist/functions/doors.d.ts.map +1 -1
- package/dist/functions/doors.js +135 -184
- package/dist/functions/doors.lua +30 -26
- package/dist/functions/easing.d.ts +58 -58
- package/dist/functions/easing.d.ts.map +1 -1
- package/dist/functions/easing.js +139 -172
- package/dist/functions/easing.lua +93 -93
- package/dist/functions/effects.js +6 -10
- package/dist/functions/emptyRoom.d.ts.map +1 -1
- package/dist/functions/emptyRoom.js +45 -49
- package/dist/functions/emptyRoom.lua +23 -23
- package/dist/functions/entities.d.ts.map +1 -1
- package/dist/functions/entities.js +102 -128
- package/dist/functions/entities.lua +30 -30
- package/dist/functions/entitiesSpecific.js +83 -125
- package/dist/functions/entityTypes.js +3 -6
- package/dist/functions/enums.js +27 -41
- package/dist/functions/external.js +4 -8
- package/dist/functions/familiars.js +17 -25
- package/dist/functions/flag.js +11 -20
- package/dist/functions/flag.lua +1 -1
- package/dist/functions/frames.js +31 -51
- package/dist/functions/globals.d.ts.map +1 -1
- package/dist/functions/globals.js +33 -72
- package/dist/functions/globals.lua +5 -1
- package/dist/functions/gridEntities.d.ts +10 -10
- package/dist/functions/gridEntities.d.ts.map +1 -1
- package/dist/functions/gridEntities.js +395 -430
- package/dist/functions/gridEntities.lua +225 -225
- package/dist/functions/gridEntitiesSpecific.d.ts +18 -18
- package/dist/functions/gridEntitiesSpecific.d.ts.map +1 -1
- package/dist/functions/gridEntitiesSpecific.js +114 -154
- package/dist/functions/gridEntitiesSpecific.lua +41 -41
- package/dist/functions/gridIndex.js +8 -11
- package/dist/functions/hash.js +1 -4
- package/dist/functions/hash.lua +1 -1
- package/dist/functions/hex.js +32 -16
- package/dist/functions/input.js +65 -88
- package/dist/functions/isaacAPIClass.d.ts +7 -7
- package/dist/functions/isaacAPIClass.d.ts.map +1 -1
- package/dist/functions/isaacAPIClass.js +38 -63
- package/dist/functions/isaacAPIClass.lua +13 -13
- package/dist/functions/itemPool.js +39 -48
- package/dist/functions/jsonHelpers.d.ts.map +1 -1
- package/dist/functions/jsonHelpers.js +11 -48
- package/dist/functions/jsonHelpers.lua +3 -2
- package/dist/functions/jsonRoom.js +46 -53
- package/dist/functions/jsonRoom.lua +17 -17
- package/dist/functions/kColor.d.ts +1 -1
- package/dist/functions/kColor.d.ts.map +1 -1
- package/dist/functions/kColor.js +30 -39
- package/dist/functions/language.js +3 -6
- package/dist/functions/level.js +20 -26
- package/dist/functions/levelGrid.d.ts.map +1 -1
- package/dist/functions/levelGrid.js +82 -112
- package/dist/functions/levelGrid.lua +1 -3
- package/dist/functions/log.js +6 -12
- package/dist/functions/logEntities.d.ts.map +1 -1
- package/dist/functions/logEntities.js +107 -117
- package/dist/functions/logEntities.lua +41 -41
- package/dist/functions/logMisc.d.ts.map +1 -1
- package/dist/functions/logMisc.js +191 -220
- package/dist/functions/logMisc.lua +13 -5
- package/dist/functions/map.d.ts +1 -1
- package/dist/functions/map.d.ts.map +1 -1
- package/dist/functions/map.js +11 -26
- package/dist/functions/map.lua +1 -7
- package/dist/functions/math.d.ts +1 -1
- package/dist/functions/math.js +17 -32
- package/dist/functions/math.lua +1 -1
- package/dist/functions/merge.js +72 -75
- package/dist/functions/merge.lua +38 -38
- package/dist/functions/mergeTests.js +127 -172
- package/dist/functions/mergeTests.lua +99 -99
- package/dist/functions/minimap.js +34 -46
- package/dist/functions/modFeatures.js +1 -4
- package/dist/functions/newArray.js +5 -8
- package/dist/functions/nextStage.d.ts.map +1 -1
- package/dist/functions/nextStage.js +64 -68
- package/dist/functions/nextStage.lua +3 -3
- package/dist/functions/npcDataStructures.js +9 -20
- package/dist/functions/npcs.js +37 -45
- package/dist/functions/pickupVariants.js +27 -40
- package/dist/functions/pickups.js +43 -59
- package/dist/functions/pickupsSpecific.js +76 -118
- package/dist/functions/pills.js +52 -72
- package/dist/functions/playerCenter.js +13 -16
- package/dist/functions/playerCollectibles.js +59 -79
- package/dist/functions/playerDataStructures.js +18 -29
- package/dist/functions/playerEffects.js +12 -19
- package/dist/functions/playerHealth.d.ts.map +1 -1
- package/dist/functions/playerHealth.js +110 -131
- package/dist/functions/playerHealth.lua +26 -26
- package/dist/functions/playerIndex.d.ts.map +1 -1
- package/dist/functions/playerIndex.js +29 -40
- package/dist/functions/playerIndex.lua +7 -7
- package/dist/functions/playerTrinkets.d.ts +5 -5
- package/dist/functions/playerTrinkets.d.ts.map +1 -1
- package/dist/functions/playerTrinkets.js +39 -51
- package/dist/functions/playerTrinkets.lua +13 -13
- package/dist/functions/players.d.ts.map +1 -1
- package/dist/functions/players.js +93 -131
- package/dist/functions/players.lua +5 -1
- package/dist/functions/pocketItems.js +33 -43
- package/dist/functions/positionVelocity.js +23 -32
- package/dist/functions/pressurePlate.js +7 -10
- package/dist/functions/projectiles.js +11 -15
- package/dist/functions/random.js +8 -13
- package/dist/functions/readOnly.js +3 -8
- package/dist/functions/render.js +7 -12
- package/dist/functions/revive.d.ts.map +1 -1
- package/dist/functions/revive.js +41 -51
- package/dist/functions/revive.lua +3 -6
- package/dist/functions/rng.d.ts +1 -1
- package/dist/functions/rng.d.ts.map +1 -1
- package/dist/functions/rng.js +37 -49
- package/dist/functions/rng.lua +8 -4
- package/dist/functions/rockAlt.js +18 -22
- package/dist/functions/roomData.d.ts.map +1 -1
- package/dist/functions/roomData.js +26 -41
- package/dist/functions/roomData.lua +5 -1
- package/dist/functions/roomGrid.d.ts.map +1 -1
- package/dist/functions/roomGrid.js +25 -33
- package/dist/functions/roomGrid.lua +6 -6
- package/dist/functions/roomShape.js +39 -55
- package/dist/functions/roomShapeWalls.d.ts.map +1 -1
- package/dist/functions/roomShapeWalls.js +80 -84
- package/dist/functions/roomTransition.js +13 -17
- package/dist/functions/rooms.d.ts +6 -6
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.js +187 -250
- package/dist/functions/rooms.lua +6 -6
- package/dist/functions/run.js +29 -39
- package/dist/functions/seeds.js +6 -10
- package/dist/functions/serialization.d.ts.map +1 -1
- package/dist/functions/serialization.js +38 -45
- package/dist/functions/serialization.lua +1 -1
- package/dist/functions/set.d.ts +1 -1
- package/dist/functions/set.d.ts.map +1 -1
- package/dist/functions/set.js +25 -46
- package/dist/functions/set.lua +1 -5
- package/dist/functions/slots.js +18 -22
- package/dist/functions/sort.js +9 -15
- package/dist/functions/sound.js +12 -16
- package/dist/functions/spawnCollectible.js +22 -27
- package/dist/functions/spawnCollectible.lua +1 -1
- package/dist/functions/sprites.js +16 -24
- package/dist/functions/stage.js +122 -164
- package/dist/functions/stats.js +37 -43
- package/dist/functions/storyBosses.js +36 -40
- package/dist/functions/string.d.ts.map +1 -1
- package/dist/functions/string.js +24 -34
- package/dist/functions/table.js +21 -31
- package/dist/functions/tears.js +6 -14
- package/dist/functions/transformations.js +35 -42
- package/dist/functions/trinketGive.js +29 -36
- package/dist/functions/trinkets.d.ts.map +1 -1
- package/dist/functions/trinkets.js +45 -60
- package/dist/functions/tstlClass.js +11 -20
- package/dist/functions/types.d.ts.map +1 -1
- package/dist/functions/types.js +24 -46
- package/dist/functions/ui.d.ts +11 -11
- package/dist/functions/ui.d.ts.map +1 -1
- package/dist/functions/ui.js +50 -65
- package/dist/functions/ui.lua +23 -23
- package/dist/functions/utils.d.ts +11 -11
- package/dist/functions/utils.d.ts.map +1 -1
- package/dist/functions/utils.js +36 -48
- package/dist/functions/utils.lua +11 -11
- package/dist/functions/vector.d.ts +1 -1
- package/dist/functions/vector.d.ts.map +1 -1
- package/dist/functions/vector.js +34 -47
- package/dist/functions/versusScreen.js +12 -18
- package/dist/functions/weighted.js +8 -12
- package/dist/index.js +150 -166
- package/dist/index.rollup.d.ts +538 -527
- package/dist/indexLua.js +151 -167
- package/dist/interfaces/ChargeBarSprites.d.ts +5 -5
- package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
- package/dist/interfaces/ChargeBarSprites.js +1 -2
- package/dist/interfaces/Corner.js +1 -2
- package/dist/interfaces/CustomStageTSConfig.d.ts +63 -63
- package/dist/interfaces/CustomStageTSConfig.d.ts.map +1 -1
- package/dist/interfaces/CustomStageTSConfig.js +1 -2
- package/dist/interfaces/GridEntityCustomData.d.ts +6 -6
- package/dist/interfaces/GridEntityCustomData.d.ts.map +1 -1
- package/dist/interfaces/GridEntityCustomData.js +1 -2
- package/dist/interfaces/JSONRoomsFile.d.ts +27 -27
- package/dist/interfaces/JSONRoomsFile.d.ts.map +1 -1
- package/dist/interfaces/JSONRoomsFile.js +1 -2
- package/dist/interfaces/PlayerHealth.d.ts +11 -11
- package/dist/interfaces/PlayerHealth.d.ts.map +1 -1
- package/dist/interfaces/PlayerHealth.js +1 -2
- package/dist/interfaces/PlayerStats.d.ts +13 -13
- package/dist/interfaces/PlayerStats.d.ts.map +1 -1
- package/dist/interfaces/PlayerStats.js +2 -4
- package/dist/interfaces/PocketItemDescription.d.ts +3 -3
- package/dist/interfaces/PocketItemDescription.d.ts.map +1 -1
- package/dist/interfaces/PocketItemDescription.js +1 -2
- package/dist/interfaces/RoomDescription.d.ts +12 -12
- package/dist/interfaces/RoomDescription.d.ts.map +1 -1
- package/dist/interfaces/RoomDescription.js +1 -2
- package/dist/interfaces/SaveData.d.ts.map +1 -1
- package/dist/interfaces/SaveData.js +1 -2
- package/dist/interfaces/StageHistoryEntry.js +1 -2
- package/dist/interfaces/TSTLClassMetatable.d.ts +5 -5
- package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
- package/dist/interfaces/TSTLClassMetatable.js +1 -2
- package/dist/interfaces/TrinketSituation.d.ts +4 -4
- package/dist/interfaces/TrinketSituation.d.ts.map +1 -1
- package/dist/interfaces/TrinketSituation.js +1 -2
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +153 -145
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
- package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
- package/dist/interfaces/private/CustomStage.d.ts +1 -1
- package/dist/interfaces/private/CustomStage.d.ts.map +1 -1
- package/dist/interfaces/private/CustomStage.js +1 -2
- package/dist/interfaces/private/CustomTrapdoorDescription.d.ts +4 -4
- package/dist/interfaces/private/CustomTrapdoorDescription.d.ts.map +1 -1
- package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
- package/dist/interfaces/private/ModUpgradedInterface.d.ts +2 -2
- package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
- package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
- package/dist/isaacscript-common.lua +1947 -1838
- package/dist/lib/jsonLua.js +11 -11
- package/dist/lualib_bundle.lua +117 -46
- package/dist/maps/PHDPillConversionsMap.js +19 -22
- package/dist/maps/cardNameToTypeMap.js +205 -208
- package/dist/maps/characterNameToTypeMap.js +85 -88
- package/dist/maps/collectibleNameToTypeMap.js +5 -8
- package/dist/maps/defaultPlayerStatMap.js +10 -13
- package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
- package/dist/maps/falsePHDPillConversionsMap.js +33 -36
- package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
- package/dist/maps/gridEntityXMLMap.js +52 -55
- package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
- package/dist/maps/keyboardToStringMap.js +66 -69
- package/dist/maps/pillNameToEffectMap.js +83 -86
- package/dist/maps/roomNameToTypeMap.js +38 -41
- package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
- package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
- package/dist/maps/trinketNameToTypeMap.js +5 -8
- package/dist/objects/LRoomShapeToRectangles.js +22 -25
- package/dist/objects/backdropTypeToRockAltType.js +65 -68
- package/dist/objects/batteryNames.js +8 -11
- package/dist/objects/bombNames.js +11 -14
- package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
- package/dist/objects/bossNamePNGFileNames.js +104 -107
- package/dist/objects/bossNames.js +105 -108
- package/dist/objects/bossPortraitPNGFileNames.js +104 -107
- package/dist/objects/cardDescriptions.js +101 -104
- package/dist/objects/cardNames.js +101 -104
- package/dist/objects/challengeBosses.js +49 -52
- package/dist/objects/challengeCharacters.js +49 -52
- package/dist/objects/challengeCollectibleTypes.js +160 -163
- package/dist/objects/challengeNames.js +49 -52
- package/dist/objects/challengeTrinketType.js +48 -51
- package/dist/objects/characterDamageMultipliers.js +44 -47
- package/dist/objects/characterNames.js +44 -47
- package/dist/objects/characterSpritePNGFileNames.js +44 -47
- package/dist/objects/characterStartingCollectibleTypes.js +49 -52
- package/dist/objects/characterStartingTrinketTypes.js +44 -47
- package/dist/objects/chestNames.js +15 -18
- package/dist/objects/coinNames.js +11 -14
- package/dist/objects/coinSubTypeToValue.js +11 -14
- package/dist/objects/collectibleDescriptions.js +725 -728
- package/dist/objects/collectibleNames.js +725 -728
- package/dist/objects/colors.js +1 -4
- package/dist/objects/directionNames.js +7 -10
- package/dist/objects/directionToDegrees.js +7 -10
- package/dist/objects/directionToMoveAction.js +7 -10
- package/dist/objects/directionToShootAction.js +7 -10
- package/dist/objects/directionToVector.js +9 -12
- package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
- package/dist/objects/doorSlotToDirection.js +11 -14
- package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
- package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
- package/dist/objects/heartNames.js +16 -19
- package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
- package/dist/objects/isaacAPIClassTypeToFunctions.d.ts +15 -15
- package/dist/objects/isaacAPIClassTypeToFunctions.d.ts.map +1 -1
- package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
- package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
- package/dist/objects/kColors.js +1 -4
- package/dist/objects/keyNames.js +8 -11
- package/dist/objects/languageNames.js +9 -12
- package/dist/objects/oppositeDoorSlots.js +11 -14
- package/dist/objects/pillEffectClasses.js +53 -56
- package/dist/objects/pillEffectNames.js +53 -56
- package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
- package/dist/objects/pillEffectTypes.js +53 -56
- package/dist/objects/playerNamePNGFileNames.js +44 -47
- package/dist/objects/playerPortraitPNGFileNames.js +44 -47
- package/dist/objects/roomShapeBounds.js +23 -26
- package/dist/objects/roomShapeCorners.js +128 -131
- package/dist/objects/roomShapeLayoutSizes.js +23 -26
- package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
- package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
- package/dist/objects/roomShapeToDoorSlots.js +48 -51
- package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
- package/dist/objects/roomShapeToGridWidth.js +14 -17
- package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
- package/dist/objects/roomShapeVolumes.js +21 -24
- package/dist/objects/roomTypeNames.js +32 -35
- package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
- package/dist/objects/sackNames.js +6 -9
- package/dist/objects/slotNames.js +21 -24
- package/dist/objects/stageIDNames.js +33 -36
- package/dist/objects/stageToMusic.js +69 -72
- package/dist/objects/stageToStageID.js +90 -93
- package/dist/objects/stageTypeSuffixes.js +8 -11
- package/dist/objects/transformationNames.js +16 -19
- package/dist/objects/trinketDescriptions.js +192 -195
- package/dist/objects/trinketNames.js +192 -195
- package/dist/objects/versusScreenBackgroundColors.js +39 -42
- package/dist/objects/versusScreenDirtSpotColors.js +39 -42
- package/dist/patchErrorFunctions.d.ts.map +1 -1
- package/dist/patchErrorFunctions.js +7 -7
- package/dist/serialization.js +6 -9
- package/dist/sets/LRoomShapesSet.js +7 -10
- package/dist/sets/bigRoomShapesSet.js +10 -13
- package/dist/sets/bossSets.js +261 -264
- package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
- package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
- package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
- package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
- package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
- package/dist/sets/consoleCommandsSet.js +2 -5
- package/dist/sets/entitiesWithArmorSet.d.ts.map +1 -1
- package/dist/sets/entitiesWithArmorSet.js +44 -47
- package/dist/sets/entitiesWithArmorSet.lua +2 -1
- package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
- package/dist/sets/itemConfigCardTypesForCards.js +7 -10
- package/dist/sets/lostStyleCharactersSet.js +8 -11
- package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
- package/dist/sets/narrowRoomShapesSet.js +7 -10
- package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
- package/dist/sets/redHeartSubTypesSet.js +6 -9
- package/dist/sets/repentanceBossIDsSet.js +26 -29
- package/dist/sets/sinEntityTypesSet.js +10 -13
- package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
- package/dist/shaderCrashFix.js +4 -7
- package/dist/shouldFire.d.ts +1 -1
- package/dist/shouldFire.d.ts.map +1 -1
- package/dist/shouldFire.js +34 -71
- package/dist/shouldFire.lua +5 -5
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/AddSubtract.js +1 -2
- package/dist/types/AllButFirst.d.ts +1 -1
- package/dist/types/AllButFirst.d.ts.map +1 -1
- package/dist/types/AllButFirst.js +1 -2
- package/dist/types/AllButLast.d.ts +4 -1
- package/dist/types/AllButLast.d.ts.map +1 -1
- package/dist/types/AllButLast.js +1 -2
- package/dist/types/AnyClass.js +1 -2
- package/dist/types/AnyEntity.js +1 -2
- package/dist/types/AnyFunction.js +1 -2
- package/dist/types/AnyGridEntity.js +1 -2
- package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
- package/dist/types/ConversionHeartSubType.js +1 -2
- package/dist/types/Decrement.js +1 -2
- package/dist/types/ERange.js +1 -2
- package/dist/types/EntityID.js +1 -2
- package/dist/types/FunctionTuple.js +1 -2
- package/dist/types/GridEntityID.js +1 -2
- package/dist/types/HasFunction.js +1 -2
- package/dist/types/IRange.js +1 -2
- package/dist/types/Immutable.d.ts.map +1 -1
- package/dist/types/Immutable.js +1 -2
- package/dist/types/Increment.js +1 -2
- package/dist/types/LowercaseKeys.js +1 -2
- package/dist/types/NaturalNumbersLessThan.js +1 -2
- package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
- package/dist/types/ObjectValues.js +1 -2
- package/dist/types/PickingUpItem.d.ts.map +1 -1
- package/dist/types/PickingUpItem.js +16 -27
- package/dist/types/PickupIndex.js +1 -2
- package/dist/types/PlayerIndex.js +1 -2
- package/dist/types/PossibleStatType.d.ts.map +1 -1
- package/dist/types/PossibleStatType.js +1 -2
- package/dist/types/PublicInterface.js +1 -2
- package/dist/types/ReadonlyMap.js +1 -4
- package/dist/types/ReadonlyRecord.js +1 -2
- package/dist/types/ReadonlySet.js +1 -4
- package/dist/types/StartsWithLowercase.js +1 -2
- package/dist/types/StartsWithUppercase.js +1 -2
- package/dist/types/TSTLClass.js +1 -2
- package/dist/types/Tuple.js +1 -2
- package/dist/types/TupleKeys.js +1 -2
- package/dist/types/TupleToIntersection.js +1 -2
- package/dist/types/TupleToUnion.js +1 -2
- package/dist/types/TupleWithLengthBetween.js +1 -2
- package/dist/types/TupleWithMaxLength.js +1 -2
- package/dist/types/UnionToIntersection.js +1 -2
- package/dist/types/UppercaseKeys.js +1 -2
- package/dist/types/WeightedArray.js +1 -2
- package/dist/types/WidenLiteral.js +1 -2
- package/dist/types/Writable.js +1 -2
- package/dist/types/private/CallbackTuple.js +1 -2
- package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
- package/package.json +6 -7
- package/src/classes/DefaultMap.ts +1 -2
- package/src/classes/ModFeature.ts +2 -4
- package/src/classes/ModUpgraded.ts +149 -150
- package/src/classes/callbacks/EntityTakeDmgFilter.ts +11 -11
- package/src/classes/callbacks/EntityTakeDmgPlayer.ts +15 -15
- package/src/classes/callbacks/InputActionFilter.ts +14 -14
- package/src/classes/callbacks/InputActionPlayer.ts +23 -23
- package/src/classes/callbacks/PostAmbushFinished.ts +13 -13
- package/src/classes/callbacks/PostAmbushStarted.ts +13 -13
- package/src/classes/callbacks/PostBombExploded.ts +9 -9
- package/src/classes/callbacks/PostBombInitFilter.ts +7 -7
- package/src/classes/callbacks/PostBombInitLate.ts +11 -11
- package/src/classes/callbacks/PostBombRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostBombUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostBoneSwing.ts +9 -9
- package/src/classes/callbacks/PostCollectibleEmpty.ts +27 -27
- package/src/classes/callbacks/PostCursedTeleport.ts +47 -49
- package/src/classes/callbacks/PostCustomRevive.ts +6 -6
- package/src/classes/callbacks/PostDiceRoomActivated.ts +31 -29
- package/src/classes/callbacks/PostDoorRender.ts +9 -9
- package/src/classes/callbacks/PostDoorUpdate.ts +9 -9
- package/src/classes/callbacks/PostEffectInitFilter.ts +7 -7
- package/src/classes/callbacks/PostEffectInitLate.ts +11 -11
- package/src/classes/callbacks/PostEffectRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostEffectStateChanged.ts +13 -13
- package/src/classes/callbacks/PostEffectUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostEntityKillFilter.ts +7 -7
- package/src/classes/callbacks/PostEntityRemoveFilter.ts +7 -7
- package/src/classes/callbacks/PostFamiliarInitFilter.ts +7 -7
- package/src/classes/callbacks/PostFamiliarInitLate.ts +11 -11
- package/src/classes/callbacks/PostFamiliarRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostFamiliarStateChanged.ts +13 -13
- package/src/classes/callbacks/PostFamiliarUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostGameEndFilter.ts +7 -7
- package/src/classes/callbacks/PostGameStartedReordered.ts +1 -2
- package/src/classes/callbacks/PostGameStartedReorderedLast.ts +1 -2
- package/src/classes/callbacks/PostGreedModeWave.ts +11 -11
- package/src/classes/callbacks/PostGridEntityBroken.ts +1 -2
- package/src/classes/callbacks/PostGridEntityCollision.ts +6 -6
- package/src/classes/callbacks/PostGridEntityCustomBroken.ts +1 -2
- package/src/classes/callbacks/PostGridEntityCustomCollision.ts +6 -6
- package/src/classes/callbacks/PostGridEntityCustomInit.ts +1 -2
- package/src/classes/callbacks/PostGridEntityCustomRemove.ts +6 -6
- package/src/classes/callbacks/PostGridEntityCustomRender.ts +1 -2
- package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +1 -2
- package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +1 -2
- package/src/classes/callbacks/PostGridEntityInit.ts +1 -2
- package/src/classes/callbacks/PostGridEntityRemove.ts +6 -6
- package/src/classes/callbacks/PostGridEntityRender.ts +1 -2
- package/src/classes/callbacks/PostGridEntityStateChanged.ts +1 -2
- package/src/classes/callbacks/PostGridEntityUpdate.ts +1 -2
- package/src/classes/callbacks/PostHolyMantleRemoved.ts +15 -15
- package/src/classes/callbacks/PostItemDischarge.ts +63 -63
- package/src/classes/callbacks/PostItemPickup.ts +1 -2
- package/src/classes/callbacks/PostKeyboardChanged.ts +28 -26
- package/src/classes/callbacks/PostKnifeInitFilter.ts +7 -7
- package/src/classes/callbacks/PostKnifeInitLate.ts +11 -11
- package/src/classes/callbacks/PostKnifeRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostKnifeUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostLaserInitFilter.ts +7 -7
- package/src/classes/callbacks/PostLaserInitLate.ts +11 -11
- package/src/classes/callbacks/PostLaserRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostLaserUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostNPCDeathFilter.ts +7 -7
- package/src/classes/callbacks/PostNPCInitFilter.ts +7 -7
- package/src/classes/callbacks/PostNPCInitLate.ts +11 -11
- package/src/classes/callbacks/PostNPCRenderFilter.ts +7 -7
- package/src/classes/callbacks/PostNPCStateChanged.ts +13 -13
- package/src/classes/callbacks/PostNPCUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostNewLevelReordered.ts +1 -2
- package/src/classes/callbacks/PostNewRoomEarly.ts +22 -20
- package/src/classes/callbacks/PostNewRoomReordered.ts +1 -2
- package/src/classes/callbacks/PostPEffectUpdateReordered.ts +1 -2
- package/src/classes/callbacks/PostPickupChanged.ts +1 -2
- package/src/classes/callbacks/PostPickupCollect.ts +13 -13
- package/src/classes/callbacks/PostPickupInitFilter.ts +7 -7
- package/src/classes/callbacks/PostPickupInitFirst.ts +13 -13
- package/src/classes/callbacks/PostPickupInitLate.ts +11 -11
- package/src/classes/callbacks/PostPickupRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostPickupSelectionFilter.ts +14 -14
- package/src/classes/callbacks/PostPickupStateChanged.ts +13 -13
- package/src/classes/callbacks/PostPickupUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostPitRender.ts +9 -9
- package/src/classes/callbacks/PostPitUpdate.ts +9 -9
- package/src/classes/callbacks/PostPlayerChangeHealth.ts +15 -15
- package/src/classes/callbacks/PostPlayerChangeStat.ts +15 -15
- package/src/classes/callbacks/PostPlayerChangeType.ts +15 -15
- package/src/classes/callbacks/PostPlayerCollectibleAdded.ts +1 -2
- package/src/classes/callbacks/PostPlayerCollectibleRemoved.ts +1 -2
- package/src/classes/callbacks/PostPlayerFatalDamage.ts +17 -17
- package/src/classes/callbacks/PostPlayerInitFirst.ts +11 -11
- package/src/classes/callbacks/PostPlayerInitLate.ts +12 -10
- package/src/classes/callbacks/PostPlayerRenderReordered.ts +1 -2
- package/src/classes/callbacks/PostPlayerUpdateReordered.ts +1 -2
- package/src/classes/callbacks/PostPoopRender.ts +9 -9
- package/src/classes/callbacks/PostPoopUpdate.ts +9 -9
- package/src/classes/callbacks/PostPressurePlateRender.ts +9 -9
- package/src/classes/callbacks/PostPressurePlateUpdate.ts +9 -9
- package/src/classes/callbacks/PostProjectileInitFilter.ts +7 -7
- package/src/classes/callbacks/PostProjectileInitLate.ts +13 -13
- package/src/classes/callbacks/PostProjectileKill.ts +19 -19
- package/src/classes/callbacks/PostProjectileRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostProjectileUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostPurchase.ts +39 -39
- package/src/classes/callbacks/PostRockRender.ts +9 -9
- package/src/classes/callbacks/PostRockUpdate.ts +9 -9
- package/src/classes/callbacks/PostRoomClearChanged.ts +25 -25
- package/src/classes/callbacks/PostSacrifice.ts +13 -13
- package/src/classes/callbacks/PostSlotAnimationChanged.ts +1 -2
- package/src/classes/callbacks/PostSlotCollision.ts +11 -11
- package/src/classes/callbacks/PostSlotDestroyed.ts +1 -2
- package/src/classes/callbacks/PostSlotInit.ts +1 -2
- package/src/classes/callbacks/PostSlotRender.ts +1 -2
- package/src/classes/callbacks/PostSlotUpdate.ts +1 -2
- package/src/classes/callbacks/PostSpikesRender.ts +9 -9
- package/src/classes/callbacks/PostSpikesUpdate.ts +9 -9
- package/src/classes/callbacks/PostTNTRender.ts +9 -9
- package/src/classes/callbacks/PostTNTUpdate.ts +9 -9
- package/src/classes/callbacks/PostTearInitFilter.ts +7 -7
- package/src/classes/callbacks/PostTearInitLate.ts +11 -11
- package/src/classes/callbacks/PostTearInitVeryLate.ts +13 -13
- package/src/classes/callbacks/PostTearKill.ts +19 -19
- package/src/classes/callbacks/PostTearRenderFilter.ts +10 -10
- package/src/classes/callbacks/PostTearUpdateFilter.ts +7 -7
- package/src/classes/callbacks/PostTransformation.ts +25 -25
- package/src/classes/callbacks/PostTrinketBreak.ts +16 -16
- package/src/classes/callbacks/PostUsePillFilter.ts +15 -15
- package/src/classes/callbacks/PreBerserkDeath.ts +15 -15
- package/src/classes/callbacks/PreBombCollisionFilter.ts +9 -9
- package/src/classes/callbacks/PreCustomRevive.ts +1 -2
- package/src/classes/callbacks/PreEntitySpawnFilter.ts +23 -23
- package/src/classes/callbacks/PreFamiliarCollisionFilter.ts +9 -9
- package/src/classes/callbacks/PreGetPedestal.ts +15 -15
- package/src/classes/callbacks/PreItemPickup.ts +1 -2
- package/src/classes/callbacks/PreKnifeCollisionFilter.ts +9 -9
- package/src/classes/callbacks/PreNPCCollisionFilter.ts +9 -9
- package/src/classes/callbacks/PreNPCUpdateFilter.ts +4 -5
- package/src/classes/callbacks/PreNewLevel.ts +13 -13
- package/src/classes/callbacks/PreProjectileCollisionFilter.ts +9 -9
- package/src/classes/callbacks/PreRoomEntitySpawnFilter.ts +23 -23
- package/src/classes/callbacks/PreTearCollisionFilter.ts +9 -9
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +29 -26
- package/src/classes/features/callbackLogic/CustomRevive.ts +51 -51
- package/src/classes/features/callbackLogic/EsauJrDetection.ts +21 -21
- package/src/classes/features/callbackLogic/FlipDetection.ts +14 -14
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +48 -48
- package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +19 -19
- package/src/classes/features/callbackLogic/GridEntityRenderDetection.ts +14 -14
- package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +33 -33
- package/src/classes/features/callbackLogic/ItemPickupDetection.ts +16 -16
- package/src/classes/features/callbackLogic/PickupChangeDetection.ts +19 -19
- package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +88 -88
- package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +41 -38
- package/src/classes/features/callbackLogic/SlotDestroyedDetection.ts +38 -36
- package/src/classes/features/callbackLogic/SlotRenderDetection.ts +10 -10
- package/src/classes/features/callbackLogic/SlotUpdateDetection.ts +17 -17
- package/src/classes/features/other/CharacterHealthConversion.ts +23 -23
- package/src/classes/features/other/CharacterStats.ts +10 -10
- package/src/classes/features/other/CollectibleItemPoolType.ts +15 -15
- package/src/classes/features/other/CustomHotkeys.ts +10 -10
- package/src/classes/features/other/CustomItemPools.ts +6 -6
- package/src/classes/features/other/CustomPickups.ts +23 -19
- package/src/classes/features/other/CustomStages.ts +106 -102
- package/src/classes/features/other/CustomTrapdoors.ts +48 -46
- package/src/classes/features/other/DebugDisplay.ts +20 -23
- package/src/classes/features/other/DeployJSONRoom.ts +3 -0
- package/src/classes/features/other/DisableAllSound.ts +11 -11
- package/src/classes/features/other/DisableInputs.ts +21 -21
- package/src/classes/features/other/EdenStartingStatsHealth.ts +34 -34
- package/src/classes/features/other/ExtraConsoleCommands.ts +74 -73
- package/src/classes/features/other/FadeInRemover.ts +7 -7
- package/src/classes/features/other/FastReset.ts +9 -9
- package/src/classes/features/other/ForgottenSwitch.ts +2 -2
- package/src/classes/features/other/ItemPoolDetection.ts +12 -7
- package/src/classes/features/other/ModdedElementDetection.ts +5 -5
- package/src/classes/features/other/NoSirenSteal.ts +6 -6
- package/src/classes/features/other/Pause.ts +45 -45
- package/src/classes/features/other/PersistentEntities.ts +57 -54
- package/src/classes/features/other/PickupIndexCreation.ts +17 -18
- package/src/classes/features/other/PlayerCollectibleTracking.ts +19 -19
- package/src/classes/features/other/PonyDetection.ts +15 -15
- package/src/classes/features/other/PressInput.ts +21 -18
- package/src/classes/features/other/PreventChildEntities.ts +13 -13
- package/src/classes/features/other/PreventGridEntityRespawn.ts +25 -25
- package/src/classes/features/other/RerunDetection.ts +16 -16
- package/src/classes/features/other/RoomClearFrame.ts +13 -13
- package/src/classes/features/other/RoomHistory.ts +12 -12
- package/src/classes/features/other/RunInNFrames.ts +34 -34
- package/src/classes/features/other/RunNextRoom.ts +9 -9
- package/src/classes/features/other/RunNextRun.ts +10 -10
- package/src/classes/features/other/SaveDataManager.ts +51 -50
- package/src/classes/features/other/StageHistory.ts +17 -14
- package/src/classes/features/other/TaintedLazarusPlayers.ts +17 -15
- package/src/classes/features/other/UnlockAchievementsDetection.ts +11 -11
- package/src/classes/features/other/customStages/backdrop.ts +3 -2
- package/src/classes/features/other/customStages/gridEntities.ts +1 -0
- package/src/classes/features/other/customStages/versusScreen.ts +15 -5
- package/src/classes/features/other/debugDisplay/DebugDisplayBomb.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayDoor.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayEffect.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayFamiliar.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayKnife.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayLaser.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayNPC.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayPickup.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayPit.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayPlayer.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayPoop.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayPressurePlate.ts +8 -8
- package/src/classes/features/other/debugDisplay/DebugDisplayProjectile.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayRock.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplaySlot.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplaySpikes.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayTNT.ts +6 -6
- package/src/classes/features/other/debugDisplay/DebugDisplayTear.ts +6 -6
- package/src/classes/features/other/extraConsoleCommands/commands.ts +44 -54
- package/src/classes/private/CustomCallback.ts +40 -40
- package/src/core/cachedClasses.ts +2 -0
- package/src/core/constants.ts +2 -4
- package/src/decorators.ts +3 -5
- package/src/features.ts +59 -57
- package/src/functions/array.ts +58 -55
- package/src/functions/arrayLua.ts +1 -1
- package/src/functions/bitSet128.ts +1 -1
- package/src/functions/bitwise.ts +1 -0
- package/src/functions/bosses.ts +55 -55
- package/src/functions/challenges.ts +16 -12
- package/src/functions/characters.ts +1 -1
- package/src/functions/charge.ts +38 -38
- package/src/functions/collectibles.ts +14 -16
- package/src/functions/color.ts +1 -1
- package/src/functions/decorators.ts +4 -6
- package/src/functions/deepCopy.ts +207 -210
- package/src/functions/deepCopyTests.ts +307 -314
- package/src/functions/doors.ts +57 -55
- package/src/functions/easing.ts +150 -145
- package/src/functions/emptyRoom.ts +28 -28
- package/src/functions/entities.ts +30 -40
- package/src/functions/flag.ts +1 -1
- package/src/functions/globals.ts +10 -8
- package/src/functions/gridEntities.ts +372 -369
- package/src/functions/gridEntitiesSpecific.ts +54 -54
- package/src/functions/hex.ts +25 -5
- package/src/functions/isaacAPIClass.ts +19 -20
- package/src/functions/jsonHelpers.ts +8 -8
- package/src/functions/jsonRoom.ts +18 -18
- package/src/functions/kColor.ts +1 -1
- package/src/functions/levelGrid.ts +3 -8
- package/src/functions/logEntities.ts +87 -87
- package/src/functions/logMisc.ts +15 -11
- package/src/functions/map.ts +2 -8
- package/src/functions/math.ts +1 -1
- package/src/functions/merge.ts +53 -53
- package/src/functions/mergeTests.ts +152 -176
- package/src/functions/nextStage.ts +4 -3
- package/src/functions/pickupVariants.ts +1 -1
- package/src/functions/playerHealth.ts +28 -26
- package/src/functions/playerIndex.ts +15 -15
- package/src/functions/playerTrinkets.ts +17 -17
- package/src/functions/players.ts +7 -5
- package/src/functions/revive.ts +5 -8
- package/src/functions/rng.ts +8 -6
- package/src/functions/roomData.ts +5 -17
- package/src/functions/roomGrid.ts +24 -24
- package/src/functions/roomShapeWalls.ts +29 -29
- package/src/functions/rooms.ts +9 -9
- package/src/functions/serialization.ts +18 -18
- package/src/functions/set.ts +2 -8
- package/src/functions/spawnCollectible.ts +2 -2
- package/src/functions/string.ts +5 -1
- package/src/functions/trinkets.ts +1 -2
- package/src/functions/types.ts +2 -0
- package/src/functions/ui.ts +31 -31
- package/src/functions/utils.ts +18 -18
- package/src/functions/vector.ts +2 -2
- package/src/interfaces/ChargeBarSprites.ts +6 -5
- package/src/interfaces/CustomStageTSConfig.ts +63 -63
- package/src/interfaces/GridEntityCustomData.ts +6 -6
- package/src/interfaces/JSONRoomsFile.ts +27 -27
- package/src/interfaces/PlayerHealth.ts +11 -11
- package/src/interfaces/PlayerStats.ts +13 -13
- package/src/interfaces/PocketItemDescription.ts +3 -3
- package/src/interfaces/RoomDescription.ts +12 -12
- package/src/interfaces/SaveData.ts +1 -0
- package/src/interfaces/TSTLClassMetatable.ts +5 -5
- package/src/interfaces/TrinketSituation.ts +4 -4
- package/src/interfaces/private/AddCallbackParametersCustom.ts +156 -148
- package/src/interfaces/private/CustomStage.ts +4 -1
- package/src/interfaces/private/CustomTrapdoorDescription.ts +5 -4
- package/src/interfaces/private/ModUpgradedInterface.ts +3 -2
- package/src/lib/jsonLua.js +11 -11
- package/src/objects/isaacAPIClassTypeToFunctions.ts +15 -15
- package/src/patchErrorFunctions.ts +3 -0
- package/src/sets/entitiesWithArmorSet.ts +2 -1
- package/src/shouldFire.ts +13 -20
- package/src/types/AllButFirst.ts +1 -1
- package/src/types/AllButLast.ts +4 -1
- package/src/types/CompositionTypeSatisfiesEnum.ts +6 -6
- package/src/types/Immutable.ts +1 -6
- package/src/types/PickingUpItem.ts +3 -3
- package/src/types/PossibleStatType.ts +1 -5
|
@@ -1,92 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
exports.getSurroundingGridEntities = getSurroundingGridEntities;
|
|
19
|
-
exports.getSurroundingGridIndexes = getSurroundingGridIndexes;
|
|
20
|
-
exports.getTopLeftWall = getTopLeftWall;
|
|
21
|
-
exports.getTopLeftWallGridIndex = getTopLeftWallGridIndex;
|
|
22
|
-
exports.isGridEntityBreakableByExplosion = isGridEntityBreakableByExplosion;
|
|
23
|
-
exports.isGridEntityBroken = isGridEntityBroken;
|
|
24
|
-
exports.isGridEntityXMLType = isGridEntityXMLType;
|
|
25
|
-
exports.isGridIndexAdjacentToDoor = isGridIndexAdjacentToDoor;
|
|
26
|
-
exports.isPoopGridEntityXMLType = isPoopGridEntityXMLType;
|
|
27
|
-
exports.isPostBossVoidPortal = isPostBossVoidPortal;
|
|
28
|
-
exports.removeAllGridEntitiesExcept = removeAllGridEntitiesExcept;
|
|
29
|
-
exports.removeAllMatchingGridEntities = removeAllMatchingGridEntities;
|
|
30
|
-
exports.removeEntitiesSpawnedFromGridEntity = removeEntitiesSpawnedFromGridEntity;
|
|
31
|
-
exports.removeGridEntities = removeGridEntities;
|
|
32
|
-
exports.removeGridEntity = removeGridEntity;
|
|
33
|
-
exports.setGridEntityInvisible = setGridEntityInvisible;
|
|
34
|
-
exports.setGridEntityType = setGridEntityType;
|
|
35
|
-
exports.spawnGiantPoop = spawnGiantPoop;
|
|
36
|
-
exports.spawnGridEntity = spawnGridEntity;
|
|
37
|
-
exports.spawnGridEntityWithVariant = spawnGridEntityWithVariant;
|
|
38
|
-
exports.spawnVoidPortal = spawnVoidPortal;
|
|
39
|
-
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
40
|
-
const cachedEnumValues_1 = require("../cachedEnumValues");
|
|
41
|
-
const cachedClasses_1 = require("../core/cachedClasses");
|
|
42
|
-
const constants_1 = require("../core/constants");
|
|
43
|
-
const gridEntityTypeToBrokenStateMap_1 = require("../maps/gridEntityTypeToBrokenStateMap");
|
|
44
|
-
const gridEntityXMLMap_1 = require("../maps/gridEntityXMLMap");
|
|
45
|
-
const roomShapeToTopLeftWallGridIndexMap_1 = require("../maps/roomShapeToTopLeftWallGridIndexMap");
|
|
46
|
-
const gridEntityTypeToANM2Name_1 = require("../objects/gridEntityTypeToANM2Name");
|
|
47
|
-
const poopGridEntityXMLTypesSet_1 = require("../sets/poopGridEntityXMLTypesSet");
|
|
48
|
-
const ReadonlySet_1 = require("../types/ReadonlySet");
|
|
49
|
-
const entities_1 = require("./entities");
|
|
50
|
-
const entitiesSpecific_1 = require("./entitiesSpecific");
|
|
51
|
-
const math_1 = require("./math");
|
|
52
|
-
const rooms_1 = require("./rooms");
|
|
53
|
-
const types_1 = require("./types");
|
|
54
|
-
const utils_1 = require("./utils");
|
|
55
|
-
const vector_1 = require("./vector");
|
|
1
|
+
import { BackdropType, EffectVariant, GridCollisionClass, GridEntityType, PoopGridEntityVariant, StatueVariant, TrapdoorVariant, } from "isaac-typescript-definitions";
|
|
2
|
+
import { GRID_ENTITY_XML_TYPE_VALUES } from "../cachedEnumValues";
|
|
3
|
+
import { game } from "../core/cachedClasses";
|
|
4
|
+
import { DISTANCE_OF_GRID_TILE, VectorOne } from "../core/constants";
|
|
5
|
+
import { GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP } from "../maps/gridEntityTypeToBrokenStateMap";
|
|
6
|
+
import { GRID_ENTITY_XML_MAP } from "../maps/gridEntityXMLMap";
|
|
7
|
+
import { DEFAULT_TOP_LEFT_WALL_GRID_INDEX, ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP, } from "../maps/roomShapeToTopLeftWallGridIndexMap";
|
|
8
|
+
import { GRID_ENTITY_TYPE_TO_ANM2_NAME } from "../objects/gridEntityTypeToANM2Name";
|
|
9
|
+
import { POOP_GRID_ENTITY_XML_TYPES_SET } from "../sets/poopGridEntityXMLTypesSet";
|
|
10
|
+
import { ReadonlySet } from "../types/ReadonlySet";
|
|
11
|
+
import { removeEntities } from "./entities";
|
|
12
|
+
import { getEffects } from "./entitiesSpecific";
|
|
13
|
+
import { isCircleIntersectingRectangle } from "./math";
|
|
14
|
+
import { roomUpdateSafe } from "./rooms";
|
|
15
|
+
import { isInteger, parseIntSafe } from "./types";
|
|
16
|
+
import { assertDefined, eRange, iRange } from "./utils";
|
|
17
|
+
import { isVector, vectorEquals } from "./vector";
|
|
56
18
|
/**
|
|
57
19
|
* For some specific grid entities, the variant defined in the XML is what is used by the actual
|
|
58
20
|
* game (which is not the case for e.g. poops).
|
|
59
21
|
*/
|
|
60
|
-
const GRID_ENTITY_TYPES_THAT_KEEP_GRID_ENTITY_XML_VARIANT = new
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
22
|
+
const GRID_ENTITY_TYPES_THAT_KEEP_GRID_ENTITY_XML_VARIANT = new ReadonlySet([
|
|
23
|
+
GridEntityType.SPIKES_ON_OFF, // 9
|
|
24
|
+
GridEntityType.PRESSURE_PLATE, // 20
|
|
25
|
+
GridEntityType.TELEPORTER, // 23
|
|
64
26
|
]);
|
|
65
|
-
const BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS = new
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
27
|
+
const BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS = new ReadonlySet([
|
|
28
|
+
GridEntityType.ROCK, // 2
|
|
29
|
+
GridEntityType.ROCK_TINTED, // 4
|
|
30
|
+
GridEntityType.ROCK_BOMB, // 5
|
|
31
|
+
GridEntityType.ROCK_ALT, // 6
|
|
32
|
+
GridEntityType.SPIDER_WEB, // 10
|
|
33
|
+
GridEntityType.TNT, // 12
|
|
72
34
|
// GridEntityType.FIREPLACE (13) does not count since it is turned into a non-grid entity upon
|
|
73
35
|
// spawning.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
36
|
+
GridEntityType.POOP, // 14
|
|
37
|
+
GridEntityType.ROCK_SUPER_SPECIAL, // 22
|
|
38
|
+
GridEntityType.ROCK_SPIKED, // 25
|
|
39
|
+
GridEntityType.ROCK_ALT_2, // 26
|
|
40
|
+
GridEntityType.ROCK_GOLD, // 27
|
|
79
41
|
]);
|
|
80
|
-
const BREAKABLE_GRID_ENTITY_TYPES_VARIANTS_BY_EXPLOSIONS = new
|
|
81
|
-
const GRID_ENTITY_XML_TYPES_SET = new
|
|
42
|
+
const BREAKABLE_GRID_ENTITY_TYPES_VARIANTS_BY_EXPLOSIONS = new ReadonlySet([`${GridEntityType.STATUE}.${StatueVariant.ANGEL}`]);
|
|
43
|
+
const GRID_ENTITY_XML_TYPES_SET = new ReadonlySet(GRID_ENTITY_XML_TYPE_VALUES);
|
|
82
44
|
/**
|
|
83
45
|
* Helper function to convert the grid entity type found in a room XML file to the corresponding
|
|
84
46
|
* grid entity type and variant normally used by the game. For example, `GridEntityXMLType.ROCK` is
|
|
85
47
|
* 1000 (in a room XML file), but `GridEntityType.ROCK` is equal to 2 (in-game).
|
|
86
48
|
*/
|
|
87
|
-
function convertXMLGridEntityType(gridEntityXMLType, gridEntityXMLVariant) {
|
|
88
|
-
const gridEntityArray =
|
|
89
|
-
|
|
49
|
+
export function convertXMLGridEntityType(gridEntityXMLType, gridEntityXMLVariant) {
|
|
50
|
+
const gridEntityArray = GRID_ENTITY_XML_MAP.get(gridEntityXMLType);
|
|
51
|
+
assertDefined(gridEntityArray, `Failed to find an entry in the grid entity map for XML entity type: ${gridEntityXMLType}`);
|
|
90
52
|
const gridEntityType = gridEntityArray[0];
|
|
91
53
|
const variant = GRID_ENTITY_TYPES_THAT_KEEP_GRID_ENTITY_XML_VARIANT.has(gridEntityType)
|
|
92
54
|
? gridEntityXMLVariant
|
|
@@ -100,8 +62,8 @@ function convertXMLGridEntityType(gridEntityXMLType, gridEntityXMLVariant) {
|
|
|
100
62
|
* @param gridEntityType The grid entity type to match.
|
|
101
63
|
* @param variant Optional. Default is -1, which matches every variant.
|
|
102
64
|
*/
|
|
103
|
-
function doesGridEntityExist(gridEntityType, variant = -1) {
|
|
104
|
-
const room =
|
|
65
|
+
export function doesGridEntityExist(gridEntityType, variant = -1) {
|
|
66
|
+
const room = game.GetRoom();
|
|
105
67
|
const gridIndexes = getAllGridIndexes();
|
|
106
68
|
return gridIndexes.some((gridIndex) => {
|
|
107
69
|
const gridEntity = room.GetGridEntity(gridIndex);
|
|
@@ -119,10 +81,10 @@ function doesGridEntityExist(gridEntityType, variant = -1) {
|
|
|
119
81
|
*
|
|
120
82
|
* Under the hood, this uses the `Room.GetGridSize` method.
|
|
121
83
|
*/
|
|
122
|
-
function getAllGridIndexes() {
|
|
123
|
-
const room =
|
|
84
|
+
export function getAllGridIndexes() {
|
|
85
|
+
const room = game.GetRoom();
|
|
124
86
|
const gridSize = room.GetGridSize();
|
|
125
|
-
return
|
|
87
|
+
return eRange(gridSize);
|
|
126
88
|
}
|
|
127
89
|
/**
|
|
128
90
|
* Gets the entities that have a hitbox that overlaps with any part of the square that the grid
|
|
@@ -134,28 +96,28 @@ function getAllGridIndexes() {
|
|
|
134
96
|
* Note that this function will not work properly in the `POST_NEW_ROOM` callback since entities do
|
|
135
97
|
* not have collision yet in that callback.
|
|
136
98
|
*/
|
|
137
|
-
function getCollidingEntitiesWithGridEntity(gridEntity) {
|
|
99
|
+
export function getCollidingEntitiesWithGridEntity(gridEntity) {
|
|
138
100
|
const { topLeft, bottomRight } = getGridEntityCollisionPoints(gridEntity);
|
|
139
|
-
const closeEntities = Isaac.FindInRadius(gridEntity.Position,
|
|
101
|
+
const closeEntities = Isaac.FindInRadius(gridEntity.Position, DISTANCE_OF_GRID_TILE * 2);
|
|
140
102
|
return closeEntities.filter((entity) => entity.CollidesWithGrid()
|
|
141
|
-
&&
|
|
103
|
+
&& isCircleIntersectingRectangle(entity.Position,
|
|
142
104
|
// We arbitrarily add 0.1 to account for entities that are already pushed back by the time
|
|
143
105
|
// the `POST_UPDATE` callback fires.
|
|
144
106
|
entity.Size + 0.1, topLeft, bottomRight));
|
|
145
107
|
}
|
|
146
108
|
/** Helper function to get the grid entity type and variant from a `GridEntityID`. */
|
|
147
|
-
function getConstituentsFromGridEntityID(gridEntityID) {
|
|
109
|
+
export function getConstituentsFromGridEntityID(gridEntityID) {
|
|
148
110
|
const parts = gridEntityID.split(".");
|
|
149
111
|
if (parts.length !== 2) {
|
|
150
112
|
error(`Failed to get the constituents from a grid entity ID: ${gridEntityID}`);
|
|
151
113
|
}
|
|
152
114
|
const [gridEntityTypeString, variantString] = parts;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const gridEntityType =
|
|
156
|
-
|
|
157
|
-
const variant =
|
|
158
|
-
|
|
115
|
+
assertDefined(gridEntityTypeString, `Failed to get the first constituent from a grid entity ID: ${gridEntityID}`);
|
|
116
|
+
assertDefined(variantString, `Failed to get the second constituent from a grid entity ID: ${gridEntityID}`);
|
|
117
|
+
const gridEntityType = parseIntSafe(gridEntityTypeString);
|
|
118
|
+
assertDefined(gridEntityType, `Failed to convert the grid entity type to a number: ${gridEntityTypeString}`);
|
|
119
|
+
const variant = parseIntSafe(variantString);
|
|
120
|
+
assertDefined(variant, `Failed to convert the grid entity variant to an integer: ${variantString}`);
|
|
159
121
|
return [gridEntityType, variant];
|
|
160
122
|
}
|
|
161
123
|
/**
|
|
@@ -184,12 +146,12 @@ function getConstituentsFromGridEntityID(gridEntityID) {
|
|
|
184
146
|
*
|
|
185
147
|
* @allowEmptyVariadic
|
|
186
148
|
*/
|
|
187
|
-
function getGridEntities(...gridEntityTypes) {
|
|
149
|
+
export function getGridEntities(...gridEntityTypes) {
|
|
188
150
|
const gridEntities = getAllGridEntities();
|
|
189
151
|
if (gridEntityTypes.length === 0) {
|
|
190
152
|
return gridEntities;
|
|
191
153
|
}
|
|
192
|
-
const gridEntityTypesSet = new
|
|
154
|
+
const gridEntityTypesSet = new ReadonlySet(gridEntityTypes);
|
|
193
155
|
return gridEntities.filter((gridEntity) => {
|
|
194
156
|
const gridEntityType = gridEntity.GetType();
|
|
195
157
|
return gridEntityTypesSet.has(gridEntityType);
|
|
@@ -201,41 +163,30 @@ function getGridEntities(...gridEntityTypes) {
|
|
|
201
163
|
* This function is variadic, meaning that you can specify as many grid entity types as you want to
|
|
202
164
|
* exclude.
|
|
203
165
|
*/
|
|
204
|
-
function getGridEntitiesExcept(...gridEntityTypes) {
|
|
166
|
+
export function getGridEntitiesExcept(...gridEntityTypes) {
|
|
205
167
|
const gridEntities = getAllGridEntities();
|
|
206
168
|
if (gridEntityTypes.length === 0) {
|
|
207
169
|
return gridEntities;
|
|
208
170
|
}
|
|
209
|
-
const gridEntityTypesSet = new
|
|
171
|
+
const gridEntityTypesSet = new ReadonlySet(gridEntityTypes);
|
|
210
172
|
return gridEntities.filter((gridEntity) => {
|
|
211
173
|
const gridEntityType = gridEntity.GetType();
|
|
212
174
|
return !gridEntityTypesSet.has(gridEntityType);
|
|
213
175
|
});
|
|
214
176
|
}
|
|
215
|
-
function getAllGridEntities() {
|
|
216
|
-
const room = cachedClasses_1.game.GetRoom();
|
|
217
|
-
const gridEntities = [];
|
|
218
|
-
for (const gridIndex of getAllGridIndexes()) {
|
|
219
|
-
const gridEntity = room.GetGridEntity(gridIndex);
|
|
220
|
-
if (gridEntity !== undefined) {
|
|
221
|
-
gridEntities.push(gridEntity);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
return gridEntities;
|
|
225
|
-
}
|
|
226
177
|
/** Helper function to get all grid entities in a given radius around a given point. */
|
|
227
|
-
function getGridEntitiesInRadius(targetPosition, radius) {
|
|
178
|
+
export function getGridEntitiesInRadius(targetPosition, radius) {
|
|
228
179
|
radius = Math.abs(radius);
|
|
229
|
-
const topLeftOffset =
|
|
180
|
+
const topLeftOffset = VectorOne.mul(-radius);
|
|
230
181
|
const mostTopLeftPosition = targetPosition.add(topLeftOffset);
|
|
231
|
-
const room =
|
|
182
|
+
const room = game.GetRoom();
|
|
232
183
|
const diameter = radius * 2;
|
|
233
|
-
const iterations = Math.ceil(diameter /
|
|
184
|
+
const iterations = Math.ceil(diameter / DISTANCE_OF_GRID_TILE);
|
|
234
185
|
const separation = diameter / iterations;
|
|
235
186
|
const gridEntities = [];
|
|
236
187
|
const registeredGridIndexes = new Set();
|
|
237
|
-
for (const x of
|
|
238
|
-
for (const y of
|
|
188
|
+
for (const x of iRange(iterations)) {
|
|
189
|
+
for (const y of iRange(iterations)) {
|
|
239
190
|
const position = mostTopLeftPosition.add(Vector(x * separation, y * separation));
|
|
240
191
|
const gridIndex = room.GetGridIndex(position);
|
|
241
192
|
const gridEntity = room.GetGridEntityFromPos(position);
|
|
@@ -244,7 +195,7 @@ function getGridEntitiesInRadius(targetPosition, radius) {
|
|
|
244
195
|
}
|
|
245
196
|
registeredGridIndexes.add(gridIndex);
|
|
246
197
|
const { topLeft, bottomRight } = getGridEntityCollisionPoints(gridEntity);
|
|
247
|
-
if (
|
|
198
|
+
if (isCircleIntersectingRectangle(targetPosition, radius, topLeft, bottomRight)) {
|
|
248
199
|
gridEntities.push(gridEntity);
|
|
249
200
|
}
|
|
250
201
|
}
|
|
@@ -260,7 +211,7 @@ function getGridEntitiesInRadius(targetPosition, radius) {
|
|
|
260
211
|
*
|
|
261
212
|
* @allowEmptyVariadic
|
|
262
213
|
*/
|
|
263
|
-
function getGridEntitiesMap(...gridEntityTypes) {
|
|
214
|
+
export function getGridEntitiesMap(...gridEntityTypes) {
|
|
264
215
|
const gridEntities = getGridEntities(...gridEntityTypes);
|
|
265
216
|
const gridEntityMap = new Map();
|
|
266
217
|
for (const gridEntity of gridEntities) {
|
|
@@ -270,126 +221,21 @@ function getGridEntitiesMap(...gridEntityTypes) {
|
|
|
270
221
|
return gridEntityMap;
|
|
271
222
|
}
|
|
272
223
|
/** Helper function to get the ANM2 path for a grid entity type. */
|
|
273
|
-
function getGridEntityANM2Path(gridEntityType) {
|
|
224
|
+
export function getGridEntityANM2Path(gridEntityType) {
|
|
274
225
|
const gridEntityANM2Name = getGridEntityANM2Name(gridEntityType);
|
|
275
226
|
return `gfx/grid/${gridEntityANM2Name}`;
|
|
276
227
|
}
|
|
277
|
-
function getGridEntityANM2Name(gridEntityType) {
|
|
278
|
-
switch (gridEntityType) {
|
|
279
|
-
// 1
|
|
280
|
-
case isaac_typescript_definitions_1.GridEntityType.DECORATION: {
|
|
281
|
-
return getGridEntityANM2NameDecoration();
|
|
282
|
-
}
|
|
283
|
-
default: {
|
|
284
|
-
return gridEntityTypeToANM2Name_1.GRID_ENTITY_TYPE_TO_ANM2_NAME[gridEntityType];
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Helper function to get the ANM2 path for a decoration. This depends on the current room's
|
|
290
|
-
* backdrop. The values are taken from the "backdrops.xml" file.
|
|
291
|
-
*/
|
|
292
|
-
function getGridEntityANM2NameDecoration() {
|
|
293
|
-
const room = cachedClasses_1.game.GetRoom();
|
|
294
|
-
const backdropType = room.GetBackdropType();
|
|
295
|
-
switch (backdropType) {
|
|
296
|
-
// 1, 2, 3, 36, 49, 52
|
|
297
|
-
case isaac_typescript_definitions_1.BackdropType.BASEMENT:
|
|
298
|
-
case isaac_typescript_definitions_1.BackdropType.CELLAR:
|
|
299
|
-
case isaac_typescript_definitions_1.BackdropType.BURNING_BASEMENT:
|
|
300
|
-
case isaac_typescript_definitions_1.BackdropType.DOWNPOUR_ENTRANCE:
|
|
301
|
-
case isaac_typescript_definitions_1.BackdropType.ISAACS_BEDROOM:
|
|
302
|
-
case isaac_typescript_definitions_1.BackdropType.CLOSET: {
|
|
303
|
-
return "Props_01_Basement.anm2";
|
|
304
|
-
}
|
|
305
|
-
// 4, 5, 6, 37
|
|
306
|
-
case isaac_typescript_definitions_1.BackdropType.CAVES:
|
|
307
|
-
case isaac_typescript_definitions_1.BackdropType.CATACOMBS:
|
|
308
|
-
case isaac_typescript_definitions_1.BackdropType.FLOODED_CAVES:
|
|
309
|
-
case isaac_typescript_definitions_1.BackdropType.MINES_ENTRANCE: {
|
|
310
|
-
return "Props_03_Caves.anm2";
|
|
311
|
-
}
|
|
312
|
-
// 7, 8, 9, 30, 33, 38, 39, 40, 41, 42, 53, 60
|
|
313
|
-
case isaac_typescript_definitions_1.BackdropType.DEPTHS:
|
|
314
|
-
case isaac_typescript_definitions_1.BackdropType.NECROPOLIS:
|
|
315
|
-
case isaac_typescript_definitions_1.BackdropType.DANK_DEPTHS:
|
|
316
|
-
case isaac_typescript_definitions_1.BackdropType.SACRIFICE:
|
|
317
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM:
|
|
318
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_ENTRANCE:
|
|
319
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE_ENTRANCE:
|
|
320
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_2:
|
|
321
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_3:
|
|
322
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_4:
|
|
323
|
-
case isaac_typescript_definitions_1.BackdropType.CLOSET_B:
|
|
324
|
-
case isaac_typescript_definitions_1.BackdropType.DARK_CLOSET: {
|
|
325
|
-
return "Props_05_Depths.anm2";
|
|
326
|
-
}
|
|
327
|
-
// 10, 12
|
|
328
|
-
case isaac_typescript_definitions_1.BackdropType.WOMB:
|
|
329
|
-
case isaac_typescript_definitions_1.BackdropType.SCARRED_WOMB: {
|
|
330
|
-
return "Props_07_The Womb.anm2";
|
|
331
|
-
}
|
|
332
|
-
// 11
|
|
333
|
-
case isaac_typescript_definitions_1.BackdropType.UTERO: {
|
|
334
|
-
return "Props_07_Utero.anm2";
|
|
335
|
-
}
|
|
336
|
-
// 13, 27
|
|
337
|
-
case isaac_typescript_definitions_1.BackdropType.BLUE_WOMB:
|
|
338
|
-
case isaac_typescript_definitions_1.BackdropType.BLUE_WOMB_PASS: {
|
|
339
|
-
return "Props_07_The Womb_blue.anm2";
|
|
340
|
-
}
|
|
341
|
-
// 14, 47
|
|
342
|
-
case isaac_typescript_definitions_1.BackdropType.SHEOL:
|
|
343
|
-
case isaac_typescript_definitions_1.BackdropType.GEHENNA: {
|
|
344
|
-
return "Props_09_Sheol.anm2";
|
|
345
|
-
}
|
|
346
|
-
// 15
|
|
347
|
-
case isaac_typescript_definitions_1.BackdropType.CATHEDRAL: {
|
|
348
|
-
return "Props_10_Cathedral.anm2";
|
|
349
|
-
}
|
|
350
|
-
// 17
|
|
351
|
-
case isaac_typescript_definitions_1.BackdropType.CHEST: {
|
|
352
|
-
return "Props_11_The Chest.anm2";
|
|
353
|
-
}
|
|
354
|
-
// 28
|
|
355
|
-
case isaac_typescript_definitions_1.BackdropType.GREED_SHOP: {
|
|
356
|
-
return "Props_12_Greed.anm2";
|
|
357
|
-
}
|
|
358
|
-
// 31
|
|
359
|
-
case isaac_typescript_definitions_1.BackdropType.DOWNPOUR: {
|
|
360
|
-
return "props_01x_downpour.anm2";
|
|
361
|
-
}
|
|
362
|
-
// 32, 46, 58, 59
|
|
363
|
-
case isaac_typescript_definitions_1.BackdropType.MINES:
|
|
364
|
-
case isaac_typescript_definitions_1.BackdropType.ASHPIT:
|
|
365
|
-
case isaac_typescript_definitions_1.BackdropType.MINES_SHAFT:
|
|
366
|
-
case isaac_typescript_definitions_1.BackdropType.ASHPIT_SHAFT: {
|
|
367
|
-
return "props_03x_mines.anm2";
|
|
368
|
-
}
|
|
369
|
-
// 34, 43, 44, 48
|
|
370
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE:
|
|
371
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE_2:
|
|
372
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE_3:
|
|
373
|
-
case isaac_typescript_definitions_1.BackdropType.MORTIS: {
|
|
374
|
-
return "props_07_the corpse.anm2";
|
|
375
|
-
}
|
|
376
|
-
// 45
|
|
377
|
-
case isaac_typescript_definitions_1.BackdropType.DROSS: {
|
|
378
|
-
return "props_02x_dross.anm2";
|
|
379
|
-
}
|
|
380
|
-
default: {
|
|
381
|
-
return "Props_01_Basement.anm2";
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
228
|
/** Helper function to get the top left and bottom right corners of a given grid entity. */
|
|
386
|
-
function getGridEntityCollisionPoints(gridEntity) {
|
|
387
|
-
const topLeft = Vector(gridEntity.Position.X -
|
|
388
|
-
const bottomRight = Vector(gridEntity.Position.X +
|
|
389
|
-
return {
|
|
229
|
+
export function getGridEntityCollisionPoints(gridEntity) {
|
|
230
|
+
const topLeft = Vector(gridEntity.Position.X - DISTANCE_OF_GRID_TILE / 2, gridEntity.Position.Y - DISTANCE_OF_GRID_TILE / 2);
|
|
231
|
+
const bottomRight = Vector(gridEntity.Position.X + DISTANCE_OF_GRID_TILE / 2, gridEntity.Position.Y + DISTANCE_OF_GRID_TILE / 2);
|
|
232
|
+
return {
|
|
233
|
+
topLeft,
|
|
234
|
+
bottomRight,
|
|
235
|
+
};
|
|
390
236
|
}
|
|
391
237
|
/** Helper function to get a string containing the grid entity's type and variant. */
|
|
392
|
-
function getGridEntityID(gridEntity) {
|
|
238
|
+
export function getGridEntityID(gridEntity) {
|
|
393
239
|
const gridEntityType = gridEntity.GetType();
|
|
394
240
|
const variant = gridEntity.GetVariant();
|
|
395
241
|
return `${gridEntityType}.${variant}`;
|
|
@@ -398,7 +244,7 @@ function getGridEntityID(gridEntity) {
|
|
|
398
244
|
* Helper function to get a formatted string in the format returned by the `getGridEntityID`
|
|
399
245
|
* function.
|
|
400
246
|
*/
|
|
401
|
-
function getGridEntityIDFromConstituents(gridEntityType, variant) {
|
|
247
|
+
export function getGridEntityIDFromConstituents(gridEntityType, variant) {
|
|
402
248
|
return `${gridEntityType}.${variant}`;
|
|
403
249
|
}
|
|
404
250
|
/**
|
|
@@ -407,7 +253,7 @@ function getGridEntityIDFromConstituents(gridEntityType, variant) {
|
|
|
407
253
|
*
|
|
408
254
|
* If you want to match every variant, use the `getGridEntities` function instead.
|
|
409
255
|
*/
|
|
410
|
-
function getMatchingGridEntities(gridEntityType, variant) {
|
|
256
|
+
export function getMatchingGridEntities(gridEntityType, variant) {
|
|
411
257
|
const gridEntities = getGridEntities(gridEntityType);
|
|
412
258
|
return gridEntities.filter((gridEntity) => gridEntity.GetVariant() === variant);
|
|
413
259
|
}
|
|
@@ -417,137 +263,18 @@ function getMatchingGridEntities(gridEntityType, variant) {
|
|
|
417
263
|
*
|
|
418
264
|
* All of the rock PNGs are in the "gfx/grid" directory.
|
|
419
265
|
*/
|
|
420
|
-
function getRockPNGPath() {
|
|
266
|
+
export function getRockPNGPath() {
|
|
421
267
|
const rockPNGName = getRockPNGName();
|
|
422
268
|
return `gfx/grid/${rockPNGName}`;
|
|
423
269
|
}
|
|
424
|
-
function getRockPNGName() {
|
|
425
|
-
const room = cachedClasses_1.game.GetRoom();
|
|
426
|
-
const backdropType = room.GetBackdropType();
|
|
427
|
-
switch (backdropType) {
|
|
428
|
-
// 1, 17
|
|
429
|
-
case isaac_typescript_definitions_1.BackdropType.BASEMENT:
|
|
430
|
-
case isaac_typescript_definitions_1.BackdropType.CHEST: {
|
|
431
|
-
return "rocks_basement.png";
|
|
432
|
-
}
|
|
433
|
-
// 2
|
|
434
|
-
case isaac_typescript_definitions_1.BackdropType.CELLAR: {
|
|
435
|
-
return "rocks_cellar.png";
|
|
436
|
-
}
|
|
437
|
-
// 3
|
|
438
|
-
case isaac_typescript_definitions_1.BackdropType.BURNING_BASEMENT: {
|
|
439
|
-
return "rocks_burningbasement.png"; // cspell:ignore burningbasement
|
|
440
|
-
}
|
|
441
|
-
// 4
|
|
442
|
-
case isaac_typescript_definitions_1.BackdropType.CAVES: {
|
|
443
|
-
return "rocks_caves.png";
|
|
444
|
-
}
|
|
445
|
-
// 5
|
|
446
|
-
case isaac_typescript_definitions_1.BackdropType.CATACOMBS: {
|
|
447
|
-
return "rocks_catacombs.png";
|
|
448
|
-
}
|
|
449
|
-
// 6
|
|
450
|
-
case isaac_typescript_definitions_1.BackdropType.FLOODED_CAVES: {
|
|
451
|
-
return "rocks_drownedcaves.png"; // cspell:ignore drownedcaves
|
|
452
|
-
}
|
|
453
|
-
// 7, 8, 9, 30, 60
|
|
454
|
-
case isaac_typescript_definitions_1.BackdropType.DEPTHS:
|
|
455
|
-
case isaac_typescript_definitions_1.BackdropType.NECROPOLIS:
|
|
456
|
-
case isaac_typescript_definitions_1.BackdropType.DANK_DEPTHS:
|
|
457
|
-
case isaac_typescript_definitions_1.BackdropType.SACRIFICE:
|
|
458
|
-
case isaac_typescript_definitions_1.BackdropType.DARK_CLOSET: {
|
|
459
|
-
return "rocks_depths.png";
|
|
460
|
-
}
|
|
461
|
-
// 10
|
|
462
|
-
case isaac_typescript_definitions_1.BackdropType.WOMB: {
|
|
463
|
-
return "rocks_womb.png";
|
|
464
|
-
}
|
|
465
|
-
// 11
|
|
466
|
-
case isaac_typescript_definitions_1.BackdropType.UTERO: {
|
|
467
|
-
return "rocks_utero.png";
|
|
468
|
-
}
|
|
469
|
-
// 12
|
|
470
|
-
case isaac_typescript_definitions_1.BackdropType.SCARRED_WOMB: {
|
|
471
|
-
return "rocks_scarredwomb.png"; // cspell:ignore scarredwomb
|
|
472
|
-
}
|
|
473
|
-
// 13, 27
|
|
474
|
-
case isaac_typescript_definitions_1.BackdropType.BLUE_WOMB:
|
|
475
|
-
case isaac_typescript_definitions_1.BackdropType.BLUE_WOMB_PASS: {
|
|
476
|
-
return "rocks_bluewomb.png"; // cspell:ignore bluewomb
|
|
477
|
-
}
|
|
478
|
-
// 14, 16
|
|
479
|
-
case isaac_typescript_definitions_1.BackdropType.SHEOL:
|
|
480
|
-
case isaac_typescript_definitions_1.BackdropType.DARK_ROOM: {
|
|
481
|
-
return "rocks_sheol.png";
|
|
482
|
-
}
|
|
483
|
-
// 15, 35
|
|
484
|
-
case isaac_typescript_definitions_1.BackdropType.CATHEDRAL:
|
|
485
|
-
case isaac_typescript_definitions_1.BackdropType.PLANETARIUM: {
|
|
486
|
-
return "rocks_cathedral.png";
|
|
487
|
-
}
|
|
488
|
-
// 23, 32, 37, 58
|
|
489
|
-
case isaac_typescript_definitions_1.BackdropType.SECRET:
|
|
490
|
-
case isaac_typescript_definitions_1.BackdropType.MINES:
|
|
491
|
-
case isaac_typescript_definitions_1.BackdropType.MINES_ENTRANCE:
|
|
492
|
-
case isaac_typescript_definitions_1.BackdropType.MINES_SHAFT: {
|
|
493
|
-
return "rocks_secretroom.png"; // cspell:ignore secretroom
|
|
494
|
-
}
|
|
495
|
-
// 31, 36
|
|
496
|
-
case isaac_typescript_definitions_1.BackdropType.DOWNPOUR:
|
|
497
|
-
case isaac_typescript_definitions_1.BackdropType.DOWNPOUR_ENTRANCE: {
|
|
498
|
-
return "rocks_downpour.png";
|
|
499
|
-
}
|
|
500
|
-
// 33, 38, 40, 41, 42
|
|
501
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM:
|
|
502
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_ENTRANCE:
|
|
503
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_2:
|
|
504
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_3:
|
|
505
|
-
case isaac_typescript_definitions_1.BackdropType.MAUSOLEUM_4: {
|
|
506
|
-
return "rocks_mausoleum.png";
|
|
507
|
-
}
|
|
508
|
-
// 34, 48
|
|
509
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE:
|
|
510
|
-
case isaac_typescript_definitions_1.BackdropType.MORTIS: {
|
|
511
|
-
return "rocks_corpse.png";
|
|
512
|
-
}
|
|
513
|
-
// 39
|
|
514
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE_ENTRANCE: {
|
|
515
|
-
return "rocks_corpseentrance.png"; // cspell:ignore corpseentrance
|
|
516
|
-
}
|
|
517
|
-
// 43
|
|
518
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE_2: {
|
|
519
|
-
return "rocks_corpse2.png";
|
|
520
|
-
}
|
|
521
|
-
// 44
|
|
522
|
-
case isaac_typescript_definitions_1.BackdropType.CORPSE_3: {
|
|
523
|
-
return "rocks_corpse3.png";
|
|
524
|
-
}
|
|
525
|
-
// 45
|
|
526
|
-
case isaac_typescript_definitions_1.BackdropType.DROSS: {
|
|
527
|
-
return "rocks_dross.png";
|
|
528
|
-
}
|
|
529
|
-
// 46, 59
|
|
530
|
-
case isaac_typescript_definitions_1.BackdropType.ASHPIT:
|
|
531
|
-
case isaac_typescript_definitions_1.BackdropType.ASHPIT_SHAFT: {
|
|
532
|
-
return "rocks_ashpit.png";
|
|
533
|
-
}
|
|
534
|
-
// 47
|
|
535
|
-
case isaac_typescript_definitions_1.BackdropType.GEHENNA: {
|
|
536
|
-
return "rocks_gehenna.png";
|
|
537
|
-
}
|
|
538
|
-
default: {
|
|
539
|
-
return "rocks_basement.png";
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
270
|
/**
|
|
544
271
|
* Helper function to get the grid entities on the surrounding tiles from the provided grid entity.
|
|
545
272
|
*
|
|
546
273
|
* For example, if a rock was surrounded by rocks on all sides, this would return an array of 8
|
|
547
274
|
* rocks (e.g. top-left + top + top-right + left + right + bottom-left + bottom + right).
|
|
548
275
|
*/
|
|
549
|
-
function getSurroundingGridEntities(gridEntity) {
|
|
550
|
-
const room =
|
|
276
|
+
export function getSurroundingGridEntities(gridEntity) {
|
|
277
|
+
const room = game.GetRoom();
|
|
551
278
|
const gridIndex = gridEntity.GetGridIndex();
|
|
552
279
|
const surroundingGridIndexes = getSurroundingGridIndexes(gridIndex);
|
|
553
280
|
const surroundingGridEntities = [];
|
|
@@ -566,8 +293,8 @@ function getSurroundingGridEntities(gridEntity) {
|
|
|
566
293
|
* bottom-left + bottom + right), even if the computed values would be negative or otherwise
|
|
567
294
|
* invalid.
|
|
568
295
|
*/
|
|
569
|
-
function getSurroundingGridIndexes(gridIndex) {
|
|
570
|
-
const room =
|
|
296
|
+
export function getSurroundingGridIndexes(gridIndex) {
|
|
297
|
+
const room = game.GetRoom();
|
|
571
298
|
const gridWidth = room.GetGridWidth();
|
|
572
299
|
return [
|
|
573
300
|
gridIndex - gridWidth - 1, // Top-left
|
|
@@ -585,8 +312,8 @@ function getSurroundingGridIndexes(gridIndex) {
|
|
|
585
312
|
*
|
|
586
313
|
* This function can be useful in certain situations to determine if the room is currently loaded.
|
|
587
314
|
*/
|
|
588
|
-
function getTopLeftWall() {
|
|
589
|
-
const room =
|
|
315
|
+
export function getTopLeftWall() {
|
|
316
|
+
const room = game.GetRoom();
|
|
590
317
|
const topLeftWallGridIndex = getTopLeftWallGridIndex();
|
|
591
318
|
return room.GetGridEntity(topLeftWallGridIndex);
|
|
592
319
|
}
|
|
@@ -596,11 +323,11 @@ function getTopLeftWall() {
|
|
|
596
323
|
*
|
|
597
324
|
* This function can be useful in certain situations to determine if the room is currently loaded.
|
|
598
325
|
*/
|
|
599
|
-
function getTopLeftWallGridIndex() {
|
|
600
|
-
const room =
|
|
326
|
+
export function getTopLeftWallGridIndex() {
|
|
327
|
+
const room = game.GetRoom();
|
|
601
328
|
const roomShape = room.GetRoomShape();
|
|
602
|
-
const topLeftWallGridIndex =
|
|
603
|
-
return topLeftWallGridIndex ??
|
|
329
|
+
const topLeftWallGridIndex = ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP.get(roomShape);
|
|
330
|
+
return topLeftWallGridIndex ?? DEFAULT_TOP_LEFT_WALL_GRID_INDEX;
|
|
604
331
|
}
|
|
605
332
|
/**
|
|
606
333
|
* Helper function to detect if a particular grid entity would "break" if it was touched by an
|
|
@@ -608,7 +335,7 @@ function getTopLeftWallGridIndex() {
|
|
|
608
335
|
*
|
|
609
336
|
* For example, rocks and pots are breakable by explosions, but blocks are not.
|
|
610
337
|
*/
|
|
611
|
-
function isGridEntityBreakableByExplosion(gridEntity) {
|
|
338
|
+
export function isGridEntityBreakableByExplosion(gridEntity) {
|
|
612
339
|
const gridEntityType = gridEntity.GetType();
|
|
613
340
|
const variant = gridEntity.GetVariant();
|
|
614
341
|
const gridEntityTypeVariant = `${gridEntityType}.${variant}`;
|
|
@@ -622,24 +349,24 @@ function isGridEntityBreakableByExplosion(gridEntity) {
|
|
|
622
349
|
* Note that in the case of `GridEntityType.LOCK` (11), the state will turn to being broken before
|
|
623
350
|
* the actual collision for the entity is removed.
|
|
624
351
|
*/
|
|
625
|
-
function isGridEntityBroken(gridEntity) {
|
|
352
|
+
export function isGridEntityBroken(gridEntity) {
|
|
626
353
|
const gridEntityType = gridEntity.GetType();
|
|
627
|
-
const brokenState =
|
|
354
|
+
const brokenState = GRID_ENTITY_TYPE_TO_BROKEN_STATE_MAP.get(gridEntityType);
|
|
628
355
|
return gridEntity.State === brokenState;
|
|
629
356
|
}
|
|
630
357
|
/**
|
|
631
358
|
* Helper function to see if an arbitrary number is a valid `GridEntityXMLType`. This is useful in
|
|
632
359
|
* the `PRE_ROOM_ENTITY_SPAWN` callback for narrowing the type of the first argument.
|
|
633
360
|
*/
|
|
634
|
-
function isGridEntityXMLType(num) {
|
|
361
|
+
export function isGridEntityXMLType(num) {
|
|
635
362
|
return GRID_ENTITY_XML_TYPES_SET.has(num); // eslint-disable-line complete/strict-enums
|
|
636
363
|
}
|
|
637
364
|
/**
|
|
638
365
|
* Helper function to check if the provided grid index has a door on it or if the surrounding 8 grid
|
|
639
366
|
* indexes have a door on it.
|
|
640
367
|
*/
|
|
641
|
-
function isGridIndexAdjacentToDoor(gridIndex) {
|
|
642
|
-
const room =
|
|
368
|
+
export function isGridIndexAdjacentToDoor(gridIndex) {
|
|
369
|
+
const room = game.GetRoom();
|
|
643
370
|
const surroundingGridIndexes = getSurroundingGridIndexes(gridIndex);
|
|
644
371
|
const gridIndexes = [gridIndex, ...surroundingGridIndexes];
|
|
645
372
|
for (const gridIndexToInspect of gridIndexes) {
|
|
@@ -654,8 +381,8 @@ function isGridIndexAdjacentToDoor(gridIndex) {
|
|
|
654
381
|
return false;
|
|
655
382
|
}
|
|
656
383
|
/** Helper function to see if a `GridEntityXMLType` is some kind of poop. */
|
|
657
|
-
function isPoopGridEntityXMLType(gridEntityXMLType) {
|
|
658
|
-
return
|
|
384
|
+
export function isPoopGridEntityXMLType(gridEntityXMLType) {
|
|
385
|
+
return POOP_GRID_ENTITY_XML_TYPES_SET.has(gridEntityXMLType);
|
|
659
386
|
}
|
|
660
387
|
/**
|
|
661
388
|
* Helper function to detect whether a given Void Portal is one that randomly spawns after a boss is
|
|
@@ -665,11 +392,11 @@ function isPoopGridEntityXMLType(gridEntityXMLType) {
|
|
|
665
392
|
* - The `VarData` of Void Portals that are spawned after bosses will be equal to 1.
|
|
666
393
|
* - The `VarData` of the Void Portal in the room after Hush is equal to 0.
|
|
667
394
|
*/
|
|
668
|
-
function isPostBossVoidPortal(gridEntity) {
|
|
395
|
+
export function isPostBossVoidPortal(gridEntity) {
|
|
669
396
|
const saveState = gridEntity.GetSaveState();
|
|
670
|
-
return (saveState.Type ===
|
|
397
|
+
return (saveState.Type === GridEntityType.TRAPDOOR
|
|
671
398
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
672
|
-
&& saveState.Variant ===
|
|
399
|
+
&& saveState.Variant === TrapdoorVariant.VOID_PORTAL
|
|
673
400
|
&& saveState.VarData === 1);
|
|
674
401
|
}
|
|
675
402
|
/**
|
|
@@ -690,8 +417,8 @@ function isPostBossVoidPortal(gridEntity) {
|
|
|
690
417
|
*
|
|
691
418
|
* @returns The grid entities that were removed.
|
|
692
419
|
*/
|
|
693
|
-
function removeAllGridEntitiesExcept(...gridEntityTypes) {
|
|
694
|
-
const gridEntityTypeExceptions = new
|
|
420
|
+
export function removeAllGridEntitiesExcept(...gridEntityTypes) {
|
|
421
|
+
const gridEntityTypeExceptions = new ReadonlySet(gridEntityTypes);
|
|
695
422
|
const gridEntities = getGridEntities();
|
|
696
423
|
const removedGridEntities = [];
|
|
697
424
|
for (const gridEntity of gridEntities) {
|
|
@@ -702,7 +429,7 @@ function removeAllGridEntitiesExcept(...gridEntityTypes) {
|
|
|
702
429
|
}
|
|
703
430
|
}
|
|
704
431
|
if (removedGridEntities.length > 0) {
|
|
705
|
-
|
|
432
|
+
roomUpdateSafe();
|
|
706
433
|
}
|
|
707
434
|
return removedGridEntities;
|
|
708
435
|
}
|
|
@@ -725,7 +452,7 @@ function removeAllGridEntitiesExcept(...gridEntityTypes) {
|
|
|
725
452
|
*
|
|
726
453
|
* @returns An array of the grid entities removed.
|
|
727
454
|
*/
|
|
728
|
-
function removeAllMatchingGridEntities(...gridEntityType) {
|
|
455
|
+
export function removeAllMatchingGridEntities(...gridEntityType) {
|
|
729
456
|
const gridEntities = getGridEntities(...gridEntityType);
|
|
730
457
|
if (gridEntities.length === 0) {
|
|
731
458
|
return [];
|
|
@@ -733,7 +460,7 @@ function removeAllMatchingGridEntities(...gridEntityType) {
|
|
|
733
460
|
for (const gridEntity of gridEntities) {
|
|
734
461
|
removeGridEntity(gridEntity, false);
|
|
735
462
|
}
|
|
736
|
-
|
|
463
|
+
roomUpdateSafe();
|
|
737
464
|
return gridEntities;
|
|
738
465
|
}
|
|
739
466
|
/**
|
|
@@ -743,10 +470,10 @@ function removeAllMatchingGridEntities(...gridEntityType) {
|
|
|
743
470
|
*
|
|
744
471
|
* You must specify an array of entities to look through.
|
|
745
472
|
*/
|
|
746
|
-
function removeEntitiesSpawnedFromGridEntity(entities, gridEntity) {
|
|
473
|
+
export function removeEntitiesSpawnedFromGridEntity(entities, gridEntity) {
|
|
747
474
|
const entitiesFromGridEntity = entities.filter((entity) => entity.FrameCount === 0
|
|
748
|
-
&&
|
|
749
|
-
|
|
475
|
+
&& vectorEquals(entity.Position, gridEntity.Position));
|
|
476
|
+
removeEntities(entitiesFromGridEntity);
|
|
750
477
|
}
|
|
751
478
|
/**
|
|
752
479
|
* Helper function to remove all of the grid entities in the supplied array.
|
|
@@ -760,7 +487,7 @@ function removeEntitiesSpawnedFromGridEntity(entities, gridEntity) {
|
|
|
760
487
|
* @param cap Optional. If specified, will only remove the given amount of entities.
|
|
761
488
|
* @returns An array of the entities that were removed.
|
|
762
489
|
*/
|
|
763
|
-
function removeGridEntities(gridEntities, updateRoom, cap) {
|
|
490
|
+
export function removeGridEntities(gridEntities, updateRoom, cap) {
|
|
764
491
|
if (gridEntities.length === 0) {
|
|
765
492
|
return [];
|
|
766
493
|
}
|
|
@@ -773,7 +500,7 @@ function removeGridEntities(gridEntities, updateRoom, cap) {
|
|
|
773
500
|
}
|
|
774
501
|
}
|
|
775
502
|
if (updateRoom) {
|
|
776
|
-
|
|
503
|
+
roomUpdateSafe();
|
|
777
504
|
}
|
|
778
505
|
return gridEntitiesRemoved;
|
|
779
506
|
}
|
|
@@ -791,9 +518,9 @@ function removeGridEntities(gridEntities, updateRoom, cap) {
|
|
|
791
518
|
* this is expensive, since it involves a call to `Isaac.GetRoomEntities`, so set
|
|
792
519
|
* this to false if you need to run this function multiple times.
|
|
793
520
|
*/
|
|
794
|
-
function removeGridEntity(gridEntityOrGridIndex, updateRoom) {
|
|
795
|
-
const room =
|
|
796
|
-
const gridEntity =
|
|
521
|
+
export function removeGridEntity(gridEntityOrGridIndex, updateRoom) {
|
|
522
|
+
const room = game.GetRoom();
|
|
523
|
+
const gridEntity = isInteger(gridEntityOrGridIndex)
|
|
797
524
|
? room.GetGridEntity(gridEntityOrGridIndex)
|
|
798
525
|
: gridEntityOrGridIndex;
|
|
799
526
|
if (gridEntity === undefined) {
|
|
@@ -803,24 +530,24 @@ function removeGridEntity(gridEntityOrGridIndex, updateRoom) {
|
|
|
803
530
|
const gridEntityType = gridEntity.GetType();
|
|
804
531
|
const variant = gridEntity.GetVariant();
|
|
805
532
|
const position = gridEntity.Position;
|
|
806
|
-
const gridIndex =
|
|
533
|
+
const gridIndex = isInteger(gridEntityOrGridIndex)
|
|
807
534
|
? gridEntityOrGridIndex
|
|
808
535
|
: gridEntityOrGridIndex.GetGridIndex();
|
|
809
536
|
room.RemoveGridEntity(gridIndex, 0, false);
|
|
810
537
|
if (updateRoom) {
|
|
811
|
-
|
|
538
|
+
roomUpdateSafe();
|
|
812
539
|
}
|
|
813
540
|
// In the special case of removing a Devil Statue or Angel Statue, we also need to delete the
|
|
814
541
|
// corresponding effect.
|
|
815
|
-
if (gridEntityType ===
|
|
542
|
+
if (gridEntityType === GridEntityType.STATUE) {
|
|
816
543
|
const effectVariant =
|
|
817
544
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
818
|
-
variant ===
|
|
819
|
-
?
|
|
820
|
-
:
|
|
821
|
-
const effects =
|
|
822
|
-
const effectsOnTile = effects.filter((effect) =>
|
|
823
|
-
|
|
545
|
+
variant === StatueVariant.DEVIL
|
|
546
|
+
? EffectVariant.DEVIL
|
|
547
|
+
: EffectVariant.ANGEL;
|
|
548
|
+
const effects = getEffects(effectVariant);
|
|
549
|
+
const effectsOnTile = effects.filter((effect) => vectorEquals(effect.Position, position));
|
|
550
|
+
removeEntities(effectsOnTile);
|
|
824
551
|
}
|
|
825
552
|
}
|
|
826
553
|
/**
|
|
@@ -830,7 +557,7 @@ function removeGridEntity(gridEntityOrGridIndex, updateRoom) {
|
|
|
830
557
|
* longer become visible. (This is because the information about the sprite is lost when it is
|
|
831
558
|
* reset.)
|
|
832
559
|
*/
|
|
833
|
-
function setGridEntityInvisible(gridEntity) {
|
|
560
|
+
export function setGridEntityInvisible(gridEntity) {
|
|
834
561
|
const sprite = gridEntity.GetSprite();
|
|
835
562
|
sprite.Reset();
|
|
836
563
|
}
|
|
@@ -841,7 +568,7 @@ function setGridEntityInvisible(gridEntity) {
|
|
|
841
568
|
*
|
|
842
569
|
* Setting the new type to `GridEntityType.NULL` (0) will have no effect.
|
|
843
570
|
*/
|
|
844
|
-
function setGridEntityType(gridEntity, gridEntityType) {
|
|
571
|
+
export function setGridEntityType(gridEntity, gridEntityType) {
|
|
845
572
|
gridEntity.SetType(gridEntityType);
|
|
846
573
|
const sprite = gridEntity.GetSprite();
|
|
847
574
|
const anm2Path = getGridEntityANM2Path(gridEntityType);
|
|
@@ -849,7 +576,7 @@ function setGridEntityType(gridEntity, gridEntityType) {
|
|
|
849
576
|
return;
|
|
850
577
|
}
|
|
851
578
|
sprite.Load(anm2Path, false);
|
|
852
|
-
if (gridEntityType ===
|
|
579
|
+
if (gridEntityType === GridEntityType.ROCK) {
|
|
853
580
|
const pngPath = getRockPNGPath();
|
|
854
581
|
sprite.ReplaceSpritesheet(0, pngPath);
|
|
855
582
|
}
|
|
@@ -863,8 +590,8 @@ function setGridEntityType(gridEntity, gridEntityType) {
|
|
|
863
590
|
*
|
|
864
591
|
* @returns Whether spawning the four quadrants was successful.
|
|
865
592
|
*/
|
|
866
|
-
function spawnGiantPoop(topLeftGridIndex) {
|
|
867
|
-
const room =
|
|
593
|
+
export function spawnGiantPoop(topLeftGridIndex) {
|
|
594
|
+
const room = game.GetRoom();
|
|
868
595
|
const gridWidth = room.GetGridWidth();
|
|
869
596
|
const topRightGridIndex = topLeftGridIndex + 1;
|
|
870
597
|
const bottomLeftGridIndex = topLeftGridIndex + gridWidth;
|
|
@@ -881,26 +608,26 @@ function spawnGiantPoop(topLeftGridIndex) {
|
|
|
881
608
|
return false;
|
|
882
609
|
}
|
|
883
610
|
}
|
|
884
|
-
const topLeft = spawnGridEntityWithVariant(
|
|
885
|
-
const topRight = spawnGridEntityWithVariant(
|
|
886
|
-
const bottomLeft = spawnGridEntityWithVariant(
|
|
887
|
-
const bottomRight = spawnGridEntityWithVariant(
|
|
611
|
+
const topLeft = spawnGridEntityWithVariant(GridEntityType.POOP, PoopGridEntityVariant.GIANT_TOP_LEFT, topLeftGridIndex);
|
|
612
|
+
const topRight = spawnGridEntityWithVariant(GridEntityType.POOP, PoopGridEntityVariant.GIANT_TOP_RIGHT, topRightGridIndex);
|
|
613
|
+
const bottomLeft = spawnGridEntityWithVariant(GridEntityType.POOP, PoopGridEntityVariant.GIANT_BOTTOM_LEFT, bottomLeftGridIndex);
|
|
614
|
+
const bottomRight = spawnGridEntityWithVariant(GridEntityType.POOP, PoopGridEntityVariant.GIANT_BOTTOM_RIGHT, bottomRightGridIndex);
|
|
888
615
|
return (topLeft !== undefined
|
|
889
|
-
&& topLeft.GetType() ===
|
|
616
|
+
&& topLeft.GetType() === GridEntityType.POOP
|
|
890
617
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
891
|
-
&& topLeft.GetVariant() ===
|
|
618
|
+
&& topLeft.GetVariant() === PoopGridEntityVariant.GIANT_TOP_LEFT
|
|
892
619
|
&& topRight !== undefined
|
|
893
|
-
&& topRight.GetType() ===
|
|
620
|
+
&& topRight.GetType() === GridEntityType.POOP
|
|
894
621
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
895
|
-
&& topRight.GetVariant() ===
|
|
622
|
+
&& topRight.GetVariant() === PoopGridEntityVariant.GIANT_TOP_RIGHT
|
|
896
623
|
&& bottomLeft !== undefined
|
|
897
|
-
&& bottomLeft.GetType() ===
|
|
624
|
+
&& bottomLeft.GetType() === GridEntityType.POOP
|
|
898
625
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
899
|
-
&& bottomLeft.GetVariant() ===
|
|
626
|
+
&& bottomLeft.GetVariant() === PoopGridEntityVariant.GIANT_BOTTOM_LEFT
|
|
900
627
|
&& bottomRight !== undefined
|
|
901
|
-
&& bottomRight.GetType() ===
|
|
628
|
+
&& bottomRight.GetType() === GridEntityType.POOP
|
|
902
629
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
903
|
-
&& bottomRight.GetVariant() ===
|
|
630
|
+
&& bottomRight.GetVariant() === PoopGridEntityVariant.GIANT_BOTTOM_RIGHT);
|
|
904
631
|
}
|
|
905
632
|
/**
|
|
906
633
|
* Helper function to spawn a grid entity with a specific type.
|
|
@@ -917,13 +644,13 @@ function spawnGiantPoop(topLeftGridIndex) {
|
|
|
917
644
|
* @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
|
|
918
645
|
* entity at. If a position is specified, the closest grid index will be
|
|
919
646
|
* used.
|
|
920
|
-
* @param
|
|
921
|
-
* tile, if it exists. Defaults to true. If false, this
|
|
922
|
-
* will do nothing, since spawning a grid entity on top of
|
|
923
|
-
* grid entity will not replace it.
|
|
647
|
+
* @param shouldRemoveExistingGridEntity Optional. Whether to remove the existing grid entity on the
|
|
648
|
+
* same tile, if it exists. Defaults to true. If false, this
|
|
649
|
+
* function will do nothing, since spawning a grid entity on top of
|
|
650
|
+
* another grid entity will not replace it.
|
|
924
651
|
*/
|
|
925
|
-
function spawnGridEntity(gridEntityType, gridIndexOrPosition,
|
|
926
|
-
return spawnGridEntityWithVariant(gridEntityType, 0, gridIndexOrPosition,
|
|
652
|
+
export function spawnGridEntity(gridEntityType, gridIndexOrPosition, shouldRemoveExistingGridEntity = true) {
|
|
653
|
+
return spawnGridEntityWithVariant(gridEntityType, 0, gridIndexOrPosition, shouldRemoveExistingGridEntity);
|
|
927
654
|
}
|
|
928
655
|
/**
|
|
929
656
|
* Helper function to spawn a grid entity with a specific variant.
|
|
@@ -938,38 +665,38 @@ function spawnGridEntity(gridEntityType, gridIndexOrPosition, removeExistingGrid
|
|
|
938
665
|
* @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
|
|
939
666
|
* entity at. If a position is specified, the closest grid index will be
|
|
940
667
|
* used.
|
|
941
|
-
* @param
|
|
942
|
-
* tile, if it exists. Defaults to true. If false, this
|
|
943
|
-
* will do nothing, since spawning a grid entity on top of
|
|
944
|
-
* grid entity will not replace it.
|
|
668
|
+
* @param shouldRemoveExistingGridEntity Optional. Whether to remove the existing grid entity on the
|
|
669
|
+
* same tile, if it exists. Defaults to true. If false, this
|
|
670
|
+
* function will do nothing, since spawning a grid entity on top of
|
|
671
|
+
* another grid entity will not replace it.
|
|
945
672
|
*/
|
|
946
|
-
function spawnGridEntityWithVariant(gridEntityType, variant, gridIndexOrPosition,
|
|
947
|
-
const room =
|
|
673
|
+
export function spawnGridEntityWithVariant(gridEntityType, variant, gridIndexOrPosition, shouldRemoveExistingGridEntity = true) {
|
|
674
|
+
const room = game.GetRoom();
|
|
948
675
|
// We do an explicit check to prevent run-time errors in Lua environments.
|
|
949
676
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
950
677
|
if (gridIndexOrPosition === undefined) {
|
|
951
678
|
const gridEntityID = getGridEntityIDFromConstituents(gridEntityType, variant);
|
|
952
679
|
error(`Failed to spawn grid entity ${gridEntityID} since an undefined position was passed to the "spawnGridEntityWithVariant" function.`);
|
|
953
680
|
}
|
|
954
|
-
const existingGridEntity =
|
|
681
|
+
const existingGridEntity = isVector(gridIndexOrPosition)
|
|
955
682
|
? room.GetGridEntityFromPos(gridIndexOrPosition)
|
|
956
683
|
: room.GetGridEntity(gridIndexOrPosition);
|
|
957
684
|
if (existingGridEntity !== undefined) {
|
|
958
|
-
if (
|
|
685
|
+
if (shouldRemoveExistingGridEntity) {
|
|
959
686
|
removeGridEntity(existingGridEntity, true);
|
|
960
687
|
}
|
|
961
688
|
else {
|
|
962
689
|
return undefined;
|
|
963
690
|
}
|
|
964
691
|
}
|
|
965
|
-
const position =
|
|
692
|
+
const position = isVector(gridIndexOrPosition)
|
|
966
693
|
? gridIndexOrPosition
|
|
967
694
|
: room.GetGridPosition(gridIndexOrPosition);
|
|
968
695
|
const gridEntity = Isaac.GridSpawn(gridEntityType, variant, position);
|
|
969
696
|
if (gridEntity === undefined) {
|
|
970
697
|
return gridEntity;
|
|
971
698
|
}
|
|
972
|
-
if (gridEntityType ===
|
|
699
|
+
if (gridEntityType === GridEntityType.PIT) {
|
|
973
700
|
// For some reason, spawned pits start with a collision class of `NONE`, so we have to manually
|
|
974
701
|
// set it.
|
|
975
702
|
const pit = gridEntity.ToPit();
|
|
@@ -977,10 +704,10 @@ function spawnGridEntityWithVariant(gridEntityType, variant, gridIndexOrPosition
|
|
|
977
704
|
pit.UpdateCollision();
|
|
978
705
|
}
|
|
979
706
|
}
|
|
980
|
-
else if (gridEntityType ===
|
|
707
|
+
else if (gridEntityType === GridEntityType.WALL) {
|
|
981
708
|
// For some reason, spawned walls start with a collision class of `NONE`, so we have to manually
|
|
982
709
|
// set it.
|
|
983
|
-
gridEntity.CollisionClass =
|
|
710
|
+
gridEntity.CollisionClass = GridCollisionClass.WALL;
|
|
984
711
|
}
|
|
985
712
|
return gridEntity;
|
|
986
713
|
}
|
|
@@ -988,8 +715,8 @@ function spawnGridEntityWithVariant(gridEntityType, variant, gridIndexOrPosition
|
|
|
988
715
|
* Helper function to spawn a Void Portal. This is more complicated than simply spawning a trapdoor
|
|
989
716
|
* with the appropriate variant, as the game does not give it the correct sprite automatically.
|
|
990
717
|
*/
|
|
991
|
-
function spawnVoidPortal(gridIndex) {
|
|
992
|
-
const voidPortal = spawnGridEntityWithVariant(
|
|
718
|
+
export function spawnVoidPortal(gridIndex) {
|
|
719
|
+
const voidPortal = spawnGridEntityWithVariant(GridEntityType.TRAPDOOR, TrapdoorVariant.VOID_PORTAL, gridIndex);
|
|
993
720
|
if (voidPortal === undefined) {
|
|
994
721
|
return voidPortal;
|
|
995
722
|
}
|
|
@@ -1000,3 +727,241 @@ function spawnVoidPortal(gridIndex) {
|
|
|
1000
727
|
sprite.Load("gfx/grid/voidtrapdoor.anm2", true);
|
|
1001
728
|
return voidPortal;
|
|
1002
729
|
}
|
|
730
|
+
function getAllGridEntities() {
|
|
731
|
+
const room = game.GetRoom();
|
|
732
|
+
const gridEntities = [];
|
|
733
|
+
for (const gridIndex of getAllGridIndexes()) {
|
|
734
|
+
const gridEntity = room.GetGridEntity(gridIndex);
|
|
735
|
+
if (gridEntity !== undefined) {
|
|
736
|
+
gridEntities.push(gridEntity);
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
return gridEntities;
|
|
740
|
+
}
|
|
741
|
+
function getGridEntityANM2Name(gridEntityType) {
|
|
742
|
+
switch (gridEntityType) {
|
|
743
|
+
// 1
|
|
744
|
+
case GridEntityType.DECORATION: {
|
|
745
|
+
return getGridEntityANM2NameDecoration();
|
|
746
|
+
}
|
|
747
|
+
default: {
|
|
748
|
+
return GRID_ENTITY_TYPE_TO_ANM2_NAME[gridEntityType];
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
/**
|
|
753
|
+
* Helper function to get the ANM2 path for a decoration. This depends on the current room's
|
|
754
|
+
* backdrop. The values are taken from the "backdrops.xml" file.
|
|
755
|
+
*/
|
|
756
|
+
function getGridEntityANM2NameDecoration() {
|
|
757
|
+
const room = game.GetRoom();
|
|
758
|
+
const backdropType = room.GetBackdropType();
|
|
759
|
+
switch (backdropType) {
|
|
760
|
+
// 1, 2, 3, 36, 49, 52
|
|
761
|
+
case BackdropType.BASEMENT:
|
|
762
|
+
case BackdropType.CELLAR:
|
|
763
|
+
case BackdropType.BURNING_BASEMENT:
|
|
764
|
+
case BackdropType.DOWNPOUR_ENTRANCE:
|
|
765
|
+
case BackdropType.ISAACS_BEDROOM:
|
|
766
|
+
case BackdropType.CLOSET: {
|
|
767
|
+
return "Props_01_Basement.anm2";
|
|
768
|
+
}
|
|
769
|
+
// 4, 5, 6, 37
|
|
770
|
+
case BackdropType.CAVES:
|
|
771
|
+
case BackdropType.CATACOMBS:
|
|
772
|
+
case BackdropType.FLOODED_CAVES:
|
|
773
|
+
case BackdropType.MINES_ENTRANCE: {
|
|
774
|
+
return "Props_03_Caves.anm2";
|
|
775
|
+
}
|
|
776
|
+
// 7, 8, 9, 30, 33, 38, 39, 40, 41, 42, 53, 60
|
|
777
|
+
case BackdropType.DEPTHS:
|
|
778
|
+
case BackdropType.NECROPOLIS:
|
|
779
|
+
case BackdropType.DANK_DEPTHS:
|
|
780
|
+
case BackdropType.SACRIFICE:
|
|
781
|
+
case BackdropType.MAUSOLEUM:
|
|
782
|
+
case BackdropType.MAUSOLEUM_ENTRANCE:
|
|
783
|
+
case BackdropType.CORPSE_ENTRANCE:
|
|
784
|
+
case BackdropType.MAUSOLEUM_2:
|
|
785
|
+
case BackdropType.MAUSOLEUM_3:
|
|
786
|
+
case BackdropType.MAUSOLEUM_4:
|
|
787
|
+
case BackdropType.CLOSET_B:
|
|
788
|
+
case BackdropType.DARK_CLOSET: {
|
|
789
|
+
return "Props_05_Depths.anm2";
|
|
790
|
+
}
|
|
791
|
+
// 10, 12
|
|
792
|
+
case BackdropType.WOMB:
|
|
793
|
+
case BackdropType.SCARRED_WOMB: {
|
|
794
|
+
return "Props_07_The Womb.anm2";
|
|
795
|
+
}
|
|
796
|
+
// 11
|
|
797
|
+
case BackdropType.UTERO: {
|
|
798
|
+
return "Props_07_Utero.anm2";
|
|
799
|
+
}
|
|
800
|
+
// 13, 27
|
|
801
|
+
case BackdropType.BLUE_WOMB:
|
|
802
|
+
case BackdropType.BLUE_WOMB_PASS: {
|
|
803
|
+
return "Props_07_The Womb_blue.anm2";
|
|
804
|
+
}
|
|
805
|
+
// 14, 47
|
|
806
|
+
case BackdropType.SHEOL:
|
|
807
|
+
case BackdropType.GEHENNA: {
|
|
808
|
+
return "Props_09_Sheol.anm2";
|
|
809
|
+
}
|
|
810
|
+
// 15
|
|
811
|
+
case BackdropType.CATHEDRAL: {
|
|
812
|
+
return "Props_10_Cathedral.anm2";
|
|
813
|
+
}
|
|
814
|
+
// 17
|
|
815
|
+
case BackdropType.CHEST: {
|
|
816
|
+
return "Props_11_The Chest.anm2";
|
|
817
|
+
}
|
|
818
|
+
// 28
|
|
819
|
+
case BackdropType.GREED_SHOP: {
|
|
820
|
+
return "Props_12_Greed.anm2";
|
|
821
|
+
}
|
|
822
|
+
// 31
|
|
823
|
+
case BackdropType.DOWNPOUR: {
|
|
824
|
+
return "props_01x_downpour.anm2";
|
|
825
|
+
}
|
|
826
|
+
// 32, 46, 58, 59
|
|
827
|
+
case BackdropType.MINES:
|
|
828
|
+
case BackdropType.ASHPIT:
|
|
829
|
+
case BackdropType.MINES_SHAFT:
|
|
830
|
+
case BackdropType.ASHPIT_SHAFT: {
|
|
831
|
+
return "props_03x_mines.anm2";
|
|
832
|
+
}
|
|
833
|
+
// 34, 43, 44, 48
|
|
834
|
+
case BackdropType.CORPSE:
|
|
835
|
+
case BackdropType.CORPSE_2:
|
|
836
|
+
case BackdropType.CORPSE_3:
|
|
837
|
+
case BackdropType.MORTIS: {
|
|
838
|
+
return "props_07_the corpse.anm2";
|
|
839
|
+
}
|
|
840
|
+
// 45
|
|
841
|
+
case BackdropType.DROSS: {
|
|
842
|
+
return "props_02x_dross.anm2";
|
|
843
|
+
}
|
|
844
|
+
default: {
|
|
845
|
+
return "Props_01_Basement.anm2";
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
function getRockPNGName() {
|
|
850
|
+
const room = game.GetRoom();
|
|
851
|
+
const backdropType = room.GetBackdropType();
|
|
852
|
+
switch (backdropType) {
|
|
853
|
+
// 1, 17
|
|
854
|
+
case BackdropType.BASEMENT:
|
|
855
|
+
case BackdropType.CHEST: {
|
|
856
|
+
return "rocks_basement.png";
|
|
857
|
+
}
|
|
858
|
+
// 2
|
|
859
|
+
case BackdropType.CELLAR: {
|
|
860
|
+
return "rocks_cellar.png";
|
|
861
|
+
}
|
|
862
|
+
// 3
|
|
863
|
+
case BackdropType.BURNING_BASEMENT: {
|
|
864
|
+
return "rocks_burningbasement.png"; // cspell:ignore burningbasement
|
|
865
|
+
}
|
|
866
|
+
// 4
|
|
867
|
+
case BackdropType.CAVES: {
|
|
868
|
+
return "rocks_caves.png";
|
|
869
|
+
}
|
|
870
|
+
// 5
|
|
871
|
+
case BackdropType.CATACOMBS: {
|
|
872
|
+
return "rocks_catacombs.png";
|
|
873
|
+
}
|
|
874
|
+
// 6
|
|
875
|
+
case BackdropType.FLOODED_CAVES: {
|
|
876
|
+
return "rocks_drownedcaves.png"; // cspell:ignore drownedcaves
|
|
877
|
+
}
|
|
878
|
+
// 7, 8, 9, 30, 60
|
|
879
|
+
case BackdropType.DEPTHS:
|
|
880
|
+
case BackdropType.NECROPOLIS:
|
|
881
|
+
case BackdropType.DANK_DEPTHS:
|
|
882
|
+
case BackdropType.SACRIFICE:
|
|
883
|
+
case BackdropType.DARK_CLOSET: {
|
|
884
|
+
return "rocks_depths.png";
|
|
885
|
+
}
|
|
886
|
+
// 10
|
|
887
|
+
case BackdropType.WOMB: {
|
|
888
|
+
return "rocks_womb.png";
|
|
889
|
+
}
|
|
890
|
+
// 11
|
|
891
|
+
case BackdropType.UTERO: {
|
|
892
|
+
return "rocks_utero.png";
|
|
893
|
+
}
|
|
894
|
+
// 12
|
|
895
|
+
case BackdropType.SCARRED_WOMB: {
|
|
896
|
+
return "rocks_scarredwomb.png"; // cspell:ignore scarredwomb
|
|
897
|
+
}
|
|
898
|
+
// 13, 27
|
|
899
|
+
case BackdropType.BLUE_WOMB:
|
|
900
|
+
case BackdropType.BLUE_WOMB_PASS: {
|
|
901
|
+
return "rocks_bluewomb.png"; // cspell:ignore bluewomb
|
|
902
|
+
}
|
|
903
|
+
// 14, 16
|
|
904
|
+
case BackdropType.SHEOL:
|
|
905
|
+
case BackdropType.DARK_ROOM: {
|
|
906
|
+
return "rocks_sheol.png";
|
|
907
|
+
}
|
|
908
|
+
// 15, 35
|
|
909
|
+
case BackdropType.CATHEDRAL:
|
|
910
|
+
case BackdropType.PLANETARIUM: {
|
|
911
|
+
return "rocks_cathedral.png";
|
|
912
|
+
}
|
|
913
|
+
// 23, 32, 37, 58
|
|
914
|
+
case BackdropType.SECRET:
|
|
915
|
+
case BackdropType.MINES:
|
|
916
|
+
case BackdropType.MINES_ENTRANCE:
|
|
917
|
+
case BackdropType.MINES_SHAFT: {
|
|
918
|
+
return "rocks_secretroom.png"; // cspell:ignore secretroom
|
|
919
|
+
}
|
|
920
|
+
// 31, 36
|
|
921
|
+
case BackdropType.DOWNPOUR:
|
|
922
|
+
case BackdropType.DOWNPOUR_ENTRANCE: {
|
|
923
|
+
return "rocks_downpour.png";
|
|
924
|
+
}
|
|
925
|
+
// 33, 38, 40, 41, 42
|
|
926
|
+
case BackdropType.MAUSOLEUM:
|
|
927
|
+
case BackdropType.MAUSOLEUM_ENTRANCE:
|
|
928
|
+
case BackdropType.MAUSOLEUM_2:
|
|
929
|
+
case BackdropType.MAUSOLEUM_3:
|
|
930
|
+
case BackdropType.MAUSOLEUM_4: {
|
|
931
|
+
return "rocks_mausoleum.png";
|
|
932
|
+
}
|
|
933
|
+
// 34, 48
|
|
934
|
+
case BackdropType.CORPSE:
|
|
935
|
+
case BackdropType.MORTIS: {
|
|
936
|
+
return "rocks_corpse.png";
|
|
937
|
+
}
|
|
938
|
+
// 39
|
|
939
|
+
case BackdropType.CORPSE_ENTRANCE: {
|
|
940
|
+
return "rocks_corpseentrance.png"; // cspell:ignore corpseentrance
|
|
941
|
+
}
|
|
942
|
+
// 43
|
|
943
|
+
case BackdropType.CORPSE_2: {
|
|
944
|
+
return "rocks_corpse2.png";
|
|
945
|
+
}
|
|
946
|
+
// 44
|
|
947
|
+
case BackdropType.CORPSE_3: {
|
|
948
|
+
return "rocks_corpse3.png";
|
|
949
|
+
}
|
|
950
|
+
// 45
|
|
951
|
+
case BackdropType.DROSS: {
|
|
952
|
+
return "rocks_dross.png";
|
|
953
|
+
}
|
|
954
|
+
// 46, 59
|
|
955
|
+
case BackdropType.ASHPIT:
|
|
956
|
+
case BackdropType.ASHPIT_SHAFT: {
|
|
957
|
+
return "rocks_ashpit.png";
|
|
958
|
+
}
|
|
959
|
+
// 47
|
|
960
|
+
case BackdropType.GEHENNA: {
|
|
961
|
+
return "rocks_gehenna.png";
|
|
962
|
+
}
|
|
963
|
+
default: {
|
|
964
|
+
return "rocks_basement.png";
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
}
|