isaacscript-common 87.9.7 → 87.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) 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/index.rollup.d.ts +11 -11
  387. package/dist/indexLua.js +151 -167
  388. package/dist/interfaces/ChargeBarSprites.js +1 -2
  389. package/dist/interfaces/Corner.js +1 -2
  390. package/dist/interfaces/CustomStageTSConfig.js +1 -2
  391. package/dist/interfaces/GridEntityCustomData.js +1 -2
  392. package/dist/interfaces/JSONRoomsFile.js +1 -2
  393. package/dist/interfaces/PlayerHealth.d.ts +11 -11
  394. package/dist/interfaces/PlayerHealth.d.ts.map +1 -1
  395. package/dist/interfaces/PlayerHealth.js +1 -2
  396. package/dist/interfaces/PlayerStats.js +2 -4
  397. package/dist/interfaces/PocketItemDescription.js +1 -2
  398. package/dist/interfaces/RoomDescription.js +1 -2
  399. package/dist/interfaces/SaveData.js +1 -2
  400. package/dist/interfaces/StageHistoryEntry.js +1 -2
  401. package/dist/interfaces/TSTLClassMetatable.js +1 -2
  402. package/dist/interfaces/TrinketSituation.js +1 -2
  403. package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
  404. package/dist/interfaces/private/CustomStage.js +1 -2
  405. package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
  406. package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
  407. package/dist/isaacscript-common.lua +1 -1
  408. package/dist/maps/PHDPillConversionsMap.js +19 -22
  409. package/dist/maps/cardNameToTypeMap.js +205 -208
  410. package/dist/maps/characterNameToTypeMap.js +85 -88
  411. package/dist/maps/collectibleNameToTypeMap.js +5 -8
  412. package/dist/maps/defaultPlayerStatMap.js +10 -13
  413. package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
  414. package/dist/maps/falsePHDPillConversionsMap.js +33 -36
  415. package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
  416. package/dist/maps/gridEntityXMLMap.js +52 -55
  417. package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
  418. package/dist/maps/keyboardToStringMap.js +66 -69
  419. package/dist/maps/pillNameToEffectMap.js +83 -86
  420. package/dist/maps/roomNameToTypeMap.js +38 -41
  421. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
  422. package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
  423. package/dist/maps/trinketNameToTypeMap.js +5 -8
  424. package/dist/objects/LRoomShapeToRectangles.js +22 -25
  425. package/dist/objects/backdropTypeToRockAltType.js +65 -68
  426. package/dist/objects/batteryNames.js +8 -11
  427. package/dist/objects/bombNames.js +11 -14
  428. package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
  429. package/dist/objects/bossNamePNGFileNames.js +104 -107
  430. package/dist/objects/bossNames.js +105 -108
  431. package/dist/objects/bossPortraitPNGFileNames.js +104 -107
  432. package/dist/objects/cardDescriptions.js +101 -104
  433. package/dist/objects/cardNames.js +101 -104
  434. package/dist/objects/challengeBosses.js +49 -52
  435. package/dist/objects/challengeCharacters.js +49 -52
  436. package/dist/objects/challengeCollectibleTypes.js +160 -163
  437. package/dist/objects/challengeNames.js +49 -52
  438. package/dist/objects/challengeTrinketType.js +48 -51
  439. package/dist/objects/characterDamageMultipliers.js +44 -47
  440. package/dist/objects/characterNames.js +44 -47
  441. package/dist/objects/characterSpritePNGFileNames.js +44 -47
  442. package/dist/objects/characterStartingCollectibleTypes.js +49 -52
  443. package/dist/objects/characterStartingTrinketTypes.js +44 -47
  444. package/dist/objects/chestNames.js +15 -18
  445. package/dist/objects/coinNames.js +11 -14
  446. package/dist/objects/coinSubTypeToValue.js +11 -14
  447. package/dist/objects/collectibleDescriptions.js +725 -728
  448. package/dist/objects/collectibleNames.js +725 -728
  449. package/dist/objects/colors.js +1 -4
  450. package/dist/objects/directionNames.js +7 -10
  451. package/dist/objects/directionToDegrees.js +7 -10
  452. package/dist/objects/directionToMoveAction.js +7 -10
  453. package/dist/objects/directionToShootAction.js +7 -10
  454. package/dist/objects/directionToVector.js +9 -12
  455. package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
  456. package/dist/objects/doorSlotToDirection.js +11 -14
  457. package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
  458. package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
  459. package/dist/objects/heartNames.js +16 -19
  460. package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
  461. package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
  462. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
  463. package/dist/objects/kColors.js +1 -4
  464. package/dist/objects/keyNames.js +8 -11
  465. package/dist/objects/languageNames.js +9 -12
  466. package/dist/objects/oppositeDoorSlots.js +11 -14
  467. package/dist/objects/pillEffectClasses.js +53 -56
  468. package/dist/objects/pillEffectNames.js +53 -56
  469. package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
  470. package/dist/objects/pillEffectTypes.js +53 -56
  471. package/dist/objects/playerNamePNGFileNames.js +44 -47
  472. package/dist/objects/playerPortraitPNGFileNames.js +44 -47
  473. package/dist/objects/roomShapeBounds.js +23 -26
  474. package/dist/objects/roomShapeCorners.js +128 -131
  475. package/dist/objects/roomShapeLayoutSizes.js +23 -26
  476. package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
  477. package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
  478. package/dist/objects/roomShapeToDoorSlots.js +48 -51
  479. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
  480. package/dist/objects/roomShapeToGridWidth.js +14 -17
  481. package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
  482. package/dist/objects/roomShapeVolumes.js +21 -24
  483. package/dist/objects/roomTypeNames.js +32 -35
  484. package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
  485. package/dist/objects/sackNames.js +6 -9
  486. package/dist/objects/slotNames.js +21 -24
  487. package/dist/objects/stageIDNames.js +33 -36
  488. package/dist/objects/stageToMusic.js +69 -72
  489. package/dist/objects/stageToStageID.js +90 -93
  490. package/dist/objects/stageTypeSuffixes.js +8 -11
  491. package/dist/objects/transformationNames.js +16 -19
  492. package/dist/objects/trinketDescriptions.js +192 -195
  493. package/dist/objects/trinketNames.js +192 -195
  494. package/dist/objects/versusScreenBackgroundColors.js +39 -42
  495. package/dist/objects/versusScreenDirtSpotColors.js +39 -42
  496. package/dist/patchErrorFunctions.js +4 -7
  497. package/dist/serialization.js +6 -9
  498. package/dist/sets/LRoomShapesSet.js +7 -10
  499. package/dist/sets/bigRoomShapesSet.js +10 -13
  500. package/dist/sets/bossSets.js +261 -264
  501. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
  502. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
  503. package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
  504. package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
  505. package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
  506. package/dist/sets/consoleCommandsSet.js +2 -5
  507. package/dist/sets/entitiesWithArmorSet.js +44 -47
  508. package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
  509. package/dist/sets/itemConfigCardTypesForCards.js +7 -10
  510. package/dist/sets/lostStyleCharactersSet.js +8 -11
  511. package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
  512. package/dist/sets/narrowRoomShapesSet.js +7 -10
  513. package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
  514. package/dist/sets/redHeartSubTypesSet.js +6 -9
  515. package/dist/sets/repentanceBossIDsSet.js +26 -29
  516. package/dist/sets/sinEntityTypesSet.js +10 -13
  517. package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
  518. package/dist/shaderCrashFix.js +4 -7
  519. package/dist/shouldFire.js +28 -58
  520. package/dist/types/AddSubtract.js +1 -2
  521. package/dist/types/AllButFirst.js +1 -2
  522. package/dist/types/AllButLast.js +1 -2
  523. package/dist/types/AnyClass.js +1 -2
  524. package/dist/types/AnyEntity.js +1 -2
  525. package/dist/types/AnyFunction.js +1 -2
  526. package/dist/types/AnyGridEntity.js +1 -2
  527. package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
  528. package/dist/types/ConversionHeartSubType.js +1 -2
  529. package/dist/types/Decrement.js +1 -2
  530. package/dist/types/ERange.js +1 -2
  531. package/dist/types/EntityID.js +1 -2
  532. package/dist/types/FunctionTuple.js +1 -2
  533. package/dist/types/GridEntityID.js +1 -2
  534. package/dist/types/HasFunction.js +1 -2
  535. package/dist/types/IRange.js +1 -2
  536. package/dist/types/Immutable.js +1 -2
  537. package/dist/types/Increment.js +1 -2
  538. package/dist/types/LowercaseKeys.js +1 -2
  539. package/dist/types/NaturalNumbersLessThan.js +1 -2
  540. package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
  541. package/dist/types/ObjectValues.js +1 -2
  542. package/dist/types/PickingUpItem.js +15 -22
  543. package/dist/types/PickupIndex.js +1 -2
  544. package/dist/types/PlayerIndex.js +1 -2
  545. package/dist/types/PossibleStatType.js +1 -2
  546. package/dist/types/PublicInterface.js +1 -2
  547. package/dist/types/ReadonlyMap.js +1 -4
  548. package/dist/types/ReadonlyRecord.js +1 -2
  549. package/dist/types/ReadonlySet.js +1 -4
  550. package/dist/types/StartsWithLowercase.js +1 -2
  551. package/dist/types/StartsWithUppercase.js +1 -2
  552. package/dist/types/TSTLClass.js +1 -2
  553. package/dist/types/Tuple.js +1 -2
  554. package/dist/types/TupleKeys.js +1 -2
  555. package/dist/types/TupleToIntersection.js +1 -2
  556. package/dist/types/TupleToUnion.js +1 -2
  557. package/dist/types/TupleWithLengthBetween.js +1 -2
  558. package/dist/types/TupleWithMaxLength.js +1 -2
  559. package/dist/types/UnionToIntersection.js +1 -2
  560. package/dist/types/UppercaseKeys.js +1 -2
  561. package/dist/types/WeightedArray.js +1 -2
  562. package/dist/types/WidenLiteral.js +1 -2
  563. package/dist/types/Writable.js +1 -2
  564. package/dist/types/private/CallbackTuple.js +1 -2
  565. package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
  566. package/package.json +3 -3
  567. package/src/interfaces/PlayerHealth.ts +12 -11
@@ -1,39 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.canCharacterHaveRedHearts = canCharacterHaveRedHearts;
4
- exports.canCharacterHaveSoulHearts = canCharacterHaveSoulHearts;
5
- exports.canCharacterTakeFreeDevilDeals = canCharacterTakeFreeDevilDeals;
6
- exports.doesCharacterGetBlackHeartFromEternalHeart = doesCharacterGetBlackHeartFromEternalHeart;
7
- exports.doesCharacterStartWithActiveItem = doesCharacterStartWithActiveItem;
8
- exports.getCharacterDamageMultiplier = getCharacterDamageMultiplier;
9
- exports.getCharacterDeathAnimationName = getCharacterDeathAnimationName;
10
- exports.getCharacterMaxHeartContainers = getCharacterMaxHeartContainers;
11
- exports.getCharacterName = getCharacterName;
12
- exports.getCharacterSpritePNGFilePath = getCharacterSpritePNGFilePath;
13
- exports.getCharacterStartingCollectibleTypes = getCharacterStartingCollectibleTypes;
14
- exports.getCharacterStartingTrinketType = getCharacterStartingTrinketType;
15
- exports.getMainCharacter = getMainCharacter;
16
- exports.isFlyingCharacter = isFlyingCharacter;
17
- exports.isMainCharacter = isMainCharacter;
18
- exports.isModdedCharacter = isModdedCharacter;
19
- exports.isVanillaCharacter = isVanillaCharacter;
20
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
21
- const constants_1 = require("../core/constants");
22
- const constantsFirstLast_1 = require("../core/constantsFirstLast");
23
- const characterDamageMultipliers_1 = require("../objects/characterDamageMultipliers");
24
- const characterNames_1 = require("../objects/characterNames");
25
- const characterSpritePNGFileNames_1 = require("../objects/characterSpritePNGFileNames");
26
- const characterStartingCollectibleTypes_1 = require("../objects/characterStartingCollectibleTypes");
27
- const characterStartingTrinketTypes_1 = require("../objects/characterStartingTrinketTypes");
28
- const charactersThatStartWithAnActiveItemSet_1 = require("../sets/charactersThatStartWithAnActiveItemSet");
29
- const charactersWithBlackHeartFromEternalHeartSet_1 = require("../sets/charactersWithBlackHeartFromEternalHeartSet");
30
- const charactersWithFreeDevilDealsSet_1 = require("../sets/charactersWithFreeDevilDealsSet");
31
- const charactersWithNoRedHeartsSet_1 = require("../sets/charactersWithNoRedHeartsSet");
32
- const charactersWithNoSoulHeartsSet_1 = require("../sets/charactersWithNoSoulHeartsSet");
33
- const lostStyleCharactersSet_1 = require("../sets/lostStyleCharactersSet");
34
- const ReadonlySet_1 = require("../types/ReadonlySet");
35
- const FLYING_CHARACTERS_SET = new ReadonlySet_1.ReadonlySet(constants_1.FLYING_CHARACTERS);
36
- const MAIN_CHARACTERS_SET = new ReadonlySet_1.ReadonlySet(constants_1.MAIN_CHARACTERS);
1
+ import { PlayerType } from "isaac-typescript-definitions";
2
+ import { FLYING_CHARACTERS, MAIN_CHARACTERS } from "../core/constants";
3
+ import { LAST_VANILLA_CHARACTER } from "../core/constantsFirstLast";
4
+ import { CHARACTER_DAMAGE_MULTIPLIERS } from "../objects/characterDamageMultipliers";
5
+ import { CHARACTER_NAMES } from "../objects/characterNames";
6
+ import { CHARACTER_SPRITE_PNG_FILE_NAMES } from "../objects/characterSpritePNGFileNames";
7
+ import { CHARACTER_STARTING_COLLECTIBLE_TYPES } from "../objects/characterStartingCollectibleTypes";
8
+ import { CHARACTER_STARTING_TRINKET_TYPE } from "../objects/characterStartingTrinketTypes";
9
+ import { CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET } from "../sets/charactersThatStartWithAnActiveItemSet";
10
+ import { CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET } from "../sets/charactersWithBlackHeartFromEternalHeartSet";
11
+ import { CHARACTERS_WITH_FREE_DEVIL_DEALS_SET } from "../sets/charactersWithFreeDevilDealsSet";
12
+ import { CHARACTERS_WITH_NO_RED_HEARTS_SET } from "../sets/charactersWithNoRedHeartsSet";
13
+ import { CHARACTERS_WITH_NO_SOUL_HEARTS_SET } from "../sets/charactersWithNoSoulHeartsSet";
14
+ import { LOST_STYLE_CHARACTERS_SET } from "../sets/lostStyleCharactersSet";
15
+ import { ReadonlySet } from "../types/ReadonlySet";
16
+ const FLYING_CHARACTERS_SET = new ReadonlySet(FLYING_CHARACTERS);
17
+ const MAIN_CHARACTERS_SET = new ReadonlySet(MAIN_CHARACTERS);
37
18
  const PNG_PATH_PREFIX = "characters/costumes";
38
19
  /**
39
20
  * Helper function to determine if the given character can have red heart containers. Returns true
@@ -41,31 +22,31 @@ const PNG_PATH_PREFIX = "characters/costumes";
41
22
  * though coin containers are not technically the same as red heart containers. Returns false for
42
23
  * characters like Blue Baby. Returns false for The Lost and Tainted Lost.
43
24
  */
44
- function canCharacterHaveRedHearts(character) {
45
- return !charactersWithNoRedHeartsSet_1.CHARACTERS_WITH_NO_RED_HEARTS_SET.has(character);
25
+ export function canCharacterHaveRedHearts(character) {
26
+ return !CHARACTERS_WITH_NO_RED_HEARTS_SET.has(character);
46
27
  }
47
28
  /**
48
29
  * Helper function to determine if the given character can have soul hearts. Returns true for
49
30
  * characters like Isaac, Magdalene, or Cain. Returns false for characters like Bethany. Returns
50
31
  * false for The Lost and Tainted Lost.
51
32
  */
52
- function canCharacterHaveSoulHearts(character) {
53
- return !charactersWithNoSoulHeartsSet_1.CHARACTERS_WITH_NO_SOUL_HEARTS_SET.has(character);
33
+ export function canCharacterHaveSoulHearts(character) {
34
+ return !CHARACTERS_WITH_NO_SOUL_HEARTS_SET.has(character);
54
35
  }
55
36
  /**
56
37
  * Helper function for determining whether the given character can take free Devil Deals. (e.g. The
57
38
  * Lost, Tainted Lost, etc.)
58
39
  */
59
- function canCharacterTakeFreeDevilDeals(character) {
60
- return charactersWithFreeDevilDealsSet_1.CHARACTERS_WITH_FREE_DEVIL_DEALS_SET.has(character);
40
+ export function canCharacterTakeFreeDevilDeals(character) {
41
+ return CHARACTERS_WITH_FREE_DEVIL_DEALS_SET.has(character);
61
42
  }
62
43
  /**
63
44
  * Normally, characters get a red heart container upon reaching a new floor with an eternal heart,
64
45
  * but some characters grant a black heart instead. Returns true for Dark Judas and Tainted Judas.
65
46
  * Otherwise, returns false.
66
47
  */
67
- function doesCharacterGetBlackHeartFromEternalHeart(character) {
68
- return charactersWithBlackHeartFromEternalHeartSet_1.CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET.has(character);
48
+ export function doesCharacterGetBlackHeartFromEternalHeart(character) {
49
+ return CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART_SET.has(character);
69
50
  }
70
51
  /**
71
52
  * Helper function to determine if the specified character starts with an active item.
@@ -73,8 +54,8 @@ function doesCharacterGetBlackHeartFromEternalHeart(character) {
73
54
  * For the purposes of this function, the save file is considered to be fully unlocked (e.g. Isaac
74
55
  * is considered to starts with the D6, but this is not the case on a brand new save file).
75
56
  */
76
- function doesCharacterStartWithActiveItem(character) {
77
- return charactersThatStartWithAnActiveItemSet_1.CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET.has(character);
57
+ export function doesCharacterStartWithActiveItem(character) {
58
+ return CHARACTERS_THAT_START_WITH_AN_ACTIVE_ITEM_SET.has(character);
78
59
  }
79
60
  /**
80
61
  * Helper function to get the numerical damage multiplier for a character.
@@ -85,22 +66,22 @@ function doesCharacterStartWithActiveItem(character) {
85
66
  * damage multiplier changes from 0.75 to 1 when she has Whore of Babylon
86
67
  * active.
87
68
  */
88
- function getCharacterDamageMultiplier(character, hasWhoreOfBabylon = false) {
89
- if (hasWhoreOfBabylon && character === isaac_typescript_definitions_1.PlayerType.EVE) {
69
+ export function getCharacterDamageMultiplier(character, hasWhoreOfBabylon = false) {
70
+ if (hasWhoreOfBabylon && character === PlayerType.EVE) {
90
71
  return 1;
91
72
  }
92
- return characterDamageMultipliers_1.CHARACTER_DAMAGE_MULTIPLIERS[character];
73
+ return CHARACTER_DAMAGE_MULTIPLIERS[character];
93
74
  }
94
75
  /**
95
76
  * - Most characters have a 56 frame death animation (i.e. the "Death" animation).
96
77
  * - The Lost and Tainted Lost have a 38 frame death animation (i.e. the "LostDeath" animation).
97
78
  * - Tainted Forgotten have a 20 frame death animation (i.e. the "ForgottenDeath" animation).
98
79
  */
99
- function getCharacterDeathAnimationName(character) {
100
- if (lostStyleCharactersSet_1.LOST_STYLE_CHARACTERS_SET.has(character)) {
80
+ export function getCharacterDeathAnimationName(character) {
81
+ if (LOST_STYLE_CHARACTERS_SET.has(character)) {
101
82
  return "LostDeath";
102
83
  }
103
- if (character === isaac_typescript_definitions_1.PlayerType.FORGOTTEN_B) {
84
+ if (character === PlayerType.FORGOTTEN_B) {
104
85
  return "ForgottenDeath";
105
86
  }
106
87
  return "Death";
@@ -110,31 +91,31 @@ function getCharacterDeathAnimationName(character) {
110
91
  * but with Keeper it is 3, and with Tainted Keeper it is 2. This does not account for Birthright or
111
92
  * Mother's Kiss; use the `getPlayerMaxHeartContainers` helper function for that.
112
93
  */
113
- function getCharacterMaxHeartContainers(character) {
94
+ export function getCharacterMaxHeartContainers(character) {
114
95
  // 14
115
- if (character === isaac_typescript_definitions_1.PlayerType.KEEPER) {
96
+ if (character === PlayerType.KEEPER) {
116
97
  return 3;
117
98
  }
118
99
  // 16
119
- if (character === isaac_typescript_definitions_1.PlayerType.FORGOTTEN) {
100
+ if (character === PlayerType.FORGOTTEN) {
120
101
  return 6;
121
102
  }
122
103
  // 17
123
- if (character === isaac_typescript_definitions_1.PlayerType.SOUL) {
104
+ if (character === PlayerType.SOUL) {
124
105
  return 6;
125
106
  }
126
107
  // 33
127
- if (character === isaac_typescript_definitions_1.PlayerType.KEEPER_B) {
108
+ if (character === PlayerType.KEEPER_B) {
128
109
  return 2;
129
110
  }
130
111
  return 12;
131
112
  }
132
113
  /** Helper function to get the name of a character. Returns "Unknown" for modded characters. */
133
- function getCharacterName(character) {
114
+ export function getCharacterName(character) {
134
115
  if (isModdedCharacter(character)) {
135
116
  return "Unknown";
136
117
  }
137
- return characterNames_1.CHARACTER_NAMES[character];
118
+ return CHARACTER_NAMES[character];
138
119
  }
139
120
  /**
140
121
  * Helper function to get the path to the sprite for a particular character.
@@ -142,8 +123,8 @@ function getCharacterName(character) {
142
123
  * For example, the file path for `PlayerType.ISAAC` is
143
124
  * "characters/costumes/character_001_isaac.png".
144
125
  */
145
- function getCharacterSpritePNGFilePath(character) {
146
- const fileName = characterSpritePNGFileNames_1.CHARACTER_SPRITE_PNG_FILE_NAMES[character];
126
+ export function getCharacterSpritePNGFilePath(character) {
127
+ const fileName = CHARACTER_SPRITE_PNG_FILE_NAMES[character];
147
128
  return `${PNG_PATH_PREFIX}/${fileName}`;
148
129
  }
149
130
  /**
@@ -152,8 +133,8 @@ function getCharacterSpritePNGFilePath(character) {
152
133
  *
153
134
  * Note that this will return an empty array for Eden and Tainted Eden.
154
135
  */
155
- function getCharacterStartingCollectibleTypes(character) {
156
- return characterStartingCollectibleTypes_1.CHARACTER_STARTING_COLLECTIBLE_TYPES[character];
136
+ export function getCharacterStartingCollectibleTypes(character) {
137
+ return CHARACTER_STARTING_COLLECTIBLE_TYPES[character];
157
138
  }
158
139
  /**
159
140
  * Helper function to get the trinket that is granted to a particular character at the beginning of
@@ -161,8 +142,8 @@ function getCharacterStartingCollectibleTypes(character) {
161
142
  *
162
143
  * Note that this will return undefined for Eden and Tainted Eden.
163
144
  */
164
- function getCharacterStartingTrinketType(character) {
165
- return characterStartingTrinketTypes_1.CHARACTER_STARTING_TRINKET_TYPE[character];
145
+ export function getCharacterStartingTrinketType(character) {
146
+ return CHARACTER_STARTING_TRINKET_TYPE[character];
166
147
  }
167
148
  /**
168
149
  * Helper function to get the "main" version of the character. In other words, this is the character
@@ -174,58 +155,58 @@ function getCharacterStartingTrinketType(character) {
174
155
  *
175
156
  * For `PlayerType.POSSESSOR` (-1) and modded characters, the same character will be returned.
176
157
  */
177
- function getMainCharacter(character) {
158
+ export function getMainCharacter(character) {
178
159
  if (isMainCharacter(character) || isModdedCharacter(character)) {
179
160
  return character;
180
161
  }
181
162
  switch (character) {
182
163
  // -1
183
- case isaac_typescript_definitions_1.PlayerType.POSSESSOR: {
184
- return isaac_typescript_definitions_1.PlayerType.POSSESSOR;
164
+ case PlayerType.POSSESSOR: {
165
+ return PlayerType.POSSESSOR;
185
166
  }
186
167
  // 11
187
- case isaac_typescript_definitions_1.PlayerType.LAZARUS_2: {
188
- return isaac_typescript_definitions_1.PlayerType.LAZARUS;
168
+ case PlayerType.LAZARUS_2: {
169
+ return PlayerType.LAZARUS;
189
170
  }
190
171
  // 12
191
- case isaac_typescript_definitions_1.PlayerType.DARK_JUDAS: {
192
- return isaac_typescript_definitions_1.PlayerType.JUDAS;
172
+ case PlayerType.DARK_JUDAS: {
173
+ return PlayerType.JUDAS;
193
174
  }
194
175
  // 17
195
- case isaac_typescript_definitions_1.PlayerType.SOUL: {
196
- return isaac_typescript_definitions_1.PlayerType.FORGOTTEN;
176
+ case PlayerType.SOUL: {
177
+ return PlayerType.FORGOTTEN;
197
178
  }
198
179
  // 20
199
- case isaac_typescript_definitions_1.PlayerType.ESAU: {
200
- return isaac_typescript_definitions_1.PlayerType.JACOB;
180
+ case PlayerType.ESAU: {
181
+ return PlayerType.JACOB;
201
182
  }
202
183
  // 38
203
- case isaac_typescript_definitions_1.PlayerType.LAZARUS_2_B: {
204
- return isaac_typescript_definitions_1.PlayerType.LAZARUS_2;
184
+ case PlayerType.LAZARUS_2_B: {
185
+ return PlayerType.LAZARUS_2;
205
186
  }
206
187
  // 39
207
- case isaac_typescript_definitions_1.PlayerType.JACOB_2_B: {
208
- return isaac_typescript_definitions_1.PlayerType.JACOB_B;
188
+ case PlayerType.JACOB_2_B: {
189
+ return PlayerType.JACOB_B;
209
190
  }
210
191
  // 40
211
- case isaac_typescript_definitions_1.PlayerType.SOUL_B: {
212
- return isaac_typescript_definitions_1.PlayerType.FORGOTTEN_B;
192
+ case PlayerType.SOUL_B: {
193
+ return PlayerType.FORGOTTEN_B;
213
194
  }
214
195
  }
215
196
  }
216
- function isFlyingCharacter(character) {
197
+ export function isFlyingCharacter(character) {
217
198
  return FLYING_CHARACTERS_SET.has(character);
218
199
  }
219
200
  /**
220
201
  * Helper function to check if the provided character is one of the characters that are selectable
221
202
  * from the main menu (and have achievements related to completing the various bosses and so on).
222
203
  */
223
- function isMainCharacter(character) {
204
+ export function isMainCharacter(character) {
224
205
  return MAIN_CHARACTERS_SET.has(character);
225
206
  }
226
- function isModdedCharacter(character) {
207
+ export function isModdedCharacter(character) {
227
208
  return !isVanillaCharacter(character);
228
209
  }
229
- function isVanillaCharacter(character) {
230
- return character <= constantsFirstLast_1.LAST_VANILLA_CHARACTER;
210
+ export function isVanillaCharacter(character) {
211
+ return character <= LAST_VANILLA_CHARACTER;
231
212
  }
@@ -1,20 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addCharge = addCharge;
4
- exports.addRoomClearCharge = addRoomClearCharge;
5
- exports.addRoomClearCharges = addRoomClearCharges;
6
- exports.addRoomClearChargeToSlot = addRoomClearChargeToSlot;
7
- exports.getChargesAwayFromMax = getChargesAwayFromMax;
8
- exports.getTotalCharge = getTotalCharge;
9
- exports.getUsableActiveItemSlots = getUsableActiveItemSlots;
10
- exports.isActiveSlotDoubleCharged = isActiveSlotDoubleCharged;
11
- exports.playChargeSoundEffect = playChargeSoundEffect;
12
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
13
- const cachedClasses_1 = require("../core/cachedClasses");
14
- const collectibles_1 = require("./collectibles");
15
- const playerCollectibles_1 = require("./playerCollectibles");
16
- const playerIndex_1 = require("./playerIndex");
17
- const roomShape_1 = require("./roomShape");
1
+ import { ActiveSlot, CollectibleType, ItemConfigChargeType, SoundEffect, TrinketType, } from "isaac-typescript-definitions";
2
+ import { game, sfxManager } from "../core/cachedClasses";
3
+ import { getCollectibleChargeType, getCollectibleMaxCharges, } from "./collectibles";
4
+ import { getActiveItemSlots } from "./playerCollectibles";
5
+ import { getPlayers } from "./playerIndex";
6
+ import { getRoomShapeCharges } from "./roomShape";
18
7
  /**
19
8
  * Helper function to add a charge to the player's active item. Will flash the HUD and play the
20
9
  * appropriate sound effect, depending on whether the charge is partially full or completely full.
@@ -34,8 +23,8 @@ const roomShape_1 = require("./roomShape");
34
23
  * only one away from a full charge, but the `numCharges` provided to this function was 2,
35
24
  * then this function would return 1.
36
25
  */
37
- function addCharge(player, activeSlot = isaac_typescript_definitions_1.ActiveSlot.PRIMARY, numCharges = 1, playSoundEffect = true) {
38
- const hud = cachedClasses_1.game.GetHUD();
26
+ export function addCharge(player, activeSlot = ActiveSlot.PRIMARY, numCharges = 1, playSoundEffect = true) {
27
+ const hud = game.GetHUD();
39
28
  // Ensure that there is enough space on the active item to store these amount of charges. (If we
40
29
  // add too many charges, it will grant orange "battery" charges, even if the player does not have
41
30
  // The Battery.)
@@ -71,11 +60,11 @@ function addCharge(player, activeSlot = isaac_typescript_definitions_1.ActiveSlo
71
60
  * is true.
72
61
  * @param playSoundEffect Optional. Whether to play a charge-related sound effect. Default is true.
73
62
  */
74
- function addRoomClearCharge(player, bigRoomDoubleCharge = true, playSoundEffect = true) {
63
+ export function addRoomClearCharge(player, bigRoomDoubleCharge = true, playSoundEffect = true) {
75
64
  for (const activeSlot of [
76
- isaac_typescript_definitions_1.ActiveSlot.PRIMARY,
77
- isaac_typescript_definitions_1.ActiveSlot.SECONDARY,
78
- isaac_typescript_definitions_1.ActiveSlot.POCKET,
65
+ ActiveSlot.PRIMARY,
66
+ ActiveSlot.SECONDARY,
67
+ ActiveSlot.POCKET,
79
68
  ]) {
80
69
  addRoomClearChargeToSlot(player, activeSlot, bigRoomDoubleCharge, playSoundEffect);
81
70
  }
@@ -93,8 +82,8 @@ function addRoomClearCharge(player, bigRoomDoubleCharge = true, playSoundEffect
93
82
  * room for the purposes of calculating how much charge to grant. Default
94
83
  * is true.
95
84
  */
96
- function addRoomClearCharges(bigRoomDoubleCharge = true) {
97
- for (const player of (0, playerIndex_1.getPlayers)()) {
85
+ export function addRoomClearCharges(bigRoomDoubleCharge = true) {
86
+ for (const player of getPlayers()) {
98
87
  addRoomClearCharge(player, bigRoomDoubleCharge);
99
88
  }
100
89
  }
@@ -116,27 +105,27 @@ function addRoomClearCharges(bigRoomDoubleCharge = true) {
116
105
  * is true.
117
106
  * @param playSoundEffect Optional. Whether to play a charge-related sound effect. Default is true.
118
107
  */
119
- function addRoomClearChargeToSlot(player, activeSlot = isaac_typescript_definitions_1.ActiveSlot.PRIMARY, bigRoomDoubleCharge = true, playSoundEffect = true) {
108
+ export function addRoomClearChargeToSlot(player, activeSlot = ActiveSlot.PRIMARY, bigRoomDoubleCharge = true, playSoundEffect = true) {
120
109
  const activeItem = player.GetActiveItem(activeSlot);
121
- if (activeItem === isaac_typescript_definitions_1.CollectibleType.NULL) {
110
+ if (activeItem === CollectibleType.NULL) {
122
111
  return;
123
112
  }
124
113
  // Certain collectibles have special charge mechanisms and are not charged upon a room being
125
114
  // cleared.
126
- const chargeType = (0, collectibles_1.getCollectibleChargeType)(activeItem);
127
- if (chargeType === isaac_typescript_definitions_1.ItemConfigChargeType.SPECIAL) {
115
+ const chargeType = getCollectibleChargeType(activeItem);
116
+ if (chargeType === ItemConfigChargeType.SPECIAL) {
128
117
  return;
129
118
  }
130
- const room = cachedClasses_1.game.GetRoom();
119
+ const room = game.GetRoom();
131
120
  const roomShape = room.GetRoomShape();
132
121
  // Big rooms grant two charges and normal rooms grant one charge.
133
- let numCharges = bigRoomDoubleCharge ? (0, roomShape_1.getRoomShapeCharges)(roomShape) : 1;
122
+ let numCharges = bigRoomDoubleCharge ? getRoomShapeCharges(roomShape) : 1;
134
123
  // Handle the special case of a timed item. When clearing a room with a timed item, it should
135
124
  // become fully charged.
136
- if (chargeType === isaac_typescript_definitions_1.ItemConfigChargeType.TIMED) {
125
+ if (chargeType === ItemConfigChargeType.TIMED) {
137
126
  // The charges will become clamped to the proper amount in the `addCharge` function. (If the
138
127
  // item is at 50% charge and the player has The Battery, it should go to 150% charged.)
139
- numCharges = (0, collectibles_1.getCollectibleMaxCharges)(activeItem);
128
+ numCharges = getCollectibleMaxCharges(activeItem);
140
129
  }
141
130
  addCharge(player, activeSlot, numCharges, playSoundEffect);
142
131
  }
@@ -151,11 +140,11 @@ function addRoomClearChargeToSlot(player, activeSlot = isaac_typescript_definiti
151
140
  * @param player The player to get the charges from.
152
141
  * @param activeSlot Optional. The slot to get the charges from. Default is `ActiveSlot.PRIMARY`.
153
142
  */
154
- function getChargesAwayFromMax(player, activeSlot = isaac_typescript_definitions_1.ActiveSlot.PRIMARY) {
143
+ export function getChargesAwayFromMax(player, activeSlot = ActiveSlot.PRIMARY) {
155
144
  const totalCharge = getTotalCharge(player, activeSlot);
156
145
  const activeItem = player.GetActiveItem(activeSlot);
157
- const hasBattery = player.HasCollectible(isaac_typescript_definitions_1.CollectibleType.BATTERY);
158
- const maxCharges = (0, collectibles_1.getCollectibleMaxCharges)(activeItem);
146
+ const hasBattery = player.HasCollectible(CollectibleType.BATTERY);
147
+ const maxCharges = getCollectibleMaxCharges(activeItem);
159
148
  const effectiveMaxCharges = hasBattery ? maxCharges * 2 : maxCharges;
160
149
  return effectiveMaxCharges - totalCharge;
161
150
  }
@@ -167,7 +156,7 @@ function getChargesAwayFromMax(player, activeSlot = isaac_typescript_definitions
167
156
  * @param player The player to get the charges from.
168
157
  * @param activeSlot Optional. The slot to get the charges from. Default is `ActiveSlot.PRIMARY`.
169
158
  */
170
- function getTotalCharge(player, activeSlot = isaac_typescript_definitions_1.ActiveSlot.PRIMARY) {
159
+ export function getTotalCharge(player, activeSlot = ActiveSlot.PRIMARY) {
171
160
  const activeCharge = player.GetActiveCharge(activeSlot);
172
161
  const batteryCharge = player.GetBatteryCharge(activeSlot);
173
162
  return activeCharge + batteryCharge;
@@ -177,9 +166,9 @@ function getTotalCharge(player, activeSlot = isaac_typescript_definitions_1.Acti
177
166
  * in and have enough charge to be used. Returns an empty array if the player does not have the
178
167
  * collectible in any active slot or does not have enough charges.
179
168
  */
180
- function getUsableActiveItemSlots(player, collectibleType) {
181
- const maxCharges = (0, collectibles_1.getCollectibleMaxCharges)(collectibleType);
182
- const activeSlots = (0, playerCollectibles_1.getActiveItemSlots)(player, collectibleType);
169
+ export function getUsableActiveItemSlots(player, collectibleType) {
170
+ const maxCharges = getCollectibleMaxCharges(collectibleType);
171
+ const activeSlots = getActiveItemSlots(player, collectibleType);
183
172
  return activeSlots.filter((activeSlot) => {
184
173
  const totalCharge = getTotalCharge(player, activeSlot);
185
174
  return totalCharge >= maxCharges;
@@ -192,10 +181,10 @@ function getUsableActiveItemSlots(player, collectibleType) {
192
181
  * @param player The player to check.
193
182
  * @param activeSlot Optional. The slot to check. Default is `ActiveSlot.PRIMARY`.
194
183
  */
195
- function isActiveSlotDoubleCharged(player, activeSlot = isaac_typescript_definitions_1.ActiveSlot.PRIMARY) {
184
+ export function isActiveSlotDoubleCharged(player, activeSlot = ActiveSlot.PRIMARY) {
196
185
  const collectibleType = player.GetActiveItem(activeSlot);
197
186
  const batteryCharge = player.GetBatteryCharge(activeSlot);
198
- const maxCharges = (0, collectibles_1.getCollectibleMaxCharges)(collectibleType);
187
+ const maxCharges = getCollectibleMaxCharges(collectibleType);
199
188
  return batteryCharge >= maxCharges;
200
189
  }
201
190
  /**
@@ -206,24 +195,24 @@ function isActiveSlotDoubleCharged(player, activeSlot = isaac_typescript_definit
206
195
  * @param player The player to play the sound effect for.
207
196
  * @param activeSlot Optional. The slot that was just charged. Default is `ActiveSlot.PRIMARY`.
208
197
  */
209
- function playChargeSoundEffect(player, activeSlot = isaac_typescript_definitions_1.ActiveSlot.PRIMARY) {
198
+ export function playChargeSoundEffect(player, activeSlot = ActiveSlot.PRIMARY) {
210
199
  for (const soundEffect of [
211
- isaac_typescript_definitions_1.SoundEffect.BATTERY_CHARGE, // 170
212
- isaac_typescript_definitions_1.SoundEffect.BEEP, // 171
200
+ SoundEffect.BATTERY_CHARGE, // 170
201
+ SoundEffect.BEEP, // 171
213
202
  ]) {
214
- cachedClasses_1.sfxManager.Stop(soundEffect);
203
+ sfxManager.Stop(soundEffect);
215
204
  }
216
205
  const chargeSoundEffect = shouldPlayFullRechargeSound(player, activeSlot)
217
- ? isaac_typescript_definitions_1.SoundEffect.BATTERY_CHARGE
218
- : isaac_typescript_definitions_1.SoundEffect.BEEP;
219
- cachedClasses_1.sfxManager.Play(chargeSoundEffect);
206
+ ? SoundEffect.BATTERY_CHARGE
207
+ : SoundEffect.BEEP;
208
+ sfxManager.Play(chargeSoundEffect);
220
209
  }
221
210
  /**
222
211
  * The AAA Battery should grant an extra charge when the active item is one away from being fully
223
212
  * charged.
224
213
  */
225
214
  function getChargesToAddWithAAAModifier(player, activeSlot, chargesToAdd) {
226
- const hasAAABattery = player.HasTrinket(isaac_typescript_definitions_1.TrinketType.AAA_BATTERY);
215
+ const hasAAABattery = player.HasTrinket(TrinketType.AAA_BATTERY);
227
216
  if (!hasAAABattery) {
228
217
  return chargesToAdd;
229
218
  }
@@ -235,8 +224,8 @@ function shouldPlayFullRechargeSound(player, activeSlot) {
235
224
  const activeItem = player.GetActiveItem(activeSlot);
236
225
  const activeCharge = player.GetActiveCharge(activeSlot);
237
226
  const batteryCharge = player.GetBatteryCharge(activeSlot);
238
- const hasBattery = player.HasCollectible(isaac_typescript_definitions_1.CollectibleType.BATTERY);
239
- const maxCharges = (0, collectibles_1.getCollectibleMaxCharges)(activeItem);
227
+ const hasBattery = player.HasCollectible(CollectibleType.BATTERY);
228
+ const maxCharges = getCollectibleMaxCharges(activeItem);
240
229
  // If we do not have The Battery, play the full recharge sound if we are now fully charged.
241
230
  if (!hasBattery) {
242
231
  // We cannot use the `EntityPlayer.NeedsCharge` method because it does not work properly for
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.newChargeBarSprites = newChargeBarSprites;
4
- exports.renderChargeBar = renderChargeBar;
5
1
  const CHARGE_BAR_ANM2 = "gfx/ui/ui_chargebar.anm2";
6
2
  /**
7
3
  * Constructor for a `ChargeBarSprites` object. For more information, see the `renderChargeBar`
@@ -10,7 +6,7 @@ const CHARGE_BAR_ANM2 = "gfx/ui/ui_chargebar.anm2";
10
6
  * Note that this is for the vertical charge bar that represents the number of charges that an
11
7
  * active item has, not the circular charge bar that shows e.g. the charge rate of Brimstone.
12
8
  */
13
- function newChargeBarSprites(maxCharges) {
9
+ export function newChargeBarSprites(maxCharges) {
14
10
  const back = Sprite();
15
11
  back.Load(CHARGE_BAR_ANM2, true);
16
12
  back.Play("BarEmpty", true);
@@ -38,7 +34,7 @@ function newChargeBarSprites(maxCharges) {
38
34
  * Note that this is for the vertical charge bar that represents the number of charges that an
39
35
  * active item has, not the circular charge bar that shows e.g. the charge rate of Brimstone.
40
36
  */
41
- function renderChargeBar(sprites, position, normalCharges, batteryCharges) {
37
+ export function renderChargeBar(sprites, position, normalCharges, batteryCharges) {
42
38
  sprites.back.Render(position);
43
39
  const normalChargesClamp = getChargeBarClamp(normalCharges, sprites.maxCharges);
44
40
  sprites.meter.Render(position, normalChargesClamp);
@@ -1,23 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.collectibleHasTag = collectibleHasTag;
4
- exports.isQuestCollectible = isQuestCollectible;
5
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
6
- const cachedClasses_1 = require("../core/cachedClasses");
7
- const types_1 = require("./types");
8
- function collectibleHasTag(collectibleOrCollectibleType, tag) {
9
- const collectibleType = (0, types_1.isInteger)(collectibleOrCollectibleType)
1
+ import { ItemConfigTag } from "isaac-typescript-definitions";
2
+ import { itemConfig } from "../core/cachedClasses";
3
+ import { isInteger } from "./types";
4
+ export function collectibleHasTag(collectibleOrCollectibleType, tag) {
5
+ const collectibleType = isInteger(collectibleOrCollectibleType)
10
6
  ? collectibleOrCollectibleType
11
7
  : collectibleOrCollectibleType.SubType;
12
- const itemConfigItem = cachedClasses_1.itemConfig.GetCollectible(collectibleType);
8
+ const itemConfigItem = itemConfig.GetCollectible(collectibleType);
13
9
  if (itemConfigItem === undefined) {
14
10
  return false;
15
11
  }
16
12
  return itemConfigItem.HasTags(tag);
17
13
  }
18
- function isQuestCollectible(collectibleOrCollectibleType) {
19
- const collectibleType = (0, types_1.isInteger)(collectibleOrCollectibleType)
14
+ export function isQuestCollectible(collectibleOrCollectibleType) {
15
+ const collectibleType = isInteger(collectibleOrCollectibleType)
20
16
  ? collectibleOrCollectibleType
21
17
  : collectibleOrCollectibleType.SubType;
22
- return collectibleHasTag(collectibleType, isaac_typescript_definitions_1.ItemConfigTag.QUEST);
18
+ return collectibleHasTag(collectibleType, ItemConfigTag.QUEST);
23
19
  }