isaacscript-common 87.5.0 → 87.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/callbackClasses.d.ts +6 -6
- package/dist/callbackClasses.d.ts.map +1 -1
- package/dist/callbackClasses.js +14 -14
- package/dist/callbackClasses.lua +159 -300
- package/dist/callbacks.js +18 -9
- package/dist/classes/DefaultMap.d.ts +5 -1
- package/dist/classes/DefaultMap.d.ts.map +1 -1
- package/dist/classes/ModFeature.js +3 -3
- package/dist/classes/ModUpgraded.d.ts.map +1 -1
- package/dist/classes/ModUpgraded.js +2 -4
- package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
- package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
- package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
- package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
- package/dist/classes/callbacks/PostCollectibleEmpty.js +1 -3
- package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -4
- package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -3
- package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
- package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
- package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
- package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemDischarge.d.ts +2 -2
- package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
- package/dist/classes/callbacks/PostItemDischarge.js +3 -6
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
- package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostNewRoomEarly.js +1 -1
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
- package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PostPlayerChangeType.js +1 -1
- package/dist/classes/callbacks/PostPurchase.d.ts +2 -4
- package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
- package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
- package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTransformation.js +1 -3
- package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
- package/dist/classes/callbacks/PostTrinketBreak.js +1 -3
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
- package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +4 -6
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +0 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +4 -4
- package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
- package/dist/classes/features/other/CustomPickups.js +1 -0
- package/dist/classes/features/other/CustomStages.js +19 -9
- package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
- package/dist/classes/features/other/CustomTrapdoors.js +23 -17
- package/dist/classes/features/other/CustomTrapdoors.lua +14 -7
- package/dist/classes/features/other/DebugDisplay.d.ts +0 -18
- package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -2
- package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
- package/dist/classes/features/other/DeployJSONRoom.js +2 -0
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +1 -1
- package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts +14 -10
- package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
- package/dist/classes/features/other/ExtraConsoleCommands.js +31 -17
- package/dist/classes/features/other/ExtraConsoleCommands.lua +2 -1
- package/dist/classes/features/other/FlyingDetection.d.ts +0 -1
- package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
- package/dist/classes/features/other/ForgottenSwitch.d.ts +0 -1
- package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementDetection.js +4 -4
- package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
- package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
- package/dist/classes/features/other/ModdedElementSets.js +1 -1
- package/dist/classes/features/other/PickupIndexCreation.d.ts +0 -1
- package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
- package/dist/classes/features/other/PickupIndexCreation.js +2 -3
- package/dist/classes/features/other/PickupIndexCreation.lua +10 -10
- package/dist/classes/features/other/PonyDetection.d.ts +0 -1
- package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
- package/dist/classes/features/other/PreventChildEntities.d.ts +0 -1
- package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
- package/dist/classes/features/other/RoomClearFrame.d.ts +0 -1
- package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
- package/dist/classes/features/other/RoomHistory.d.ts +0 -1
- package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
- package/dist/classes/features/other/RunInNFrames.js +2 -2
- package/dist/classes/features/other/SaveDataManager.js +1 -1
- package/dist/classes/features/other/SpawnRockAltRewards.d.ts +0 -4
- package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +0 -1
- package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/backdrop.js +2 -3
- package/dist/classes/features/other/customStages/constants.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.d.ts +0 -1
- package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/gridEntities.js +5 -6
- package/dist/classes/features/other/customStages/shadows.js +1 -2
- package/dist/classes/features/other/customStages/streakText.js +3 -4
- package/dist/classes/features/other/customStages/utils.d.ts +0 -2
- package/dist/classes/features/other/customStages/utils.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/utils.js +2 -3
- package/dist/classes/features/other/customStages/v.d.ts.map +1 -1
- package/dist/classes/features/other/customStages/versusScreen.js +2 -3
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +0 -1
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/utils.d.ts +0 -2
- package/dist/classes/features/other/debugDisplay/utils.d.ts.map +1 -1
- package/dist/classes/features/other/debugDisplay/utils.js +2 -3
- package/dist/classes/features/other/extraConsoleCommands/commands.js +147 -150
- package/dist/classes/features/other/extraConsoleCommands/subroutines.js +8 -9
- package/dist/classes/features/other/saveDataManager/constants.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts +0 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +2 -3
- package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts +0 -2
- package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/loadFromDisk.js +5 -2
- package/dist/classes/features/other/saveDataManager/loadFromDisk.lua +3 -0
- package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts +0 -1
- package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/restoreDefaults.js +3 -4
- package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts +0 -2
- package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -1
- package/dist/classes/features/other/saveDataManager/saveToDisk.js +1 -2
- package/dist/classes/private/CustomCallback.d.ts.map +1 -1
- package/dist/core/cachedClasses.d.ts +0 -5
- package/dist/core/cachedClasses.d.ts.map +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/constantsVanilla.js +4 -4
- package/dist/core/upgradeMod.d.ts +0 -2
- package/dist/core/upgradeMod.d.ts.map +1 -1
- package/dist/core/upgradeMod.js +1 -2
- package/dist/decorators.js +2 -2
- package/dist/enums/private/GridEntityTypeCustom.d.ts.map +1 -1
- package/dist/features.js +1 -2
- package/dist/functions/ambush.js +1 -2
- package/dist/functions/array.d.ts +5 -8
- package/dist/functions/array.d.ts.map +1 -1
- package/dist/functions/array.js +55 -55
- package/dist/functions/array.lua +2 -2
- package/dist/functions/arrayLua.d.ts +1 -1
- package/dist/functions/arrayLua.d.ts.map +1 -1
- package/dist/functions/arrayLua.js +7 -8
- package/dist/functions/benchmark.d.ts +0 -1
- package/dist/functions/benchmark.d.ts.map +1 -1
- package/dist/functions/benchmark.js +1 -2
- package/dist/functions/bitSet128.d.ts +0 -1
- package/dist/functions/bitSet128.d.ts.map +1 -1
- package/dist/functions/bitSet128.js +5 -6
- package/dist/functions/bitwise.d.ts +0 -4
- package/dist/functions/bitwise.d.ts.map +1 -1
- package/dist/functions/bitwise.js +7 -8
- package/dist/functions/bitwise.lua +3 -3
- package/dist/functions/bombs.d.ts +0 -1
- package/dist/functions/bombs.d.ts.map +1 -1
- package/dist/functions/bombs.js +1 -2
- package/dist/functions/bosses.d.ts.map +1 -1
- package/dist/functions/bosses.js +17 -17
- package/dist/functions/cards.js +16 -17
- package/dist/functions/challenges.js +9 -10
- package/dist/functions/characters.js +17 -18
- package/dist/functions/charge.d.ts.map +1 -1
- package/dist/functions/charge.js +10 -11
- package/dist/functions/charge.lua +1 -1
- package/dist/functions/chargeBar.d.ts +0 -2
- package/dist/functions/chargeBar.d.ts.map +1 -1
- package/dist/functions/chargeBar.js +2 -3
- package/dist/functions/collectibleTag.js +2 -3
- package/dist/functions/collectibles.js +37 -38
- package/dist/functions/color.d.ts +0 -1
- package/dist/functions/color.d.ts.map +1 -1
- package/dist/functions/color.js +7 -8
- package/dist/functions/console.js +2 -3
- package/dist/functions/curses.js +2 -3
- package/dist/functions/debugFunctions.d.ts +0 -1
- package/dist/functions/debugFunctions.d.ts.map +1 -1
- package/dist/functions/debugFunctions.js +5 -6
- package/dist/functions/decorators.d.ts +4 -4
- package/dist/functions/decorators.d.ts.map +1 -1
- package/dist/functions/decorators.js +4 -5
- package/dist/functions/deepCopy.d.ts +0 -1
- package/dist/functions/deepCopy.d.ts.map +1 -1
- package/dist/functions/deepCopy.js +1 -4
- package/dist/functions/deepCopy.lua +0 -2
- package/dist/functions/deepCopyTests.js +5 -6
- package/dist/functions/dimensions.js +2 -3
- package/dist/functions/direction.js +6 -7
- package/dist/functions/doors.d.ts.map +1 -1
- package/dist/functions/doors.js +53 -49
- package/dist/functions/easing.js +30 -31
- package/dist/functions/effects.d.ts +0 -2
- package/dist/functions/effects.d.ts.map +1 -1
- package/dist/functions/effects.js +2 -2
- package/dist/functions/emptyRoom.js +2 -3
- package/dist/functions/entities.d.ts +0 -1
- package/dist/functions/entities.d.ts.map +1 -1
- package/dist/functions/entities.js +28 -30
- package/dist/functions/entitiesSpecific.js +40 -41
- package/dist/functions/entityTypes.d.ts +0 -1
- package/dist/functions/entityTypes.d.ts.map +1 -1
- package/dist/functions/entityTypes.js +1 -2
- package/dist/functions/enums.d.ts +1 -6
- package/dist/functions/enums.d.ts.map +1 -1
- package/dist/functions/enums.js +12 -13
- package/dist/functions/external.js +2 -3
- package/dist/functions/familiars.js +6 -7
- package/dist/functions/flag.d.ts +1 -1
- package/dist/functions/flag.d.ts.map +1 -1
- package/dist/functions/flag.js +7 -8
- package/dist/functions/frames.d.ts +0 -1
- package/dist/functions/frames.d.ts.map +1 -1
- package/dist/functions/frames.js +18 -19
- package/dist/functions/globals.d.ts +0 -1
- package/dist/functions/globals.d.ts.map +1 -1
- package/dist/functions/globals.js +23 -15
- package/dist/functions/gridEntities.d.ts.map +1 -1
- package/dist/functions/gridEntities.js +45 -39
- package/dist/functions/gridEntitiesSpecific.js +38 -39
- package/dist/functions/gridIndex.js +1 -2
- package/dist/functions/hash.js +1 -2
- package/dist/functions/hex.d.ts +0 -2
- package/dist/functions/hex.d.ts.map +1 -1
- package/dist/functions/hex.js +2 -3
- package/dist/functions/input.js +21 -21
- package/dist/functions/isaacAPIClass.d.ts +0 -20
- package/dist/functions/isaacAPIClass.d.ts.map +1 -1
- package/dist/functions/isaacAPIClass.js +23 -24
- package/dist/functions/itemPool.js +7 -8
- package/dist/functions/jsonHelpers.d.ts +4 -5
- package/dist/functions/jsonHelpers.d.ts.map +1 -1
- package/dist/functions/jsonHelpers.js +23 -14
- package/dist/functions/jsonHelpers.lua +4 -4
- package/dist/functions/jsonRoom.js +5 -6
- package/dist/functions/kColor.d.ts +0 -1
- package/dist/functions/kColor.d.ts.map +1 -1
- package/dist/functions/kColor.js +7 -8
- package/dist/functions/language.js +1 -2
- package/dist/functions/level.js +4 -5
- package/dist/functions/levelGrid.d.ts.map +1 -1
- package/dist/functions/levelGrid.js +27 -32
- package/dist/functions/log.js +4 -5
- package/dist/functions/logEntities.d.ts.map +1 -1
- package/dist/functions/logEntities.js +11 -9
- package/dist/functions/logMisc.d.ts +1 -2
- package/dist/functions/logMisc.d.ts.map +1 -1
- package/dist/functions/logMisc.js +35 -48
- package/dist/functions/logMisc.lua +3 -3
- package/dist/functions/map.d.ts +0 -2
- package/dist/functions/map.d.ts.map +1 -1
- package/dist/functions/map.js +12 -13
- package/dist/functions/math.js +13 -14
- package/dist/functions/merge.d.ts +0 -1
- package/dist/functions/merge.d.ts.map +1 -1
- package/dist/functions/merge.js +2 -3
- package/dist/functions/mergeTests.js +1 -2
- package/dist/functions/minimap.d.ts.map +1 -1
- package/dist/functions/minimap.js +12 -17
- package/dist/functions/modFeatures.js +1 -2
- package/dist/functions/newArray.d.ts +0 -1
- package/dist/functions/newArray.d.ts.map +1 -1
- package/dist/functions/newArray.js +2 -3
- package/dist/functions/nextStage.d.ts.map +1 -1
- package/dist/functions/nextStage.js +6 -3
- package/dist/functions/npcDataStructures.d.ts +0 -2
- package/dist/functions/npcDataStructures.d.ts.map +1 -1
- package/dist/functions/npcDataStructures.js +14 -15
- package/dist/functions/npcs.d.ts.map +1 -1
- package/dist/functions/npcs.js +9 -7
- package/dist/functions/pickupVariants.d.ts +0 -1
- package/dist/functions/pickupVariants.d.ts.map +1 -1
- package/dist/functions/pickupVariants.js +11 -12
- package/dist/functions/pickups.js +14 -15
- package/dist/functions/pickupsSpecific.js +40 -41
- package/dist/functions/pills.js +18 -19
- package/dist/functions/playerCenter.d.ts +0 -1
- package/dist/functions/playerCenter.d.ts.map +1 -1
- package/dist/functions/playerCenter.js +1 -2
- package/dist/functions/playerCollectibles.d.ts.map +1 -1
- package/dist/functions/playerCollectibles.js +19 -22
- package/dist/functions/playerCollectibles.lua +9 -9
- package/dist/functions/playerDataStructures.d.ts +0 -1
- package/dist/functions/playerDataStructures.d.ts.map +1 -1
- package/dist/functions/playerDataStructures.js +14 -15
- package/dist/functions/playerEffects.js +5 -6
- package/dist/functions/playerHealth.d.ts +0 -2
- package/dist/functions/playerHealth.d.ts.map +1 -1
- package/dist/functions/playerHealth.js +20 -21
- package/dist/functions/playerHealth.lua +26 -26
- package/dist/functions/playerIndex.d.ts +0 -3
- package/dist/functions/playerIndex.d.ts.map +1 -1
- package/dist/functions/playerIndex.js +9 -10
- package/dist/functions/playerTrinkets.js +10 -11
- package/dist/functions/players.js +37 -38
- package/dist/functions/pocketItems.js +8 -9
- package/dist/functions/positionVelocity.d.ts +0 -4
- package/dist/functions/positionVelocity.d.ts.map +1 -1
- package/dist/functions/positionVelocity.js +11 -20
- package/dist/functions/positionVelocity.lua +4 -4
- package/dist/functions/pressurePlate.js +1 -2
- package/dist/functions/projectiles.js +2 -3
- package/dist/functions/random.d.ts +0 -3
- package/dist/functions/random.d.ts.map +1 -1
- package/dist/functions/random.js +3 -4
- package/dist/functions/readOnly.d.ts +0 -4
- package/dist/functions/readOnly.d.ts.map +1 -1
- package/dist/functions/readOnly.js +3 -4
- package/dist/functions/render.d.ts +0 -3
- package/dist/functions/render.d.ts.map +1 -1
- package/dist/functions/render.js +3 -4
- package/dist/functions/revive.d.ts +0 -3
- package/dist/functions/revive.d.ts.map +1 -1
- package/dist/functions/revive.js +5 -6
- package/dist/functions/rng.d.ts +0 -1
- package/dist/functions/rng.d.ts.map +1 -1
- package/dist/functions/rng.js +15 -15
- package/dist/functions/rockAlt.d.ts +0 -1
- package/dist/functions/rockAlt.d.ts.map +1 -1
- package/dist/functions/rockAlt.js +2 -3
- package/dist/functions/roomData.d.ts.map +1 -1
- package/dist/functions/roomData.js +15 -18
- package/dist/functions/roomGrid.js +6 -7
- package/dist/functions/roomShape.js +14 -15
- package/dist/functions/roomShapeWalls.js +2 -3
- package/dist/functions/roomTransition.js +2 -3
- package/dist/functions/rooms.d.ts.map +1 -1
- package/dist/functions/rooms.js +77 -64
- package/dist/functions/rooms.lua +2 -2
- package/dist/functions/run.js +8 -9
- package/dist/functions/seeds.d.ts +0 -1
- package/dist/functions/seeds.d.ts.map +1 -1
- package/dist/functions/seeds.js +2 -3
- package/dist/functions/serialization.js +5 -6
- package/dist/functions/set.d.ts +0 -2
- package/dist/functions/set.d.ts.map +1 -1
- package/dist/functions/set.js +22 -23
- package/dist/functions/slots.js +2 -3
- package/dist/functions/sort.d.ts.map +1 -1
- package/dist/functions/sort.js +6 -7
- package/dist/functions/sound.d.ts.map +1 -1
- package/dist/functions/sound.js +4 -9
- package/dist/functions/spawnCollectible.d.ts.map +1 -1
- package/dist/functions/spawnCollectible.js +4 -7
- package/dist/functions/sprites.d.ts +0 -3
- package/dist/functions/sprites.d.ts.map +1 -1
- package/dist/functions/sprites.js +6 -7
- package/dist/functions/stage.d.ts.map +1 -1
- package/dist/functions/stage.js +44 -53
- package/dist/functions/stage.lua +5 -5
- package/dist/functions/stats.js +4 -5
- package/dist/functions/storyBosses.js +2 -3
- package/dist/functions/string.d.ts +0 -1
- package/dist/functions/string.d.ts.map +1 -1
- package/dist/functions/string.js +12 -13
- package/dist/functions/table.d.ts +0 -1
- package/dist/functions/table.d.ts.map +1 -1
- package/dist/functions/table.js +8 -9
- package/dist/functions/tears.js +6 -7
- package/dist/functions/transformations.js +5 -6
- package/dist/functions/trinketGive.js +5 -6
- package/dist/functions/trinkets.d.ts.map +1 -1
- package/dist/functions/trinkets.js +14 -17
- package/dist/functions/tstlClass.d.ts +2 -3
- package/dist/functions/tstlClass.d.ts.map +1 -1
- package/dist/functions/tstlClass.js +9 -10
- package/dist/functions/tstlClass.lua +2 -2
- package/dist/functions/types.d.ts +15 -17
- package/dist/functions/types.d.ts.map +1 -1
- package/dist/functions/types.js +38 -39
- package/dist/functions/types.lua +14 -14
- package/dist/functions/ui.d.ts +0 -3
- package/dist/functions/ui.d.ts.map +1 -1
- package/dist/functions/ui.js +13 -14
- package/dist/functions/utils.d.ts +0 -1
- package/dist/functions/utils.d.ts.map +1 -1
- package/dist/functions/utils.js +11 -12
- package/dist/functions/vector.d.ts +0 -1
- package/dist/functions/vector.d.ts.map +1 -1
- package/dist/functions/vector.js +11 -12
- package/dist/functions/versusScreen.js +4 -5
- package/dist/functions/weighted.d.ts +0 -3
- package/dist/functions/weighted.d.ts.map +1 -1
- package/dist/functions/weighted.js +2 -3
- package/dist/index.d.ts +58 -58
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -58
- package/dist/index.lua +18 -18
- package/dist/index.rollup.d.ts +71 -59
- 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/ModUpgradedInterface.d.ts +0 -1
- package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
- package/dist/isaacscript-common.lua +628 -749
- package/dist/lib/jsonLua.js +2 -2
- 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 +30 -30
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/AddSubtract.d.ts +10 -2
- package/dist/types/AddSubtract.d.ts.map +1 -1
- package/dist/types/AnyEntity.d.ts +0 -11
- package/dist/types/AnyEntity.d.ts.map +1 -1
- package/dist/types/AnyGridEntity.d.ts +0 -8
- package/dist/types/AnyGridEntity.d.ts.map +1 -1
- package/dist/types/PickingUpItem.js +5 -6
- package/dist/types/PickupIndex.d.ts +0 -1
- package/dist/types/PickupIndex.d.ts.map +1 -1
- package/dist/types/PlayerIndex.d.ts +0 -1
- package/dist/types/PlayerIndex.d.ts.map +1 -1
- package/dist/types/ReadonlyMap.d.ts.map +1 -1
- package/dist/types/ReadonlySet.d.ts.map +1 -1
- package/dist/types/TSTLClass.d.ts +0 -1
- package/dist/types/TSTLClass.d.ts.map +1 -1
- package/dist/types/TupleWithLengthBetween.js +2 -2
- package/dist/types/TupleWithMaxLength.js +2 -2
- package/dist/types/WeightedArray.d.ts +0 -1
- package/dist/types/WeightedArray.d.ts.map +1 -1
- package/package.json +9 -2
- package/src/callbackClasses.ts +6 -6
- package/src/classes/DefaultMap.ts +5 -2
- package/src/classes/ModFeature.ts +3 -3
- package/src/classes/ModUpgraded.ts +2 -4
- package/src/classes/callbacks/PostCollectibleEmpty.ts +1 -3
- package/src/classes/callbacks/PostItemDischarge.ts +3 -6
- package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
- package/src/classes/callbacks/PostNewRoomEarly.ts +1 -1
- package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
- package/src/classes/callbacks/PostTransformation.ts +1 -3
- package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
- package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +4 -6
- package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +4 -4
- package/src/classes/features/other/CustomPickups.ts +1 -0
- package/src/classes/features/other/CustomStages.ts +2 -2
- package/src/classes/features/other/CustomTrapdoors.ts +23 -18
- package/src/classes/features/other/DeployJSONRoom.ts +2 -0
- package/src/classes/features/other/EdenStartingStatsHealth.ts +3 -1
- package/src/classes/features/other/ExtraConsoleCommands.ts +14 -10
- package/src/classes/features/other/ModdedElementDetection.ts +4 -4
- package/src/classes/features/other/ModdedElementSets.ts +3 -3
- package/src/classes/features/other/PickupIndexCreation.ts +2 -3
- package/src/classes/features/other/RunInNFrames.ts +2 -2
- package/src/classes/features/other/SaveDataManager.ts +1 -1
- package/src/classes/features/other/customStages/backdrop.ts +1 -1
- package/src/classes/features/other/extraConsoleCommands/commands.ts +7 -7
- package/src/classes/features/other/saveDataManager/loadFromDisk.ts +5 -0
- package/src/core/constants.ts +1 -1
- package/src/core/constantsVanilla.ts +4 -4
- package/src/functions/array.ts +33 -29
- package/src/functions/arrayLua.ts +1 -1
- package/src/functions/bosses.ts +2 -1
- package/src/functions/charge.ts +1 -2
- package/src/functions/decorators.ts +6 -9
- package/src/functions/deepCopy.ts +0 -4
- package/src/functions/deepCopyTests.ts +4 -4
- package/src/functions/doors.ts +5 -0
- package/src/functions/entities.ts +3 -4
- package/src/functions/enums.ts +4 -4
- package/src/functions/flag.ts +1 -1
- package/src/functions/globals.ts +2 -3
- package/src/functions/gridEntities.ts +7 -1
- package/src/functions/jsonHelpers.ts +7 -5
- package/src/functions/levelGrid.ts +3 -6
- package/src/functions/logEntities.ts +3 -0
- package/src/functions/logMisc.ts +9 -20
- package/src/functions/map.ts +4 -4
- package/src/functions/merge.ts +1 -1
- package/src/functions/minimap.ts +2 -6
- package/src/functions/newArray.ts +1 -1
- package/src/functions/nextStage.ts +4 -0
- package/src/functions/npcDataStructures.ts +5 -5
- package/src/functions/npcs.ts +3 -0
- package/src/functions/playerCollectibles.ts +1 -3
- package/src/functions/playerDataStructures.ts +5 -5
- package/src/functions/positionVelocity.ts +4 -12
- package/src/functions/rng.ts +4 -3
- package/src/functions/roomData.ts +1 -3
- package/src/functions/rooms.ts +16 -1
- package/src/functions/set.ts +8 -8
- package/src/functions/sort.ts +2 -2
- package/src/functions/sound.ts +2 -7
- package/src/functions/spawnCollectible.ts +1 -3
- package/src/functions/stage.ts +4 -14
- package/src/functions/trinkets.ts +1 -3
- package/src/functions/tstlClass.ts +2 -2
- package/src/functions/types.ts +16 -16
- package/src/index.ts +58 -58
- package/src/interfaces/SaveData.ts +2 -1
- package/src/lib/jsonLua.js +2 -2
- package/src/objects/LRoomShapeToRectangles.ts +1 -1
- package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
- package/src/shouldFire.ts +2 -1
- package/src/types/AddSubtract.ts +10 -2
- package/src/types/HasFunction.ts +1 -1
- package/src/types/Immutable.ts +1 -1
- package/src/types/TupleWithLengthBetween.ts +2 -2
- package/src/types/TupleWithMaxLength.ts +2 -2
package/src/functions/map.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { DefaultMap } from "../classes/DefaultMap";
|
|
|
2
2
|
import { sumArray } from "./array";
|
|
3
3
|
|
|
4
4
|
/** Helper function to copy a map. (You can also use a Map constructor to accomplish this task.) */
|
|
5
|
-
// eslint-disable-next-line
|
|
5
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
6
6
|
export function copyMap<K, V>(oldMap: ReadonlyMap<K, V>): Map<K, V> {
|
|
7
7
|
const newMap = new Map<K, V>();
|
|
8
8
|
for (const [key, value] of oldMap) {
|
|
@@ -33,7 +33,7 @@ export function defaultMapGetHash<V, A extends unknown[]>(
|
|
|
33
33
|
* `mapSetHash` helper function.
|
|
34
34
|
*/
|
|
35
35
|
export function defaultMapSetHash<V>(
|
|
36
|
-
// eslint-disable-next-line
|
|
36
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
37
37
|
map: Map<PtrHash, V>,
|
|
38
38
|
entity: Entity,
|
|
39
39
|
value: V,
|
|
@@ -79,7 +79,7 @@ export function getReversedMap<K, V>(
|
|
|
79
79
|
* the map uses `PtrHash` as an index.
|
|
80
80
|
*/
|
|
81
81
|
export function mapSetHash<V>(
|
|
82
|
-
// eslint-disable-next-line
|
|
82
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
83
83
|
map: Map<PtrHash, V>,
|
|
84
84
|
entity: Entity,
|
|
85
85
|
value: V,
|
|
@@ -101,7 +101,7 @@ export function mapSetHash<V>(
|
|
|
101
101
|
*
|
|
102
102
|
* Also see the `objectToReadonlyMap` function.
|
|
103
103
|
*/
|
|
104
|
-
// eslint-disable-next-line
|
|
104
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
105
105
|
export function objectToMap<K extends string | number | symbol, V>(
|
|
106
106
|
object: Record<K, V>,
|
|
107
107
|
): Map<K, V> {
|
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.
|
|
@@ -149,6 +152,7 @@ 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
|
}
|
|
@@ -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
|
@@ -132,6 +132,7 @@ export function isDaddyLongLegsChildStompEntity(npc: EntityNPC): boolean {
|
|
|
132
132
|
export function isDyingDump(npc: EntityNPC): boolean {
|
|
133
133
|
return (
|
|
134
134
|
npc.Type === EntityType.DUMP &&
|
|
135
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
135
136
|
npc.Variant === DumpVariant.DUMP &&
|
|
136
137
|
npc.State === NPCState.SPECIAL
|
|
137
138
|
);
|
|
@@ -145,6 +146,7 @@ export function isDyingDump(npc: EntityNPC): boolean {
|
|
|
145
146
|
export function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean {
|
|
146
147
|
return (
|
|
147
148
|
npc.Type === EntityType.HOPPER &&
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
148
150
|
npc.Variant === HopperVariant.EGGY &&
|
|
149
151
|
npc.State === NPCState.SUICIDE &&
|
|
150
152
|
npc.StateFrame >= EGGY_STATE_FRAME_OF_FINAL_SPIDER
|
|
@@ -160,6 +162,7 @@ export function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean {
|
|
|
160
162
|
export function isRaglingDeathPatch(npc: EntityNPC): boolean {
|
|
161
163
|
return (
|
|
162
164
|
npc.Type === EntityType.RAGLING &&
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
163
166
|
npc.Variant === RaglingVariant.RAG_MANS_RAGLING &&
|
|
164
167
|
// They go to `STATE_SPECIAL` when they are patches on the ground.
|
|
165
168
|
npc.State === NPCState.SPECIAL
|
|
@@ -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 {
|
|
@@ -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/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
|
}
|
package/src/functions/rooms.ts
CHANGED
|
@@ -600,6 +600,7 @@ export function isAllRoomsClear(
|
|
|
600
600
|
export function isAngelShop(roomData: RoomConfig): boolean {
|
|
601
601
|
return (
|
|
602
602
|
roomData.Type === RoomType.ANGEL &&
|
|
603
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
603
604
|
roomData.Subtype === AngelRoomSubType.SHOP
|
|
604
605
|
);
|
|
605
606
|
}
|
|
@@ -615,6 +616,7 @@ export function isAngelShop(roomData: RoomConfig): boolean {
|
|
|
615
616
|
export function isBeastRoom(roomData: RoomConfig): boolean {
|
|
616
617
|
return (
|
|
617
618
|
roomData.Type === RoomType.DUNGEON &&
|
|
619
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
618
620
|
roomData.Subtype === DungeonSubType.BEAST_ROOM
|
|
619
621
|
);
|
|
620
622
|
}
|
|
@@ -635,6 +637,7 @@ export function isBossRoomOf(roomData: RoomConfig, bossID: BossID): boolean {
|
|
|
635
637
|
return (
|
|
636
638
|
roomData.Type === RoomType.BOSS &&
|
|
637
639
|
roomData.StageID === StageID.SPECIAL_ROOMS &&
|
|
640
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
638
641
|
roomData.Subtype === bossID
|
|
639
642
|
);
|
|
640
643
|
}
|
|
@@ -647,6 +650,7 @@ export function isBossRoomOf(roomData: RoomConfig, bossID: BossID): boolean {
|
|
|
647
650
|
export function isCrawlSpace(roomData: RoomConfig): boolean {
|
|
648
651
|
return (
|
|
649
652
|
roomData.Type === RoomType.DUNGEON &&
|
|
653
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
650
654
|
roomData.Subtype === DungeonSubType.NORMAL
|
|
651
655
|
);
|
|
652
656
|
}
|
|
@@ -669,7 +673,9 @@ export function isCrawlSpaceWithBlackMarketEntrance(
|
|
|
669
673
|
export function isDeathCertificateArea(roomData: RoomConfig): boolean {
|
|
670
674
|
return (
|
|
671
675
|
roomData.StageID === StageID.HOME &&
|
|
676
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
672
677
|
(roomData.Subtype === HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE ||
|
|
678
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
673
679
|
roomData.Subtype === HomeRoomSubType.DEATH_CERTIFICATE_ITEMS)
|
|
674
680
|
);
|
|
675
681
|
}
|
|
@@ -704,6 +710,7 @@ export function isDogmaRoom(roomData: RoomConfig): boolean {
|
|
|
704
710
|
roomData.StageID === StageID.HOME &&
|
|
705
711
|
roomData.Type === RoomType.DEFAULT &&
|
|
706
712
|
roomData.Variant === 1000 &&
|
|
713
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
707
714
|
roomData.Subtype === HomeRoomSubType.LIVING_ROOM
|
|
708
715
|
);
|
|
709
716
|
}
|
|
@@ -729,6 +736,7 @@ export function isDoubleTrouble(roomData: RoomConfig): boolean {
|
|
|
729
736
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.GENESIS`.
|
|
730
737
|
*/
|
|
731
738
|
export function isGenesisRoom(roomGridIndex: int): boolean {
|
|
739
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
732
740
|
return roomGridIndex === GridRoom.GENESIS;
|
|
733
741
|
}
|
|
734
742
|
|
|
@@ -741,7 +749,9 @@ export function isGenesisRoom(roomGridIndex: int): boolean {
|
|
|
741
749
|
export function isHomeCloset(roomData: RoomConfig): boolean {
|
|
742
750
|
return (
|
|
743
751
|
roomData.StageID === StageID.HOME &&
|
|
752
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
744
753
|
(roomData.Subtype === HomeRoomSubType.CLOSET_LEFT ||
|
|
754
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
745
755
|
roomData.Subtype === HomeRoomSubType.CLOSET_RIGHT)
|
|
746
756
|
);
|
|
747
757
|
}
|
|
@@ -755,6 +765,7 @@ export function isLRoom(roomData: RoomConfig): boolean {
|
|
|
755
765
|
* Helper function to determine if the index of the provided room is equal to `GridRoom.MEGA_SATAN`.
|
|
756
766
|
*/
|
|
757
767
|
export function isMegaSatanRoom(roomGridIndex: int): boolean {
|
|
768
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
758
769
|
return roomGridIndex === GridRoom.MEGA_SATAN;
|
|
759
770
|
}
|
|
760
771
|
|
|
@@ -766,7 +777,7 @@ export function isMineShaft(roomData: RoomConfig): boolean {
|
|
|
766
777
|
return (
|
|
767
778
|
(roomData.StageID === StageID.MINES ||
|
|
768
779
|
roomData.StageID === StageID.ASHPIT) &&
|
|
769
|
-
// eslint-disable-next-line
|
|
780
|
+
// eslint-disable-next-line complete/strict-enums
|
|
770
781
|
MINE_SHAFT_ROOM_SUB_TYPE_SET.has(roomData.Subtype)
|
|
771
782
|
);
|
|
772
783
|
}
|
|
@@ -782,6 +793,7 @@ export function isMinibossRoomOf(
|
|
|
782
793
|
return (
|
|
783
794
|
roomData.Type === RoomType.MINI_BOSS &&
|
|
784
795
|
roomData.StageID === StageID.SPECIAL_ROOMS &&
|
|
796
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
785
797
|
roomData.Subtype === minibossID
|
|
786
798
|
);
|
|
787
799
|
}
|
|
@@ -795,6 +807,7 @@ export function isMirrorRoom(roomData: RoomConfig): boolean {
|
|
|
795
807
|
roomData.Type === RoomType.DEFAULT &&
|
|
796
808
|
(roomData.StageID === StageID.DOWNPOUR ||
|
|
797
809
|
roomData.StageID === StageID.DROSS) &&
|
|
810
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
798
811
|
roomData.Subtype === DownpourRoomSubType.MIRROR
|
|
799
812
|
);
|
|
800
813
|
}
|
|
@@ -828,6 +841,7 @@ export function isRoomType(
|
|
|
828
841
|
* floor.
|
|
829
842
|
*/
|
|
830
843
|
export function isSecretExit(roomGridIndex: int): boolean {
|
|
844
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
831
845
|
return roomGridIndex === GridRoom.SECRET_EXIT;
|
|
832
846
|
}
|
|
833
847
|
|
|
@@ -848,6 +862,7 @@ export function isSecretRoomType(roomType: RoomType): boolean {
|
|
|
848
862
|
* the only way to detect them is by using the grid index.
|
|
849
863
|
*/
|
|
850
864
|
export function isSecretShop(roomGridIndex: int): boolean {
|
|
865
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
851
866
|
return roomGridIndex === GridRoom.SECRET_SHOP;
|
|
852
867
|
}
|
|
853
868
|
|
package/src/functions/set.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { isPrimitive } from "./types";
|
|
|
10
10
|
* This function is variadic, meaning that you can specify N sets to add to the first set.
|
|
11
11
|
*/
|
|
12
12
|
export function addSetsToSet<T>(
|
|
13
|
-
// eslint-disable-next-line
|
|
13
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
14
14
|
mainSet: Set<T>,
|
|
15
15
|
...setsToAdd: ReadonlyArray<ReadonlySet<T>>
|
|
16
16
|
): void {
|
|
@@ -26,7 +26,7 @@ export function addSetsToSet<T>(
|
|
|
26
26
|
*
|
|
27
27
|
* This function is variadic, meaning that you can specify N sets.
|
|
28
28
|
*/
|
|
29
|
-
// eslint-disable-next-line
|
|
29
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
30
30
|
export function combineSets<T>(...sets: ReadonlyArray<ReadonlySet<T>>): Set<T> {
|
|
31
31
|
const newSet = new Set<T>();
|
|
32
32
|
for (const set of sets) {
|
|
@@ -39,7 +39,7 @@ export function combineSets<T>(...sets: ReadonlyArray<ReadonlySet<T>>): Set<T> {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
|
|
42
|
-
// eslint-disable-next-line
|
|
42
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
43
43
|
export function copySet<T>(oldSet: ReadonlySet<T>): Set<T> {
|
|
44
44
|
const newSet = new Set<T>();
|
|
45
45
|
for (const value of oldSet) {
|
|
@@ -56,7 +56,7 @@ export function copySet<T>(oldSet: ReadonlySet<T>): Set<T> {
|
|
|
56
56
|
* This function is variadic, meaning that you can specify N sets to remove from the first set.
|
|
57
57
|
*/
|
|
58
58
|
export function deleteSetsFromSet<T>(
|
|
59
|
-
// eslint-disable-next-line
|
|
59
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
60
60
|
mainSet: Set<T>,
|
|
61
61
|
...setsToRemove: ReadonlyArray<ReadonlySet<T>>
|
|
62
62
|
): void {
|
|
@@ -123,7 +123,7 @@ export function getSetCombinations<T extends number | string>(
|
|
|
123
123
|
* Normally, set values are returned in insertion order, so use this function when the ordering of
|
|
124
124
|
* the contents is important.
|
|
125
125
|
*/
|
|
126
|
-
// eslint-disable-next-line
|
|
126
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
127
127
|
export function getSortedSetValues<T extends number | string>(
|
|
128
128
|
set: ReadonlySet<T>,
|
|
129
129
|
): T[] {
|
|
@@ -167,7 +167,7 @@ export function objectKeysToReadonlySet<K extends string | number | symbol, V>(
|
|
|
167
167
|
*
|
|
168
168
|
* Also see the `objectKeysToReadonlySet` function.
|
|
169
169
|
*/
|
|
170
|
-
// eslint-disable-next-line
|
|
170
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
171
171
|
export function objectKeysToSet<K extends string | number | symbol, V>(
|
|
172
172
|
object: Record<K, V>,
|
|
173
173
|
): Set<K> {
|
|
@@ -203,7 +203,7 @@ export function objectValuesToReadonlySet<
|
|
|
203
203
|
*
|
|
204
204
|
* Also see the `objectValuesToReadonlySet` function.
|
|
205
205
|
*/
|
|
206
|
-
// eslint-disable-next-line
|
|
206
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
207
207
|
export function objectValuesToSet<K extends string | number | symbol, V>(
|
|
208
208
|
object: Record<K, V>,
|
|
209
209
|
): Set<V> {
|
|
@@ -222,7 +222,7 @@ export function objectValuesToSet<K extends string | number | symbol, V>(
|
|
|
222
222
|
*
|
|
223
223
|
* This function is variadic, meaning that you can pass as many things as you want to add.
|
|
224
224
|
*/
|
|
225
|
-
// eslint-disable-next-line
|
|
225
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
226
226
|
export function setAdd<T>(set: Set<T>, ...elements: readonly T[]): void {
|
|
227
227
|
for (const element of elements) {
|
|
228
228
|
set.add(element);
|
package/src/functions/sort.ts
CHANGED
|
@@ -149,9 +149,9 @@ export function sortTwoDimensionalArray<T>(
|
|
|
149
149
|
*
|
|
150
150
|
* Under the hood, this uses the merge sort algorithm.
|
|
151
151
|
*/
|
|
152
|
-
// eslint-disable-next-line
|
|
152
|
+
// eslint-disable-next-line complete/no-mutable-return
|
|
153
153
|
export function stableSort<T>(
|
|
154
|
-
// eslint-disable-next-line
|
|
154
|
+
// eslint-disable-next-line complete/prefer-readonly-parameter-types
|
|
155
155
|
array: T[],
|
|
156
156
|
sortFunc: (a: T, b: T) => -1 | 0 | 1 = sortNormal,
|
|
157
157
|
): T[] {
|
package/src/functions/sound.ts
CHANGED
|
@@ -24,13 +24,8 @@ export function getMusicForStage(
|
|
|
24
24
|
): Music {
|
|
25
25
|
const level = game.GetLevel();
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (stageType === undefined) {
|
|
32
|
-
stageType = level.GetStageType();
|
|
33
|
-
}
|
|
27
|
+
stage ??= level.GetStage();
|
|
28
|
+
stageType ??= level.GetStageType();
|
|
34
29
|
|
|
35
30
|
const stageTypeToMusic = STAGE_TO_MUSIC[stage];
|
|
36
31
|
return stageTypeToMusic[stageType];
|
|
@@ -44,9 +44,7 @@ export function spawnCollectible(
|
|
|
44
44
|
forceFreeItem = false,
|
|
45
45
|
spawner?: Entity,
|
|
46
46
|
): EntityPickupCollectible {
|
|
47
|
-
|
|
48
|
-
seedOrRNG = getRandomSeed();
|
|
49
|
-
}
|
|
47
|
+
seedOrRNG ??= getRandomSeed();
|
|
50
48
|
|
|
51
49
|
const seed = isRNG(seedOrRNG) ? seedOrRNG.Next() : seedOrRNG;
|
|
52
50
|
const collectible = spawnPickupWithSeed(
|
package/src/functions/stage.ts
CHANGED
|
@@ -133,13 +133,8 @@ export function getLevelName(
|
|
|
133
133
|
): string {
|
|
134
134
|
const level = game.GetLevel();
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (stageType === undefined) {
|
|
141
|
-
stageType = level.GetStageType();
|
|
142
|
-
}
|
|
136
|
+
stage ??= level.GetStage();
|
|
137
|
+
stageType ??= level.GetStageType();
|
|
143
138
|
|
|
144
139
|
const stageID = getStageID(stage, stageType);
|
|
145
140
|
const stageIDName = getStageIDName(stageID);
|
|
@@ -195,13 +190,8 @@ export function getStage(): LevelStage {
|
|
|
195
190
|
export function getStageID(stage?: LevelStage, stageType?: StageType): StageID {
|
|
196
191
|
const level = game.GetLevel();
|
|
197
192
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (stageType === undefined) {
|
|
203
|
-
stageType = level.GetStageType();
|
|
204
|
-
}
|
|
193
|
+
stage ??= level.GetStage();
|
|
194
|
+
stageType ??= level.GetStageType();
|
|
205
195
|
|
|
206
196
|
if (game.IsGreedMode()) {
|
|
207
197
|
const stageTypeToStageID = STAGE_TO_STAGE_ID_GREED_MODE.get(stage);
|
|
@@ -69,9 +69,7 @@ export function getMysteriousPaperEffectForFrame(
|
|
|
69
69
|
player: EntityPlayer,
|
|
70
70
|
frameCount?: int,
|
|
71
71
|
): MysteriousPaperEffect | undefined {
|
|
72
|
-
|
|
73
|
-
frameCount = player.FrameCount;
|
|
74
|
-
}
|
|
72
|
+
frameCount ??= player.FrameCount;
|
|
75
73
|
|
|
76
74
|
if (!player.HasTrinket(TrinketType.MYSTERIOUS_PAPER)) {
|
|
77
75
|
return undefined;
|
|
@@ -45,10 +45,10 @@ export function getTSTLClassName(object: unknown): string | undefined {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
* Helper function to determine if a given object is a
|
|
48
|
+
* Helper function to determine if a given object is a `DefaultMap` from `isaacscript-common`.
|
|
49
49
|
*
|
|
50
50
|
* It is not reliable to use the `instanceof` operator to determine this because each Lua module has
|
|
51
|
-
* their own copies of the entire lualib and thus their own instantiated version of a `
|
|
51
|
+
* their own copies of the entire lualib and thus their own instantiated version of a `DefaultMap`.
|
|
52
52
|
*/
|
|
53
53
|
export function isDefaultMap(
|
|
54
54
|
object: unknown,
|