isaacscript-common 3.16.1 → 4.0.1-dev.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/cachedClasses.ts +39 -0
- package/callbacks/customRevive.lua +2 -1
- package/callbacks/customRevive.ts +215 -0
- package/callbacks/itemPickup.ts +101 -0
- package/callbacks/postAmbush.ts +73 -0
- package/callbacks/postBombExploded.ts +26 -0
- package/callbacks/postBombInitLate.ts +36 -0
- package/callbacks/postBoneSwing.ts +64 -0
- package/callbacks/postCollectibleInitFirst.ts +40 -0
- package/callbacks/postCursedTeleport.ts +183 -0
- package/callbacks/postCustomDoorEnter.lua +0 -7
- package/callbacks/postCustomDoorEnter.ts +292 -0
- package/callbacks/postDiceRoomActivated.ts +60 -0
- package/callbacks/postDoorRender.ts +26 -0
- package/callbacks/postDoorUpdate.ts +26 -0
- package/callbacks/postEffectInitLate.ts +36 -0
- package/callbacks/postEffectStateChanged.ts +43 -0
- package/callbacks/postEsauJr.ts +107 -0
- package/callbacks/postFamiliarInitLate.ts +36 -0
- package/callbacks/postFamiliarStateChanged.ts +43 -0
- package/callbacks/postFlip.ts +88 -0
- package/callbacks/postGreedModeWave.ts +41 -0
- package/callbacks/postGridEntity.ts +164 -0
- package/callbacks/postGridEntityCollision.ts +69 -0
- package/callbacks/postGridEntityRender.ts +26 -0
- package/callbacks/postHolyMantleRemoved.ts +55 -0
- package/callbacks/postItemDischarged.ts +149 -0
- package/callbacks/postKnifeInitLate.ts +36 -0
- package/callbacks/postLaserInitLate.ts +36 -0
- package/callbacks/postNPCInitLate.ts +36 -0
- package/callbacks/postNPCStateChanged.ts +42 -0
- package/callbacks/postNewRoomEarly.ts +90 -0
- package/callbacks/postPickupCollect.ts +48 -0
- package/callbacks/postPickupInitFirst.ts +70 -0
- package/callbacks/postPickupInitLate.ts +36 -0
- package/callbacks/postPickupStateChanged.ts +43 -0
- package/callbacks/postPitRender.ts +26 -0
- package/callbacks/postPitUpdate.ts +26 -0
- package/callbacks/postPlayerChangeHealth.ts +62 -0
- package/callbacks/postPlayerChangeType.ts +56 -0
- package/callbacks/postPlayerCollectible.ts +113 -0
- package/callbacks/postPlayerFatalDamage.ts +141 -0
- package/callbacks/postPlayerInitLate.ts +37 -0
- package/callbacks/postPlayerReordered.ts +142 -0
- package/callbacks/postPoopRender.ts +26 -0
- package/callbacks/postPoopUpdate.ts +26 -0
- package/callbacks/postPressurePlateRender.ts +26 -0
- package/callbacks/postPressurePlateUpdate.ts +26 -0
- package/callbacks/postProjectileInitLate.ts +36 -0
- package/callbacks/postPurchase.ts +64 -0
- package/callbacks/postRockRender.ts +26 -0
- package/callbacks/postRockUpdate.ts +26 -0
- package/callbacks/postRoomClearChanged.ts +57 -0
- package/callbacks/postSacrifice.ts +62 -0
- package/callbacks/postSlotDestroyed.ts +92 -0
- package/callbacks/postSlotInitUpdate.ts +68 -0
- package/callbacks/postSlotRender.ts +69 -0
- package/callbacks/postSpikesRender.ts +26 -0
- package/callbacks/postSpikesUpdate.ts +26 -0
- package/callbacks/postTNTRender.ts +26 -0
- package/callbacks/postTNTUpdate.ts +26 -0
- package/callbacks/postTearInitLate.ts +36 -0
- package/callbacks/postTearInitVeryLate.ts +41 -0
- package/callbacks/postTransformation.ts +59 -0
- package/callbacks/postTrinketBreak.ts +110 -0
- package/callbacks/preBerserkDeath.ts +49 -0
- package/callbacks/preNewLevel.ts +55 -0
- package/callbacks/reorderedCallbacks.ts +166 -0
- package/callbacks/subscriptions/postAmbushFinished.ts +32 -0
- package/callbacks/subscriptions/postAmbushStarted.ts +32 -0
- package/callbacks/subscriptions/postBombInitLate.ts +32 -0
- package/callbacks/subscriptions/postBoneExploded.ts +32 -0
- package/callbacks/subscriptions/postBoneSwing.ts +24 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
- package/callbacks/subscriptions/postCursedTeleport.ts +24 -0
- package/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
- package/callbacks/subscriptions/postCustomRevive.ts +36 -0
- package/callbacks/subscriptions/postDiceRoomActivated.ts +38 -0
- package/callbacks/subscriptions/postDoorRender.ts +35 -0
- package/callbacks/subscriptions/postDoorUpdate.ts +35 -0
- package/callbacks/subscriptions/postEffectInitLate.ts +32 -0
- package/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
- package/callbacks/subscriptions/postEsauJr.ts +24 -0
- package/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
- package/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
- package/callbacks/subscriptions/postFirstFlip.ts +24 -0
- package/callbacks/subscriptions/postFlip.ts +22 -0
- package/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
- package/callbacks/subscriptions/postGreedModeWave.ts +24 -0
- package/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
- package/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
- package/callbacks/subscriptions/postGridEntityInit.ts +51 -0
- package/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
- package/callbacks/subscriptions/postGridEntityRender.ts +51 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
- package/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
- package/callbacks/subscriptions/postItemDischarged.ts +43 -0
- package/callbacks/subscriptions/postItemPickup.ts +64 -0
- package/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
- package/callbacks/subscriptions/postLaserInitLate.ts +32 -0
- package/callbacks/subscriptions/postNPCInitLate.ts +32 -0
- package/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
- package/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
- package/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
- package/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
- package/callbacks/subscriptions/postPickupCollect.ts +35 -0
- package/callbacks/subscriptions/postPickupInitFirst.ts +32 -0
- package/callbacks/subscriptions/postPickupInitLate.ts +32 -0
- package/callbacks/subscriptions/postPickupStateChanged.ts +40 -0
- package/callbacks/subscriptions/postPitRender.ts +35 -0
- package/callbacks/subscriptions/postPitUpdate.ts +35 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.ts +49 -0
- package/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
- package/callbacks/subscriptions/postPlayerCollectibleAdded.d.ts +2 -3
- package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -7
- package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.d.ts +2 -3
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -7
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +38 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +1 -1
- package/callbacks/subscriptions/postPlayerFatalDamage.ts +68 -0
- package/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
- package/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
- package/callbacks/subscriptions/postPoopRender.ts +35 -0
- package/callbacks/subscriptions/postPoopUpdate.ts +35 -0
- package/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
- package/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
- package/callbacks/subscriptions/postPurchase.ts +31 -0
- package/callbacks/subscriptions/postRockRender.ts +35 -0
- package/callbacks/subscriptions/postRockUpdate.ts +35 -0
- package/callbacks/subscriptions/postRoomClearChanged.ts +30 -0
- package/callbacks/subscriptions/postSacrifice.ts +43 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
- package/callbacks/subscriptions/postSlotDestroyed.ts +55 -0
- package/callbacks/subscriptions/postSlotInit.ts +32 -0
- package/callbacks/subscriptions/postSlotRender.ts +32 -0
- package/callbacks/subscriptions/postSlotUpdate.ts +32 -0
- package/callbacks/subscriptions/postSpikesRender.ts +35 -0
- package/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
- package/callbacks/subscriptions/postTNTRender.ts +35 -0
- package/callbacks/subscriptions/postTNTUpdate.ts +35 -0
- package/callbacks/subscriptions/postTearInitLate.ts +32 -0
- package/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
- package/callbacks/subscriptions/postTransformation.ts +40 -0
- package/callbacks/subscriptions/postTrinketBreak.ts +38 -0
- package/callbacks/subscriptions/preBerserkDeath.d.ts +1 -1
- package/callbacks/subscriptions/preBerserkDeath.ts +42 -0
- package/callbacks/subscriptions/preCustomRevive.d.ts +1 -1
- package/callbacks/subscriptions/preCustomRevive.ts +46 -0
- package/callbacks/subscriptions/preItemPickup.ts +64 -0
- package/callbacks/subscriptions/preNewLevel.ts +24 -0
- package/classes/DefaultMap.ts +174 -0
- package/classes/ModUpgraded.d.ts +3 -3
- package/classes/ModUpgraded.lua +3 -6
- package/classes/ModUpgraded.ts +77 -0
- package/constants.ts +162 -0
- package/constantsFirstLast.ts +217 -0
- package/enums/AmbushType.ts +4 -0
- package/enums/HealthType.ts +16 -0
- package/enums/ModCallbackCustom.d.ts +20 -18
- package/enums/ModCallbackCustom.ts +1278 -0
- package/enums/PocketItemType.ts +8 -0
- package/enums/SerializationType.ts +5 -0
- package/enums/SlotDestructionType.ts +4 -0
- package/enums/private/CopyableIsaacAPIClassType.ts +7 -0
- package/enums/private/SaveDataKey.ts +14 -0
- package/enums/private/SerializationBrand.ts +42 -0
- package/features/characterHealthConversion.lua +2 -9
- package/features/characterHealthConversion.ts +111 -0
- package/features/characterStats.ts +61 -0
- package/features/debugDisplay/debugDisplay.ts +221 -0
- package/features/debugDisplay/exports.ts +368 -0
- package/features/debugDisplay/v.ts +65 -0
- package/features/deployJSONRoom.ts +743 -0
- package/features/disableInputs.ts +193 -0
- package/features/disableSound.ts +77 -0
- package/features/extraConsoleCommands/commandsDisplay.ts +290 -0
- package/features/extraConsoleCommands/commandsSubroutines.lua +1 -1
- package/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
- package/features/extraConsoleCommands/init.ts +334 -0
- package/features/extraConsoleCommands/listCommands.ts +1299 -0
- package/features/extraConsoleCommands/v.ts +14 -0
- package/features/fadeInRemover.ts +60 -0
- package/features/fastReset.ts +75 -0
- package/features/forgottenSwitch.ts +50 -0
- package/features/getCollectibleItemPoolType.ts +66 -0
- package/features/persistentEntities.ts +183 -0
- package/features/playerInventory.ts +133 -0
- package/features/ponyDetection.ts +74 -0
- package/features/preventCollectibleRotation.ts +115 -0
- package/features/runInNFrames.ts +148 -0
- package/features/saveDataManager/constants.ts +4 -0
- package/features/saveDataManager/exports.ts +229 -0
- package/features/saveDataManager/load.ts +99 -0
- package/features/saveDataManager/main.ts +195 -0
- package/features/saveDataManager/maps.ts +13 -0
- package/features/saveDataManager/merge.ts +194 -0
- package/features/saveDataManager/save.ts +74 -0
- package/features/saveDataManager/serializationBrand.ts +16 -0
- package/features/sirenHelpers.ts +129 -0
- package/features/taintedLazarusPlayers.ts +113 -0
- package/featuresInitialized.ts +20 -0
- package/functions/ambush.ts +47 -0
- package/functions/array.ts +410 -0
- package/functions/benchmark.ts +36 -0
- package/functions/bitwise.ts +24 -0
- package/functions/bombs.ts +12 -0
- package/functions/boss.ts +227 -0
- package/functions/cacheFlag.ts +12 -0
- package/functions/cards.lua +1 -1
- package/functions/cards.ts +271 -0
- package/functions/challenges.ts +13 -0
- package/functions/character.ts +126 -0
- package/functions/charge.ts +237 -0
- package/functions/chargeBar.ts +67 -0
- package/functions/collectibleCacheFlag.ts +90 -0
- package/functions/collectibleSet.ts +56 -0
- package/functions/collectibleTag.ts +89 -0
- package/functions/collectibles.ts +659 -0
- package/functions/color.d.ts +1 -1
- package/functions/color.lua +0 -7
- package/functions/color.ts +128 -0
- package/functions/debug.lua +2 -2
- package/functions/debug.ts +68 -0
- package/functions/deepCopy.lua +46 -51
- package/functions/deepCopy.ts +535 -0
- package/functions/deepCopyTests.ts +386 -0
- package/functions/direction.ts +49 -0
- package/functions/doors.lua +1 -2
- package/functions/doors.ts +347 -0
- package/functions/easing.ts +182 -0
- package/functions/eden.ts +47 -0
- package/functions/effects.ts +20 -0
- package/functions/entity.ts +439 -0
- package/functions/entitySpecific.ts +889 -0
- package/functions/entityTypes.ts +6 -0
- package/functions/enums.ts +146 -0
- package/functions/familiars.ts +106 -0
- package/functions/flag.ts +165 -0
- package/functions/flying.ts +117 -0
- package/functions/globals.d.ts +3 -3
- package/functions/globals.lua +8 -2
- package/functions/globals.ts +242 -0
- package/functions/gridEntity.ts +511 -0
- package/functions/gridEntitySpecific.ts +112 -0
- package/functions/input.ts +139 -0
- package/functions/isaacAPIClass.ts +67 -0
- package/functions/jsonHelpers.ts +45 -0
- package/functions/jsonRoom.ts +100 -0
- package/functions/kColor.d.ts +1 -1
- package/functions/kColor.lua +0 -7
- package/functions/kColor.ts +129 -0
- package/functions/language.ts +13 -0
- package/functions/level.ts +31 -0
- package/functions/log.ts +720 -0
- package/functions/map.ts +56 -0
- package/functions/math.ts +149 -0
- package/functions/mergeTests.ts +288 -0
- package/functions/npc.ts +148 -0
- package/functions/pickupVariants.ts +60 -0
- package/functions/pickups.ts +499 -0
- package/functions/pills.lua +1 -1
- package/functions/pills.ts +205 -0
- package/functions/player.lua +0 -6
- package/functions/player.ts +1060 -0
- package/functions/playerDataStructures.ts +150 -0
- package/functions/playerHealth.d.ts +2 -0
- package/functions/playerHealth.lua +73 -39
- package/functions/playerHealth.ts +382 -0
- package/functions/playerIndex.ts +195 -0
- package/functions/pocketItems.ts +149 -0
- package/functions/positionVelocity.ts +188 -0
- package/functions/random.ts +77 -0
- package/functions/revive.ts +201 -0
- package/functions/rng.d.ts +1 -1
- package/functions/rng.lua +0 -7
- package/functions/rng.ts +172 -0
- package/functions/roomData.ts +199 -0
- package/functions/roomGrid.ts +109 -0
- package/functions/roomShape.ts +80 -0
- package/functions/rooms.lua +1 -3
- package/functions/rooms.ts +648 -0
- package/functions/run.ts +36 -0
- package/functions/saveFile.ts +128 -0
- package/functions/seeds.ts +19 -0
- package/functions/serialization.lua +0 -3
- package/functions/serialization.ts +91 -0
- package/functions/set.ts +95 -0
- package/functions/sound.ts +9 -0
- package/functions/spawnCollectible.ts +104 -0
- package/functions/sprite.ts +107 -0
- package/functions/stage.ts +125 -0
- package/functions/string.ts +47 -0
- package/functions/table.ts +189 -0
- package/functions/tears.ts +32 -0
- package/functions/transformations.lua +1 -3
- package/functions/transformations.ts +131 -0
- package/functions/trinketCacheFlag.ts +60 -0
- package/functions/trinketGive.ts +157 -0
- package/functions/trinkets.ts +215 -0
- package/functions/tstlClass.ts +157 -0
- package/functions/types.ts +36 -0
- package/functions/ui.ts +138 -0
- package/functions/utils.d.ts +0 -37
- package/functions/utils.lua +0 -35
- package/functions/utils.ts +189 -0
- package/functions/vector.d.ts +1 -1
- package/functions/vector.lua +0 -7
- package/functions/vector.ts +126 -0
- package/index.ts +172 -0
- package/initCustomCallbacks.ts +132 -0
- package/initFeatures.ts +39 -0
- package/interfaces/AddCallbackParameterCustom.ts +188 -0
- package/interfaces/ChargeBarSprites.ts +12 -0
- package/interfaces/JSONDoor.d.ts +4 -4
- package/interfaces/JSONDoor.ts +13 -0
- package/interfaces/JSONEntity.d.ts +5 -5
- package/interfaces/JSONEntity.ts +16 -0
- package/interfaces/JSONRoom.d.ts +9 -9
- package/interfaces/JSONRoom.ts +36 -0
- package/interfaces/JSONRooms.ts +12 -0
- package/interfaces/JSONSpawn.d.ts +3 -3
- package/interfaces/JSONSpawn.ts +14 -0
- package/interfaces/PlayerHealth.ts +16 -0
- package/interfaces/PocketItemDescription.ts +9 -0
- package/interfaces/SaveData.ts +29 -0
- package/interfaces/TrinketSituation.ts +9 -0
- package/interfaces/private/TSTLClassMetatable.ts +8 -0
- package/maps/PHDPillConversions.ts +21 -0
- package/maps/cardMap.ts +209 -0
- package/maps/characterMap.ts +87 -0
- package/maps/collectibleDescriptionMap.ts +732 -0
- package/maps/collectibleNameMap.ts +731 -0
- package/maps/defaultPlayerStatMap.ts +17 -0
- package/maps/falsePHDPillConversions.ts +35 -0
- package/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
- package/maps/gridEntityXMLMap.ts +176 -0
- package/maps/pillEffectMap.ts +88 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
- package/maps/roomTypeMap.ts +40 -0
- package/maps/trinketDescriptionMap.ts +200 -0
- package/maps/trinketNameMap.ts +198 -0
- package/objects/LRoomShapeToRectangles.ts +44 -0
- package/objects/callbackRegisterFunctions.ts +187 -0
- package/objects/cardDescriptions.ts +105 -0
- package/objects/cardNames.ts +105 -0
- package/objects/cardTypes.ts +104 -0
- package/objects/challengeNames.ts +52 -0
- package/objects/characterNames.ts +48 -0
- package/objects/coinSubTypeToValue.ts +14 -0
- package/objects/colors.ts +16 -0
- package/objects/directionNames.ts +11 -0
- package/objects/directionToDegrees.ts +11 -0
- package/objects/directionToVector.ts +12 -0
- package/objects/doorSlotFlagToDoorSlot.ts +16 -0
- package/objects/doorSlotToDirection.ts +14 -0
- package/objects/isaacAPIClassTypeToBrand.ts +11 -0
- package/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
- package/objects/languageNames.ts +13 -0
- package/objects/oppositeDoorSlots.ts +15 -0
- package/objects/pillEffectClasses.ts +63 -0
- package/objects/pillEffectNames.ts +57 -0
- package/objects/pillEffectTypes.ts +62 -0
- package/objects/roomShapeBounds.ts +71 -0
- package/objects/roomShapeLayoutSizes.ts +45 -0
- package/objects/roomShapeToBottomRightPosition.ts +25 -0
- package/objects/roomShapeToDoorSlots.ts +83 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
- package/objects/roomShapeToGridWidth.ts +21 -0
- package/objects/roomShapeToTopLeftPosition.ts +26 -0
- package/objects/roomShapeVolumes.ts +38 -0
- package/objects/roomTypeNames.ts +36 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
- package/objects/stageTypeToLetter.ts +15 -0
- package/objects/transformationNames.d.ts +0 -1
- package/objects/transformationNames.lua +0 -1
- package/objects/transformationNames.ts +18 -0
- package/package.json +2 -2
- package/patchErrorFunctions.ts +92 -0
- package/sets/LRoomShapesSet.ts +8 -0
- package/sets/bossSets.ts +470 -0
- package/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
- package/sets/charactersWithFreeDevilDealsSet.ts +4 -0
- package/sets/charactersWithNoRedHeartsSet.ts +17 -0
- package/sets/charactersWithNoSoulHeartsSet.ts +14 -0
- package/sets/chestPickupVariantsSet.ts +16 -0
- package/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
- package/sets/lostStyleCharactersSet.ts +13 -0
- package/sets/mineShaftRoomSubTypesSet.ts +10 -0
- package/sets/redHeartSubTypesSet.ts +7 -0
- package/sets/sinEntityTypesSet.ts +11 -0
- package/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
- package/sets/storyBossesSet.ts +17 -0
- package/types/AnyEntity.ts +12 -0
- package/types/AwaitingTextInput.d.ts +2 -0
- package/types/CollectibleIndex.d.ts +1 -1
- package/types/CollectibleIndex.ts +16 -0
- package/types/PickingUpItem.d.ts +3 -3
- package/types/PickingUpItem.ts +89 -0
- package/types/PlayerIndex.d.ts +1 -1
- package/types/PlayerIndex.ts +13 -0
- package/types/private/IsaacAPIClass.d.ts +1 -1
- package/types/private/IsaacAPIClass.ts +3 -0
- package/types/private/SerializedIsaacAPIClass.d.ts +1 -1
- package/types/private/SerializedIsaacAPIClass.ts +3 -0
- package/types/private/TSTLClass.d.ts +1 -1
- package/types/private/TSTLClass.ts +3 -0
- package/upgradeMod.d.ts +2 -2
- package/upgradeMod.lua +2 -2
- package/upgradeMod.ts +55 -0
package/sets/bossSets.ts
ADDED
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BigHornVariant,
|
|
3
|
+
ChubVariant,
|
|
4
|
+
DaddyLongLegsVariant,
|
|
5
|
+
DingleVariant,
|
|
6
|
+
DukeVariant,
|
|
7
|
+
EntityType,
|
|
8
|
+
FallenVariant,
|
|
9
|
+
FistulaVariant,
|
|
10
|
+
GeminiVariant,
|
|
11
|
+
GurglingVariant,
|
|
12
|
+
HauntVariant,
|
|
13
|
+
IsaacVariant,
|
|
14
|
+
LambVariant,
|
|
15
|
+
LarryJrVariant,
|
|
16
|
+
LittleHornVariant,
|
|
17
|
+
LokiVariant,
|
|
18
|
+
MamaGurdyVariant,
|
|
19
|
+
MomsHeartVariant,
|
|
20
|
+
MomVariant,
|
|
21
|
+
Monstro2Variant,
|
|
22
|
+
PeepVariant,
|
|
23
|
+
PinVariant,
|
|
24
|
+
PolycephalusVariant,
|
|
25
|
+
RagManVariant,
|
|
26
|
+
RagMegaVariant,
|
|
27
|
+
SatanVariant,
|
|
28
|
+
StageType,
|
|
29
|
+
WarVariant,
|
|
30
|
+
WidowVariant,
|
|
31
|
+
} from "isaac-typescript-definitions";
|
|
32
|
+
|
|
33
|
+
// The "bosspools.xml" file does not actually correspond to the real boss pools, so these sets were
|
|
34
|
+
// determined through experimentation on v1.7.8a.
|
|
35
|
+
|
|
36
|
+
/** Contains just the bosses in Basement (not e.g. Burning Basement). */
|
|
37
|
+
const BASEMENT_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
38
|
+
`${EntityType.LARRY_JR}.${LarryJrVariant.LARRY_JR}`, // 19.0
|
|
39
|
+
`${EntityType.MONSTRO}.0`, // 20.0
|
|
40
|
+
`${EntityType.FAMINE}.0`, // 63.0
|
|
41
|
+
`${EntityType.DUKE}.${DukeVariant.DUKE_OF_FLIES}`, // 67.0
|
|
42
|
+
`${EntityType.GEMINI}.${GeminiVariant.GEMINI}`, // 79.0
|
|
43
|
+
`${EntityType.GEMINI}.${GeminiVariant.STEVEN}`, // 79.1
|
|
44
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
45
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
46
|
+
`${EntityType.GURGLING}.${GurglingVariant.GURGLING_BOSS}`, // 237.1
|
|
47
|
+
`${EntityType.GURGLING}.${GurglingVariant.TURDLING}`, // 237.2
|
|
48
|
+
`${EntityType.DINGLE}.${DingleVariant.DINGLE}`, // 261.0
|
|
49
|
+
`${EntityType.DINGLE}.${DingleVariant.DANGLE}`, // 261.1
|
|
50
|
+
`${EntityType.LITTLE_HORN}.${LittleHornVariant.LITTLE_HORN}`, // 404.0
|
|
51
|
+
`${EntityType.BABY_PLUM}.0`, // 908.0
|
|
52
|
+
]);
|
|
53
|
+
|
|
54
|
+
/** Contains just the bosses in Cellar (not e.g. Burning Basement). */
|
|
55
|
+
const CELLAR_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
56
|
+
`${EntityType.PIN}.${PinVariant.PIN}`, // 62.0
|
|
57
|
+
`${EntityType.FAMINE}.0`, // 63.0
|
|
58
|
+
`${EntityType.DUKE}.${DukeVariant.DUKE_OF_FLIES}`, // 67.0
|
|
59
|
+
`${EntityType.GEMINI}.${GeminiVariant.BLIGHTED_OVUM}`, // 79.2
|
|
60
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
61
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
62
|
+
`${EntityType.WIDOW}.${WidowVariant.WIDOW}`, // 100.0
|
|
63
|
+
`${EntityType.THE_HAUNT}.${HauntVariant.HAUNT}`, // 260.0
|
|
64
|
+
`${EntityType.LITTLE_HORN}.0`, // 404.0
|
|
65
|
+
`${EntityType.RAG_MAN}.${RagManVariant.RAG_MAN}`, // 405.0
|
|
66
|
+
`${EntityType.BABY_PLUM}.0`, // 908.0
|
|
67
|
+
]);
|
|
68
|
+
|
|
69
|
+
/** Contains just the bosses in Burning Basement (not e.g. Cellar). */
|
|
70
|
+
const BURNING_BASEMENT_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
71
|
+
`${EntityType.LARRY_JR}.${LarryJrVariant.LARRY_JR}`, // 19.0
|
|
72
|
+
`${EntityType.MONSTRO}.0`, // 20.0
|
|
73
|
+
`${EntityType.FAMINE}.0`, // 63.0
|
|
74
|
+
`${EntityType.DUKE}.${DukeVariant.DUKE_OF_FLIES}`, // 67.0
|
|
75
|
+
`${EntityType.GEMINI}.${GeminiVariant.GEMINI}`, // 79.0
|
|
76
|
+
`${EntityType.GEMINI}.${GeminiVariant.STEVEN}`, // 79.1
|
|
77
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
78
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
79
|
+
`${EntityType.DINGLE}.${DingleVariant.DINGLE}`, // 261.0
|
|
80
|
+
`${EntityType.GURGLING}.${GurglingVariant.GURGLING_BOSS}`, // 237.1
|
|
81
|
+
`${EntityType.GURGLING}.${GurglingVariant.TURDLING}`, // 237.2
|
|
82
|
+
`${EntityType.DINGLE}.${DingleVariant.DANGLE}`, // 261.1
|
|
83
|
+
`${EntityType.LITTLE_HORN}.0`, // 404.0
|
|
84
|
+
`${EntityType.RAG_MAN}.${RagManVariant.RAG_MAN}`, // 405.0
|
|
85
|
+
`${EntityType.BABY_PLUM}.0`, // 908.0
|
|
86
|
+
]);
|
|
87
|
+
|
|
88
|
+
/** Contains just the bosses in Downpour (not e.g. Burning Basement). */
|
|
89
|
+
const DOWNPOUR_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
90
|
+
`${EntityType.PIN}.${PinVariant.WORMWOOD}`, // 62.3
|
|
91
|
+
`${EntityType.LIL_BLUB}.0`, // 901.0
|
|
92
|
+
`${EntityType.RAINMAKER}.0`, // 902.0
|
|
93
|
+
`${EntityType.MIN_MIN}.0`, // 913.0
|
|
94
|
+
]);
|
|
95
|
+
|
|
96
|
+
/** Contains just the bosses in Dross (not e.g. Burning Basement). */
|
|
97
|
+
const DROSS_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
98
|
+
`${EntityType.PIN}.${PinVariant.WORMWOOD}`, // 62.3
|
|
99
|
+
`${EntityType.LIL_BLUB}.0`, // 901.0
|
|
100
|
+
`${EntityType.CLOG}.0`, // 914.0
|
|
101
|
+
`${EntityType.COLOSTOMIA}.0`, // 917.0
|
|
102
|
+
`${EntityType.TURDLET}.0`, // 918.0
|
|
103
|
+
]);
|
|
104
|
+
|
|
105
|
+
/** The set of unique bosses for Basement, Cellar, and so on. */
|
|
106
|
+
const ALL_BASEMENT_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
107
|
+
...BASEMENT_BOSSES_SET.values(),
|
|
108
|
+
...CELLAR_BOSSES_SET.values(),
|
|
109
|
+
...BURNING_BASEMENT_BOSSES_SET.values(),
|
|
110
|
+
...DOWNPOUR_BOSSES_SET.values(),
|
|
111
|
+
...DROSS_BOSSES_SET.values(),
|
|
112
|
+
]);
|
|
113
|
+
|
|
114
|
+
const BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
115
|
+
StageType,
|
|
116
|
+
ReadonlySet<string>
|
|
117
|
+
> = new Map([
|
|
118
|
+
[StageType.ORIGINAL, BASEMENT_BOSSES_SET],
|
|
119
|
+
[StageType.WRATH_OF_THE_LAMB, CELLAR_BOSSES_SET],
|
|
120
|
+
[StageType.AFTERBIRTH, BURNING_BASEMENT_BOSSES_SET],
|
|
121
|
+
[StageType.REPENTANCE, DOWNPOUR_BOSSES_SET],
|
|
122
|
+
[StageType.REPENTANCE_B, DROSS_BOSSES_SET],
|
|
123
|
+
]);
|
|
124
|
+
|
|
125
|
+
/** Contains just the bosses in Caves (not e.g. Flooded Caves). */
|
|
126
|
+
const CAVES_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
127
|
+
`${EntityType.CHUB}.${ChubVariant.CHUB}`, // 28.0
|
|
128
|
+
`${EntityType.CHUB}.${ChubVariant.CHAD}`, // 28.1
|
|
129
|
+
`${EntityType.GURDY}.0`, // 36.0
|
|
130
|
+
`${EntityType.PESTILENCE}.0`, // 64.0
|
|
131
|
+
`${EntityType.PEEP}.0`, // 68.0
|
|
132
|
+
`${EntityType.FISTULA_BIG}.${FistulaVariant.FISTULA}`, // 71.0
|
|
133
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
134
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
135
|
+
`${EntityType.GURDY_JR}.0`, // 99.0
|
|
136
|
+
`${EntityType.MEGA_MAW}.0`, // 262.0
|
|
137
|
+
`${EntityType.MEGA_FATTY}.0`, // 264.0
|
|
138
|
+
`${EntityType.STAIN}.0`, // 401.0
|
|
139
|
+
`${EntityType.RAG_MEGA}.${RagMegaVariant.RAG_MEGA}`, // 409.0
|
|
140
|
+
`${EntityType.BIG_HORN}.${BigHornVariant.BIG_HORN}`, // 411.0
|
|
141
|
+
`${EntityType.BUMBINO}.0`, // 916.0
|
|
142
|
+
]);
|
|
143
|
+
|
|
144
|
+
/** Contains just the bosses in Catacombs (not e.g. Flooded Caves). */
|
|
145
|
+
const CATACOMBS_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
146
|
+
`${EntityType.LARRY_JR}.${LarryJrVariant.THE_HOLLOW}`, // 19.1
|
|
147
|
+
`${EntityType.CHUB}.${ChubVariant.CARRION_QUEEN}`, // 28.2
|
|
148
|
+
`${EntityType.PIN}.${PinVariant.FRAIL}`, // 62.2
|
|
149
|
+
`${EntityType.PESTILENCE}.0`, // 64.0
|
|
150
|
+
`${EntityType.DUKE}.${DukeVariant.THE_HUSK}`, // 67.1
|
|
151
|
+
`${EntityType.PEEP}.${PeepVariant.PEEP}`, // 68.0
|
|
152
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
153
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
154
|
+
`${EntityType.GURDY_JR}.0`, // 99.0
|
|
155
|
+
`${EntityType.WIDOW}.${WidowVariant.THE_WRETCHED}`, // 100.1
|
|
156
|
+
`${EntityType.DARK_ONE}.0`, // 267.0
|
|
157
|
+
`${EntityType.POLYCEPHALUS}.${PolycephalusVariant.POLYCEPHALUS}`, // 269.0
|
|
158
|
+
`${EntityType.FORSAKEN}.0`, // 403.0
|
|
159
|
+
`${EntityType.RAG_MEGA}.${RagMegaVariant.RAG_MEGA}`, // 409.0
|
|
160
|
+
`${EntityType.BIG_HORN}.${BigHornVariant.BIG_HORN}`, // 411.0
|
|
161
|
+
`${EntityType.BUMBINO}.0`, // 916.0
|
|
162
|
+
]);
|
|
163
|
+
|
|
164
|
+
/** Contains just the bosses in Flooded Caves (not e.g. Catacombs). */
|
|
165
|
+
const FLOODED_CAVES_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
166
|
+
`${EntityType.CHUB}.${ChubVariant.CHUB}`, // 28.0
|
|
167
|
+
`${EntityType.CHUB}.${ChubVariant.CHAD}`, // 28.1
|
|
168
|
+
`${EntityType.GURDY}.0`, // 36.0
|
|
169
|
+
`${EntityType.PIN}.${PinVariant.FRAIL}`, // 62.2
|
|
170
|
+
`${EntityType.PESTILENCE}.0`, // 64.0
|
|
171
|
+
`${EntityType.PEEP}.${PeepVariant.PEEP}`, // 68.0
|
|
172
|
+
`${EntityType.FISTULA_BIG}.${FistulaVariant.FISTULA}`, // 71.0
|
|
173
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
174
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
175
|
+
`${EntityType.GURDY_JR}.0`, // 99.0
|
|
176
|
+
`${EntityType.MEGA_MAW}.0`, // 262.0
|
|
177
|
+
`${EntityType.MEGA_FATTY}.0`, // 264.0
|
|
178
|
+
`${EntityType.STAIN}.0`, // 401.0
|
|
179
|
+
`${EntityType.FORSAKEN}.0`, // 403.0
|
|
180
|
+
`${EntityType.RAG_MEGA}.${RagMegaVariant.RAG_MEGA}`, // 409.0
|
|
181
|
+
`${EntityType.BIG_HORN}.${BigHornVariant.BIG_HORN}`, // 411.0
|
|
182
|
+
`${EntityType.BUMBINO}.0`, // 916.0
|
|
183
|
+
]);
|
|
184
|
+
|
|
185
|
+
/** Contains just the bosses in Mines (not e.g. Flooded Caves). */
|
|
186
|
+
const MINES_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
187
|
+
`${EntityType.LARRY_JR}.${LarryJrVariant.TUFF_TWIN}`, // 19.2
|
|
188
|
+
`${EntityType.REAP_CREEP}.0`, // 900.0
|
|
189
|
+
`${EntityType.HORNFEL}.0`, // 906.0
|
|
190
|
+
`${EntityType.GIDEON}.0`, // 907.0
|
|
191
|
+
]);
|
|
192
|
+
|
|
193
|
+
/** Contains just the bosses in Ashpit (not e.g. Flooded Caves). */
|
|
194
|
+
const ASHPIT_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
195
|
+
`${EntityType.LARRY_JR}.${LarryJrVariant.THE_SHELL}`, // 19.3
|
|
196
|
+
`${EntityType.POLYCEPHALUS}.${PolycephalusVariant.THE_PILE}`, // 269.1
|
|
197
|
+
`${EntityType.GIDEON}.0`, // 907.0
|
|
198
|
+
`${EntityType.SINGE}.0`, // 915.0
|
|
199
|
+
`${EntityType.CLUTCH}.0`, // 921.0
|
|
200
|
+
]);
|
|
201
|
+
|
|
202
|
+
/** The set of unique bosses for Caves, Catacombs, and so on. */
|
|
203
|
+
const ALL_CAVES_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
204
|
+
...CAVES_BOSSES_SET.values(),
|
|
205
|
+
...CATACOMBS_BOSSES_SET.values(),
|
|
206
|
+
...FLOODED_CAVES_BOSSES_SET.values(),
|
|
207
|
+
...MINES_BOSSES_SET.values(),
|
|
208
|
+
...ASHPIT_BOSSES_SET.values(),
|
|
209
|
+
]);
|
|
210
|
+
|
|
211
|
+
const CAVES_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
212
|
+
StageType,
|
|
213
|
+
ReadonlySet<string>
|
|
214
|
+
> = new Map([
|
|
215
|
+
[StageType.ORIGINAL, CAVES_BOSSES_SET],
|
|
216
|
+
[StageType.WRATH_OF_THE_LAMB, CATACOMBS_BOSSES_SET],
|
|
217
|
+
[StageType.AFTERBIRTH, FLOODED_CAVES_BOSSES_SET],
|
|
218
|
+
[StageType.REPENTANCE, MINES_BOSSES_SET],
|
|
219
|
+
[StageType.REPENTANCE_B, ASHPIT_BOSSES_SET],
|
|
220
|
+
]);
|
|
221
|
+
|
|
222
|
+
/** Contains just the bosses in Depths (not e.g. Dank Depths). */
|
|
223
|
+
const DEPTHS_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
224
|
+
`${EntityType.MONSTRO_2}.${Monstro2Variant.MONSTRO_2}`, // 43.0
|
|
225
|
+
`${EntityType.MONSTRO_2}.${Monstro2Variant.GISH}`, // 43.1
|
|
226
|
+
`${EntityType.MOM}.${MomVariant.MOM}`, // 45.0
|
|
227
|
+
`${EntityType.WAR}.${WarVariant.WAR}`, // 65.0
|
|
228
|
+
`${EntityType.LOKI}.${LokiVariant.LOKI}`, // 69.0
|
|
229
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
230
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
231
|
+
`${EntityType.GATE}.0`, // 263.0
|
|
232
|
+
`${EntityType.CAGE}.0`, // 265.0
|
|
233
|
+
`${EntityType.BROWNIE}.0`, // 402.0
|
|
234
|
+
`${EntityType.SISTERS_VIS}.0`, // 410.0
|
|
235
|
+
`${EntityType.REAP_CREEP}.0`, // 900.0
|
|
236
|
+
]);
|
|
237
|
+
|
|
238
|
+
/** Contains just the bosses in Necropolis (not e.g. Dank Depths). */
|
|
239
|
+
const NECROPOLIS_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
240
|
+
`${EntityType.MOM}.${MomVariant.MOM}`, // 45.0
|
|
241
|
+
`${EntityType.WAR}.${WarVariant.WAR}`, // 65.0
|
|
242
|
+
`${EntityType.PEEP}.${PeepVariant.BLOAT}`, // 68.1
|
|
243
|
+
`${EntityType.LOKI}.${LokiVariant.LOKI}`, // 69.0
|
|
244
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
245
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
246
|
+
`${EntityType.MASK_OF_INFAMY}.0`, // 97.0
|
|
247
|
+
`${EntityType.ADVERSARY}.0`, // 268.0
|
|
248
|
+
`${EntityType.POLYCEPHALUS}.${PolycephalusVariant.THE_PILE}`, // 269.1
|
|
249
|
+
`${EntityType.BROWNIE}.0`, // 402.0
|
|
250
|
+
`${EntityType.SISTERS_VIS}.0`, // 410.0
|
|
251
|
+
]);
|
|
252
|
+
|
|
253
|
+
/** Contains just the bosses in Dank Depths (not e.g. Necropolis). */
|
|
254
|
+
const DANK_DEPTHS_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
255
|
+
`${EntityType.MONSTRO_2}.${Monstro2Variant.MONSTRO_2}`, // 43.0
|
|
256
|
+
`${EntityType.MONSTRO_2}.${Monstro2Variant.GISH}`, // 43.1
|
|
257
|
+
`${EntityType.MOM}.${MomVariant.MOM}`, // 45.0
|
|
258
|
+
`${EntityType.WAR}.${WarVariant.WAR}`, // 65.0
|
|
259
|
+
`${EntityType.LOKI}.${LokiVariant.LOKI}`, // 69.0
|
|
260
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
261
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
262
|
+
`${EntityType.GATE}.0`, // 263.0
|
|
263
|
+
`${EntityType.CAGE}.0`, // 265.0
|
|
264
|
+
`${EntityType.BROWNIE}.0`, // 402.0
|
|
265
|
+
`${EntityType.SISTERS_VIS}.0`, // 410.0
|
|
266
|
+
`${EntityType.REAP_CREEP}.0`, // 900.0
|
|
267
|
+
]);
|
|
268
|
+
|
|
269
|
+
/** Contains just the bosses in Mausoleum (not e.g. Dank Depths). */
|
|
270
|
+
const MAUSOLEUM_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
271
|
+
`${EntityType.MOM}.${MomVariant.MOM}`, // 45.0
|
|
272
|
+
`${EntityType.SIREN}.0`, // 904.0
|
|
273
|
+
`${EntityType.HERETIC}.0`, // 905.0
|
|
274
|
+
]);
|
|
275
|
+
|
|
276
|
+
/** Contains just the bosses in Gehenna (not e.g. Dank Depths). */
|
|
277
|
+
const GEHENNA_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
278
|
+
`${EntityType.MOM}.${MomVariant.MOM}`, // 45.0
|
|
279
|
+
`${EntityType.VISAGE}.0`, // 903.0
|
|
280
|
+
`${EntityType.HORNY_BOYS}.0`, // 920.0
|
|
281
|
+
]);
|
|
282
|
+
|
|
283
|
+
/** The set of unique bosses for Depths, Necropolis, and so on. */
|
|
284
|
+
const ALL_DEPTHS_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
285
|
+
...DEPTHS_BOSSES_SET.values(),
|
|
286
|
+
...NECROPOLIS_BOSSES_SET.values(),
|
|
287
|
+
...DANK_DEPTHS_BOSSES_SET.values(),
|
|
288
|
+
...MAUSOLEUM_BOSSES_SET.values(),
|
|
289
|
+
...GEHENNA_BOSSES_SET.values(),
|
|
290
|
+
]);
|
|
291
|
+
|
|
292
|
+
const DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
293
|
+
StageType,
|
|
294
|
+
ReadonlySet<string>
|
|
295
|
+
> = new Map([
|
|
296
|
+
[StageType.ORIGINAL, DEPTHS_BOSSES_SET],
|
|
297
|
+
[StageType.WRATH_OF_THE_LAMB, NECROPOLIS_BOSSES_SET],
|
|
298
|
+
[StageType.AFTERBIRTH, DANK_DEPTHS_BOSSES_SET],
|
|
299
|
+
[StageType.REPENTANCE, MAUSOLEUM_BOSSES_SET],
|
|
300
|
+
[StageType.REPENTANCE_B, GEHENNA_BOSSES_SET],
|
|
301
|
+
]);
|
|
302
|
+
|
|
303
|
+
/** Contains just the bosses in Womb (not e.g. Scarred Womb). */
|
|
304
|
+
const WOMB_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
305
|
+
`${EntityType.PIN}.${PinVariant.SCOLEX}`, // 62.1
|
|
306
|
+
`${EntityType.WAR}.${WarVariant.CONQUEST}`, // 65.1
|
|
307
|
+
`${EntityType.DEATH}.0`, // 66.0
|
|
308
|
+
`${EntityType.LOKI}.${LokiVariant.LOKII}`, // 69.1
|
|
309
|
+
`${EntityType.BLASTOCYST_BIG}.0`, // 74.0
|
|
310
|
+
`${EntityType.MOMS_HEART}.${MomsHeartVariant.MOMS_HEART}`, // 78.0
|
|
311
|
+
`${EntityType.MOMS_HEART}.${MomsHeartVariant.IT_LIVES}`, // 78.1
|
|
312
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
313
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
314
|
+
`${EntityType.MAMA_GURDY}.0`, // 266.0
|
|
315
|
+
`${EntityType.MR_FRED}.0`, // 270.0
|
|
316
|
+
`${EntityType.MATRIARCH}.0`, // 413.0
|
|
317
|
+
]);
|
|
318
|
+
|
|
319
|
+
/** Contains just the bosses in Utero (not e.g. Scarred Womb). */
|
|
320
|
+
const UTERO_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
321
|
+
`${EntityType.WAR}.${WarVariant.CONQUEST}`, // 65.1
|
|
322
|
+
`${EntityType.DEATH}.0`, // 66.0
|
|
323
|
+
`${EntityType.DADDY_LONG_LEGS}.${DaddyLongLegsVariant.DADDY_LONG_LEGS}`, // 101.0
|
|
324
|
+
`${EntityType.DADDY_LONG_LEGS}.${DaddyLongLegsVariant.TRIACHNID}`, // 101.1
|
|
325
|
+
`${EntityType.PEEP}.${PeepVariant.BLOAT}`, // 68.1
|
|
326
|
+
`${EntityType.LOKI}.${LokiVariant.LOKII}`, // 69.1
|
|
327
|
+
`${EntityType.FISTULA_BIG}.${FistulaVariant.TERATOMA}`, // 71.1
|
|
328
|
+
`${EntityType.MOMS_HEART}.${MomsHeartVariant.MOMS_HEART}`, // 78.0
|
|
329
|
+
`${EntityType.MOMS_HEART}.${MomsHeartVariant.IT_LIVES}`, // 78.1
|
|
330
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
331
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
332
|
+
]);
|
|
333
|
+
|
|
334
|
+
/** Contains just the bosses in Scarred Womb (not e.g. Utero). */
|
|
335
|
+
const SCARRED_WOMB_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
336
|
+
`${EntityType.PIN}.${PinVariant.SCOLEX}`, // 62.1
|
|
337
|
+
`${EntityType.WAR}.${WarVariant.CONQUEST}`, // 65.1
|
|
338
|
+
`${EntityType.DEATH}.0`, // 66.0
|
|
339
|
+
`${EntityType.LOKI}.${LokiVariant.LOKII}`, // 69.1
|
|
340
|
+
`${EntityType.BLASTOCYST_BIG}.0`, // 74.0
|
|
341
|
+
`${EntityType.MOMS_HEART}.${MomsHeartVariant.MOMS_HEART}`, // 78.0
|
|
342
|
+
`${EntityType.MOMS_HEART}.${MomsHeartVariant.IT_LIVES}`, // 78.1
|
|
343
|
+
`${EntityType.FALLEN}.${FallenVariant.FALLEN}`, // 81.0
|
|
344
|
+
`${EntityType.HEADLESS_HORSEMAN}.0`, // 82.0
|
|
345
|
+
`${EntityType.DADDY_LONG_LEGS}.${DaddyLongLegsVariant.TRIACHNID}`, // 101.1
|
|
346
|
+
`${EntityType.MAMA_GURDY}.${MamaGurdyVariant.MAMA_GURDY}`, // 266.0
|
|
347
|
+
`${EntityType.MR_FRED}.0`, // 270.0
|
|
348
|
+
`${EntityType.MATRIARCH}.0`, // 413.0
|
|
349
|
+
]);
|
|
350
|
+
|
|
351
|
+
/** Contains just the bosses in Corpse (not e.g. Scarred Womb). */
|
|
352
|
+
const CORPSE_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
353
|
+
`${EntityType.SCOURGE}.0`, // 909.0
|
|
354
|
+
`${EntityType.CHIMERA}.0`, // 910.0
|
|
355
|
+
`${EntityType.ROTGUT}.0`, // 911.0
|
|
356
|
+
`${EntityType.MOTHER}.0`, // 912.0
|
|
357
|
+
]);
|
|
358
|
+
|
|
359
|
+
/** The set of unique bosses for Depths, Necropolis, and so on. */
|
|
360
|
+
const ALL_WOMB_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
361
|
+
...WOMB_BOSSES_SET.values(),
|
|
362
|
+
...UTERO_BOSSES_SET.values(),
|
|
363
|
+
...SCARRED_WOMB_BOSSES_SET.values(),
|
|
364
|
+
...MAUSOLEUM_BOSSES_SET.values(),
|
|
365
|
+
...GEHENNA_BOSSES_SET.values(),
|
|
366
|
+
]);
|
|
367
|
+
|
|
368
|
+
const WOMB_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
369
|
+
StageType,
|
|
370
|
+
ReadonlySet<string>
|
|
371
|
+
> = new Map([
|
|
372
|
+
[StageType.ORIGINAL, WOMB_BOSSES_SET],
|
|
373
|
+
[StageType.WRATH_OF_THE_LAMB, UTERO_BOSSES_SET],
|
|
374
|
+
[StageType.AFTERBIRTH, SCARRED_WOMB_BOSSES_SET],
|
|
375
|
+
[StageType.REPENTANCE, CORPSE_BOSSES_SET],
|
|
376
|
+
]);
|
|
377
|
+
|
|
378
|
+
const BLUE_WOMB_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
379
|
+
`${EntityType.HUSH}.0`, // 407.0
|
|
380
|
+
]);
|
|
381
|
+
|
|
382
|
+
const BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
383
|
+
StageType,
|
|
384
|
+
ReadonlySet<string>
|
|
385
|
+
> = new Map([[StageType.ORIGINAL, BLUE_WOMB_BOSSES_SET]]);
|
|
386
|
+
|
|
387
|
+
const SHEOL_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
388
|
+
`${EntityType.SATAN}.${SatanVariant.SATAN}`, // 84.0
|
|
389
|
+
]);
|
|
390
|
+
const CATHEDRAL_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
391
|
+
`${EntityType.ISAAC}.${IsaacVariant.ISAAC}`, // 102.0
|
|
392
|
+
]);
|
|
393
|
+
|
|
394
|
+
const ALL_STAGE_10_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
395
|
+
...SHEOL_BOSSES_SET.values(),
|
|
396
|
+
...CATHEDRAL_BOSSES_SET.values(),
|
|
397
|
+
]);
|
|
398
|
+
|
|
399
|
+
const STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
400
|
+
StageType,
|
|
401
|
+
ReadonlySet<string>
|
|
402
|
+
> = new Map([
|
|
403
|
+
[StageType.ORIGINAL, SHEOL_BOSSES_SET],
|
|
404
|
+
[StageType.WRATH_OF_THE_LAMB, CATHEDRAL_BOSSES_SET],
|
|
405
|
+
]);
|
|
406
|
+
|
|
407
|
+
const DARK_ROOM_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
408
|
+
`${EntityType.THE_LAMB}.${LambVariant.LAMB}`, // 273.0
|
|
409
|
+
]);
|
|
410
|
+
|
|
411
|
+
const CHEST_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
412
|
+
`${EntityType.ISAAC}.${IsaacVariant.BLUE_BABY}`, // 102.1
|
|
413
|
+
]);
|
|
414
|
+
|
|
415
|
+
const ALL_STAGE_11_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
416
|
+
...DARK_ROOM_BOSSES_SET.values(),
|
|
417
|
+
...CHEST_BOSSES_SET.values(),
|
|
418
|
+
]);
|
|
419
|
+
|
|
420
|
+
const STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
421
|
+
StageType,
|
|
422
|
+
ReadonlySet<string>
|
|
423
|
+
> = new Map([
|
|
424
|
+
[StageType.ORIGINAL, DARK_ROOM_BOSSES_SET],
|
|
425
|
+
[StageType.WRATH_OF_THE_LAMB, CHEST_BOSSES_SET],
|
|
426
|
+
]);
|
|
427
|
+
|
|
428
|
+
export const STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP: ReadonlyMap<
|
|
429
|
+
int,
|
|
430
|
+
ReadonlyMap<int, ReadonlySet<string>>
|
|
431
|
+
> = new Map([
|
|
432
|
+
[1, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
433
|
+
[2, BASEMENT_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
434
|
+
[3, CAVES_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
435
|
+
[4, CAVES_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
436
|
+
[5, DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
437
|
+
[6, DEPTHS_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
438
|
+
[7, WOMB_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
439
|
+
[8, WOMB_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
440
|
+
[9, BLUE_WOMB_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
441
|
+
[10, STAGE_10_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
442
|
+
[11, STAGE_11_STAGE_TYPE_TO_BOSS_SET_MAP],
|
|
443
|
+
]);
|
|
444
|
+
|
|
445
|
+
export const STAGE_TO_COMBINED_BOSS_SET_MAP: ReadonlyMap<
|
|
446
|
+
int,
|
|
447
|
+
ReadonlySet<string>
|
|
448
|
+
> = new Map([
|
|
449
|
+
[1, ALL_BASEMENT_BOSSES_SET],
|
|
450
|
+
[2, ALL_BASEMENT_BOSSES_SET],
|
|
451
|
+
[3, ALL_CAVES_BOSSES_SET],
|
|
452
|
+
[4, ALL_CAVES_BOSSES_SET],
|
|
453
|
+
[5, ALL_DEPTHS_BOSSES_SET],
|
|
454
|
+
[6, ALL_DEPTHS_BOSSES_SET],
|
|
455
|
+
[7, ALL_WOMB_BOSSES_SET],
|
|
456
|
+
[8, ALL_WOMB_BOSSES_SET],
|
|
457
|
+
[9, BLUE_WOMB_BOSSES_SET],
|
|
458
|
+
[10, ALL_STAGE_10_BOSSES_SET],
|
|
459
|
+
[11, ALL_STAGE_11_BOSSES_SET],
|
|
460
|
+
]);
|
|
461
|
+
|
|
462
|
+
export const ALL_BOSSES_SET: ReadonlySet<string> = new Set([
|
|
463
|
+
...ALL_BASEMENT_BOSSES_SET.values(),
|
|
464
|
+
...ALL_CAVES_BOSSES_SET.values(),
|
|
465
|
+
...ALL_DEPTHS_BOSSES_SET.values(),
|
|
466
|
+
...ALL_WOMB_BOSSES_SET.values(),
|
|
467
|
+
...BLUE_WOMB_BOSSES_SET.values(),
|
|
468
|
+
...ALL_STAGE_10_BOSSES_SET.values(),
|
|
469
|
+
...ALL_STAGE_11_BOSSES_SET.values(),
|
|
470
|
+
]);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PlayerType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET: ReadonlySet<PlayerType> =
|
|
4
|
+
new Set([
|
|
5
|
+
PlayerType.ISAAC, // 0
|
|
6
|
+
PlayerType.MAGDALENE, // 1
|
|
7
|
+
PlayerType.JUDAS, // 3
|
|
8
|
+
PlayerType.BLUE_BABY, // 4
|
|
9
|
+
PlayerType.EVE, // 5
|
|
10
|
+
PlayerType.EDEN, // 9
|
|
11
|
+
PlayerType.THE_LOST, // 10
|
|
12
|
+
PlayerType.LILITH, // 13
|
|
13
|
+
PlayerType.KEEPER, // 14
|
|
14
|
+
PlayerType.APOLLYON, // 15
|
|
15
|
+
PlayerType.EDEN_B, // 30
|
|
16
|
+
]);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PlayerType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The set of characters where red heart containers will be turned into soul hearts (e.g. Blue
|
|
5
|
+
* Baby). This includes The Lost and Tainted Lost. This does not include Keeper or Tainted Keeper.
|
|
6
|
+
*/
|
|
7
|
+
export const CHARACTERS_WITH_NO_RED_HEARTS_SET: ReadonlySet<PlayerType> =
|
|
8
|
+
new Set([
|
|
9
|
+
PlayerType.BLUE_BABY, // 4
|
|
10
|
+
PlayerType.THE_LOST, // 10
|
|
11
|
+
PlayerType.BLACK_JUDAS, // 12
|
|
12
|
+
PlayerType.JUDAS_B, // 24
|
|
13
|
+
PlayerType.BLUE_BABY_B, // 25
|
|
14
|
+
PlayerType.THE_LOST_B, // 31
|
|
15
|
+
PlayerType.THE_FORGOTTEN_B, // 35
|
|
16
|
+
PlayerType.BETHANY_B, // 36
|
|
17
|
+
]);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PlayerType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The set of characters where soul hearts will be automatically stripped away (e.g. Bethany). This
|
|
5
|
+
* includes The Lost and Tainted Lost.
|
|
6
|
+
*/
|
|
7
|
+
export const CHARACTERS_WITH_NO_SOUL_HEARTS_SET: ReadonlySet<PlayerType> =
|
|
8
|
+
new Set([
|
|
9
|
+
PlayerType.THE_LOST, // 10
|
|
10
|
+
PlayerType.KEEPER, // 14
|
|
11
|
+
PlayerType.BETHANY, // 18
|
|
12
|
+
PlayerType.THE_LOST_B, // 31
|
|
13
|
+
PlayerType.KEEPER_B, // 33
|
|
14
|
+
]);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PickupVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const CHEST_PICKUP_VARIANTS: ReadonlySet<PickupVariant> = new Set([
|
|
4
|
+
PickupVariant.CHEST, // 50
|
|
5
|
+
PickupVariant.BOMB_CHEST, // 51
|
|
6
|
+
PickupVariant.SPIKED_CHEST, // 52
|
|
7
|
+
PickupVariant.ETERNAL_CHEST, // 53
|
|
8
|
+
PickupVariant.MIMIC_CHEST, // 54
|
|
9
|
+
PickupVariant.OLD_CHEST, // 55
|
|
10
|
+
PickupVariant.WOODEN_CHEST, // 56
|
|
11
|
+
PickupVariant.MEGA_CHEST, // 57
|
|
12
|
+
PickupVariant.HAUNTED_CHEST, // 58
|
|
13
|
+
PickupVariant.LOCKED_CHEST, // 60
|
|
14
|
+
PickupVariant.RED_CHEST, // 360
|
|
15
|
+
PickupVariant.MOMS_CHEST, // 390
|
|
16
|
+
]);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FamiliarVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET: ReadonlySet<FamiliarVariant> =
|
|
4
|
+
new Set([
|
|
5
|
+
FamiliarVariant.SCISSORS,
|
|
6
|
+
FamiliarVariant.INCUBUS,
|
|
7
|
+
FamiliarVariant.FATES_REWARD,
|
|
8
|
+
FamiliarVariant.SPRINKLER,
|
|
9
|
+
FamiliarVariant.LOST_SOUL,
|
|
10
|
+
FamiliarVariant.TWISTED_BABY,
|
|
11
|
+
FamiliarVariant.BLOOD_BABY,
|
|
12
|
+
FamiliarVariant.DECAP_ATTACK,
|
|
13
|
+
]);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PlayerType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This is the set of characters that look like The Lost and play the "LostDeath" animation when
|
|
5
|
+
* they die.
|
|
6
|
+
*/
|
|
7
|
+
export const LOST_STYLE_CHARACTERS_SET: ReadonlySet<PlayerType> = new Set([
|
|
8
|
+
PlayerType.THE_LOST, // 10
|
|
9
|
+
PlayerType.THE_SOUL, // 17
|
|
10
|
+
PlayerType.THE_LOST_B, // 31
|
|
11
|
+
PlayerType.JACOB_2_B, // 39
|
|
12
|
+
PlayerType.THE_SOUL_B, // 40
|
|
13
|
+
]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MinesRoomSubType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const MINE_SHAFT_ROOM_SUB_TYPE_SET: ReadonlySet<MinesRoomSubType> =
|
|
4
|
+
new Set([
|
|
5
|
+
MinesRoomSubType.MINESHAFT_ENTRANCE,
|
|
6
|
+
MinesRoomSubType.MINESHAFT_LOBBY,
|
|
7
|
+
MinesRoomSubType.MINESHAFT_KNIFE_PIECE,
|
|
8
|
+
MinesRoomSubType.MINESHAFT_ROOM_PRE_CHASE,
|
|
9
|
+
MinesRoomSubType.MINESHAFT_ROOM_POST_CHASE,
|
|
10
|
+
]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const SIN_ENTITY_TYPES_SET: ReadonlySet<EntityType> = new Set([
|
|
4
|
+
EntityType.SLOTH, // 46
|
|
5
|
+
EntityType.LUST, // 47
|
|
6
|
+
EntityType.WRATH, // 48
|
|
7
|
+
EntityType.GLUTTONY, // 49
|
|
8
|
+
EntityType.GREED, // 50
|
|
9
|
+
EntityType.ENVY, // 51
|
|
10
|
+
EntityType.PRIDE, // 52
|
|
11
|
+
]);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CollectibleType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET: ReadonlySet<CollectibleType> =
|
|
4
|
+
new Set([
|
|
5
|
+
CollectibleType.FORGET_ME_NOW, // 127
|
|
6
|
+
CollectibleType.EDENS_SOUL, // 490
|
|
7
|
+
CollectibleType.ALABASTER_BOX, // 585
|
|
8
|
+
CollectibleType.PLAN_C, // 475
|
|
9
|
+
CollectibleType.MAMA_MEGA, // 483
|
|
10
|
+
CollectibleType.SACRIFICIAL_ALTAR, // 536
|
|
11
|
+
CollectibleType.DEATH_CERTIFICATE, // 628
|
|
12
|
+
CollectibleType.R_KEY, // 636
|
|
13
|
+
]);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export const STORY_BOSSES_SET: ReadonlySet<EntityType> = new Set([
|
|
4
|
+
EntityType.MOM, // 45
|
|
5
|
+
EntityType.MOMS_HEART, // 78
|
|
6
|
+
EntityType.SATAN, // 84
|
|
7
|
+
EntityType.ISAAC, // 102
|
|
8
|
+
EntityType.THE_LAMB, // 273
|
|
9
|
+
EntityType.MEGA_SATAN, // 274
|
|
10
|
+
EntityType.MEGA_SATAN_2, // 275
|
|
11
|
+
EntityType.ULTRA_GREED, // 406
|
|
12
|
+
EntityType.HUSH, // 407
|
|
13
|
+
EntityType.DELIRIUM, // 412
|
|
14
|
+
EntityType.MOTHER, // 912
|
|
15
|
+
EntityType.DOGMA, // 950
|
|
16
|
+
EntityType.BEAST, // 951
|
|
17
|
+
]);
|