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,84 +1,54 @@
1
- "use strict";
2
1
  /* eslint "perfectionist/sort-modules": "error" */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.shouldFireAmbush = shouldFireAmbush;
5
- exports.shouldFireBomb = shouldFireBomb;
6
- exports.shouldFireBoolean = shouldFireBoolean;
7
- exports.shouldFireCollectibleType = shouldFireCollectibleType;
8
- exports.shouldFireDoor = shouldFireDoor;
9
- exports.shouldFireEffect = shouldFireEffect;
10
- exports.shouldFireEntity = shouldFireEntity;
11
- exports.shouldFireFamiliar = shouldFireFamiliar;
12
- exports.shouldFireGridEntity = shouldFireGridEntity;
13
- exports.shouldFireGridEntityCustom = shouldFireGridEntityCustom;
14
- exports.shouldFireItemPickup = shouldFireItemPickup;
15
- exports.shouldFireKnife = shouldFireKnife;
16
- exports.shouldFireLaser = shouldFireLaser;
17
- exports.shouldFireLevel = shouldFireLevel;
18
- exports.shouldFireNPC = shouldFireNPC;
19
- exports.shouldFirePickup = shouldFirePickup;
20
- exports.shouldFirePit = shouldFirePit;
21
- exports.shouldFirePlayer = shouldFirePlayer;
22
- exports.shouldFirePoop = shouldFirePoop;
23
- exports.shouldFirePressurePlate = shouldFirePressurePlate;
24
- exports.shouldFireProjectile = shouldFireProjectile;
25
- exports.shouldFireRock = shouldFireRock;
26
- exports.shouldFireRoom = shouldFireRoom;
27
- exports.shouldFireSlot = shouldFireSlot;
28
- exports.shouldFireSpikes = shouldFireSpikes;
29
- exports.shouldFireTear = shouldFireTear;
30
- exports.shouldFireTNT = shouldFireTNT;
31
- exports.shouldFireTrinketType = shouldFireTrinketType;
32
- function shouldFireAmbush(fireArgs, optionalArgs) {
2
+ export function shouldFireAmbush(fireArgs, optionalArgs) {
33
3
  const [ambushType] = fireArgs;
34
4
  const [callbackAmbushType] = optionalArgs;
35
5
  return callbackAmbushType === undefined || callbackAmbushType === ambushType;
36
6
  }
37
- function shouldFireBomb(fireArgs, optionalArgs) {
7
+ export function shouldFireBomb(fireArgs, optionalArgs) {
38
8
  const [bomb] = fireArgs;
39
9
  const [callbackBombVariant, callbackSubType] = optionalArgs;
40
10
  return ((callbackBombVariant === undefined || callbackBombVariant === bomb.Variant)
41
11
  && (callbackSubType === undefined || callbackSubType === bomb.SubType));
42
12
  }
43
- function shouldFireBoolean(fireArgs, optionalArgs) {
13
+ export function shouldFireBoolean(fireArgs, optionalArgs) {
44
14
  const [fireArg] = fireArgs;
45
15
  const [optionalArg] = optionalArgs;
46
16
  return optionalArg === undefined || optionalArg === fireArg;
47
17
  }
48
- function shouldFireCollectibleType(fireArgs, optionalArgs) {
18
+ export function shouldFireCollectibleType(fireArgs, optionalArgs) {
49
19
  const [_player, collectibleType] = fireArgs;
50
20
  const [callbackCollectibleType] = optionalArgs;
51
21
  return (callbackCollectibleType === undefined
52
22
  || callbackCollectibleType === collectibleType);
53
23
  }
54
- function shouldFireDoor(fireArgs, optionalArgs) {
24
+ export function shouldFireDoor(fireArgs, optionalArgs) {
55
25
  const [door] = fireArgs;
56
26
  const [callbackDoorVariant] = optionalArgs;
57
27
  const doorVariant = door.GetVariant();
58
28
  return (callbackDoorVariant === undefined || callbackDoorVariant === doorVariant);
59
29
  }
60
- function shouldFireEffect(fireArgs, optionalArgs) {
30
+ export function shouldFireEffect(fireArgs, optionalArgs) {
61
31
  const [effect] = fireArgs;
62
32
  const [callbackEffectVariant, callbackSubType] = optionalArgs;
63
33
  return ((callbackEffectVariant === undefined
64
34
  || callbackEffectVariant === effect.Variant)
65
35
  && (callbackSubType === undefined || callbackSubType === effect.SubType));
66
36
  }
67
- function shouldFireEntity(fireArgs, optionalArgs) {
37
+ export function shouldFireEntity(fireArgs, optionalArgs) {
68
38
  const [entity] = fireArgs;
69
39
  const [callbackEntityType, callbackVariant, callbackSubType] = optionalArgs;
70
40
  return ((callbackEntityType === undefined || callbackEntityType === entity.Type)
71
41
  && (callbackVariant === undefined || callbackVariant === entity.Variant)
72
42
  && (callbackSubType === undefined || callbackSubType === entity.SubType));
73
43
  }
74
- function shouldFireFamiliar(fireArgs, optionalArgs) {
44
+ export function shouldFireFamiliar(fireArgs, optionalArgs) {
75
45
  const [familiar] = fireArgs;
76
46
  const [callbackFamiliarVariant, callbackSubType] = optionalArgs;
77
47
  return ((callbackFamiliarVariant === undefined
78
48
  || callbackFamiliarVariant === familiar.Variant)
79
49
  && (callbackSubType === undefined || callbackSubType === familiar.SubType));
80
50
  }
81
- function shouldFireGridEntity(fireArgs, optionalArgs) {
51
+ export function shouldFireGridEntity(fireArgs, optionalArgs) {
82
52
  const [gridEntity] = fireArgs;
83
53
  const [callbackGridEntityType, callbackVariant] = optionalArgs;
84
54
  const gridEntityType = gridEntity.GetType();
@@ -87,13 +57,13 @@ function shouldFireGridEntity(fireArgs, optionalArgs) {
87
57
  || callbackGridEntityType === gridEntityType)
88
58
  && (callbackVariant === undefined || callbackVariant === variant));
89
59
  }
90
- function shouldFireGridEntityCustom(fireArgs, optionalArgs) {
60
+ export function shouldFireGridEntityCustom(fireArgs, optionalArgs) {
91
61
  const [_gridEntity, gridEntityTypeCustom] = fireArgs;
92
62
  const [callbackGridEntityTypeCustom] = optionalArgs;
93
63
  return (callbackGridEntityTypeCustom === undefined
94
64
  || callbackGridEntityTypeCustom === gridEntityTypeCustom);
95
65
  }
96
- function shouldFireItemPickup(fireArgs, optionalArgs) {
66
+ export function shouldFireItemPickup(fireArgs, optionalArgs) {
97
67
  const [_player, pickingUpItem] = fireArgs;
98
68
  const [callbackItemType, callbackSubtype] = optionalArgs;
99
69
  return ((callbackItemType === undefined
@@ -102,34 +72,34 @@ function shouldFireItemPickup(fireArgs, optionalArgs) {
102
72
  // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
103
73
  || callbackSubtype === pickingUpItem.subType));
104
74
  }
105
- function shouldFireKnife(fireArgs, optionalArgs) {
75
+ export function shouldFireKnife(fireArgs, optionalArgs) {
106
76
  const [knife] = fireArgs;
107
77
  const [callbackKnifeVariant, callbackSubType] = optionalArgs;
108
78
  return ((callbackKnifeVariant === undefined
109
79
  || callbackKnifeVariant === knife.Variant)
110
80
  && (callbackSubType === undefined || callbackSubType === knife.SubType));
111
81
  }
112
- function shouldFireLaser(fireArgs, optionalArgs) {
82
+ export function shouldFireLaser(fireArgs, optionalArgs) {
113
83
  const [laser] = fireArgs;
114
84
  const [callbackLaserVariant, callbackSubType] = optionalArgs;
115
85
  return ((callbackLaserVariant === undefined
116
86
  || callbackLaserVariant === laser.Variant)
117
87
  && (callbackSubType === undefined || callbackSubType === laser.SubType));
118
88
  }
119
- function shouldFireLevel(fireArgs, optionalArgs) {
89
+ export function shouldFireLevel(fireArgs, optionalArgs) {
120
90
  const [stage, stageType] = fireArgs;
121
91
  const [callbackStage, callbackStageType] = optionalArgs;
122
92
  return ((callbackStage === undefined || callbackStage === stage)
123
93
  && (callbackStageType === undefined || callbackStageType === stageType));
124
94
  }
125
- function shouldFireNPC(fireArgs, optionalArgs) {
95
+ export function shouldFireNPC(fireArgs, optionalArgs) {
126
96
  const [npc] = fireArgs;
127
97
  const [callbackEntityType, callbackVariant, callbackSubType] = optionalArgs;
128
98
  return ((callbackEntityType === undefined || callbackEntityType === npc.Type)
129
99
  && (callbackVariant === undefined || callbackVariant === npc.Variant)
130
100
  && (callbackSubType === undefined || callbackSubType === npc.SubType));
131
101
  }
132
- function shouldFirePickup(fireArgs, optionalArgs) {
102
+ export function shouldFirePickup(fireArgs, optionalArgs) {
133
103
  const [pickup] = fireArgs;
134
104
  const [callbackPickupVariant, callbackPickupSubType] = optionalArgs;
135
105
  return ((callbackPickupVariant === undefined
@@ -137,13 +107,13 @@ function shouldFirePickup(fireArgs, optionalArgs) {
137
107
  && (callbackPickupSubType === undefined
138
108
  || callbackPickupSubType === pickup.SubType));
139
109
  }
140
- function shouldFirePit(fireArgs, optionalArgs) {
110
+ export function shouldFirePit(fireArgs, optionalArgs) {
141
111
  const [pit] = fireArgs;
142
112
  const [callbackPitVariant] = optionalArgs;
143
113
  const pitVariant = pit.GetVariant();
144
114
  return callbackPitVariant === undefined || callbackPitVariant === pitVariant;
145
115
  }
146
- function shouldFirePlayer(fireArgs, optionalArgs) {
116
+ export function shouldFirePlayer(fireArgs, optionalArgs) {
147
117
  const [player] = fireArgs;
148
118
  const [callbackPlayerVariant, callbackCharacter] = optionalArgs;
149
119
  const character = player.GetPlayerType();
@@ -151,28 +121,28 @@ function shouldFirePlayer(fireArgs, optionalArgs) {
151
121
  || callbackPlayerVariant === player.Variant)
152
122
  && (callbackCharacter === undefined || callbackCharacter === character));
153
123
  }
154
- function shouldFirePoop(fireArgs, optionalArgs) {
124
+ export function shouldFirePoop(fireArgs, optionalArgs) {
155
125
  const [poop] = fireArgs;
156
126
  const [callbackPoopGridEntityVariant] = optionalArgs;
157
127
  const poopGridEntityVariant = poop.GetVariant();
158
128
  return (callbackPoopGridEntityVariant === undefined
159
129
  || callbackPoopGridEntityVariant === poopGridEntityVariant);
160
130
  }
161
- function shouldFirePressurePlate(fireArgs, optionalArgs) {
131
+ export function shouldFirePressurePlate(fireArgs, optionalArgs) {
162
132
  const [pressurePlate] = fireArgs;
163
133
  const [callbackPressurePlateVariant] = optionalArgs;
164
134
  const pressurePlateVariant = pressurePlate.GetVariant();
165
135
  return (callbackPressurePlateVariant === undefined
166
136
  || callbackPressurePlateVariant === pressurePlateVariant);
167
137
  }
168
- function shouldFireProjectile(fireArgs, optionalArgs) {
138
+ export function shouldFireProjectile(fireArgs, optionalArgs) {
169
139
  const [projectile] = fireArgs;
170
140
  const [callbackProjectileVariant, callbackSubType] = optionalArgs;
171
141
  return ((callbackProjectileVariant === undefined
172
142
  || callbackProjectileVariant === projectile.Variant)
173
143
  && (callbackSubType === undefined || callbackSubType === projectile.SubType));
174
144
  }
175
- function shouldFireRock(fireArgs, optionalArgs) {
145
+ export function shouldFireRock(fireArgs, optionalArgs) {
176
146
  const [rock] = fireArgs;
177
147
  const [callbackGridEntity, callbackVariant] = optionalArgs;
178
148
  const gridEntityType = rock.GetType();
@@ -180,36 +150,36 @@ function shouldFireRock(fireArgs, optionalArgs) {
180
150
  return ((callbackGridEntity === undefined || callbackGridEntity === gridEntityType)
181
151
  && (callbackVariant === undefined || callbackVariant === variant));
182
152
  }
183
- function shouldFireRoom(fireArgs, optionalArgs) {
153
+ export function shouldFireRoom(fireArgs, optionalArgs) {
184
154
  const [roomType] = fireArgs;
185
155
  const [callbackRoomType] = optionalArgs;
186
156
  return callbackRoomType === undefined || callbackRoomType === roomType;
187
157
  }
188
- function shouldFireSlot(fireArgs, optionalArgs) {
158
+ export function shouldFireSlot(fireArgs, optionalArgs) {
189
159
  const [slot] = fireArgs;
190
160
  const [callbackSlotVariant, callbackSubType] = optionalArgs;
191
161
  return ((callbackSlotVariant === undefined || callbackSlotVariant === slot.Variant)
192
162
  && (callbackSubType === undefined || callbackSubType === slot.SubType));
193
163
  }
194
- function shouldFireSpikes(fireArgs, optionalArgs) {
164
+ export function shouldFireSpikes(fireArgs, optionalArgs) {
195
165
  const [spikes] = fireArgs;
196
166
  const [callbackVariant] = optionalArgs;
197
167
  const variant = spikes.GetVariant();
198
168
  return callbackVariant === undefined || callbackVariant === variant;
199
169
  }
200
- function shouldFireTear(fireArgs, optionalArgs) {
170
+ export function shouldFireTear(fireArgs, optionalArgs) {
201
171
  const [tear] = fireArgs;
202
172
  const [callbackTearVariant, callbackSubType] = optionalArgs;
203
173
  return ((callbackTearVariant === undefined || callbackTearVariant === tear.Variant)
204
174
  && (callbackSubType === undefined || callbackSubType === tear.SubType));
205
175
  }
206
- function shouldFireTNT(fireArgs, optionalArgs) {
176
+ export function shouldFireTNT(fireArgs, optionalArgs) {
207
177
  const [tnt] = fireArgs;
208
178
  const [callbackVariant] = optionalArgs;
209
179
  const variant = tnt.GetVariant();
210
180
  return callbackVariant === undefined || callbackVariant === variant;
211
181
  }
212
- function shouldFireTrinketType(fireArgs, optionalArgs) {
182
+ export function shouldFireTrinketType(fireArgs, optionalArgs) {
213
183
  const [_player, trinketType] = fireArgs;
214
184
  const [callbackTrinketType] = optionalArgs;
215
185
  return (callbackTrinketType === undefined || callbackTrinketType === trinketType);
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  // -----
4
2
  // Tests
5
3
  // -----
@@ -9,3 +7,4 @@ var ObjectiveType;
9
7
  ObjectiveType[ObjectiveType["BAR"] = 1] = "BAR";
10
8
  ObjectiveType[ObjectiveType["BAZ"] = 2] = "BAZ";
11
9
  })(ObjectiveType || (ObjectiveType = {}));
10
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,34 +1,27 @@
1
- "use strict";
2
1
  /* eslint-disable complete/type-declaration-immutability */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.newPickingUpItem = newPickingUpItem;
5
- exports.resetPickingUpItem = resetPickingUpItem;
6
- exports.isPickingUpItemNull = isPickingUpItemNull;
7
- exports.isPickingUpItemCollectible = isPickingUpItemCollectible;
8
- exports.isPickingUpItemTrinket = isPickingUpItemTrinket;
9
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
10
- const ReadonlySet_1 = require("./ReadonlySet");
11
- const DEFAULT_ITEM_TYPE = isaac_typescript_definitions_1.ItemType.NULL;
12
- const DEFAULT_SUB_TYPE = isaac_typescript_definitions_1.CollectibleType.NULL;
13
- function newPickingUpItem() {
2
+ import { CollectibleType, ItemType } from "isaac-typescript-definitions";
3
+ import { ReadonlySet } from "./ReadonlySet";
4
+ const DEFAULT_ITEM_TYPE = ItemType.NULL;
5
+ const DEFAULT_SUB_TYPE = CollectibleType.NULL;
6
+ export function newPickingUpItem() {
14
7
  return {
15
8
  itemType: DEFAULT_ITEM_TYPE,
16
9
  subType: DEFAULT_SUB_TYPE,
17
10
  };
18
11
  }
19
12
  /** Helper function to reset a `PickupUpItem` object to all 0 values. */
20
- function resetPickingUpItem(pickingUpItem) {
13
+ export function resetPickingUpItem(pickingUpItem) {
21
14
  pickingUpItem.itemType = DEFAULT_ITEM_TYPE;
22
15
  pickingUpItem.subType = DEFAULT_SUB_TYPE;
23
16
  }
24
- const COLLECTIBLE_ITEM_TYPES = new ReadonlySet_1.ReadonlySet([
25
- isaac_typescript_definitions_1.ItemType.PASSIVE, // 1
26
- isaac_typescript_definitions_1.ItemType.ACTIVE, // 3
27
- isaac_typescript_definitions_1.ItemType.FAMILIAR, // 4
17
+ const COLLECTIBLE_ITEM_TYPES = new ReadonlySet([
18
+ ItemType.PASSIVE, // 1
19
+ ItemType.ACTIVE, // 3
20
+ ItemType.FAMILIAR, // 4
28
21
  ]);
29
22
  /** Helper function to narrow the type of `PickingUpItem` to `ItemType.NULL` (0). */
30
- function isPickingUpItemNull(pickingUpItem) {
31
- return pickingUpItem.itemType === isaac_typescript_definitions_1.ItemType.NULL;
23
+ export function isPickingUpItemNull(pickingUpItem) {
24
+ return pickingUpItem.itemType === ItemType.NULL;
32
25
  }
33
26
  /**
34
27
  * Helper function to narrow the type of `PickingUpItem` to one of the following:
@@ -37,10 +30,10 @@ function isPickingUpItemNull(pickingUpItem) {
37
30
  * - `ItemType.ACTIVE` (3)
38
31
  * - `ItemType.FAMILIAR` (4)
39
32
  */
40
- function isPickingUpItemCollectible(pickingUpItem) {
33
+ export function isPickingUpItemCollectible(pickingUpItem) {
41
34
  return COLLECTIBLE_ITEM_TYPES.has(pickingUpItem.itemType);
42
35
  }
43
36
  /** Helper function to narrow the type of `PickingUpItem` to `ItemType.TRINKET` (2). */
44
- function isPickingUpItemTrinket(pickingUpItem) {
45
- return pickingUpItem.itemType === isaac_typescript_definitions_1.ItemType.TRINKET;
37
+ export function isPickingUpItemTrinket(pickingUpItem) {
38
+ return pickingUpItem.itemType === ItemType.TRINKET;
46
39
  }
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,6 +1,3 @@
1
- "use strict";
2
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ReadonlyMap = void 0;
5
2
  /** An alias for the `Map` constructor that returns a read-only map. */
6
- exports.ReadonlyMap = Map;
3
+ export const ReadonlyMap = Map;
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,6 +1,3 @@
1
- "use strict";
2
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ReadonlySet = void 0;
5
2
  /** An alias for the `Set` constructor that returns a read-only set. */
6
- exports.ReadonlySet = Set;
3
+ export const ReadonlySet = Set;
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  // -----
4
2
  // Tests
5
3
  // -----
@@ -17,6 +15,7 @@ const threeOneTwo = [
17
15
  "2",
18
16
  "3",
19
17
  ];
18
+ export {};
20
19
  /* eslint-enable @typescript-eslint/no-unused-vars */
21
20
  /* eslint-enable complete/require-unannotated-const-assertions */
22
21
  // See "TupleWithMaxLength.ts" for more tests.
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  // -----
4
2
  // Tests
5
3
  // -----
@@ -23,5 +21,6 @@ const oneTwo = ["1"];
23
21
  const twoTwo = ["1", "2"];
24
22
  // @ts-expect-error Tuple of length 3 with max length 2.
25
23
  const threeTwo = ["1", "2", "3"];
24
+ export {};
26
25
  /* eslint-enable @typescript-eslint/no-unused-vars */
27
26
  /* eslint-enable complete/require-unannotated-const-assertions */
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "87.9.7",
3
+ "version": "87.10.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -34,11 +34,11 @@
34
34
  "lint": "tsx --tsconfig ./scripts/tsconfig.json ./scripts/lint.mts"
35
35
  },
36
36
  "dependencies": {
37
- "isaac-typescript-definitions": "43.0.7"
37
+ "isaac-typescript-definitions": "43.0.8"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@microsoft/api-extractor": "7.59.0",
41
- "complete-node": "18.0.1",
41
+ "complete-node": "18.1.0",
42
42
  "typescript-eslint": "8.69.0",
43
43
  "typescript-to-lua": "1.37.1"
44
44
  }
@@ -1,24 +1,25 @@
1
1
  import type { HeartSubType } from "isaac-typescript-definitions";
2
2
 
3
3
  /** This is used by the `getPlayerHealth` and `setPlayerHealth` helper functions. */
4
+ // eslint-disable-next-line complete/type-declaration-immutability
4
5
  export interface PlayerHealth {
5
- readonly maxHearts: int;
6
- readonly hearts: int;
7
- readonly eternalHearts: int;
6
+ maxHearts: int;
7
+ hearts: int;
8
+ eternalHearts: int;
8
9
 
9
10
  /** For soul hearts to apply, they also have to be specified in the `soulHeartTypes` array. */
10
- readonly soulHearts: int;
11
+ soulHearts: int;
11
12
 
12
13
  /** For bone hearts to apply, they also have to be specified in the `soulHeartTypes` array. */
13
- readonly boneHearts: int;
14
+ boneHearts: int;
14
15
 
15
- readonly goldenHearts: int;
16
- readonly rottenHearts: int;
17
- readonly brokenHearts: int;
18
- readonly soulCharges: int;
19
- readonly bloodCharges: int;
16
+ goldenHearts: int;
17
+ rottenHearts: int;
18
+ brokenHearts: int;
19
+ soulCharges: int;
20
+ bloodCharges: int;
20
21
 
21
- readonly soulHeartTypes: readonly SoulHeartType[];
22
+ soulHeartTypes: readonly SoulHeartType[];
22
23
  }
23
24
 
24
25
  export type SoulHeartType =