isaacscript-common 87.4.0 → 87.5.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/README.md +1 -1
- package/dist/callbackClasses.d.ts +6 -6
- package/dist/callbackClasses.d.ts.map +1 -1
- package/dist/callbackClasses.js +14 -14
- package/dist/callbackClasses.lua +159 -300
- package/dist/callbacks.js +18 -9
- package/dist/classes/DefaultMap.d.ts +5 -1
- package/dist/classes/DefaultMap.d.ts.map +1 -1
- package/dist/classes/ModFeature.js +3 -3
- package/dist/classes/ModUpgraded.d.ts.map +1 -1
- package/dist/classes/ModUpgraded.js +2 -4
- package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
- package/dist/classes/callbacks/InputActionFilter.d.ts.map +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/PostCollectibleEmpty.d.ts +2 -2
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCollectibleEmpty.js +1 -3
- package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -4
- package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -3
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemDischarge.d.ts +2 -2
- package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemDischarge.js +3 -6
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNewRoomEarly.js +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/PostPlayerChangeType.js +1 -1
- package/dist/classes/callbacks/PostPurchase.d.ts +2 -4
- package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
- package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +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 +1 -3
- package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTrinketBreak.js +1 -3
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +4 -6
- package/dist/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/ItemPickupDetection.js +6 -2
- package/dist/classes/features/callbackLogic/ItemPickupDetection.lua +6 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +0 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +4 -4
- package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
- package/dist/classes/features/other/CustomPickups.js +1 -0
- package/dist/classes/features/other/CustomStages.js +19 -9
- package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
- package/dist/classes/features/other/CustomTrapdoors.js +23 -17
- package/dist/classes/features/other/CustomTrapdoors.lua +14 -7
- package/dist/classes/features/other/DebugDisplay.d.ts +0 -18
- package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -2
- package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.js +2 -0
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +1 -1
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts +14 -10
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.js +31 -17
- package/dist/classes/features/other/ExtraConsoleCommands.lua +2 -1
- package/dist/classes/features/other/FlyingDetection.d.ts +0 -1
- package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
- package/dist/classes/features/other/ForgottenSwitch.d.ts +0 -1
- package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementDetection.js +4 -4
- package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
- package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementSets.js +1 -1
- package/dist/classes/features/other/PickupIndexCreation.d.ts +0 -1
- package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
- package/dist/classes/features/other/PickupIndexCreation.js +2 -3
- package/dist/classes/features/other/PickupIndexCreation.lua +10 -10
- package/dist/classes/features/other/PonyDetection.d.ts +0 -1
- package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
- package/dist/classes/features/other/PreventChildEntities.d.ts +0 -1
- package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
- package/dist/classes/features/other/RoomClearFrame.d.ts +0 -1
- package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
- package/dist/classes/features/other/RoomHistory.d.ts +0 -1
- package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
- package/dist/classes/features/other/RunInNFrames.js +2 -2
- package/dist/classes/features/other/SaveDataManager.js +1 -1
- package/dist/classes/features/other/SpawnRockAltRewards.d.ts +0 -4
- package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +0 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/backdrop.js +2 -3
- package/dist/classes/features/other/customStages/constants.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.d.ts +0 -1
- package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.js +5 -6
- package/dist/classes/features/other/customStages/shadows.js +1 -2
- package/dist/classes/features/other/customStages/streakText.js +3 -4
- package/dist/classes/features/other/customStages/utils.d.ts +0 -2
- package/dist/classes/features/other/customStages/utils.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/utils.js +2 -3
- package/dist/classes/features/other/customStages/v.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/versusScreen.js +2 -3
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/utils.d.ts +0 -2
- package/dist/classes/features/other/debugDisplay/utils.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/utils.js +2 -3
- package/dist/classes/features/other/extraConsoleCommands/commands.js +147 -150
- package/dist/classes/features/other/extraConsoleCommands/subroutines.js +8 -9
- package/dist/classes/features/other/saveDataManager/constants.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts +0 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +2 -3
- package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts +0 -2
- package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/loadFromDisk.js +5 -2
- package/dist/classes/features/other/saveDataManager/loadFromDisk.lua +3 -0
- package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts +0 -1
- package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/restoreDefaults.js +3 -4
- package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts +0 -2
- package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/saveToDisk.js +1 -2
- package/dist/classes/private/CustomCallback.d.ts.map +1 -1
- package/dist/core/cachedClasses.d.ts +0 -5
- package/dist/core/cachedClasses.d.ts.map +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/constantsVanilla.js +4 -4
- package/dist/core/upgradeMod.d.ts +0 -2
- package/dist/core/upgradeMod.d.ts.map +1 -1
- package/dist/core/upgradeMod.js +1 -2
- package/dist/decorators.js +2 -2
- package/dist/enums/ModCallbackCustom.d.ts +5 -4
- package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
- package/dist/enums/ModCallbackCustom.js +5 -4
- package/dist/enums/private/GridEntityTypeCustom.d.ts.map +1 -1
- package/dist/features.js +1 -2
- package/dist/functions/ambush.js +1 -2
- package/dist/functions/array.d.ts +5 -8
- package/dist/functions/array.d.ts.map +1 -1
- package/dist/functions/array.js +55 -55
- package/dist/functions/array.lua +2 -2
- package/dist/functions/arrayLua.d.ts +1 -1
- package/dist/functions/arrayLua.d.ts.map +1 -1
- package/dist/functions/arrayLua.js +7 -8
- package/dist/functions/benchmark.d.ts +0 -1
- package/dist/functions/benchmark.d.ts.map +1 -1
- package/dist/functions/benchmark.js +1 -2
- package/dist/functions/bitSet128.d.ts +0 -1
- package/dist/functions/bitSet128.d.ts.map +1 -1
- package/dist/functions/bitSet128.js +5 -6
- package/dist/functions/bitwise.d.ts +0 -4
- package/dist/functions/bitwise.d.ts.map +1 -1
- package/dist/functions/bitwise.js +7 -8
- package/dist/functions/bitwise.lua +3 -3
- package/dist/functions/bombs.d.ts +0 -1
- package/dist/functions/bombs.d.ts.map +1 -1
- package/dist/functions/bombs.js +1 -2
- package/dist/functions/bosses.d.ts.map +1 -1
- package/dist/functions/bosses.js +17 -17
- package/dist/functions/cards.js +16 -17
- package/dist/functions/challenges.js +9 -10
- package/dist/functions/characters.js +17 -18
- package/dist/functions/charge.d.ts.map +1 -1
- package/dist/functions/charge.js +10 -11
- package/dist/functions/charge.lua +1 -1
- package/dist/functions/chargeBar.d.ts +0 -2
- package/dist/functions/chargeBar.d.ts.map +1 -1
- package/dist/functions/chargeBar.js +2 -3
- package/dist/functions/collectibleTag.js +2 -3
- package/dist/functions/collectibles.js +37 -38
- package/dist/functions/color.d.ts +0 -1
- package/dist/functions/color.d.ts.map +1 -1
- package/dist/functions/color.js +7 -8
- package/dist/functions/console.js +2 -3
- package/dist/functions/curses.js +2 -3
- package/dist/functions/debugFunctions.d.ts +0 -1
- package/dist/functions/debugFunctions.d.ts.map +1 -1
- package/dist/functions/debugFunctions.js +5 -6
- package/dist/functions/decorators.d.ts +4 -4
- package/dist/functions/decorators.d.ts.map +1 -1
- package/dist/functions/decorators.js +4 -5
- package/dist/functions/deepCopy.d.ts +0 -1
- package/dist/functions/deepCopy.d.ts.map +1 -1
- package/dist/functions/deepCopy.js +1 -4
- package/dist/functions/deepCopy.lua +0 -2
- package/dist/functions/deepCopyTests.js +5 -6
- package/dist/functions/dimensions.js +2 -3
- package/dist/functions/direction.js +6 -7
- package/dist/functions/doors.d.ts.map +1 -1
- package/dist/functions/doors.js +53 -49
- package/dist/functions/easing.js +30 -31
- package/dist/functions/effects.d.ts +0 -2
- package/dist/functions/effects.d.ts.map +1 -1
- package/dist/functions/effects.js +2 -2
- package/dist/functions/emptyRoom.js +2 -3
- package/dist/functions/entities.d.ts +3 -4
- package/dist/functions/entities.d.ts.map +1 -1
- package/dist/functions/entities.js +32 -33
- package/dist/functions/entities.lua +4 -11
- package/dist/functions/entitiesSpecific.js +40 -41
- package/dist/functions/entityTypes.d.ts +0 -1
- package/dist/functions/entityTypes.d.ts.map +1 -1
- package/dist/functions/entityTypes.js +1 -2
- package/dist/functions/enums.d.ts +1 -6
- package/dist/functions/enums.d.ts.map +1 -1
- package/dist/functions/enums.js +12 -13
- package/dist/functions/external.js +2 -3
- package/dist/functions/familiars.js +6 -7
- package/dist/functions/flag.d.ts +1 -1
- package/dist/functions/flag.d.ts.map +1 -1
- package/dist/functions/flag.js +7 -8
- package/dist/functions/frames.d.ts +0 -1
- package/dist/functions/frames.d.ts.map +1 -1
- package/dist/functions/frames.js +18 -19
- package/dist/functions/globals.d.ts +0 -1
- package/dist/functions/globals.d.ts.map +1 -1
- package/dist/functions/globals.js +23 -15
- package/dist/functions/gridEntities.d.ts.map +1 -1
- package/dist/functions/gridEntities.js +51 -39
- package/dist/functions/gridEntities.lua +9 -5
- package/dist/functions/gridEntitiesSpecific.js +38 -39
- package/dist/functions/gridIndex.js +1 -2
- package/dist/functions/hash.js +1 -2
- package/dist/functions/hex.d.ts +0 -2
- package/dist/functions/hex.d.ts.map +1 -1
- package/dist/functions/hex.js +2 -3
- package/dist/functions/input.js +21 -21
- package/dist/functions/isaacAPIClass.d.ts +0 -20
- package/dist/functions/isaacAPIClass.d.ts.map +1 -1
- package/dist/functions/isaacAPIClass.js +23 -24
- package/dist/functions/itemPool.js +7 -8
- package/dist/functions/jsonHelpers.d.ts +4 -5
- package/dist/functions/jsonHelpers.d.ts.map +1 -1
- package/dist/functions/jsonHelpers.js +23 -14
- package/dist/functions/jsonHelpers.lua +4 -4
- package/dist/functions/jsonRoom.js +5 -6
- package/dist/functions/kColor.d.ts +0 -1
- package/dist/functions/kColor.d.ts.map +1 -1
- package/dist/functions/kColor.js +7 -8
- package/dist/functions/language.js +1 -2
- package/dist/functions/level.js +4 -5
- package/dist/functions/levelGrid.d.ts.map +1 -1
- package/dist/functions/levelGrid.js +27 -32
- package/dist/functions/log.js +4 -5
- package/dist/functions/logEntities.d.ts.map +1 -1
- package/dist/functions/logEntities.js +11 -9
- package/dist/functions/logMisc.d.ts +1 -2
- package/dist/functions/logMisc.d.ts.map +1 -1
- package/dist/functions/logMisc.js +35 -48
- package/dist/functions/logMisc.lua +3 -3
- package/dist/functions/map.d.ts +0 -2
- package/dist/functions/map.d.ts.map +1 -1
- package/dist/functions/map.js +12 -13
- package/dist/functions/math.js +13 -14
- package/dist/functions/merge.d.ts +0 -1
- package/dist/functions/merge.d.ts.map +1 -1
- package/dist/functions/merge.js +2 -3
- package/dist/functions/mergeTests.js +1 -2
- package/dist/functions/minimap.d.ts.map +1 -1
- package/dist/functions/minimap.js +12 -17
- package/dist/functions/modFeatures.js +1 -2
- package/dist/functions/newArray.d.ts +0 -1
- package/dist/functions/newArray.d.ts.map +1 -1
- package/dist/functions/newArray.js +2 -3
- package/dist/functions/nextStage.d.ts.map +1 -1
- package/dist/functions/nextStage.js +6 -3
- package/dist/functions/npcDataStructures.d.ts +0 -2
- package/dist/functions/npcDataStructures.d.ts.map +1 -1
- package/dist/functions/npcDataStructures.js +14 -15
- package/dist/functions/npcs.d.ts.map +1 -1
- package/dist/functions/npcs.js +9 -7
- package/dist/functions/pickupVariants.d.ts +0 -1
- package/dist/functions/pickupVariants.d.ts.map +1 -1
- package/dist/functions/pickupVariants.js +11 -12
- package/dist/functions/pickups.js +14 -15
- package/dist/functions/pickupsSpecific.js +40 -41
- package/dist/functions/pills.js +18 -19
- package/dist/functions/playerCenter.d.ts +0 -1
- package/dist/functions/playerCenter.d.ts.map +1 -1
- package/dist/functions/playerCenter.js +1 -2
- package/dist/functions/playerCollectibles.d.ts.map +1 -1
- package/dist/functions/playerCollectibles.js +19 -22
- package/dist/functions/playerCollectibles.lua +9 -9
- package/dist/functions/playerDataStructures.d.ts +0 -1
- package/dist/functions/playerDataStructures.d.ts.map +1 -1
- package/dist/functions/playerDataStructures.js +14 -15
- package/dist/functions/playerEffects.js +5 -6
- package/dist/functions/playerHealth.d.ts +0 -2
- package/dist/functions/playerHealth.d.ts.map +1 -1
- package/dist/functions/playerHealth.js +20 -21
- package/dist/functions/playerHealth.lua +26 -26
- package/dist/functions/playerIndex.d.ts +0 -3
- package/dist/functions/playerIndex.d.ts.map +1 -1
- package/dist/functions/playerIndex.js +9 -10
- package/dist/functions/playerTrinkets.js +10 -11
- package/dist/functions/players.d.ts +2 -0
- package/dist/functions/players.d.ts.map +1 -1
- package/dist/functions/players.js +39 -38
- package/dist/functions/players.lua +2 -0
- package/dist/functions/pocketItems.js +8 -9
- package/dist/functions/positionVelocity.d.ts +0 -4
- package/dist/functions/positionVelocity.d.ts.map +1 -1
- package/dist/functions/positionVelocity.js +11 -20
- package/dist/functions/positionVelocity.lua +4 -4
- package/dist/functions/pressurePlate.js +1 -2
- package/dist/functions/projectiles.js +2 -3
- package/dist/functions/random.d.ts +0 -3
- package/dist/functions/random.d.ts.map +1 -1
- package/dist/functions/random.js +3 -4
- package/dist/functions/readOnly.d.ts +0 -4
- package/dist/functions/readOnly.d.ts.map +1 -1
- package/dist/functions/readOnly.js +3 -4
- package/dist/functions/render.d.ts +0 -3
- package/dist/functions/render.d.ts.map +1 -1
- package/dist/functions/render.js +3 -4
- package/dist/functions/revive.d.ts +0 -3
- package/dist/functions/revive.d.ts.map +1 -1
- package/dist/functions/revive.js +5 -6
- package/dist/functions/rng.d.ts +0 -1
- package/dist/functions/rng.d.ts.map +1 -1
- package/dist/functions/rng.js +15 -15
- package/dist/functions/rockAlt.d.ts +0 -1
- package/dist/functions/rockAlt.d.ts.map +1 -1
- package/dist/functions/rockAlt.js +2 -3
- package/dist/functions/roomData.d.ts.map +1 -1
- package/dist/functions/roomData.js +15 -18
- package/dist/functions/roomGrid.js +6 -7
- package/dist/functions/roomShape.js +14 -15
- package/dist/functions/roomShapeWalls.js +2 -3
- package/dist/functions/roomTransition.js +2 -3
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.js +77 -64
- package/dist/functions/rooms.lua +2 -2
- package/dist/functions/run.js +8 -9
- package/dist/functions/seeds.d.ts +0 -1
- package/dist/functions/seeds.d.ts.map +1 -1
- package/dist/functions/seeds.js +2 -3
- package/dist/functions/serialization.js +5 -6
- package/dist/functions/set.d.ts +0 -2
- package/dist/functions/set.d.ts.map +1 -1
- package/dist/functions/set.js +22 -23
- package/dist/functions/slots.js +2 -3
- package/dist/functions/sort.d.ts.map +1 -1
- package/dist/functions/sort.js +6 -7
- package/dist/functions/sound.d.ts.map +1 -1
- package/dist/functions/sound.js +4 -9
- package/dist/functions/spawnCollectible.d.ts.map +1 -1
- package/dist/functions/spawnCollectible.js +4 -7
- package/dist/functions/sprites.d.ts +0 -3
- package/dist/functions/sprites.d.ts.map +1 -1
- package/dist/functions/sprites.js +6 -7
- package/dist/functions/stage.d.ts.map +1 -1
- package/dist/functions/stage.js +44 -53
- package/dist/functions/stage.lua +5 -5
- package/dist/functions/stats.js +4 -5
- package/dist/functions/storyBosses.js +2 -3
- package/dist/functions/string.d.ts +0 -1
- package/dist/functions/string.d.ts.map +1 -1
- package/dist/functions/string.js +12 -13
- package/dist/functions/table.d.ts +0 -1
- package/dist/functions/table.d.ts.map +1 -1
- package/dist/functions/table.js +8 -9
- package/dist/functions/tears.js +6 -7
- package/dist/functions/transformations.js +5 -6
- package/dist/functions/trinketGive.js +5 -6
- package/dist/functions/trinkets.d.ts.map +1 -1
- package/dist/functions/trinkets.js +14 -17
- package/dist/functions/tstlClass.d.ts +2 -3
- package/dist/functions/tstlClass.d.ts.map +1 -1
- package/dist/functions/tstlClass.js +9 -10
- package/dist/functions/tstlClass.lua +2 -2
- package/dist/functions/types.d.ts +15 -17
- package/dist/functions/types.d.ts.map +1 -1
- package/dist/functions/types.js +38 -39
- package/dist/functions/types.lua +14 -14
- package/dist/functions/ui.d.ts +0 -3
- package/dist/functions/ui.d.ts.map +1 -1
- package/dist/functions/ui.js +13 -14
- package/dist/functions/utils.d.ts +0 -1
- package/dist/functions/utils.d.ts.map +1 -1
- package/dist/functions/utils.js +11 -12
- package/dist/functions/vector.d.ts +0 -1
- package/dist/functions/vector.d.ts.map +1 -1
- package/dist/functions/vector.js +11 -12
- package/dist/functions/versusScreen.js +4 -5
- package/dist/functions/weighted.d.ts +0 -3
- package/dist/functions/weighted.d.ts.map +1 -1
- package/dist/functions/weighted.js +2 -3
- package/dist/index.d.ts +58 -58
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -58
- package/dist/index.lua +443 -11
- package/dist/index.rollup.d.ts +86 -69
- package/dist/indexLua.d.ts +58 -58
- package/dist/indexLua.d.ts.map +1 -1
- package/dist/indexLua.js +4 -58
- package/dist/indexLua.lua +443 -11
- package/dist/interfaces/ChargeBarSprites.d.ts +0 -2
- package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
- package/dist/interfaces/Corner.d.ts +0 -2
- package/dist/interfaces/Corner.d.ts.map +1 -1
- package/dist/interfaces/SaveData.d.ts +0 -1
- package/dist/interfaces/SaveData.d.ts.map +1 -1
- package/dist/interfaces/TSTLClassMetatable.d.ts +0 -4
- package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +5 -3
- package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
- package/dist/interfaces/private/ModUpgradedInterface.d.ts +0 -1
- package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
- package/dist/isaacscript-common.lua +1561 -1186
- package/dist/lib/jsonLua.js +2 -2
- package/dist/lualib_bundle.lua +107 -38
- package/dist/objects/LRoomShapeToRectangles.js +1 -1
- package/dist/objects/colors.d.ts +0 -1
- package/dist/objects/colors.d.ts.map +1 -1
- package/dist/objects/directionToVector.d.ts +0 -1
- package/dist/objects/directionToVector.d.ts.map +1 -1
- package/dist/objects/doorSlotFlagToDoorSlot.d.ts +9 -2
- package/dist/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
- package/dist/objects/doorSlotToDoorSlotFlag.d.ts +0 -1
- package/dist/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
- package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +17 -7
- package/dist/objects/kColors.d.ts +0 -1
- package/dist/objects/kColors.d.ts.map +1 -1
- package/dist/objects/roomShapeToBottomRightPosition.d.ts +0 -1
- package/dist/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
- package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +1 -1
- package/dist/objects/roomShapeToTopLeftPosition.d.ts +0 -1
- package/dist/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
- package/dist/objects/versusScreenBackgroundColors.d.ts +0 -1
- package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
- package/dist/objects/versusScreenDirtSpotColors.d.ts +0 -1
- package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
- package/dist/patchErrorFunctions.js +1 -2
- package/dist/serialization.js +1 -2
- package/dist/shaderCrashFix.d.ts +0 -1
- package/dist/shaderCrashFix.d.ts.map +1 -1
- package/dist/shaderCrashFix.js +1 -2
- package/dist/shouldFire.d.ts.map +1 -1
- package/dist/shouldFire.js +30 -30
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/AddSubtract.d.ts +10 -2
- package/dist/types/AddSubtract.d.ts.map +1 -1
- package/dist/types/AnyEntity.d.ts +0 -11
- package/dist/types/AnyEntity.d.ts.map +1 -1
- package/dist/types/AnyGridEntity.d.ts +0 -8
- package/dist/types/AnyGridEntity.d.ts.map +1 -1
- package/dist/types/PickingUpItem.js +5 -6
- package/dist/types/PickupIndex.d.ts +0 -1
- package/dist/types/PickupIndex.d.ts.map +1 -1
- package/dist/types/PlayerIndex.d.ts +0 -1
- package/dist/types/PlayerIndex.d.ts.map +1 -1
- package/dist/types/ReadonlyMap.d.ts.map +1 -1
- package/dist/types/ReadonlySet.d.ts.map +1 -1
- package/dist/types/TSTLClass.d.ts +0 -1
- package/dist/types/TSTLClass.d.ts.map +1 -1
- package/dist/types/TupleWithLengthBetween.js +2 -2
- package/dist/types/TupleWithMaxLength.js +2 -2
- package/dist/types/WeightedArray.d.ts +0 -1
- package/dist/types/WeightedArray.d.ts.map +1 -1
- package/package.json +9 -2
- package/src/callbackClasses.ts +6 -6
- package/src/classes/DefaultMap.ts +5 -2
- package/src/classes/ModFeature.ts +3 -3
- package/src/classes/ModUpgraded.ts +2 -4
- package/src/classes/callbacks/PostCollectibleEmpty.ts +1 -3
- package/src/classes/callbacks/PostItemDischarge.ts +3 -6
- package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
- package/src/classes/callbacks/PostNewRoomEarly.ts +1 -1
- package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
- package/src/classes/callbacks/PostTransformation.ts +1 -3
- package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +4 -6
- package/src/classes/features/callbackLogic/ItemPickupDetection.ts +6 -2
- package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +4 -4
- package/src/classes/features/other/CustomPickups.ts +1 -0
- package/src/classes/features/other/CustomStages.ts +2 -2
- package/src/classes/features/other/CustomTrapdoors.ts +23 -18
- package/src/classes/features/other/DeployJSONRoom.ts +2 -0
- package/src/classes/features/other/EdenStartingStatsHealth.ts +3 -1
- package/src/classes/features/other/ExtraConsoleCommands.ts +14 -10
- package/src/classes/features/other/ModdedElementDetection.ts +4 -4
- package/src/classes/features/other/ModdedElementSets.ts +3 -3
- package/src/classes/features/other/PickupIndexCreation.ts +2 -3
- package/src/classes/features/other/RunInNFrames.ts +2 -2
- package/src/classes/features/other/SaveDataManager.ts +1 -1
- package/src/classes/features/other/customStages/backdrop.ts +1 -1
- package/src/classes/features/other/extraConsoleCommands/commands.ts +7 -7
- package/src/classes/features/other/saveDataManager/loadFromDisk.ts +5 -0
- package/src/core/constants.ts +1 -1
- package/src/core/constantsVanilla.ts +4 -4
- package/src/enums/ModCallbackCustom.ts +5 -4
- package/src/functions/array.ts +33 -29
- package/src/functions/arrayLua.ts +1 -1
- package/src/functions/bosses.ts +2 -1
- package/src/functions/charge.ts +1 -2
- package/src/functions/decorators.ts +6 -9
- package/src/functions/deepCopy.ts +0 -4
- package/src/functions/deepCopyTests.ts +4 -4
- package/src/functions/doors.ts +5 -0
- package/src/functions/entities.ts +7 -14
- package/src/functions/enums.ts +4 -4
- package/src/functions/flag.ts +1 -1
- package/src/functions/globals.ts +2 -3
- package/src/functions/gridEntities.ts +19 -1
- package/src/functions/jsonHelpers.ts +7 -5
- package/src/functions/levelGrid.ts +3 -6
- package/src/functions/logEntities.ts +3 -0
- package/src/functions/logMisc.ts +9 -20
- package/src/functions/map.ts +4 -4
- package/src/functions/merge.ts +1 -1
- package/src/functions/minimap.ts +2 -6
- package/src/functions/newArray.ts +1 -1
- package/src/functions/nextStage.ts +4 -0
- package/src/functions/npcDataStructures.ts +5 -5
- package/src/functions/npcs.ts +3 -0
- package/src/functions/playerCollectibles.ts +1 -3
- package/src/functions/playerDataStructures.ts +5 -5
- package/src/functions/players.ts +2 -0
- package/src/functions/positionVelocity.ts +4 -12
- package/src/functions/rng.ts +4 -3
- package/src/functions/roomData.ts +1 -3
- package/src/functions/rooms.ts +16 -1
- package/src/functions/set.ts +8 -8
- package/src/functions/sort.ts +2 -2
- package/src/functions/sound.ts +2 -7
- package/src/functions/spawnCollectible.ts +1 -3
- package/src/functions/stage.ts +4 -14
- package/src/functions/trinkets.ts +1 -3
- package/src/functions/tstlClass.ts +2 -2
- package/src/functions/types.ts +16 -16
- package/src/index.ts +58 -58
- package/src/interfaces/SaveData.ts +2 -1
- package/src/interfaces/private/AddCallbackParametersCustom.ts +8 -3
- package/src/lib/jsonLua.js +2 -2
- package/src/objects/LRoomShapeToRectangles.ts +1 -1
- package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
- package/src/shouldFire.ts +2 -1
- package/src/types/AddSubtract.ts +10 -2
- package/src/types/HasFunction.ts +1 -1
- package/src/types/Immutable.ts +1 -1
- package/src/types/TupleWithLengthBetween.ts +2 -2
- package/src/types/TupleWithMaxLength.ts +2 -2
|
@@ -8,7 +8,7 @@ import { CustomCallback } from "../private/CustomCallback";
|
|
|
8
8
|
const v = {
|
|
9
9
|
run: {
|
|
10
10
|
stateMap: new DefaultMap<PtrHash, NPCState, [NPCState]>(
|
|
11
|
-
(state) => state, // eslint-disable-line
|
|
11
|
+
(state) => state, // eslint-disable-line complete/strict-enums
|
|
12
12
|
),
|
|
13
13
|
},
|
|
14
14
|
};
|
|
@@ -21,7 +21,7 @@ export class PostNewRoomEarly extends CustomCallback<ModCallbackCustom.POST_NEW_
|
|
|
21
21
|
|
|
22
22
|
this.callbacksUsed = [
|
|
23
23
|
// 19
|
|
24
|
-
// eslint-disable-next-line
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
25
25
|
[ModCallback.POST_NEW_ROOM, this.postNewRoom],
|
|
26
26
|
|
|
27
27
|
// 24
|
|
@@ -15,7 +15,7 @@ const v = {
|
|
|
15
15
|
PlayerIndex,
|
|
16
16
|
PlayerType,
|
|
17
17
|
[character: PlayerType]
|
|
18
|
-
>((character: PlayerType) => character), // eslint-disable-line
|
|
18
|
+
>((character: PlayerType) => character), // eslint-disable-line complete/strict-enums
|
|
19
19
|
},
|
|
20
20
|
};
|
|
21
21
|
|
|
@@ -55,9 +55,7 @@ export class PostTransformation extends CustomCallback<T> {
|
|
|
55
55
|
for (const playerForm of PLAYER_FORM_VALUES) {
|
|
56
56
|
const hasForm = player.HasPlayerForm(playerForm);
|
|
57
57
|
let storedForm = playerTransformationsMap.get(playerForm);
|
|
58
|
-
|
|
59
|
-
storedForm = false;
|
|
60
|
-
}
|
|
58
|
+
storedForm ??= false;
|
|
61
59
|
|
|
62
60
|
if (hasForm !== storedForm) {
|
|
63
61
|
playerTransformationsMap.set(playerForm, hasForm);
|
|
@@ -55,9 +55,7 @@ export class PostTrinketBreak extends CustomCallback<ModCallbackCustom.POST_TRIN
|
|
|
55
55
|
for (const trinketType of TRINKETS_THAT_CAN_BREAK) {
|
|
56
56
|
const numTrinketsHeld = player.GetTrinketMultiplier(trinketType);
|
|
57
57
|
let oldNumTrinketsHeld = trinketMap.get(trinketType);
|
|
58
|
-
|
|
59
|
-
oldNumTrinketsHeld = 0;
|
|
60
|
-
}
|
|
58
|
+
oldNumTrinketsHeld ??= 0;
|
|
61
59
|
|
|
62
60
|
if (numTrinketsHeld >= oldNumTrinketsHeld) {
|
|
63
61
|
continue;
|
|
@@ -60,18 +60,18 @@ export class GameReorderedCallbacks extends Feature {
|
|
|
60
60
|
[ModCallback.POST_PLAYER_INIT, this.postPlayerInit],
|
|
61
61
|
|
|
62
62
|
// 15
|
|
63
|
-
// eslint-disable-next-line
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
64
64
|
[ModCallback.POST_GAME_STARTED, this.postGameStarted],
|
|
65
65
|
|
|
66
66
|
// 17
|
|
67
67
|
[ModCallback.PRE_GAME_EXIT, this.preGameExit],
|
|
68
68
|
|
|
69
69
|
// 18
|
|
70
|
-
// eslint-disable-next-line
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
71
71
|
[ModCallback.POST_NEW_LEVEL, this.postNewLevel],
|
|
72
72
|
|
|
73
73
|
// 19
|
|
74
|
-
// eslint-disable-next-line
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
75
75
|
[ModCallback.POST_NEW_ROOM, this.postNewRoom],
|
|
76
76
|
];
|
|
77
77
|
|
|
@@ -93,9 +93,7 @@ export class GameReorderedCallbacks extends Feature {
|
|
|
93
93
|
|
|
94
94
|
// ModCallback.POST_PLAYER_INIT (9)
|
|
95
95
|
private readonly postPlayerInit = (_player: EntityPlayer): void => {
|
|
96
|
-
|
|
97
|
-
this.renderFrameRunStarted = Isaac.GetFrameCount();
|
|
98
|
-
}
|
|
96
|
+
this.renderFrameRunStarted ??= Isaac.GetFrameCount();
|
|
99
97
|
};
|
|
100
98
|
|
|
101
99
|
// ModCallback.POST_GAME_STARTED (15)
|
|
@@ -5,6 +5,7 @@ import type {
|
|
|
5
5
|
import { ItemType } from "isaac-typescript-definitions";
|
|
6
6
|
import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
|
|
7
7
|
import { defaultMapGetPlayer } from "../../../functions/playerDataStructures";
|
|
8
|
+
import { dequeueItem } from "../../../functions/players";
|
|
8
9
|
import { asNumber } from "../../../functions/types";
|
|
9
10
|
import type { PickingUpItem } from "../../../types/PickingUpItem";
|
|
10
11
|
import {
|
|
@@ -78,7 +79,7 @@ export class ItemPickupDetection extends Feature {
|
|
|
78
79
|
private queueNotEmpty(player: EntityPlayer, pickingUpItem: PickingUpItem) {
|
|
79
80
|
const queuedItem = player.QueuedItem.Item;
|
|
80
81
|
if (queuedItem === undefined || queuedItem.Type === ItemType.NULL) {
|
|
81
|
-
// This should never happen, since the `EntityPlayer.IsItemQueueEmpty` method returned
|
|
82
|
+
// This should never happen, since the `EntityPlayer.IsItemQueueEmpty` method returned false.
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
84
85
|
|
|
@@ -90,7 +91,10 @@ export class ItemPickupDetection extends Feature {
|
|
|
90
91
|
pickingUpItem.itemType = queuedItem.Type;
|
|
91
92
|
pickingUpItem.subType = queuedItem.ID as CollectibleType | TrinketType;
|
|
92
93
|
|
|
93
|
-
this.preItemPickup.fire(player, pickingUpItem);
|
|
94
|
+
const shouldBeGranted = this.preItemPickup.fire(player, pickingUpItem);
|
|
95
|
+
if (shouldBeGranted === false) {
|
|
96
|
+
dequeueItem(player);
|
|
97
|
+
}
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
100
|
}
|
|
@@ -48,15 +48,15 @@ export class PlayerReorderedCallbacks extends Feature {
|
|
|
48
48
|
|
|
49
49
|
this.callbacksUsed = [
|
|
50
50
|
// 4
|
|
51
|
-
// eslint-disable-next-line
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
52
52
|
[ModCallback.POST_PEFFECT_UPDATE, this.postPEffectUpdate],
|
|
53
53
|
|
|
54
54
|
// 31
|
|
55
|
-
// eslint-disable-next-line
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
56
56
|
[ModCallback.POST_PLAYER_UPDATE, this.postPlayerUpdate],
|
|
57
57
|
|
|
58
58
|
// 32
|
|
59
|
-
// eslint-disable-next-line
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
60
60
|
[ModCallback.POST_PLAYER_RENDER, this.postPlayerRender],
|
|
61
61
|
];
|
|
62
62
|
|
|
@@ -125,7 +125,7 @@ export class PlayerReorderedCallbacks extends Feature {
|
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
function dequeue(
|
|
128
|
-
// eslint-disable-next-line
|
|
128
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
129
129
|
queue: QueueElement[],
|
|
130
130
|
fireFunc: (player: EntityPlayer, renderOffset: Vector) => void,
|
|
131
131
|
) {
|
|
@@ -96,6 +96,7 @@ export class CustomPickups extends Feature {
|
|
|
96
96
|
// ModCallback.POST_EFFECT_RENDER (56)
|
|
97
97
|
// PICKUP_EFFECT_VARIANT
|
|
98
98
|
private readonly postEffectRenderPickupEffect = (effect: EntityEffect) => {
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
99
100
|
if (effect.SubType !== PICKUP_EFFECT_SUB_TYPE) {
|
|
100
101
|
return;
|
|
101
102
|
}
|
|
@@ -300,7 +300,7 @@ export class CustomStages extends Feature {
|
|
|
300
300
|
const level = game.GetLevel();
|
|
301
301
|
const stage = customStage.baseStage ?? DEFAULT_BASE_STAGE;
|
|
302
302
|
const stageType = customStage.baseStageType ?? DEFAULT_BASE_STAGE_TYPE;
|
|
303
|
-
level.SetStage(stage, stageType); // eslint-disable-line
|
|
303
|
+
level.SetStage(stage, stageType); // eslint-disable-line complete/strict-enums
|
|
304
304
|
|
|
305
305
|
return undefined;
|
|
306
306
|
};
|
|
@@ -523,7 +523,7 @@ export class CustomStages extends Feature {
|
|
|
523
523
|
? DEFAULT_BASE_STAGE
|
|
524
524
|
: (customStage.baseStage as LevelStage);
|
|
525
525
|
if (!firstFloor) {
|
|
526
|
-
baseStage++; // eslint-disable-line
|
|
526
|
+
baseStage++; // eslint-disable-line complete/strict-enums
|
|
527
527
|
}
|
|
528
528
|
|
|
529
529
|
const baseStageType: StageType =
|
|
@@ -59,7 +59,10 @@ import { CUSTOM_FLOOR_STAGE } from "./customStages/constants";
|
|
|
59
59
|
|
|
60
60
|
const DEBUG = false as boolean;
|
|
61
61
|
|
|
62
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* This also applies to crawl spaces. The value was determined through trial and error to match
|
|
64
|
+
* vanilla behavior.
|
|
65
|
+
*/
|
|
63
66
|
const TRAPDOOR_OPEN_DISTANCE = 60;
|
|
64
67
|
|
|
65
68
|
const TRAPDOOR_OPEN_DISTANCE_AFTER_BOSS = TRAPDOOR_OPEN_DISTANCE * 2.5;
|
|
@@ -265,16 +268,14 @@ export class CustomTrapdoors extends Feature {
|
|
|
265
268
|
}
|
|
266
269
|
|
|
267
270
|
private goToCustomTrapdoorDestination() {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
};
|
|
277
|
-
}
|
|
271
|
+
// This should never be null. Regardless, we provide some sane default values.
|
|
272
|
+
v.run.customTrapdoorActivated ??= {
|
|
273
|
+
destinationName: undefined,
|
|
274
|
+
destinationStage: LevelStage.BASEMENT_1,
|
|
275
|
+
destinationStageType: StageType.ORIGINAL,
|
|
276
|
+
open: true,
|
|
277
|
+
firstSpawn: true,
|
|
278
|
+
};
|
|
278
279
|
|
|
279
280
|
const destinationFunc = this.getDestinationFunc(
|
|
280
281
|
v.run.customTrapdoorActivated,
|
|
@@ -417,6 +418,15 @@ export class CustomTrapdoors extends Feature {
|
|
|
417
418
|
): void {
|
|
418
419
|
/** By default, trapdoors will never close if they are already open. */
|
|
419
420
|
if (trapdoorDescription.open) {
|
|
421
|
+
// Sometimes, the `sprite.Play(TrapdoorAnimation.OPEN_ANIMATION, true)` function does not take
|
|
422
|
+
// effect. Check for this case.
|
|
423
|
+
const sprite = gridEntity.GetSprite();
|
|
424
|
+
const animation = sprite.GetAnimation();
|
|
425
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
426
|
+
if (animation === TrapdoorAnimation.CLOSED) {
|
|
427
|
+
// Try it again.
|
|
428
|
+
sprite.Play(TrapdoorAnimation.OPEN_ANIMATION, true);
|
|
429
|
+
}
|
|
420
430
|
return;
|
|
421
431
|
}
|
|
422
432
|
|
|
@@ -752,13 +762,8 @@ export class CustomTrapdoors extends Feature {
|
|
|
752
762
|
);
|
|
753
763
|
}
|
|
754
764
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
if (destinationStageType === undefined) {
|
|
760
|
-
destinationStageType = this.stageHistory.getNextStageTypeWithHistory();
|
|
761
|
-
}
|
|
765
|
+
destinationStage ??= this.stageHistory.getNextStageWithHistory();
|
|
766
|
+
destinationStageType ??= this.stageHistory.getNextStageTypeWithHistory();
|
|
762
767
|
|
|
763
768
|
const room = game.GetRoom();
|
|
764
769
|
const roomListIndex = getRoomListIndex();
|
|
@@ -162,6 +162,7 @@ export class DeployJSONRoom extends Feature {
|
|
|
162
162
|
let entity: Entity;
|
|
163
163
|
if (
|
|
164
164
|
entityType === EntityType.PICKUP &&
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
165
166
|
variant === PickupVariant.COLLECTIBLE
|
|
166
167
|
) {
|
|
167
168
|
const collectibleType = asCollectibleType(subType);
|
|
@@ -174,6 +175,7 @@ export class DeployJSONRoom extends Feature {
|
|
|
174
175
|
// For some reason, Pitfalls do not spawn with the correct collision classes.
|
|
175
176
|
if (
|
|
176
177
|
entityType === EntityType.PITFALL &&
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
177
179
|
variant === PitfallVariant.PITFALL
|
|
178
180
|
) {
|
|
179
181
|
entity.EntityCollisionClass = EntityCollisionClass.ENEMIES;
|
|
@@ -130,7 +130,9 @@ export class EdenStartingStatsHealth extends Feature {
|
|
|
130
130
|
* @public
|
|
131
131
|
*/
|
|
132
132
|
@Exported
|
|
133
|
-
public getEdenStartingCollectibles(
|
|
133
|
+
public getEdenStartingCollectibles(
|
|
134
|
+
player: EntityPlayer,
|
|
135
|
+
): readonly CollectibleType[] {
|
|
134
136
|
const collectibleTypes: CollectibleType[] = [];
|
|
135
137
|
|
|
136
138
|
const activeCollectibleType = mapGetPlayer(
|
|
@@ -24,7 +24,8 @@ declare let __ISAACSCRIPT_COMMON_EXTRA_CONSOLE_COMMANDS_FEATURE:
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* When you enable this feature, many custom commands will be added to the in-game console. See the
|
|
27
|
-
* [dedicated command list](ExtraConsoleCommandsList) for more
|
|
27
|
+
* [dedicated command list](/isaacscript-common/features/ExtraConsoleCommandsList) for more
|
|
28
|
+
* information about them.
|
|
28
29
|
*
|
|
29
30
|
* Note that in order to avoid conflicts, if two or more mods enable this feature, then the first
|
|
30
31
|
* loaded one will control all of the command logic. When this occurs, a global variable of
|
|
@@ -241,10 +242,11 @@ export class ExtraConsoleCommands extends Feature {
|
|
|
241
242
|
/**
|
|
242
243
|
* Helper function to add a custom console command.
|
|
243
244
|
*
|
|
244
|
-
* The standard library comes with [many existing console
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
* logic manually to the
|
|
245
|
+
* The standard library comes with [many existing console
|
|
246
|
+
* commands](/isaacscript-common/features/ExtraConsoleCommandsList) that are useful for debugging,
|
|
247
|
+
* but you can also add your own commands that are useful for your particular mod. It's easier to
|
|
248
|
+
* add commands to the existing command system than to add your own logic manually to the
|
|
249
|
+
* `EXECUTE_CMD` callback.
|
|
248
250
|
*
|
|
249
251
|
* This function is intended to be called when your mod is first loading.
|
|
250
252
|
*
|
|
@@ -290,8 +292,9 @@ export class ExtraConsoleCommands extends Feature {
|
|
|
290
292
|
/**
|
|
291
293
|
* Helper function to remove a custom console command.
|
|
292
294
|
*
|
|
293
|
-
* The standard library comes with [many existing console
|
|
294
|
-
* are useful for debugging.
|
|
295
|
+
* The standard library comes with [many existing console
|
|
296
|
+
* commands](/isaacscript-common/features/ExtraConsoleCommandsList) that are useful for debugging.
|
|
297
|
+
* If you want to disable one of them, use this function.
|
|
295
298
|
*
|
|
296
299
|
* This function is intended to be called when your mod is first loading.
|
|
297
300
|
*
|
|
@@ -325,9 +328,10 @@ export class ExtraConsoleCommands extends Feature {
|
|
|
325
328
|
/**
|
|
326
329
|
* Helper function to remove all custom console commands.
|
|
327
330
|
*
|
|
328
|
-
* The standard library comes with [many existing console
|
|
329
|
-
* are useful for debugging.
|
|
330
|
-
* been initialized, use this
|
|
331
|
+
* The standard library comes with [many existing console
|
|
332
|
+
* commands](/isaacscript-common/features/ExtraConsoleCommandsList) that are useful for debugging.
|
|
333
|
+
* If you want to disable all of them after this feature has already been initialized, use this
|
|
334
|
+
* function.
|
|
331
335
|
*
|
|
332
336
|
* In order to use this function, you must upgrade your mod with
|
|
333
337
|
* `ISCFeature.EXTRA_CONSOLE_COMMANDS`.
|
|
@@ -19,17 +19,17 @@ import {
|
|
|
19
19
|
import { Exported } from "../../../decorators";
|
|
20
20
|
import { Feature } from "../../private/Feature";
|
|
21
21
|
|
|
22
|
-
// eslint-disable-next-line
|
|
22
|
+
// eslint-disable-next-line complete/strict-enums
|
|
23
23
|
const FIRST_MODDED_COLLECTIBLE_TYPE: CollectibleType =
|
|
24
24
|
LAST_VANILLA_COLLECTIBLE_TYPE + 1;
|
|
25
25
|
|
|
26
|
-
// eslint-disable-next-line
|
|
26
|
+
// eslint-disable-next-line complete/strict-enums
|
|
27
27
|
const FIRST_MODDED_TRINKET_TYPE: TrinketType = LAST_VANILLA_TRINKET_TYPE + 1;
|
|
28
28
|
|
|
29
|
-
// eslint-disable-next-line
|
|
29
|
+
// eslint-disable-next-line complete/strict-enums
|
|
30
30
|
const FIRST_MODDED_CARD_TYPE: CardType = LAST_VANILLA_CARD_TYPE + 1;
|
|
31
31
|
|
|
32
|
-
// eslint-disable-next-line
|
|
32
|
+
// eslint-disable-next-line complete/strict-enums
|
|
33
33
|
const FIRST_MODDED_PILL_EFFECT: PillEffect = LAST_VANILLA_PILL_EFFECT + 1;
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -574,7 +574,7 @@ export class ModdedElementSets extends Feature {
|
|
|
574
574
|
@Exported
|
|
575
575
|
public getPlayerCollectibleMap(
|
|
576
576
|
player: EntityPlayer,
|
|
577
|
-
):
|
|
577
|
+
): ReadonlyMap<CollectibleType, int> {
|
|
578
578
|
const collectibleArray = this.getCollectibleTypes();
|
|
579
579
|
|
|
580
580
|
const collectibleMap = new Map<CollectibleType, int>();
|
|
@@ -603,7 +603,7 @@ export class ModdedElementSets extends Feature {
|
|
|
603
603
|
}
|
|
604
604
|
}
|
|
605
605
|
|
|
606
|
-
collectibleType--; // eslint-disable-line
|
|
606
|
+
collectibleType--; // eslint-disable-line complete/strict-enums
|
|
607
607
|
} while (itemConfigItem !== undefined);
|
|
608
608
|
}
|
|
609
609
|
|
|
@@ -976,7 +976,7 @@ export class ModdedElementSets extends Feature {
|
|
|
976
976
|
public getPlayerTrinketsWithCacheFlag(
|
|
977
977
|
player: EntityPlayer,
|
|
978
978
|
cacheFlag: CacheFlag,
|
|
979
|
-
):
|
|
979
|
+
): ReadonlyMap<TrinketType, int> {
|
|
980
980
|
const trinketTypesWithCacheFlag =
|
|
981
981
|
this.getTrinketsTypesWithCacheFlag(cacheFlag);
|
|
982
982
|
|
|
@@ -116,9 +116,7 @@ export class PickupIndexCreation extends Feature {
|
|
|
116
116
|
v.level.pickupData.getAndSetDefault(roomListIndex);
|
|
117
117
|
|
|
118
118
|
let pickupIndex = getStoredPickupIndex(pickup, pickupDescriptions);
|
|
119
|
-
|
|
120
|
-
pickupIndex = this.getPostAscentPickupIndex(pickup);
|
|
121
|
-
}
|
|
119
|
+
pickupIndex ??= this.getPostAscentPickupIndex(pickup);
|
|
122
120
|
|
|
123
121
|
return pickupIndex;
|
|
124
122
|
}
|
|
@@ -186,6 +184,7 @@ export class PickupIndexCreation extends Feature {
|
|
|
186
184
|
* pickup could re-appear during The Ascent. If this is the case, we store the metadata on a
|
|
187
185
|
* separate map to reference later.
|
|
188
186
|
*/
|
|
187
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
189
188
|
private getPickupDataMapForCurrentRoom():
|
|
190
189
|
| Map<PickupIndex, PickupDescription>
|
|
191
190
|
| undefined {
|
|
@@ -347,7 +347,7 @@ export class RunInNFrames extends Feature {
|
|
|
347
347
|
}
|
|
348
348
|
|
|
349
349
|
function checkExecuteQueuedFunctions(
|
|
350
|
-
// eslint-disable-next-line
|
|
350
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
351
351
|
queuedFunctions: QueuedFunction[],
|
|
352
352
|
frameCount: int,
|
|
353
353
|
newNumRoomsEntered: int,
|
|
@@ -368,7 +368,7 @@ function checkExecuteQueuedFunctions(
|
|
|
368
368
|
}
|
|
369
369
|
|
|
370
370
|
function checkExecuteIntervalFunctions(
|
|
371
|
-
// eslint-disable-next-line
|
|
371
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
372
372
|
intervalFunctions: IntervalFunction[],
|
|
373
373
|
frameCount: int,
|
|
374
374
|
newNumRoomsEntered: int,
|
|
@@ -104,7 +104,7 @@ export class SaveDataManager extends Feature {
|
|
|
104
104
|
|
|
105
105
|
// 18
|
|
106
106
|
// We want to avoid a needless dependency on the `GameReorderedCallbacks` feature.
|
|
107
|
-
// eslint-disable-next-line
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
108
108
|
[ModCallback.POST_NEW_LEVEL, this.postNewLevel],
|
|
109
109
|
];
|
|
110
110
|
|
|
@@ -57,7 +57,7 @@ const ROOM_SHAPE_WALL_ANM2_LAYERS = {
|
|
|
57
57
|
} as const satisfies Record<RoomShape, int>;
|
|
58
58
|
|
|
59
59
|
// We don't use `as const` since we need the object to be indexable by all `RoomShape`.
|
|
60
|
-
// eslint-disable-next-line
|
|
60
|
+
// eslint-disable-next-line complete/require-capital-const-assertions
|
|
61
61
|
const ROOM_SHAPE_WALL_EXTRA_ANM2_LAYERS: Readonly<
|
|
62
62
|
Partial<Record<RoomShape, int>>
|
|
63
63
|
> = {
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
/*
|
|
4
4
|
eslint "sort-exports/sort-exports": [
|
|
5
|
-
"
|
|
5
|
+
"warn",
|
|
6
6
|
{
|
|
7
7
|
sortDir: "asc",
|
|
8
8
|
},
|
|
9
9
|
],
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
/* eslint "jsdoc/require-jsdoc": "
|
|
12
|
+
/* eslint "jsdoc/require-jsdoc": "warn" */
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* __DOCS_LINE_THAT_WILL_BE_AUTOMATICALLY_REMOVED__
|
|
16
16
|
*
|
|
17
17
|
* This is a list of custom console commands that are included with the standard library. By
|
|
18
18
|
* default, they will not be enabled. You can enable them by upgrading your mod with
|
|
19
|
-
* `ISCFeature.EXTRA_CONSOLE_COMMANDS`. (Also see the [Extra Console
|
|
20
|
-
* feature documentation.)
|
|
19
|
+
* `ISCFeature.EXTRA_CONSOLE_COMMANDS`. (Also see the [Extra Console
|
|
20
|
+
* Commands](/isaacscript-common/features/ExtraConsoleCommands) feature documentation.)
|
|
21
21
|
*
|
|
22
22
|
* As a quality of life feature, you do not have to match the casing of the command. For example,
|
|
23
23
|
* you can type the "addCharges" command as "addcharges", and it will still work the same.
|
|
@@ -414,7 +414,7 @@ export function cards(): void {
|
|
|
414
414
|
|
|
415
415
|
const worldPosition = gridCoordinatesToWorldPosition(x, y);
|
|
416
416
|
spawnCard(cardType, worldPosition);
|
|
417
|
-
cardType++; // eslint-disable-line
|
|
417
|
+
cardType++; // eslint-disable-line complete/strict-enums
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
420
|
}
|
|
@@ -1115,7 +1115,7 @@ export function pills(): void {
|
|
|
1115
1115
|
|
|
1116
1116
|
const worldPosition = gridCoordinatesToWorldPosition(x, y);
|
|
1117
1117
|
spawnPill(pillColor, worldPosition);
|
|
1118
|
-
pillColor++; // eslint-disable-line
|
|
1118
|
+
pillColor++; // eslint-disable-line complete/strict-enums
|
|
1119
1119
|
}
|
|
1120
1120
|
|
|
1121
1121
|
y = 2;
|
|
@@ -1127,7 +1127,7 @@ export function pills(): void {
|
|
|
1127
1127
|
|
|
1128
1128
|
const worldPosition = gridCoordinatesToWorldPosition(x, y);
|
|
1129
1129
|
spawnPill(pillColor, worldPosition);
|
|
1130
|
-
pillColor++; // eslint-disable-line
|
|
1130
|
+
pillColor++; // eslint-disable-line complete/strict-enums
|
|
1131
1131
|
}
|
|
1132
1132
|
|
|
1133
1133
|
y = 3;
|
|
@@ -23,6 +23,11 @@ export function loadFromDisk(
|
|
|
23
23
|
const jsonString = readSaveDatFile(mod);
|
|
24
24
|
const newSaveData = jsonDecode(jsonString);
|
|
25
25
|
|
|
26
|
+
if (newSaveData === undefined) {
|
|
27
|
+
// Reading the save data failed.
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
26
31
|
if (SAVE_DATA_MANAGER_DEBUG) {
|
|
27
32
|
log('Converted data from the "save#.dat" to a Lua table.');
|
|
28
33
|
}
|
package/src/core/constants.ts
CHANGED
|
@@ -295,7 +295,7 @@ export const ONE_BY_ONE_ROOM_GRID_SIZE = 135;
|
|
|
295
295
|
* An array representing every valid collectible type quality. Specifically, this is: `[0, 1, 2, 3,
|
|
296
296
|
* 4]`
|
|
297
297
|
*/
|
|
298
|
-
// eslint-disable-next-line
|
|
298
|
+
// eslint-disable-next-line complete/require-capital-const-assertions
|
|
299
299
|
export const QUALITIES: readonly Quality[] = [0, 1, 2, 3, 4];
|
|
300
300
|
export const MAX_QUALITY: Quality = 4;
|
|
301
301
|
|
|
@@ -53,7 +53,7 @@ export const VANILLA_COLLECTIBLE_TYPE_RANGE: readonly int[] = iRange(
|
|
|
53
53
|
*
|
|
54
54
|
* If you need to do O(1) lookups, use the `VANILLA_COLLECTIBLE_TYPES_SET` constant instead.
|
|
55
55
|
*/
|
|
56
|
-
// eslint-disable-next-line
|
|
56
|
+
// eslint-disable-next-line complete/strict-enums
|
|
57
57
|
export const VANILLA_COLLECTIBLE_TYPES: readonly CollectibleType[] =
|
|
58
58
|
VANILLA_COLLECTIBLE_TYPE_RANGE.filter((potentialCollectibleType) => {
|
|
59
59
|
const collectibleType = asCollectibleType(potentialCollectibleType);
|
|
@@ -93,7 +93,7 @@ export const VANILLA_TRINKET_TYPE_RANGE: readonly int[] = iRange(
|
|
|
93
93
|
*
|
|
94
94
|
* If you need to do O(1) lookups, use the `VANILLA_TRINKET_TYPES_SET` constant instead.
|
|
95
95
|
*/
|
|
96
|
-
// eslint-disable-next-line
|
|
96
|
+
// eslint-disable-next-line complete/strict-enums
|
|
97
97
|
export const VANILLA_TRINKET_TYPES: readonly TrinketType[] =
|
|
98
98
|
VANILLA_TRINKET_TYPE_RANGE.filter((potentialTrinketType) => {
|
|
99
99
|
const trinketType = asTrinketType(potentialTrinketType);
|
|
@@ -130,7 +130,7 @@ export const VANILLA_CARD_TYPE_RANGE: readonly int[] = iRange(
|
|
|
130
130
|
*
|
|
131
131
|
* If you need to do O(1) lookups, use the `VANILLA_CARD_TYPES_SET` constant instead.
|
|
132
132
|
*/
|
|
133
|
-
// eslint-disable-next-line
|
|
133
|
+
// eslint-disable-next-line complete/strict-enums
|
|
134
134
|
export const VANILLA_CARD_TYPES: readonly CardType[] =
|
|
135
135
|
VANILLA_CARD_TYPE_RANGE.filter((potentialCardType) => {
|
|
136
136
|
const cardType = asCardType(potentialCardType);
|
|
@@ -167,7 +167,7 @@ export const VANILLA_PILL_EFFECT_RANGE: readonly int[] = iRange(
|
|
|
167
167
|
*
|
|
168
168
|
* If you need to do O(1) lookups, use the `VANILLA_PILL_EFFECT_SET` constant instead.
|
|
169
169
|
*/
|
|
170
|
-
// eslint-disable-next-line
|
|
170
|
+
// eslint-disable-next-line complete/strict-enums
|
|
171
171
|
export const VANILLA_PILL_EFFECTS: readonly PillEffect[] =
|
|
172
172
|
VANILLA_PILL_EFFECT_RANGE.filter((potentialPillEffect) => {
|
|
173
173
|
const pillEffect = asPillEffect(potentialPillEffect);
|
|
@@ -1648,8 +1648,8 @@ export enum ModCallbackCustom {
|
|
|
1648
1648
|
POST_PLAYER_COLLECTIBLE_REMOVED,
|
|
1649
1649
|
|
|
1650
1650
|
/**
|
|
1651
|
-
* Fires from the `ENTITY_TAKE_DMG` callback when a player takes fatal damage.
|
|
1652
|
-
* prevent the fatal damage.
|
|
1651
|
+
* Fires from the `ENTITY_TAKE_DMG` callback when a player takes fatal damage. You can optionally
|
|
1652
|
+
* return false to prevent the fatal damage.
|
|
1653
1653
|
*
|
|
1654
1654
|
* Note that this function does properly take into account Guppy's Collar, Broken Ankh, Spirit
|
|
1655
1655
|
* Shackles, and Mysterious Paper. It also takes into account using The Bible on Satan.
|
|
@@ -2450,7 +2450,8 @@ export enum ModCallbackCustom {
|
|
|
2450
2450
|
|
|
2451
2451
|
/**
|
|
2452
2452
|
* Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when an item becomes queued (i.e. when
|
|
2453
|
-
* the player begins to hold the item above their head).
|
|
2453
|
+
* the player begins to hold the item above their head). You can optionally return false if you
|
|
2454
|
+
* want the item to not be granted to the player.
|
|
2454
2455
|
*
|
|
2455
2456
|
* Note that this callback will only fire once per Forgotten/Soul pair.
|
|
2456
2457
|
*
|
|
@@ -2464,7 +2465,7 @@ export enum ModCallbackCustom {
|
|
|
2464
2465
|
* function preItemPickup(
|
|
2465
2466
|
* player: EntityPlayer,
|
|
2466
2467
|
* pickingUpItem: PickingUpItem,
|
|
2467
|
-
* ):
|
|
2468
|
+
* ): boolean | undefined {}
|
|
2468
2469
|
* ```
|
|
2469
2470
|
*/
|
|
2470
2471
|
PRE_ITEM_PICKUP,
|