isaacscript-common 87.9.7 → 87.9.8

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 (563) hide show
  1. package/dist/cachedEnumValues.js +29 -32
  2. package/dist/callbackClasses.js +142 -289
  3. package/dist/callbacks.js +147 -183
  4. package/dist/classes/DefaultMap.js +4 -8
  5. package/dist/classes/ModFeature.js +21 -25
  6. package/dist/classes/ModUpgraded.js +43 -47
  7. package/dist/classes/callbacks/EntityTakeDmgFilter.js +6 -10
  8. package/dist/classes/callbacks/EntityTakeDmgPlayer.js +7 -11
  9. package/dist/classes/callbacks/InputActionFilter.js +4 -8
  10. package/dist/classes/callbacks/InputActionPlayer.js +4 -8
  11. package/dist/classes/callbacks/PostAmbushFinished.js +10 -14
  12. package/dist/classes/callbacks/PostAmbushStarted.js +10 -14
  13. package/dist/classes/callbacks/PostBombExploded.js +8 -12
  14. package/dist/classes/callbacks/PostBombInitFilter.js +6 -10
  15. package/dist/classes/callbacks/PostBombInitLate.js +6 -10
  16. package/dist/classes/callbacks/PostBombRenderFilter.js +6 -10
  17. package/dist/classes/callbacks/PostBombUpdateFilter.js +6 -10
  18. package/dist/classes/callbacks/PostBoneSwing.js +7 -11
  19. package/dist/classes/callbacks/PostCollectibleEmpty.js +6 -10
  20. package/dist/classes/callbacks/PostCursedTeleport.js +30 -34
  21. package/dist/classes/callbacks/PostCustomRevive.js +4 -8
  22. package/dist/classes/callbacks/PostDiceRoomActivated.js +9 -13
  23. package/dist/classes/callbacks/PostDoorRender.js +8 -12
  24. package/dist/classes/callbacks/PostDoorUpdate.js +8 -12
  25. package/dist/classes/callbacks/PostEffectInitFilter.js +6 -10
  26. package/dist/classes/callbacks/PostEffectInitLate.js +6 -10
  27. package/dist/classes/callbacks/PostEffectRenderFilter.js +6 -10
  28. package/dist/classes/callbacks/PostEffectStateChanged.js +8 -12
  29. package/dist/classes/callbacks/PostEffectUpdateFilter.js +6 -10
  30. package/dist/classes/callbacks/PostEntityKillFilter.js +6 -10
  31. package/dist/classes/callbacks/PostEntityRemoveFilter.js +6 -10
  32. package/dist/classes/callbacks/PostEsauJr.js +4 -8
  33. package/dist/classes/callbacks/PostFamiliarInitFilter.js +6 -10
  34. package/dist/classes/callbacks/PostFamiliarInitLate.js +6 -10
  35. package/dist/classes/callbacks/PostFamiliarRenderFilter.js +6 -10
  36. package/dist/classes/callbacks/PostFamiliarStateChanged.js +8 -12
  37. package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +6 -10
  38. package/dist/classes/callbacks/PostFirstEsauJr.js +4 -8
  39. package/dist/classes/callbacks/PostFirstFlip.js +4 -8
  40. package/dist/classes/callbacks/PostFlip.js +4 -8
  41. package/dist/classes/callbacks/PostGameEndFilter.js +6 -10
  42. package/dist/classes/callbacks/PostGameStartedReordered.js +6 -10
  43. package/dist/classes/callbacks/PostGameStartedReorderedLast.js +6 -10
  44. package/dist/classes/callbacks/PostGreedModeWave.js +7 -11
  45. package/dist/classes/callbacks/PostGridEntityBroken.js +6 -10
  46. package/dist/classes/callbacks/PostGridEntityCollision.js +4 -8
  47. package/dist/classes/callbacks/PostGridEntityCustomBroken.js +6 -10
  48. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +4 -8
  49. package/dist/classes/callbacks/PostGridEntityCustomInit.js +6 -10
  50. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +4 -8
  51. package/dist/classes/callbacks/PostGridEntityCustomRender.js +6 -10
  52. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +6 -10
  53. package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +6 -10
  54. package/dist/classes/callbacks/PostGridEntityInit.js +6 -10
  55. package/dist/classes/callbacks/PostGridEntityRemove.js +4 -8
  56. package/dist/classes/callbacks/PostGridEntityRender.js +6 -10
  57. package/dist/classes/callbacks/PostGridEntityStateChanged.js +6 -10
  58. package/dist/classes/callbacks/PostGridEntityUpdate.js +6 -10
  59. package/dist/classes/callbacks/PostHolyMantleRemoved.js +15 -19
  60. package/dist/classes/callbacks/PostItemDischarge.js +23 -27
  61. package/dist/classes/callbacks/PostItemPickup.js +6 -10
  62. package/dist/classes/callbacks/PostKeyboardChanged.js +9 -13
  63. package/dist/classes/callbacks/PostKnifeInitFilter.js +6 -10
  64. package/dist/classes/callbacks/PostKnifeInitLate.js +6 -10
  65. package/dist/classes/callbacks/PostKnifeRenderFilter.js +6 -10
  66. package/dist/classes/callbacks/PostKnifeUpdateFilter.js +6 -10
  67. package/dist/classes/callbacks/PostLaserInitFilter.js +6 -10
  68. package/dist/classes/callbacks/PostLaserInitLate.js +6 -10
  69. package/dist/classes/callbacks/PostLaserRenderFilter.js +6 -10
  70. package/dist/classes/callbacks/PostLaserUpdateFilter.js +6 -10
  71. package/dist/classes/callbacks/PostNPCDeathFilter.js +6 -10
  72. package/dist/classes/callbacks/PostNPCInitFilter.js +6 -10
  73. package/dist/classes/callbacks/PostNPCInitLate.js +6 -10
  74. package/dist/classes/callbacks/PostNPCRenderFilter.js +6 -10
  75. package/dist/classes/callbacks/PostNPCStateChanged.js +8 -12
  76. package/dist/classes/callbacks/PostNPCUpdateFilter.js +6 -10
  77. package/dist/classes/callbacks/PostNewLevelReordered.js +6 -10
  78. package/dist/classes/callbacks/PostNewRoomEarly.js +17 -21
  79. package/dist/classes/callbacks/PostNewRoomReordered.js +6 -10
  80. package/dist/classes/callbacks/PostPEffectUpdateReordered.js +6 -10
  81. package/dist/classes/callbacks/PostPickupChanged.js +6 -10
  82. package/dist/classes/callbacks/PostPickupCollect.js +8 -12
  83. package/dist/classes/callbacks/PostPickupInitFilter.js +6 -10
  84. package/dist/classes/callbacks/PostPickupInitFirst.js +10 -14
  85. package/dist/classes/callbacks/PostPickupInitLate.js +6 -10
  86. package/dist/classes/callbacks/PostPickupRenderFilter.js +6 -10
  87. package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -8
  88. package/dist/classes/callbacks/PostPickupStateChanged.js +8 -12
  89. package/dist/classes/callbacks/PostPickupUpdateFilter.js +6 -10
  90. package/dist/classes/callbacks/PostPitRender.js +8 -12
  91. package/dist/classes/callbacks/PostPitUpdate.js +8 -12
  92. package/dist/classes/callbacks/PostPlayerChangeHealth.js +14 -18
  93. package/dist/classes/callbacks/PostPlayerChangeStat.js +26 -30
  94. package/dist/classes/callbacks/PostPlayerChangeType.js +11 -15
  95. package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +6 -10
  96. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +6 -10
  97. package/dist/classes/callbacks/PostPlayerFatalDamage.js +24 -28
  98. package/dist/classes/callbacks/PostPlayerInitFirst.js +12 -16
  99. package/dist/classes/callbacks/PostPlayerInitLate.js +9 -13
  100. package/dist/classes/callbacks/PostPlayerRenderReordered.js +6 -10
  101. package/dist/classes/callbacks/PostPlayerUpdateReordered.js +6 -10
  102. package/dist/classes/callbacks/PostPoopRender.js +8 -12
  103. package/dist/classes/callbacks/PostPoopUpdate.js +8 -12
  104. package/dist/classes/callbacks/PostPressurePlateRender.js +8 -12
  105. package/dist/classes/callbacks/PostPressurePlateUpdate.js +8 -12
  106. package/dist/classes/callbacks/PostProjectileInitFilter.js +6 -10
  107. package/dist/classes/callbacks/PostProjectileInitLate.js +6 -10
  108. package/dist/classes/callbacks/PostProjectileKill.js +8 -12
  109. package/dist/classes/callbacks/PostProjectileRenderFilter.js +6 -10
  110. package/dist/classes/callbacks/PostProjectileUpdateFilter.js +6 -10
  111. package/dist/classes/callbacks/PostPurchase.js +21 -25
  112. package/dist/classes/callbacks/PostRockRender.js +8 -12
  113. package/dist/classes/callbacks/PostRockUpdate.js +8 -12
  114. package/dist/classes/callbacks/PostRoomClearChanged.js +9 -13
  115. package/dist/classes/callbacks/PostSacrifice.js +12 -16
  116. package/dist/classes/callbacks/PostSlotAnimationChanged.js +6 -10
  117. package/dist/classes/callbacks/PostSlotCollision.js +8 -12
  118. package/dist/classes/callbacks/PostSlotDestroyed.js +6 -10
  119. package/dist/classes/callbacks/PostSlotInit.js +6 -10
  120. package/dist/classes/callbacks/PostSlotRender.js +6 -10
  121. package/dist/classes/callbacks/PostSlotUpdate.js +6 -10
  122. package/dist/classes/callbacks/PostSpikesRender.js +8 -12
  123. package/dist/classes/callbacks/PostSpikesUpdate.js +8 -12
  124. package/dist/classes/callbacks/PostTNTRender.js +8 -12
  125. package/dist/classes/callbacks/PostTNTUpdate.js +8 -12
  126. package/dist/classes/callbacks/PostTearInitFilter.js +6 -10
  127. package/dist/classes/callbacks/PostTearInitLate.js +6 -10
  128. package/dist/classes/callbacks/PostTearInitVeryLate.js +6 -10
  129. package/dist/classes/callbacks/PostTearKill.js +8 -12
  130. package/dist/classes/callbacks/PostTearRenderFilter.js +6 -10
  131. package/dist/classes/callbacks/PostTearUpdateFilter.js +6 -10
  132. package/dist/classes/callbacks/PostTransformation.js +10 -14
  133. package/dist/classes/callbacks/PostTrinketBreak.js +16 -20
  134. package/dist/classes/callbacks/PostUsePillFilter.js +18 -22
  135. package/dist/classes/callbacks/PreBerserkDeath.js +14 -18
  136. package/dist/classes/callbacks/PreBombCollisionFilter.js +6 -10
  137. package/dist/classes/callbacks/PreCustomRevive.js +6 -10
  138. package/dist/classes/callbacks/PreEntitySpawnFilter.js +4 -8
  139. package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +6 -10
  140. package/dist/classes/callbacks/PreGetPedestal.js +8 -12
  141. package/dist/classes/callbacks/PreItemPickup.js +6 -10
  142. package/dist/classes/callbacks/PreKnifeCollisionFilter.js +6 -10
  143. package/dist/classes/callbacks/PreNPCCollisionFilter.js +6 -10
  144. package/dist/classes/callbacks/PreNPCUpdateFilter.js +6 -10
  145. package/dist/classes/callbacks/PreNewLevel.js +10 -14
  146. package/dist/classes/callbacks/PreProjectileCollisionFilter.js +6 -10
  147. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +4 -8
  148. package/dist/classes/callbacks/PreTearCollisionFilter.js +6 -10
  149. package/dist/classes/features/callbackLogic/CustomGridEntities.js +46 -50
  150. package/dist/classes/features/callbackLogic/CustomRevive.js +28 -32
  151. package/dist/classes/features/callbackLogic/EsauJrDetection.js +11 -15
  152. package/dist/classes/features/callbackLogic/FlipDetection.js +11 -15
  153. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +26 -30
  154. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +10 -14
  155. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +6 -10
  156. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +12 -16
  157. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +17 -21
  158. package/dist/classes/features/callbackLogic/PickupChangeDetection.js +6 -10
  159. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +39 -43
  160. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +18 -22
  161. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +17 -21
  162. package/dist/classes/features/callbackLogic/SlotRenderDetection.js +8 -12
  163. package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +9 -13
  164. package/dist/classes/features/other/CharacterHealthConversion.js +13 -17
  165. package/dist/classes/features/other/CharacterStats.js +9 -13
  166. package/dist/classes/features/other/CollectibleItemPoolType.js +17 -21
  167. package/dist/classes/features/other/CustomHotkeys.js +15 -19
  168. package/dist/classes/features/other/CustomItemPools.js +20 -24
  169. package/dist/classes/features/other/CustomPickups.js +15 -19
  170. package/dist/classes/features/other/CustomStages.js +116 -153
  171. package/dist/classes/features/other/CustomTrapdoors.js +119 -123
  172. package/dist/classes/features/other/DebugDisplay.js +77 -81
  173. package/dist/classes/features/other/DeployJSONRoom.js +65 -69
  174. package/dist/classes/features/other/DisableAllSound.js +14 -18
  175. package/dist/classes/features/other/DisableInputs.js +24 -28
  176. package/dist/classes/features/other/EdenStartingStatsHealth.js +36 -40
  177. package/dist/classes/features/other/ExtraConsoleCommands.js +65 -102
  178. package/dist/classes/features/other/FadeInRemover.js +9 -13
  179. package/dist/classes/features/other/FastReset.js +18 -22
  180. package/dist/classes/features/other/FlyingDetection.js +10 -14
  181. package/dist/classes/features/other/ForgottenSwitch.js +8 -12
  182. package/dist/classes/features/other/ItemPoolDetection.js +35 -39
  183. package/dist/classes/features/other/ModdedElementDetection.js +43 -47
  184. package/dist/classes/features/other/ModdedElementSets.js +135 -139
  185. package/dist/classes/features/other/NoSirenSteal.js +7 -11
  186. package/dist/classes/features/other/Pause.js +48 -52
  187. package/dist/classes/features/other/PersistentEntities.js +16 -20
  188. package/dist/classes/features/other/PickupIndexCreation.js +31 -35
  189. package/dist/classes/features/other/PlayerCollectibleTracking.js +18 -22
  190. package/dist/classes/features/other/PonyDetection.js +22 -26
  191. package/dist/classes/features/other/PressInput.js +10 -14
  192. package/dist/classes/features/other/PreventChildEntities.js +6 -10
  193. package/dist/classes/features/other/PreventGridEntityRespawn.js +34 -38
  194. package/dist/classes/features/other/RerunDetection.js +11 -15
  195. package/dist/classes/features/other/RoomClearFrame.js +11 -15
  196. package/dist/classes/features/other/RoomHistory.js +30 -34
  197. package/dist/classes/features/other/RunInNFrames.js +24 -28
  198. package/dist/classes/features/other/RunNextRoom.js +8 -12
  199. package/dist/classes/features/other/RunNextRun.js +8 -12
  200. package/dist/classes/features/other/SaveDataManager.js +61 -65
  201. package/dist/classes/features/other/SpawnRockAltRewards.js +115 -119
  202. package/dist/classes/features/other/StageHistory.js +76 -80
  203. package/dist/classes/features/other/StartAmbush.js +12 -16
  204. package/dist/classes/features/other/TaintedLazarusPlayers.js +10 -14
  205. package/dist/classes/features/other/UnlockAchievementsDetection.js +10 -14
  206. package/dist/classes/features/other/customStages/backdrop.js +68 -71
  207. package/dist/classes/features/other/customStages/constants.js +7 -10
  208. package/dist/classes/features/other/customStages/gridEntities.js +23 -30
  209. package/dist/classes/features/other/customStages/shadows.js +27 -30
  210. package/dist/classes/features/other/customStages/streakText.js +55 -60
  211. package/dist/classes/features/other/customStages/utils.js +13 -17
  212. package/dist/classes/features/other/customStages/v.js +4 -7
  213. package/dist/classes/features/other/customStages/versusScreen.js +46 -50
  214. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +8 -12
  215. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +8 -12
  216. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +8 -12
  217. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +8 -12
  218. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +8 -12
  219. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +8 -12
  220. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +8 -12
  221. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +8 -12
  222. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +8 -12
  223. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +8 -12
  224. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +8 -12
  225. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +8 -12
  226. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +8 -12
  227. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +8 -12
  228. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +8 -12
  229. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +8 -12
  230. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +8 -12
  231. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +8 -12
  232. package/dist/classes/features/other/debugDisplay/utils.js +6 -10
  233. package/dist/classes/features/other/extraConsoleCommands/commands.js +411 -557
  234. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +47 -57
  235. package/dist/classes/features/other/extraConsoleCommands/v.js +1 -4
  236. package/dist/classes/features/other/saveDataManager/constants.js +1 -4
  237. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +17 -21
  238. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +19 -22
  239. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +20 -25
  240. package/dist/classes/features/other/saveDataManager/saveToDisk.js +13 -16
  241. package/dist/classes/private/CustomCallback.js +4 -8
  242. package/dist/classes/private/Feature.js +1 -5
  243. package/dist/core/cachedClasses.js +12 -15
  244. package/dist/core/constants.js +126 -130
  245. package/dist/core/constantsFirstLast.js +22 -25
  246. package/dist/core/constantsVanilla.js +25 -28
  247. package/dist/core/upgradeMod.js +7 -10
  248. package/dist/decorators.js +6 -10
  249. package/dist/enums/AmbushType.js +2 -5
  250. package/dist/enums/CornerType.js +2 -5
  251. package/dist/enums/HealthType.js +2 -5
  252. package/dist/enums/ISCFeature.js +2 -5
  253. package/dist/enums/LadderSubTypeCustom.js +2 -5
  254. package/dist/enums/ModCallbackCustom.js +2 -5
  255. package/dist/enums/MysteriousPaperEffect.js +2 -5
  256. package/dist/enums/PlayerStat.js +2 -5
  257. package/dist/enums/PocketItemType.js +2 -5
  258. package/dist/enums/RockAltType.js +2 -5
  259. package/dist/enums/SaveDataKey.js +2 -5
  260. package/dist/enums/SerializationType.js +2 -5
  261. package/dist/enums/SlotDestructionType.js +2 -5
  262. package/dist/enums/private/GridEntityTypeCustom.js +1 -4
  263. package/dist/enums/private/SerializationBrand.js +2 -5
  264. package/dist/enums/private/StageTravelState.js +2 -5
  265. package/dist/enums/private/TrapdoorAnimation.js +2 -5
  266. package/dist/enums/private/UIStreakAnimation.js +2 -5
  267. package/dist/features.js +138 -141
  268. package/dist/functions/ambush.js +9 -12
  269. package/dist/functions/array.js +45 -76
  270. package/dist/functions/arrayLua.js +7 -16
  271. package/dist/functions/benchmark.js +4 -7
  272. package/dist/functions/bitSet128.js +19 -26
  273. package/dist/functions/bitwise.js +14 -23
  274. package/dist/functions/bombs.js +1 -4
  275. package/dist/functions/bosses.js +68 -85
  276. package/dist/functions/cards.js +44 -62
  277. package/dist/functions/challenges.js +28 -39
  278. package/dist/functions/characters.js +68 -87
  279. package/dist/functions/charge.js +41 -52
  280. package/dist/functions/chargeBar.js +2 -6
  281. package/dist/functions/collectibleTag.js +9 -13
  282. package/dist/functions/collectibles.js +133 -172
  283. package/dist/functions/color.js +29 -38
  284. package/dist/functions/console.js +4 -8
  285. package/dist/functions/curses.js +6 -10
  286. package/dist/functions/debugFunctions.js +7 -14
  287. package/dist/functions/decorators.js +13 -19
  288. package/dist/functions/deepCopy.js +96 -99
  289. package/dist/functions/deepCopyTests.js +56 -59
  290. package/dist/functions/dimensions.js +10 -14
  291. package/dist/functions/direction.js +22 -30
  292. package/dist/functions/doors.js +104 -154
  293. package/dist/functions/easing.js +30 -62
  294. package/dist/functions/effects.js +6 -10
  295. package/dist/functions/emptyRoom.js +30 -34
  296. package/dist/functions/entities.js +88 -115
  297. package/dist/functions/entitiesSpecific.js +83 -125
  298. package/dist/functions/entityTypes.js +3 -6
  299. package/dist/functions/enums.js +27 -41
  300. package/dist/functions/external.js +4 -8
  301. package/dist/functions/familiars.js +17 -25
  302. package/dist/functions/flag.js +10 -19
  303. package/dist/functions/frames.js +31 -51
  304. package/dist/functions/globals.js +26 -66
  305. package/dist/functions/gridEntities.js +231 -269
  306. package/dist/functions/gridEntitiesSpecific.js +86 -126
  307. package/dist/functions/gridIndex.js +8 -11
  308. package/dist/functions/hash.js +1 -4
  309. package/dist/functions/hex.js +7 -11
  310. package/dist/functions/input.js +65 -88
  311. package/dist/functions/isaacAPIClass.js +28 -53
  312. package/dist/functions/itemPool.js +39 -48
  313. package/dist/functions/jsonHelpers.js +5 -42
  314. package/dist/functions/jsonRoom.js +39 -46
  315. package/dist/functions/kColor.js +30 -39
  316. package/dist/functions/language.js +3 -6
  317. package/dist/functions/level.js +20 -26
  318. package/dist/functions/levelGrid.js +81 -108
  319. package/dist/functions/log.js +6 -12
  320. package/dist/functions/logEntities.js +49 -59
  321. package/dist/functions/logMisc.js +183 -214
  322. package/dist/functions/map.js +10 -20
  323. package/dist/functions/math.js +16 -31
  324. package/dist/functions/merge.js +48 -51
  325. package/dist/functions/mergeTests.js +34 -37
  326. package/dist/functions/minimap.js +34 -46
  327. package/dist/functions/modFeatures.js +1 -4
  328. package/dist/functions/newArray.js +5 -8
  329. package/dist/functions/nextStage.js +63 -67
  330. package/dist/functions/npcDataStructures.js +9 -20
  331. package/dist/functions/npcs.js +37 -45
  332. package/dist/functions/pickupVariants.js +26 -39
  333. package/dist/functions/pickups.js +43 -59
  334. package/dist/functions/pickupsSpecific.js +76 -118
  335. package/dist/functions/pills.js +52 -72
  336. package/dist/functions/playerCenter.js +13 -16
  337. package/dist/functions/playerCollectibles.js +59 -79
  338. package/dist/functions/playerDataStructures.js +18 -29
  339. package/dist/functions/playerEffects.js +12 -19
  340. package/dist/functions/playerHealth.js +91 -113
  341. package/dist/functions/playerIndex.js +22 -33
  342. package/dist/functions/playerTrinkets.js +31 -43
  343. package/dist/functions/players.js +87 -126
  344. package/dist/functions/pocketItems.js +33 -43
  345. package/dist/functions/positionVelocity.js +23 -32
  346. package/dist/functions/pressurePlate.js +7 -10
  347. package/dist/functions/projectiles.js +11 -15
  348. package/dist/functions/random.js +8 -13
  349. package/dist/functions/readOnly.js +3 -8
  350. package/dist/functions/render.js +7 -12
  351. package/dist/functions/revive.js +38 -45
  352. package/dist/functions/rng.js +31 -44
  353. package/dist/functions/rockAlt.js +18 -22
  354. package/dist/functions/roomData.js +24 -40
  355. package/dist/functions/roomGrid.js +17 -25
  356. package/dist/functions/roomShape.js +39 -55
  357. package/dist/functions/roomShapeWalls.js +67 -71
  358. package/dist/functions/roomTransition.js +13 -17
  359. package/dist/functions/rooms.js +181 -244
  360. package/dist/functions/run.js +29 -39
  361. package/dist/functions/seeds.js +6 -10
  362. package/dist/functions/serialization.js +27 -34
  363. package/dist/functions/set.js +24 -40
  364. package/dist/functions/slots.js +18 -22
  365. package/dist/functions/sort.js +9 -15
  366. package/dist/functions/sound.js +12 -16
  367. package/dist/functions/spawnCollectible.js +21 -26
  368. package/dist/functions/sprites.js +16 -24
  369. package/dist/functions/stage.js +122 -164
  370. package/dist/functions/stats.js +37 -43
  371. package/dist/functions/storyBosses.js +36 -40
  372. package/dist/functions/string.js +19 -33
  373. package/dist/functions/table.js +21 -31
  374. package/dist/functions/tears.js +6 -14
  375. package/dist/functions/transformations.js +35 -42
  376. package/dist/functions/trinketGive.js +29 -36
  377. package/dist/functions/trinkets.js +45 -60
  378. package/dist/functions/tstlClass.js +11 -20
  379. package/dist/functions/types.js +22 -46
  380. package/dist/functions/ui.js +25 -40
  381. package/dist/functions/utils.js +22 -36
  382. package/dist/functions/vector.js +33 -46
  383. package/dist/functions/versusScreen.js +12 -18
  384. package/dist/functions/weighted.js +8 -12
  385. package/dist/index.js +150 -166
  386. package/dist/indexLua.js +151 -167
  387. package/dist/interfaces/ChargeBarSprites.js +1 -2
  388. package/dist/interfaces/Corner.js +1 -2
  389. package/dist/interfaces/CustomStageTSConfig.js +1 -2
  390. package/dist/interfaces/GridEntityCustomData.js +1 -2
  391. package/dist/interfaces/JSONRoomsFile.js +1 -2
  392. package/dist/interfaces/PlayerHealth.js +1 -2
  393. package/dist/interfaces/PlayerStats.js +2 -4
  394. package/dist/interfaces/PocketItemDescription.js +1 -2
  395. package/dist/interfaces/RoomDescription.js +1 -2
  396. package/dist/interfaces/SaveData.js +1 -2
  397. package/dist/interfaces/StageHistoryEntry.js +1 -2
  398. package/dist/interfaces/TSTLClassMetatable.js +1 -2
  399. package/dist/interfaces/TrinketSituation.js +1 -2
  400. package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
  401. package/dist/interfaces/private/CustomStage.js +1 -2
  402. package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
  403. package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
  404. package/dist/isaacscript-common.lua +1 -1
  405. package/dist/maps/PHDPillConversionsMap.js +19 -22
  406. package/dist/maps/cardNameToTypeMap.js +205 -208
  407. package/dist/maps/characterNameToTypeMap.js +85 -88
  408. package/dist/maps/collectibleNameToTypeMap.js +5 -8
  409. package/dist/maps/defaultPlayerStatMap.js +10 -13
  410. package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
  411. package/dist/maps/falsePHDPillConversionsMap.js +33 -36
  412. package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
  413. package/dist/maps/gridEntityXMLMap.js +52 -55
  414. package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
  415. package/dist/maps/keyboardToStringMap.js +66 -69
  416. package/dist/maps/pillNameToEffectMap.js +83 -86
  417. package/dist/maps/roomNameToTypeMap.js +38 -41
  418. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
  419. package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
  420. package/dist/maps/trinketNameToTypeMap.js +5 -8
  421. package/dist/objects/LRoomShapeToRectangles.js +22 -25
  422. package/dist/objects/backdropTypeToRockAltType.js +65 -68
  423. package/dist/objects/batteryNames.js +8 -11
  424. package/dist/objects/bombNames.js +11 -14
  425. package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
  426. package/dist/objects/bossNamePNGFileNames.js +104 -107
  427. package/dist/objects/bossNames.js +105 -108
  428. package/dist/objects/bossPortraitPNGFileNames.js +104 -107
  429. package/dist/objects/cardDescriptions.js +101 -104
  430. package/dist/objects/cardNames.js +101 -104
  431. package/dist/objects/challengeBosses.js +49 -52
  432. package/dist/objects/challengeCharacters.js +49 -52
  433. package/dist/objects/challengeCollectibleTypes.js +160 -163
  434. package/dist/objects/challengeNames.js +49 -52
  435. package/dist/objects/challengeTrinketType.js +48 -51
  436. package/dist/objects/characterDamageMultipliers.js +44 -47
  437. package/dist/objects/characterNames.js +44 -47
  438. package/dist/objects/characterSpritePNGFileNames.js +44 -47
  439. package/dist/objects/characterStartingCollectibleTypes.js +49 -52
  440. package/dist/objects/characterStartingTrinketTypes.js +44 -47
  441. package/dist/objects/chestNames.js +15 -18
  442. package/dist/objects/coinNames.js +11 -14
  443. package/dist/objects/coinSubTypeToValue.js +11 -14
  444. package/dist/objects/collectibleDescriptions.js +725 -728
  445. package/dist/objects/collectibleNames.js +725 -728
  446. package/dist/objects/colors.js +1 -4
  447. package/dist/objects/directionNames.js +7 -10
  448. package/dist/objects/directionToDegrees.js +7 -10
  449. package/dist/objects/directionToMoveAction.js +7 -10
  450. package/dist/objects/directionToShootAction.js +7 -10
  451. package/dist/objects/directionToVector.js +9 -12
  452. package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
  453. package/dist/objects/doorSlotToDirection.js +11 -14
  454. package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
  455. package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
  456. package/dist/objects/heartNames.js +16 -19
  457. package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
  458. package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
  459. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
  460. package/dist/objects/kColors.js +1 -4
  461. package/dist/objects/keyNames.js +8 -11
  462. package/dist/objects/languageNames.js +9 -12
  463. package/dist/objects/oppositeDoorSlots.js +11 -14
  464. package/dist/objects/pillEffectClasses.js +53 -56
  465. package/dist/objects/pillEffectNames.js +53 -56
  466. package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
  467. package/dist/objects/pillEffectTypes.js +53 -56
  468. package/dist/objects/playerNamePNGFileNames.js +44 -47
  469. package/dist/objects/playerPortraitPNGFileNames.js +44 -47
  470. package/dist/objects/roomShapeBounds.js +23 -26
  471. package/dist/objects/roomShapeCorners.js +128 -131
  472. package/dist/objects/roomShapeLayoutSizes.js +23 -26
  473. package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
  474. package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
  475. package/dist/objects/roomShapeToDoorSlots.js +48 -51
  476. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
  477. package/dist/objects/roomShapeToGridWidth.js +14 -17
  478. package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
  479. package/dist/objects/roomShapeVolumes.js +21 -24
  480. package/dist/objects/roomTypeNames.js +32 -35
  481. package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
  482. package/dist/objects/sackNames.js +6 -9
  483. package/dist/objects/slotNames.js +21 -24
  484. package/dist/objects/stageIDNames.js +33 -36
  485. package/dist/objects/stageToMusic.js +69 -72
  486. package/dist/objects/stageToStageID.js +90 -93
  487. package/dist/objects/stageTypeSuffixes.js +8 -11
  488. package/dist/objects/transformationNames.js +16 -19
  489. package/dist/objects/trinketDescriptions.js +192 -195
  490. package/dist/objects/trinketNames.js +192 -195
  491. package/dist/objects/versusScreenBackgroundColors.js +39 -42
  492. package/dist/objects/versusScreenDirtSpotColors.js +39 -42
  493. package/dist/patchErrorFunctions.js +4 -7
  494. package/dist/serialization.js +6 -9
  495. package/dist/sets/LRoomShapesSet.js +7 -10
  496. package/dist/sets/bigRoomShapesSet.js +10 -13
  497. package/dist/sets/bossSets.js +261 -264
  498. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
  499. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
  500. package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
  501. package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
  502. package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
  503. package/dist/sets/consoleCommandsSet.js +2 -5
  504. package/dist/sets/entitiesWithArmorSet.js +44 -47
  505. package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
  506. package/dist/sets/itemConfigCardTypesForCards.js +7 -10
  507. package/dist/sets/lostStyleCharactersSet.js +8 -11
  508. package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
  509. package/dist/sets/narrowRoomShapesSet.js +7 -10
  510. package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
  511. package/dist/sets/redHeartSubTypesSet.js +6 -9
  512. package/dist/sets/repentanceBossIDsSet.js +26 -29
  513. package/dist/sets/sinEntityTypesSet.js +10 -13
  514. package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
  515. package/dist/shaderCrashFix.js +4 -7
  516. package/dist/shouldFire.js +28 -58
  517. package/dist/types/AddSubtract.js +1 -2
  518. package/dist/types/AllButFirst.js +1 -2
  519. package/dist/types/AllButLast.js +1 -2
  520. package/dist/types/AnyClass.js +1 -2
  521. package/dist/types/AnyEntity.js +1 -2
  522. package/dist/types/AnyFunction.js +1 -2
  523. package/dist/types/AnyGridEntity.js +1 -2
  524. package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
  525. package/dist/types/ConversionHeartSubType.js +1 -2
  526. package/dist/types/Decrement.js +1 -2
  527. package/dist/types/ERange.js +1 -2
  528. package/dist/types/EntityID.js +1 -2
  529. package/dist/types/FunctionTuple.js +1 -2
  530. package/dist/types/GridEntityID.js +1 -2
  531. package/dist/types/HasFunction.js +1 -2
  532. package/dist/types/IRange.js +1 -2
  533. package/dist/types/Immutable.js +1 -2
  534. package/dist/types/Increment.js +1 -2
  535. package/dist/types/LowercaseKeys.js +1 -2
  536. package/dist/types/NaturalNumbersLessThan.js +1 -2
  537. package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
  538. package/dist/types/ObjectValues.js +1 -2
  539. package/dist/types/PickingUpItem.js +15 -22
  540. package/dist/types/PickupIndex.js +1 -2
  541. package/dist/types/PlayerIndex.js +1 -2
  542. package/dist/types/PossibleStatType.js +1 -2
  543. package/dist/types/PublicInterface.js +1 -2
  544. package/dist/types/ReadonlyMap.js +1 -4
  545. package/dist/types/ReadonlyRecord.js +1 -2
  546. package/dist/types/ReadonlySet.js +1 -4
  547. package/dist/types/StartsWithLowercase.js +1 -2
  548. package/dist/types/StartsWithUppercase.js +1 -2
  549. package/dist/types/TSTLClass.js +1 -2
  550. package/dist/types/Tuple.js +1 -2
  551. package/dist/types/TupleKeys.js +1 -2
  552. package/dist/types/TupleToIntersection.js +1 -2
  553. package/dist/types/TupleToUnion.js +1 -2
  554. package/dist/types/TupleWithLengthBetween.js +1 -2
  555. package/dist/types/TupleWithMaxLength.js +1 -2
  556. package/dist/types/UnionToIntersection.js +1 -2
  557. package/dist/types/UppercaseKeys.js +1 -2
  558. package/dist/types/WeightedArray.js +1 -2
  559. package/dist/types/WidenLiteral.js +1 -2
  560. package/dist/types/Writable.js +1 -2
  561. package/dist/types/private/CallbackTuple.js +1 -2
  562. package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
  563. package/package.json +3 -3
@@ -1,23 +1,20 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FadeInRemover = void 0;
10
- const cachedClasses_1 = require("../../../core/cachedClasses");
11
- const decorators_1 = require("../../../decorators");
12
- const ModCallbackCustom_1 = require("../../../enums/ModCallbackCustom");
13
- const Feature_1 = require("../../private/Feature");
7
+ import { game } from "../../../core/cachedClasses";
8
+ import { Exported } from "../../../decorators";
9
+ import { ModCallbackCustom } from "../../../enums/ModCallbackCustom";
10
+ import { Feature } from "../../private/Feature";
14
11
  const INSTANT_FADE_IN_SPEED = 1;
15
- class FadeInRemover extends Feature_1.Feature {
12
+ export class FadeInRemover extends Feature {
16
13
  enabled = false;
17
14
  // ModCallbackCustom.POST_GAME_STARTED_REORDERED
18
15
  postGameStartedReordered = () => {
19
16
  if (this.enabled) {
20
- cachedClasses_1.game.Fadein(INSTANT_FADE_IN_SPEED);
17
+ game.Fadein(INSTANT_FADE_IN_SPEED);
21
18
  }
22
19
  };
23
20
  /** @internal */
@@ -25,7 +22,7 @@ class FadeInRemover extends Feature_1.Feature {
25
22
  super();
26
23
  this.customCallbacksUsed = [
27
24
  [
28
- ModCallbackCustom_1.ModCallbackCustom.POST_GAME_STARTED_REORDERED,
25
+ ModCallbackCustom.POST_GAME_STARTED_REORDERED,
29
26
  this.postGameStartedReordered,
30
27
  [undefined],
31
28
  ],
@@ -58,10 +55,9 @@ class FadeInRemover extends Feature_1.Feature {
58
55
  this.enabled = false;
59
56
  }
60
57
  }
61
- exports.FadeInRemover = FadeInRemover;
62
58
  __decorate([
63
- decorators_1.Exported
59
+ Exported
64
60
  ], FadeInRemover.prototype, "removeFadeIn", null);
65
61
  __decorate([
66
- decorators_1.Exported
62
+ Exported
67
63
  ], FadeInRemover.prototype, "restoreFadeIn", null);
@@ -1,20 +1,17 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FastReset = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedClasses_1 = require("../../../core/cachedClasses");
12
- const decorators_1 = require("../../../decorators");
13
- const input_1 = require("../../../functions/input");
14
- const run_1 = require("../../../functions/run");
15
- const utils_1 = require("../../../functions/utils");
16
- const Feature_1 = require("../../private/Feature");
17
- class FastReset extends Feature_1.Feature {
7
+ import { ButtonAction, ModCallback } from "isaac-typescript-definitions";
8
+ import { game } from "../../../core/cachedClasses";
9
+ import { Exported } from "../../../decorators";
10
+ import { isActionTriggeredOnAnyInput, isModifierKeyPressed, } from "../../../functions/input";
11
+ import { restart } from "../../../functions/run";
12
+ import { isRepentancePlus } from "../../../functions/utils";
13
+ import { Feature } from "../../private/Feature";
14
+ export class FastReset extends Feature {
18
15
  enabled = false;
19
16
  // ModCallback.POST_RENDER (2)
20
17
  postRender = () => {
@@ -28,7 +25,7 @@ class FastReset extends Feature_1.Feature {
28
25
  super();
29
26
  this.callbacksUsed = [
30
27
  // 2
31
- [isaac_typescript_definitions_1.ModCallback.POST_RENDER, this.postRender],
28
+ [ModCallback.POST_RENDER, this.postRender],
32
29
  ];
33
30
  }
34
31
  /**
@@ -58,16 +55,15 @@ class FastReset extends Feature_1.Feature {
58
55
  this.enabled = false;
59
56
  }
60
57
  }
61
- exports.FastReset = FastReset;
62
58
  __decorate([
63
- decorators_1.Exported
59
+ Exported
64
60
  ], FastReset.prototype, "enableFastReset", null);
65
61
  __decorate([
66
- decorators_1.Exported
62
+ Exported
67
63
  ], FastReset.prototype, "disableFastReset", null);
68
64
  /** Check for fast-reset inputs. */
69
65
  function checkResetInput() {
70
- const isPaused = cachedClasses_1.game.IsPaused();
66
+ const isPaused = game.IsPaused();
71
67
  // Disable the fast-reset feature if the console is open. (This will also disable the feature when
72
68
  // the game is paused, but that's okay as well.)
73
69
  if (isPaused) {
@@ -78,15 +74,15 @@ function checkResetInput() {
78
74
  return;
79
75
  }
80
76
  // Don't fast-reset if any modifiers are pressed.
81
- if ((0, input_1.isModifierKeyPressed)()) {
77
+ if (isModifierKeyPressed()) {
82
78
  return;
83
79
  }
84
80
  // Check to see if the player has pressed the restart input. (We check all inputs instead of
85
81
  // `player.ControllerIndex` because a controller player might be using the keyboard to reset.)
86
- const buttonActionRestart = (0, utils_1.isRepentancePlus)()
87
- ? isaac_typescript_definitions_1.ButtonAction.RESTART_REPENTANCE_PLUS
88
- : isaac_typescript_definitions_1.ButtonAction.RESTART_REPENTANCE;
89
- if ((0, input_1.isActionTriggeredOnAnyInput)(buttonActionRestart)) {
90
- (0, run_1.restart)();
82
+ const buttonActionRestart = isRepentancePlus()
83
+ ? ButtonAction.RESTART_REPENTANCE_PLUS
84
+ : ButtonAction.RESTART_REPENTANCE;
85
+ if (isActionTriggeredOnAnyInput(buttonActionRestart)) {
86
+ restart();
91
87
  }
92
88
  }
@@ -1,27 +1,24 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FlyingDetection = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const decorators_1 = require("../../../decorators");
12
- const ISCFeature_1 = require("../../../enums/ISCFeature");
13
- const Feature_1 = require("../../private/Feature");
7
+ import { NullItemID } from "isaac-typescript-definitions";
8
+ import { Exported } from "../../../decorators";
9
+ import { ISCFeature } from "../../../enums/ISCFeature";
10
+ import { Feature } from "../../private/Feature";
14
11
  const FLYING_NULL_ITEMS = [
15
- isaac_typescript_definitions_1.NullItemID.REVERSE_SUN, // 66
16
- isaac_typescript_definitions_1.NullItemID.SPIRIT_SHACKLES_SOUL, // 10
17
- isaac_typescript_definitions_1.NullItemID.LOST_CURSE, // 112
12
+ NullItemID.REVERSE_SUN, // 66
13
+ NullItemID.SPIRIT_SHACKLES_SOUL, // 10
14
+ NullItemID.LOST_CURSE, // 112
18
15
  ];
19
- class FlyingDetection extends Feature_1.Feature {
16
+ export class FlyingDetection extends Feature {
20
17
  moddedElementSets;
21
18
  /** @internal */
22
19
  constructor(moddedElementSets) {
23
20
  super();
24
- this.featuresUsed = [ISCFeature_1.ISCFeature.MODDED_ELEMENT_SETS];
21
+ this.featuresUsed = [ISCFeature.MODDED_ELEMENT_SETS];
25
22
  this.moddedElementSets = moddedElementSets;
26
23
  }
27
24
  /**
@@ -58,7 +55,6 @@ class FlyingDetection extends Feature_1.Feature {
58
55
  return false;
59
56
  }
60
57
  }
61
- exports.FlyingDetection = FlyingDetection;
62
58
  __decorate([
63
- decorators_1.Exported
59
+ Exported
64
60
  ], FlyingDetection.prototype, "hasFlyingTemporaryEffect", null);
@@ -1,17 +1,14 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ForgottenSwitch = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const decorators_1 = require("../../../decorators");
12
- const ISCFeature_1 = require("../../../enums/ISCFeature");
13
- const Feature_1 = require("../../private/Feature");
14
- class ForgottenSwitch extends Feature_1.Feature {
7
+ import { ButtonAction } from "isaac-typescript-definitions";
8
+ import { Exported } from "../../../decorators";
9
+ import { ISCFeature } from "../../../enums/ISCFeature";
10
+ import { Feature } from "../../private/Feature";
11
+ export class ForgottenSwitch extends Feature {
15
12
  pressInput;
16
13
  /** @internal */
17
14
  v = {
@@ -22,7 +19,7 @@ class ForgottenSwitch extends Feature_1.Feature {
22
19
  /** @internal */
23
20
  constructor(pressInput) {
24
21
  super();
25
- this.featuresUsed = [ISCFeature_1.ISCFeature.PRESS_INPUT];
22
+ this.featuresUsed = [ISCFeature.PRESS_INPUT];
26
23
  this.pressInput = pressInput;
27
24
  }
28
25
  /**
@@ -34,10 +31,9 @@ class ForgottenSwitch extends Feature_1.Feature {
34
31
  * @public
35
32
  */
36
33
  forgottenSwitch(player) {
37
- this.pressInput.pressInput(player, isaac_typescript_definitions_1.ButtonAction.DROP);
34
+ this.pressInput.pressInput(player, ButtonAction.DROP);
38
35
  }
39
36
  }
40
- exports.ForgottenSwitch = ForgottenSwitch;
41
37
  __decorate([
42
- decorators_1.Exported
38
+ Exported
43
39
  ], ForgottenSwitch.prototype, "forgottenSwitch", null);
@@ -1,36 +1,33 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ItemPoolDetection = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedClasses_1 = require("../../../core/cachedClasses");
12
- const decorators_1 = require("../../../decorators");
13
- const ISCFeature_1 = require("../../../enums/ISCFeature");
14
- const collectibleTag_1 = require("../../../functions/collectibleTag");
15
- const playerCollectibles_1 = require("../../../functions/playerCollectibles");
16
- const playerDataStructures_1 = require("../../../functions/playerDataStructures");
17
- const playerIndex_1 = require("../../../functions/playerIndex");
18
- const players_1 = require("../../../functions/players");
19
- const utils_1 = require("../../../functions/utils");
20
- const Feature_1 = require("../../private/Feature");
21
- const COLLECTIBLE_TYPE_THAT_IS_NOT_IN_ANY_POOLS = isaac_typescript_definitions_1.CollectibleType.KEY_PIECE_1;
7
+ import { CollectibleType, ItemConfigTag, PlayerType, TrinketType, } from "isaac-typescript-definitions";
8
+ import { game } from "../../../core/cachedClasses";
9
+ import { Exported } from "../../../decorators";
10
+ import { ISCFeature } from "../../../enums/ISCFeature";
11
+ import { collectibleHasTag } from "../../../functions/collectibleTag";
12
+ import { anyPlayerHasCollectible } from "../../../functions/playerCollectibles";
13
+ import { mapGetPlayer, mapSetPlayer, } from "../../../functions/playerDataStructures";
14
+ import { getAllPlayers } from "../../../functions/playerIndex";
15
+ import { getPlayersOfType } from "../../../functions/players";
16
+ import { repeat } from "../../../functions/utils";
17
+ import { Feature } from "../../private/Feature";
18
+ const COLLECTIBLE_TYPE_THAT_IS_NOT_IN_ANY_POOLS = CollectibleType.KEY_PIECE_1;
22
19
  const COLLECTIBLES_THAT_AFFECT_ITEM_POOLS = [
23
- isaac_typescript_definitions_1.CollectibleType.CHAOS, // 402
24
- isaac_typescript_definitions_1.CollectibleType.SACRED_ORB, // 691
25
- isaac_typescript_definitions_1.CollectibleType.TMTRAINER, // 721
20
+ CollectibleType.CHAOS, // 402
21
+ CollectibleType.SACRED_ORB, // 691
22
+ CollectibleType.TMTRAINER, // 721
26
23
  ];
27
- const TRINKETS_THAT_AFFECT_ITEM_POOLS = [isaac_typescript_definitions_1.TrinketType.NO];
28
- class ItemPoolDetection extends Feature_1.Feature {
24
+ const TRINKETS_THAT_AFFECT_ITEM_POOLS = [TrinketType.NO];
25
+ export class ItemPoolDetection extends Feature {
29
26
  moddedElementSets;
30
27
  /** @internal */
31
28
  constructor(moddedElementSets) {
32
29
  super();
33
- this.featuresUsed = [ISCFeature_1.ISCFeature.MODDED_ELEMENT_SETS];
30
+ this.featuresUsed = [ISCFeature.MODDED_ELEMENT_SETS];
34
31
  this.moddedElementSets = moddedElementSets;
35
32
  }
36
33
  /**
@@ -67,18 +64,18 @@ class ItemPoolDetection extends Feature_1.Feature {
67
64
  }
68
65
  // On Tainted Lost, it is impossible to retrieve non-offensive collectibles from pools, so we
69
66
  // temporarily change the character to Isaac.
70
- const taintedLosts = (0, players_1.getPlayersOfType)(isaac_typescript_definitions_1.PlayerType.LOST_B);
71
- const isOffensive = (0, collectibleTag_1.collectibleHasTag)(collectibleType, isaac_typescript_definitions_1.ItemConfigTag.OFFENSIVE);
67
+ const taintedLosts = getPlayersOfType(PlayerType.LOST_B);
68
+ const isOffensive = collectibleHasTag(collectibleType, ItemConfigTag.OFFENSIVE);
72
69
  let changedPlayerTypes = false;
73
70
  if (!isOffensive) {
74
71
  changedPlayerTypes = true;
75
72
  for (const player of taintedLosts) {
76
- player.ChangePlayerType(isaac_typescript_definitions_1.PlayerType.ISAAC);
73
+ player.ChangePlayerType(PlayerType.ISAAC);
77
74
  }
78
75
  }
79
76
  const { removedItemsMap, removedTrinketsMap } = removeItemsAndTrinketsThatAffectItemPools();
80
77
  // Blacklist every collectible in the game except for the provided collectible.
81
- const itemPool = cachedClasses_1.game.GetItemPool();
78
+ const itemPool = game.GetItemPool();
82
79
  itemPool.ResetRoomBlacklist();
83
80
  for (const collectibleTypeInSet of this.moddedElementSets.getCollectibleTypes()) {
84
81
  if (collectibleTypeInSet !== collectibleType) {
@@ -96,7 +93,7 @@ class ItemPoolDetection extends Feature_1.Feature {
96
93
  // Change any players back to Tainted Lost, if necessary.
97
94
  if (changedPlayerTypes) {
98
95
  for (const player of taintedLosts) {
99
- player.ChangePlayerType(isaac_typescript_definitions_1.PlayerType.LOST_B);
96
+ player.ChangePlayerType(PlayerType.LOST_B);
100
97
  }
101
98
  }
102
99
  return collectibleUnlocked;
@@ -120,21 +117,20 @@ class ItemPoolDetection extends Feature_1.Feature {
120
117
  * @public
121
118
  */
122
119
  isCollectibleUnlocked(collectibleType, itemPoolType) {
123
- if ((0, playerCollectibles_1.anyPlayerHasCollectible)(collectibleType)) {
120
+ if (anyPlayerHasCollectible(collectibleType)) {
124
121
  return true;
125
122
  }
126
123
  return this.isCollectibleInItemPool(collectibleType, itemPoolType);
127
124
  }
128
125
  }
129
- exports.ItemPoolDetection = ItemPoolDetection;
130
126
  __decorate([
131
- decorators_1.Exported
127
+ Exported
132
128
  ], ItemPoolDetection.prototype, "getCollectiblesInItemPool", null);
133
129
  __decorate([
134
- decorators_1.Exported
130
+ Exported
135
131
  ], ItemPoolDetection.prototype, "isCollectibleInItemPool", null);
136
132
  __decorate([
137
- decorators_1.Exported
133
+ Exported
138
134
  ], ItemPoolDetection.prototype, "isCollectibleUnlocked", null);
139
135
  /**
140
136
  * Before checking the item pools, remove any collectibles or trinkets that would affect the
@@ -143,30 +139,30 @@ __decorate([
143
139
  function removeItemsAndTrinketsThatAffectItemPools() {
144
140
  const removedItemsMap = new Map();
145
141
  const removedTrinketsMap = new Map();
146
- for (const player of (0, playerIndex_1.getAllPlayers)()) {
142
+ for (const player of getAllPlayers()) {
147
143
  const removedItems = [];
148
144
  for (const itemToRemove of COLLECTIBLES_THAT_AFFECT_ITEM_POOLS) {
149
145
  // We need to include non-real collectibles (like Lilith's Incubus), so we omit the second
150
146
  // argument.
151
147
  const numCollectibles = player.GetCollectibleNum(itemToRemove);
152
- (0, utils_1.repeat)(numCollectibles, () => {
148
+ repeat(numCollectibles, () => {
153
149
  player.RemoveCollectible(itemToRemove);
154
150
  removedItems.push(itemToRemove);
155
151
  });
156
152
  }
157
- (0, playerDataStructures_1.mapSetPlayer)(removedItemsMap, player, removedItems);
153
+ mapSetPlayer(removedItemsMap, player, removedItems);
158
154
  const removedTrinkets = [];
159
155
  for (const trinketToRemove of TRINKETS_THAT_AFFECT_ITEM_POOLS) {
160
156
  if (!player.HasTrinket(trinketToRemove)) {
161
157
  continue;
162
158
  }
163
159
  const numTrinkets = player.GetTrinketMultiplier(trinketToRemove);
164
- (0, utils_1.repeat)(numTrinkets, () => {
160
+ repeat(numTrinkets, () => {
165
161
  player.TryRemoveTrinket(trinketToRemove);
166
162
  removedTrinkets.push(trinketToRemove);
167
163
  });
168
164
  }
169
- (0, playerDataStructures_1.mapSetPlayer)(removedTrinketsMap, player, removedTrinkets);
165
+ mapSetPlayer(removedTrinketsMap, player, removedTrinkets);
170
166
  }
171
167
  return {
172
168
  removedItemsMap,
@@ -174,14 +170,14 @@ function removeItemsAndTrinketsThatAffectItemPools() {
174
170
  };
175
171
  }
176
172
  function restoreItemsAndTrinketsThatAffectItemPools(removedItemsMap, removedTrinketsMap) {
177
- for (const player of (0, playerIndex_1.getAllPlayers)()) {
178
- const removedItems = (0, playerDataStructures_1.mapGetPlayer)(removedItemsMap, player);
173
+ for (const player of getAllPlayers()) {
174
+ const removedItems = mapGetPlayer(removedItemsMap, player);
179
175
  if (removedItems !== undefined) {
180
176
  for (const collectibleType of removedItems) {
181
177
  player.AddCollectible(collectibleType, 0, false); // Prevent Chaos from spawning pickups
182
178
  }
183
179
  }
184
- const removedTrinkets = (0, playerDataStructures_1.mapGetPlayer)(removedTrinketsMap, player);
180
+ const removedTrinkets = mapGetPlayer(removedTrinketsMap, player);
185
181
  if (removedTrinkets !== undefined) {
186
182
  for (const trinketType of removedTrinkets) {
187
183
  player.AddTrinket(trinketType, false);
@@ -1,25 +1,22 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ModdedElementDetection = void 0;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedClasses_1 = require("../../../core/cachedClasses");
12
- const constantsFirstLast_1 = require("../../../core/constantsFirstLast");
13
- const decorators_1 = require("../../../decorators");
14
- const Feature_1 = require("../../private/Feature");
7
+ import { ModCallback } from "isaac-typescript-definitions";
8
+ import { itemConfig } from "../../../core/cachedClasses";
9
+ import { LAST_VANILLA_CARD_TYPE, LAST_VANILLA_COLLECTIBLE_TYPE, LAST_VANILLA_PILL_EFFECT, LAST_VANILLA_TRINKET_TYPE, NUM_VANILLA_CARD_TYPES, NUM_VANILLA_COLLECTIBLE_TYPES, NUM_VANILLA_PILL_EFFECTS, NUM_VANILLA_TRINKET_TYPES, } from "../../../core/constantsFirstLast";
10
+ import { Exported } from "../../../decorators";
11
+ import { Feature } from "../../private/Feature";
15
12
  // eslint-disable-next-line complete/strict-enums
16
- const FIRST_MODDED_COLLECTIBLE_TYPE = constantsFirstLast_1.LAST_VANILLA_COLLECTIBLE_TYPE + 1;
13
+ const FIRST_MODDED_COLLECTIBLE_TYPE = LAST_VANILLA_COLLECTIBLE_TYPE + 1;
17
14
  // eslint-disable-next-line complete/strict-enums
18
- const FIRST_MODDED_TRINKET_TYPE = constantsFirstLast_1.LAST_VANILLA_TRINKET_TYPE + 1;
15
+ const FIRST_MODDED_TRINKET_TYPE = LAST_VANILLA_TRINKET_TYPE + 1;
19
16
  // eslint-disable-next-line complete/strict-enums
20
- const FIRST_MODDED_CARD_TYPE = constantsFirstLast_1.LAST_VANILLA_CARD_TYPE + 1;
17
+ const FIRST_MODDED_CARD_TYPE = LAST_VANILLA_CARD_TYPE + 1;
21
18
  // eslint-disable-next-line complete/strict-enums
22
- const FIRST_MODDED_PILL_EFFECT = constantsFirstLast_1.LAST_VANILLA_PILL_EFFECT + 1;
19
+ const FIRST_MODDED_PILL_EFFECT = LAST_VANILLA_PILL_EFFECT + 1;
23
20
  /**
24
21
  * Mods can add extra things to the game (e.g. collectibles, trinkets, and so on). Since mods load
25
22
  * in alphabetical order, the total number of things can't be properly be known until at least one
@@ -30,7 +27,7 @@ const FIRST_MODDED_PILL_EFFECT = constantsFirstLast_1.LAST_VANILLA_PILL_EFFECT +
30
27
  * ensures that the proper values are always returned and allows you to get immediate feedback if
31
28
  * you accidentally access them from the menu.
32
29
  */
33
- class ModdedElementDetection extends Feature_1.Feature {
30
+ export class ModdedElementDetection extends Feature {
34
31
  atLeastOneCallbackFired = false;
35
32
  // ModCallback.POST_PLAYER_INIT (9)
36
33
  postPlayerInit = () => {
@@ -41,7 +38,7 @@ class ModdedElementDetection extends Feature_1.Feature {
41
38
  super();
42
39
  this.callbacksUsed = [
43
40
  // 9
44
- [isaac_typescript_definitions_1.ModCallback.POST_PLAYER_INIT, this.postPlayerInit],
41
+ [ModCallback.POST_PLAYER_INIT, this.postPlayerInit],
45
42
  ];
46
43
  }
47
44
  errorIfNoCallbacksFired(constantType) {
@@ -66,7 +63,7 @@ class ModdedElementDetection extends Feature_1.Feature {
66
63
  */
67
64
  getFirstModdedCollectibleType() {
68
65
  this.errorIfNoCallbacksFired("collectible");
69
- const itemConfigItem = cachedClasses_1.itemConfig.GetCollectible(FIRST_MODDED_COLLECTIBLE_TYPE);
66
+ const itemConfigItem = itemConfig.GetCollectible(FIRST_MODDED_COLLECTIBLE_TYPE);
70
67
  return itemConfigItem === undefined
71
68
  ? undefined
72
69
  : FIRST_MODDED_COLLECTIBLE_TYPE;
@@ -91,7 +88,7 @@ class ModdedElementDetection extends Feature_1.Feature {
91
88
  */
92
89
  getLastCollectibleType() {
93
90
  this.errorIfNoCallbacksFired("collectible");
94
- return cachedClasses_1.itemConfig.GetCollectibles().Size - 1;
91
+ return itemConfig.GetCollectibles().Size - 1;
95
92
  }
96
93
  /**
97
94
  * Returns the total number of collectibles in the item config, including both vanilla and modded
@@ -109,7 +106,7 @@ class ModdedElementDetection extends Feature_1.Feature {
109
106
  */
110
107
  getNumCollectibleTypes() {
111
108
  this.errorIfNoCallbacksFired("collectible");
112
- return constantsFirstLast_1.NUM_VANILLA_COLLECTIBLE_TYPES + this.getNumModdedCollectibleTypes();
109
+ return NUM_VANILLA_COLLECTIBLE_TYPES + this.getNumModdedCollectibleTypes();
113
110
  }
114
111
  /**
115
112
  * Unlike vanilla collectible types, modded collectible types are always contiguous.
@@ -125,7 +122,7 @@ class ModdedElementDetection extends Feature_1.Feature {
125
122
  */
126
123
  getNumModdedCollectibleTypes() {
127
124
  this.errorIfNoCallbacksFired("collectible");
128
- return this.getLastCollectibleType() - constantsFirstLast_1.LAST_VANILLA_COLLECTIBLE_TYPE;
125
+ return this.getLastCollectibleType() - LAST_VANILLA_COLLECTIBLE_TYPE;
129
126
  }
130
127
  // --------
131
128
  // Trinkets
@@ -143,7 +140,7 @@ class ModdedElementDetection extends Feature_1.Feature {
143
140
  */
144
141
  getFirstModdedTrinketType() {
145
142
  this.errorIfNoCallbacksFired("trinket");
146
- const itemConfigItem = cachedClasses_1.itemConfig.GetTrinket(FIRST_MODDED_TRINKET_TYPE);
143
+ const itemConfigItem = itemConfig.GetTrinket(FIRST_MODDED_TRINKET_TYPE);
147
144
  return itemConfigItem === undefined ? undefined : FIRST_MODDED_TRINKET_TYPE;
148
145
  }
149
146
  /**
@@ -165,7 +162,7 @@ class ModdedElementDetection extends Feature_1.Feature {
165
162
  */
166
163
  getLastTrinketType() {
167
164
  this.errorIfNoCallbacksFired("trinket");
168
- return cachedClasses_1.itemConfig.GetTrinkets().Size - 1;
165
+ return itemConfig.GetTrinkets().Size - 1;
169
166
  }
170
167
  /**
171
168
  * Returns the total number of trinkets in the item config, including both vanilla and modded
@@ -182,7 +179,7 @@ class ModdedElementDetection extends Feature_1.Feature {
182
179
  */
183
180
  getNumTrinketTypes() {
184
181
  this.errorIfNoCallbacksFired("trinket");
185
- return constantsFirstLast_1.NUM_VANILLA_TRINKET_TYPES + this.getNumModdedTrinketTypes();
182
+ return NUM_VANILLA_TRINKET_TYPES + this.getNumModdedTrinketTypes();
186
183
  }
187
184
  /**
188
185
  * Unlike vanilla trinket types, modded trinket types are always contiguous.
@@ -197,7 +194,7 @@ class ModdedElementDetection extends Feature_1.Feature {
197
194
  */
198
195
  getNumModdedTrinketTypes() {
199
196
  this.errorIfNoCallbacksFired("trinket");
200
- return this.getLastTrinketType() - constantsFirstLast_1.LAST_VANILLA_TRINKET_TYPE;
197
+ return this.getLastTrinketType() - LAST_VANILLA_TRINKET_TYPE;
201
198
  }
202
199
  // -----
203
200
  // Cards
@@ -215,7 +212,7 @@ class ModdedElementDetection extends Feature_1.Feature {
215
212
  */
216
213
  getFirstModdedCardType() {
217
214
  this.errorIfNoCallbacksFired("card");
218
- const itemConfigCard = cachedClasses_1.itemConfig.GetCard(FIRST_MODDED_CARD_TYPE);
215
+ const itemConfigCard = itemConfig.GetCard(FIRST_MODDED_CARD_TYPE);
219
216
  return itemConfigCard === undefined ? undefined : FIRST_MODDED_CARD_TYPE;
220
217
  }
221
218
  /**
@@ -237,7 +234,7 @@ class ModdedElementDetection extends Feature_1.Feature {
237
234
  */
238
235
  getLastCardType() {
239
236
  this.errorIfNoCallbacksFired("card");
240
- return cachedClasses_1.itemConfig.GetCards().Size - 1;
237
+ return itemConfig.GetCards().Size - 1;
241
238
  }
242
239
  /**
243
240
  * Returns the total number of cards in the item config, including both vanilla and modded cards.
@@ -253,7 +250,7 @@ class ModdedElementDetection extends Feature_1.Feature {
253
250
  */
254
251
  getNumCardTypes() {
255
252
  this.errorIfNoCallbacksFired("card");
256
- return constantsFirstLast_1.NUM_VANILLA_CARD_TYPES + this.getNumModdedCardTypes();
253
+ return NUM_VANILLA_CARD_TYPES + this.getNumModdedCardTypes();
257
254
  }
258
255
  /**
259
256
  * Like vanilla card types, modded card types are always contiguous.
@@ -268,7 +265,7 @@ class ModdedElementDetection extends Feature_1.Feature {
268
265
  */
269
266
  getNumModdedCardTypes() {
270
267
  this.errorIfNoCallbacksFired("card");
271
- return this.getLastCardType() - constantsFirstLast_1.LAST_VANILLA_CARD_TYPE;
268
+ return this.getLastCardType() - LAST_VANILLA_CARD_TYPE;
272
269
  }
273
270
  // ------------
274
271
  // Pill Effects
@@ -287,7 +284,7 @@ class ModdedElementDetection extends Feature_1.Feature {
287
284
  */
288
285
  getFirstModdedPillEffect() {
289
286
  this.errorIfNoCallbacksFired("pill");
290
- const itemConfigPillEffect = cachedClasses_1.itemConfig.GetPillEffect(FIRST_MODDED_PILL_EFFECT);
287
+ const itemConfigPillEffect = itemConfig.GetPillEffect(FIRST_MODDED_PILL_EFFECT);
291
288
  return itemConfigPillEffect === undefined
292
289
  ? undefined
293
290
  : FIRST_MODDED_PILL_EFFECT;
@@ -313,7 +310,7 @@ class ModdedElementDetection extends Feature_1.Feature {
313
310
  */
314
311
  getLastPillEffect() {
315
312
  this.errorIfNoCallbacksFired("pill");
316
- return cachedClasses_1.itemConfig.GetPillEffects().Size - 1;
313
+ return itemConfig.GetPillEffects().Size - 1;
317
314
  }
318
315
  /**
319
316
  * Returns the total number of pill effects in the item config, including both vanilla and modded
@@ -330,7 +327,7 @@ class ModdedElementDetection extends Feature_1.Feature {
330
327
  */
331
328
  getNumPillEffects() {
332
329
  this.errorIfNoCallbacksFired("pill");
333
- return constantsFirstLast_1.NUM_VANILLA_PILL_EFFECTS + this.getNumModdedPillEffects();
330
+ return NUM_VANILLA_PILL_EFFECTS + this.getNumModdedPillEffects();
334
331
  }
335
332
  /**
336
333
  * Like vanilla pill effects, modded pill effects are always contiguous.
@@ -345,55 +342,54 @@ class ModdedElementDetection extends Feature_1.Feature {
345
342
  */
346
343
  getNumModdedPillEffects() {
347
344
  this.errorIfNoCallbacksFired("card");
348
- return this.getLastPillEffect() - constantsFirstLast_1.LAST_VANILLA_PILL_EFFECT;
345
+ return this.getLastPillEffect() - LAST_VANILLA_PILL_EFFECT;
349
346
  }
350
347
  }
351
- exports.ModdedElementDetection = ModdedElementDetection;
352
348
  __decorate([
353
- decorators_1.Exported
349
+ Exported
354
350
  ], ModdedElementDetection.prototype, "getFirstModdedCollectibleType", null);
355
351
  __decorate([
356
- decorators_1.Exported
352
+ Exported
357
353
  ], ModdedElementDetection.prototype, "getLastCollectibleType", null);
358
354
  __decorate([
359
- decorators_1.Exported
355
+ Exported
360
356
  ], ModdedElementDetection.prototype, "getNumCollectibleTypes", null);
361
357
  __decorate([
362
- decorators_1.Exported
358
+ Exported
363
359
  ], ModdedElementDetection.prototype, "getNumModdedCollectibleTypes", null);
364
360
  __decorate([
365
- decorators_1.Exported
361
+ Exported
366
362
  ], ModdedElementDetection.prototype, "getFirstModdedTrinketType", null);
367
363
  __decorate([
368
- decorators_1.Exported
364
+ Exported
369
365
  ], ModdedElementDetection.prototype, "getLastTrinketType", null);
370
366
  __decorate([
371
- decorators_1.Exported
367
+ Exported
372
368
  ], ModdedElementDetection.prototype, "getNumTrinketTypes", null);
373
369
  __decorate([
374
- decorators_1.Exported
370
+ Exported
375
371
  ], ModdedElementDetection.prototype, "getNumModdedTrinketTypes", null);
376
372
  __decorate([
377
- decorators_1.Exported
373
+ Exported
378
374
  ], ModdedElementDetection.prototype, "getFirstModdedCardType", null);
379
375
  __decorate([
380
- decorators_1.Exported
376
+ Exported
381
377
  ], ModdedElementDetection.prototype, "getLastCardType", null);
382
378
  __decorate([
383
- decorators_1.Exported
379
+ Exported
384
380
  ], ModdedElementDetection.prototype, "getNumCardTypes", null);
385
381
  __decorate([
386
- decorators_1.Exported
382
+ Exported
387
383
  ], ModdedElementDetection.prototype, "getNumModdedCardTypes", null);
388
384
  __decorate([
389
- decorators_1.Exported
385
+ Exported
390
386
  ], ModdedElementDetection.prototype, "getFirstModdedPillEffect", null);
391
387
  __decorate([
392
- decorators_1.Exported
388
+ Exported
393
389
  ], ModdedElementDetection.prototype, "getLastPillEffect", null);
394
390
  __decorate([
395
- decorators_1.Exported
391
+ Exported
396
392
  ], ModdedElementDetection.prototype, "getNumPillEffects", null);
397
393
  __decorate([
398
- decorators_1.Exported
394
+ Exported
399
395
  ], ModdedElementDetection.prototype, "getNumModdedPillEffects", null);