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,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
|
|
13
|
-
const Feature_1 = require("../../private/Feature");
|
|
7
|
+
import { game } from "../../../core/cachedClasses";
|
|
8
|
+
import { Exported } from "../../../decorators";
|
|
9
|
+
import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
|
|
10
|
+
import { Feature } from "../../private/Feature";
|
|
14
11
|
const INSTANT_FADE_IN_SPEED = 1;
|
|
15
|
-
class FadeInRemover extends
|
|
12
|
+
export class FadeInRemover extends Feature {
|
|
16
13
|
enabled = false;
|
|
17
14
|
// ModCallbackCustom.POST_GAME_STARTED_REORDERED
|
|
18
15
|
postGameStartedReordered = () => {
|
|
19
16
|
if (this.enabled) {
|
|
20
|
-
|
|
17
|
+
game.Fadein(INSTANT_FADE_IN_SPEED);
|
|
21
18
|
}
|
|
22
19
|
};
|
|
23
20
|
/** @internal */
|
|
@@ -25,7 +22,7 @@ class FadeInRemover extends Feature_1.Feature {
|
|
|
25
22
|
super();
|
|
26
23
|
this.customCallbacksUsed = [
|
|
27
24
|
[
|
|
28
|
-
|
|
25
|
+
ModCallbackCustom.POST_GAME_STARTED_REORDERED,
|
|
29
26
|
this.postGameStartedReordered,
|
|
30
27
|
[undefined],
|
|
31
28
|
],
|
|
@@ -58,10 +55,9 @@ class FadeInRemover extends Feature_1.Feature {
|
|
|
58
55
|
this.enabled = false;
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
|
-
exports.FadeInRemover = FadeInRemover;
|
|
62
58
|
__decorate([
|
|
63
|
-
|
|
59
|
+
Exported
|
|
64
60
|
], FadeInRemover.prototype, "removeFadeIn", null);
|
|
65
61
|
__decorate([
|
|
66
|
-
|
|
62
|
+
Exported
|
|
67
63
|
], FadeInRemover.prototype, "restoreFadeIn", null);
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const Feature_1 = require("../../private/Feature");
|
|
17
|
-
class FastReset extends Feature_1.Feature {
|
|
7
|
+
import { ButtonAction, ModCallback } from "isaac-typescript-definitions";
|
|
8
|
+
import { game } from "../../../core/cachedClasses";
|
|
9
|
+
import { Exported } from "../../../decorators";
|
|
10
|
+
import { isActionTriggeredOnAnyInput, isModifierKeyPressed, } from "../../../functions/input";
|
|
11
|
+
import { restart } from "../../../functions/run";
|
|
12
|
+
import { isRepentancePlus } from "../../../functions/utils";
|
|
13
|
+
import { Feature } from "../../private/Feature";
|
|
14
|
+
export class FastReset extends Feature {
|
|
18
15
|
enabled = false;
|
|
19
16
|
// ModCallback.POST_RENDER (2)
|
|
20
17
|
postRender = () => {
|
|
@@ -28,7 +25,7 @@ class FastReset extends Feature_1.Feature {
|
|
|
28
25
|
super();
|
|
29
26
|
this.callbacksUsed = [
|
|
30
27
|
// 2
|
|
31
|
-
[
|
|
28
|
+
[ModCallback.POST_RENDER, this.postRender],
|
|
32
29
|
];
|
|
33
30
|
}
|
|
34
31
|
/**
|
|
@@ -58,16 +55,15 @@ class FastReset extends Feature_1.Feature {
|
|
|
58
55
|
this.enabled = false;
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
|
-
exports.FastReset = FastReset;
|
|
62
58
|
__decorate([
|
|
63
|
-
|
|
59
|
+
Exported
|
|
64
60
|
], FastReset.prototype, "enableFastReset", null);
|
|
65
61
|
__decorate([
|
|
66
|
-
|
|
62
|
+
Exported
|
|
67
63
|
], FastReset.prototype, "disableFastReset", null);
|
|
68
64
|
/** Check for fast-reset inputs. */
|
|
69
65
|
function checkResetInput() {
|
|
70
|
-
const isPaused =
|
|
66
|
+
const isPaused = game.IsPaused();
|
|
71
67
|
// Disable the fast-reset feature if the console is open. (This will also disable the feature when
|
|
72
68
|
// the game is paused, but that's okay as well.)
|
|
73
69
|
if (isPaused) {
|
|
@@ -78,15 +74,15 @@ function checkResetInput() {
|
|
|
78
74
|
return;
|
|
79
75
|
}
|
|
80
76
|
// Don't fast-reset if any modifiers are pressed.
|
|
81
|
-
if (
|
|
77
|
+
if (isModifierKeyPressed()) {
|
|
82
78
|
return;
|
|
83
79
|
}
|
|
84
80
|
// Check to see if the player has pressed the restart input. (We check all inputs instead of
|
|
85
81
|
// `player.ControllerIndex` because a controller player might be using the keyboard to reset.)
|
|
86
|
-
const buttonActionRestart =
|
|
87
|
-
?
|
|
88
|
-
:
|
|
89
|
-
if (
|
|
90
|
-
|
|
82
|
+
const buttonActionRestart = isRepentancePlus()
|
|
83
|
+
? ButtonAction.RESTART_REPENTANCE_PLUS
|
|
84
|
+
: ButtonAction.RESTART_REPENTANCE;
|
|
85
|
+
if (isActionTriggeredOnAnyInput(buttonActionRestart)) {
|
|
86
|
+
restart();
|
|
91
87
|
}
|
|
92
88
|
}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const ISCFeature_1 = require("../../../enums/ISCFeature");
|
|
13
|
-
const Feature_1 = require("../../private/Feature");
|
|
7
|
+
import { NullItemID } from "isaac-typescript-definitions";
|
|
8
|
+
import { Exported } from "../../../decorators";
|
|
9
|
+
import { ISCFeature } from "../../../enums/ISCFeature";
|
|
10
|
+
import { Feature } from "../../private/Feature";
|
|
14
11
|
const FLYING_NULL_ITEMS = [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
NullItemID.REVERSE_SUN, // 66
|
|
13
|
+
NullItemID.SPIRIT_SHACKLES_SOUL, // 10
|
|
14
|
+
NullItemID.LOST_CURSE, // 112
|
|
18
15
|
];
|
|
19
|
-
class FlyingDetection extends
|
|
16
|
+
export class FlyingDetection extends Feature {
|
|
20
17
|
moddedElementSets;
|
|
21
18
|
/** @internal */
|
|
22
19
|
constructor(moddedElementSets) {
|
|
23
20
|
super();
|
|
24
|
-
this.featuresUsed = [
|
|
21
|
+
this.featuresUsed = [ISCFeature.MODDED_ELEMENT_SETS];
|
|
25
22
|
this.moddedElementSets = moddedElementSets;
|
|
26
23
|
}
|
|
27
24
|
/**
|
|
@@ -58,7 +55,6 @@ class FlyingDetection extends Feature_1.Feature {
|
|
|
58
55
|
return false;
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
|
-
exports.FlyingDetection = FlyingDetection;
|
|
62
58
|
__decorate([
|
|
63
|
-
|
|
59
|
+
Exported
|
|
64
60
|
], FlyingDetection.prototype, "hasFlyingTemporaryEffect", null);
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const Feature_1 = require("../../private/Feature");
|
|
14
|
-
class ForgottenSwitch extends Feature_1.Feature {
|
|
7
|
+
import { ButtonAction } from "isaac-typescript-definitions";
|
|
8
|
+
import { Exported } from "../../../decorators";
|
|
9
|
+
import { ISCFeature } from "../../../enums/ISCFeature";
|
|
10
|
+
import { Feature } from "../../private/Feature";
|
|
11
|
+
export class ForgottenSwitch extends Feature {
|
|
15
12
|
pressInput;
|
|
16
13
|
/** @internal */
|
|
17
14
|
v = {
|
|
@@ -22,7 +19,7 @@ class ForgottenSwitch extends Feature_1.Feature {
|
|
|
22
19
|
/** @internal */
|
|
23
20
|
constructor(pressInput) {
|
|
24
21
|
super();
|
|
25
|
-
this.featuresUsed = [
|
|
22
|
+
this.featuresUsed = [ISCFeature.PRESS_INPUT];
|
|
26
23
|
this.pressInput = pressInput;
|
|
27
24
|
}
|
|
28
25
|
/**
|
|
@@ -34,10 +31,9 @@ class ForgottenSwitch extends Feature_1.Feature {
|
|
|
34
31
|
* @public
|
|
35
32
|
*/
|
|
36
33
|
forgottenSwitch(player) {
|
|
37
|
-
this.pressInput.pressInput(player,
|
|
34
|
+
this.pressInput.pressInput(player, ButtonAction.DROP);
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
|
-
exports.ForgottenSwitch = ForgottenSwitch;
|
|
41
37
|
__decorate([
|
|
42
|
-
|
|
38
|
+
Exported
|
|
43
39
|
], ForgottenSwitch.prototype, "forgottenSwitch", null);
|
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
const Feature_1 = require("../../private/Feature");
|
|
21
|
-
const COLLECTIBLE_TYPE_THAT_IS_NOT_IN_ANY_POOLS = isaac_typescript_definitions_1.CollectibleType.KEY_PIECE_1;
|
|
7
|
+
import { CollectibleType, ItemConfigTag, PlayerType, TrinketType, } from "isaac-typescript-definitions";
|
|
8
|
+
import { game } from "../../../core/cachedClasses";
|
|
9
|
+
import { Exported } from "../../../decorators";
|
|
10
|
+
import { ISCFeature } from "../../../enums/ISCFeature";
|
|
11
|
+
import { collectibleHasTag } from "../../../functions/collectibleTag";
|
|
12
|
+
import { anyPlayerHasCollectible } from "../../../functions/playerCollectibles";
|
|
13
|
+
import { mapGetPlayer, mapSetPlayer, } from "../../../functions/playerDataStructures";
|
|
14
|
+
import { getAllPlayers } from "../../../functions/playerIndex";
|
|
15
|
+
import { getPlayersOfType } from "../../../functions/players";
|
|
16
|
+
import { repeat } from "../../../functions/utils";
|
|
17
|
+
import { Feature } from "../../private/Feature";
|
|
18
|
+
const COLLECTIBLE_TYPE_THAT_IS_NOT_IN_ANY_POOLS = CollectibleType.KEY_PIECE_1;
|
|
22
19
|
const COLLECTIBLES_THAT_AFFECT_ITEM_POOLS = [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
CollectibleType.CHAOS, // 402
|
|
21
|
+
CollectibleType.SACRED_ORB, // 691
|
|
22
|
+
CollectibleType.TMTRAINER, // 721
|
|
26
23
|
];
|
|
27
|
-
const TRINKETS_THAT_AFFECT_ITEM_POOLS = [
|
|
28
|
-
class ItemPoolDetection extends
|
|
24
|
+
const TRINKETS_THAT_AFFECT_ITEM_POOLS = [TrinketType.NO];
|
|
25
|
+
export class ItemPoolDetection extends Feature {
|
|
29
26
|
moddedElementSets;
|
|
30
27
|
/** @internal */
|
|
31
28
|
constructor(moddedElementSets) {
|
|
32
29
|
super();
|
|
33
|
-
this.featuresUsed = [
|
|
30
|
+
this.featuresUsed = [ISCFeature.MODDED_ELEMENT_SETS];
|
|
34
31
|
this.moddedElementSets = moddedElementSets;
|
|
35
32
|
}
|
|
36
33
|
/**
|
|
@@ -67,18 +64,18 @@ class ItemPoolDetection extends Feature_1.Feature {
|
|
|
67
64
|
}
|
|
68
65
|
// On Tainted Lost, it is impossible to retrieve non-offensive collectibles from pools, so we
|
|
69
66
|
// temporarily change the character to Isaac.
|
|
70
|
-
const taintedLosts =
|
|
71
|
-
const isOffensive =
|
|
67
|
+
const taintedLosts = getPlayersOfType(PlayerType.LOST_B);
|
|
68
|
+
const isOffensive = collectibleHasTag(collectibleType, ItemConfigTag.OFFENSIVE);
|
|
72
69
|
let changedPlayerTypes = false;
|
|
73
70
|
if (!isOffensive) {
|
|
74
71
|
changedPlayerTypes = true;
|
|
75
72
|
for (const player of taintedLosts) {
|
|
76
|
-
player.ChangePlayerType(
|
|
73
|
+
player.ChangePlayerType(PlayerType.ISAAC);
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
const { removedItemsMap, removedTrinketsMap } = removeItemsAndTrinketsThatAffectItemPools();
|
|
80
77
|
// Blacklist every collectible in the game except for the provided collectible.
|
|
81
|
-
const itemPool =
|
|
78
|
+
const itemPool = game.GetItemPool();
|
|
82
79
|
itemPool.ResetRoomBlacklist();
|
|
83
80
|
for (const collectibleTypeInSet of this.moddedElementSets.getCollectibleTypes()) {
|
|
84
81
|
if (collectibleTypeInSet !== collectibleType) {
|
|
@@ -96,7 +93,7 @@ class ItemPoolDetection extends Feature_1.Feature {
|
|
|
96
93
|
// Change any players back to Tainted Lost, if necessary.
|
|
97
94
|
if (changedPlayerTypes) {
|
|
98
95
|
for (const player of taintedLosts) {
|
|
99
|
-
player.ChangePlayerType(
|
|
96
|
+
player.ChangePlayerType(PlayerType.LOST_B);
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
99
|
return collectibleUnlocked;
|
|
@@ -120,21 +117,20 @@ class ItemPoolDetection extends Feature_1.Feature {
|
|
|
120
117
|
* @public
|
|
121
118
|
*/
|
|
122
119
|
isCollectibleUnlocked(collectibleType, itemPoolType) {
|
|
123
|
-
if (
|
|
120
|
+
if (anyPlayerHasCollectible(collectibleType)) {
|
|
124
121
|
return true;
|
|
125
122
|
}
|
|
126
123
|
return this.isCollectibleInItemPool(collectibleType, itemPoolType);
|
|
127
124
|
}
|
|
128
125
|
}
|
|
129
|
-
exports.ItemPoolDetection = ItemPoolDetection;
|
|
130
126
|
__decorate([
|
|
131
|
-
|
|
127
|
+
Exported
|
|
132
128
|
], ItemPoolDetection.prototype, "getCollectiblesInItemPool", null);
|
|
133
129
|
__decorate([
|
|
134
|
-
|
|
130
|
+
Exported
|
|
135
131
|
], ItemPoolDetection.prototype, "isCollectibleInItemPool", null);
|
|
136
132
|
__decorate([
|
|
137
|
-
|
|
133
|
+
Exported
|
|
138
134
|
], ItemPoolDetection.prototype, "isCollectibleUnlocked", null);
|
|
139
135
|
/**
|
|
140
136
|
* Before checking the item pools, remove any collectibles or trinkets that would affect the
|
|
@@ -143,30 +139,30 @@ __decorate([
|
|
|
143
139
|
function removeItemsAndTrinketsThatAffectItemPools() {
|
|
144
140
|
const removedItemsMap = new Map();
|
|
145
141
|
const removedTrinketsMap = new Map();
|
|
146
|
-
for (const player of
|
|
142
|
+
for (const player of getAllPlayers()) {
|
|
147
143
|
const removedItems = [];
|
|
148
144
|
for (const itemToRemove of COLLECTIBLES_THAT_AFFECT_ITEM_POOLS) {
|
|
149
145
|
// We need to include non-real collectibles (like Lilith's Incubus), so we omit the second
|
|
150
146
|
// argument.
|
|
151
147
|
const numCollectibles = player.GetCollectibleNum(itemToRemove);
|
|
152
|
-
|
|
148
|
+
repeat(numCollectibles, () => {
|
|
153
149
|
player.RemoveCollectible(itemToRemove);
|
|
154
150
|
removedItems.push(itemToRemove);
|
|
155
151
|
});
|
|
156
152
|
}
|
|
157
|
-
|
|
153
|
+
mapSetPlayer(removedItemsMap, player, removedItems);
|
|
158
154
|
const removedTrinkets = [];
|
|
159
155
|
for (const trinketToRemove of TRINKETS_THAT_AFFECT_ITEM_POOLS) {
|
|
160
156
|
if (!player.HasTrinket(trinketToRemove)) {
|
|
161
157
|
continue;
|
|
162
158
|
}
|
|
163
159
|
const numTrinkets = player.GetTrinketMultiplier(trinketToRemove);
|
|
164
|
-
|
|
160
|
+
repeat(numTrinkets, () => {
|
|
165
161
|
player.TryRemoveTrinket(trinketToRemove);
|
|
166
162
|
removedTrinkets.push(trinketToRemove);
|
|
167
163
|
});
|
|
168
164
|
}
|
|
169
|
-
|
|
165
|
+
mapSetPlayer(removedTrinketsMap, player, removedTrinkets);
|
|
170
166
|
}
|
|
171
167
|
return {
|
|
172
168
|
removedItemsMap,
|
|
@@ -174,14 +170,14 @@ function removeItemsAndTrinketsThatAffectItemPools() {
|
|
|
174
170
|
};
|
|
175
171
|
}
|
|
176
172
|
function restoreItemsAndTrinketsThatAffectItemPools(removedItemsMap, removedTrinketsMap) {
|
|
177
|
-
for (const player of
|
|
178
|
-
const removedItems =
|
|
173
|
+
for (const player of getAllPlayers()) {
|
|
174
|
+
const removedItems = mapGetPlayer(removedItemsMap, player);
|
|
179
175
|
if (removedItems !== undefined) {
|
|
180
176
|
for (const collectibleType of removedItems) {
|
|
181
177
|
player.AddCollectible(collectibleType, 0, false); // Prevent Chaos from spawning pickups
|
|
182
178
|
}
|
|
183
179
|
}
|
|
184
|
-
const removedTrinkets =
|
|
180
|
+
const removedTrinkets = mapGetPlayer(removedTrinketsMap, player);
|
|
185
181
|
if (removedTrinkets !== undefined) {
|
|
186
182
|
for (const trinketType of removedTrinkets) {
|
|
187
183
|
player.AddTrinket(trinketType, false);
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const decorators_1 = require("../../../decorators");
|
|
14
|
-
const Feature_1 = require("../../private/Feature");
|
|
7
|
+
import { ModCallback } from "isaac-typescript-definitions";
|
|
8
|
+
import { itemConfig } from "../../../core/cachedClasses";
|
|
9
|
+
import { LAST_VANILLA_CARD_TYPE, LAST_VANILLA_COLLECTIBLE_TYPE, LAST_VANILLA_PILL_EFFECT, LAST_VANILLA_TRINKET_TYPE, NUM_VANILLA_CARD_TYPES, NUM_VANILLA_COLLECTIBLE_TYPES, NUM_VANILLA_PILL_EFFECTS, NUM_VANILLA_TRINKET_TYPES, } from "../../../core/constantsFirstLast";
|
|
10
|
+
import { Exported } from "../../../decorators";
|
|
11
|
+
import { Feature } from "../../private/Feature";
|
|
15
12
|
// eslint-disable-next-line complete/strict-enums
|
|
16
|
-
const FIRST_MODDED_COLLECTIBLE_TYPE =
|
|
13
|
+
const FIRST_MODDED_COLLECTIBLE_TYPE = LAST_VANILLA_COLLECTIBLE_TYPE + 1;
|
|
17
14
|
// eslint-disable-next-line complete/strict-enums
|
|
18
|
-
const FIRST_MODDED_TRINKET_TYPE =
|
|
15
|
+
const FIRST_MODDED_TRINKET_TYPE = LAST_VANILLA_TRINKET_TYPE + 1;
|
|
19
16
|
// eslint-disable-next-line complete/strict-enums
|
|
20
|
-
const FIRST_MODDED_CARD_TYPE =
|
|
17
|
+
const FIRST_MODDED_CARD_TYPE = LAST_VANILLA_CARD_TYPE + 1;
|
|
21
18
|
// eslint-disable-next-line complete/strict-enums
|
|
22
|
-
const FIRST_MODDED_PILL_EFFECT =
|
|
19
|
+
const FIRST_MODDED_PILL_EFFECT = LAST_VANILLA_PILL_EFFECT + 1;
|
|
23
20
|
/**
|
|
24
21
|
* Mods can add extra things to the game (e.g. collectibles, trinkets, and so on). Since mods load
|
|
25
22
|
* in alphabetical order, the total number of things can't be properly be known until at least one
|
|
@@ -30,7 +27,7 @@ const FIRST_MODDED_PILL_EFFECT = constantsFirstLast_1.LAST_VANILLA_PILL_EFFECT +
|
|
|
30
27
|
* ensures that the proper values are always returned and allows you to get immediate feedback if
|
|
31
28
|
* you accidentally access them from the menu.
|
|
32
29
|
*/
|
|
33
|
-
class ModdedElementDetection extends
|
|
30
|
+
export class ModdedElementDetection extends Feature {
|
|
34
31
|
atLeastOneCallbackFired = false;
|
|
35
32
|
// ModCallback.POST_PLAYER_INIT (9)
|
|
36
33
|
postPlayerInit = () => {
|
|
@@ -41,7 +38,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
41
38
|
super();
|
|
42
39
|
this.callbacksUsed = [
|
|
43
40
|
// 9
|
|
44
|
-
[
|
|
41
|
+
[ModCallback.POST_PLAYER_INIT, this.postPlayerInit],
|
|
45
42
|
];
|
|
46
43
|
}
|
|
47
44
|
errorIfNoCallbacksFired(constantType) {
|
|
@@ -66,7 +63,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
66
63
|
*/
|
|
67
64
|
getFirstModdedCollectibleType() {
|
|
68
65
|
this.errorIfNoCallbacksFired("collectible");
|
|
69
|
-
const itemConfigItem =
|
|
66
|
+
const itemConfigItem = itemConfig.GetCollectible(FIRST_MODDED_COLLECTIBLE_TYPE);
|
|
70
67
|
return itemConfigItem === undefined
|
|
71
68
|
? undefined
|
|
72
69
|
: FIRST_MODDED_COLLECTIBLE_TYPE;
|
|
@@ -91,7 +88,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
91
88
|
*/
|
|
92
89
|
getLastCollectibleType() {
|
|
93
90
|
this.errorIfNoCallbacksFired("collectible");
|
|
94
|
-
return
|
|
91
|
+
return itemConfig.GetCollectibles().Size - 1;
|
|
95
92
|
}
|
|
96
93
|
/**
|
|
97
94
|
* Returns the total number of collectibles in the item config, including both vanilla and modded
|
|
@@ -109,7 +106,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
109
106
|
*/
|
|
110
107
|
getNumCollectibleTypes() {
|
|
111
108
|
this.errorIfNoCallbacksFired("collectible");
|
|
112
|
-
return
|
|
109
|
+
return NUM_VANILLA_COLLECTIBLE_TYPES + this.getNumModdedCollectibleTypes();
|
|
113
110
|
}
|
|
114
111
|
/**
|
|
115
112
|
* Unlike vanilla collectible types, modded collectible types are always contiguous.
|
|
@@ -125,7 +122,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
125
122
|
*/
|
|
126
123
|
getNumModdedCollectibleTypes() {
|
|
127
124
|
this.errorIfNoCallbacksFired("collectible");
|
|
128
|
-
return this.getLastCollectibleType() -
|
|
125
|
+
return this.getLastCollectibleType() - LAST_VANILLA_COLLECTIBLE_TYPE;
|
|
129
126
|
}
|
|
130
127
|
// --------
|
|
131
128
|
// Trinkets
|
|
@@ -143,7 +140,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
143
140
|
*/
|
|
144
141
|
getFirstModdedTrinketType() {
|
|
145
142
|
this.errorIfNoCallbacksFired("trinket");
|
|
146
|
-
const itemConfigItem =
|
|
143
|
+
const itemConfigItem = itemConfig.GetTrinket(FIRST_MODDED_TRINKET_TYPE);
|
|
147
144
|
return itemConfigItem === undefined ? undefined : FIRST_MODDED_TRINKET_TYPE;
|
|
148
145
|
}
|
|
149
146
|
/**
|
|
@@ -165,7 +162,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
165
162
|
*/
|
|
166
163
|
getLastTrinketType() {
|
|
167
164
|
this.errorIfNoCallbacksFired("trinket");
|
|
168
|
-
return
|
|
165
|
+
return itemConfig.GetTrinkets().Size - 1;
|
|
169
166
|
}
|
|
170
167
|
/**
|
|
171
168
|
* Returns the total number of trinkets in the item config, including both vanilla and modded
|
|
@@ -182,7 +179,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
182
179
|
*/
|
|
183
180
|
getNumTrinketTypes() {
|
|
184
181
|
this.errorIfNoCallbacksFired("trinket");
|
|
185
|
-
return
|
|
182
|
+
return NUM_VANILLA_TRINKET_TYPES + this.getNumModdedTrinketTypes();
|
|
186
183
|
}
|
|
187
184
|
/**
|
|
188
185
|
* Unlike vanilla trinket types, modded trinket types are always contiguous.
|
|
@@ -197,7 +194,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
197
194
|
*/
|
|
198
195
|
getNumModdedTrinketTypes() {
|
|
199
196
|
this.errorIfNoCallbacksFired("trinket");
|
|
200
|
-
return this.getLastTrinketType() -
|
|
197
|
+
return this.getLastTrinketType() - LAST_VANILLA_TRINKET_TYPE;
|
|
201
198
|
}
|
|
202
199
|
// -----
|
|
203
200
|
// Cards
|
|
@@ -215,7 +212,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
215
212
|
*/
|
|
216
213
|
getFirstModdedCardType() {
|
|
217
214
|
this.errorIfNoCallbacksFired("card");
|
|
218
|
-
const itemConfigCard =
|
|
215
|
+
const itemConfigCard = itemConfig.GetCard(FIRST_MODDED_CARD_TYPE);
|
|
219
216
|
return itemConfigCard === undefined ? undefined : FIRST_MODDED_CARD_TYPE;
|
|
220
217
|
}
|
|
221
218
|
/**
|
|
@@ -237,7 +234,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
237
234
|
*/
|
|
238
235
|
getLastCardType() {
|
|
239
236
|
this.errorIfNoCallbacksFired("card");
|
|
240
|
-
return
|
|
237
|
+
return itemConfig.GetCards().Size - 1;
|
|
241
238
|
}
|
|
242
239
|
/**
|
|
243
240
|
* Returns the total number of cards in the item config, including both vanilla and modded cards.
|
|
@@ -253,7 +250,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
253
250
|
*/
|
|
254
251
|
getNumCardTypes() {
|
|
255
252
|
this.errorIfNoCallbacksFired("card");
|
|
256
|
-
return
|
|
253
|
+
return NUM_VANILLA_CARD_TYPES + this.getNumModdedCardTypes();
|
|
257
254
|
}
|
|
258
255
|
/**
|
|
259
256
|
* Like vanilla card types, modded card types are always contiguous.
|
|
@@ -268,7 +265,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
268
265
|
*/
|
|
269
266
|
getNumModdedCardTypes() {
|
|
270
267
|
this.errorIfNoCallbacksFired("card");
|
|
271
|
-
return this.getLastCardType() -
|
|
268
|
+
return this.getLastCardType() - LAST_VANILLA_CARD_TYPE;
|
|
272
269
|
}
|
|
273
270
|
// ------------
|
|
274
271
|
// Pill Effects
|
|
@@ -287,7 +284,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
287
284
|
*/
|
|
288
285
|
getFirstModdedPillEffect() {
|
|
289
286
|
this.errorIfNoCallbacksFired("pill");
|
|
290
|
-
const itemConfigPillEffect =
|
|
287
|
+
const itemConfigPillEffect = itemConfig.GetPillEffect(FIRST_MODDED_PILL_EFFECT);
|
|
291
288
|
return itemConfigPillEffect === undefined
|
|
292
289
|
? undefined
|
|
293
290
|
: FIRST_MODDED_PILL_EFFECT;
|
|
@@ -313,7 +310,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
313
310
|
*/
|
|
314
311
|
getLastPillEffect() {
|
|
315
312
|
this.errorIfNoCallbacksFired("pill");
|
|
316
|
-
return
|
|
313
|
+
return itemConfig.GetPillEffects().Size - 1;
|
|
317
314
|
}
|
|
318
315
|
/**
|
|
319
316
|
* Returns the total number of pill effects in the item config, including both vanilla and modded
|
|
@@ -330,7 +327,7 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
330
327
|
*/
|
|
331
328
|
getNumPillEffects() {
|
|
332
329
|
this.errorIfNoCallbacksFired("pill");
|
|
333
|
-
return
|
|
330
|
+
return NUM_VANILLA_PILL_EFFECTS + this.getNumModdedPillEffects();
|
|
334
331
|
}
|
|
335
332
|
/**
|
|
336
333
|
* Like vanilla pill effects, modded pill effects are always contiguous.
|
|
@@ -345,55 +342,54 @@ class ModdedElementDetection extends Feature_1.Feature {
|
|
|
345
342
|
*/
|
|
346
343
|
getNumModdedPillEffects() {
|
|
347
344
|
this.errorIfNoCallbacksFired("card");
|
|
348
|
-
return this.getLastPillEffect() -
|
|
345
|
+
return this.getLastPillEffect() - LAST_VANILLA_PILL_EFFECT;
|
|
349
346
|
}
|
|
350
347
|
}
|
|
351
|
-
exports.ModdedElementDetection = ModdedElementDetection;
|
|
352
348
|
__decorate([
|
|
353
|
-
|
|
349
|
+
Exported
|
|
354
350
|
], ModdedElementDetection.prototype, "getFirstModdedCollectibleType", null);
|
|
355
351
|
__decorate([
|
|
356
|
-
|
|
352
|
+
Exported
|
|
357
353
|
], ModdedElementDetection.prototype, "getLastCollectibleType", null);
|
|
358
354
|
__decorate([
|
|
359
|
-
|
|
355
|
+
Exported
|
|
360
356
|
], ModdedElementDetection.prototype, "getNumCollectibleTypes", null);
|
|
361
357
|
__decorate([
|
|
362
|
-
|
|
358
|
+
Exported
|
|
363
359
|
], ModdedElementDetection.prototype, "getNumModdedCollectibleTypes", null);
|
|
364
360
|
__decorate([
|
|
365
|
-
|
|
361
|
+
Exported
|
|
366
362
|
], ModdedElementDetection.prototype, "getFirstModdedTrinketType", null);
|
|
367
363
|
__decorate([
|
|
368
|
-
|
|
364
|
+
Exported
|
|
369
365
|
], ModdedElementDetection.prototype, "getLastTrinketType", null);
|
|
370
366
|
__decorate([
|
|
371
|
-
|
|
367
|
+
Exported
|
|
372
368
|
], ModdedElementDetection.prototype, "getNumTrinketTypes", null);
|
|
373
369
|
__decorate([
|
|
374
|
-
|
|
370
|
+
Exported
|
|
375
371
|
], ModdedElementDetection.prototype, "getNumModdedTrinketTypes", null);
|
|
376
372
|
__decorate([
|
|
377
|
-
|
|
373
|
+
Exported
|
|
378
374
|
], ModdedElementDetection.prototype, "getFirstModdedCardType", null);
|
|
379
375
|
__decorate([
|
|
380
|
-
|
|
376
|
+
Exported
|
|
381
377
|
], ModdedElementDetection.prototype, "getLastCardType", null);
|
|
382
378
|
__decorate([
|
|
383
|
-
|
|
379
|
+
Exported
|
|
384
380
|
], ModdedElementDetection.prototype, "getNumCardTypes", null);
|
|
385
381
|
__decorate([
|
|
386
|
-
|
|
382
|
+
Exported
|
|
387
383
|
], ModdedElementDetection.prototype, "getNumModdedCardTypes", null);
|
|
388
384
|
__decorate([
|
|
389
|
-
|
|
385
|
+
Exported
|
|
390
386
|
], ModdedElementDetection.prototype, "getFirstModdedPillEffect", null);
|
|
391
387
|
__decorate([
|
|
392
|
-
|
|
388
|
+
Exported
|
|
393
389
|
], ModdedElementDetection.prototype, "getLastPillEffect", null);
|
|
394
390
|
__decorate([
|
|
395
|
-
|
|
391
|
+
Exported
|
|
396
392
|
], ModdedElementDetection.prototype, "getNumPillEffects", null);
|
|
397
393
|
__decorate([
|
|
398
|
-
|
|
394
|
+
Exported
|
|
399
395
|
], ModdedElementDetection.prototype, "getNumModdedPillEffects", null);
|