isaacscript-common 85.0.2 → 86.0.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.
Files changed (159) hide show
  1. package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -0
  2. package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  3. package/dist/classes/features/other/FlyingDetection.js +2 -2
  4. package/dist/classes/features/other/ItemPoolDetection.js +2 -2
  5. package/dist/classes/features/other/ModdedElementSets.js +11 -11
  6. package/dist/classes/features/other/PonyDetection.js +2 -2
  7. package/dist/classes/features/other/customStages/backdrop.js +17 -17
  8. package/dist/classes/features/other/customStages/shadows.js +11 -11
  9. package/dist/classes/features/other/extraConsoleCommands/commands.d.ts +2 -0
  10. package/dist/classes/features/other/extraConsoleCommands/commands.d.ts.map +1 -1
  11. package/dist/classes/features/other/extraConsoleCommands/commands.js +7 -2
  12. package/dist/classes/features/other/extraConsoleCommands/commands.lua +4 -0
  13. package/dist/classes/features/other/extraConsoleCommands/v.js +9 -9
  14. package/dist/core/cachedClasses.d.ts +1 -0
  15. package/dist/core/cachedClasses.d.ts.map +1 -1
  16. package/dist/core/constants.js +58 -58
  17. package/dist/enums/HealthType.d.ts +7 -7
  18. package/dist/enums/HealthType.d.ts.map +1 -1
  19. package/dist/features.js +1 -1
  20. package/dist/features.lua +2 -2
  21. package/dist/functions/array.d.ts +1 -1
  22. package/dist/functions/array.js +1 -1
  23. package/dist/functions/array.lua +1 -1
  24. package/dist/functions/bosses.js +4 -4
  25. package/dist/functions/charge.js +1 -1
  26. package/dist/functions/emptyRoom.js +6 -6
  27. package/dist/functions/enums.d.ts +26 -26
  28. package/dist/functions/enums.d.ts.map +1 -1
  29. package/dist/functions/enums.js +30 -30
  30. package/dist/functions/enums.lua +27 -27
  31. package/dist/functions/gridEntities.js +19 -19
  32. package/dist/functions/input.js +13 -13
  33. package/dist/functions/itemPool.js +12 -12
  34. package/dist/functions/logEntities.js +11 -11
  35. package/dist/functions/npcs.js +11 -11
  36. package/dist/functions/playerIndex.js +1 -1
  37. package/dist/functions/slots.js +8 -8
  38. package/dist/functions/stats.js +17 -17
  39. package/dist/functions/storyBosses.js +28 -28
  40. package/dist/functions/transformations.js +14 -14
  41. package/dist/index.rollup.d.ts +37 -37
  42. package/dist/interfaces/PlayerStats.js +1 -1
  43. package/dist/interfaces/PlayerStats.lua +2 -2
  44. package/dist/interfaces/private/AddCallbackParametersCustom.js +1 -1
  45. package/dist/interfaces/private/AddCallbackParametersCustom.lua +2 -2
  46. package/dist/isaacscript-common.lua +39 -35
  47. package/dist/maps/PHDPillConversionsMap.js +15 -15
  48. package/dist/maps/cardNameToTypeMap.js +201 -201
  49. package/dist/maps/characterNameToTypeMap.js +81 -81
  50. package/dist/maps/defaultPlayerStatMap.js +5 -5
  51. package/dist/maps/falsePHDPillConversionsMap.js +29 -29
  52. package/dist/maps/itemPoolTypeToItemPoolName.js +30 -30
  53. package/dist/maps/keyboardToStringMap.js +62 -62
  54. package/dist/maps/pillNameToEffectMap.js +79 -79
  55. package/dist/maps/roomNameToTypeMap.js +34 -34
  56. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +4 -4
  57. package/dist/maps/transformationNameToPlayerFormMap.js +26 -26
  58. package/dist/objects/backdropTypeToRockAltType.js +59 -59
  59. package/dist/objects/batteryNames.js +4 -4
  60. package/dist/objects/bombNames.js +7 -7
  61. package/dist/objects/bossNamePNGFileNames.js +101 -101
  62. package/dist/objects/bossNames.js +101 -101
  63. package/dist/objects/bossPortraitPNGFileNames.js +101 -101
  64. package/dist/objects/cardDescriptions.js +97 -97
  65. package/dist/objects/cardNames.js +97 -97
  66. package/dist/objects/challengeBosses.js +45 -45
  67. package/dist/objects/challengeCharacters.js +45 -45
  68. package/dist/objects/challengeCollectibleTypes.js +77 -77
  69. package/dist/objects/challengeNames.js +45 -45
  70. package/dist/objects/challengeTrinketType.js +45 -45
  71. package/dist/objects/characterDamageMultipliers.js +41 -41
  72. package/dist/objects/characterNames.js +41 -41
  73. package/dist/objects/characterSpritePNGFileNames.js +41 -41
  74. package/dist/objects/characterStartingCollectibleTypes.js +3 -3
  75. package/dist/objects/chestNames.js +11 -11
  76. package/dist/objects/coinNames.js +7 -7
  77. package/dist/objects/coinSubTypeToValue.js +7 -7
  78. package/dist/objects/collectibleDescriptions.js +721 -721
  79. package/dist/objects/collectibleNames.js +721 -721
  80. package/dist/objects/colors.d.ts +1 -0
  81. package/dist/objects/colors.d.ts.map +1 -1
  82. package/dist/objects/directionNames.js +4 -4
  83. package/dist/objects/directionToDegrees.js +4 -4
  84. package/dist/objects/directionToMoveAction.js +4 -4
  85. package/dist/objects/directionToShootAction.js +4 -4
  86. package/dist/objects/directionToVector.d.ts +1 -0
  87. package/dist/objects/directionToVector.d.ts.map +1 -1
  88. package/dist/objects/directionToVector.js +4 -4
  89. package/dist/objects/doorSlotFlagToDoorSlot.js +7 -7
  90. package/dist/objects/doorSlotToDirection.js +8 -8
  91. package/dist/objects/doorSlotToDoorSlotFlag.d.ts +1 -0
  92. package/dist/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  93. package/dist/objects/doorSlotToDoorSlotFlag.js +8 -8
  94. package/dist/objects/gridEntityTypeToANM2Name.js +27 -27
  95. package/dist/objects/heartNames.js +12 -12
  96. package/dist/objects/kColors.d.ts +1 -0
  97. package/dist/objects/kColors.d.ts.map +1 -1
  98. package/dist/objects/keyNames.js +4 -4
  99. package/dist/objects/languageNames.js +6 -6
  100. package/dist/objects/oppositeDoorSlots.js +8 -8
  101. package/dist/objects/pillEffectClasses.js +49 -49
  102. package/dist/objects/pillEffectNames.js +49 -49
  103. package/dist/objects/pillEffectTypes.js +49 -49
  104. package/dist/objects/playerNamePNGFileNames.js +41 -41
  105. package/dist/objects/playerPortraitPNGFileNames.js +41 -41
  106. package/dist/objects/roomShapeLayoutSizes.js +11 -11
  107. package/dist/objects/roomShapeToBottomRightPosition.d.ts +1 -0
  108. package/dist/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  109. package/dist/objects/roomShapeToBottomRightPosition.js +11 -11
  110. package/dist/objects/roomShapeToDoorSlotCoordinates.js +52 -52
  111. package/dist/objects/roomShapeToDoorSlots.js +24 -24
  112. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +52 -52
  113. package/dist/objects/roomShapeToGridWidth.js +11 -11
  114. package/dist/objects/roomShapeToTopLeftPosition.d.ts +1 -0
  115. package/dist/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  116. package/dist/objects/roomShapeToTopLeftPosition.js +11 -11
  117. package/dist/objects/roomShapeVolumes.js +11 -11
  118. package/dist/objects/roomTypeNames.js +28 -28
  119. package/dist/objects/roomTypeSpecialGotoPrefixes.js +28 -28
  120. package/dist/objects/sackNames.js +2 -2
  121. package/dist/objects/slotNames.js +17 -17
  122. package/dist/objects/stageIDNames.js +30 -30
  123. package/dist/objects/stageToMusic.js +57 -57
  124. package/dist/objects/stageToStageID.js +73 -73
  125. package/dist/objects/stageTypeSuffixes.js +5 -5
  126. package/dist/objects/transformationNames.js +13 -13
  127. package/dist/objects/trinketDescriptions.js +188 -188
  128. package/dist/objects/trinketNames.js +188 -188
  129. package/dist/objects/versusScreenBackgroundColors.d.ts +1 -0
  130. package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  131. package/dist/objects/versusScreenBackgroundColors.js +30 -30
  132. package/dist/objects/versusScreenDirtSpotColors.d.ts +1 -0
  133. package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  134. package/dist/objects/versusScreenDirtSpotColors.js +30 -30
  135. package/dist/sets/LRoomShapesSet.js +3 -3
  136. package/dist/sets/bigRoomShapesSet.js +6 -6
  137. package/dist/sets/bossSets.js +208 -208
  138. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +10 -10
  139. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +1 -1
  140. package/dist/sets/charactersWithNoRedHeartsSet.js +7 -7
  141. package/dist/sets/charactersWithNoSoulHeartsSet.js +4 -4
  142. package/dist/sets/entitiesWithArmorSet.js +40 -40
  143. package/dist/sets/itemConfigCardTypesForCards.js +3 -3
  144. package/dist/sets/lostStyleCharactersSet.js +4 -4
  145. package/dist/sets/narrowRoomShapesSet.js +3 -3
  146. package/dist/sets/poopGridEntityXMLTypesSet.js +8 -8
  147. package/dist/sets/redHeartSubTypesSet.js +2 -2
  148. package/dist/sets/repentanceBossIDsSet.js +22 -22
  149. package/dist/sets/sinEntityTypesSet.js +6 -6
  150. package/dist/sets/singleUseActiveCollectibleTypesSet.js +7 -7
  151. package/dist/tsdoc-metadata.json +1 -1
  152. package/dist/types/PickingUpItem.js +2 -2
  153. package/package.json +1 -1
  154. package/src/classes/features/other/extraConsoleCommands/commands.ts +6 -1
  155. package/src/features.ts +2 -2
  156. package/src/functions/array.ts +1 -1
  157. package/src/functions/enums.ts +33 -33
  158. package/src/interfaces/PlayerStats.ts +2 -2
  159. package/src/interfaces/private/AddCallbackParametersCustom.ts +2 -2
@@ -8,9 +8,9 @@ const ReadonlySet_1 = require("../types/ReadonlySet");
8
8
  * includes The Lost and Tainted Lost.
9
9
  */
10
10
  exports.CHARACTERS_WITH_NO_SOUL_HEARTS_SET = new ReadonlySet_1.ReadonlySet([
11
- isaac_typescript_definitions_1.PlayerType.LOST,
12
- isaac_typescript_definitions_1.PlayerType.KEEPER,
13
- isaac_typescript_definitions_1.PlayerType.BETHANY,
14
- isaac_typescript_definitions_1.PlayerType.LOST_B,
11
+ isaac_typescript_definitions_1.PlayerType.LOST, // 10
12
+ isaac_typescript_definitions_1.PlayerType.KEEPER, // 14
13
+ isaac_typescript_definitions_1.PlayerType.BETHANY, // 18
14
+ isaac_typescript_definitions_1.PlayerType.LOST_B, // 31
15
15
  isaac_typescript_definitions_1.PlayerType.KEEPER_B, // 33
16
16
  ]);
@@ -15,45 +15,45 @@ const ReadonlySet_1 = require("../types/ReadonlySet");
15
15
  * We use strings instead of a type + variant tuple so that we can have O(1) lookups.
16
16
  */
17
17
  exports.ENTITIES_WITH_ARMOR_SET = new ReadonlySet_1.ReadonlySet([
18
- `${isaac_typescript_definitions_1.EntityType.POOTER}.${isaac_typescript_definitions_1.PooterVariant.TAINTED_POOTER}`,
19
- `${isaac_typescript_definitions_1.EntityType.HIVE}.${isaac_typescript_definitions_1.HiveVariant.TAINTED_MULLIGAN}`,
20
- `${isaac_typescript_definitions_1.EntityType.BOOM_FLY}.${isaac_typescript_definitions_1.BoomFlyVariant.TAINTED_BOOM_FLY}`,
21
- `${isaac_typescript_definitions_1.EntityType.HOPPER}.${isaac_typescript_definitions_1.HopperVariant.TAINTED_HOPPER}`,
22
- `${isaac_typescript_definitions_1.EntityType.SPITTY}`,
23
- `${isaac_typescript_definitions_1.EntityType.SUCKER}.${isaac_typescript_definitions_1.SuckerVariant.TAINTED_SUCKER}`,
24
- `${isaac_typescript_definitions_1.EntityType.ISAAC}.${isaac_typescript_definitions_1.IsaacVariant.BLUE_BABY_HUSH}`,
25
- `${isaac_typescript_definitions_1.EntityType.WALL_CREEP}.${isaac_typescript_definitions_1.WallCreepVariant.TAINTED_SOY_CREEP}`,
26
- `${isaac_typescript_definitions_1.EntityType.ROUND_WORM}.${isaac_typescript_definitions_1.RoundWormVariant.TAINTED_ROUND_WORM}`,
27
- `${isaac_typescript_definitions_1.EntityType.ROUND_WORM}.${isaac_typescript_definitions_1.RoundWormVariant.TAINTED_TUBE_WORM}`,
28
- `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN}`,
29
- `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_RIGHT_HAND}`,
30
- `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_LEFT_HAND}`,
31
- `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN}`,
32
- `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_RIGHT_HAND}`,
33
- `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_LEFT_HAND}`,
34
- `${isaac_typescript_definitions_1.EntityType.ULTRA_GREED}.${isaac_typescript_definitions_1.UltraGreedVariant.ULTRA_GREED}`,
35
- `${isaac_typescript_definitions_1.EntityType.ULTRA_GREED}.${isaac_typescript_definitions_1.UltraGreedVariant.ULTRA_GREEDIER}`,
36
- `${isaac_typescript_definitions_1.EntityType.HUSH}.0`,
37
- `${isaac_typescript_definitions_1.EntityType.DELIRIUM}.0`,
38
- `${isaac_typescript_definitions_1.EntityType.BLOOD_PUPPY}.${isaac_typescript_definitions_1.BloodPuppyVariant.SMALL}`,
39
- `${isaac_typescript_definitions_1.EntityType.BLOOD_PUPPY}.${isaac_typescript_definitions_1.BloodPuppyVariant.LARGE}`,
40
- `${isaac_typescript_definitions_1.EntityType.SUB_HORF}.${isaac_typescript_definitions_1.SubHorfVariant.TAINTED_SUB_HORF}`,
41
- `${isaac_typescript_definitions_1.EntityType.FACELESS}.${isaac_typescript_definitions_1.FacelessVariant.TAINTED_FACELESS}`,
42
- `${isaac_typescript_definitions_1.EntityType.MOLE}.${isaac_typescript_definitions_1.MoleVariant.TAINTED_MOLE}`,
43
- `${isaac_typescript_definitions_1.EntityType.GUTTED_FATTY}.${isaac_typescript_definitions_1.GuttyFattyVariant.GUTTED_FATTY}`,
44
- `${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.GAPER}`,
45
- `${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.HORF}`,
46
- `${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.GUSHER}`,
47
- `${isaac_typescript_definitions_1.EntityType.CHARGER_LVL_2}.${isaac_typescript_definitions_1.Charger2Variant.CHARGER}`,
48
- `${isaac_typescript_definitions_1.EntityType.CHARGER_LVL_2}.${isaac_typescript_definitions_1.Charger2Variant.ELLEECH}`,
49
- `${isaac_typescript_definitions_1.EntityType.SHADY}.0`,
50
- `${isaac_typescript_definitions_1.EntityType.MOTHER}.${isaac_typescript_definitions_1.MotherVariant.MOTHER_1}`,
51
- `${isaac_typescript_definitions_1.EntityType.MOTHER}.${isaac_typescript_definitions_1.MotherVariant.MOTHER_2}`,
52
- `${isaac_typescript_definitions_1.EntityType.DOGMA}.${isaac_typescript_definitions_1.DogmaVariant.TV}`,
53
- `${isaac_typescript_definitions_1.EntityType.DOGMA}.${isaac_typescript_definitions_1.DogmaVariant.ANGEL_PHASE_2}`,
54
- `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.BEAST}`,
55
- `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_FAMINE}`,
56
- `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_PESTILENCE}`,
57
- `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_WAR}`,
18
+ `${isaac_typescript_definitions_1.EntityType.POOTER}.${isaac_typescript_definitions_1.PooterVariant.TAINTED_POOTER}`, // 14.2
19
+ `${isaac_typescript_definitions_1.EntityType.HIVE}.${isaac_typescript_definitions_1.HiveVariant.TAINTED_MULLIGAN}`, // 22.3
20
+ `${isaac_typescript_definitions_1.EntityType.BOOM_FLY}.${isaac_typescript_definitions_1.BoomFlyVariant.TAINTED_BOOM_FLY}`, // 25.6
21
+ `${isaac_typescript_definitions_1.EntityType.HOPPER}.${isaac_typescript_definitions_1.HopperVariant.TAINTED_HOPPER}`, // 29.3
22
+ `${isaac_typescript_definitions_1.EntityType.SPITTY}`, // 31.1
23
+ `${isaac_typescript_definitions_1.EntityType.SUCKER}.${isaac_typescript_definitions_1.SuckerVariant.TAINTED_SUCKER}`, // 61.7
24
+ `${isaac_typescript_definitions_1.EntityType.ISAAC}.${isaac_typescript_definitions_1.IsaacVariant.BLUE_BABY_HUSH}`, // 102.2
25
+ `${isaac_typescript_definitions_1.EntityType.WALL_CREEP}.${isaac_typescript_definitions_1.WallCreepVariant.TAINTED_SOY_CREEP}`, // 240.3
26
+ `${isaac_typescript_definitions_1.EntityType.ROUND_WORM}.${isaac_typescript_definitions_1.RoundWormVariant.TAINTED_ROUND_WORM}`, // 244.2
27
+ `${isaac_typescript_definitions_1.EntityType.ROUND_WORM}.${isaac_typescript_definitions_1.RoundWormVariant.TAINTED_TUBE_WORM}`, // 244.3
28
+ `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN}`, // 274.0
29
+ `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_RIGHT_HAND}`, // 274.1
30
+ `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_LEFT_HAND}`, // 274.2
31
+ `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN}`, // 275.0
32
+ `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_RIGHT_HAND}`, // 275.1
33
+ `${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_LEFT_HAND}`, // 275.2
34
+ `${isaac_typescript_definitions_1.EntityType.ULTRA_GREED}.${isaac_typescript_definitions_1.UltraGreedVariant.ULTRA_GREED}`, // 406.0
35
+ `${isaac_typescript_definitions_1.EntityType.ULTRA_GREED}.${isaac_typescript_definitions_1.UltraGreedVariant.ULTRA_GREEDIER}`, // 406.1
36
+ `${isaac_typescript_definitions_1.EntityType.HUSH}.0`, // 407.0
37
+ `${isaac_typescript_definitions_1.EntityType.DELIRIUM}.0`, // 412.0
38
+ `${isaac_typescript_definitions_1.EntityType.BLOOD_PUPPY}.${isaac_typescript_definitions_1.BloodPuppyVariant.SMALL}`, // 802.0
39
+ `${isaac_typescript_definitions_1.EntityType.BLOOD_PUPPY}.${isaac_typescript_definitions_1.BloodPuppyVariant.LARGE}`, // 802.1
40
+ `${isaac_typescript_definitions_1.EntityType.SUB_HORF}.${isaac_typescript_definitions_1.SubHorfVariant.TAINTED_SUB_HORF}`, // 812.1
41
+ `${isaac_typescript_definitions_1.EntityType.FACELESS}.${isaac_typescript_definitions_1.FacelessVariant.TAINTED_FACELESS}`, // 827.1
42
+ `${isaac_typescript_definitions_1.EntityType.MOLE}.${isaac_typescript_definitions_1.MoleVariant.TAINTED_MOLE}`, // 829.1
43
+ `${isaac_typescript_definitions_1.EntityType.GUTTED_FATTY}.${isaac_typescript_definitions_1.GuttyFattyVariant.GUTTED_FATTY}`, // 831.0
44
+ `${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.GAPER}`, // 850.0
45
+ `${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.HORF}`, // 850.1
46
+ `${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.GUSHER}`, // 850.2
47
+ `${isaac_typescript_definitions_1.EntityType.CHARGER_LVL_2}.${isaac_typescript_definitions_1.Charger2Variant.CHARGER}`, // 855.0
48
+ `${isaac_typescript_definitions_1.EntityType.CHARGER_LVL_2}.${isaac_typescript_definitions_1.Charger2Variant.ELLEECH}`, // 855.1
49
+ `${isaac_typescript_definitions_1.EntityType.SHADY}.0`, // 888.0
50
+ `${isaac_typescript_definitions_1.EntityType.MOTHER}.${isaac_typescript_definitions_1.MotherVariant.MOTHER_1}`, // 912.0
51
+ `${isaac_typescript_definitions_1.EntityType.MOTHER}.${isaac_typescript_definitions_1.MotherVariant.MOTHER_2}`, // 912.10
52
+ `${isaac_typescript_definitions_1.EntityType.DOGMA}.${isaac_typescript_definitions_1.DogmaVariant.TV}`, // 950.1
53
+ `${isaac_typescript_definitions_1.EntityType.DOGMA}.${isaac_typescript_definitions_1.DogmaVariant.ANGEL_PHASE_2}`, // 950.2
54
+ `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.BEAST}`, // 951.0
55
+ `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_FAMINE}`, // 951.10
56
+ `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_PESTILENCE}`, // 951.20
57
+ `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_WAR}`, // 951.30
58
58
  `${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_DEATH}`, // 951.40
59
59
  ]);
@@ -5,10 +5,10 @@ const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  /** The set of all `ItemConfigCardType` values that are not a rune or special object. */
7
7
  exports.ITEM_CONFIG_CARD_TYPES_FOR_CARDS = new ReadonlySet_1.ReadonlySet([
8
- isaac_typescript_definitions_1.ItemConfigCardType.TAROT,
9
- isaac_typescript_definitions_1.ItemConfigCardType.SUIT,
8
+ isaac_typescript_definitions_1.ItemConfigCardType.TAROT, // 0
9
+ isaac_typescript_definitions_1.ItemConfigCardType.SUIT, // 1
10
10
  // - ItemConfigCardType.RUNE (2)
11
- isaac_typescript_definitions_1.ItemConfigCardType.SPECIAL,
11
+ isaac_typescript_definitions_1.ItemConfigCardType.SPECIAL, // 3
12
12
  // - ItemConfigCardType.SPECIAL_OBJECT (4)
13
13
  isaac_typescript_definitions_1.ItemConfigCardType.TAROT_REVERSE, // 5
14
14
  ]);
@@ -8,9 +8,9 @@ const ReadonlySet_1 = require("../types/ReadonlySet");
8
8
  * they die.
9
9
  */
10
10
  exports.LOST_STYLE_CHARACTERS_SET = new ReadonlySet_1.ReadonlySet([
11
- isaac_typescript_definitions_1.PlayerType.LOST,
12
- isaac_typescript_definitions_1.PlayerType.SOUL,
13
- isaac_typescript_definitions_1.PlayerType.LOST_B,
14
- isaac_typescript_definitions_1.PlayerType.JACOB_2_B,
11
+ isaac_typescript_definitions_1.PlayerType.LOST, // 10
12
+ isaac_typescript_definitions_1.PlayerType.SOUL, // 17
13
+ isaac_typescript_definitions_1.PlayerType.LOST_B, // 31
14
+ isaac_typescript_definitions_1.PlayerType.JACOB_2_B, // 39
15
15
  isaac_typescript_definitions_1.PlayerType.SOUL_B, // 40
16
16
  ]);
@@ -4,8 +4,8 @@ exports.NARROW_ROOM_SHAPES_SET = void 0;
4
4
  const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  exports.NARROW_ROOM_SHAPES_SET = new ReadonlySet_1.ReadonlySet([
7
- isaac_typescript_definitions_1.RoomShape.IH,
8
- isaac_typescript_definitions_1.RoomShape.IV,
9
- isaac_typescript_definitions_1.RoomShape.IIV,
7
+ isaac_typescript_definitions_1.RoomShape.IH, // 2
8
+ isaac_typescript_definitions_1.RoomShape.IV, // 3
9
+ isaac_typescript_definitions_1.RoomShape.IIV, // 5
10
10
  isaac_typescript_definitions_1.RoomShape.IIH, // 7
11
11
  ]);
@@ -4,13 +4,13 @@ exports.POOP_GRID_ENTITY_XML_TYPES_SET = void 0;
4
4
  const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  exports.POOP_GRID_ENTITY_XML_TYPES_SET = new ReadonlySet_1.ReadonlySet([
7
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_RED,
8
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_RAINBOW,
9
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_CORNY,
10
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_GOLDEN,
11
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_BLACK,
12
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_WHITE,
13
- isaac_typescript_definitions_1.GridEntityXMLType.POOP_GIGA,
14
- isaac_typescript_definitions_1.GridEntityXMLType.POOP,
7
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_RED, // 1490
8
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_RAINBOW, // 1494
9
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_CORNY, // 1495
10
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_GOLDEN, // 1496
11
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_BLACK, // 1497
12
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_WHITE, // 1498
13
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP_GIGA, // 1499
14
+ isaac_typescript_definitions_1.GridEntityXMLType.POOP, // 1500
15
15
  isaac_typescript_definitions_1.GridEntityXMLType.POOP_CHARMING, // 1501
16
16
  ]);
@@ -4,7 +4,7 @@ exports.RED_HEART_SUB_TYPES_SET = void 0;
4
4
  const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  exports.RED_HEART_SUB_TYPES_SET = new ReadonlySet_1.ReadonlySet([
7
- isaac_typescript_definitions_1.HeartSubType.FULL,
8
- isaac_typescript_definitions_1.HeartSubType.HALF,
7
+ isaac_typescript_definitions_1.HeartSubType.FULL, // 1
8
+ isaac_typescript_definitions_1.HeartSubType.HALF, // 2
9
9
  isaac_typescript_definitions_1.HeartSubType.DOUBLE_PACK, // 5
10
10
  ]);
@@ -4,27 +4,27 @@ exports.REPENTANCE_ONLY_BOSS_IDS_SET = void 0;
4
4
  const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  exports.REPENTANCE_ONLY_BOSS_IDS_SET = new ReadonlySet_1.ReadonlySet([
7
- isaac_typescript_definitions_1.BossID.LIL_BLUB,
8
- isaac_typescript_definitions_1.BossID.WORMWOOD,
9
- isaac_typescript_definitions_1.BossID.RAINMAKER,
10
- isaac_typescript_definitions_1.BossID.VISAGE,
11
- isaac_typescript_definitions_1.BossID.SIREN,
12
- isaac_typescript_definitions_1.BossID.TUFF_TWINS,
13
- isaac_typescript_definitions_1.BossID.HERETIC,
14
- isaac_typescript_definitions_1.BossID.HORNFEL,
15
- isaac_typescript_definitions_1.BossID.GREAT_GIDEON,
16
- isaac_typescript_definitions_1.BossID.SCOURGE,
17
- isaac_typescript_definitions_1.BossID.CHIMERA,
18
- isaac_typescript_definitions_1.BossID.ROTGUT,
19
- isaac_typescript_definitions_1.BossID.MOTHER,
20
- isaac_typescript_definitions_1.BossID.MAUSOLEUM_MOM,
21
- isaac_typescript_definitions_1.BossID.MAUSOLEUM_MOMS_HEART,
22
- isaac_typescript_definitions_1.BossID.MIN_MIN,
23
- isaac_typescript_definitions_1.BossID.CLOG,
24
- isaac_typescript_definitions_1.BossID.SINGE,
25
- isaac_typescript_definitions_1.BossID.COLOSTOMIA,
26
- isaac_typescript_definitions_1.BossID.SHELL,
27
- isaac_typescript_definitions_1.BossID.TURDLET,
28
- isaac_typescript_definitions_1.BossID.HORNY_BOYS,
7
+ isaac_typescript_definitions_1.BossID.LIL_BLUB, // 75
8
+ isaac_typescript_definitions_1.BossID.WORMWOOD, // 76
9
+ isaac_typescript_definitions_1.BossID.RAINMAKER, // 77
10
+ isaac_typescript_definitions_1.BossID.VISAGE, // 78
11
+ isaac_typescript_definitions_1.BossID.SIREN, // 79
12
+ isaac_typescript_definitions_1.BossID.TUFF_TWINS, // 80
13
+ isaac_typescript_definitions_1.BossID.HERETIC, // 81
14
+ isaac_typescript_definitions_1.BossID.HORNFEL, // 82
15
+ isaac_typescript_definitions_1.BossID.GREAT_GIDEON, // 83
16
+ isaac_typescript_definitions_1.BossID.SCOURGE, // 85
17
+ isaac_typescript_definitions_1.BossID.CHIMERA, // 86
18
+ isaac_typescript_definitions_1.BossID.ROTGUT, // 87
19
+ isaac_typescript_definitions_1.BossID.MOTHER, // 88
20
+ isaac_typescript_definitions_1.BossID.MAUSOLEUM_MOM, // 89
21
+ isaac_typescript_definitions_1.BossID.MAUSOLEUM_MOMS_HEART, // 90
22
+ isaac_typescript_definitions_1.BossID.MIN_MIN, // 91
23
+ isaac_typescript_definitions_1.BossID.CLOG, // 92
24
+ isaac_typescript_definitions_1.BossID.SINGE, // 93
25
+ isaac_typescript_definitions_1.BossID.COLOSTOMIA, // 95
26
+ isaac_typescript_definitions_1.BossID.SHELL, // 96
27
+ isaac_typescript_definitions_1.BossID.TURDLET, // 97
28
+ isaac_typescript_definitions_1.BossID.HORNY_BOYS, // 101
29
29
  isaac_typescript_definitions_1.BossID.CLUTCH, // 102
30
30
  ]);
@@ -4,11 +4,11 @@ exports.SIN_ENTITY_TYPES_SET = void 0;
4
4
  const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  exports.SIN_ENTITY_TYPES_SET = new ReadonlySet_1.ReadonlySet([
7
- isaac_typescript_definitions_1.EntityType.SLOTH,
8
- isaac_typescript_definitions_1.EntityType.LUST,
9
- isaac_typescript_definitions_1.EntityType.WRATH,
10
- isaac_typescript_definitions_1.EntityType.GLUTTONY,
11
- isaac_typescript_definitions_1.EntityType.GREED,
12
- isaac_typescript_definitions_1.EntityType.ENVY,
7
+ isaac_typescript_definitions_1.EntityType.SLOTH, // 46
8
+ isaac_typescript_definitions_1.EntityType.LUST, // 47
9
+ isaac_typescript_definitions_1.EntityType.WRATH, // 48
10
+ isaac_typescript_definitions_1.EntityType.GLUTTONY, // 49
11
+ isaac_typescript_definitions_1.EntityType.GREED, // 50
12
+ isaac_typescript_definitions_1.EntityType.ENVY, // 51
13
13
  isaac_typescript_definitions_1.EntityType.PRIDE, // 52
14
14
  ]);
@@ -4,12 +4,12 @@ exports.SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET = void 0;
4
4
  const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
5
  const ReadonlySet_1 = require("../types/ReadonlySet");
6
6
  exports.SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET = new ReadonlySet_1.ReadonlySet([
7
- isaac_typescript_definitions_1.CollectibleType.FORGET_ME_NOW,
8
- isaac_typescript_definitions_1.CollectibleType.EDENS_SOUL,
9
- isaac_typescript_definitions_1.CollectibleType.ALABASTER_BOX,
10
- isaac_typescript_definitions_1.CollectibleType.PLAN_C,
11
- isaac_typescript_definitions_1.CollectibleType.MAMA_MEGA,
12
- isaac_typescript_definitions_1.CollectibleType.SACRIFICIAL_ALTAR,
13
- isaac_typescript_definitions_1.CollectibleType.DEATH_CERTIFICATE,
7
+ isaac_typescript_definitions_1.CollectibleType.FORGET_ME_NOW, // 127
8
+ isaac_typescript_definitions_1.CollectibleType.EDENS_SOUL, // 490
9
+ isaac_typescript_definitions_1.CollectibleType.ALABASTER_BOX, // 585
10
+ isaac_typescript_definitions_1.CollectibleType.PLAN_C, // 475
11
+ isaac_typescript_definitions_1.CollectibleType.MAMA_MEGA, // 483
12
+ isaac_typescript_definitions_1.CollectibleType.SACRIFICIAL_ALTAR, // 536
13
+ isaac_typescript_definitions_1.CollectibleType.DEATH_CERTIFICATE, // 628
14
14
  isaac_typescript_definitions_1.CollectibleType.R_KEY, // 636
15
15
  ]);
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.38.5"
8
+ "packageVersion": "7.39.0"
9
9
  }
10
10
  ]
11
11
  }
@@ -23,8 +23,8 @@ function resetPickingUpItem(pickingUpItem) {
23
23
  }
24
24
  exports.resetPickingUpItem = resetPickingUpItem;
25
25
  const COLLECTIBLE_ITEM_TYPES = new ReadonlySet_1.ReadonlySet([
26
- isaac_typescript_definitions_1.ItemType.PASSIVE,
27
- isaac_typescript_definitions_1.ItemType.ACTIVE,
26
+ isaac_typescript_definitions_1.ItemType.PASSIVE, // 1
27
+ isaac_typescript_definitions_1.ItemType.ACTIVE, // 3
28
28
  isaac_typescript_definitions_1.ItemType.FAMILIAR, // 4
29
29
  ]);
30
30
  /** Helper function to narrow the type of `PickingUpItem`. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "85.0.2",
3
+ "version": "86.0.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -9,7 +9,7 @@ eslint "sort-exports/sort-exports": [
9
9
  ],
10
10
  */
11
11
 
12
- /* eslint "require-jsdoc": "error" */
12
+ /* eslint "jsdoc/require-jsdoc": "error" */
13
13
 
14
14
  /**
15
15
  * __DOCS_LINE_THAT_WILL_BE_AUTOMATICALLY_REMOVED__
@@ -1009,6 +1009,11 @@ export function maze(): void {
1009
1009
  printEnabled(v.persistent.maze, "permanent Curse of the Maze");
1010
1010
  }
1011
1011
 
1012
+ /** Warps to the Mega Satan room on the floor. (Every floor has a Mega Satan room.) */
1013
+ export function megaSatan(): void {
1014
+ changeRoom(GridRoom.MEGA_SATAN);
1015
+ }
1016
+
1012
1017
  /** Warps to the first Miniboss Room on the floor. */
1013
1018
  export function miniboss(): void {
1014
1019
  warpToRoomType(RoomType.MINI_BOSS);
package/src/features.ts CHANGED
@@ -59,7 +59,7 @@ import { UnlockAchievementsDetection } from "./classes/features/other/UnlockAchi
59
59
  import type { Feature } from "./classes/private/Feature";
60
60
  import { ISCFeature } from "./enums/ISCFeature";
61
61
  import { ModCallbackCustom } from "./enums/ModCallbackCustom";
62
- import { validateInterfaceMatchesEnum } from "./functions/enums";
62
+ import { interfaceSatisfiesEnum } from "./functions/enums";
63
63
  import type { ModUpgradedInterface } from "./interfaces/private/ModUpgradedInterface";
64
64
 
65
65
  export interface ISCFeatureToClass {
@@ -125,7 +125,7 @@ export interface ISCFeatureToClass {
125
125
  [ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION]: UnlockAchievementsDetection;
126
126
  }
127
127
 
128
- validateInterfaceMatchesEnum<ISCFeatureToClass, ISCFeature>();
128
+ interfaceSatisfiesEnum<ISCFeatureToClass, ISCFeature>();
129
129
 
130
130
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
131
131
  export function getFeatures(
@@ -255,7 +255,7 @@ export function emptyArray<T>(array: T[]): void {
255
255
  }
256
256
 
257
257
  /**
258
- * Helper function to perform a map and a filter at the same time. Similar to `Array.map`, provide a
258
+ * Helper function to perform a filter and a map at the same time. Similar to `Array.map`, provide a
259
259
  * function that transforms a value, but return `undefined` if the value should be skipped. (Thus,
260
260
  * this function cannot be used in situations where `undefined` can be a valid array element.)
261
261
  *
@@ -202,6 +202,39 @@ export function getRandomEnumValue<T extends TranspiledEnum>(
202
202
  return getRandomArrayElement(enumValues, seedOrRNG, exceptions);
203
203
  }
204
204
 
205
+ /**
206
+ * Helper function to validate that an interface contains all of the keys of an enum. You must
207
+ * specify both generic parameters in order for this to work properly (i.e. the interface and then
208
+ * the enum).
209
+ *
210
+ * For example:
211
+ *
212
+ * ```ts
213
+ * enum MyEnum {
214
+ * Value1,
215
+ * Value2,
216
+ * Value3,
217
+ * }
218
+ *
219
+ * interface MyEnumToType {
220
+ * [MyEnum.Value1]: boolean;
221
+ * [MyEnum.Value2]: number;
222
+ * [MyEnum.Value3]: string;
223
+ * }
224
+ *
225
+ * interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
226
+ * ```
227
+ *
228
+ * This function is only meant to be used with interfaces (i.e. types that will not exist at
229
+ * run-time). If you are generating an object that will contain all of the keys of an enum, use the
230
+ * `satisfies` operator with the `Record` type instead.
231
+ */
232
+ export function interfaceSatisfiesEnum<
233
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
234
+ T extends Record<Enum, unknown>,
235
+ Enum extends string | number,
236
+ >(): void {} // eslint-disable-line @typescript-eslint/no-empty-function
237
+
205
238
  /** Helper function to validate that a particular value exists inside of an enum. */
206
239
  export function isEnumValue<T extends TranspiledEnum>(
207
240
  value: number | string | BitFlag | BitFlag128,
@@ -270,36 +303,3 @@ export function validateEnumContiguous<T extends TranspiledEnum>(
270
303
  }
271
304
  }
272
305
  }
273
-
274
- /**
275
- * Helper function to validate that an interface contains all of the keys of an enum. You must
276
- * specify both generic parameters in order for this to work properly (i.e. the interface and then
277
- * the enum).
278
- *
279
- * For example:
280
- *
281
- * ```ts
282
- * enum MyEnum {
283
- * Value1,
284
- * Value2,
285
- * Value3,
286
- * }
287
- *
288
- * interface MyEnumToType {
289
- * [MyEnum.Value1]: boolean;
290
- * [MyEnum.Value2]: number;
291
- * [MyEnum.Value3]: string;
292
- * }
293
- *
294
- * validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
295
- * ```
296
- *
297
- * This function is only meant to be used with interfaces (i.e. types that will not exist at
298
- * run-time). If you are generating an object that will contain all of the keys of an enum, use the
299
- * `satisfies` operator with the `Record` type instead.
300
- */
301
- export function validateInterfaceMatchesEnum<
302
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
303
- T extends Record<Enum, unknown>,
304
- Enum extends string | number,
305
- >(): void {} // eslint-disable-line @typescript-eslint/no-empty-function
@@ -1,6 +1,6 @@
1
1
  import type { TearFlag } from "isaac-typescript-definitions";
2
2
  import type { PlayerStat } from "../enums/PlayerStat";
3
- import { validateInterfaceMatchesEnum } from "../functions/enums";
3
+ import { interfaceSatisfiesEnum } from "../functions/enums";
4
4
 
5
5
  /**
6
6
  * Contains every player stat along with its corresponding data type. For example, `StatType.DAMAGE`
@@ -22,4 +22,4 @@ export interface PlayerStats {
22
22
  [PlayerStat.SIZE]: Vector;
23
23
  }
24
24
 
25
- validateInterfaceMatchesEnum<PlayerStats, PlayerStat>();
25
+ interfaceSatisfiesEnum<PlayerStats, PlayerStat>();
@@ -39,7 +39,7 @@ import type { HealthType } from "../../enums/HealthType";
39
39
  import type { ModCallbackCustom } from "../../enums/ModCallbackCustom";
40
40
  import type { PlayerStat } from "../../enums/PlayerStat";
41
41
  import type { SlotDestructionType } from "../../enums/SlotDestructionType";
42
- import { validateInterfaceMatchesEnum } from "../../functions/enums";
42
+ import { interfaceSatisfiesEnum } from "../../functions/enums";
43
43
  import type {
44
44
  PickingUpItem,
45
45
  PickingUpItemCollectible,
@@ -1059,4 +1059,4 @@ export interface AddCallbackParametersCustom {
1059
1059
  ];
1060
1060
  }
1061
1061
 
1062
- validateInterfaceMatchesEnum<AddCallbackParametersCustom, ModCallbackCustom>();
1062
+ interfaceSatisfiesEnum<AddCallbackParametersCustom, ModCallbackCustom>();