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
package/src/functions/merge.ts
CHANGED
|
@@ -131,7 +131,7 @@ function mergeSerializedArray(
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
function mergeSerializedTSTLObject(
|
|
134
|
-
// eslint-disable-next-line
|
|
134
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
135
135
|
oldObject: Map<AnyNotNil, unknown> | Set<AnyNotNil>,
|
|
136
136
|
newTable: LuaMap<AnyNotNil, unknown>,
|
|
137
137
|
traversalDescription: string,
|
package/src/functions/minimap.ts
CHANGED
|
@@ -91,9 +91,7 @@ export function getRoomDisplayFlags(
|
|
|
91
91
|
roomGridIndex?: int,
|
|
92
92
|
minimapAPI = true,
|
|
93
93
|
): BitFlags<DisplayFlag> {
|
|
94
|
-
|
|
95
|
-
roomGridIndex = getRoomGridIndex();
|
|
96
|
-
}
|
|
94
|
+
roomGridIndex ??= getRoomGridIndex();
|
|
97
95
|
|
|
98
96
|
if (MinimapAPI === undefined || !minimapAPI) {
|
|
99
97
|
const roomDescriptor = getRoomDescriptor(roomGridIndex);
|
|
@@ -217,9 +215,7 @@ export function setRoomDisplayFlags(
|
|
|
217
215
|
displayFlags: BitFlags<DisplayFlag>,
|
|
218
216
|
updateVisibility = true,
|
|
219
217
|
): void {
|
|
220
|
-
|
|
221
|
-
roomGridIndex = getRoomGridIndex();
|
|
222
|
-
}
|
|
218
|
+
roomGridIndex ??= getRoomGridIndex();
|
|
223
219
|
|
|
224
220
|
if (MinimapAPI === undefined) {
|
|
225
221
|
const roomDescriptor = getRoomDescriptor(roomGridIndex);
|
|
@@ -16,7 +16,7 @@ import { repeat } from "./utils";
|
|
|
16
16
|
* const arrayWithArrays = newArray([0], 20); // Has 20 elements of an array with a 0 in it.
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
// eslint-disable-next-line
|
|
19
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
20
20
|
export function newArray<T>(defaultValue: T, size: int): T[] {
|
|
21
21
|
const array: T[] = [];
|
|
22
22
|
repeat(size, () => {
|
|
@@ -41,16 +41,19 @@ export function getNextStage(): LevelStage {
|
|
|
41
41
|
// Second, handle the special case of being in a specific off-grid room.
|
|
42
42
|
switch (roomGridIndex) {
|
|
43
43
|
// -8
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
44
45
|
case GridRoom.BLUE_WOMB: {
|
|
45
46
|
return LevelStage.BLUE_WOMB;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
// -9
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
49
51
|
case GridRoom.VOID: {
|
|
50
52
|
return LevelStage.VOID;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
// -10
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
54
57
|
case GridRoom.SECRET_EXIT: {
|
|
55
58
|
if (repentanceStage) {
|
|
56
59
|
// e.g. From Downpour 2 to Mines 1, etc.
|
|
@@ -58,8 +61,8 @@ export function getNextStage(): LevelStage {
|
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
if (
|
|
61
|
-
stage === LevelStage.DEPTHS_2
|
|
62
|
-
(stage === LevelStage.DEPTHS_1 && hasCurse(LevelCurse.LABYRINTH))
|
|
64
|
+
stage === LevelStage.DEPTHS_2
|
|
65
|
+
|| (stage === LevelStage.DEPTHS_1 && hasCurse(LevelCurse.LABYRINTH))
|
|
63
66
|
) {
|
|
64
67
|
// From Depths 2 to Mausoleum 2 through the strange door.
|
|
65
68
|
return LevelStage.DEPTHS_2;
|
|
@@ -149,24 +152,25 @@ export function getNextStageType(upwards = false): StageType {
|
|
|
149
152
|
}
|
|
150
153
|
|
|
151
154
|
// Second, handle the special case of being in a specific off-grid room.
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
152
156
|
if (roomGridIndex === GridRoom.SECRET_EXIT) {
|
|
153
157
|
return calculateStageTypeRepentance(nextStage);
|
|
154
158
|
}
|
|
155
159
|
|
|
156
160
|
if (
|
|
157
|
-
repentanceStage
|
|
158
|
-
(stage === LevelStage.BASEMENT_1
|
|
159
|
-
stage === LevelStage.CAVES_1
|
|
160
|
-
stage === LevelStage.DEPTHS_1
|
|
161
|
-
stage === LevelStage.WOMB_1) // 7
|
|
161
|
+
repentanceStage
|
|
162
|
+
&& (stage === LevelStage.BASEMENT_1 // 1
|
|
163
|
+
|| stage === LevelStage.CAVES_1 // 3
|
|
164
|
+
|| stage === LevelStage.DEPTHS_1 // 5
|
|
165
|
+
|| stage === LevelStage.WOMB_1) // 7
|
|
162
166
|
) {
|
|
163
167
|
return calculateStageTypeRepentance(nextStage);
|
|
164
168
|
}
|
|
165
169
|
|
|
166
170
|
if (
|
|
167
|
-
repentanceStage
|
|
168
|
-
stage === LevelStage.DEPTHS_2
|
|
169
|
-
mausoleumHeartKilled
|
|
171
|
+
repentanceStage
|
|
172
|
+
&& stage === LevelStage.DEPTHS_2
|
|
173
|
+
&& mausoleumHeartKilled
|
|
170
174
|
) {
|
|
171
175
|
return calculateStageTypeRepentance(nextStage);
|
|
172
176
|
}
|
|
@@ -41,7 +41,7 @@ export function defaultMapGetNPC<V, Args extends unknown[]>(
|
|
|
41
41
|
* `mapSetNPC` helper function.
|
|
42
42
|
*/
|
|
43
43
|
export function defaultMapSetNPC<V>(
|
|
44
|
-
// eslint-disable-next-line
|
|
44
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
45
45
|
map: Map<PtrHash, V>,
|
|
46
46
|
npc: EntityNPC,
|
|
47
47
|
value: V,
|
|
@@ -54,7 +54,7 @@ export function defaultMapSetNPC<V>(
|
|
|
54
54
|
* `Map.delete` method if you have a set of this type.
|
|
55
55
|
*/
|
|
56
56
|
export function mapDeleteNPC(
|
|
57
|
-
// eslint-disable-next-line
|
|
57
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
58
58
|
map: Map<PtrHash, unknown>,
|
|
59
59
|
npc: EntityNPC,
|
|
60
60
|
): boolean {
|
|
@@ -123,7 +123,7 @@ export function mapHasNPC<V>(
|
|
|
123
123
|
* ```
|
|
124
124
|
*/
|
|
125
125
|
export function mapSetNPC<V>(
|
|
126
|
-
// eslint-disable-next-line
|
|
126
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
127
127
|
map: Map<PtrHash, V>,
|
|
128
128
|
npc: EntityNPC,
|
|
129
129
|
value: V,
|
|
@@ -136,7 +136,7 @@ export function mapSetNPC<V>(
|
|
|
136
136
|
* Helper function to make using sets with an type of `PtrHash` easier. Use this instead of the
|
|
137
137
|
* `Set.add` method if you have a set of this type.
|
|
138
138
|
*/
|
|
139
|
-
// eslint-disable-next-line
|
|
139
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
140
140
|
export function setAddNPC(set: Set<PtrHash>, npc: EntityNPC): void {
|
|
141
141
|
const ptrHash = GetPtrHash(npc);
|
|
142
142
|
set.add(ptrHash);
|
|
@@ -146,7 +146,7 @@ export function setAddNPC(set: Set<PtrHash>, npc: EntityNPC): void {
|
|
|
146
146
|
* Helper function to make using sets with an type of `PtrHash` easier. Use this instead of the
|
|
147
147
|
* `Set.delete` method if you have a set of this type.
|
|
148
148
|
*/
|
|
149
|
-
// eslint-disable-next-line
|
|
149
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
150
150
|
export function setDeleteNPC(set: Set<PtrHash>, npc: EntityNPC): boolean {
|
|
151
151
|
const ptrHash = GetPtrHash(npc);
|
|
152
152
|
return set.delete(ptrHash);
|
package/src/functions/npcs.ts
CHANGED
|
@@ -131,9 +131,10 @@ export function isDaddyLongLegsChildStompEntity(npc: EntityNPC): boolean {
|
|
|
131
131
|
*/
|
|
132
132
|
export function isDyingDump(npc: EntityNPC): boolean {
|
|
133
133
|
return (
|
|
134
|
-
npc.Type === EntityType.DUMP
|
|
135
|
-
|
|
136
|
-
npc.
|
|
134
|
+
npc.Type === EntityType.DUMP
|
|
135
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
136
|
+
&& npc.Variant === DumpVariant.DUMP
|
|
137
|
+
&& npc.State === NPCState.SPECIAL
|
|
137
138
|
);
|
|
138
139
|
}
|
|
139
140
|
|
|
@@ -144,10 +145,11 @@ export function isDyingDump(npc: EntityNPC): boolean {
|
|
|
144
145
|
*/
|
|
145
146
|
export function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean {
|
|
146
147
|
return (
|
|
147
|
-
npc.Type === EntityType.HOPPER
|
|
148
|
-
|
|
149
|
-
npc.
|
|
150
|
-
npc.
|
|
148
|
+
npc.Type === EntityType.HOPPER
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
150
|
+
&& npc.Variant === HopperVariant.EGGY
|
|
151
|
+
&& npc.State === NPCState.SUICIDE
|
|
152
|
+
&& npc.StateFrame >= EGGY_STATE_FRAME_OF_FINAL_SPIDER
|
|
151
153
|
);
|
|
152
154
|
}
|
|
153
155
|
|
|
@@ -159,9 +161,10 @@ export function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean {
|
|
|
159
161
|
*/
|
|
160
162
|
export function isRaglingDeathPatch(npc: EntityNPC): boolean {
|
|
161
163
|
return (
|
|
162
|
-
npc.Type === EntityType.RAGLING
|
|
163
|
-
|
|
164
|
+
npc.Type === EntityType.RAGLING
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
166
|
+
&& npc.Variant === RaglingVariant.RAG_MANS_RAGLING
|
|
164
167
|
// They go to `STATE_SPECIAL` when they are patches on the ground.
|
|
165
|
-
npc.State === NPCState.SPECIAL
|
|
168
|
+
&& npc.State === NPCState.SPECIAL
|
|
166
169
|
);
|
|
167
170
|
}
|
|
@@ -54,8 +54,8 @@ export function isPill(pickup: EntityPickup): pickup is EntityPickupPill {
|
|
|
54
54
|
/** For `PickupVariant.LIL_BATTERY` (90). */
|
|
55
55
|
export function isBattery(pickup: EntityPickup): pickup is EntityPickupBattery {
|
|
56
56
|
return (
|
|
57
|
-
pickup.Type === EntityType.PICKUP
|
|
58
|
-
pickup.Variant === PickupVariant.LIL_BATTERY
|
|
57
|
+
pickup.Type === EntityType.PICKUP
|
|
58
|
+
&& pickup.Variant === PickupVariant.LIL_BATTERY
|
|
59
59
|
);
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -64,8 +64,8 @@ export function isCollectible(
|
|
|
64
64
|
pickup: EntityPickup,
|
|
65
65
|
): pickup is EntityPickupCollectible {
|
|
66
66
|
return (
|
|
67
|
-
pickup.Type === EntityType.PICKUP
|
|
68
|
-
pickup.Variant === PickupVariant.COLLECTIBLE
|
|
67
|
+
pickup.Type === EntityType.PICKUP
|
|
68
|
+
&& pickup.Variant === PickupVariant.COLLECTIBLE
|
|
69
69
|
);
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -79,7 +79,7 @@ export function isCardPickup(pickup: EntityPickup): pickup is EntityPickupCard {
|
|
|
79
79
|
/** For `PickupVariant.TRINKET` (350). */
|
|
80
80
|
export function isTrinket(pickup: EntityPickup): pickup is EntityPickupTrinket {
|
|
81
81
|
return (
|
|
82
|
-
pickup.Type === EntityType.PICKUP
|
|
83
|
-
pickup.Variant === PickupVariant.TRINKET
|
|
82
|
+
pickup.Type === EntityType.PICKUP
|
|
83
|
+
&& pickup.Variant === PickupVariant.TRINKET
|
|
84
84
|
);
|
|
85
85
|
}
|
|
@@ -196,8 +196,8 @@ export function hasOpenActiveItemSlot(player: EntityPlayer): boolean {
|
|
|
196
196
|
|
|
197
197
|
if (hasSchoolbag) {
|
|
198
198
|
return (
|
|
199
|
-
activeItemPrimary === CollectibleType.NULL
|
|
200
|
-
activeItemSecondary === CollectibleType.NULL
|
|
199
|
+
activeItemPrimary === CollectibleType.NULL
|
|
200
|
+
|| activeItemSecondary === CollectibleType.NULL
|
|
201
201
|
);
|
|
202
202
|
}
|
|
203
203
|
|
|
@@ -315,9 +315,7 @@ export function setActiveItem(
|
|
|
315
315
|
const primaryCharge = player.GetActiveCharge(ActiveSlot.PRIMARY);
|
|
316
316
|
const secondaryCollectibleType = player.GetActiveItem(ActiveSlot.SECONDARY);
|
|
317
317
|
|
|
318
|
-
|
|
319
|
-
charge = getCollectibleMaxCharges(collectibleType);
|
|
320
|
-
}
|
|
318
|
+
charge ??= getCollectibleMaxCharges(collectibleType);
|
|
321
319
|
|
|
322
320
|
if (!keepInPools) {
|
|
323
321
|
itemPool.RemoveCollectible(collectibleType);
|
|
@@ -39,7 +39,7 @@ export function defaultMapGetPlayer<V, Args extends unknown[]>(
|
|
|
39
39
|
* `mapSetPlayer` helper function.
|
|
40
40
|
*/
|
|
41
41
|
export function defaultMapSetPlayer<V>(
|
|
42
|
-
// eslint-disable-next-line
|
|
42
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
43
43
|
map: Map<PlayerIndex, V>,
|
|
44
44
|
player: EntityPlayer,
|
|
45
45
|
value: V,
|
|
@@ -52,7 +52,7 @@ export function defaultMapSetPlayer<V>(
|
|
|
52
52
|
* `Map.delete` method if you have a set of this type.
|
|
53
53
|
*/
|
|
54
54
|
export function mapDeletePlayer(
|
|
55
|
-
// eslint-disable-next-line
|
|
55
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
56
56
|
map: Map<PlayerIndex, unknown>,
|
|
57
57
|
player: EntityPlayer,
|
|
58
58
|
): boolean {
|
|
@@ -121,7 +121,7 @@ export function mapHasPlayer<V>(
|
|
|
121
121
|
* ```
|
|
122
122
|
*/
|
|
123
123
|
export function mapSetPlayer<V>(
|
|
124
|
-
// eslint-disable-next-line
|
|
124
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
125
125
|
map: Map<PlayerIndex, V>,
|
|
126
126
|
player: EntityPlayer,
|
|
127
127
|
value: V,
|
|
@@ -135,7 +135,7 @@ export function mapSetPlayer<V>(
|
|
|
135
135
|
* `Set.add` method if you have a set of this type.
|
|
136
136
|
*/
|
|
137
137
|
export function setAddPlayer(
|
|
138
|
-
// eslint-disable-next-line
|
|
138
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
139
139
|
set: Set<PlayerIndex>,
|
|
140
140
|
player: EntityPlayer,
|
|
141
141
|
): void {
|
|
@@ -148,7 +148,7 @@ export function setAddPlayer(
|
|
|
148
148
|
* `Set.delete` method if you have a set of this type.
|
|
149
149
|
*/
|
|
150
150
|
export function setDeletePlayer(
|
|
151
|
-
// eslint-disable-next-line
|
|
151
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
152
152
|
set: Set<PlayerIndex>,
|
|
153
153
|
player: EntityPlayer,
|
|
154
154
|
): boolean {
|
|
@@ -381,8 +381,8 @@ export function getPlayerMaxHeartContainers(player: EntityPlayer): int {
|
|
|
381
381
|
// 1
|
|
382
382
|
// Magdalene can increase her maximum heart containers with Birthright.
|
|
383
383
|
if (
|
|
384
|
-
character === PlayerType.MAGDALENE
|
|
385
|
-
player.HasCollectible(CollectibleType.BIRTHRIGHT)
|
|
384
|
+
character === PlayerType.MAGDALENE
|
|
385
|
+
&& player.HasCollectible(CollectibleType.BIRTHRIGHT)
|
|
386
386
|
) {
|
|
387
387
|
const extraMaxHeartContainersFromBirthright = 6;
|
|
388
388
|
return characterMaxHeartContainers + extraMaxHeartContainersFromBirthright;
|
|
@@ -404,9 +404,9 @@ export function getPlayerMaxHeartContainers(player: EntityPlayer): int {
|
|
|
404
404
|
: 0;
|
|
405
405
|
|
|
406
406
|
return (
|
|
407
|
-
characterMaxHeartContainers
|
|
408
|
-
numMothersKisses
|
|
409
|
-
greedsGulletCoinContainers
|
|
407
|
+
characterMaxHeartContainers
|
|
408
|
+
+ numMothersKisses
|
|
409
|
+
+ greedsGulletCoinContainers
|
|
410
410
|
);
|
|
411
411
|
}
|
|
412
412
|
|
|
@@ -599,9 +599,9 @@ export function setPlayerHealth(
|
|
|
599
599
|
playerHealth.soulHearts + playerHealth.boneHearts * 2 < (i + 1) * 2;
|
|
600
600
|
let addAmount = 2;
|
|
601
601
|
if (
|
|
602
|
-
isHalf
|
|
603
|
-
soulHeartType === HeartSubType.BONE
|
|
604
|
-
soulHeartsRemaining < 2
|
|
602
|
+
isHalf
|
|
603
|
+
|| soulHeartType === HeartSubType.BONE
|
|
604
|
+
|| soulHeartsRemaining < 2
|
|
605
605
|
) {
|
|
606
606
|
// Fix the bug where a half soul heart to the left of a bone heart will be treated as a full
|
|
607
607
|
// soul heart.
|
|
@@ -219,8 +219,8 @@ export function isChildPlayer(player: EntityPlayer): boolean {
|
|
|
219
219
|
*/
|
|
220
220
|
export function isFoundSoul(player: EntityPlayer): boolean {
|
|
221
221
|
return (
|
|
222
|
-
isChildPlayer(player)
|
|
223
|
-
player.Variant === PlayerVariant.COOP_BABY
|
|
224
|
-
player.SubType === (BabySubType.FOUND_SOUL as int)
|
|
222
|
+
isChildPlayer(player)
|
|
223
|
+
&& player.Variant === PlayerVariant.COOP_BABY
|
|
224
|
+
&& player.SubType === (BabySubType.FOUND_SOUL as int)
|
|
225
225
|
);
|
|
226
226
|
}
|
package/src/functions/players.ts
CHANGED
|
@@ -56,10 +56,10 @@ export function canPlayerCrushRocks(player: EntityPlayer): boolean {
|
|
|
56
56
|
const effects = player.GetEffects();
|
|
57
57
|
|
|
58
58
|
return (
|
|
59
|
-
player.HasCollectible(CollectibleType.LEO)
|
|
60
|
-
player.HasCollectible(CollectibleType.THUNDER_THIGHS)
|
|
61
|
-
effects.HasCollectibleEffect(CollectibleType.MEGA_MUSH)
|
|
62
|
-
player.HasPlayerForm(PlayerForm.STOMPY)
|
|
59
|
+
player.HasCollectible(CollectibleType.LEO)
|
|
60
|
+
|| player.HasCollectible(CollectibleType.THUNDER_THIGHS)
|
|
61
|
+
|| effects.HasCollectibleEffect(CollectibleType.MEGA_MUSH)
|
|
62
|
+
|| player.HasPlayerForm(PlayerForm.STOMPY)
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -47,8 +47,8 @@ export function getFirstCardOrPill(
|
|
|
47
47
|
const pocketItems = getPocketItems(player);
|
|
48
48
|
return pocketItems.find(
|
|
49
49
|
(pocketItem) =>
|
|
50
|
-
pocketItem.type === PocketItemType.CARD
|
|
51
|
-
pocketItem.type === PocketItemType.PILL,
|
|
50
|
+
pocketItem.type === PocketItemType.CARD
|
|
51
|
+
|| pocketItem.type === PocketItemType.PILL,
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -112,9 +112,7 @@ export function findFreePosition(
|
|
|
112
112
|
export function getEntityPositions(
|
|
113
113
|
entities?: readonly Entity[],
|
|
114
114
|
): ReadonlyMap<PtrHash, Vector> {
|
|
115
|
-
|
|
116
|
-
entities = getEntities();
|
|
117
|
-
}
|
|
115
|
+
entities ??= getEntities();
|
|
118
116
|
|
|
119
117
|
const entityPositions = new Map<PtrHash, Vector>();
|
|
120
118
|
for (const entity of entities) {
|
|
@@ -137,9 +135,7 @@ export function getEntityPositions(
|
|
|
137
135
|
export function getEntityVelocities(
|
|
138
136
|
entities?: readonly Entity[],
|
|
139
137
|
): ReadonlyMap<PtrHash, Vector> {
|
|
140
|
-
|
|
141
|
-
entities = getEntities();
|
|
142
|
-
}
|
|
138
|
+
entities ??= getEntities();
|
|
143
139
|
|
|
144
140
|
const entityVelocities = new Map<PtrHash, Vector>();
|
|
145
141
|
for (const entity of entities) {
|
|
@@ -167,9 +163,7 @@ export function setEntityPositions(
|
|
|
167
163
|
entityPositions: ReadonlyMap<PtrHash, Vector>,
|
|
168
164
|
entities?: readonly Entity[],
|
|
169
165
|
): void {
|
|
170
|
-
|
|
171
|
-
entities = getEntities();
|
|
172
|
-
}
|
|
166
|
+
entities ??= getEntities();
|
|
173
167
|
|
|
174
168
|
for (const entity of entities) {
|
|
175
169
|
const ptrHash = GetPtrHash(entity);
|
|
@@ -197,9 +191,7 @@ export function setEntityVelocities(
|
|
|
197
191
|
entityVelocities: ReadonlyMap<PtrHash, Vector>,
|
|
198
192
|
entities?: readonly Entity[],
|
|
199
193
|
): void {
|
|
200
|
-
|
|
201
|
-
entities = getEntities();
|
|
202
|
-
}
|
|
194
|
+
entities ??= getEntities();
|
|
203
195
|
|
|
204
196
|
for (const entity of entities) {
|
|
205
197
|
const ptrHash = GetPtrHash(entity);
|
package/src/functions/revive.ts
CHANGED
|
@@ -35,8 +35,8 @@ export function isDamageToPlayerFatal(
|
|
|
35
35
|
// If we are Tainted Jacob and the damage source is Dark Esau, this will not be fatal damage
|
|
36
36
|
// (because we will transform into Tainted Jacob's lost form).
|
|
37
37
|
if (
|
|
38
|
-
character === PlayerType.JACOB_B
|
|
39
|
-
source.Type === EntityType.DARK_ESAU
|
|
38
|
+
character === PlayerType.JACOB_B
|
|
39
|
+
&& source.Type === EntityType.DARK_ESAU
|
|
40
40
|
) {
|
|
41
41
|
return false;
|
|
42
42
|
}
|
|
@@ -50,11 +50,11 @@ export function isDamageToPlayerFatal(
|
|
|
50
50
|
// If we are playing Tainted Samson and the incoming hit will cause us to become Berserk, then
|
|
51
51
|
// this will not be fatal damage.
|
|
52
52
|
const berserkChargeAfterHit =
|
|
53
|
-
player.SamsonBerserkCharge
|
|
54
|
-
TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE;
|
|
53
|
+
player.SamsonBerserkCharge
|
|
54
|
+
+ TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE;
|
|
55
55
|
if (
|
|
56
|
-
character === PlayerType.SAMSON_B
|
|
57
|
-
berserkChargeAfterHit >= MAX_TAINTED_SAMSON_BERSERK_CHARGE
|
|
56
|
+
character === PlayerType.SAMSON_B
|
|
57
|
+
&& berserkChargeAfterHit >= MAX_TAINTED_SAMSON_BERSERK_CHARGE
|
|
58
58
|
) {
|
|
59
59
|
return false;
|
|
60
60
|
}
|
|
@@ -89,8 +89,8 @@ export function isDamageToPlayerFatal(
|
|
|
89
89
|
// This will not be fatal damage if we have Glass Cannon and this is the second time we are taking
|
|
90
90
|
// damage on the same frame.
|
|
91
91
|
if (
|
|
92
|
-
player.HasCollectible(CollectibleType.BROKEN_GLASS_CANNON)
|
|
93
|
-
onGameFrame(lastDamageGameFrame)
|
|
92
|
+
player.HasCollectible(CollectibleType.BROKEN_GLASS_CANNON)
|
|
93
|
+
&& onGameFrame(lastDamageGameFrame)
|
|
94
94
|
) {
|
|
95
95
|
return false;
|
|
96
96
|
}
|
|
@@ -103,11 +103,11 @@ export function isDamageToPlayerFatal(
|
|
|
103
103
|
const soulHearts = player.GetSoulHearts();
|
|
104
104
|
const boneHearts = player.GetBoneHearts();
|
|
105
105
|
if (
|
|
106
|
-
(hearts > 0 && soulHearts > 0)
|
|
107
|
-
(hearts > 0 && boneHearts > 0)
|
|
108
|
-
(soulHearts > 0 && boneHearts > 0)
|
|
109
|
-
(soulHearts > 0 && eternalHearts > 0)
|
|
110
|
-
boneHearts >= 2 // Two bone hearts and nothing else should not result in a death
|
|
106
|
+
(hearts > 0 && soulHearts > 0)
|
|
107
|
+
|| (hearts > 0 && boneHearts > 0)
|
|
108
|
+
|| (soulHearts > 0 && boneHearts > 0)
|
|
109
|
+
|| (soulHearts > 0 && eternalHearts > 0)
|
|
110
|
+
|| boneHearts >= 2 // Two bone hearts and nothing else should not result in a death
|
|
111
111
|
) {
|
|
112
112
|
return false;
|
|
113
113
|
}
|
|
@@ -155,8 +155,8 @@ export function willPlayerRevive(player: EntityPlayer): boolean {
|
|
|
155
155
|
);
|
|
156
156
|
|
|
157
157
|
const willRevive =
|
|
158
|
-
player.WillPlayerRevive()
|
|
159
|
-
(trinketSituation !== undefined && willMysteriousPaperRevive(player));
|
|
158
|
+
player.WillPlayerRevive()
|
|
159
|
+
|| (trinketSituation !== undefined && willMysteriousPaperRevive(player));
|
|
160
160
|
|
|
161
161
|
giveTrinketsBack(player, trinketSituation);
|
|
162
162
|
|
package/src/functions/rng.ts
CHANGED
|
@@ -17,7 +17,8 @@ export type SerializedRNG = LuaMap<string, unknown> & {
|
|
|
17
17
|
/**
|
|
18
18
|
* This is the ShiftIdx that Blade recommended after having reviewing the game's internal functions.
|
|
19
19
|
* Any value between 0 and 80 should work equally well.
|
|
20
|
-
*
|
|
20
|
+
*
|
|
21
|
+
* @see https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf
|
|
21
22
|
*/
|
|
22
23
|
const RECOMMENDED_SHIFT_IDX = 35;
|
|
23
24
|
|
|
@@ -63,7 +64,7 @@ export function deserializeRNG(rng: SerializedRNG): RNG {
|
|
|
63
64
|
* the game.
|
|
64
65
|
*/
|
|
65
66
|
export function getRandomSeed(): Seed {
|
|
66
|
-
const randomNumber = Random(); // eslint-disable-line
|
|
67
|
+
const randomNumber = Random(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
67
68
|
const safeRandomNumber = randomNumber === 0 ? 1 : randomNumber;
|
|
68
69
|
return safeRandomNumber as Seed;
|
|
69
70
|
}
|
|
@@ -171,6 +172,6 @@ export function setSeed(rng: RNG, seed: Seed): void {
|
|
|
171
172
|
}
|
|
172
173
|
|
|
173
174
|
// The game expects seeds in the range of 1 to 4294967295 (1^32 - 1).
|
|
174
|
-
// eslint-disable-next-line
|
|
175
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
175
176
|
rng.SetSeed(seed, RECOMMENDED_SHIFT_IDX);
|
|
176
177
|
}
|
|
@@ -65,9 +65,7 @@ export function getRoomData(roomGridIndex?: int): RoomConfig | undefined {
|
|
|
65
65
|
export function getRoomDescriptor(roomGridIndex?: int): RoomDescriptor {
|
|
66
66
|
const level = game.GetLevel();
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
roomGridIndex = getRoomGridIndex();
|
|
70
|
-
}
|
|
68
|
+
roomGridIndex ??= getRoomGridIndex();
|
|
71
69
|
|
|
72
70
|
return level.GetRoomByIdx(roomGridIndex);
|
|
73
71
|
}
|
|
@@ -94,8 +94,8 @@ function isValidGridPositionLRoom(gridPosition: Vector, roomShape: RoomShape) {
|
|
|
94
94
|
horizontalBottomRight,
|
|
95
95
|
} = rectangles;
|
|
96
96
|
return (
|
|
97
|
-
inRectangle(gridPosition, verticalTopLeft, verticalBottomRight)
|
|
98
|
-
inRectangle(gridPosition, horizontalTopLeft, horizontalBottomRight)
|
|
97
|
+
inRectangle(gridPosition, verticalTopLeft, verticalBottomRight)
|
|
98
|
+
|| inRectangle(gridPosition, horizontalTopLeft, horizontalBottomRight)
|
|
99
99
|
);
|
|
100
100
|
}
|
|
101
101
|
|