isaacscript-common 87.9.7 → 87.10.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/dist/cachedEnumValues.js +29 -32
- package/dist/callbackClasses.js +142 -289
- package/dist/callbacks.js +147 -183
- package/dist/classes/DefaultMap.js +4 -8
- package/dist/classes/ModFeature.js +21 -25
- package/dist/classes/ModUpgraded.js +43 -47
- package/dist/classes/callbacks/EntityTakeDmgFilter.js +6 -10
- package/dist/classes/callbacks/EntityTakeDmgPlayer.js +7 -11
- package/dist/classes/callbacks/InputActionFilter.js +4 -8
- package/dist/classes/callbacks/InputActionPlayer.js +4 -8
- package/dist/classes/callbacks/PostAmbushFinished.js +10 -14
- package/dist/classes/callbacks/PostAmbushStarted.js +10 -14
- package/dist/classes/callbacks/PostBombExploded.js +8 -12
- package/dist/classes/callbacks/PostBombInitFilter.js +6 -10
- package/dist/classes/callbacks/PostBombInitLate.js +6 -10
- package/dist/classes/callbacks/PostBombRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostBombUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostBoneSwing.js +7 -11
- package/dist/classes/callbacks/PostCollectibleEmpty.js +6 -10
- package/dist/classes/callbacks/PostCursedTeleport.js +30 -34
- package/dist/classes/callbacks/PostCustomRevive.js +4 -8
- package/dist/classes/callbacks/PostDiceRoomActivated.js +9 -13
- package/dist/classes/callbacks/PostDoorRender.js +8 -12
- package/dist/classes/callbacks/PostDoorUpdate.js +8 -12
- package/dist/classes/callbacks/PostEffectInitFilter.js +6 -10
- package/dist/classes/callbacks/PostEffectInitLate.js +6 -10
- package/dist/classes/callbacks/PostEffectRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostEffectStateChanged.js +8 -12
- package/dist/classes/callbacks/PostEffectUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostEntityKillFilter.js +6 -10
- package/dist/classes/callbacks/PostEntityRemoveFilter.js +6 -10
- package/dist/classes/callbacks/PostEsauJr.js +4 -8
- package/dist/classes/callbacks/PostFamiliarInitFilter.js +6 -10
- package/dist/classes/callbacks/PostFamiliarInitLate.js +6 -10
- package/dist/classes/callbacks/PostFamiliarRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostFamiliarStateChanged.js +8 -12
- package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostFirstEsauJr.js +4 -8
- package/dist/classes/callbacks/PostFirstFlip.js +4 -8
- package/dist/classes/callbacks/PostFlip.js +4 -8
- package/dist/classes/callbacks/PostGameEndFilter.js +6 -10
- package/dist/classes/callbacks/PostGameStartedReordered.js +6 -10
- package/dist/classes/callbacks/PostGameStartedReorderedLast.js +6 -10
- package/dist/classes/callbacks/PostGreedModeWave.js +7 -11
- package/dist/classes/callbacks/PostGridEntityBroken.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCollision.js +4 -8
- package/dist/classes/callbacks/PostGridEntityCustomBroken.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomCollision.js +4 -8
- package/dist/classes/callbacks/PostGridEntityCustomInit.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomRemove.js +4 -8
- package/dist/classes/callbacks/PostGridEntityCustomRender.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +6 -10
- package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +6 -10
- package/dist/classes/callbacks/PostGridEntityInit.js +6 -10
- package/dist/classes/callbacks/PostGridEntityRemove.js +4 -8
- package/dist/classes/callbacks/PostGridEntityRender.js +6 -10
- package/dist/classes/callbacks/PostGridEntityStateChanged.js +6 -10
- package/dist/classes/callbacks/PostGridEntityUpdate.js +6 -10
- package/dist/classes/callbacks/PostHolyMantleRemoved.js +15 -19
- package/dist/classes/callbacks/PostItemDischarge.js +23 -27
- package/dist/classes/callbacks/PostItemPickup.js +6 -10
- package/dist/classes/callbacks/PostKeyboardChanged.js +9 -13
- package/dist/classes/callbacks/PostKnifeInitFilter.js +6 -10
- package/dist/classes/callbacks/PostKnifeInitLate.js +6 -10
- package/dist/classes/callbacks/PostKnifeRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostKnifeUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostLaserInitFilter.js +6 -10
- package/dist/classes/callbacks/PostLaserInitLate.js +6 -10
- package/dist/classes/callbacks/PostLaserRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostLaserUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostNPCDeathFilter.js +6 -10
- package/dist/classes/callbacks/PostNPCInitFilter.js +6 -10
- package/dist/classes/callbacks/PostNPCInitLate.js +6 -10
- package/dist/classes/callbacks/PostNPCRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostNPCStateChanged.js +8 -12
- package/dist/classes/callbacks/PostNPCUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostNewLevelReordered.js +6 -10
- package/dist/classes/callbacks/PostNewRoomEarly.js +17 -21
- package/dist/classes/callbacks/PostNewRoomReordered.js +6 -10
- package/dist/classes/callbacks/PostPEffectUpdateReordered.js +6 -10
- package/dist/classes/callbacks/PostPickupChanged.js +6 -10
- package/dist/classes/callbacks/PostPickupCollect.js +8 -12
- package/dist/classes/callbacks/PostPickupInitFilter.js +6 -10
- package/dist/classes/callbacks/PostPickupInitFirst.js +10 -14
- package/dist/classes/callbacks/PostPickupInitLate.js +6 -10
- package/dist/classes/callbacks/PostPickupRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -8
- package/dist/classes/callbacks/PostPickupStateChanged.js +8 -12
- package/dist/classes/callbacks/PostPickupUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostPitRender.js +8 -12
- package/dist/classes/callbacks/PostPitUpdate.js +8 -12
- package/dist/classes/callbacks/PostPlayerChangeHealth.js +14 -18
- package/dist/classes/callbacks/PostPlayerChangeStat.js +26 -30
- package/dist/classes/callbacks/PostPlayerChangeType.js +11 -15
- package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +6 -10
- package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +6 -10
- package/dist/classes/callbacks/PostPlayerFatalDamage.js +24 -28
- package/dist/classes/callbacks/PostPlayerInitFirst.js +12 -16
- package/dist/classes/callbacks/PostPlayerInitLate.js +9 -13
- package/dist/classes/callbacks/PostPlayerRenderReordered.js +6 -10
- package/dist/classes/callbacks/PostPlayerUpdateReordered.js +6 -10
- package/dist/classes/callbacks/PostPoopRender.js +8 -12
- package/dist/classes/callbacks/PostPoopUpdate.js +8 -12
- package/dist/classes/callbacks/PostPressurePlateRender.js +8 -12
- package/dist/classes/callbacks/PostPressurePlateUpdate.js +8 -12
- package/dist/classes/callbacks/PostProjectileInitFilter.js +6 -10
- package/dist/classes/callbacks/PostProjectileInitLate.js +6 -10
- package/dist/classes/callbacks/PostProjectileKill.js +8 -12
- package/dist/classes/callbacks/PostProjectileRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostProjectileUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostPurchase.js +21 -25
- package/dist/classes/callbacks/PostRockRender.js +8 -12
- package/dist/classes/callbacks/PostRockUpdate.js +8 -12
- package/dist/classes/callbacks/PostRoomClearChanged.js +9 -13
- package/dist/classes/callbacks/PostSacrifice.js +12 -16
- package/dist/classes/callbacks/PostSlotAnimationChanged.js +6 -10
- package/dist/classes/callbacks/PostSlotCollision.js +8 -12
- package/dist/classes/callbacks/PostSlotDestroyed.js +6 -10
- package/dist/classes/callbacks/PostSlotInit.js +6 -10
- package/dist/classes/callbacks/PostSlotRender.js +6 -10
- package/dist/classes/callbacks/PostSlotUpdate.js +6 -10
- package/dist/classes/callbacks/PostSpikesRender.js +8 -12
- package/dist/classes/callbacks/PostSpikesUpdate.js +8 -12
- package/dist/classes/callbacks/PostTNTRender.js +8 -12
- package/dist/classes/callbacks/PostTNTUpdate.js +8 -12
- package/dist/classes/callbacks/PostTearInitFilter.js +6 -10
- package/dist/classes/callbacks/PostTearInitLate.js +6 -10
- package/dist/classes/callbacks/PostTearInitVeryLate.js +6 -10
- package/dist/classes/callbacks/PostTearKill.js +8 -12
- package/dist/classes/callbacks/PostTearRenderFilter.js +6 -10
- package/dist/classes/callbacks/PostTearUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PostTransformation.js +10 -14
- package/dist/classes/callbacks/PostTrinketBreak.js +16 -20
- package/dist/classes/callbacks/PostUsePillFilter.js +18 -22
- package/dist/classes/callbacks/PreBerserkDeath.js +14 -18
- package/dist/classes/callbacks/PreBombCollisionFilter.js +6 -10
- package/dist/classes/callbacks/PreCustomRevive.js +6 -10
- package/dist/classes/callbacks/PreEntitySpawnFilter.js +4 -8
- package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +6 -10
- package/dist/classes/callbacks/PreGetPedestal.js +8 -12
- package/dist/classes/callbacks/PreItemPickup.js +6 -10
- package/dist/classes/callbacks/PreKnifeCollisionFilter.js +6 -10
- package/dist/classes/callbacks/PreNPCCollisionFilter.js +6 -10
- package/dist/classes/callbacks/PreNPCUpdateFilter.js +6 -10
- package/dist/classes/callbacks/PreNewLevel.js +10 -14
- package/dist/classes/callbacks/PreProjectileCollisionFilter.js +6 -10
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +4 -8
- package/dist/classes/callbacks/PreTearCollisionFilter.js +6 -10
- package/dist/classes/features/callbackLogic/CustomGridEntities.js +46 -50
- package/dist/classes/features/callbackLogic/CustomRevive.js +28 -32
- package/dist/classes/features/callbackLogic/EsauJrDetection.js +11 -15
- package/dist/classes/features/callbackLogic/FlipDetection.js +11 -15
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +26 -30
- package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +10 -14
- package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +6 -10
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +12 -16
- package/dist/classes/features/callbackLogic/ItemPickupDetection.js +17 -21
- package/dist/classes/features/callbackLogic/PickupChangeDetection.js +6 -10
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +39 -43
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +18 -22
- package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +17 -21
- package/dist/classes/features/callbackLogic/SlotRenderDetection.js +8 -12
- package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +9 -13
- package/dist/classes/features/other/CharacterHealthConversion.js +13 -17
- package/dist/classes/features/other/CharacterStats.js +9 -13
- package/dist/classes/features/other/CollectibleItemPoolType.js +17 -21
- package/dist/classes/features/other/CustomHotkeys.js +15 -19
- package/dist/classes/features/other/CustomItemPools.js +20 -24
- package/dist/classes/features/other/CustomPickups.js +15 -19
- package/dist/classes/features/other/CustomStages.js +116 -153
- package/dist/classes/features/other/CustomTrapdoors.js +119 -123
- package/dist/classes/features/other/DebugDisplay.js +77 -81
- package/dist/classes/features/other/DeployJSONRoom.js +65 -69
- package/dist/classes/features/other/DisableAllSound.js +14 -18
- package/dist/classes/features/other/DisableInputs.js +24 -28
- package/dist/classes/features/other/EdenStartingStatsHealth.js +36 -40
- package/dist/classes/features/other/ExtraConsoleCommands.js +65 -102
- package/dist/classes/features/other/FadeInRemover.js +9 -13
- package/dist/classes/features/other/FastReset.js +18 -22
- package/dist/classes/features/other/FlyingDetection.js +10 -14
- package/dist/classes/features/other/ForgottenSwitch.js +8 -12
- package/dist/classes/features/other/ItemPoolDetection.js +35 -39
- package/dist/classes/features/other/ModdedElementDetection.js +43 -47
- package/dist/classes/features/other/ModdedElementSets.js +135 -139
- package/dist/classes/features/other/NoSirenSteal.js +7 -11
- package/dist/classes/features/other/Pause.js +48 -52
- package/dist/classes/features/other/PersistentEntities.js +16 -20
- package/dist/classes/features/other/PickupIndexCreation.js +31 -35
- package/dist/classes/features/other/PlayerCollectibleTracking.js +18 -22
- package/dist/classes/features/other/PonyDetection.js +22 -26
- package/dist/classes/features/other/PressInput.js +10 -14
- package/dist/classes/features/other/PreventChildEntities.js +6 -10
- package/dist/classes/features/other/PreventGridEntityRespawn.js +34 -38
- package/dist/classes/features/other/RerunDetection.js +11 -15
- package/dist/classes/features/other/RoomClearFrame.js +11 -15
- package/dist/classes/features/other/RoomHistory.js +30 -34
- package/dist/classes/features/other/RunInNFrames.js +24 -28
- package/dist/classes/features/other/RunNextRoom.js +8 -12
- package/dist/classes/features/other/RunNextRun.js +8 -12
- package/dist/classes/features/other/SaveDataManager.js +61 -65
- package/dist/classes/features/other/SpawnRockAltRewards.js +115 -119
- package/dist/classes/features/other/StageHistory.js +76 -80
- package/dist/classes/features/other/StartAmbush.js +12 -16
- package/dist/classes/features/other/TaintedLazarusPlayers.js +10 -14
- package/dist/classes/features/other/UnlockAchievementsDetection.js +10 -14
- package/dist/classes/features/other/customStages/backdrop.js +68 -71
- package/dist/classes/features/other/customStages/constants.js +7 -10
- package/dist/classes/features/other/customStages/gridEntities.js +23 -30
- package/dist/classes/features/other/customStages/shadows.js +27 -30
- package/dist/classes/features/other/customStages/streakText.js +55 -60
- package/dist/classes/features/other/customStages/utils.js +13 -17
- package/dist/classes/features/other/customStages/v.js +4 -7
- package/dist/classes/features/other/customStages/versusScreen.js +46 -50
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +8 -12
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +8 -12
- package/dist/classes/features/other/debugDisplay/utils.js +6 -10
- package/dist/classes/features/other/extraConsoleCommands/commands.js +411 -557
- package/dist/classes/features/other/extraConsoleCommands/subroutines.js +47 -57
- package/dist/classes/features/other/extraConsoleCommands/v.js +1 -4
- package/dist/classes/features/other/saveDataManager/constants.js +1 -4
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +17 -21
- package/dist/classes/features/other/saveDataManager/loadFromDisk.js +19 -22
- package/dist/classes/features/other/saveDataManager/restoreDefaults.js +20 -25
- package/dist/classes/features/other/saveDataManager/saveToDisk.js +13 -16
- package/dist/classes/private/CustomCallback.js +4 -8
- package/dist/classes/private/Feature.js +1 -5
- package/dist/core/cachedClasses.js +12 -15
- package/dist/core/constants.js +126 -130
- package/dist/core/constantsFirstLast.js +22 -25
- package/dist/core/constantsVanilla.js +25 -28
- package/dist/core/upgradeMod.js +7 -10
- package/dist/decorators.js +6 -10
- package/dist/enums/AmbushType.js +2 -5
- package/dist/enums/CornerType.js +2 -5
- package/dist/enums/HealthType.js +2 -5
- package/dist/enums/ISCFeature.js +2 -5
- package/dist/enums/LadderSubTypeCustom.js +2 -5
- package/dist/enums/ModCallbackCustom.js +2 -5
- package/dist/enums/MysteriousPaperEffect.js +2 -5
- package/dist/enums/PlayerStat.js +2 -5
- package/dist/enums/PocketItemType.js +2 -5
- package/dist/enums/RockAltType.js +2 -5
- package/dist/enums/SaveDataKey.js +2 -5
- package/dist/enums/SerializationType.js +2 -5
- package/dist/enums/SlotDestructionType.js +2 -5
- package/dist/enums/private/GridEntityTypeCustom.js +1 -4
- package/dist/enums/private/SerializationBrand.js +2 -5
- package/dist/enums/private/StageTravelState.js +2 -5
- package/dist/enums/private/TrapdoorAnimation.js +2 -5
- package/dist/enums/private/UIStreakAnimation.js +2 -5
- package/dist/features.js +138 -141
- package/dist/functions/ambush.js +9 -12
- package/dist/functions/array.js +45 -76
- package/dist/functions/arrayLua.js +7 -16
- package/dist/functions/benchmark.js +4 -7
- package/dist/functions/bitSet128.js +19 -26
- package/dist/functions/bitwise.js +14 -23
- package/dist/functions/bombs.js +1 -4
- package/dist/functions/bosses.js +68 -85
- package/dist/functions/cards.js +44 -62
- package/dist/functions/challenges.js +28 -39
- package/dist/functions/characters.js +68 -87
- package/dist/functions/charge.js +41 -52
- package/dist/functions/chargeBar.js +2 -6
- package/dist/functions/collectibleTag.js +9 -13
- package/dist/functions/collectibles.js +133 -172
- package/dist/functions/color.js +29 -38
- package/dist/functions/console.js +4 -8
- package/dist/functions/curses.js +6 -10
- package/dist/functions/debugFunctions.js +7 -14
- package/dist/functions/decorators.js +13 -19
- package/dist/functions/deepCopy.js +96 -99
- package/dist/functions/deepCopyTests.js +56 -59
- package/dist/functions/dimensions.js +10 -14
- package/dist/functions/direction.js +22 -30
- package/dist/functions/doors.js +104 -154
- package/dist/functions/easing.js +30 -62
- package/dist/functions/effects.js +6 -10
- package/dist/functions/emptyRoom.js +30 -34
- package/dist/functions/entities.js +88 -115
- package/dist/functions/entitiesSpecific.js +83 -125
- package/dist/functions/entityTypes.js +3 -6
- package/dist/functions/enums.js +27 -41
- package/dist/functions/external.js +4 -8
- package/dist/functions/familiars.js +17 -25
- package/dist/functions/flag.js +10 -19
- package/dist/functions/frames.js +31 -51
- package/dist/functions/globals.js +26 -66
- package/dist/functions/gridEntities.js +231 -269
- package/dist/functions/gridEntitiesSpecific.js +86 -126
- package/dist/functions/gridIndex.js +8 -11
- package/dist/functions/hash.js +1 -4
- package/dist/functions/hex.js +7 -11
- package/dist/functions/input.js +65 -88
- package/dist/functions/isaacAPIClass.js +28 -53
- package/dist/functions/itemPool.js +39 -48
- package/dist/functions/jsonHelpers.js +5 -42
- package/dist/functions/jsonRoom.js +39 -46
- package/dist/functions/kColor.js +30 -39
- package/dist/functions/language.js +3 -6
- package/dist/functions/level.js +20 -26
- package/dist/functions/levelGrid.js +81 -108
- package/dist/functions/log.js +6 -12
- package/dist/functions/logEntities.js +49 -59
- package/dist/functions/logMisc.js +183 -214
- package/dist/functions/map.js +10 -20
- package/dist/functions/math.js +16 -31
- package/dist/functions/merge.js +48 -51
- package/dist/functions/mergeTests.js +34 -37
- package/dist/functions/minimap.js +34 -46
- package/dist/functions/modFeatures.js +1 -4
- package/dist/functions/newArray.js +5 -8
- package/dist/functions/nextStage.js +63 -67
- package/dist/functions/npcDataStructures.js +9 -20
- package/dist/functions/npcs.js +37 -45
- package/dist/functions/pickupVariants.js +26 -39
- package/dist/functions/pickups.js +43 -59
- package/dist/functions/pickupsSpecific.js +76 -118
- package/dist/functions/pills.js +52 -72
- package/dist/functions/playerCenter.js +13 -16
- package/dist/functions/playerCollectibles.js +59 -79
- package/dist/functions/playerDataStructures.js +18 -29
- package/dist/functions/playerEffects.js +12 -19
- package/dist/functions/playerHealth.js +91 -113
- package/dist/functions/playerIndex.js +22 -33
- package/dist/functions/playerTrinkets.js +31 -43
- package/dist/functions/players.js +87 -126
- package/dist/functions/pocketItems.js +33 -43
- package/dist/functions/positionVelocity.js +23 -32
- package/dist/functions/pressurePlate.js +7 -10
- package/dist/functions/projectiles.js +11 -15
- package/dist/functions/random.js +8 -13
- package/dist/functions/readOnly.js +3 -8
- package/dist/functions/render.js +7 -12
- package/dist/functions/revive.js +38 -45
- package/dist/functions/rng.js +31 -44
- package/dist/functions/rockAlt.js +18 -22
- package/dist/functions/roomData.js +24 -40
- package/dist/functions/roomGrid.js +17 -25
- package/dist/functions/roomShape.js +39 -55
- package/dist/functions/roomShapeWalls.js +67 -71
- package/dist/functions/roomTransition.js +13 -17
- package/dist/functions/rooms.js +181 -244
- package/dist/functions/run.js +29 -39
- package/dist/functions/seeds.js +6 -10
- package/dist/functions/serialization.js +27 -34
- package/dist/functions/set.js +24 -40
- package/dist/functions/slots.js +18 -22
- package/dist/functions/sort.js +9 -15
- package/dist/functions/sound.js +12 -16
- package/dist/functions/spawnCollectible.js +21 -26
- package/dist/functions/sprites.js +16 -24
- package/dist/functions/stage.js +122 -164
- package/dist/functions/stats.js +37 -43
- package/dist/functions/storyBosses.js +36 -40
- package/dist/functions/string.js +19 -33
- package/dist/functions/table.js +21 -31
- package/dist/functions/tears.js +6 -14
- package/dist/functions/transformations.js +35 -42
- package/dist/functions/trinketGive.js +29 -36
- package/dist/functions/trinkets.js +45 -60
- package/dist/functions/tstlClass.js +11 -20
- package/dist/functions/types.js +22 -46
- package/dist/functions/ui.js +25 -40
- package/dist/functions/utils.js +22 -36
- package/dist/functions/vector.js +33 -46
- package/dist/functions/versusScreen.js +12 -18
- package/dist/functions/weighted.js +8 -12
- package/dist/index.js +150 -166
- package/dist/index.rollup.d.ts +11 -11
- package/dist/indexLua.js +151 -167
- package/dist/interfaces/ChargeBarSprites.js +1 -2
- package/dist/interfaces/Corner.js +1 -2
- package/dist/interfaces/CustomStageTSConfig.js +1 -2
- package/dist/interfaces/GridEntityCustomData.js +1 -2
- package/dist/interfaces/JSONRoomsFile.js +1 -2
- package/dist/interfaces/PlayerHealth.d.ts +11 -11
- package/dist/interfaces/PlayerHealth.d.ts.map +1 -1
- package/dist/interfaces/PlayerHealth.js +1 -2
- package/dist/interfaces/PlayerStats.js +2 -4
- package/dist/interfaces/PocketItemDescription.js +1 -2
- package/dist/interfaces/RoomDescription.js +1 -2
- package/dist/interfaces/SaveData.js +1 -2
- package/dist/interfaces/StageHistoryEntry.js +1 -2
- package/dist/interfaces/TSTLClassMetatable.js +1 -2
- package/dist/interfaces/TrinketSituation.js +1 -2
- package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
- package/dist/interfaces/private/CustomStage.js +1 -2
- package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
- package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
- package/dist/isaacscript-common.lua +1 -1
- package/dist/maps/PHDPillConversionsMap.js +19 -22
- package/dist/maps/cardNameToTypeMap.js +205 -208
- package/dist/maps/characterNameToTypeMap.js +85 -88
- package/dist/maps/collectibleNameToTypeMap.js +5 -8
- package/dist/maps/defaultPlayerStatMap.js +10 -13
- package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
- package/dist/maps/falsePHDPillConversionsMap.js +33 -36
- package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
- package/dist/maps/gridEntityXMLMap.js +52 -55
- package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
- package/dist/maps/keyboardToStringMap.js +66 -69
- package/dist/maps/pillNameToEffectMap.js +83 -86
- package/dist/maps/roomNameToTypeMap.js +38 -41
- package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
- package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
- package/dist/maps/trinketNameToTypeMap.js +5 -8
- package/dist/objects/LRoomShapeToRectangles.js +22 -25
- package/dist/objects/backdropTypeToRockAltType.js +65 -68
- package/dist/objects/batteryNames.js +8 -11
- package/dist/objects/bombNames.js +11 -14
- package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
- package/dist/objects/bossNamePNGFileNames.js +104 -107
- package/dist/objects/bossNames.js +105 -108
- package/dist/objects/bossPortraitPNGFileNames.js +104 -107
- package/dist/objects/cardDescriptions.js +101 -104
- package/dist/objects/cardNames.js +101 -104
- package/dist/objects/challengeBosses.js +49 -52
- package/dist/objects/challengeCharacters.js +49 -52
- package/dist/objects/challengeCollectibleTypes.js +160 -163
- package/dist/objects/challengeNames.js +49 -52
- package/dist/objects/challengeTrinketType.js +48 -51
- package/dist/objects/characterDamageMultipliers.js +44 -47
- package/dist/objects/characterNames.js +44 -47
- package/dist/objects/characterSpritePNGFileNames.js +44 -47
- package/dist/objects/characterStartingCollectibleTypes.js +49 -52
- package/dist/objects/characterStartingTrinketTypes.js +44 -47
- package/dist/objects/chestNames.js +15 -18
- package/dist/objects/coinNames.js +11 -14
- package/dist/objects/coinSubTypeToValue.js +11 -14
- package/dist/objects/collectibleDescriptions.js +725 -728
- package/dist/objects/collectibleNames.js +725 -728
- package/dist/objects/colors.js +1 -4
- package/dist/objects/directionNames.js +7 -10
- package/dist/objects/directionToDegrees.js +7 -10
- package/dist/objects/directionToMoveAction.js +7 -10
- package/dist/objects/directionToShootAction.js +7 -10
- package/dist/objects/directionToVector.js +9 -12
- package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
- package/dist/objects/doorSlotToDirection.js +11 -14
- package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
- package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
- package/dist/objects/heartNames.js +16 -19
- package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
- package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
- package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
- package/dist/objects/kColors.js +1 -4
- package/dist/objects/keyNames.js +8 -11
- package/dist/objects/languageNames.js +9 -12
- package/dist/objects/oppositeDoorSlots.js +11 -14
- package/dist/objects/pillEffectClasses.js +53 -56
- package/dist/objects/pillEffectNames.js +53 -56
- package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
- package/dist/objects/pillEffectTypes.js +53 -56
- package/dist/objects/playerNamePNGFileNames.js +44 -47
- package/dist/objects/playerPortraitPNGFileNames.js +44 -47
- package/dist/objects/roomShapeBounds.js +23 -26
- package/dist/objects/roomShapeCorners.js +128 -131
- package/dist/objects/roomShapeLayoutSizes.js +23 -26
- package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
- package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
- package/dist/objects/roomShapeToDoorSlots.js +48 -51
- package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
- package/dist/objects/roomShapeToGridWidth.js +14 -17
- package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
- package/dist/objects/roomShapeVolumes.js +21 -24
- package/dist/objects/roomTypeNames.js +32 -35
- package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
- package/dist/objects/sackNames.js +6 -9
- package/dist/objects/slotNames.js +21 -24
- package/dist/objects/stageIDNames.js +33 -36
- package/dist/objects/stageToMusic.js +69 -72
- package/dist/objects/stageToStageID.js +90 -93
- package/dist/objects/stageTypeSuffixes.js +8 -11
- package/dist/objects/transformationNames.js +16 -19
- package/dist/objects/trinketDescriptions.js +192 -195
- package/dist/objects/trinketNames.js +192 -195
- package/dist/objects/versusScreenBackgroundColors.js +39 -42
- package/dist/objects/versusScreenDirtSpotColors.js +39 -42
- package/dist/patchErrorFunctions.js +4 -7
- package/dist/serialization.js +6 -9
- package/dist/sets/LRoomShapesSet.js +7 -10
- package/dist/sets/bigRoomShapesSet.js +10 -13
- package/dist/sets/bossSets.js +261 -264
- package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
- package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
- package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
- package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
- package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
- package/dist/sets/consoleCommandsSet.js +2 -5
- package/dist/sets/entitiesWithArmorSet.js +44 -47
- package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
- package/dist/sets/itemConfigCardTypesForCards.js +7 -10
- package/dist/sets/lostStyleCharactersSet.js +8 -11
- package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
- package/dist/sets/narrowRoomShapesSet.js +7 -10
- package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
- package/dist/sets/redHeartSubTypesSet.js +6 -9
- package/dist/sets/repentanceBossIDsSet.js +26 -29
- package/dist/sets/sinEntityTypesSet.js +10 -13
- package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
- package/dist/shaderCrashFix.js +4 -7
- package/dist/shouldFire.js +28 -58
- package/dist/types/AddSubtract.js +1 -2
- package/dist/types/AllButFirst.js +1 -2
- package/dist/types/AllButLast.js +1 -2
- package/dist/types/AnyClass.js +1 -2
- package/dist/types/AnyEntity.js +1 -2
- package/dist/types/AnyFunction.js +1 -2
- package/dist/types/AnyGridEntity.js +1 -2
- package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
- package/dist/types/ConversionHeartSubType.js +1 -2
- package/dist/types/Decrement.js +1 -2
- package/dist/types/ERange.js +1 -2
- package/dist/types/EntityID.js +1 -2
- package/dist/types/FunctionTuple.js +1 -2
- package/dist/types/GridEntityID.js +1 -2
- package/dist/types/HasFunction.js +1 -2
- package/dist/types/IRange.js +1 -2
- package/dist/types/Immutable.js +1 -2
- package/dist/types/Increment.js +1 -2
- package/dist/types/LowercaseKeys.js +1 -2
- package/dist/types/NaturalNumbersLessThan.js +1 -2
- package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
- package/dist/types/ObjectValues.js +1 -2
- package/dist/types/PickingUpItem.js +15 -22
- package/dist/types/PickupIndex.js +1 -2
- package/dist/types/PlayerIndex.js +1 -2
- package/dist/types/PossibleStatType.js +1 -2
- package/dist/types/PublicInterface.js +1 -2
- package/dist/types/ReadonlyMap.js +1 -4
- package/dist/types/ReadonlyRecord.js +1 -2
- package/dist/types/ReadonlySet.js +1 -4
- package/dist/types/StartsWithLowercase.js +1 -2
- package/dist/types/StartsWithUppercase.js +1 -2
- package/dist/types/TSTLClass.js +1 -2
- package/dist/types/Tuple.js +1 -2
- package/dist/types/TupleKeys.js +1 -2
- package/dist/types/TupleToIntersection.js +1 -2
- package/dist/types/TupleToUnion.js +1 -2
- package/dist/types/TupleWithLengthBetween.js +1 -2
- package/dist/types/TupleWithMaxLength.js +1 -2
- package/dist/types/UnionToIntersection.js +1 -2
- package/dist/types/UppercaseKeys.js +1 -2
- package/dist/types/WeightedArray.js +1 -2
- package/dist/types/WidenLiteral.js +1 -2
- package/dist/types/Writable.js +1 -2
- package/dist/types/private/CallbackTuple.js +1 -2
- package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
- package/package.json +3 -3
- package/src/interfaces/PlayerHealth.ts +12 -11
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.isFamiliarStolenBySiren = isFamiliarStolenBySiren;
|
|
8
|
-
exports.isFamiliarThatShootsPlayerTears = isFamiliarThatShootsPlayerTears;
|
|
9
|
-
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
10
|
-
const cachedClasses_1 = require("../core/cachedClasses");
|
|
11
|
-
const familiarsThatShootPlayerTearsSet_1 = require("../sets/familiarsThatShootPlayerTearsSet");
|
|
12
|
-
const entities_1 = require("./entities");
|
|
13
|
-
const entitiesSpecific_1 = require("./entitiesSpecific");
|
|
14
|
-
const rng_1 = require("./rng");
|
|
1
|
+
import { EntityType } from "isaac-typescript-definitions";
|
|
2
|
+
import { itemConfig } from "../core/cachedClasses";
|
|
3
|
+
import { FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET } from "../sets/familiarsThatShootPlayerTearsSet";
|
|
4
|
+
import { getEntities } from "./entities";
|
|
5
|
+
import { getFamiliars } from "./entitiesSpecific";
|
|
6
|
+
import { newRNG } from "./rng";
|
|
15
7
|
/**
|
|
16
8
|
* Instead of generating a new RNG object every time we need to spawn a new familiar, we instead
|
|
17
9
|
* re-use the same RNG object. This makes it less likely that the `InitSeed` of the familiar will
|
|
18
10
|
* overlap, since we are "nexting" instead of doing a fresh reroll.
|
|
19
11
|
*/
|
|
20
|
-
const familiarGenerationRNG =
|
|
12
|
+
const familiarGenerationRNG = newRNG();
|
|
21
13
|
/**
|
|
22
14
|
* Helper function to add and remove familiars based on a target amount that you specify.
|
|
23
15
|
*
|
|
@@ -47,9 +39,9 @@ const familiarGenerationRNG = (0, rng_1.newRNG)();
|
|
|
47
39
|
* specified, it will search for existing familiars of all sub-types, and
|
|
48
40
|
* spawn new familiars with a sub-type of 0.
|
|
49
41
|
*/
|
|
50
|
-
function checkFamiliar(player, collectibleType, targetCount, familiarVariant, familiarSubType) {
|
|
42
|
+
export function checkFamiliar(player, collectibleType, targetCount, familiarVariant, familiarSubType) {
|
|
51
43
|
familiarGenerationRNG.Next();
|
|
52
|
-
const itemConfigItem =
|
|
44
|
+
const itemConfigItem = itemConfig.GetCollectible(collectibleType);
|
|
53
45
|
player.CheckFamiliar(familiarVariant, targetCount, familiarGenerationRNG, itemConfigItem, familiarSubType);
|
|
54
46
|
}
|
|
55
47
|
/**
|
|
@@ -79,7 +71,7 @@ function checkFamiliar(player, collectibleType, targetCount, familiarVariant, fa
|
|
|
79
71
|
* specified, it will search for existing familiars of all sub-types, and
|
|
80
72
|
* spawn new familiars with a sub-type of 0.
|
|
81
73
|
*/
|
|
82
|
-
function checkFamiliarFromCollectibles(player, collectibleType, familiarVariant, familiarSubType) {
|
|
74
|
+
export function checkFamiliarFromCollectibles(player, collectibleType, familiarVariant, familiarSubType) {
|
|
83
75
|
// We need to include non-real collectibles (like Lilith's Incubus), so we omit the second
|
|
84
76
|
// argument.
|
|
85
77
|
const numCollectibles = player.GetCollectibleNum(collectibleType);
|
|
@@ -91,9 +83,9 @@ function checkFamiliarFromCollectibles(player, collectibleType, familiarVariant,
|
|
|
91
83
|
checkFamiliar(player, collectibleType, targetCount, familiarVariant, familiarSubType);
|
|
92
84
|
}
|
|
93
85
|
/** Helper function to get only the familiars that belong to a specific player. */
|
|
94
|
-
function getPlayerFamiliars(player) {
|
|
86
|
+
export function getPlayerFamiliars(player) {
|
|
95
87
|
const playerPtrHash = GetPtrHash(player);
|
|
96
|
-
const familiars =
|
|
88
|
+
const familiars = getFamiliars();
|
|
97
89
|
return familiars.filter((familiar) => {
|
|
98
90
|
const familiarPlayerPtrHash = GetPtrHash(familiar.Player);
|
|
99
91
|
return familiarPlayerPtrHash === playerPtrHash;
|
|
@@ -110,9 +102,9 @@ function getPlayerFamiliars(player) {
|
|
|
110
102
|
* @returns Returns the hidden "Siren Helper" entity corresponding to the given familiar, if it
|
|
111
103
|
* exists. Returns undefined otherwise.
|
|
112
104
|
*/
|
|
113
|
-
function getSirenHelper(familiar) {
|
|
105
|
+
export function getSirenHelper(familiar) {
|
|
114
106
|
const familiarPtrHash = GetPtrHash(familiar);
|
|
115
|
-
const sirenHelpers =
|
|
107
|
+
const sirenHelpers = getEntities(EntityType.SIREN_HELPER);
|
|
116
108
|
return sirenHelpers.find((sirenHelper) => sirenHelper.Target !== undefined
|
|
117
109
|
&& GetPtrHash(sirenHelper.Target) === familiarPtrHash);
|
|
118
110
|
}
|
|
@@ -122,7 +114,7 @@ function getSirenHelper(familiar) {
|
|
|
122
114
|
* This function is useful because some familiars may need to behave differently when under The
|
|
123
115
|
* Siren's control (e.g. if they auto-target enemies).
|
|
124
116
|
*/
|
|
125
|
-
function isFamiliarStolenBySiren(familiar) {
|
|
117
|
+
export function isFamiliarStolenBySiren(familiar) {
|
|
126
118
|
const sirenHelper = getSirenHelper(familiar);
|
|
127
119
|
return sirenHelper !== undefined;
|
|
128
120
|
}
|
|
@@ -130,6 +122,6 @@ function isFamiliarStolenBySiren(familiar) {
|
|
|
130
122
|
* Helper function to check if a familiar is the type that shoots tears that mimic the players
|
|
131
123
|
* tears, like Incubus, Fate's Reward, Sprinkler, and so on.
|
|
132
124
|
*/
|
|
133
|
-
function isFamiliarThatShootsPlayerTears(familiar) {
|
|
134
|
-
return
|
|
125
|
+
export function isFamiliarThatShootsPlayerTears(familiar) {
|
|
126
|
+
return FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET.has(familiar.Variant);
|
|
135
127
|
}
|
package/dist/functions/flag.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addFlag = addFlag;
|
|
4
|
-
exports.bitFlags = bitFlags;
|
|
5
|
-
exports.getFlagName = getFlagName;
|
|
6
|
-
exports.hasFlag = hasFlag;
|
|
7
|
-
exports.isEmptyFlag = isEmptyFlag;
|
|
8
|
-
exports.isSelfDamage = isSelfDamage;
|
|
9
|
-
exports.removeFlag = removeFlag;
|
|
10
|
-
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
1
|
+
import { DamageFlag } from "isaac-typescript-definitions";
|
|
11
2
|
/**
|
|
12
3
|
* Helper function to add a bit flag to an existing set of bit flags.
|
|
13
4
|
*
|
|
@@ -33,7 +24,7 @@ const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
|
33
24
|
* @param flagsToAdd One or more bit flags to add, each as a separate argument.
|
|
34
25
|
* @returns The combined bit flags.
|
|
35
26
|
*/
|
|
36
|
-
function addFlag(flags, ...flagsToAdd) {
|
|
27
|
+
export function addFlag(flags, ...flagsToAdd) {
|
|
37
28
|
let flagsAsInt = flags;
|
|
38
29
|
for (const flagToAdd of flagsToAdd) {
|
|
39
30
|
flagsAsInt |= flagToAdd;
|
|
@@ -53,7 +44,7 @@ function addFlag(flags, ...flagsToAdd) {
|
|
|
53
44
|
* player.TearFlags = bitFlags(TearFlag.SPECTRAL);
|
|
54
45
|
* ```
|
|
55
46
|
*/
|
|
56
|
-
function bitFlags(flag) {
|
|
47
|
+
export function bitFlags(flag) {
|
|
57
48
|
return flag;
|
|
58
49
|
}
|
|
59
50
|
/**
|
|
@@ -63,7 +54,7 @@ function bitFlags(flag) {
|
|
|
63
54
|
* use the reverse mapping to find the associated key of a given enum value. Use this helper
|
|
64
55
|
* function instead of indexing the enum directly.)
|
|
65
56
|
*/
|
|
66
|
-
function getFlagName(flag, flagEnum) {
|
|
57
|
+
export function getFlagName(flag, flagEnum) {
|
|
67
58
|
for (const [key, value] of Object.entries(flagEnum)) {
|
|
68
59
|
if (value === flag) {
|
|
69
60
|
return key;
|
|
@@ -89,7 +80,7 @@ function getFlagName(flag, flagEnum) {
|
|
|
89
80
|
* @param flags The existing set of bit flags.
|
|
90
81
|
* @param flagsToCheck One or more bit flags to check for, each as a separate argument.
|
|
91
82
|
*/
|
|
92
|
-
function hasFlag(flags, ...flagsToCheck) {
|
|
83
|
+
export function hasFlag(flags, ...flagsToCheck) {
|
|
93
84
|
const flagsAsInt = flags;
|
|
94
85
|
for (const flagToCheck of flagsToCheck) {
|
|
95
86
|
if ((flagsAsInt & flagToCheck) !== flagToCheck) {
|
|
@@ -104,7 +95,7 @@ function hasFlag(flags, ...flagsToCheck) {
|
|
|
104
95
|
* (This is equivalent to checking if the flag is equal to 0, but this is not possible without
|
|
105
96
|
* casting the flag to a number.)
|
|
106
97
|
*/
|
|
107
|
-
function isEmptyFlag(flag) {
|
|
98
|
+
export function isEmptyFlag(flag) {
|
|
108
99
|
return flag === 0;
|
|
109
100
|
}
|
|
110
101
|
/**
|
|
@@ -112,12 +103,12 @@ function isEmptyFlag(flag) {
|
|
|
112
103
|
* self-inflicted. For example, damage from a Curse Room door, a Razor, or a Blood Donation Machine
|
|
113
104
|
* would count as self-inflicted damage.
|
|
114
105
|
*/
|
|
115
|
-
function isSelfDamage(damageFlags) {
|
|
106
|
+
export function isSelfDamage(damageFlags) {
|
|
116
107
|
return (
|
|
117
108
|
// Exclude self-damage from e.g. Curse Room door spikes.
|
|
118
|
-
hasFlag(damageFlags,
|
|
109
|
+
hasFlag(damageFlags, DamageFlag.NO_PENALTIES)
|
|
119
110
|
// Exclude self-damage from e.g. Razor.
|
|
120
|
-
|| hasFlag(damageFlags,
|
|
111
|
+
|| hasFlag(damageFlags, DamageFlag.RED_HEARTS));
|
|
121
112
|
}
|
|
122
113
|
/**
|
|
123
114
|
* Helper function to remove a bit flag from an existing set of bit flags.
|
|
@@ -136,7 +127,7 @@ function isSelfDamage(damageFlags) {
|
|
|
136
127
|
* @param flagsToRemove One or more bit flags to remove, each as a separate argument.
|
|
137
128
|
* @returns The combined bit flags.
|
|
138
129
|
*/
|
|
139
|
-
function removeFlag(flags, ...flagsToRemove) {
|
|
130
|
+
export function removeFlag(flags, ...flagsToRemove) {
|
|
140
131
|
let flagsAsInt = flags;
|
|
141
132
|
for (const flagToRemove of flagsToRemove) {
|
|
142
133
|
flagsAsInt &= ~flagToRemove;
|
package/dist/functions/frames.js
CHANGED
|
@@ -1,34 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.getElapsedRenderFramesSince = getElapsedRenderFramesSince;
|
|
5
|
-
exports.getElapsedRoomFramesSince = getElapsedRoomFramesSince;
|
|
6
|
-
exports.isAfterGameFrame = isAfterGameFrame;
|
|
7
|
-
exports.isAfterRenderFrame = isAfterRenderFrame;
|
|
8
|
-
exports.isAfterRoomFrame = isAfterRoomFrame;
|
|
9
|
-
exports.isBeforeGameFrame = isBeforeGameFrame;
|
|
10
|
-
exports.isBeforeRenderFrame = isBeforeRenderFrame;
|
|
11
|
-
exports.isBeforeRoomFrame = isBeforeRoomFrame;
|
|
12
|
-
exports.onGameFrame = onGameFrame;
|
|
13
|
-
exports.onOrAfterGameFrame = onOrAfterGameFrame;
|
|
14
|
-
exports.onOrAfterRenderFrame = onOrAfterRenderFrame;
|
|
15
|
-
exports.onOrAfterRoomFrame = onOrAfterRoomFrame;
|
|
16
|
-
exports.onOrBeforeGameFrame = onOrBeforeGameFrame;
|
|
17
|
-
exports.onOrBeforeRenderFrame = onOrBeforeRenderFrame;
|
|
18
|
-
exports.onOrBeforeRoomFrame = onOrBeforeRoomFrame;
|
|
19
|
-
exports.onRenderFrame = onRenderFrame;
|
|
20
|
-
exports.onRoomFrame = onRoomFrame;
|
|
21
|
-
const cachedClasses_1 = require("../core/cachedClasses");
|
|
22
|
-
function getElapsedGameFramesSince(gameFrameCount) {
|
|
23
|
-
const thisGameFrameCount = cachedClasses_1.game.GetFrameCount();
|
|
1
|
+
import { game } from "../core/cachedClasses";
|
|
2
|
+
export function getElapsedGameFramesSince(gameFrameCount) {
|
|
3
|
+
const thisGameFrameCount = game.GetFrameCount();
|
|
24
4
|
return thisGameFrameCount - gameFrameCount;
|
|
25
5
|
}
|
|
26
|
-
function getElapsedRenderFramesSince(renderFrameCount) {
|
|
6
|
+
export function getElapsedRenderFramesSince(renderFrameCount) {
|
|
27
7
|
const thisRenderFrameCount = Isaac.GetFrameCount();
|
|
28
8
|
return thisRenderFrameCount - renderFrameCount;
|
|
29
9
|
}
|
|
30
|
-
function getElapsedRoomFramesSince(roomFrameCount) {
|
|
31
|
-
const room =
|
|
10
|
+
export function getElapsedRoomFramesSince(roomFrameCount) {
|
|
11
|
+
const room = game.GetRoom();
|
|
32
12
|
const thisRoomFrameCount = room.GetFrameCount();
|
|
33
13
|
return thisRoomFrameCount - roomFrameCount;
|
|
34
14
|
}
|
|
@@ -36,15 +16,15 @@ function getElapsedRoomFramesSince(roomFrameCount) {
|
|
|
36
16
|
* Helper function to check if the current game frame count is higher than a specific game frame
|
|
37
17
|
* count.
|
|
38
18
|
*/
|
|
39
|
-
function isAfterGameFrame(gameFrameCount) {
|
|
40
|
-
const thisGameFrameCount =
|
|
19
|
+
export function isAfterGameFrame(gameFrameCount) {
|
|
20
|
+
const thisGameFrameCount = game.GetFrameCount();
|
|
41
21
|
return thisGameFrameCount > gameFrameCount;
|
|
42
22
|
}
|
|
43
23
|
/**
|
|
44
24
|
* Helper function to check if the current render frame count is higher than a specific render frame
|
|
45
25
|
* count.
|
|
46
26
|
*/
|
|
47
|
-
function isAfterRenderFrame(renderFrameCount) {
|
|
27
|
+
export function isAfterRenderFrame(renderFrameCount) {
|
|
48
28
|
const thisRenderFrameCount = Isaac.GetFrameCount();
|
|
49
29
|
return thisRenderFrameCount > renderFrameCount;
|
|
50
30
|
}
|
|
@@ -52,8 +32,8 @@ function isAfterRenderFrame(renderFrameCount) {
|
|
|
52
32
|
* Helper function to check if the current room frame count is higher than a specific room frame
|
|
53
33
|
* count.
|
|
54
34
|
*/
|
|
55
|
-
function isAfterRoomFrame(roomFrameCount) {
|
|
56
|
-
const room =
|
|
35
|
+
export function isAfterRoomFrame(roomFrameCount) {
|
|
36
|
+
const room = game.GetRoom();
|
|
57
37
|
const thisGameFrameCount = room.GetFrameCount();
|
|
58
38
|
return thisGameFrameCount > roomFrameCount;
|
|
59
39
|
}
|
|
@@ -61,15 +41,15 @@ function isAfterRoomFrame(roomFrameCount) {
|
|
|
61
41
|
* Helper function to check if the current game frame count is lower than a specific game frame
|
|
62
42
|
* count.
|
|
63
43
|
*/
|
|
64
|
-
function isBeforeGameFrame(gameFrameCount) {
|
|
65
|
-
const thisGameFrameCount =
|
|
44
|
+
export function isBeforeGameFrame(gameFrameCount) {
|
|
45
|
+
const thisGameFrameCount = game.GetFrameCount();
|
|
66
46
|
return thisGameFrameCount < gameFrameCount;
|
|
67
47
|
}
|
|
68
48
|
/**
|
|
69
49
|
* Helper function to check if the current render frame count is lower than a specific render frame
|
|
70
50
|
* count.
|
|
71
51
|
*/
|
|
72
|
-
function isBeforeRenderFrame(renderFrameCount) {
|
|
52
|
+
export function isBeforeRenderFrame(renderFrameCount) {
|
|
73
53
|
const thisRenderFrameCount = Isaac.GetFrameCount();
|
|
74
54
|
return thisRenderFrameCount < renderFrameCount;
|
|
75
55
|
}
|
|
@@ -77,8 +57,8 @@ function isBeforeRenderFrame(renderFrameCount) {
|
|
|
77
57
|
* Helper function to check if the current room frame count is lower than a specific room frame
|
|
78
58
|
* count.
|
|
79
59
|
*/
|
|
80
|
-
function isBeforeRoomFrame(roomFrameCount) {
|
|
81
|
-
const room =
|
|
60
|
+
export function isBeforeRoomFrame(roomFrameCount) {
|
|
61
|
+
const room = game.GetRoom();
|
|
82
62
|
const thisGameFrameCount = room.GetFrameCount();
|
|
83
63
|
return thisGameFrameCount < roomFrameCount;
|
|
84
64
|
}
|
|
@@ -88,23 +68,23 @@ function isBeforeRoomFrame(roomFrameCount) {
|
|
|
88
68
|
*
|
|
89
69
|
* This returns false if the submitted render frame count is null or undefined.
|
|
90
70
|
*/
|
|
91
|
-
function onGameFrame(gameFrameCount) {
|
|
92
|
-
const thisGameFrameCount =
|
|
71
|
+
export function onGameFrame(gameFrameCount) {
|
|
72
|
+
const thisGameFrameCount = game.GetFrameCount();
|
|
93
73
|
return thisGameFrameCount === gameFrameCount;
|
|
94
74
|
}
|
|
95
75
|
/**
|
|
96
76
|
* Helper function to check if the current game frame count is equal to or higher than a specific
|
|
97
77
|
* game frame count.
|
|
98
78
|
*/
|
|
99
|
-
function onOrAfterGameFrame(gameFrameCount) {
|
|
100
|
-
const thisGameFrameCount =
|
|
79
|
+
export function onOrAfterGameFrame(gameFrameCount) {
|
|
80
|
+
const thisGameFrameCount = game.GetFrameCount();
|
|
101
81
|
return thisGameFrameCount >= gameFrameCount;
|
|
102
82
|
}
|
|
103
83
|
/**
|
|
104
84
|
* Helper function to check if the current render frame count is equal to or higher than a specific
|
|
105
85
|
* render frame count.
|
|
106
86
|
*/
|
|
107
|
-
function onOrAfterRenderFrame(renderFrameCount) {
|
|
87
|
+
export function onOrAfterRenderFrame(renderFrameCount) {
|
|
108
88
|
const thisRenderFrameCount = Isaac.GetFrameCount();
|
|
109
89
|
return thisRenderFrameCount >= renderFrameCount;
|
|
110
90
|
}
|
|
@@ -112,8 +92,8 @@ function onOrAfterRenderFrame(renderFrameCount) {
|
|
|
112
92
|
* Helper function to check if the current room frame count is equal to or higher than a specific
|
|
113
93
|
* room frame count.
|
|
114
94
|
*/
|
|
115
|
-
function onOrAfterRoomFrame(roomFrameCount) {
|
|
116
|
-
const room =
|
|
95
|
+
export function onOrAfterRoomFrame(roomFrameCount) {
|
|
96
|
+
const room = game.GetRoom();
|
|
117
97
|
const thisGameFrameCount = room.GetFrameCount();
|
|
118
98
|
return thisGameFrameCount >= roomFrameCount;
|
|
119
99
|
}
|
|
@@ -121,15 +101,15 @@ function onOrAfterRoomFrame(roomFrameCount) {
|
|
|
121
101
|
* Helper function to check if the current game frame count is equal to or lower than a specific
|
|
122
102
|
* game frame count.
|
|
123
103
|
*/
|
|
124
|
-
function onOrBeforeGameFrame(gameFrameCount) {
|
|
125
|
-
const thisGameFrameCount =
|
|
104
|
+
export function onOrBeforeGameFrame(gameFrameCount) {
|
|
105
|
+
const thisGameFrameCount = game.GetFrameCount();
|
|
126
106
|
return thisGameFrameCount <= gameFrameCount;
|
|
127
107
|
}
|
|
128
108
|
/**
|
|
129
109
|
* Helper function to check if the current render frame count is equal to or lower than a specific
|
|
130
110
|
* render frame count.
|
|
131
111
|
*/
|
|
132
|
-
function onOrBeforeRenderFrame(renderFrameCount) {
|
|
112
|
+
export function onOrBeforeRenderFrame(renderFrameCount) {
|
|
133
113
|
const thisRenderFrameCount = Isaac.GetFrameCount();
|
|
134
114
|
return thisRenderFrameCount <= renderFrameCount;
|
|
135
115
|
}
|
|
@@ -137,8 +117,8 @@ function onOrBeforeRenderFrame(renderFrameCount) {
|
|
|
137
117
|
* Helper function to check if the current room frame count is equal to or lower than a specific
|
|
138
118
|
* room frame count.
|
|
139
119
|
*/
|
|
140
|
-
function onOrBeforeRoomFrame(roomFrameCount) {
|
|
141
|
-
const room =
|
|
120
|
+
export function onOrBeforeRoomFrame(roomFrameCount) {
|
|
121
|
+
const room = game.GetRoom();
|
|
142
122
|
const thisGameFrameCount = room.GetFrameCount();
|
|
143
123
|
return thisGameFrameCount <= roomFrameCount;
|
|
144
124
|
}
|
|
@@ -148,7 +128,7 @@ function onOrBeforeRoomFrame(roomFrameCount) {
|
|
|
148
128
|
*
|
|
149
129
|
* This returns false if the submitted render frame count is null or undefined.
|
|
150
130
|
*/
|
|
151
|
-
function onRenderFrame(renderFrameCount) {
|
|
131
|
+
export function onRenderFrame(renderFrameCount) {
|
|
152
132
|
const thisRenderFrameCount = Isaac.GetFrameCount();
|
|
153
133
|
return thisRenderFrameCount === renderFrameCount;
|
|
154
134
|
}
|
|
@@ -158,8 +138,8 @@ function onRenderFrame(renderFrameCount) {
|
|
|
158
138
|
*
|
|
159
139
|
* This returns false if the submitted room frame count is null or undefined.
|
|
160
140
|
*/
|
|
161
|
-
function onRoomFrame(roomFrameCount) {
|
|
162
|
-
const room =
|
|
141
|
+
export function onRoomFrame(roomFrameCount) {
|
|
142
|
+
const room = game.GetRoom();
|
|
163
143
|
const thisGameFrameCount = room.GetFrameCount();
|
|
164
144
|
return thisGameFrameCount === roomFrameCount;
|
|
165
145
|
}
|
|
@@ -1,52 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getDefaultGlobals = getDefaultGlobals;
|
|
37
|
-
exports.getNewGlobals = getNewGlobals;
|
|
38
|
-
exports.logNewGlobals = logNewGlobals;
|
|
39
|
-
exports.setLogFunctionsGlobal = setLogFunctionsGlobal;
|
|
40
|
-
exports.setTracebackFunctionsGlobal = setTracebackFunctionsGlobal;
|
|
41
|
-
const ReadonlySet_1 = require("../types/ReadonlySet");
|
|
42
|
-
const debugFunctions_1 = require("./debugFunctions");
|
|
43
|
-
const logExports = __importStar(require("./log"));
|
|
44
|
-
const log_1 = require("./log");
|
|
45
|
-
const logEntitiesExports = __importStar(require("./logEntities"));
|
|
46
|
-
const logMiscExports = __importStar(require("./logMisc"));
|
|
47
|
-
const set_1 = require("./set");
|
|
48
|
-
const sort_1 = require("./sort");
|
|
49
|
-
const DEFAULT_GLOBALS = new ReadonlySet_1.ReadonlySet([
|
|
1
|
+
import { ReadonlySet } from "../types/ReadonlySet";
|
|
2
|
+
import { getTraceback, isLuaDebugEnabled, traceback } from "./debugFunctions";
|
|
3
|
+
import * as logExports from "./log";
|
|
4
|
+
import { log } from "./log";
|
|
5
|
+
import * as logEntitiesExports from "./logEntities";
|
|
6
|
+
import * as logMiscExports from "./logMisc";
|
|
7
|
+
import { addSetsToSet, copySet } from "./set";
|
|
8
|
+
import { sortTwoDimensionalArray } from "./sort";
|
|
9
|
+
const DEFAULT_GLOBALS = new ReadonlySet([
|
|
50
10
|
"ActionTriggers",
|
|
51
11
|
"ActiveSlot",
|
|
52
12
|
"BabySubType",
|
|
@@ -210,7 +170,7 @@ const DEFAULT_GLOBALS = new ReadonlySet_1.ReadonlySet([
|
|
|
210
170
|
"utf8",
|
|
211
171
|
"xpcall",
|
|
212
172
|
]);
|
|
213
|
-
const LUA_DEBUG_ADDED_GLOBALS = new
|
|
173
|
+
const LUA_DEBUG_ADDED_GLOBALS = new ReadonlySet([
|
|
214
174
|
"debug",
|
|
215
175
|
"dofile",
|
|
216
176
|
"loadfile",
|
|
@@ -218,7 +178,7 @@ const LUA_DEBUG_ADDED_GLOBALS = new ReadonlySet_1.ReadonlySet([
|
|
|
218
178
|
"os",
|
|
219
179
|
"package",
|
|
220
180
|
]);
|
|
221
|
-
const RACING_PLUS_SANDBOX_ADDED_GLOBALS = new
|
|
181
|
+
const RACING_PLUS_SANDBOX_ADDED_GLOBALS = new ReadonlySet([
|
|
222
182
|
"sandboxTraceback",
|
|
223
183
|
"sandboxGetTraceback",
|
|
224
184
|
"getParentFunctionDescription",
|
|
@@ -229,13 +189,13 @@ const RACING_PLUS_SANDBOX_ADDED_GLOBALS = new ReadonlySet_1.ReadonlySet([
|
|
|
229
189
|
*
|
|
230
190
|
* Returns a slightly different set depending on whether the "--luadebug" flag is enabled.
|
|
231
191
|
*/
|
|
232
|
-
function getDefaultGlobals() {
|
|
233
|
-
const defaultGlobals =
|
|
234
|
-
if (
|
|
235
|
-
|
|
192
|
+
export function getDefaultGlobals() {
|
|
193
|
+
const defaultGlobals = copySet(DEFAULT_GLOBALS);
|
|
194
|
+
if (isLuaDebugEnabled()) {
|
|
195
|
+
addSetsToSet(defaultGlobals, LUA_DEBUG_ADDED_GLOBALS);
|
|
236
196
|
}
|
|
237
197
|
if (isRacingPlusSandboxEnabled()) {
|
|
238
|
-
|
|
198
|
+
addSetsToSet(defaultGlobals, RACING_PLUS_SANDBOX_ADDED_GLOBALS);
|
|
239
199
|
}
|
|
240
200
|
return defaultGlobals;
|
|
241
201
|
}
|
|
@@ -243,7 +203,7 @@ function getDefaultGlobals() {
|
|
|
243
203
|
* Helper function to get an array of any added global variables in the Isaac Lua environment.
|
|
244
204
|
* Returns a sorted array of key/value tuples.
|
|
245
205
|
*/
|
|
246
|
-
function getNewGlobals() {
|
|
206
|
+
export function getNewGlobals() {
|
|
247
207
|
const defaultGlobals = getDefaultGlobals();
|
|
248
208
|
const newGlobals = [];
|
|
249
209
|
for (const [key, value] of pairs(_G)) {
|
|
@@ -253,21 +213,21 @@ function getNewGlobals() {
|
|
|
253
213
|
const keyValueTuple = [key, value];
|
|
254
214
|
newGlobals.push(keyValueTuple);
|
|
255
215
|
}
|
|
256
|
-
newGlobals.sort(
|
|
216
|
+
newGlobals.sort(sortTwoDimensionalArray);
|
|
257
217
|
return newGlobals;
|
|
258
218
|
}
|
|
259
219
|
/** Helper function to log any added global variables in the Isaac Lua environment. */
|
|
260
|
-
function logNewGlobals() {
|
|
220
|
+
export function logNewGlobals() {
|
|
261
221
|
const newGlobals = getNewGlobals();
|
|
262
|
-
|
|
222
|
+
log("List of added global variables in the Isaac environment:");
|
|
263
223
|
if (newGlobals.length === 0) {
|
|
264
|
-
|
|
224
|
+
log("- n/a (no extra global variables found)");
|
|
265
225
|
}
|
|
266
226
|
else {
|
|
267
227
|
for (const [i, tuple] of newGlobals.entries()) {
|
|
268
228
|
const [key, value] = tuple;
|
|
269
229
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
270
|
-
|
|
230
|
+
log(`${i + 1}) ${key} - ${value}`);
|
|
271
231
|
}
|
|
272
232
|
}
|
|
273
233
|
}
|
|
@@ -276,7 +236,7 @@ function logNewGlobals() {
|
|
|
276
236
|
*
|
|
277
237
|
* This is useful when printing out variables from the in-game debug console.
|
|
278
238
|
*/
|
|
279
|
-
function setLogFunctionsGlobal() {
|
|
239
|
+
export function setLogFunctionsGlobal() {
|
|
280
240
|
const globals = _G;
|
|
281
241
|
for (const exports of [logExports, logMiscExports, logEntitiesExports]) {
|
|
282
242
|
// eslint-disable-next-line complete/no-object-any
|
|
@@ -290,10 +250,10 @@ function setLogFunctionsGlobal() {
|
|
|
290
250
|
*
|
|
291
251
|
* This is useful when editing Lua files when troubleshooting.
|
|
292
252
|
*/
|
|
293
|
-
function setTracebackFunctionsGlobal() {
|
|
253
|
+
export function setTracebackFunctionsGlobal() {
|
|
294
254
|
const globals = _G;
|
|
295
|
-
globals["getTraceback"] =
|
|
296
|
-
globals["traceback"] =
|
|
255
|
+
globals["getTraceback"] = getTraceback;
|
|
256
|
+
globals["traceback"] = traceback;
|
|
297
257
|
}
|
|
298
258
|
function isRacingPlusSandboxEnabled() {
|
|
299
259
|
return SandboxGetParentFunctionDescription !== undefined;
|