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
package/dist/sets/bossSets.js
CHANGED
|
@@ -1,84 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const storyBosses_1 = require("../functions/storyBosses");
|
|
7
|
-
const ReadonlyMap_1 = require("../types/ReadonlyMap");
|
|
8
|
-
const ReadonlySet_1 = require("../types/ReadonlySet");
|
|
1
|
+
import { BossID, LevelStage, StageID } from "isaac-typescript-definitions";
|
|
2
|
+
import { BOSS_ID_VALUES } from "../cachedEnumValues";
|
|
3
|
+
import { isStoryBossID } from "../functions/storyBosses";
|
|
4
|
+
import { ReadonlyMap } from "../types/ReadonlyMap";
|
|
5
|
+
import { ReadonlySet } from "../types/ReadonlySet";
|
|
9
6
|
// The "bosspools.xml" file does not actually correspond to the real boss pools, so these data
|
|
10
7
|
// structures were determined through experimentation on v1.7.8a.
|
|
11
8
|
// We use sets of strings instead of tuples for these data structures because TypeScript/Lua does
|
|
12
9
|
// not have real tuples. If we store bosses as tuples, then we cannot do a set lookup in O(1).
|
|
13
10
|
/** For `StageID.BASEMENT` (1). */
|
|
14
11
|
const BASEMENT_BOSSES = [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
12
|
+
BossID.MONSTRO, // 1
|
|
13
|
+
BossID.LARRY_JR, // 2
|
|
14
|
+
BossID.FAMINE, // 9
|
|
15
|
+
BossID.DUKE_OF_FLIES, // 13
|
|
16
|
+
BossID.GEMINI, // 17
|
|
17
|
+
BossID.STEVEN, // 20
|
|
18
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
19
|
+
BossID.FALLEN, // 23
|
|
20
|
+
BossID.DINGLE, // 44
|
|
21
|
+
BossID.GURGLING, // 56
|
|
22
|
+
BossID.LITTLE_HORN, // 60
|
|
26
23
|
// - `BossID.RAG_MAN` (61) was removed in Repentance.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
BossID.DANGLE, // 64
|
|
25
|
+
BossID.TURDLING, // 65
|
|
26
|
+
BossID.BABY_PLUM, // 84 (added in Repentance)
|
|
30
27
|
];
|
|
31
28
|
/** For `StageID.CELLAR` (2). */
|
|
32
29
|
const CELLAR_BOSSES = [
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
BossID.FAMINE, // 9
|
|
31
|
+
BossID.DUKE_OF_FLIES, // 13
|
|
35
32
|
// - `BossID.FISTULA` (18) was removed in Repentance.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
34
|
+
BossID.FALLEN, // 23
|
|
35
|
+
BossID.BLIGHTED_OVUM, // 32
|
|
36
|
+
BossID.WIDOW, // 34
|
|
37
|
+
BossID.PIN, // 37
|
|
38
|
+
BossID.HAUNT, // 43
|
|
39
|
+
BossID.LITTLE_HORN, // 60
|
|
40
|
+
BossID.RAG_MAN, // 61
|
|
41
|
+
BossID.BABY_PLUM, // 84 (added in Repentance)
|
|
45
42
|
];
|
|
46
43
|
/** For `StageID.BURNING_BASEMENT` (3). */
|
|
47
44
|
const BURNING_BASEMENT_BOSSES = [
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
BossID.MONSTRO, // 1
|
|
46
|
+
BossID.LARRY_JR, // 2
|
|
47
|
+
BossID.FAMINE, // 9
|
|
48
|
+
BossID.DUKE_OF_FLIES, // 13
|
|
49
|
+
BossID.GEMINI, // 17 (added in Repentance)
|
|
50
|
+
BossID.STEVEN, // 20 (added in Repentance)
|
|
51
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
52
|
+
BossID.FALLEN, // 23
|
|
56
53
|
// - `BossID.HAUNT` (43) was removed in Repentance.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
BossID.DINGLE, // 44 (added in Repentance)
|
|
55
|
+
BossID.GURGLING, // 56 (added in Repentance)
|
|
56
|
+
BossID.LITTLE_HORN, // 60
|
|
57
|
+
BossID.RAG_MAN, // 61
|
|
58
|
+
BossID.DANGLE, // 64 (added in Repentance)
|
|
59
|
+
BossID.TURDLING, // 65 (added in Repentance)
|
|
60
|
+
BossID.BABY_PLUM, // 84 (added in Repentance)
|
|
64
61
|
];
|
|
65
62
|
/** For `StageID.DOWNPOUR` (27). */
|
|
66
63
|
const DOWNPOUR_BOSSES = [
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
BossID.LIL_BLUB, // 75
|
|
65
|
+
BossID.WORMWOOD, // 76
|
|
66
|
+
BossID.RAINMAKER, // 77
|
|
67
|
+
BossID.MIN_MIN, // 91
|
|
71
68
|
];
|
|
72
69
|
/** For `StageID.DROSS` (28). */
|
|
73
70
|
const DROSS_BOSSES = [
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
BossID.LIL_BLUB, // 75
|
|
72
|
+
BossID.WORMWOOD, // 76
|
|
73
|
+
BossID.CLOG, // 92
|
|
74
|
+
BossID.COLOSTOMIA, // 95
|
|
75
|
+
BossID.TURDLET, // 97
|
|
79
76
|
];
|
|
80
77
|
/** The set of unique bosses for Basement, Cellar, Burning Basement, Downpour, and Dross. */
|
|
81
|
-
const ALL_BASEMENT_BOSSES_SET = new
|
|
78
|
+
const ALL_BASEMENT_BOSSES_SET = new ReadonlySet([
|
|
82
79
|
...BASEMENT_BOSSES,
|
|
83
80
|
...CELLAR_BOSSES,
|
|
84
81
|
...BURNING_BASEMENT_BOSSES,
|
|
@@ -87,84 +84,84 @@ const ALL_BASEMENT_BOSSES_SET = new ReadonlySet_1.ReadonlySet([
|
|
|
87
84
|
]);
|
|
88
85
|
/** For `StageID.CAVES` (4). */
|
|
89
86
|
const CAVES_BOSSES = [
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
87
|
+
BossID.CHUB, // 3
|
|
88
|
+
BossID.GURDY, // 4
|
|
89
|
+
BossID.PESTILENCE, // 10
|
|
90
|
+
BossID.PEEP, // 14
|
|
91
|
+
BossID.FISTULA, // 18 (added in Repentance)
|
|
92
|
+
BossID.CHAD, // 21
|
|
93
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
94
|
+
BossID.GURDY_JR, // 28
|
|
95
|
+
BossID.MEGA_FATTY, // 47
|
|
96
|
+
BossID.MEGA_MAW, // 45
|
|
100
97
|
// - `BossID.DARK_ONE` (50) was removed in Repentance.
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
BossID.FALLEN, // 23
|
|
99
|
+
BossID.STAIN, // 57
|
|
103
100
|
// - `BossID.FORSAKEN` (59) was removed in Repentance.
|
|
104
101
|
// - `BossID.FRAIL` (66) was removed in Repentance.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
BossID.RAG_MEGA, // 67
|
|
103
|
+
BossID.BIG_HORN, // 69
|
|
104
|
+
BossID.BUMBINO, // 94 (added in Repentance)
|
|
108
105
|
];
|
|
109
106
|
/** For `StageID.CATACOMBS` (5). */
|
|
110
107
|
const CATACOMBS_BOSSES = [
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
108
|
+
BossID.PESTILENCE, // 10
|
|
109
|
+
BossID.PEEP, // 14
|
|
110
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
111
|
+
BossID.FALLEN, // 23
|
|
112
|
+
BossID.HOLLOW, // 26
|
|
113
|
+
BossID.CARRION_QUEEN, // 27
|
|
114
|
+
BossID.GURDY_JR, // 28
|
|
115
|
+
BossID.HUSK, // 29
|
|
116
|
+
BossID.WRETCHED, // 36
|
|
117
|
+
BossID.DARK_ONE, // 50
|
|
118
|
+
BossID.POLYCEPHALUS, // 52
|
|
122
119
|
// - `BossID.STAIN` (57) was removed in Repentance.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
BossID.FORSAKEN, // 59
|
|
121
|
+
BossID.FRAIL, // 66
|
|
122
|
+
BossID.RAG_MEGA, // 67
|
|
123
|
+
BossID.BIG_HORN, // 69
|
|
124
|
+
BossID.BUMBINO, // 94 (added in Repentance)
|
|
128
125
|
];
|
|
129
126
|
/** For `StageID.FLOODED_CAVES` (6). */
|
|
130
127
|
const FLOODED_CAVES_BOSSES = [
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
128
|
+
BossID.CHUB, // 3
|
|
129
|
+
BossID.GURDY, // 4
|
|
130
|
+
BossID.PESTILENCE, // 10
|
|
131
|
+
BossID.PEEP, // 14
|
|
132
|
+
BossID.FISTULA, // 18 (added in Repentance)
|
|
133
|
+
BossID.CHAD, // 21
|
|
134
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
135
|
+
BossID.FALLEN, // 23
|
|
136
|
+
BossID.GURDY_JR, // 28
|
|
137
|
+
BossID.MEGA_MAW, // 45 (added in Repentance)
|
|
138
|
+
BossID.MEGA_FATTY, // 47 (added in Repentance)
|
|
142
139
|
// - `BossID.DARK_ONE` (50) was removed in Repentance.
|
|
143
140
|
// - `BossID.POLYCEPHALUS` (52) was removed in Repentance.
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
141
|
+
BossID.STAIN, // 57
|
|
142
|
+
BossID.FORSAKEN, // 59
|
|
143
|
+
BossID.FRAIL, // 66
|
|
144
|
+
BossID.RAG_MEGA, // 67
|
|
145
|
+
BossID.BIG_HORN, // 69
|
|
146
|
+
BossID.BUMBINO, // 94 (added in Repentance)
|
|
150
147
|
];
|
|
151
148
|
/** For `StageID.MINES` (29). */
|
|
152
149
|
const MINES_BOSSES = [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
150
|
+
BossID.REAP_CREEP, // 74
|
|
151
|
+
BossID.TUFF_TWINS, // 80
|
|
152
|
+
BossID.HORNFEL, // 82
|
|
153
|
+
BossID.GREAT_GIDEON, // 83
|
|
157
154
|
];
|
|
158
155
|
/** For `StageID.ASHPIT` (30). */
|
|
159
156
|
const ASHPIT_BOSSES = [
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
157
|
+
BossID.PILE, // 73
|
|
158
|
+
BossID.GREAT_GIDEON, // 83
|
|
159
|
+
BossID.SINGE, // 93
|
|
160
|
+
BossID.SHELL, // 96
|
|
161
|
+
BossID.CLUTCH, // 102
|
|
165
162
|
];
|
|
166
163
|
/** The set of unique bosses for Caves, Catacombs, Flooded Caves, Mines, and Ashpit. */
|
|
167
|
-
const ALL_CAVES_BOSSES_SET = new
|
|
164
|
+
const ALL_CAVES_BOSSES_SET = new ReadonlySet([
|
|
168
165
|
...CAVES_BOSSES,
|
|
169
166
|
...CATACOMBS_BOSSES,
|
|
170
167
|
...FLOODED_CAVES_BOSSES,
|
|
@@ -177,19 +174,19 @@ const ALL_CAVES_BOSSES_SET = new ReadonlySet_1.ReadonlySet([
|
|
|
177
174
|
* Note that this set includes Mom, even though they are not technically in the boss pool.
|
|
178
175
|
*/
|
|
179
176
|
const DEPTHS_BOSSES = [
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
177
|
+
BossID.MONSTRO_2, // 5
|
|
178
|
+
BossID.MOM, // 6
|
|
179
|
+
BossID.WAR, // 11
|
|
180
|
+
BossID.LOKI, // 15
|
|
181
|
+
BossID.GISH, // 19
|
|
182
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
183
|
+
BossID.FALLEN, // 23
|
|
184
|
+
BossID.GATE, // 46
|
|
185
|
+
BossID.CAGE, // 48
|
|
189
186
|
// - `BossID.ADVERSARY` (51) was removed in Repentance.
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
187
|
+
BossID.BROWNIE, // 58
|
|
188
|
+
BossID.SISTERS_VIS, // 68
|
|
189
|
+
BossID.REAP_CREEP, // 74 (added in Repentance)
|
|
193
190
|
];
|
|
194
191
|
/**
|
|
195
192
|
* For `StageID.NECROPOLIS` (8).
|
|
@@ -197,18 +194,18 @@ const DEPTHS_BOSSES = [
|
|
|
197
194
|
* Note that this set includes Mom, even though they are not technically in the boss pool.
|
|
198
195
|
*/
|
|
199
196
|
const NECROPOLIS_BOSSES = [
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
197
|
+
BossID.MOM, // 6
|
|
198
|
+
BossID.WAR, // 11
|
|
199
|
+
BossID.LOKI, // 15
|
|
200
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
201
|
+
BossID.FALLEN, // 23
|
|
202
|
+
BossID.BLOAT, // 30
|
|
203
|
+
BossID.MASK_OF_INFAMY, // 35
|
|
207
204
|
// - `BossID.GATE` (46) was removed in Repentance.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
205
|
+
BossID.ADVERSARY, // 51
|
|
206
|
+
BossID.BROWNIE, // 58
|
|
207
|
+
BossID.SISTERS_VIS, // 68
|
|
208
|
+
BossID.PILE, // 73 (added in Repentance)
|
|
212
209
|
];
|
|
213
210
|
/**
|
|
214
211
|
* For `StageID.DANK_DEPTHS` (9).
|
|
@@ -216,19 +213,19 @@ const NECROPOLIS_BOSSES = [
|
|
|
216
213
|
* Note that this set includes Mom, even though they are not technically in the boss pool.
|
|
217
214
|
*/
|
|
218
215
|
const DANK_DEPTHS_BOSSES = [
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
216
|
+
BossID.MONSTRO_2, // 5
|
|
217
|
+
BossID.MOM, // 6
|
|
218
|
+
BossID.WAR, // 11
|
|
219
|
+
BossID.LOKI, // 15
|
|
220
|
+
BossID.GISH, // 19
|
|
221
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
222
|
+
BossID.FALLEN, // 23
|
|
223
|
+
BossID.GATE, // 46 (added in Repentance)
|
|
224
|
+
BossID.CAGE, // 48 (added in Repentance)
|
|
228
225
|
// - `BossID.ADVERSARY` (51) was removed in Repentance.
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
226
|
+
BossID.BROWNIE, // 58
|
|
227
|
+
BossID.SISTERS_VIS, // 68
|
|
228
|
+
BossID.REAP_CREEP, // 74 (added in Repentance)
|
|
232
229
|
];
|
|
233
230
|
/**
|
|
234
231
|
* For `StageID.MAUSOLEUM` (31).
|
|
@@ -236,9 +233,9 @@ const DANK_DEPTHS_BOSSES = [
|
|
|
236
233
|
* Note that this set includes Mausoleum Mom, even though they are not technically in the boss pool.
|
|
237
234
|
*/
|
|
238
235
|
const MAUSOLEUM_BOSSES = [
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
236
|
+
BossID.SIREN, // 79
|
|
237
|
+
BossID.HERETIC, // 81
|
|
238
|
+
BossID.MAUSOLEUM_MOM, // 89
|
|
242
239
|
];
|
|
243
240
|
/**
|
|
244
241
|
* For `StageID.GEHENNA` (32).
|
|
@@ -246,12 +243,12 @@ const MAUSOLEUM_BOSSES = [
|
|
|
246
243
|
* Note that this set includes Mausoleum Mom, even though they are not technically in the boss pool.
|
|
247
244
|
*/
|
|
248
245
|
const GEHENNA_BOSSES = [
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
246
|
+
BossID.VISAGE, // 78
|
|
247
|
+
BossID.MAUSOLEUM_MOM, // 89
|
|
248
|
+
BossID.HORNY_BOYS, // 101
|
|
252
249
|
];
|
|
253
250
|
/** The set of unique bosses for Depths, Necropolis, Dank Depths, Mausoleum, and Gehenna. */
|
|
254
|
-
const ALL_DEPTHS_BOSSES_SET = new
|
|
251
|
+
const ALL_DEPTHS_BOSSES_SET = new ReadonlySet([
|
|
255
252
|
...DEPTHS_BOSSES,
|
|
256
253
|
...NECROPOLIS_BOSSES,
|
|
257
254
|
...DANK_DEPTHS_BOSSES,
|
|
@@ -265,23 +262,23 @@ const ALL_DEPTHS_BOSSES_SET = new ReadonlySet_1.ReadonlySet([
|
|
|
265
262
|
* boss pool.
|
|
266
263
|
*/
|
|
267
264
|
const WOMB_BOSSES = [
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
265
|
+
BossID.SCOLEX, // 7
|
|
266
|
+
BossID.MOMS_HEART, // 8
|
|
267
|
+
BossID.DEATH, // 12
|
|
268
|
+
BossID.BLASTOCYST, // 16
|
|
269
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
270
|
+
BossID.FALLEN, // 23
|
|
271
|
+
BossID.IT_LIVES, // 25
|
|
275
272
|
// - `BossID.BLOAT` (30) was removed in Repentance.
|
|
276
|
-
|
|
273
|
+
BossID.LOKII, // 31
|
|
277
274
|
// - `BossID.TERATOMA` (33) was removed in Repentance.
|
|
278
|
-
|
|
275
|
+
BossID.CONQUEST, // 38
|
|
279
276
|
// - `BossID.DADDY_LONG_LEGS` (41) was removed in Repentance.
|
|
280
277
|
// - `BossID.TRIACHNID` (42) was removed in Repentance.
|
|
281
|
-
|
|
282
|
-
|
|
278
|
+
BossID.MAMA_GURDY, // 49
|
|
279
|
+
BossID.MR_FRED, // 53
|
|
283
280
|
// - `BossID.SISTERS_VIS` (68) was removed in Repentance.
|
|
284
|
-
|
|
281
|
+
BossID.MATRIARCH, // 72
|
|
285
282
|
];
|
|
286
283
|
/**
|
|
287
284
|
* For `StageID.UTERO` (11).
|
|
@@ -290,18 +287,18 @@ const WOMB_BOSSES = [
|
|
|
290
287
|
* boss pool.
|
|
291
288
|
*/
|
|
292
289
|
const UTERO_BOSSES = [
|
|
293
|
-
|
|
294
|
-
|
|
290
|
+
BossID.MOMS_HEART, // 8
|
|
291
|
+
BossID.DEATH, // 12
|
|
295
292
|
// - `BossID.BLASTOCYST` (16) was removed in Repentance.
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
293
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
294
|
+
BossID.FALLEN, // 23
|
|
295
|
+
BossID.IT_LIVES, // 25
|
|
296
|
+
BossID.BLOAT, // 30
|
|
297
|
+
BossID.LOKII, // 31
|
|
298
|
+
BossID.TERATOMA, // 33
|
|
299
|
+
BossID.CONQUEST, // 38
|
|
300
|
+
BossID.DADDY_LONG_LEGS, // 41
|
|
301
|
+
BossID.TRIACHNID, // 42
|
|
305
302
|
// - `BossID.MAMA_GURDY` (49) was removed in Repentance.
|
|
306
303
|
// - `BossID.MR_FRED` (52) was removed in Repentance.
|
|
307
304
|
// - `BossID.SISTERS_VIS` (68) was removed in Repentance.
|
|
@@ -314,23 +311,23 @@ const UTERO_BOSSES = [
|
|
|
314
311
|
* boss pool.
|
|
315
312
|
*/
|
|
316
313
|
const SCARRED_WOMB_BOSSES = [
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
314
|
+
BossID.SCOLEX, // 7
|
|
315
|
+
BossID.MOMS_HEART, // 8
|
|
316
|
+
BossID.DEATH, // 12
|
|
317
|
+
BossID.BLASTOCYST, // 16
|
|
318
|
+
BossID.HEADLESS_HORSEMAN, // 22
|
|
319
|
+
BossID.FALLEN, // 23
|
|
320
|
+
BossID.IT_LIVES, // 25
|
|
324
321
|
// - `BossID.BLOAT` (30) was removed in Repentance.
|
|
325
|
-
|
|
322
|
+
BossID.LOKII, // 31 (added in Repentance)
|
|
326
323
|
// - `BossID.TERATOMA` (33) was removed in Repentance.
|
|
327
|
-
|
|
324
|
+
BossID.CONQUEST, // 38
|
|
328
325
|
// - `BossID.DADDY_LONG_LEGS` (41) was removed in Repentance.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
326
|
+
BossID.TRIACHNID, // 42
|
|
327
|
+
BossID.MAMA_GURDY, // 49
|
|
328
|
+
BossID.MR_FRED, // 53 (added in Repentance)
|
|
332
329
|
// - `BossID.SISTERS_VIS` (68) was removed in Repentance.
|
|
333
|
-
|
|
330
|
+
BossID.MATRIARCH, // 72
|
|
334
331
|
];
|
|
335
332
|
/**
|
|
336
333
|
* For `StageID.CORPSE` (33).
|
|
@@ -338,29 +335,29 @@ const SCARRED_WOMB_BOSSES = [
|
|
|
338
335
|
* Note that this set includes Mother, even though she is not technically in the boss pool.
|
|
339
336
|
*/
|
|
340
337
|
const CORPSE_BOSSES = [
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
338
|
+
BossID.SCOURGE, // 85
|
|
339
|
+
BossID.CHIMERA, // 86
|
|
340
|
+
BossID.ROTGUT, // 87
|
|
341
|
+
BossID.MOTHER, // 88
|
|
345
342
|
];
|
|
346
343
|
/** The set of unique bosses for Womb, Utero, Scarred Womb, and Corpse. */
|
|
347
|
-
const ALL_WOMB_BOSSES_SET = new
|
|
344
|
+
const ALL_WOMB_BOSSES_SET = new ReadonlySet([
|
|
348
345
|
...WOMB_BOSSES,
|
|
349
346
|
...UTERO_BOSSES,
|
|
350
347
|
...SCARRED_WOMB_BOSSES,
|
|
351
348
|
...CORPSE_BOSSES,
|
|
352
349
|
]);
|
|
353
350
|
const BLUE_WOMB_BOSSES = [
|
|
354
|
-
|
|
351
|
+
BossID.HUSH, // 63
|
|
355
352
|
];
|
|
356
|
-
const ALL_BLUE_WOMB_BOSSES_SET = new
|
|
353
|
+
const ALL_BLUE_WOMB_BOSSES_SET = new ReadonlySet([...BLUE_WOMB_BOSSES]);
|
|
357
354
|
const SHEOL_BOSSES = [
|
|
358
|
-
|
|
355
|
+
BossID.SATAN, // 24
|
|
359
356
|
];
|
|
360
357
|
const CATHEDRAL_BOSSES = [
|
|
361
|
-
|
|
358
|
+
BossID.ISAAC, // 39
|
|
362
359
|
];
|
|
363
|
-
const ALL_STAGE_10_BOSSES_SET = new
|
|
360
|
+
const ALL_STAGE_10_BOSSES_SET = new ReadonlySet([
|
|
364
361
|
...SHEOL_BOSSES,
|
|
365
362
|
...CATHEDRAL_BOSSES,
|
|
366
363
|
]);
|
|
@@ -368,83 +365,83 @@ const ALL_STAGE_10_BOSSES_SET = new ReadonlySet_1.ReadonlySet([
|
|
|
368
365
|
* Note that this set includes Mega Satan, even though they are not technically in the boss pool.
|
|
369
366
|
*/
|
|
370
367
|
const DARK_ROOM_BOSSES = [
|
|
371
|
-
|
|
372
|
-
|
|
368
|
+
BossID.LAMB, // 54
|
|
369
|
+
BossID.MEGA_SATAN, // 55
|
|
373
370
|
];
|
|
374
371
|
/**
|
|
375
372
|
* Note that this set includes Mega Satan, even though they are not technically in the boss pool.
|
|
376
373
|
*/
|
|
377
374
|
const CHEST_BOSSES = [
|
|
378
|
-
|
|
379
|
-
|
|
375
|
+
BossID.BLUE_BABY, // 40
|
|
376
|
+
BossID.MEGA_SATAN, // 55
|
|
380
377
|
];
|
|
381
|
-
const ALL_STAGE_11_BOSSES_SET = new
|
|
378
|
+
const ALL_STAGE_11_BOSSES_SET = new ReadonlySet([
|
|
382
379
|
...DARK_ROOM_BOSSES,
|
|
383
380
|
...CHEST_BOSSES,
|
|
384
381
|
]);
|
|
385
382
|
const VOID_BOSSES = [
|
|
386
|
-
|
|
383
|
+
BossID.DELIRIUM, // 70
|
|
387
384
|
];
|
|
388
|
-
const ALL_VOID_BOSSES_SET = new
|
|
385
|
+
const ALL_VOID_BOSSES_SET = new ReadonlySet([...VOID_BOSSES]);
|
|
389
386
|
/**
|
|
390
387
|
* Includes Dogma and The Beast. Does not include Ultra Famine, Ultra Pestilence, Ultra War, and
|
|
391
388
|
* Ultra Death (since they do not have boss IDs).
|
|
392
389
|
*/
|
|
393
390
|
const HOME_BOSSES = [
|
|
394
|
-
|
|
395
|
-
|
|
391
|
+
BossID.DOGMA, // 99
|
|
392
|
+
BossID.BEAST, // 100
|
|
396
393
|
];
|
|
397
|
-
const ALL_HOME_BOSSES_SET = new
|
|
398
|
-
|
|
399
|
-
[
|
|
400
|
-
[
|
|
401
|
-
[
|
|
402
|
-
[
|
|
403
|
-
[
|
|
404
|
-
[
|
|
405
|
-
[
|
|
406
|
-
[
|
|
407
|
-
[
|
|
408
|
-
[
|
|
409
|
-
[
|
|
410
|
-
[
|
|
411
|
-
[
|
|
412
|
-
[
|
|
413
|
-
[
|
|
414
|
-
[
|
|
415
|
-
[
|
|
416
|
-
[
|
|
417
|
-
[
|
|
418
|
-
[
|
|
419
|
-
[
|
|
420
|
-
[
|
|
421
|
-
[
|
|
422
|
-
[
|
|
423
|
-
[
|
|
424
|
-
[
|
|
394
|
+
const ALL_HOME_BOSSES_SET = new ReadonlySet([...HOME_BOSSES]);
|
|
395
|
+
export const STAGE_ID_TO_BOSS_IDS = new ReadonlyMap([
|
|
396
|
+
[StageID.BASEMENT, BASEMENT_BOSSES], // 1
|
|
397
|
+
[StageID.CELLAR, CELLAR_BOSSES], // 2
|
|
398
|
+
[StageID.BURNING_BASEMENT, BURNING_BASEMENT_BOSSES], // 3
|
|
399
|
+
[StageID.DOWNPOUR, DOWNPOUR_BOSSES], // 27
|
|
400
|
+
[StageID.DROSS, DROSS_BOSSES], // 28
|
|
401
|
+
[StageID.CAVES, CAVES_BOSSES], // 4
|
|
402
|
+
[StageID.CATACOMBS, CATACOMBS_BOSSES], // 5
|
|
403
|
+
[StageID.FLOODED_CAVES, FLOODED_CAVES_BOSSES], // 6
|
|
404
|
+
[StageID.MINES, MINES_BOSSES], // 29
|
|
405
|
+
[StageID.ASHPIT, ASHPIT_BOSSES], // 30
|
|
406
|
+
[StageID.DEPTHS, DEPTHS_BOSSES], // 7
|
|
407
|
+
[StageID.NECROPOLIS, NECROPOLIS_BOSSES], // 8
|
|
408
|
+
[StageID.DANK_DEPTHS, DANK_DEPTHS_BOSSES], // 9
|
|
409
|
+
[StageID.MAUSOLEUM, MAUSOLEUM_BOSSES], // 31
|
|
410
|
+
[StageID.GEHENNA, GEHENNA_BOSSES], // 32
|
|
411
|
+
[StageID.WOMB, WOMB_BOSSES], // 10
|
|
412
|
+
[StageID.UTERO, UTERO_BOSSES], // 11
|
|
413
|
+
[StageID.SCARRED_WOMB, SCARRED_WOMB_BOSSES], // 12
|
|
414
|
+
[StageID.CORPSE, CORPSE_BOSSES], // 33
|
|
415
|
+
[StageID.BLUE_WOMB, BLUE_WOMB_BOSSES], // 13
|
|
416
|
+
[StageID.SHEOL, SHEOL_BOSSES], // 14
|
|
417
|
+
[StageID.CATHEDRAL, CATHEDRAL_BOSSES], // 15
|
|
418
|
+
[StageID.DARK_ROOM, DARK_ROOM_BOSSES], // 16
|
|
419
|
+
[StageID.CHEST, CHEST_BOSSES], // 17
|
|
420
|
+
[StageID.VOID, VOID_BOSSES], // 26
|
|
421
|
+
[StageID.HOME, HOME_BOSSES], // 35
|
|
425
422
|
]);
|
|
426
|
-
|
|
427
|
-
[
|
|
428
|
-
[
|
|
429
|
-
[
|
|
430
|
-
[
|
|
431
|
-
[
|
|
432
|
-
[
|
|
433
|
-
[
|
|
434
|
-
[
|
|
435
|
-
[
|
|
436
|
-
[
|
|
437
|
-
[
|
|
438
|
-
[
|
|
439
|
-
[
|
|
423
|
+
export const STAGE_TO_COMBINED_BOSS_SET_MAP = new ReadonlyMap([
|
|
424
|
+
[LevelStage.BASEMENT_1, ALL_BASEMENT_BOSSES_SET], // 1
|
|
425
|
+
[LevelStage.BASEMENT_2, ALL_BASEMENT_BOSSES_SET], // 2
|
|
426
|
+
[LevelStage.CAVES_1, ALL_CAVES_BOSSES_SET], // 3
|
|
427
|
+
[LevelStage.CAVES_2, ALL_CAVES_BOSSES_SET], // 4
|
|
428
|
+
[LevelStage.DEPTHS_1, ALL_DEPTHS_BOSSES_SET], // 5
|
|
429
|
+
[LevelStage.DEPTHS_2, ALL_DEPTHS_BOSSES_SET], // 6
|
|
430
|
+
[LevelStage.WOMB_1, ALL_WOMB_BOSSES_SET], // 7
|
|
431
|
+
[LevelStage.WOMB_2, ALL_WOMB_BOSSES_SET], // 8
|
|
432
|
+
[LevelStage.BLUE_WOMB, ALL_BLUE_WOMB_BOSSES_SET], // 9
|
|
433
|
+
[LevelStage.SHEOL_CATHEDRAL, ALL_STAGE_10_BOSSES_SET], // 10
|
|
434
|
+
[LevelStage.DARK_ROOM_CHEST, ALL_STAGE_11_BOSSES_SET], // 11
|
|
435
|
+
[LevelStage.VOID, ALL_VOID_BOSSES_SET], // 12
|
|
436
|
+
[LevelStage.HOME, ALL_HOME_BOSSES_SET], // 13
|
|
440
437
|
]);
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
438
|
+
export const ALL_BOSSES = BOSS_ID_VALUES.filter((bossID) => bossID !== BossID.RAGLICH);
|
|
439
|
+
export const NON_STORY_BOSSES = ALL_BOSSES.filter((bossID) => !isStoryBossID(bossID));
|
|
440
|
+
export const BOSS_ID_TO_STAGE_IDS = (() => {
|
|
444
441
|
const partialBossIDsToStageIDs = {};
|
|
445
|
-
for (const bossID of
|
|
442
|
+
for (const bossID of BOSS_ID_VALUES) {
|
|
446
443
|
const stageIDs = new Set();
|
|
447
|
-
for (const [stageID, bossIDs] of
|
|
444
|
+
for (const [stageID, bossIDs] of STAGE_ID_TO_BOSS_IDS) {
|
|
448
445
|
if (bossIDs.includes(bossID)) {
|
|
449
446
|
stageIDs.add(stageID);
|
|
450
447
|
}
|
|
@@ -457,9 +454,9 @@ exports.BOSS_ID_TO_STAGE_IDS = (() => {
|
|
|
457
454
|
// - BossID.ULTRA_GREEDIER (71)
|
|
458
455
|
// - BossID.MAUSOLEUM_MOMS_HEART (90)
|
|
459
456
|
// - BossID.RAGLICH (98)
|
|
460
|
-
bossIDsToStageIDs[
|
|
461
|
-
bossIDsToStageIDs[
|
|
462
|
-
bossIDsToStageIDs[
|
|
463
|
-
bossIDsToStageIDs[
|
|
457
|
+
bossIDsToStageIDs[BossID.ULTRA_GREED].add(StageID.ULTRA_GREED); // 62
|
|
458
|
+
bossIDsToStageIDs[BossID.ULTRA_GREEDIER].add(StageID.ULTRA_GREED); // 71
|
|
459
|
+
bossIDsToStageIDs[BossID.MAUSOLEUM_MOMS_HEART].add(StageID.MAUSOLEUM); // 90
|
|
460
|
+
bossIDsToStageIDs[BossID.MAUSOLEUM_MOMS_HEART].add(StageID.GEHENNA); // 90
|
|
464
461
|
return bossIDsToStageIDs;
|
|
465
462
|
})();
|