isaacscript-common 14.0.0 → 14.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1111 -83
- package/dist/isaacscript-common.lua +9946 -7327
- package/dist/src/callbacks/customRevive.lua +10 -1
- package/dist/src/callbacks/postDoorRender.lua +2 -2
- package/dist/src/callbacks/postEffectStateChanged.lua +3 -3
- package/dist/src/callbacks/postFamiliarStateChanged.lua +3 -3
- package/dist/src/callbacks/postFlip.lua +1 -1
- package/dist/src/callbacks/postGridEntity.lua +2 -2
- package/dist/src/callbacks/postNPCStateChanged.lua +3 -3
- package/dist/src/callbacks/postPickupStateChanged.lua +3 -3
- package/dist/src/callbacks/postPlayerCollectible.d.ts.map +1 -1
- package/dist/src/callbacks/postPlayerCollectible.lua +5 -9
- package/dist/src/callbacks/reorderedCallbacks.lua +7 -7
- package/dist/src/callbacks/subscriptions/postGridEntityBroken.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityBroken.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityBroken.lua +3 -3
- package/dist/src/callbacks/subscriptions/postGridEntityInit.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityInit.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityInit.lua +3 -3
- package/dist/src/callbacks/subscriptions/postGridEntityRemove.d.ts +3 -3
- package/dist/src/callbacks/subscriptions/postGridEntityRemove.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityRemove.lua +4 -4
- package/dist/src/callbacks/subscriptions/postGridEntityRender.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityRender.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityRender.lua +3 -3
- package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.lua +3 -3
- package/dist/src/callbacks/subscriptions/postGridEntityUpdate.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityUpdate.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postGridEntityUpdate.lua +3 -3
- package/dist/src/callbacks/subscriptions/postRockRender.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postRockRender.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postRockRender.lua +3 -3
- package/dist/src/callbacks/subscriptions/postRockUpdate.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postRockUpdate.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postRockUpdate.lua +3 -3
- package/dist/src/callbacks/subscriptions/postSpikesRender.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postSpikesRender.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postSpikesRender.lua +3 -3
- package/dist/src/callbacks/subscriptions/postSpikesUpdate.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postSpikesUpdate.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postSpikesUpdate.lua +3 -3
- package/dist/src/callbacks/subscriptions/postTNTRender.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postTNTRender.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postTNTRender.lua +3 -3
- package/dist/src/callbacks/subscriptions/postTNTUpdate.d.ts +1 -1
- package/dist/src/callbacks/subscriptions/postTNTUpdate.d.ts.map +1 -1
- package/dist/src/callbacks/subscriptions/postTNTUpdate.lua +3 -3
- package/dist/src/callbacks.d.ts +106 -0
- package/dist/src/callbacks.d.ts.map +1 -0
- package/dist/src/callbacks.lua +176 -0
- package/dist/src/classes/DefaultMap.d.ts.map +1 -1
- package/dist/src/classes/ModFeature.d.ts +11 -0
- package/dist/src/classes/ModFeature.d.ts.map +1 -0
- package/dist/src/classes/ModFeature.lua +13 -0
- package/dist/src/classes/ModUpgraded.d.ts +41 -7
- package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
- package/dist/src/classes/ModUpgraded.lua +75 -60
- package/dist/src/classes/callbacks/PostAmbushFinished.d.ts +1 -1
- package/dist/src/classes/callbacks/PostAmbushFinished.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostAmbushFinished.lua +1 -1
- package/dist/src/classes/callbacks/PostAmbushStarted.d.ts +1 -1
- package/dist/src/classes/callbacks/PostAmbushStarted.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostAmbushStarted.lua +1 -1
- package/dist/src/classes/callbacks/PostBombExploded.d.ts +1 -1
- package/dist/src/classes/callbacks/PostBombExploded.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostBombExploded.lua +1 -1
- package/dist/src/classes/callbacks/PostBombInitLate.d.ts +1 -1
- package/dist/src/classes/callbacks/PostBombInitLate.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostBombInitLate.lua +1 -1
- package/dist/src/classes/callbacks/PostBoneSwing.d.ts +3 -4
- package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostBoneSwing.lua +1 -1
- package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts +3 -3
- package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostCollectibleEmpty.lua +1 -1
- package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts +1 -1
- package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostCollectibleInitFirst.lua +1 -1
- package/dist/src/classes/callbacks/PostCursedTeleport.d.ts +5 -6
- package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostCursedTeleport.lua +1 -1
- package/dist/src/classes/callbacks/PostCustomRevive.d.ts +6 -0
- package/dist/src/classes/callbacks/PostCustomRevive.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostCustomRevive.lua +17 -0
- package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts +15 -0
- package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostDiceRoomActivated.lua +44 -0
- package/dist/src/classes/callbacks/PostDoorRender.d.ts +7 -0
- package/dist/src/classes/callbacks/PostDoorRender.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostDoorRender.lua +24 -0
- package/dist/src/classes/callbacks/PostDoorUpdate.d.ts +7 -0
- package/dist/src/classes/callbacks/PostDoorUpdate.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostDoorUpdate.lua +24 -0
- package/dist/src/classes/callbacks/PostEffectInitLate.d.ts +12 -0
- package/dist/src/classes/callbacks/PostEffectInitLate.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostEffectInitLate.lua +27 -0
- package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts +13 -0
- package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostEffectStateChanged.lua +33 -0
- package/dist/src/classes/callbacks/PostEsauJr.d.ts +6 -0
- package/dist/src/classes/callbacks/PostEsauJr.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostEsauJr.lua +17 -0
- package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts +12 -0
- package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostFamiliarInitLate.lua +27 -0
- package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts +13 -0
- package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostFamiliarStateChanged.lua +33 -0
- package/dist/src/classes/callbacks/PostFirstEsauJr.d.ts +6 -0
- package/dist/src/classes/callbacks/PostFirstEsauJr.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostFirstEsauJr.lua +17 -0
- package/dist/src/classes/callbacks/PostFirstFlip.d.ts +6 -0
- package/dist/src/classes/callbacks/PostFirstFlip.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostFirstFlip.lua +17 -0
- package/dist/src/classes/callbacks/PostFlip.d.ts +6 -0
- package/dist/src/classes/callbacks/PostFlip.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostFlip.lua +17 -0
- package/dist/src/classes/callbacks/PostGameStartedReordered.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGameStartedReordered.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGameStartedReordered.lua +17 -0
- package/dist/src/classes/callbacks/PostGameStartedReorderedLast.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGameStartedReorderedLast.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGameStartedReorderedLast.lua +17 -0
- package/dist/src/classes/callbacks/PostGreedModeWave.d.ts +12 -0
- package/dist/src/classes/callbacks/PostGreedModeWave.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGreedModeWave.lua +34 -0
- package/dist/src/classes/callbacks/PostGridEntityBroken.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityBroken.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityBroken.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityCollision.d.ts +9 -0
- package/dist/src/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCollision.lua +36 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomBroken.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomBroken.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomBroken.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomCollision.d.ts +9 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomCollision.lua +31 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomInit.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomInit.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomInit.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomRemove.d.ts +9 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomRemove.lua +25 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityInit.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityInit.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityInit.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityRemove.d.ts +9 -0
- package/dist/src/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityRemove.lua +28 -0
- package/dist/src/classes/callbacks/PostGridEntityStateChanged.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityStateChanged.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityStateChanged.lua +17 -0
- package/dist/src/classes/callbacks/PostGridEntityUpdate.d.ts +6 -0
- package/dist/src/classes/callbacks/PostGridEntityUpdate.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostGridEntityUpdate.lua +17 -0
- package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts +14 -0
- package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +35 -0
- package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts +1 -1
- package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostKnifeInitLate.lua +1 -1
- package/dist/src/classes/callbacks/PostNewLevelReordered.d.ts +6 -0
- package/dist/src/classes/callbacks/PostNewLevelReordered.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostNewLevelReordered.lua +17 -0
- package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts +6 -7
- package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostNewRoomEarly.lua +1 -1
- package/dist/src/classes/callbacks/PostNewRoomReordered.d.ts +6 -0
- package/dist/src/classes/callbacks/PostNewRoomReordered.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostNewRoomReordered.lua +17 -0
- package/dist/src/classes/callbacks/PostPEffectUpdateReordered.d.ts +6 -0
- package/dist/src/classes/callbacks/PostPEffectUpdateReordered.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostPEffectUpdateReordered.lua +17 -0
- package/dist/src/classes/callbacks/PostPitRender.d.ts +1 -1
- package/dist/src/classes/callbacks/PostPitRender.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostPitRender.lua +1 -1
- package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +15 -0
- package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostPlayerFatalDamage.lua +87 -0
- package/dist/src/classes/callbacks/PostPlayerRenderReordered.d.ts +6 -0
- package/dist/src/classes/callbacks/PostPlayerRenderReordered.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostPlayerRenderReordered.lua +17 -0
- package/dist/src/classes/callbacks/PostPlayerUpdateReordered.d.ts +6 -0
- package/dist/src/classes/callbacks/PostPlayerUpdateReordered.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PostPlayerUpdateReordered.lua +17 -0
- package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts +2 -2
- package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostRoomClearChanged.lua +1 -1
- package/dist/src/classes/callbacks/PostSpikesRender.d.ts +1 -1
- package/dist/src/classes/callbacks/PostSpikesRender.d.ts.map +1 -1
- package/dist/src/classes/callbacks/PostSpikesRender.lua +1 -1
- package/dist/src/classes/callbacks/PreBerserkDeath.d.ts +7 -0
- package/dist/src/classes/callbacks/PreBerserkDeath.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PreBerserkDeath.lua +36 -0
- package/dist/src/classes/callbacks/PreCustomRevive.d.ts +6 -0
- package/dist/src/classes/callbacks/PreCustomRevive.d.ts.map +1 -0
- package/dist/src/classes/callbacks/PreCustomRevive.lua +17 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.d.ts +3 -3
- package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.d.ts.map +1 -1
- package/dist/src/classes/callbacks/validation/CustomCallbackBomb.d.ts +2 -2
- package/dist/src/classes/callbacks/validation/CustomCallbackBomb.d.ts.map +1 -1
- package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.d.ts +2 -2
- package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.d.ts.map +1 -1
- package/dist/src/classes/callbacks/validation/CustomCallbackDoor.d.ts +10 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackDoor.d.ts.map +1 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackDoor.lua +20 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackEffect.d.ts +11 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackEffect.d.ts.map +1 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackEffect.lua +19 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.d.ts +11 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.d.ts.map +1 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.lua +19 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.d.ts +11 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.d.ts.map +1 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.lua +24 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.d.ts +10 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.d.ts.map +1 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.lua +19 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackKnife.d.ts +2 -2
- package/dist/src/classes/callbacks/validation/CustomCallbackKnife.d.ts.map +1 -1
- package/dist/src/classes/callbacks/validation/CustomCallbackPit.d.ts +2 -2
- package/dist/src/classes/callbacks/validation/CustomCallbackPit.d.ts.map +1 -1
- package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts +4 -4
- package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts.map +1 -1
- package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts +11 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts.map +1 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackRevive.lua +19 -0
- package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.d.ts +2 -2
- package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.d.ts.map +1 -1
- package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +134 -0
- package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +220 -0
- package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +39 -0
- package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/CustomRevive.lua +140 -0
- package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts +19 -0
- package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/EsauJrDetection.lua +52 -0
- package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts +16 -0
- package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/FlipDetection.lua +58 -0
- package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts +27 -0
- package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +108 -0
- package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts +19 -0
- package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.lua +69 -0
- package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts +46 -0
- package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/GridEntityDetection.lua +126 -0
- package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +24 -0
- package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -0
- package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +72 -0
- package/dist/src/classes/features/other/RunInNFrames.d.ts +123 -0
- package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -0
- package/dist/src/classes/features/other/RunInNFrames.lua +109 -0
- package/dist/src/classes/private/CustomCallback.d.ts +5 -11
- package/dist/src/classes/private/CustomCallback.d.ts.map +1 -1
- package/dist/src/classes/private/CustomCallback.lua +27 -17
- package/dist/src/classes/private/Feature.d.ts +19 -0
- package/dist/src/classes/private/Feature.d.ts.map +1 -0
- package/dist/src/classes/private/Feature.lua +16 -0
- package/dist/src/core/upgradeMod.d.ts +18 -1
- package/dist/src/core/upgradeMod.d.ts.map +1 -1
- package/dist/src/core/upgradeMod.lua +41 -22
- package/dist/src/decorators.d.ts +9 -0
- package/dist/src/decorators.d.ts.map +1 -0
- package/dist/src/decorators.lua +10 -0
- package/dist/src/enums/ISCFeature.d.ts +12 -0
- package/dist/src/enums/ISCFeature.d.ts.map +1 -0
- package/dist/src/enums/ISCFeature.lua +12 -0
- package/dist/src/enums/ModCallbackCustom2.d.ts +41 -5
- package/dist/src/enums/ModCallbackCustom2.d.ts.map +1 -1
- package/dist/src/enums/ModCallbackCustom2.lua +77 -5
- package/dist/src/features/customGridEntity.d.ts.map +1 -1
- package/dist/src/features/customGridEntity.lua +6 -8
- package/dist/src/features/customTrapdoor/touched.lua +1 -1
- package/dist/src/features/deployJSONRoom.d.ts.map +1 -1
- package/dist/src/features/deployJSONRoom.lua +6 -8
- package/dist/src/features/saveDataManager/constants.d.ts +1 -1
- package/dist/src/features/saveDataManager/constants.d.ts.map +1 -1
- package/dist/src/features/saveDataManager/exports.d.ts +5 -0
- package/dist/src/features/saveDataManager/exports.d.ts.map +1 -1
- package/dist/src/features/saveDataManager/exports.lua +16 -0
- package/dist/src/features/saveDataManager/main.d.ts +5 -2
- package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
- package/dist/src/features/saveDataManager/save.lua +2 -3
- package/dist/src/features.d.ts +34 -0
- package/dist/src/features.d.ts.map +1 -0
- package/dist/src/features.lua +68 -0
- package/dist/src/functions/characters.lua +3 -3
- package/dist/src/functions/charge.d.ts +30 -8
- package/dist/src/functions/charge.d.ts.map +1 -1
- package/dist/src/functions/charge.lua +38 -2
- package/dist/src/functions/chargeBar.d.ts +6 -0
- package/dist/src/functions/chargeBar.d.ts.map +1 -1
- package/dist/src/functions/chargeBar.lua +6 -0
- package/dist/src/functions/decorators.d.ts +19 -0
- package/dist/src/functions/decorators.d.ts.map +1 -0
- package/dist/src/functions/decorators.lua +32 -0
- package/dist/src/functions/flying.lua +4 -4
- package/dist/src/functions/gridEntities.lua +5 -5
- package/dist/src/functions/gridEntitiesSpecific.lua +12 -12
- package/dist/src/functions/itemPool.lua +2 -2
- package/dist/src/functions/playerHealth.lua +6 -6
- package/dist/src/functions/playerIndex.lua +2 -2
- package/dist/src/functions/players.d.ts +14 -3
- package/dist/src/functions/players.d.ts.map +1 -1
- package/dist/src/functions/players.lua +35 -16
- package/dist/src/functions/pocketItems.lua +1 -1
- package/dist/src/functions/rooms.d.ts +1 -1
- package/dist/src/functions/rooms.d.ts.map +1 -1
- package/dist/src/functions/rooms.lua +1 -1
- package/dist/src/functions/run.d.ts +5 -0
- package/dist/src/functions/run.d.ts.map +1 -1
- package/dist/src/functions/run.lua +6 -0
- package/dist/src/functions/table.d.ts +2 -0
- package/dist/src/functions/table.d.ts.map +1 -1
- package/dist/src/functions/table.lua +7 -0
- package/dist/src/functions/trinkets.lua +1 -1
- package/dist/src/functions/tstlClass.d.ts +21 -9
- package/dist/src/functions/tstlClass.d.ts.map +1 -1
- package/dist/src/functions/tstlClass.lua +49 -24
- package/dist/src/functions/utils.d.ts +37 -0
- package/dist/src/functions/utils.d.ts.map +1 -1
- package/dist/src/functions/utils.lua +36 -0
- package/dist/src/index.d.ts +12 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.lua +17 -1
- package/dist/src/indexLua.d.ts +199 -0
- package/dist/src/indexLua.d.ts.map +1 -0
- package/dist/src/indexLua.lua +1354 -0
- package/dist/src/interfaces/SaveData.d.ts.map +1 -1
- package/dist/src/interfaces/{private/TSTLClassMetatable.d.ts → TSTLClassMetatable.d.ts} +0 -0
- package/dist/src/interfaces/TSTLClassMetatable.d.ts.map +1 -0
- package/dist/src/interfaces/{private/TSTLClassMetatable.lua → TSTLClassMetatable.lua} +0 -0
- package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
- package/dist/src/interfaces/private/AddCallbackParametersCustom.lua +3 -0
- package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts +148 -2
- package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts.map +1 -1
- package/dist/src/interfaces/private/AddCallbackParametersCustom2.lua +3 -0
- package/dist/src/maps/characterNameToTypeMap.lua +12 -12
- package/dist/src/objects/characterDamageMultipliers.lua +6 -6
- package/dist/src/objects/characterNames.lua +6 -6
- package/dist/src/objects/playerNamePNGFileNames.lua +6 -6
- package/dist/src/objects/playerPortraitPNGFileNames.lua +6 -6
- package/dist/src/sets/charactersThatStartWithAnActiveItemSet.lua +1 -1
- package/dist/src/sets/charactersWithFreeDevilDealsSet.d.ts.map +1 -1
- package/dist/src/sets/charactersWithFreeDevilDealsSet.lua +1 -1
- package/dist/src/sets/charactersWithNoRedHeartsSet.lua +3 -3
- package/dist/src/sets/charactersWithNoSoulHeartsSet.lua +2 -2
- package/dist/src/sets/lostStyleCharactersSet.lua +4 -4
- package/dist/src/types/AllButFirst.d.ts +5 -0
- package/dist/src/types/AllButFirst.d.ts.map +1 -0
- package/dist/src/types/AllButFirst.lua +2 -0
- package/dist/src/types/AllButLast.d.ts +2 -0
- package/dist/src/types/AllButLast.d.ts.map +1 -0
- package/dist/src/types/AllButLast.lua +2 -0
- package/dist/src/types/Constructor.d.ts +2 -0
- package/dist/src/types/Constructor.d.ts.map +1 -0
- package/dist/src/types/Constructor.lua +2 -0
- package/dist/src/types/FunctionTuple.d.ts +5 -0
- package/dist/src/types/FunctionTuple.d.ts.map +1 -0
- package/dist/src/types/FunctionTuple.lua +2 -0
- package/dist/src/types/HasAllEnumKeys.d.ts +26 -0
- package/dist/src/types/HasAllEnumKeys.d.ts.map +1 -0
- package/dist/src/types/HasAllEnumKeys.lua +2 -0
- package/dist/src/types/LowercaseKeys.d.ts +3 -0
- package/dist/src/types/LowercaseKeys.d.ts.map +1 -0
- package/dist/src/types/LowercaseKeys.lua +2 -0
- package/dist/src/types/StartsWithLowercase.d.ts +2 -0
- package/dist/src/types/StartsWithLowercase.d.ts.map +1 -0
- package/dist/src/types/StartsWithLowercase.lua +2 -0
- package/dist/src/types/StartsWithUppercase.d.ts +2 -0
- package/dist/src/types/StartsWithUppercase.d.ts.map +1 -0
- package/dist/src/types/StartsWithUppercase.lua +2 -0
- package/dist/src/types/UnionToIntersection.d.ts +3 -0
- package/dist/src/types/UnionToIntersection.d.ts.map +1 -0
- package/dist/src/types/UnionToIntersection.lua +2 -0
- package/dist/src/types/UppercaseKeys.d.ts +3 -0
- package/dist/src/types/UppercaseKeys.d.ts.map +1 -0
- package/dist/src/types/UppercaseKeys.lua +2 -0
- package/dist/src/types/private/CallbackTuple.d.ts +4 -4
- package/dist/src/types/private/CallbackTuple.d.ts.map +1 -1
- package/dist/src/types/private/MatchingCallbackCustom.d.ts +3 -1
- package/dist/src/types/private/MatchingCallbackCustom.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/callbacks/customRevive.ts +13 -1
- package/src/callbacks/postDoorRender.ts +2 -2
- package/src/callbacks/postEffectStateChanged.ts +3 -6
- package/src/callbacks/postFamiliarStateChanged.ts +3 -3
- package/src/callbacks/postFlip.ts +2 -2
- package/src/callbacks/postGridEntity.ts +3 -7
- package/src/callbacks/postNPCStateChanged.ts +3 -3
- package/src/callbacks/postPickupStateChanged.ts +3 -6
- package/src/callbacks/postPlayerCollectible.ts +8 -12
- package/src/callbacks/reorderedCallbacks.ts +6 -6
- package/src/callbacks/subscriptions/postGridEntityBroken.ts +4 -7
- package/src/callbacks/subscriptions/postGridEntityCollision.ts +4 -4
- package/src/callbacks/subscriptions/postGridEntityInit.ts +4 -7
- package/src/callbacks/subscriptions/postGridEntityRemove.ts +10 -9
- package/src/callbacks/subscriptions/postGridEntityRender.ts +4 -7
- package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +4 -7
- package/src/callbacks/subscriptions/postGridEntityUpdate.ts +4 -7
- package/src/callbacks/subscriptions/postRockRender.ts +6 -7
- package/src/callbacks/subscriptions/postRockUpdate.ts +6 -7
- package/src/callbacks/subscriptions/postSpikesRender.ts +4 -7
- package/src/callbacks/subscriptions/postSpikesUpdate.ts +4 -7
- package/src/callbacks/subscriptions/postTNTRender.ts +4 -7
- package/src/callbacks/subscriptions/postTNTUpdate.ts +4 -7
- package/src/callbacks.ts +134 -0
- package/src/classes/DefaultMap.ts +3 -3
- package/src/classes/ModFeature.ts +14 -0
- package/src/classes/ModUpgraded.ts +150 -81
- package/src/classes/callbacks/PostAmbushFinished.ts +3 -3
- package/src/classes/callbacks/PostAmbushStarted.ts +3 -3
- package/src/classes/callbacks/PostBombExploded.ts +2 -2
- package/src/classes/callbacks/PostBombInitLate.ts +3 -3
- package/src/classes/callbacks/PostBoneSwing.ts +8 -5
- package/src/classes/callbacks/PostCollectibleEmpty.ts +5 -5
- package/src/classes/callbacks/PostCollectibleInitFirst.ts +3 -3
- package/src/classes/callbacks/PostCursedTeleport.ts +10 -7
- package/src/classes/callbacks/PostCustomRevive.ts +11 -0
- package/src/classes/callbacks/PostDiceRoomActivated.ts +68 -0
- package/src/classes/callbacks/PostDoorRender.ts +19 -0
- package/src/classes/callbacks/PostDoorUpdate.ts +19 -0
- package/src/classes/callbacks/PostEffectInitLate.ts +28 -0
- package/src/classes/callbacks/PostEffectStateChanged.ts +35 -0
- package/src/classes/callbacks/PostEsauJr.ts +11 -0
- package/src/classes/callbacks/PostFamiliarInitLate.ts +28 -0
- package/src/classes/callbacks/PostFamiliarStateChanged.ts +35 -0
- package/src/classes/callbacks/PostFirstEsauJr.ts +11 -0
- package/src/classes/callbacks/PostFirstFlip.ts +11 -0
- package/src/classes/callbacks/PostFlip.ts +11 -0
- package/src/classes/callbacks/PostGameStartedReordered.ts +11 -0
- package/src/classes/callbacks/PostGameStartedReorderedLast.ts +11 -0
- package/src/classes/callbacks/PostGreedModeWave.ts +37 -0
- package/src/classes/callbacks/PostGridEntityBroken.ts +11 -0
- package/src/classes/callbacks/PostGridEntityCollision.ts +65 -0
- package/src/classes/callbacks/PostGridEntityCustomBroken.ts +11 -0
- package/src/classes/callbacks/PostGridEntityCustomCollision.ts +53 -0
- package/src/classes/callbacks/PostGridEntityCustomInit.ts +11 -0
- package/src/classes/callbacks/PostGridEntityCustomRemove.ts +32 -0
- package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +11 -0
- package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +11 -0
- package/src/classes/callbacks/PostGridEntityInit.ts +11 -0
- package/src/classes/callbacks/PostGridEntityRemove.ts +39 -0
- package/src/classes/callbacks/PostGridEntityStateChanged.ts +11 -0
- package/src/classes/callbacks/PostGridEntityUpdate.ts +11 -0
- package/src/classes/callbacks/PostHolyMantleRemoved.ts +45 -0
- package/src/classes/callbacks/PostKnifeInitLate.ts +3 -3
- package/src/classes/callbacks/PostNewLevelReordered.ts +11 -0
- package/src/classes/callbacks/PostNewRoomEarly.ts +7 -7
- package/src/classes/callbacks/PostNewRoomReordered.ts +11 -0
- package/src/classes/callbacks/PostPEffectUpdateReordered.ts +11 -0
- package/src/classes/callbacks/PostPitRender.ts +2 -2
- package/src/classes/callbacks/PostPlayerFatalDamage.ts +127 -0
- package/src/classes/callbacks/PostPlayerRenderReordered.ts +11 -0
- package/src/classes/callbacks/PostPlayerUpdateReordered.ts +11 -0
- package/src/classes/callbacks/PostRoomClearChanged.ts +4 -4
- package/src/classes/callbacks/PostSpikesRender.ts +2 -2
- package/src/classes/callbacks/PreBerserkDeath.ts +42 -0
- package/src/classes/callbacks/PreCustomRevive.ts +11 -0
- package/src/classes/callbacks/validation/CustomCallbackAmbush.ts +3 -3
- package/src/classes/callbacks/validation/CustomCallbackBomb.ts +2 -2
- package/src/classes/callbacks/validation/CustomCallbackCollectible.ts +2 -2
- package/src/classes/callbacks/validation/CustomCallbackDoor.ts +28 -0
- package/src/classes/callbacks/validation/CustomCallbackEffect.ts +29 -0
- package/src/classes/callbacks/validation/CustomCallbackFamiliar.ts +30 -0
- package/src/classes/callbacks/validation/CustomCallbackGridEntity.ts +42 -0
- package/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.ts +36 -0
- package/src/classes/callbacks/validation/CustomCallbackKnife.ts +2 -2
- package/src/classes/callbacks/validation/CustomCallbackPit.ts +2 -2
- package/src/classes/callbacks/validation/CustomCallbackPlayer.ts +13 -3
- package/src/classes/callbacks/validation/CustomCallbackRevive.ts +27 -0
- package/src/classes/callbacks/validation/CustomCallbackSpikes.ts +2 -2
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +398 -0
- package/src/classes/features/callbackLogic/CustomRevive.ts +214 -0
- package/src/classes/features/callbackLogic/EsauJrDetection.ts +98 -0
- package/src/classes/features/callbackLogic/FlipDetection.ts +82 -0
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +160 -0
- package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +90 -0
- package/src/classes/features/callbackLogic/GridEntityDetection.ts +231 -0
- package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +126 -0
- package/src/classes/features/other/RunInNFrames.ts +256 -0
- package/src/classes/private/CustomCallback.ts +29 -26
- package/src/classes/private/Feature.ts +24 -0
- package/src/core/upgradeMod.ts +71 -25
- package/src/decorators.ts +13 -0
- package/src/enums/ISCFeature.ts +47 -0
- package/src/enums/ModCallbackCustom2.ts +40 -0
- package/src/features/customGridEntity.ts +3 -7
- package/src/features/customTrapdoor/touched.ts +1 -1
- package/src/features/deployJSONRoom.ts +3 -7
- package/src/features/extraConsoleCommands/listCommands.ts +1 -1
- package/src/features/saveDataManager/constants.ts +1 -1
- package/src/features/saveDataManager/exports.ts +27 -0
- package/src/features/saveDataManager/main.ts +4 -6
- package/src/features/saveDataManager/save.ts +2 -2
- package/src/features.ts +90 -0
- package/src/functions/characters.ts +3 -3
- package/src/functions/charge.ts +30 -8
- package/src/functions/chargeBar.ts +6 -0
- package/src/functions/decorators.ts +45 -0
- package/src/functions/flying.ts +4 -4
- package/src/functions/gridEntities.ts +5 -5
- package/src/functions/gridEntitiesSpecific.ts +12 -12
- package/src/functions/itemPool.ts +2 -2
- package/src/functions/playerHealth.ts +6 -6
- package/src/functions/playerIndex.ts +2 -2
- package/src/functions/players.ts +26 -7
- package/src/functions/pocketItems.ts +1 -1
- package/src/functions/rooms.ts +1 -1
- package/src/functions/run.ts +12 -0
- package/src/functions/table.ts +11 -0
- package/src/functions/trinkets.ts +1 -1
- package/src/functions/tstlClass.ts +48 -24
- package/src/functions/utils.ts +49 -0
- package/src/index.ts +12 -1
- package/src/interfaces/SaveData.ts +4 -2
- package/src/interfaces/{private/TSTLClassMetatable.ts → TSTLClassMetatable.ts} +0 -0
- package/src/interfaces/private/AddCallbackParametersCustom.ts +3 -0
- package/src/interfaces/private/AddCallbackParametersCustom2.ts +265 -1
- package/src/maps/characterNameToTypeMap.ts +12 -12
- package/src/objects/characterDamageMultipliers.ts +6 -6
- package/src/objects/characterNames.ts +6 -6
- package/src/objects/playerNamePNGFileNames.ts +6 -6
- package/src/objects/playerPortraitPNGFileNames.ts +6 -6
- package/src/sets/charactersThatStartWithAnActiveItemSet.ts +1 -1
- package/src/sets/charactersWithFreeDevilDealsSet.ts +1 -1
- package/src/sets/charactersWithNoRedHeartsSet.ts +3 -3
- package/src/sets/charactersWithNoSoulHeartsSet.ts +2 -2
- package/src/sets/lostStyleCharactersSet.ts +4 -4
- package/src/types/AllButFirst.ts +6 -0
- package/src/types/AllButLast.ts +3 -0
- package/src/types/Constructor.ts +2 -0
- package/src/types/FunctionTuple.ts +4 -0
- package/src/types/HasAllEnumKeys.ts +25 -0
- package/src/types/LowercaseKeys.ts +3 -0
- package/src/types/StartsWithLowercase.ts +3 -0
- package/src/types/StartsWithUppercase.ts +3 -0
- package/src/types/UnionToIntersection.ts +6 -0
- package/src/types/UppercaseKeys.ts +3 -0
- package/src/types/private/CallbackTuple.ts +4 -4
- package/src/types/private/MatchingCallbackCustom.ts +7 -1
- package/dist/src/enums/IsaacScriptCommonFeature.d.ts +0 -35
- package/dist/src/enums/IsaacScriptCommonFeature.d.ts.map +0 -1
- package/dist/src/enums/IsaacScriptCommonFeature.lua +0 -35
- package/dist/src/interfaces/private/TSTLClassMetatable.d.ts.map +0 -1
- package/src/enums/IsaacScriptCommonFeature.ts +0 -34
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
+
import { getCallbacks } from "../callbacks";
|
|
3
|
+
import { ISCFeature } from "../enums/ISCFeature";
|
|
2
4
|
import { ModCallbackCustom } from "../enums/ModCallbackCustom";
|
|
3
5
|
import { ModCallbackCustom2 } from "../enums/ModCallbackCustom2";
|
|
4
|
-
import {
|
|
6
|
+
import { getFeatures } from "../features";
|
|
7
|
+
import {
|
|
8
|
+
saveDataManager,
|
|
9
|
+
saveDataManagerRemove,
|
|
10
|
+
} from "../features/saveDataManager/exports";
|
|
5
11
|
import { getTime } from "../functions/debugFunctions";
|
|
6
12
|
import { getParentFunctionDescription } from "../functions/log";
|
|
7
|
-
import { getTSTLClassName } from "../functions/tstlClass";
|
|
13
|
+
import { getTSTLClassMethods, getTSTLClassName } from "../functions/tstlClass";
|
|
8
14
|
import { AddCallbackParametersCustom } from "../interfaces/private/AddCallbackParametersCustom";
|
|
9
15
|
import { AddCallbackParametersCustom2 } from "../interfaces/private/AddCallbackParametersCustom2";
|
|
10
16
|
import { CALLBACK_REGISTER_FUNCTIONS } from "../objects/callbackRegisterFunctions";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { PostBombExploded } from "./callbacks/PostBombExploded";
|
|
14
|
-
import { PostBombInitLate } from "./callbacks/PostBombInitLate";
|
|
15
|
-
import { PostBoneSwing } from "./callbacks/PostBoneSwing";
|
|
16
|
-
import { PostCollectibleEmpty } from "./callbacks/PostCollectibleEmpty";
|
|
17
|
-
import { PostCollectibleInitFirst } from "./callbacks/PostCollectibleInitFirst";
|
|
18
|
-
import { PostCursedTeleport } from "./callbacks/PostCursedTeleport";
|
|
19
|
-
import { PostKnifeInitLate } from "./callbacks/PostKnifeInitLate";
|
|
20
|
-
import { PostNewRoomEarly } from "./callbacks/PostNewRoomEarly";
|
|
21
|
-
import { PostPitRender } from "./callbacks/PostPitRender";
|
|
22
|
-
import { PostRoomClearChanged } from "./callbacks/PostRoomClearChanged";
|
|
23
|
-
import { PostSpikesRender } from "./callbacks/PostSpikesRender";
|
|
24
|
-
import { CustomCallback } from "./private/CustomCallback";
|
|
17
|
+
import { FunctionTuple } from "../types/FunctionTuple";
|
|
18
|
+
import { Feature } from "./private/Feature";
|
|
25
19
|
|
|
26
20
|
/**
|
|
27
21
|
* `isaacscript-common` has many custom callbacks that you can use in your mods. Instead of
|
|
@@ -36,10 +30,10 @@ export class ModUpgraded implements Mod {
|
|
|
36
30
|
// -----------------
|
|
37
31
|
|
|
38
32
|
/**
|
|
39
|
-
* The
|
|
40
|
-
*
|
|
33
|
+
* The `RegisterMod` function stores the name of the mod on the mod object for some reason. (It is
|
|
34
|
+
* never used or referenced.)
|
|
41
35
|
*/
|
|
42
|
-
Name: string;
|
|
36
|
+
public Name: string;
|
|
43
37
|
|
|
44
38
|
// ----------------
|
|
45
39
|
// Custom variables
|
|
@@ -51,25 +45,11 @@ export class ModUpgraded implements Mod {
|
|
|
51
45
|
private debug: boolean;
|
|
52
46
|
private timeThreshold: float | undefined;
|
|
53
47
|
|
|
54
|
-
private callbacks
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
[ModCallbackCustom2.POST_BOMB_EXPLODED]: new PostBombExploded(),
|
|
60
|
-
[ModCallbackCustom2.POST_BOMB_INIT_LATE]: new PostBombInitLate(),
|
|
61
|
-
[ModCallbackCustom2.POST_BONE_SWING]: new PostBoneSwing(),
|
|
62
|
-
[ModCallbackCustom2.POST_COLLECTIBLE_EMPTY]: new PostCollectibleEmpty(),
|
|
63
|
-
[ModCallbackCustom2.POST_COLLECTIBLE_INIT_FIRST]:
|
|
64
|
-
new PostCollectibleInitFirst(),
|
|
65
|
-
[ModCallbackCustom2.POST_CURSED_TELEPORT]: new PostCursedTeleport(),
|
|
66
|
-
|
|
67
|
-
[ModCallbackCustom2.POST_KNIFE_INIT_LATE]: new PostKnifeInitLate(),
|
|
68
|
-
[ModCallbackCustom2.POST_NEW_ROOM_EARLY]: new PostNewRoomEarly(),
|
|
69
|
-
[ModCallbackCustom2.POST_PIT_RENDER]: new PostPitRender(),
|
|
70
|
-
[ModCallbackCustom2.POST_ROOM_CLEAR_CHANGED]: new PostRoomClearChanged(),
|
|
71
|
-
[ModCallbackCustom2.POST_SPIKES_RENDER]: new PostSpikesRender(),
|
|
72
|
-
};
|
|
48
|
+
private callbacks;
|
|
49
|
+
|
|
50
|
+
// Features must be marked as internal to prevent TypeDoc from complaining.
|
|
51
|
+
/** @internal */
|
|
52
|
+
private features;
|
|
73
53
|
|
|
74
54
|
// -----------
|
|
75
55
|
// Constructor
|
|
@@ -80,13 +60,20 @@ export class ModUpgraded implements Mod {
|
|
|
80
60
|
this.mod = mod;
|
|
81
61
|
this.debug = debug;
|
|
82
62
|
this.timeThreshold = timeThreshold;
|
|
63
|
+
this.callbacks = getCallbacks();
|
|
64
|
+
this.features = getFeatures(this.callbacks);
|
|
83
65
|
}
|
|
84
66
|
|
|
85
67
|
// ---------------
|
|
86
68
|
// Vanilla methods
|
|
87
69
|
// ---------------
|
|
88
70
|
|
|
89
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Registers a function to be executed when an in-game event happens. For example, the
|
|
73
|
+
* `ModCallback.POST_UPDATE` event corresponds to being executed once at the end of every game
|
|
74
|
+
* logic frame.
|
|
75
|
+
*/
|
|
76
|
+
public AddCallback<T extends ModCallback>(
|
|
90
77
|
modCallback: T,
|
|
91
78
|
...args: AddCallbackParameters[T]
|
|
92
79
|
): void {
|
|
@@ -139,39 +126,55 @@ export class ModUpgraded implements Mod {
|
|
|
139
126
|
}
|
|
140
127
|
}
|
|
141
128
|
|
|
142
|
-
|
|
129
|
+
/** Returns whether or not a corresponding "save#.dat" file exists for the current mod. */
|
|
130
|
+
public HasData(): boolean {
|
|
143
131
|
return this.mod.HasData();
|
|
144
132
|
}
|
|
145
133
|
|
|
146
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Returns a string containing all of the data inside of the corresponding "save#.dat" file for
|
|
136
|
+
* this mod.
|
|
137
|
+
*/
|
|
138
|
+
public LoadData(): string {
|
|
147
139
|
return this.mod.LoadData();
|
|
148
140
|
}
|
|
149
141
|
|
|
150
142
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
143
|
+
* Unregisters a function that was previously registered with the `AddCallback` method.
|
|
144
|
+
*
|
|
145
|
+
* This method does not care about the tertiary argument. In other words, regardless of the
|
|
146
|
+
* conditions of how you registered the callback, it will be removed.
|
|
153
147
|
*/
|
|
154
|
-
RemoveCallback<T extends ModCallback>(
|
|
148
|
+
public RemoveCallback<T extends ModCallback>(
|
|
155
149
|
modCallback: T,
|
|
156
150
|
callback: AddCallbackParameters[T][0],
|
|
157
151
|
): void {
|
|
158
152
|
this.mod.RemoveCallback(modCallback, callback);
|
|
159
153
|
}
|
|
160
154
|
|
|
161
|
-
|
|
155
|
+
/** Deletes the corresponding "save#.dat" file for this mod, if it exists. */
|
|
156
|
+
public RemoveData(): void {
|
|
162
157
|
this.mod.RemoveData();
|
|
163
158
|
}
|
|
164
159
|
|
|
165
|
-
|
|
160
|
+
/**
|
|
161
|
+
* Creates or updates the corresponding "save#.dat" file for this mod with the provided string.
|
|
162
|
+
*/
|
|
163
|
+
public SaveData(data: string): void {
|
|
166
164
|
this.mod.SaveData(data);
|
|
167
165
|
}
|
|
168
166
|
|
|
169
|
-
//
|
|
170
|
-
// Custom methods
|
|
171
|
-
//
|
|
167
|
+
// ---------------------
|
|
168
|
+
// Custom public methods
|
|
169
|
+
// ---------------------
|
|
172
170
|
|
|
171
|
+
/**
|
|
172
|
+
* Registers a function to be executed when an in-game event happens. This method is specifically
|
|
173
|
+
* for events that are provided by the IsaacScript standard library. For example, the
|
|
174
|
+
* `ModCallbackCustom.POST_BOMB_EXPLODE` event corresponds to when a bomb explodes.
|
|
175
|
+
*/
|
|
173
176
|
// eslint-disable-next-line class-methods-use-this
|
|
174
|
-
AddCallbackCustom<T extends ModCallbackCustom>(
|
|
177
|
+
public AddCallbackCustom<T extends ModCallbackCustom>(
|
|
175
178
|
modCallbackCustom: T,
|
|
176
179
|
...args: AddCallbackParametersCustom[T]
|
|
177
180
|
): void {
|
|
@@ -180,56 +183,122 @@ export class ModUpgraded implements Mod {
|
|
|
180
183
|
callbackRegisterFunction(...args);
|
|
181
184
|
}
|
|
182
185
|
|
|
183
|
-
|
|
186
|
+
/** Adds a callback in the new callback system format. This method is only temporary. */
|
|
187
|
+
public AddCallbackCustom2<T extends ModCallbackCustom2>(
|
|
184
188
|
modCallbackCustom: T,
|
|
185
189
|
...args: AddCallbackParametersCustom2[T]
|
|
186
190
|
): void {
|
|
187
|
-
const
|
|
188
|
-
|
|
191
|
+
const callbackClass = this.callbacks[modCallbackCustom];
|
|
192
|
+
// @ts-expect-error The compiler is not smart enough to figure out that the parameters match.
|
|
193
|
+
callbackClass.add(...args);
|
|
194
|
+
this.initFeature(callbackClass);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Unregisters a function that was previously registered with the `AddCallbackCustom` method.
|
|
199
|
+
*
|
|
200
|
+
* This method does not care about the tertiary argument. In other words, regardless of the
|
|
201
|
+
* conditions of how you registered the callback, it will be removed.
|
|
202
|
+
*/
|
|
203
|
+
public RemoveCallbackCustom<T extends ModCallbackCustom2>(
|
|
204
|
+
modCallbackCustom: T,
|
|
205
|
+
callback: AddCallbackParametersCustom2[T][0],
|
|
206
|
+
): void {
|
|
207
|
+
const callbackClass = this.callbacks[modCallbackCustom];
|
|
208
|
+
// @ts-expect-error The compiler is not smart enough to figure out that the parameters match.
|
|
209
|
+
callbackClass.remove(callback);
|
|
210
|
+
if (!callbackClass.hasSubscriptions()) {
|
|
211
|
+
this.uninitFeature(callbackClass);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* This method should only be used by the `upgradeMod` function. Returns the class methods from
|
|
217
|
+
* the features that were added.
|
|
218
|
+
*/
|
|
219
|
+
public initOptionalFeature(feature: ISCFeature): FunctionTuple[] {
|
|
220
|
+
const featureClass = this.features[feature];
|
|
221
|
+
this.initFeature(featureClass);
|
|
222
|
+
|
|
223
|
+
return getTSTLClassMethods(featureClass);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// ----------------------
|
|
227
|
+
// Custom private methods
|
|
228
|
+
// ----------------------
|
|
189
229
|
|
|
190
|
-
|
|
230
|
+
/** This is used to initialize both custom callbacks and "extra features". */
|
|
231
|
+
private initFeature(feature: Feature): void {
|
|
232
|
+
if (feature.initialized) {
|
|
191
233
|
return;
|
|
192
234
|
}
|
|
193
|
-
|
|
235
|
+
feature.initialized = true;
|
|
194
236
|
|
|
195
|
-
if (
|
|
196
|
-
for (const
|
|
237
|
+
if (feature.featuresUsed !== undefined) {
|
|
238
|
+
for (const featureUsed of feature.featuresUsed) {
|
|
239
|
+
const featureClass = this.features[featureUsed];
|
|
240
|
+
this.initFeature(featureClass);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
if (feature.callbacksUsed !== undefined) {
|
|
245
|
+
for (const callbackTuple of feature.callbacksUsed) {
|
|
197
246
|
const [modCallback, callbackArgs] = callbackTuple;
|
|
198
247
|
this.AddCallback(modCallback, ...callbackArgs);
|
|
199
248
|
}
|
|
200
249
|
}
|
|
201
250
|
|
|
202
|
-
if (
|
|
203
|
-
for (const callbackTuple of
|
|
251
|
+
if (feature.customCallbacksUsed !== undefined) {
|
|
252
|
+
for (const callbackTuple of feature.customCallbacksUsed) {
|
|
204
253
|
const [modCallback, callbackArgs] = callbackTuple;
|
|
205
|
-
this.
|
|
254
|
+
this.AddCallbackCustom2(modCallback, ...callbackArgs);
|
|
206
255
|
}
|
|
207
256
|
}
|
|
208
257
|
|
|
209
|
-
if (
|
|
210
|
-
const
|
|
211
|
-
if (
|
|
212
|
-
error(
|
|
213
|
-
`Failed to get the name of the callback: ModCallbackCustom.${ModCallbackCustom2[modCallbackCustom]} (${modCallbackCustom})`,
|
|
214
|
-
);
|
|
258
|
+
if (feature.v !== undefined) {
|
|
259
|
+
const className = getTSTLClassName(feature);
|
|
260
|
+
if (className === undefined) {
|
|
261
|
+
error("Failed to get the name of a feature.");
|
|
215
262
|
}
|
|
216
|
-
saveDataManager(
|
|
263
|
+
saveDataManager(className, feature.v);
|
|
217
264
|
}
|
|
218
|
-
|
|
219
|
-
/*
|
|
220
|
-
if (callback.feature !== undefined) {}
|
|
221
|
-
*/
|
|
222
265
|
}
|
|
223
266
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
267
|
+
private uninitFeature(feature: Feature): void {
|
|
268
|
+
if (!feature.initialized) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
feature.initialized = false;
|
|
272
|
+
|
|
273
|
+
if (feature.featuresUsed !== undefined) {
|
|
274
|
+
for (const featureUsed of feature.featuresUsed) {
|
|
275
|
+
const featureClass = this.features[featureUsed];
|
|
276
|
+
this.uninitFeature(featureClass);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if (feature.callbacksUsed !== undefined) {
|
|
281
|
+
for (const callbackTuple of feature.callbacksUsed) {
|
|
282
|
+
const [modCallback, callbackArgs] = callbackTuple;
|
|
283
|
+
const callback = callbackArgs[0];
|
|
284
|
+
this.RemoveCallback(modCallback, callback);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (feature.customCallbacksUsed !== undefined) {
|
|
289
|
+
for (const callbackTuple of feature.customCallbacksUsed) {
|
|
290
|
+
const [modCallback, callbackArgs] = callbackTuple;
|
|
291
|
+
const callback = callbackArgs[0];
|
|
292
|
+
this.RemoveCallbackCustom(modCallback, callback);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
if (feature.v !== undefined) {
|
|
297
|
+
const className = getTSTLClassName(feature);
|
|
298
|
+
if (className === undefined) {
|
|
299
|
+
error("Failed to get the name of a feature.");
|
|
300
|
+
}
|
|
301
|
+
saveDataManagerRemove(className);
|
|
302
|
+
}
|
|
234
303
|
}
|
|
235
304
|
}
|
|
@@ -5,7 +5,7 @@ import { getAmbushType } from "../../functions/ambush";
|
|
|
5
5
|
import { CustomCallbackAmbush } from "./validation/CustomCallbackAmbush";
|
|
6
6
|
|
|
7
7
|
export class PostAmbushFinished extends CustomCallbackAmbush<ModCallbackCustom2.POST_AMBUSH_FINISHED> {
|
|
8
|
-
override v = {
|
|
8
|
+
public override v = {
|
|
9
9
|
room: {
|
|
10
10
|
ambushDone: false,
|
|
11
11
|
},
|
|
@@ -14,12 +14,12 @@ export class PostAmbushFinished extends CustomCallbackAmbush<ModCallbackCustom2.
|
|
|
14
14
|
constructor() {
|
|
15
15
|
super();
|
|
16
16
|
|
|
17
|
-
this.
|
|
17
|
+
this.callbacksUsed = [
|
|
18
18
|
[ModCallback.POST_UPDATE, [this.postUpdate]], // 1
|
|
19
19
|
];
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
postUpdate = (): void => {
|
|
22
|
+
private postUpdate = (): void => {
|
|
23
23
|
if (this.v.room.ambushDone) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
@@ -5,7 +5,7 @@ import { getAmbushType } from "../../functions/ambush";
|
|
|
5
5
|
import { CustomCallbackAmbush } from "./validation/CustomCallbackAmbush";
|
|
6
6
|
|
|
7
7
|
export class PostAmbushStarted extends CustomCallbackAmbush<ModCallbackCustom2.POST_AMBUSH_STARTED> {
|
|
8
|
-
override v = {
|
|
8
|
+
public override v = {
|
|
9
9
|
room: {
|
|
10
10
|
ambushActive: false,
|
|
11
11
|
},
|
|
@@ -14,12 +14,12 @@ export class PostAmbushStarted extends CustomCallbackAmbush<ModCallbackCustom2.P
|
|
|
14
14
|
constructor() {
|
|
15
15
|
super();
|
|
16
16
|
|
|
17
|
-
this.
|
|
17
|
+
this.callbacksUsed = [
|
|
18
18
|
[ModCallback.POST_UPDATE, [this.postUpdate]], // 1
|
|
19
19
|
];
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
postUpdate = (): void => {
|
|
22
|
+
private postUpdate = (): void => {
|
|
23
23
|
if (this.v.room.ambushActive) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
@@ -7,13 +7,13 @@ export class PostBombExploded extends CustomCallbackBomb<ModCallbackCustom2.POST
|
|
|
7
7
|
constructor() {
|
|
8
8
|
super();
|
|
9
9
|
|
|
10
|
-
this.
|
|
10
|
+
this.callbacksUsed = [
|
|
11
11
|
[ModCallback.POST_BOMB_UPDATE, [this.postBombUpdate]], // 58
|
|
12
12
|
];
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
// ModCallback.POST_BOMB_UPDATE (58)
|
|
16
|
-
postBombUpdate = (bomb: EntityBomb): void => {
|
|
16
|
+
private postBombUpdate = (bomb: EntityBomb): void => {
|
|
17
17
|
if (bomb.FrameCount === BOMB_EXPLODE_FRAME) {
|
|
18
18
|
this.fire(bomb);
|
|
19
19
|
}
|
|
@@ -3,7 +3,7 @@ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
|
|
|
3
3
|
import { CustomCallbackBomb } from "./validation/CustomCallbackBomb";
|
|
4
4
|
|
|
5
5
|
export class PostBombInitLate extends CustomCallbackBomb<ModCallbackCustom2.POST_BOMB_INIT_LATE> {
|
|
6
|
-
override v = {
|
|
6
|
+
public override v = {
|
|
7
7
|
room: {
|
|
8
8
|
firedSet: new Set<PtrHash>(),
|
|
9
9
|
},
|
|
@@ -12,13 +12,13 @@ export class PostBombInitLate extends CustomCallbackBomb<ModCallbackCustom2.POST
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super();
|
|
14
14
|
|
|
15
|
-
this.
|
|
15
|
+
this.callbacksUsed = [
|
|
16
16
|
[ModCallback.POST_BOMB_UPDATE, [this.postBombUpdate]], // 58
|
|
17
17
|
];
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
// ModCallback.POST_BOMB_UPDATE (58)
|
|
21
|
-
postBombUpdate = (bomb: EntityBomb): void => {
|
|
21
|
+
private postBombUpdate = (bomb: EntityBomb): void => {
|
|
22
22
|
const ptrHash = GetPtrHash(bomb);
|
|
23
23
|
if (!this.v.room.firedSet.has(ptrHash)) {
|
|
24
24
|
this.v.room.firedSet.add(ptrHash);
|
|
@@ -9,7 +9,7 @@ const BONE_SWING_ANIMATIONS: ReadonlySet<string> = new Set([
|
|
|
9
9
|
]);
|
|
10
10
|
|
|
11
11
|
export class PostBoneSwing extends CustomCallback<ModCallbackCustom2.POST_BONE_SWING> {
|
|
12
|
-
override v = {
|
|
12
|
+
public override v = {
|
|
13
13
|
room: {
|
|
14
14
|
boneClubAnimations: new Map<PtrHash, string>(),
|
|
15
15
|
},
|
|
@@ -18,13 +18,13 @@ export class PostBoneSwing extends CustomCallback<ModCallbackCustom2.POST_BONE_S
|
|
|
18
18
|
constructor() {
|
|
19
19
|
super();
|
|
20
20
|
|
|
21
|
-
this.
|
|
21
|
+
this.callbacksUsed = [
|
|
22
22
|
[ModCallback.POST_KNIFE_RENDER, [this.postKnifeRender]], // 52
|
|
23
23
|
];
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// ModCallback.POST_KNIFE_RENDER (52)
|
|
27
|
-
postKnifeRender = (knife: EntityKnife): void => {
|
|
27
|
+
private postKnifeRender = (knife: EntityKnife): void => {
|
|
28
28
|
// The tertiary argument of the `POST_KNIFE_RENDER` callback takes sub-types instead of knife
|
|
29
29
|
// variants.
|
|
30
30
|
if (knife.Variant === KnifeVariant.BONE_CLUB) {
|
|
@@ -34,7 +34,7 @@ export class PostBoneSwing extends CustomCallback<ModCallbackCustom2.POST_BONE_S
|
|
|
34
34
|
|
|
35
35
|
// ModCallback.POST_KNIFE_RENDER (52)
|
|
36
36
|
// KnifeVariant.BONE_CLUB (1)
|
|
37
|
-
postKnifeRenderBoneClub(knife: EntityKnife): void {
|
|
37
|
+
private postKnifeRenderBoneClub(knife: EntityKnife): void {
|
|
38
38
|
const sprite = knife.GetSprite();
|
|
39
39
|
const animation = sprite.GetAnimation();
|
|
40
40
|
const ptrHash = GetPtrHash(knife);
|
|
@@ -50,7 +50,10 @@ export class PostBoneSwing extends CustomCallback<ModCallbackCustom2.POST_BONE_S
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
boneClubAnimationChanged(
|
|
53
|
+
private boneClubAnimationChanged(
|
|
54
|
+
knife: EntityKnife,
|
|
55
|
+
animation: string,
|
|
56
|
+
): void {
|
|
54
57
|
if (BONE_SWING_ANIMATIONS.has(animation)) {
|
|
55
58
|
this.fire(knife);
|
|
56
59
|
}
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
type T = ModCallbackCustom2.POST_COLLECTIBLE_EMPTY;
|
|
14
14
|
|
|
15
15
|
export class PostCollectibleEmpty extends CustomCallback<T> {
|
|
16
|
-
override v = {
|
|
16
|
+
public override v = {
|
|
17
17
|
room: {
|
|
18
18
|
collectibleTypeMap: new Map<PtrHash, CollectibleType>(),
|
|
19
19
|
},
|
|
@@ -22,7 +22,7 @@ export class PostCollectibleEmpty extends CustomCallback<T> {
|
|
|
22
22
|
constructor() {
|
|
23
23
|
super();
|
|
24
24
|
|
|
25
|
-
this.
|
|
25
|
+
this.callbacksUsed = [
|
|
26
26
|
[
|
|
27
27
|
ModCallback.POST_PICKUP_UPDATE,
|
|
28
28
|
[this.postPickupUpdateCollectible, PickupVariant.COLLECTIBLE],
|
|
@@ -31,7 +31,7 @@ export class PostCollectibleEmpty extends CustomCallback<T> {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// eslint-disable-next-line class-methods-use-this
|
|
34
|
-
override shouldFire(
|
|
34
|
+
protected override shouldFire(
|
|
35
35
|
fireArgs: FireArgs<T>,
|
|
36
36
|
optionalArgs: OptionalArgs<T>,
|
|
37
37
|
): boolean {
|
|
@@ -46,7 +46,7 @@ export class PostCollectibleEmpty extends CustomCallback<T> {
|
|
|
46
46
|
|
|
47
47
|
// ModCallback.POST_PICKUP_UPDATE (35)
|
|
48
48
|
// PickupVariant.COLLECTIBLE (100)
|
|
49
|
-
postPickupUpdateCollectible = (pickup: EntityPickup): void => {
|
|
49
|
+
private postPickupUpdateCollectible = (pickup: EntityPickup): void => {
|
|
50
50
|
const collectible = pickup as EntityPickupCollectible;
|
|
51
51
|
|
|
52
52
|
const ptrHash = GetPtrHash(collectible);
|
|
@@ -61,7 +61,7 @@ export class PostCollectibleEmpty extends CustomCallback<T> {
|
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
collectibleTypeChanged(
|
|
64
|
+
private collectibleTypeChanged(
|
|
65
65
|
collectible: EntityPickupCollectible,
|
|
66
66
|
oldCollectibleType: CollectibleType,
|
|
67
67
|
): void {
|
|
@@ -5,7 +5,7 @@ import { CollectibleIndex } from "../../types/CollectibleIndex";
|
|
|
5
5
|
import { CustomCallbackCollectible } from "./validation/CustomCallbackCollectible";
|
|
6
6
|
|
|
7
7
|
export class PostCollectibleInitFirst extends CustomCallbackCollectible<ModCallbackCustom2.POST_COLLECTIBLE_INIT_FIRST> {
|
|
8
|
-
override v = {
|
|
8
|
+
public override v = {
|
|
9
9
|
run: {
|
|
10
10
|
seenCollectibles: new Set<CollectibleIndex>(),
|
|
11
11
|
},
|
|
@@ -14,7 +14,7 @@ export class PostCollectibleInitFirst extends CustomCallbackCollectible<ModCallb
|
|
|
14
14
|
constructor() {
|
|
15
15
|
super();
|
|
16
16
|
|
|
17
|
-
this.
|
|
17
|
+
this.callbacksUsed = [
|
|
18
18
|
[
|
|
19
19
|
ModCallback.POST_PICKUP_INIT,
|
|
20
20
|
[this.postPickupInitCollectible, PickupVariant.COLLECTIBLE],
|
|
@@ -24,7 +24,7 @@ export class PostCollectibleInitFirst extends CustomCallbackCollectible<ModCallb
|
|
|
24
24
|
|
|
25
25
|
// ModCallback.POST_PICKUP_INIT (34)
|
|
26
26
|
// PickupVariant.COLLECTIBLE (100)
|
|
27
|
-
postPickupInitCollectible = (pickup: EntityPickup): void => {
|
|
27
|
+
private postPickupInitCollectible = (pickup: EntityPickup): void => {
|
|
28
28
|
const collectible = pickup as EntityPickupCollectible;
|
|
29
29
|
const collectibleIndex = getCollectibleIndex(collectible);
|
|
30
30
|
if (this.v.run.seenCollectibles.has(collectibleIndex)) {
|
|
@@ -19,7 +19,7 @@ import { PlayerIndex } from "../../types/PlayerIndex";
|
|
|
19
19
|
import { CustomCallbackPlayer } from "./validation/CustomCallbackPlayer";
|
|
20
20
|
|
|
21
21
|
export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.POST_CURSED_TELEPORT> {
|
|
22
|
-
override v = {
|
|
22
|
+
public override v = {
|
|
23
23
|
run: {
|
|
24
24
|
playersDamageFrameMap: new Map<
|
|
25
25
|
PlayerIndex,
|
|
@@ -35,7 +35,7 @@ export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.
|
|
|
35
35
|
constructor() {
|
|
36
36
|
super();
|
|
37
37
|
|
|
38
|
-
this.
|
|
38
|
+
this.callbacksUsed = [
|
|
39
39
|
[
|
|
40
40
|
ModCallback.ENTITY_TAKE_DMG,
|
|
41
41
|
[this.entityTakeDmgPlayer, EntityType.PLAYER],
|
|
@@ -50,7 +50,7 @@ export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.
|
|
|
50
50
|
|
|
51
51
|
// ModCallback.ENTITY_TAKE_DMG (11)
|
|
52
52
|
// EntityType.PLAYER (1)
|
|
53
|
-
entityTakeDmgPlayer = (
|
|
53
|
+
private entityTakeDmgPlayer = (
|
|
54
54
|
entity: Entity,
|
|
55
55
|
_amount: float,
|
|
56
56
|
damageFlags: BitFlags<DamageFlag>,
|
|
@@ -63,7 +63,10 @@ export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.
|
|
|
63
63
|
return undefined;
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
setDamageFrame(
|
|
66
|
+
private setDamageFrame(
|
|
67
|
+
entity: Entity,
|
|
68
|
+
damageFlags: BitFlags<DamageFlag>,
|
|
69
|
+
): void {
|
|
67
70
|
const gameFrameCount = game.GetFrameCount();
|
|
68
71
|
|
|
69
72
|
const player = entity.ToPlayer();
|
|
@@ -92,7 +95,7 @@ export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.
|
|
|
92
95
|
mapSetPlayer(this.v.run.playersDamageFrameMap, player, newTrackingArray);
|
|
93
96
|
}
|
|
94
97
|
|
|
95
|
-
isPotentialNaturalTeleportFromSacrificeRoom(
|
|
98
|
+
private isPotentialNaturalTeleportFromSacrificeRoom(
|
|
96
99
|
damageFlags: BitFlags<DamageFlag>,
|
|
97
100
|
): boolean {
|
|
98
101
|
const room = game.GetRoom();
|
|
@@ -108,7 +111,7 @@ export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.
|
|
|
108
111
|
);
|
|
109
112
|
}
|
|
110
113
|
|
|
111
|
-
incrementNumSacrifices(damageFlags: BitFlags<DamageFlag>): void {
|
|
114
|
+
private incrementNumSacrifices(damageFlags: BitFlags<DamageFlag>): void {
|
|
112
115
|
const room = game.GetRoom();
|
|
113
116
|
const roomType = room.GetType();
|
|
114
117
|
const isSpikeDamage = hasFlag(damageFlags, DamageFlag.SPIKES);
|
|
@@ -120,7 +123,7 @@ export class PostCursedTeleport extends CustomCallbackPlayer<ModCallbackCustom2.
|
|
|
120
123
|
|
|
121
124
|
// ModCallback.POST_PLAYER_RENDER (32)
|
|
122
125
|
// PlayerVariant.PLAYER (0)
|
|
123
|
-
postPlayerRenderPlayer = (
|
|
126
|
+
private postPlayerRenderPlayer = (
|
|
124
127
|
player: EntityPlayer,
|
|
125
128
|
_renderOffset: Vector,
|
|
126
129
|
): void => {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ISCFeature } from "../../enums/ISCFeature";
|
|
2
|
+
import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
|
|
3
|
+
import { CustomCallbackRevive } from "./validation/CustomCallbackRevive";
|
|
4
|
+
|
|
5
|
+
export class PostCustomRevive extends CustomCallbackRevive<ModCallbackCustom2.POST_CUSTOM_REVIVE> {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
|
|
9
|
+
this.featuresUsed = [ISCFeature.CUSTOM_REVIVE];
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DiceFloorSubType,
|
|
3
|
+
EffectVariant,
|
|
4
|
+
ModCallback,
|
|
5
|
+
} from "isaac-typescript-definitions";
|
|
6
|
+
import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
|
|
7
|
+
import { isCloseEnoughToTriggerDiceFloor } from "../../functions/effects";
|
|
8
|
+
import { getClosestPlayer } from "../../functions/players";
|
|
9
|
+
import {
|
|
10
|
+
CustomCallback,
|
|
11
|
+
FireArgs,
|
|
12
|
+
OptionalArgs,
|
|
13
|
+
} from "../private/CustomCallback";
|
|
14
|
+
|
|
15
|
+
type T = ModCallbackCustom2.POST_DICE_ROOM_ACTIVATED;
|
|
16
|
+
|
|
17
|
+
export class PostDiceRoomActivated extends CustomCallback<T> {
|
|
18
|
+
public override v = {
|
|
19
|
+
room: {
|
|
20
|
+
diceRoomActivated: false,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
|
|
27
|
+
this.callbacksUsed = [
|
|
28
|
+
[
|
|
29
|
+
ModCallback.POST_EFFECT_UPDATE,
|
|
30
|
+
[this.postEffectUpdateDiceFloor, EffectVariant.DICE_FLOOR],
|
|
31
|
+
], // 55
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// eslint-disable-next-line class-methods-use-this
|
|
36
|
+
protected override shouldFire(
|
|
37
|
+
fireArgs: FireArgs<T>,
|
|
38
|
+
optionalArgs: OptionalArgs<T>,
|
|
39
|
+
): boolean {
|
|
40
|
+
const [callbackDiceFloorSubType] = optionalArgs;
|
|
41
|
+
if (callbackDiceFloorSubType === undefined) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const [_player, diceFloorSubType] = fireArgs;
|
|
46
|
+
return diceFloorSubType === callbackDiceFloorSubType;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// ModCallback.POST_EFFECT_UPDATE (55)
|
|
50
|
+
// EffectVariant.DICE_FLOOR (76)
|
|
51
|
+
private postEffectUpdateDiceFloor = (effect: EntityEffect): void => {
|
|
52
|
+
if (this.v.room.diceRoomActivated) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// When using the debug console to go to a dice room, the player can appear on top of the dice
|
|
57
|
+
// floor before they snap to the door.
|
|
58
|
+
if (effect.FrameCount === 0) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const closestPlayer = getClosestPlayer(effect.Position);
|
|
63
|
+
if (isCloseEnoughToTriggerDiceFloor(closestPlayer, effect)) {
|
|
64
|
+
this.v.room.diceRoomActivated = true;
|
|
65
|
+
this.fire(closestPlayer, effect.SubType as DiceFloorSubType);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|