isaacscript-common 87.5.0 → 87.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/callbackClasses.d.ts +7 -6
- package/dist/callbackClasses.d.ts.map +1 -1
- package/dist/callbackClasses.js +17 -15
- package/dist/callbackClasses.lua +163 -300
- package/dist/callbacks.d.ts +118 -117
- package/dist/callbacks.d.ts.map +1 -1
- package/dist/callbacks.js +19 -9
- package/dist/callbacks.lua +1 -0
- 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 +4 -6
- package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
- package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionFilter.js +3 -3
- package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
- package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionPlayer.js +6 -6
- package/dist/classes/callbacks/PostBoneSwing.js +2 -2
- 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 +3 -5
- package/dist/classes/callbacks/PostCursedTeleport.js +5 -5
- 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/PostDiceRoomActivated.js +2 -2
- package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts +9 -0
- package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts.map +1 -0
- package/dist/classes/callbacks/PostEntityRemoveFilter.js +21 -0
- package/dist/classes/callbacks/PostEntityRemoveFilter.lua +23 -0
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCollision.js +10 -10
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomCollision.js +8 -8
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRemove.js +2 -2
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityRemove.js +3 -3
- 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 +5 -8
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostKeyboardChanged.js +2 -2
- package/dist/classes/callbacks/PostNewRoomEarly.js +3 -3
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -3
- package/dist/classes/callbacks/PostPlayerChangeHealth.js +2 -2
- 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/PostPurchase.js +9 -9
- 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/PostUsePillFilter.js +2 -2
- package/dist/classes/callbacks/PreBerserkDeath.js +4 -4
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreEntitySpawnFilter.js +3 -3
- 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/callbacks/PreRoomEntitySpawnFilter.js +5 -5
- 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/EsauJrDetection.js +2 -2
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +9 -11
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +4 -4
- package/dist/classes/features/callbackLogic/ItemPickupDetection.js +4 -4
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +2 -2
- 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 +44 -38
- 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 +6 -4
- package/dist/classes/features/other/DisableInputs.js +3 -3
- 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 +3 -3
- package/dist/classes/features/other/NoSirenSteal.js +4 -4
- 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 +7 -8
- 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/PonyDetection.js +2 -2
- package/dist/classes/features/other/PressInput.js +2 -2
- 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/PreventChildEntities.js +4 -4
- 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/RoomHistory.js +5 -5
- package/dist/classes/features/other/RunInNFrames.js +2 -2
- package/dist/classes/features/other/SaveDataManager.js +3 -3
- 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/StageHistory.js +2 -2
- package/dist/classes/features/other/StartAmbush.js +2 -2
- 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/TaintedLazarusPlayers.js +2 -2
- 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 +9 -10
- package/dist/classes/features/other/customStages/shadows.js +1 -2
- package/dist/classes/features/other/customStages/streakText.js +7 -8
- 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 +155 -158
- 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 +4 -5
- 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 +134 -117
- package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
- package/dist/enums/ModCallbackCustom.js +134 -117
- package/dist/enums/ModCallbackCustom.lua +119 -117
- 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 +19 -19
- 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 +12 -13
- 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 +39 -40
- 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 +7 -10
- 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 +56 -52
- package/dist/functions/easing.js +32 -33
- 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 +7 -8
- package/dist/functions/entities.d.ts +0 -1
- package/dist/functions/entities.d.ts.map +1 -1
- package/dist/functions/entities.js +36 -38
- 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 +8 -9
- package/dist/functions/flag.d.ts +1 -1
- package/dist/functions/flag.d.ts.map +1 -1
- package/dist/functions/flag.js +9 -10
- 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 +68 -62
- package/dist/functions/gridEntitiesSpecific.js +40 -41
- 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 +25 -26
- 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 +7 -8
- package/dist/functions/levelGrid.d.ts.map +1 -1
- package/dist/functions/levelGrid.js +33 -38
- package/dist/functions/log.js +4 -5
- package/dist/functions/logEntities.d.ts.map +1 -1
- package/dist/functions/logEntities.js +19 -17
- 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 +17 -18
- 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 +16 -13
- 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 +19 -17
- package/dist/functions/pickupVariants.d.ts +0 -1
- package/dist/functions/pickupVariants.d.ts.map +1 -1
- package/dist/functions/pickupVariants.js +17 -18
- 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 +21 -24
- 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 +28 -29
- 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 +12 -13
- package/dist/functions/playerTrinkets.js +10 -11
- package/dist/functions/players.js +41 -42
- package/dist/functions/pocketItems.js +10 -11
- 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 +20 -21
- 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 +8 -9
- 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 +1 -2
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.js +116 -105
- package/dist/functions/rooms.lua +3 -4
- 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 +8 -9
- 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 +7 -10
- 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 +60 -69
- 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 +18 -19
- 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 +8 -9
- package/dist/functions/transformations.js +5 -6
- package/dist/functions/trinketGive.js +9 -10
- 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 +41 -42
- 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 +18 -18
- package/dist/index.rollup.d.ts +222 -181
- 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 +18 -18
- 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 +6 -0
- 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 +786 -871
- package/dist/lib/jsonLua.js +34 -34
- package/dist/lualib_bundle.lua +49 -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 +83 -86
- 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/Increment.d.ts.map +1 -1
- package/dist/types/PickingUpItem.d.ts +10 -3
- package/dist/types/PickingUpItem.d.ts.map +1 -1
- package/dist/types/PickingUpItem.js +15 -9
- package/dist/types/PickingUpItem.lua +8 -3
- 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 +7 -6
- package/src/callbacks.ts +1 -0
- package/src/classes/DefaultMap.ts +5 -2
- package/src/classes/ModFeature.ts +3 -3
- package/src/classes/ModUpgraded.ts +4 -6
- package/src/classes/callbacks/InputActionFilter.ts +3 -3
- package/src/classes/callbacks/InputActionPlayer.ts +6 -6
- package/src/classes/callbacks/PostBoneSwing.ts +2 -2
- package/src/classes/callbacks/PostCollectibleEmpty.ts +3 -5
- package/src/classes/callbacks/PostCursedTeleport.ts +5 -5
- package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -2
- package/src/classes/callbacks/PostEntityRemoveFilter.ts +22 -0
- package/src/classes/callbacks/PostGridEntityCollision.ts +10 -10
- package/src/classes/callbacks/PostGridEntityCustomCollision.ts +8 -8
- package/src/classes/callbacks/PostGridEntityCustomRemove.ts +2 -2
- package/src/classes/callbacks/PostGridEntityRemove.ts +3 -3
- package/src/classes/callbacks/PostItemDischarge.ts +5 -8
- package/src/classes/callbacks/PostKeyboardChanged.ts +2 -2
- package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
- package/src/classes/callbacks/PostNewRoomEarly.ts +3 -3
- package/src/classes/callbacks/PostPickupSelectionFilter.ts +4 -3
- package/src/classes/callbacks/PostPlayerChangeHealth.ts +2 -2
- package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
- package/src/classes/callbacks/PostPurchase.ts +9 -9
- package/src/classes/callbacks/PostTransformation.ts +1 -3
- package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
- package/src/classes/callbacks/PostUsePillFilter.ts +2 -2
- package/src/classes/callbacks/PreBerserkDeath.ts +4 -4
- package/src/classes/callbacks/PreEntitySpawnFilter.ts +3 -3
- package/src/classes/callbacks/PreRoomEntitySpawnFilter.ts +5 -5
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
- package/src/classes/features/callbackLogic/EsauJrDetection.ts +2 -2
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +9 -11
- package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +4 -4
- package/src/classes/features/callbackLogic/ItemPickupDetection.ts +4 -4
- package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +2 -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 +46 -39
- package/src/classes/features/other/DeployJSONRoom.ts +6 -4
- package/src/classes/features/other/DisableInputs.ts +3 -3
- 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 +5 -5
- package/src/classes/features/other/NoSirenSteal.ts +4 -4
- package/src/classes/features/other/PickupIndexCreation.ts +7 -8
- package/src/classes/features/other/PonyDetection.ts +2 -2
- package/src/classes/features/other/PressInput.ts +2 -2
- package/src/classes/features/other/PreventChildEntities.ts +4 -4
- package/src/classes/features/other/RoomHistory.ts +5 -5
- package/src/classes/features/other/RunInNFrames.ts +2 -2
- package/src/classes/features/other/SaveDataManager.ts +3 -3
- package/src/classes/features/other/StageHistory.ts +2 -2
- package/src/classes/features/other/StartAmbush.ts +2 -2
- package/src/classes/features/other/TaintedLazarusPlayers.ts +2 -2
- package/src/classes/features/other/customStages/backdrop.ts +1 -1
- package/src/classes/features/other/customStages/gridEntities.ts +4 -4
- package/src/classes/features/other/customStages/streakText.ts +4 -4
- package/src/classes/features/other/extraConsoleCommands/commands.ts +15 -15
- package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +4 -2
- 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 +18 -0
- package/src/functions/array.ts +33 -29
- package/src/functions/arrayLua.ts +1 -1
- package/src/functions/bosses.ts +4 -3
- package/src/functions/charge.ts +3 -4
- package/src/functions/collectibles.ts +2 -2
- package/src/functions/decorators.ts +6 -9
- package/src/functions/deepCopy.ts +6 -10
- package/src/functions/deepCopyTests.ts +4 -4
- package/src/functions/doors.ts +8 -3
- package/src/functions/easing.ts +2 -2
- package/src/functions/emptyRoom.ts +5 -5
- package/src/functions/entities.ts +11 -12
- package/src/functions/enums.ts +4 -4
- package/src/functions/familiars.ts +2 -2
- package/src/functions/flag.ts +3 -3
- package/src/functions/globals.ts +2 -3
- package/src/functions/gridEntities.ts +30 -24
- package/src/functions/gridEntitiesSpecific.ts +2 -2
- package/src/functions/isaacAPIClass.ts +2 -2
- package/src/functions/jsonHelpers.ts +7 -5
- package/src/functions/level.ts +3 -3
- package/src/functions/levelGrid.ts +9 -12
- package/src/functions/logEntities.ts +11 -8
- package/src/functions/logMisc.ts +9 -20
- package/src/functions/map.ts +4 -4
- package/src/functions/math.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 +14 -10
- package/src/functions/npcDataStructures.ts +5 -5
- package/src/functions/npcs.ts +13 -10
- package/src/functions/pickupVariants.ts +6 -6
- package/src/functions/playerCollectibles.ts +3 -5
- package/src/functions/playerDataStructures.ts +5 -5
- package/src/functions/playerHealth.ts +8 -8
- package/src/functions/playerIndex.ts +3 -3
- package/src/functions/players.ts +4 -4
- package/src/functions/pocketItems.ts +2 -2
- package/src/functions/positionVelocity.ts +4 -12
- package/src/functions/revive.ts +15 -15
- package/src/functions/rng.ts +4 -3
- package/src/functions/roomData.ts +1 -3
- package/src/functions/roomGrid.ts +2 -2
- package/src/functions/rooms.ts +55 -42
- package/src/functions/set.ts +8 -8
- package/src/functions/sort.ts +4 -4
- package/src/functions/sound.ts +2 -7
- package/src/functions/spawnCollectible.ts +4 -6
- package/src/functions/stage.ts +20 -30
- package/src/functions/string.ts +6 -6
- package/src/functions/tears.ts +2 -2
- package/src/functions/trinketGive.ts +4 -4
- package/src/functions/trinkets.ts +1 -3
- package/src/functions/tstlClass.ts +2 -2
- package/src/functions/types.ts +19 -19
- package/src/index.ts +58 -58
- package/src/interfaces/SaveData.ts +2 -1
- package/src/interfaces/private/AddCallbackParametersCustom.ts +7 -0
- package/src/lib/jsonLua.js +34 -34
- package/src/objects/LRoomShapeToRectangles.ts +1 -1
- package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
- package/src/shouldFire.ts +55 -57
- package/src/types/AddSubtract.ts +10 -2
- package/src/types/HasFunction.ts +1 -1
- package/src/types/Immutable.ts +1 -1
- package/src/types/Increment.ts +2 -2
- package/src/types/PickingUpItem.ts +10 -3
- package/src/types/TupleWithLengthBetween.ts +2 -2
- package/src/types/TupleWithMaxLength.ts +2 -2
|
@@ -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)
|
|
@@ -164,11 +162,11 @@ export class GameReorderedCallbacks extends Feature {
|
|
|
164
162
|
}
|
|
165
163
|
|
|
166
164
|
if (
|
|
167
|
-
(onGameFrame(0)
|
|
168
|
-
onRenderFrame(this.renderFrameRunStarted)
|
|
169
|
-
this.currentStage !== stage
|
|
170
|
-
this.currentStageType !== stageType)
|
|
171
|
-
!this.forceNewRoom
|
|
165
|
+
(onGameFrame(0)
|
|
166
|
+
|| onRenderFrame(this.renderFrameRunStarted)
|
|
167
|
+
|| this.currentStage !== stage
|
|
168
|
+
|| this.currentStageType !== stageType)
|
|
169
|
+
&& !this.forceNewRoom
|
|
172
170
|
) {
|
|
173
171
|
return;
|
|
174
172
|
}
|
|
@@ -115,8 +115,8 @@ export class GridEntityUpdateDetection extends Feature {
|
|
|
115
115
|
const [storedGridEntityType, storedGridEntityVariant] = gridEntityTuple;
|
|
116
116
|
const gridEntity = gridEntitiesMap.get(gridIndex);
|
|
117
117
|
if (
|
|
118
|
-
gridEntity === undefined
|
|
119
|
-
gridEntity.GetType() !== storedGridEntityType
|
|
118
|
+
gridEntity === undefined
|
|
119
|
+
|| gridEntity.GetType() !== storedGridEntityType
|
|
120
120
|
) {
|
|
121
121
|
v.room.initializedGridEntities.delete(gridIndex);
|
|
122
122
|
|
|
@@ -182,8 +182,8 @@ export class GridEntityUpdateDetection extends Feature {
|
|
|
182
182
|
const gridEntityTuple = v.room.initializedGridEntities.get(gridIndex);
|
|
183
183
|
|
|
184
184
|
if (
|
|
185
|
-
gridEntityTuple === undefined
|
|
186
|
-
gridEntityTuple[0] !== gridEntityType
|
|
185
|
+
gridEntityTuple === undefined
|
|
186
|
+
|| gridEntityTuple[0] !== gridEntityType
|
|
187
187
|
) {
|
|
188
188
|
this.updateTupleInMap(gridEntity);
|
|
189
189
|
|
|
@@ -66,8 +66,8 @@ export class ItemPickupDetection extends Feature {
|
|
|
66
66
|
|
|
67
67
|
private queueEmpty(player: EntityPlayer, pickingUpItem: PickingUpItem) {
|
|
68
68
|
if (
|
|
69
|
-
pickingUpItem.itemType === ItemType.NULL
|
|
70
|
-
asNumber(pickingUpItem.subType) === 0
|
|
69
|
+
pickingUpItem.itemType === ItemType.NULL
|
|
70
|
+
|| asNumber(pickingUpItem.subType) === 0
|
|
71
71
|
) {
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
@@ -84,8 +84,8 @@ export class ItemPickupDetection extends Feature {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
if (
|
|
87
|
-
queuedItem.Type !== pickingUpItem.itemType
|
|
88
|
-
queuedItem.ID !== pickingUpItem.subType
|
|
87
|
+
queuedItem.Type !== pickingUpItem.itemType
|
|
88
|
+
|| queuedItem.ID !== pickingUpItem.subType
|
|
89
89
|
) {
|
|
90
90
|
// Record which item we are picking up.
|
|
91
91
|
pickingUpItem.itemType = queuedItem.Type;
|
|
@@ -200,8 +200,8 @@ export class PlayerCollectibleDetection extends Feature {
|
|
|
200
200
|
pickingUpItem: PickingUpItem,
|
|
201
201
|
) => {
|
|
202
202
|
if (
|
|
203
|
-
pickingUpItem.itemType === ItemType.TRINKET
|
|
204
|
-
pickingUpItem.itemType === ItemType.NULL
|
|
203
|
+
pickingUpItem.itemType === ItemType.TRINKET
|
|
204
|
+
|| pickingUpItem.itemType === ItemType.NULL
|
|
205
205
|
) {
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
@@ -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;
|
|
@@ -217,8 +220,8 @@ export class CustomTrapdoors extends Feature {
|
|
|
217
220
|
|
|
218
221
|
private checkPixelationToBlackComplete() {
|
|
219
222
|
if (
|
|
220
|
-
v.run.state !== StageTravelState.PIXELATION_TO_BLACK
|
|
221
|
-
v.run.stateRenderFrame === null
|
|
223
|
+
v.run.state !== StageTravelState.PIXELATION_TO_BLACK
|
|
224
|
+
|| v.run.stateRenderFrame === null
|
|
222
225
|
) {
|
|
223
226
|
return;
|
|
224
227
|
}
|
|
@@ -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,
|
|
@@ -309,9 +310,9 @@ export class CustomTrapdoors extends Feature {
|
|
|
309
310
|
|
|
310
311
|
private checkSecondPixelationHalfWay() {
|
|
311
312
|
if (
|
|
312
|
-
v.run.state
|
|
313
|
-
StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
|
|
314
|
-
v.run.stateRenderFrame === null
|
|
313
|
+
v.run.state
|
|
314
|
+
!== StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
|
|
315
|
+
|| v.run.stateRenderFrame === null
|
|
315
316
|
) {
|
|
316
317
|
return;
|
|
317
318
|
}
|
|
@@ -377,9 +378,9 @@ export class CustomTrapdoors extends Feature {
|
|
|
377
378
|
|
|
378
379
|
private drawBlackSprite(): void {
|
|
379
380
|
if (
|
|
380
|
-
v.run.state !== StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END
|
|
381
|
-
v.run.state
|
|
382
|
-
StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
|
|
381
|
+
v.run.state !== StageTravelState.WAITING_FOR_FIRST_PIXELATION_TO_END
|
|
382
|
+
&& v.run.state
|
|
383
|
+
!== StageTravelState.WAITING_FOR_SECOND_PIXELATION_TO_GET_HALF_WAY
|
|
383
384
|
) {
|
|
384
385
|
return;
|
|
385
386
|
}
|
|
@@ -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
|
|
|
@@ -433,9 +443,9 @@ export class CustomTrapdoors extends Feature {
|
|
|
433
443
|
const roomClear = room.IsClear();
|
|
434
444
|
|
|
435
445
|
return (
|
|
436
|
-
!anyPlayerCloserThan(gridEntity.Position, TRAPDOOR_OPEN_DISTANCE)
|
|
437
|
-
!this.isPlayerCloseAfterBoss(gridEntity.Position)
|
|
438
|
-
!shouldBeClosedFromStartingInRoomWithEnemies(firstSpawn, roomClear)
|
|
446
|
+
!anyPlayerCloserThan(gridEntity.Position, TRAPDOOR_OPEN_DISTANCE)
|
|
447
|
+
&& !this.isPlayerCloseAfterBoss(gridEntity.Position)
|
|
448
|
+
&& !shouldBeClosedFromStartingInRoomWithEnemies(firstSpawn, roomClear)
|
|
439
449
|
);
|
|
440
450
|
}
|
|
441
451
|
|
|
@@ -447,9 +457,11 @@ export class CustomTrapdoors extends Feature {
|
|
|
447
457
|
// In order to prevent a player from accidentally entering a freshly-spawned trapdoor after
|
|
448
458
|
// killing the boss of the floor, we use a wider open distance for a short amount of frames.
|
|
449
459
|
if (
|
|
450
|
-
roomType !== RoomType.BOSS
|
|
451
|
-
roomClearGameFrame === undefined
|
|
452
|
-
onOrAfterRenderFrame(
|
|
460
|
+
roomType !== RoomType.BOSS
|
|
461
|
+
|| roomClearGameFrame === undefined
|
|
462
|
+
|| onOrAfterRenderFrame(
|
|
463
|
+
roomClearGameFrame + TRAPDOOR_BOSS_REACTION_FRAMES,
|
|
464
|
+
)
|
|
453
465
|
) {
|
|
454
466
|
return false;
|
|
455
467
|
}
|
|
@@ -482,9 +494,9 @@ export class CustomTrapdoors extends Feature {
|
|
|
482
494
|
|
|
483
495
|
if (
|
|
484
496
|
// We don't want a Pony dash to transition to a new floor or a crawl space.
|
|
485
|
-
!this.ponyDetection.isPlayerUsingPony(player)
|
|
486
|
-
!isChildPlayer(player)
|
|
487
|
-
canPlayerInteractWithTrapdoor(player)
|
|
497
|
+
!this.ponyDetection.isPlayerUsingPony(player)
|
|
498
|
+
&& !isChildPlayer(player)
|
|
499
|
+
&& canPlayerInteractWithTrapdoor(player)
|
|
488
500
|
) {
|
|
489
501
|
this.playerTouchedCustomTrapdoor(
|
|
490
502
|
gridEntity,
|
|
@@ -744,21 +756,16 @@ export class CustomTrapdoors extends Feature {
|
|
|
744
756
|
spawnOpen?: boolean,
|
|
745
757
|
): GridEntity {
|
|
746
758
|
if (
|
|
747
|
-
destinationName !== undefined
|
|
748
|
-
!this.destinationFuncMap.has(destinationName)
|
|
759
|
+
destinationName !== undefined
|
|
760
|
+
&& !this.destinationFuncMap.has(destinationName)
|
|
749
761
|
) {
|
|
750
762
|
error(
|
|
751
763
|
`Failed to spawn a custom trapdoor with a destination of "${destinationName}" since a destination with that name has not been registered with the "registerCustomTrapdoorDestination" function. (If you are trying to go to a custom stage, the custom stage library should automatically do this for you when your mod first boots.)`,
|
|
752
764
|
);
|
|
753
765
|
}
|
|
754
766
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
if (destinationStageType === undefined) {
|
|
760
|
-
destinationStageType = this.stageHistory.getNextStageTypeWithHistory();
|
|
761
|
-
}
|
|
767
|
+
destinationStage ??= this.stageHistory.getNextStageWithHistory();
|
|
768
|
+
destinationStageType ??= this.stageHistory.getNextStageTypeWithHistory();
|
|
762
769
|
|
|
763
770
|
const room = game.GetRoom();
|
|
764
771
|
const roomListIndex = getRoomListIndex();
|
|
@@ -826,8 +833,8 @@ function canPlayerInteractWithTrapdoor(player: EntityPlayer) {
|
|
|
826
833
|
const sprite = player.GetSprite();
|
|
827
834
|
const animation = sprite.GetAnimation();
|
|
828
835
|
return (
|
|
829
|
-
!player.IsHoldingItem()
|
|
830
|
-
!ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL.has(animation)
|
|
836
|
+
!player.IsHoldingItem()
|
|
837
|
+
&& !ANIMATIONS_THAT_PREVENT_STAGE_TRAVEL.has(animation)
|
|
831
838
|
);
|
|
832
839
|
}
|
|
833
840
|
|
|
@@ -161,8 +161,9 @@ export class DeployJSONRoom extends Feature {
|
|
|
161
161
|
|
|
162
162
|
let entity: Entity;
|
|
163
163
|
if (
|
|
164
|
-
entityType === EntityType.PICKUP
|
|
165
|
-
|
|
164
|
+
entityType === EntityType.PICKUP
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
166
|
+
&& variant === PickupVariant.COLLECTIBLE
|
|
166
167
|
) {
|
|
167
168
|
const collectibleType = asCollectibleType(subType);
|
|
168
169
|
const options = roomType === RoomType.ANGEL;
|
|
@@ -173,8 +174,9 @@ export class DeployJSONRoom extends Feature {
|
|
|
173
174
|
|
|
174
175
|
// For some reason, Pitfalls do not spawn with the correct collision classes.
|
|
175
176
|
if (
|
|
176
|
-
entityType === EntityType.PITFALL
|
|
177
|
-
|
|
177
|
+
entityType === EntityType.PITFALL
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
179
|
+
&& variant === PitfallVariant.PITFALL
|
|
178
180
|
) {
|
|
179
181
|
entity.EntityCollisionClass = EntityCollisionClass.ENEMIES;
|
|
180
182
|
entity.GridCollisionClass = EntityGridCollisionClass.WALLS;
|
|
@@ -122,9 +122,9 @@ export class DisableInputs extends Feature {
|
|
|
122
122
|
@Exported
|
|
123
123
|
public areInputsEnabled(): boolean {
|
|
124
124
|
return (
|
|
125
|
-
v.run.disableInputs.size === 0
|
|
126
|
-
v.run.enableAllInputsWithBlacklistMap.size === 0
|
|
127
|
-
v.run.disableAllInputsWithWhitelistMap.size === 0
|
|
125
|
+
v.run.disableInputs.size === 0
|
|
126
|
+
&& v.run.enableAllInputsWithBlacklistMap.size === 0
|
|
127
|
+
&& v.run.disableAllInputsWithWhitelistMap.size === 0
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -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
|
/**
|
|
@@ -411,8 +411,8 @@ export class ModdedElementSets extends Feature {
|
|
|
411
411
|
private lazyInitEdenCollectibleTypesSet() {
|
|
412
412
|
for (const collectibleType of this.getCollectibleTypes()) {
|
|
413
413
|
if (
|
|
414
|
-
isHiddenCollectible(collectibleType)
|
|
415
|
-
collectibleHasTag(collectibleType, ItemConfigTag.NO_EDEN)
|
|
414
|
+
isHiddenCollectible(collectibleType)
|
|
415
|
+
|| collectibleHasTag(collectibleType, ItemConfigTag.NO_EDEN)
|
|
416
416
|
) {
|
|
417
417
|
continue;
|
|
418
418
|
}
|
|
@@ -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
|
|
|
@@ -59,16 +59,16 @@ export class NoSirenSteal extends Feature {
|
|
|
59
59
|
const [familiarVariant, familiarSubType] = familiarTuple;
|
|
60
60
|
|
|
61
61
|
if (
|
|
62
|
-
familiarVariant === incomingFamiliarVariant
|
|
63
|
-
familiarSubType === incomingFamiliarSubType
|
|
62
|
+
familiarVariant === incomingFamiliarVariant
|
|
63
|
+
&& familiarSubType === incomingFamiliarSubType
|
|
64
64
|
) {
|
|
65
65
|
// There is an entry that matches the variant and sub-type exactly.
|
|
66
66
|
return true;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
if (
|
|
70
|
-
familiarVariant === incomingFamiliarVariant
|
|
71
|
-
familiarSubType === undefined
|
|
70
|
+
familiarVariant === incomingFamiliarVariant
|
|
71
|
+
&& familiarSubType === undefined
|
|
72
72
|
) {
|
|
73
73
|
// There is an entry that matches all sub-types for this variant.
|
|
74
74
|
return true;
|
|
@@ -95,9 +95,9 @@ export class PickupIndexCreation extends Feature {
|
|
|
95
95
|
const room = game.GetRoom();
|
|
96
96
|
const isFirstVisit = room.IsFirstVisit();
|
|
97
97
|
if (
|
|
98
|
-
pickupIndexFromLevelData !== undefined
|
|
99
|
-
!isFirstVisit
|
|
100
|
-
onOrBeforeRoomFrame(0)
|
|
98
|
+
pickupIndexFromLevelData !== undefined
|
|
99
|
+
&& !isFirstVisit
|
|
100
|
+
&& onOrBeforeRoomFrame(0)
|
|
101
101
|
) {
|
|
102
102
|
v.room.pickupIndexes.set(ptrHash, pickupIndexFromLevelData);
|
|
103
103
|
return;
|
|
@@ -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 {
|
|
@@ -283,8 +282,8 @@ function getStoredPickupIndex(
|
|
|
283
282
|
): PickupIndex | undefined {
|
|
284
283
|
for (const [pickupIndex, pickupDescription] of pickupDescriptions) {
|
|
285
284
|
if (
|
|
286
|
-
vectorEquals(pickupDescription.position, pickup.Position)
|
|
287
|
-
pickupDescription.initSeed === pickup.InitSeed
|
|
285
|
+
vectorEquals(pickupDescription.position, pickup.Position)
|
|
286
|
+
&& pickupDescription.initSeed === pickup.InitSeed
|
|
288
287
|
) {
|
|
289
288
|
return pickupIndex;
|
|
290
289
|
}
|
|
@@ -44,8 +44,8 @@ export class PonyDetection extends Feature {
|
|
|
44
44
|
const effects = player.GetEffects();
|
|
45
45
|
const entityFlags = player.GetEntityFlags();
|
|
46
46
|
const hasPonyCollectibleEffect =
|
|
47
|
-
effects.HasCollectibleEffect(CollectibleType.PONY)
|
|
48
|
-
effects.HasCollectibleEffect(CollectibleType.WHITE_PONY);
|
|
47
|
+
effects.HasCollectibleEffect(CollectibleType.PONY)
|
|
48
|
+
|| effects.HasCollectibleEffect(CollectibleType.WHITE_PONY);
|
|
49
49
|
const isPonyActiveOnPreviousFrame = setHasPlayer(
|
|
50
50
|
v.run.playersIsPonyActive,
|
|
51
51
|
player,
|
|
@@ -55,8 +55,8 @@ export class PressInput extends Feature {
|
|
|
55
55
|
const pair = v.run.buttonActionPairs[i]!;
|
|
56
56
|
|
|
57
57
|
if (
|
|
58
|
-
pair.playerIndex === playerIndex
|
|
59
|
-
pair.buttonAction === buttonAction
|
|
58
|
+
pair.playerIndex === playerIndex
|
|
59
|
+
&& pair.buttonAction === buttonAction
|
|
60
60
|
) {
|
|
61
61
|
v.run.buttonActionPairs.splice(i);
|
|
62
62
|
return true;
|
|
@@ -25,12 +25,12 @@ export class PreventChildEntities extends Feature {
|
|
|
25
25
|
// ModCallback.POST_NPC_INIT (27)
|
|
26
26
|
private readonly postNPCInit = (npc: EntityNPC) => {
|
|
27
27
|
const spawnerEntityMatch =
|
|
28
|
-
npc.SpawnerEntity !== undefined
|
|
29
|
-
v.room.preventingEntities.has(GetPtrHash(npc.SpawnerEntity));
|
|
28
|
+
npc.SpawnerEntity !== undefined
|
|
29
|
+
&& v.room.preventingEntities.has(GetPtrHash(npc.SpawnerEntity));
|
|
30
30
|
|
|
31
31
|
const parentMatch =
|
|
32
|
-
npc.Parent !== undefined
|
|
33
|
-
v.room.preventingEntities.has(GetPtrHash(npc.Parent));
|
|
32
|
+
npc.Parent !== undefined
|
|
33
|
+
&& v.room.preventingEntities.has(GetPtrHash(npc.Parent));
|
|
34
34
|
|
|
35
35
|
if (spawnerEntityMatch || parentMatch) {
|
|
36
36
|
npc.Remove();
|
|
@@ -192,11 +192,11 @@ export class RoomHistory extends Feature {
|
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
return (
|
|
195
|
-
startSeedString !== latestRoomDescription.startSeedString
|
|
196
|
-
stage !== latestRoomDescription.stage
|
|
197
|
-
stageType !== latestRoomDescription.stageType
|
|
198
|
-
roomListIndex !== latestRoomDescription.roomListIndex
|
|
199
|
-
roomVisitedCount !== latestRoomDescription.roomVisitedCount
|
|
195
|
+
startSeedString !== latestRoomDescription.startSeedString
|
|
196
|
+
|| stage !== latestRoomDescription.stage
|
|
197
|
+
|| stageType !== latestRoomDescription.stageType
|
|
198
|
+
|| roomListIndex !== latestRoomDescription.roomListIndex
|
|
199
|
+
|| roomVisitedCount !== latestRoomDescription.roomVisitedCount
|
|
200
200
|
);
|
|
201
201
|
}
|
|
202
202
|
}
|
|
@@ -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,
|