isaacscript-common 87.9.7 → 87.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/dist/cachedEnumValues.js +29 -32
  2. package/dist/callbackClasses.js +142 -289
  3. package/dist/callbacks.js +147 -183
  4. package/dist/classes/DefaultMap.js +4 -8
  5. package/dist/classes/ModFeature.js +21 -25
  6. package/dist/classes/ModUpgraded.js +43 -47
  7. package/dist/classes/callbacks/EntityTakeDmgFilter.js +6 -10
  8. package/dist/classes/callbacks/EntityTakeDmgPlayer.js +7 -11
  9. package/dist/classes/callbacks/InputActionFilter.js +4 -8
  10. package/dist/classes/callbacks/InputActionPlayer.js +4 -8
  11. package/dist/classes/callbacks/PostAmbushFinished.js +10 -14
  12. package/dist/classes/callbacks/PostAmbushStarted.js +10 -14
  13. package/dist/classes/callbacks/PostBombExploded.js +8 -12
  14. package/dist/classes/callbacks/PostBombInitFilter.js +6 -10
  15. package/dist/classes/callbacks/PostBombInitLate.js +6 -10
  16. package/dist/classes/callbacks/PostBombRenderFilter.js +6 -10
  17. package/dist/classes/callbacks/PostBombUpdateFilter.js +6 -10
  18. package/dist/classes/callbacks/PostBoneSwing.js +7 -11
  19. package/dist/classes/callbacks/PostCollectibleEmpty.js +6 -10
  20. package/dist/classes/callbacks/PostCursedTeleport.js +30 -34
  21. package/dist/classes/callbacks/PostCustomRevive.js +4 -8
  22. package/dist/classes/callbacks/PostDiceRoomActivated.js +9 -13
  23. package/dist/classes/callbacks/PostDoorRender.js +8 -12
  24. package/dist/classes/callbacks/PostDoorUpdate.js +8 -12
  25. package/dist/classes/callbacks/PostEffectInitFilter.js +6 -10
  26. package/dist/classes/callbacks/PostEffectInitLate.js +6 -10
  27. package/dist/classes/callbacks/PostEffectRenderFilter.js +6 -10
  28. package/dist/classes/callbacks/PostEffectStateChanged.js +8 -12
  29. package/dist/classes/callbacks/PostEffectUpdateFilter.js +6 -10
  30. package/dist/classes/callbacks/PostEntityKillFilter.js +6 -10
  31. package/dist/classes/callbacks/PostEntityRemoveFilter.js +6 -10
  32. package/dist/classes/callbacks/PostEsauJr.js +4 -8
  33. package/dist/classes/callbacks/PostFamiliarInitFilter.js +6 -10
  34. package/dist/classes/callbacks/PostFamiliarInitLate.js +6 -10
  35. package/dist/classes/callbacks/PostFamiliarRenderFilter.js +6 -10
  36. package/dist/classes/callbacks/PostFamiliarStateChanged.js +8 -12
  37. package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +6 -10
  38. package/dist/classes/callbacks/PostFirstEsauJr.js +4 -8
  39. package/dist/classes/callbacks/PostFirstFlip.js +4 -8
  40. package/dist/classes/callbacks/PostFlip.js +4 -8
  41. package/dist/classes/callbacks/PostGameEndFilter.js +6 -10
  42. package/dist/classes/callbacks/PostGameStartedReordered.js +6 -10
  43. package/dist/classes/callbacks/PostGameStartedReorderedLast.js +6 -10
  44. package/dist/classes/callbacks/PostGreedModeWave.js +7 -11
  45. package/dist/classes/callbacks/PostGridEntityBroken.js +6 -10
  46. package/dist/classes/callbacks/PostGridEntityCollision.js +4 -8
  47. package/dist/classes/callbacks/PostGridEntityCustomBroken.js +6 -10
  48. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +4 -8
  49. package/dist/classes/callbacks/PostGridEntityCustomInit.js +6 -10
  50. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +4 -8
  51. package/dist/classes/callbacks/PostGridEntityCustomRender.js +6 -10
  52. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +6 -10
  53. package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +6 -10
  54. package/dist/classes/callbacks/PostGridEntityInit.js +6 -10
  55. package/dist/classes/callbacks/PostGridEntityRemove.js +4 -8
  56. package/dist/classes/callbacks/PostGridEntityRender.js +6 -10
  57. package/dist/classes/callbacks/PostGridEntityStateChanged.js +6 -10
  58. package/dist/classes/callbacks/PostGridEntityUpdate.js +6 -10
  59. package/dist/classes/callbacks/PostHolyMantleRemoved.js +15 -19
  60. package/dist/classes/callbacks/PostItemDischarge.js +23 -27
  61. package/dist/classes/callbacks/PostItemPickup.js +6 -10
  62. package/dist/classes/callbacks/PostKeyboardChanged.js +9 -13
  63. package/dist/classes/callbacks/PostKnifeInitFilter.js +6 -10
  64. package/dist/classes/callbacks/PostKnifeInitLate.js +6 -10
  65. package/dist/classes/callbacks/PostKnifeRenderFilter.js +6 -10
  66. package/dist/classes/callbacks/PostKnifeUpdateFilter.js +6 -10
  67. package/dist/classes/callbacks/PostLaserInitFilter.js +6 -10
  68. package/dist/classes/callbacks/PostLaserInitLate.js +6 -10
  69. package/dist/classes/callbacks/PostLaserRenderFilter.js +6 -10
  70. package/dist/classes/callbacks/PostLaserUpdateFilter.js +6 -10
  71. package/dist/classes/callbacks/PostNPCDeathFilter.js +6 -10
  72. package/dist/classes/callbacks/PostNPCInitFilter.js +6 -10
  73. package/dist/classes/callbacks/PostNPCInitLate.js +6 -10
  74. package/dist/classes/callbacks/PostNPCRenderFilter.js +6 -10
  75. package/dist/classes/callbacks/PostNPCStateChanged.js +8 -12
  76. package/dist/classes/callbacks/PostNPCUpdateFilter.js +6 -10
  77. package/dist/classes/callbacks/PostNewLevelReordered.js +6 -10
  78. package/dist/classes/callbacks/PostNewRoomEarly.js +17 -21
  79. package/dist/classes/callbacks/PostNewRoomReordered.js +6 -10
  80. package/dist/classes/callbacks/PostPEffectUpdateReordered.js +6 -10
  81. package/dist/classes/callbacks/PostPickupChanged.js +6 -10
  82. package/dist/classes/callbacks/PostPickupCollect.js +8 -12
  83. package/dist/classes/callbacks/PostPickupInitFilter.js +6 -10
  84. package/dist/classes/callbacks/PostPickupInitFirst.js +10 -14
  85. package/dist/classes/callbacks/PostPickupInitLate.js +6 -10
  86. package/dist/classes/callbacks/PostPickupRenderFilter.js +6 -10
  87. package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -8
  88. package/dist/classes/callbacks/PostPickupStateChanged.js +8 -12
  89. package/dist/classes/callbacks/PostPickupUpdateFilter.js +6 -10
  90. package/dist/classes/callbacks/PostPitRender.js +8 -12
  91. package/dist/classes/callbacks/PostPitUpdate.js +8 -12
  92. package/dist/classes/callbacks/PostPlayerChangeHealth.js +14 -18
  93. package/dist/classes/callbacks/PostPlayerChangeStat.js +26 -30
  94. package/dist/classes/callbacks/PostPlayerChangeType.js +11 -15
  95. package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +6 -10
  96. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +6 -10
  97. package/dist/classes/callbacks/PostPlayerFatalDamage.js +24 -28
  98. package/dist/classes/callbacks/PostPlayerInitFirst.js +12 -16
  99. package/dist/classes/callbacks/PostPlayerInitLate.js +9 -13
  100. package/dist/classes/callbacks/PostPlayerRenderReordered.js +6 -10
  101. package/dist/classes/callbacks/PostPlayerUpdateReordered.js +6 -10
  102. package/dist/classes/callbacks/PostPoopRender.js +8 -12
  103. package/dist/classes/callbacks/PostPoopUpdate.js +8 -12
  104. package/dist/classes/callbacks/PostPressurePlateRender.js +8 -12
  105. package/dist/classes/callbacks/PostPressurePlateUpdate.js +8 -12
  106. package/dist/classes/callbacks/PostProjectileInitFilter.js +6 -10
  107. package/dist/classes/callbacks/PostProjectileInitLate.js +6 -10
  108. package/dist/classes/callbacks/PostProjectileKill.js +8 -12
  109. package/dist/classes/callbacks/PostProjectileRenderFilter.js +6 -10
  110. package/dist/classes/callbacks/PostProjectileUpdateFilter.js +6 -10
  111. package/dist/classes/callbacks/PostPurchase.js +21 -25
  112. package/dist/classes/callbacks/PostRockRender.js +8 -12
  113. package/dist/classes/callbacks/PostRockUpdate.js +8 -12
  114. package/dist/classes/callbacks/PostRoomClearChanged.js +9 -13
  115. package/dist/classes/callbacks/PostSacrifice.js +12 -16
  116. package/dist/classes/callbacks/PostSlotAnimationChanged.js +6 -10
  117. package/dist/classes/callbacks/PostSlotCollision.js +8 -12
  118. package/dist/classes/callbacks/PostSlotDestroyed.js +6 -10
  119. package/dist/classes/callbacks/PostSlotInit.js +6 -10
  120. package/dist/classes/callbacks/PostSlotRender.js +6 -10
  121. package/dist/classes/callbacks/PostSlotUpdate.js +6 -10
  122. package/dist/classes/callbacks/PostSpikesRender.js +8 -12
  123. package/dist/classes/callbacks/PostSpikesUpdate.js +8 -12
  124. package/dist/classes/callbacks/PostTNTRender.js +8 -12
  125. package/dist/classes/callbacks/PostTNTUpdate.js +8 -12
  126. package/dist/classes/callbacks/PostTearInitFilter.js +6 -10
  127. package/dist/classes/callbacks/PostTearInitLate.js +6 -10
  128. package/dist/classes/callbacks/PostTearInitVeryLate.js +6 -10
  129. package/dist/classes/callbacks/PostTearKill.js +8 -12
  130. package/dist/classes/callbacks/PostTearRenderFilter.js +6 -10
  131. package/dist/classes/callbacks/PostTearUpdateFilter.js +6 -10
  132. package/dist/classes/callbacks/PostTransformation.js +10 -14
  133. package/dist/classes/callbacks/PostTrinketBreak.js +16 -20
  134. package/dist/classes/callbacks/PostUsePillFilter.js +18 -22
  135. package/dist/classes/callbacks/PreBerserkDeath.js +14 -18
  136. package/dist/classes/callbacks/PreBombCollisionFilter.js +6 -10
  137. package/dist/classes/callbacks/PreCustomRevive.js +6 -10
  138. package/dist/classes/callbacks/PreEntitySpawnFilter.js +4 -8
  139. package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +6 -10
  140. package/dist/classes/callbacks/PreGetPedestal.js +8 -12
  141. package/dist/classes/callbacks/PreItemPickup.js +6 -10
  142. package/dist/classes/callbacks/PreKnifeCollisionFilter.js +6 -10
  143. package/dist/classes/callbacks/PreNPCCollisionFilter.js +6 -10
  144. package/dist/classes/callbacks/PreNPCUpdateFilter.js +6 -10
  145. package/dist/classes/callbacks/PreNewLevel.js +10 -14
  146. package/dist/classes/callbacks/PreProjectileCollisionFilter.js +6 -10
  147. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +4 -8
  148. package/dist/classes/callbacks/PreTearCollisionFilter.js +6 -10
  149. package/dist/classes/features/callbackLogic/CustomGridEntities.js +46 -50
  150. package/dist/classes/features/callbackLogic/CustomRevive.js +28 -32
  151. package/dist/classes/features/callbackLogic/EsauJrDetection.js +11 -15
  152. package/dist/classes/features/callbackLogic/FlipDetection.js +11 -15
  153. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +26 -30
  154. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +10 -14
  155. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +6 -10
  156. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +12 -16
  157. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +17 -21
  158. package/dist/classes/features/callbackLogic/PickupChangeDetection.js +6 -10
  159. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +39 -43
  160. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +18 -22
  161. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +17 -21
  162. package/dist/classes/features/callbackLogic/SlotRenderDetection.js +8 -12
  163. package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +9 -13
  164. package/dist/classes/features/other/CharacterHealthConversion.js +13 -17
  165. package/dist/classes/features/other/CharacterStats.js +9 -13
  166. package/dist/classes/features/other/CollectibleItemPoolType.js +17 -21
  167. package/dist/classes/features/other/CustomHotkeys.js +15 -19
  168. package/dist/classes/features/other/CustomItemPools.js +20 -24
  169. package/dist/classes/features/other/CustomPickups.js +15 -19
  170. package/dist/classes/features/other/CustomStages.js +116 -153
  171. package/dist/classes/features/other/CustomTrapdoors.js +119 -123
  172. package/dist/classes/features/other/DebugDisplay.js +77 -81
  173. package/dist/classes/features/other/DeployJSONRoom.js +65 -69
  174. package/dist/classes/features/other/DisableAllSound.js +14 -18
  175. package/dist/classes/features/other/DisableInputs.js +24 -28
  176. package/dist/classes/features/other/EdenStartingStatsHealth.js +36 -40
  177. package/dist/classes/features/other/ExtraConsoleCommands.js +65 -102
  178. package/dist/classes/features/other/FadeInRemover.js +9 -13
  179. package/dist/classes/features/other/FastReset.js +18 -22
  180. package/dist/classes/features/other/FlyingDetection.js +10 -14
  181. package/dist/classes/features/other/ForgottenSwitch.js +8 -12
  182. package/dist/classes/features/other/ItemPoolDetection.js +35 -39
  183. package/dist/classes/features/other/ModdedElementDetection.js +43 -47
  184. package/dist/classes/features/other/ModdedElementSets.js +135 -139
  185. package/dist/classes/features/other/NoSirenSteal.js +7 -11
  186. package/dist/classes/features/other/Pause.js +48 -52
  187. package/dist/classes/features/other/PersistentEntities.js +16 -20
  188. package/dist/classes/features/other/PickupIndexCreation.js +31 -35
  189. package/dist/classes/features/other/PlayerCollectibleTracking.js +18 -22
  190. package/dist/classes/features/other/PonyDetection.js +22 -26
  191. package/dist/classes/features/other/PressInput.js +10 -14
  192. package/dist/classes/features/other/PreventChildEntities.js +6 -10
  193. package/dist/classes/features/other/PreventGridEntityRespawn.js +34 -38
  194. package/dist/classes/features/other/RerunDetection.js +11 -15
  195. package/dist/classes/features/other/RoomClearFrame.js +11 -15
  196. package/dist/classes/features/other/RoomHistory.js +30 -34
  197. package/dist/classes/features/other/RunInNFrames.js +24 -28
  198. package/dist/classes/features/other/RunNextRoom.js +8 -12
  199. package/dist/classes/features/other/RunNextRun.js +8 -12
  200. package/dist/classes/features/other/SaveDataManager.js +61 -65
  201. package/dist/classes/features/other/SpawnRockAltRewards.js +115 -119
  202. package/dist/classes/features/other/StageHistory.js +76 -80
  203. package/dist/classes/features/other/StartAmbush.js +12 -16
  204. package/dist/classes/features/other/TaintedLazarusPlayers.js +10 -14
  205. package/dist/classes/features/other/UnlockAchievementsDetection.js +10 -14
  206. package/dist/classes/features/other/customStages/backdrop.js +68 -71
  207. package/dist/classes/features/other/customStages/constants.js +7 -10
  208. package/dist/classes/features/other/customStages/gridEntities.js +23 -30
  209. package/dist/classes/features/other/customStages/shadows.js +27 -30
  210. package/dist/classes/features/other/customStages/streakText.js +55 -60
  211. package/dist/classes/features/other/customStages/utils.js +13 -17
  212. package/dist/classes/features/other/customStages/v.js +4 -7
  213. package/dist/classes/features/other/customStages/versusScreen.js +46 -50
  214. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +8 -12
  215. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +8 -12
  216. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +8 -12
  217. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +8 -12
  218. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +8 -12
  219. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +8 -12
  220. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +8 -12
  221. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +8 -12
  222. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +8 -12
  223. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +8 -12
  224. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +8 -12
  225. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +8 -12
  226. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +8 -12
  227. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +8 -12
  228. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +8 -12
  229. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +8 -12
  230. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +8 -12
  231. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +8 -12
  232. package/dist/classes/features/other/debugDisplay/utils.js +6 -10
  233. package/dist/classes/features/other/extraConsoleCommands/commands.js +411 -557
  234. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +47 -57
  235. package/dist/classes/features/other/extraConsoleCommands/v.js +1 -4
  236. package/dist/classes/features/other/saveDataManager/constants.js +1 -4
  237. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +17 -21
  238. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +19 -22
  239. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +20 -25
  240. package/dist/classes/features/other/saveDataManager/saveToDisk.js +13 -16
  241. package/dist/classes/private/CustomCallback.js +4 -8
  242. package/dist/classes/private/Feature.js +1 -5
  243. package/dist/core/cachedClasses.js +12 -15
  244. package/dist/core/constants.js +126 -130
  245. package/dist/core/constantsFirstLast.js +22 -25
  246. package/dist/core/constantsVanilla.js +25 -28
  247. package/dist/core/upgradeMod.js +7 -10
  248. package/dist/decorators.js +6 -10
  249. package/dist/enums/AmbushType.js +2 -5
  250. package/dist/enums/CornerType.js +2 -5
  251. package/dist/enums/HealthType.js +2 -5
  252. package/dist/enums/ISCFeature.js +2 -5
  253. package/dist/enums/LadderSubTypeCustom.js +2 -5
  254. package/dist/enums/ModCallbackCustom.js +2 -5
  255. package/dist/enums/MysteriousPaperEffect.js +2 -5
  256. package/dist/enums/PlayerStat.js +2 -5
  257. package/dist/enums/PocketItemType.js +2 -5
  258. package/dist/enums/RockAltType.js +2 -5
  259. package/dist/enums/SaveDataKey.js +2 -5
  260. package/dist/enums/SerializationType.js +2 -5
  261. package/dist/enums/SlotDestructionType.js +2 -5
  262. package/dist/enums/private/GridEntityTypeCustom.js +1 -4
  263. package/dist/enums/private/SerializationBrand.js +2 -5
  264. package/dist/enums/private/StageTravelState.js +2 -5
  265. package/dist/enums/private/TrapdoorAnimation.js +2 -5
  266. package/dist/enums/private/UIStreakAnimation.js +2 -5
  267. package/dist/features.js +138 -141
  268. package/dist/functions/ambush.js +9 -12
  269. package/dist/functions/array.js +45 -76
  270. package/dist/functions/arrayLua.js +7 -16
  271. package/dist/functions/benchmark.js +4 -7
  272. package/dist/functions/bitSet128.js +19 -26
  273. package/dist/functions/bitwise.js +14 -23
  274. package/dist/functions/bombs.js +1 -4
  275. package/dist/functions/bosses.js +68 -85
  276. package/dist/functions/cards.js +44 -62
  277. package/dist/functions/challenges.js +28 -39
  278. package/dist/functions/characters.js +68 -87
  279. package/dist/functions/charge.js +41 -52
  280. package/dist/functions/chargeBar.js +2 -6
  281. package/dist/functions/collectibleTag.js +9 -13
  282. package/dist/functions/collectibles.js +133 -172
  283. package/dist/functions/color.js +29 -38
  284. package/dist/functions/console.js +4 -8
  285. package/dist/functions/curses.js +6 -10
  286. package/dist/functions/debugFunctions.js +7 -14
  287. package/dist/functions/decorators.js +13 -19
  288. package/dist/functions/deepCopy.js +96 -99
  289. package/dist/functions/deepCopyTests.js +56 -59
  290. package/dist/functions/dimensions.js +10 -14
  291. package/dist/functions/direction.js +22 -30
  292. package/dist/functions/doors.js +104 -154
  293. package/dist/functions/easing.js +30 -62
  294. package/dist/functions/effects.js +6 -10
  295. package/dist/functions/emptyRoom.js +30 -34
  296. package/dist/functions/entities.js +88 -115
  297. package/dist/functions/entitiesSpecific.js +83 -125
  298. package/dist/functions/entityTypes.js +3 -6
  299. package/dist/functions/enums.js +27 -41
  300. package/dist/functions/external.js +4 -8
  301. package/dist/functions/familiars.js +17 -25
  302. package/dist/functions/flag.js +10 -19
  303. package/dist/functions/frames.js +31 -51
  304. package/dist/functions/globals.js +26 -66
  305. package/dist/functions/gridEntities.js +231 -269
  306. package/dist/functions/gridEntitiesSpecific.js +86 -126
  307. package/dist/functions/gridIndex.js +8 -11
  308. package/dist/functions/hash.js +1 -4
  309. package/dist/functions/hex.js +7 -11
  310. package/dist/functions/input.js +65 -88
  311. package/dist/functions/isaacAPIClass.js +28 -53
  312. package/dist/functions/itemPool.js +39 -48
  313. package/dist/functions/jsonHelpers.js +5 -42
  314. package/dist/functions/jsonRoom.js +39 -46
  315. package/dist/functions/kColor.js +30 -39
  316. package/dist/functions/language.js +3 -6
  317. package/dist/functions/level.js +20 -26
  318. package/dist/functions/levelGrid.js +81 -108
  319. package/dist/functions/log.js +6 -12
  320. package/dist/functions/logEntities.js +49 -59
  321. package/dist/functions/logMisc.js +183 -214
  322. package/dist/functions/map.js +10 -20
  323. package/dist/functions/math.js +16 -31
  324. package/dist/functions/merge.js +48 -51
  325. package/dist/functions/mergeTests.js +34 -37
  326. package/dist/functions/minimap.js +34 -46
  327. package/dist/functions/modFeatures.js +1 -4
  328. package/dist/functions/newArray.js +5 -8
  329. package/dist/functions/nextStage.js +63 -67
  330. package/dist/functions/npcDataStructures.js +9 -20
  331. package/dist/functions/npcs.js +37 -45
  332. package/dist/functions/pickupVariants.js +26 -39
  333. package/dist/functions/pickups.js +43 -59
  334. package/dist/functions/pickupsSpecific.js +76 -118
  335. package/dist/functions/pills.js +52 -72
  336. package/dist/functions/playerCenter.js +13 -16
  337. package/dist/functions/playerCollectibles.js +59 -79
  338. package/dist/functions/playerDataStructures.js +18 -29
  339. package/dist/functions/playerEffects.js +12 -19
  340. package/dist/functions/playerHealth.js +91 -113
  341. package/dist/functions/playerIndex.js +22 -33
  342. package/dist/functions/playerTrinkets.js +31 -43
  343. package/dist/functions/players.js +87 -126
  344. package/dist/functions/pocketItems.js +33 -43
  345. package/dist/functions/positionVelocity.js +23 -32
  346. package/dist/functions/pressurePlate.js +7 -10
  347. package/dist/functions/projectiles.js +11 -15
  348. package/dist/functions/random.js +8 -13
  349. package/dist/functions/readOnly.js +3 -8
  350. package/dist/functions/render.js +7 -12
  351. package/dist/functions/revive.js +38 -45
  352. package/dist/functions/rng.js +31 -44
  353. package/dist/functions/rockAlt.js +18 -22
  354. package/dist/functions/roomData.js +24 -40
  355. package/dist/functions/roomGrid.js +17 -25
  356. package/dist/functions/roomShape.js +39 -55
  357. package/dist/functions/roomShapeWalls.js +67 -71
  358. package/dist/functions/roomTransition.js +13 -17
  359. package/dist/functions/rooms.js +181 -244
  360. package/dist/functions/run.js +29 -39
  361. package/dist/functions/seeds.js +6 -10
  362. package/dist/functions/serialization.js +27 -34
  363. package/dist/functions/set.js +24 -40
  364. package/dist/functions/slots.js +18 -22
  365. package/dist/functions/sort.js +9 -15
  366. package/dist/functions/sound.js +12 -16
  367. package/dist/functions/spawnCollectible.js +21 -26
  368. package/dist/functions/sprites.js +16 -24
  369. package/dist/functions/stage.js +122 -164
  370. package/dist/functions/stats.js +37 -43
  371. package/dist/functions/storyBosses.js +36 -40
  372. package/dist/functions/string.js +19 -33
  373. package/dist/functions/table.js +21 -31
  374. package/dist/functions/tears.js +6 -14
  375. package/dist/functions/transformations.js +35 -42
  376. package/dist/functions/trinketGive.js +29 -36
  377. package/dist/functions/trinkets.js +45 -60
  378. package/dist/functions/tstlClass.js +11 -20
  379. package/dist/functions/types.js +22 -46
  380. package/dist/functions/ui.js +25 -40
  381. package/dist/functions/utils.js +22 -36
  382. package/dist/functions/vector.js +33 -46
  383. package/dist/functions/versusScreen.js +12 -18
  384. package/dist/functions/weighted.js +8 -12
  385. package/dist/index.js +150 -166
  386. package/dist/indexLua.js +151 -167
  387. package/dist/interfaces/ChargeBarSprites.js +1 -2
  388. package/dist/interfaces/Corner.js +1 -2
  389. package/dist/interfaces/CustomStageTSConfig.js +1 -2
  390. package/dist/interfaces/GridEntityCustomData.js +1 -2
  391. package/dist/interfaces/JSONRoomsFile.js +1 -2
  392. package/dist/interfaces/PlayerHealth.js +1 -2
  393. package/dist/interfaces/PlayerStats.js +2 -4
  394. package/dist/interfaces/PocketItemDescription.js +1 -2
  395. package/dist/interfaces/RoomDescription.js +1 -2
  396. package/dist/interfaces/SaveData.js +1 -2
  397. package/dist/interfaces/StageHistoryEntry.js +1 -2
  398. package/dist/interfaces/TSTLClassMetatable.js +1 -2
  399. package/dist/interfaces/TrinketSituation.js +1 -2
  400. package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
  401. package/dist/interfaces/private/CustomStage.js +1 -2
  402. package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
  403. package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
  404. package/dist/isaacscript-common.lua +1 -1
  405. package/dist/maps/PHDPillConversionsMap.js +19 -22
  406. package/dist/maps/cardNameToTypeMap.js +205 -208
  407. package/dist/maps/characterNameToTypeMap.js +85 -88
  408. package/dist/maps/collectibleNameToTypeMap.js +5 -8
  409. package/dist/maps/defaultPlayerStatMap.js +10 -13
  410. package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
  411. package/dist/maps/falsePHDPillConversionsMap.js +33 -36
  412. package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
  413. package/dist/maps/gridEntityXMLMap.js +52 -55
  414. package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
  415. package/dist/maps/keyboardToStringMap.js +66 -69
  416. package/dist/maps/pillNameToEffectMap.js +83 -86
  417. package/dist/maps/roomNameToTypeMap.js +38 -41
  418. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
  419. package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
  420. package/dist/maps/trinketNameToTypeMap.js +5 -8
  421. package/dist/objects/LRoomShapeToRectangles.js +22 -25
  422. package/dist/objects/backdropTypeToRockAltType.js +65 -68
  423. package/dist/objects/batteryNames.js +8 -11
  424. package/dist/objects/bombNames.js +11 -14
  425. package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
  426. package/dist/objects/bossNamePNGFileNames.js +104 -107
  427. package/dist/objects/bossNames.js +105 -108
  428. package/dist/objects/bossPortraitPNGFileNames.js +104 -107
  429. package/dist/objects/cardDescriptions.js +101 -104
  430. package/dist/objects/cardNames.js +101 -104
  431. package/dist/objects/challengeBosses.js +49 -52
  432. package/dist/objects/challengeCharacters.js +49 -52
  433. package/dist/objects/challengeCollectibleTypes.js +160 -163
  434. package/dist/objects/challengeNames.js +49 -52
  435. package/dist/objects/challengeTrinketType.js +48 -51
  436. package/dist/objects/characterDamageMultipliers.js +44 -47
  437. package/dist/objects/characterNames.js +44 -47
  438. package/dist/objects/characterSpritePNGFileNames.js +44 -47
  439. package/dist/objects/characterStartingCollectibleTypes.js +49 -52
  440. package/dist/objects/characterStartingTrinketTypes.js +44 -47
  441. package/dist/objects/chestNames.js +15 -18
  442. package/dist/objects/coinNames.js +11 -14
  443. package/dist/objects/coinSubTypeToValue.js +11 -14
  444. package/dist/objects/collectibleDescriptions.js +725 -728
  445. package/dist/objects/collectibleNames.js +725 -728
  446. package/dist/objects/colors.js +1 -4
  447. package/dist/objects/directionNames.js +7 -10
  448. package/dist/objects/directionToDegrees.js +7 -10
  449. package/dist/objects/directionToMoveAction.js +7 -10
  450. package/dist/objects/directionToShootAction.js +7 -10
  451. package/dist/objects/directionToVector.js +9 -12
  452. package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
  453. package/dist/objects/doorSlotToDirection.js +11 -14
  454. package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
  455. package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
  456. package/dist/objects/heartNames.js +16 -19
  457. package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
  458. package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
  459. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
  460. package/dist/objects/kColors.js +1 -4
  461. package/dist/objects/keyNames.js +8 -11
  462. package/dist/objects/languageNames.js +9 -12
  463. package/dist/objects/oppositeDoorSlots.js +11 -14
  464. package/dist/objects/pillEffectClasses.js +53 -56
  465. package/dist/objects/pillEffectNames.js +53 -56
  466. package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
  467. package/dist/objects/pillEffectTypes.js +53 -56
  468. package/dist/objects/playerNamePNGFileNames.js +44 -47
  469. package/dist/objects/playerPortraitPNGFileNames.js +44 -47
  470. package/dist/objects/roomShapeBounds.js +23 -26
  471. package/dist/objects/roomShapeCorners.js +128 -131
  472. package/dist/objects/roomShapeLayoutSizes.js +23 -26
  473. package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
  474. package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
  475. package/dist/objects/roomShapeToDoorSlots.js +48 -51
  476. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
  477. package/dist/objects/roomShapeToGridWidth.js +14 -17
  478. package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
  479. package/dist/objects/roomShapeVolumes.js +21 -24
  480. package/dist/objects/roomTypeNames.js +32 -35
  481. package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
  482. package/dist/objects/sackNames.js +6 -9
  483. package/dist/objects/slotNames.js +21 -24
  484. package/dist/objects/stageIDNames.js +33 -36
  485. package/dist/objects/stageToMusic.js +69 -72
  486. package/dist/objects/stageToStageID.js +90 -93
  487. package/dist/objects/stageTypeSuffixes.js +8 -11
  488. package/dist/objects/transformationNames.js +16 -19
  489. package/dist/objects/trinketDescriptions.js +192 -195
  490. package/dist/objects/trinketNames.js +192 -195
  491. package/dist/objects/versusScreenBackgroundColors.js +39 -42
  492. package/dist/objects/versusScreenDirtSpotColors.js +39 -42
  493. package/dist/patchErrorFunctions.js +4 -7
  494. package/dist/serialization.js +6 -9
  495. package/dist/sets/LRoomShapesSet.js +7 -10
  496. package/dist/sets/bigRoomShapesSet.js +10 -13
  497. package/dist/sets/bossSets.js +261 -264
  498. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
  499. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
  500. package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
  501. package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
  502. package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
  503. package/dist/sets/consoleCommandsSet.js +2 -5
  504. package/dist/sets/entitiesWithArmorSet.js +44 -47
  505. package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
  506. package/dist/sets/itemConfigCardTypesForCards.js +7 -10
  507. package/dist/sets/lostStyleCharactersSet.js +8 -11
  508. package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
  509. package/dist/sets/narrowRoomShapesSet.js +7 -10
  510. package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
  511. package/dist/sets/redHeartSubTypesSet.js +6 -9
  512. package/dist/sets/repentanceBossIDsSet.js +26 -29
  513. package/dist/sets/sinEntityTypesSet.js +10 -13
  514. package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
  515. package/dist/shaderCrashFix.js +4 -7
  516. package/dist/shouldFire.js +28 -58
  517. package/dist/types/AddSubtract.js +1 -2
  518. package/dist/types/AllButFirst.js +1 -2
  519. package/dist/types/AllButLast.js +1 -2
  520. package/dist/types/AnyClass.js +1 -2
  521. package/dist/types/AnyEntity.js +1 -2
  522. package/dist/types/AnyFunction.js +1 -2
  523. package/dist/types/AnyGridEntity.js +1 -2
  524. package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
  525. package/dist/types/ConversionHeartSubType.js +1 -2
  526. package/dist/types/Decrement.js +1 -2
  527. package/dist/types/ERange.js +1 -2
  528. package/dist/types/EntityID.js +1 -2
  529. package/dist/types/FunctionTuple.js +1 -2
  530. package/dist/types/GridEntityID.js +1 -2
  531. package/dist/types/HasFunction.js +1 -2
  532. package/dist/types/IRange.js +1 -2
  533. package/dist/types/Immutable.js +1 -2
  534. package/dist/types/Increment.js +1 -2
  535. package/dist/types/LowercaseKeys.js +1 -2
  536. package/dist/types/NaturalNumbersLessThan.js +1 -2
  537. package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
  538. package/dist/types/ObjectValues.js +1 -2
  539. package/dist/types/PickingUpItem.js +15 -22
  540. package/dist/types/PickupIndex.js +1 -2
  541. package/dist/types/PlayerIndex.js +1 -2
  542. package/dist/types/PossibleStatType.js +1 -2
  543. package/dist/types/PublicInterface.js +1 -2
  544. package/dist/types/ReadonlyMap.js +1 -4
  545. package/dist/types/ReadonlyRecord.js +1 -2
  546. package/dist/types/ReadonlySet.js +1 -4
  547. package/dist/types/StartsWithLowercase.js +1 -2
  548. package/dist/types/StartsWithUppercase.js +1 -2
  549. package/dist/types/TSTLClass.js +1 -2
  550. package/dist/types/Tuple.js +1 -2
  551. package/dist/types/TupleKeys.js +1 -2
  552. package/dist/types/TupleToIntersection.js +1 -2
  553. package/dist/types/TupleToUnion.js +1 -2
  554. package/dist/types/TupleWithLengthBetween.js +1 -2
  555. package/dist/types/TupleWithMaxLength.js +1 -2
  556. package/dist/types/UnionToIntersection.js +1 -2
  557. package/dist/types/UppercaseKeys.js +1 -2
  558. package/dist/types/WeightedArray.js +1 -2
  559. package/dist/types/WidenLiteral.js +1 -2
  560. package/dist/types/Writable.js +1 -2
  561. package/dist/types/private/CallbackTuple.js +1 -2
  562. package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
  563. package/package.json +3 -3
@@ -1,84 +1,61 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SHOOTING_BUTTON_ACTIONS_SET = exports.SHOOTING_BUTTON_ACTIONS = exports.MOVEMENT_BUTTON_ACTIONS_SET = exports.MOVEMENT_BUTTON_ACTIONS = exports.MODIFIER_KEYS = void 0;
4
- exports.controllerToString = controllerToString;
5
- exports.getMoveButtonActions = getMoveButtonActions;
6
- exports.getShootButtonActions = getShootButtonActions;
7
- exports.isActionPressed = isActionPressed;
8
- exports.isActionPressedOnAnyInput = isActionPressedOnAnyInput;
9
- exports.isActionTriggered = isActionTriggered;
10
- exports.isActionTriggeredOnAnyInput = isActionTriggeredOnAnyInput;
11
- exports.isKeyboardPressed = isKeyboardPressed;
12
- exports.isModifierKeyPressed = isModifierKeyPressed;
13
- exports.isMoveAction = isMoveAction;
14
- exports.isMoveActionPressed = isMoveActionPressed;
15
- exports.isMoveActionPressedOnAnyInput = isMoveActionPressedOnAnyInput;
16
- exports.isMoveActionTriggered = isMoveActionTriggered;
17
- exports.isMoveActionTriggeredOnAnyInput = isMoveActionTriggeredOnAnyInput;
18
- exports.isShootAction = isShootAction;
19
- exports.isShootActionPressed = isShootActionPressed;
20
- exports.isShootActionPressedOnAnyInput = isShootActionPressedOnAnyInput;
21
- exports.isShootActionTriggered = isShootActionTriggered;
22
- exports.isShootActionTriggeredOnAnyInput = isShootActionTriggeredOnAnyInput;
23
- exports.keyboardToString = keyboardToString;
24
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
25
- const cachedEnumValues_1 = require("../cachedEnumValues");
26
- const keyboardToStringMap_1 = require("../maps/keyboardToStringMap");
27
- const ReadonlySet_1 = require("../types/ReadonlySet");
28
- const string_1 = require("./string");
29
- exports.MODIFIER_KEYS = [
30
- isaac_typescript_definitions_1.Keyboard.LEFT_SHIFT, // 340
31
- isaac_typescript_definitions_1.Keyboard.LEFT_CONTROL, // 341
32
- isaac_typescript_definitions_1.Keyboard.LEFT_ALT, // 342
33
- isaac_typescript_definitions_1.Keyboard.LEFT_SUPER, // 343
34
- isaac_typescript_definitions_1.Keyboard.RIGHT_SHIFT, // 344
35
- isaac_typescript_definitions_1.Keyboard.RIGHT_CONTROL, // 345
36
- isaac_typescript_definitions_1.Keyboard.RIGHT_ALT, // 346
37
- isaac_typescript_definitions_1.Keyboard.RIGHT_SUPER, // 347
1
+ import { ButtonAction, Controller, ControllerIndex, Keyboard, } from "isaac-typescript-definitions";
2
+ import { CONTROLLER_INDEX_VALUES } from "../cachedEnumValues";
3
+ import { KEYBOARD_TO_STRING_MAP } from "../maps/keyboardToStringMap";
4
+ import { ReadonlySet } from "../types/ReadonlySet";
5
+ import { trimPrefix } from "./string";
6
+ export const MODIFIER_KEYS = [
7
+ Keyboard.LEFT_SHIFT, // 340
8
+ Keyboard.LEFT_CONTROL, // 341
9
+ Keyboard.LEFT_ALT, // 342
10
+ Keyboard.LEFT_SUPER, // 343
11
+ Keyboard.RIGHT_SHIFT, // 344
12
+ Keyboard.RIGHT_CONTROL, // 345
13
+ Keyboard.RIGHT_ALT, // 346
14
+ Keyboard.RIGHT_SUPER, // 347
38
15
  ];
39
- exports.MOVEMENT_BUTTON_ACTIONS = [
40
- isaac_typescript_definitions_1.ButtonAction.LEFT, // 0
41
- isaac_typescript_definitions_1.ButtonAction.RIGHT, // 1
42
- isaac_typescript_definitions_1.ButtonAction.UP, // 2
43
- isaac_typescript_definitions_1.ButtonAction.DOWN, // 3
16
+ export const MOVEMENT_BUTTON_ACTIONS = [
17
+ ButtonAction.LEFT, // 0
18
+ ButtonAction.RIGHT, // 1
19
+ ButtonAction.UP, // 2
20
+ ButtonAction.DOWN, // 3
44
21
  ];
45
- exports.MOVEMENT_BUTTON_ACTIONS_SET = new ReadonlySet_1.ReadonlySet(exports.MOVEMENT_BUTTON_ACTIONS);
46
- exports.SHOOTING_BUTTON_ACTIONS = [
47
- isaac_typescript_definitions_1.ButtonAction.SHOOT_LEFT, // 4
48
- isaac_typescript_definitions_1.ButtonAction.SHOOT_RIGHT, // 5
49
- isaac_typescript_definitions_1.ButtonAction.SHOOT_UP, // 6
50
- isaac_typescript_definitions_1.ButtonAction.SHOOT_DOWN, // 7
22
+ export const MOVEMENT_BUTTON_ACTIONS_SET = new ReadonlySet(MOVEMENT_BUTTON_ACTIONS);
23
+ export const SHOOTING_BUTTON_ACTIONS = [
24
+ ButtonAction.SHOOT_LEFT, // 4
25
+ ButtonAction.SHOOT_RIGHT, // 5
26
+ ButtonAction.SHOOT_UP, // 6
27
+ ButtonAction.SHOOT_DOWN, // 7
51
28
  ];
52
- exports.SHOOTING_BUTTON_ACTIONS_SET = new ReadonlySet_1.ReadonlySet(exports.SHOOTING_BUTTON_ACTIONS);
29
+ export const SHOOTING_BUTTON_ACTIONS_SET = new ReadonlySet(SHOOTING_BUTTON_ACTIONS);
53
30
  /**
54
31
  * Helper function to get the enum name for the specified `Controller` value. Note that this will
55
32
  * trim off the "BUTTON_" prefix.
56
33
  *
57
34
  * Returns undefined if the submitted controller value was not valid.
58
35
  */
59
- function controllerToString(controller) {
60
- const key = isaac_typescript_definitions_1.Controller[controller];
36
+ export function controllerToString(controller) {
37
+ const key = Controller[controller];
61
38
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
62
39
  if (key === undefined) {
63
40
  return undefined;
64
41
  }
65
- return (0, string_1.trimPrefix)(key, "BUTTON_");
42
+ return trimPrefix(key, "BUTTON_");
66
43
  }
67
44
  /**
68
45
  * Helper function to get the movement actions that the specified `ControllerIndex` is currently
69
46
  * pressing down. This returns an array because a player can be holding down more than one movement
70
47
  * key at a time.
71
48
  */
72
- function getMoveButtonActions(controllerIndex) {
73
- return exports.MOVEMENT_BUTTON_ACTIONS.filter((buttonAction) => Input.IsActionPressed(buttonAction, controllerIndex));
49
+ export function getMoveButtonActions(controllerIndex) {
50
+ return MOVEMENT_BUTTON_ACTIONS.filter((buttonAction) => Input.IsActionPressed(buttonAction, controllerIndex));
74
51
  }
75
52
  /**
76
53
  * Helper function to get the shooting actions that the specified `ControllerIndex` is currently
77
54
  * pressing down. This returns an array because a player can be holding down more than one shooting
78
55
  * key at a time.
79
56
  */
80
- function getShootButtonActions(controllerIndex) {
81
- return exports.SHOOTING_BUTTON_ACTIONS.filter((buttonAction) => Input.IsActionPressed(buttonAction, controllerIndex));
57
+ export function getShootButtonActions(controllerIndex) {
58
+ return SHOOTING_BUTTON_ACTIONS.filter((buttonAction) => Input.IsActionPressed(buttonAction, controllerIndex));
82
59
  }
83
60
  /**
84
61
  * Helper function to check if a player is pressing a specific button (i.e. holding it down).
@@ -86,7 +63,7 @@ function getShootButtonActions(controllerIndex) {
86
63
  * This is a variadic version of `Input.IsActionPressed`, meaning that you can pass as many buttons
87
64
  * as you want to check for. This function will return true if any of the buttons are pressed.
88
65
  */
89
- function isActionPressed(controllerIndex, ...buttonActions) {
66
+ export function isActionPressed(controllerIndex, ...buttonActions) {
90
67
  return buttonActions.some((buttonAction) => Input.IsActionPressed(buttonAction, controllerIndex));
91
68
  }
92
69
  /**
@@ -96,8 +73,8 @@ function isActionPressed(controllerIndex, ...buttonActions) {
96
73
  * This function is variadic, meaning you can pass as many buttons as you want to check for. This
97
74
  * function will return true if any of the buttons are pressed.
98
75
  */
99
- function isActionPressedOnAnyInput(...buttonActions) {
100
- return cachedEnumValues_1.CONTROLLER_INDEX_VALUES.some((controllerIndex) => isActionPressed(controllerIndex, ...buttonActions));
76
+ export function isActionPressedOnAnyInput(...buttonActions) {
77
+ return CONTROLLER_INDEX_VALUES.some((controllerIndex) => isActionPressed(controllerIndex, ...buttonActions));
101
78
  }
102
79
  /**
103
80
  * Helper function to check if a player is triggering a specific button (i.e. pressing and releasing
@@ -107,7 +84,7 @@ function isActionPressedOnAnyInput(...buttonActions) {
107
84
  * buttons as you want to check for. This function will return true if any of the buttons are
108
85
  * triggered.
109
86
  */
110
- function isActionTriggered(controllerIndex, ...buttonActions) {
87
+ export function isActionTriggered(controllerIndex, ...buttonActions) {
111
88
  return buttonActions.some((buttonAction) => Input.IsActionTriggered(buttonAction, controllerIndex));
112
89
  }
113
90
  /**
@@ -117,8 +94,8 @@ function isActionTriggered(controllerIndex, ...buttonActions) {
117
94
  * This function is variadic, meaning you can pass as many buttons as you want to check for. This
118
95
  * function will return true if any of the buttons are pressed.
119
96
  */
120
- function isActionTriggeredOnAnyInput(...buttonActions) {
121
- return cachedEnumValues_1.CONTROLLER_INDEX_VALUES.some((controllerIndex) => isActionTriggered(controllerIndex, ...buttonActions));
97
+ export function isActionTriggeredOnAnyInput(...buttonActions) {
98
+ return CONTROLLER_INDEX_VALUES.some((controllerIndex) => isActionTriggered(controllerIndex, ...buttonActions));
122
99
  }
123
100
  /**
124
101
  * Helper function to see if a specific keyboard key is being held down by the player.
@@ -126,46 +103,46 @@ function isActionTriggeredOnAnyInput(...buttonActions) {
126
103
  * This function is variadic, meaning you can pass as many keyboard values as you want to check for.
127
104
  * This function will return true if any of the values are pressed.
128
105
  */
129
- function isKeyboardPressed(...keys) {
130
- return keys.some((key) => Input.IsButtonPressed(key, isaac_typescript_definitions_1.ControllerIndex.KEYBOARD));
106
+ export function isKeyboardPressed(...keys) {
107
+ return keys.some((key) => Input.IsButtonPressed(key, ControllerIndex.KEYBOARD));
131
108
  }
132
109
  /**
133
110
  * Helper function to check if one or more modifier keys are being pressed down on the keyboard.
134
111
  *
135
112
  * A modifier key is defined as shift, control, alt, or Windows.
136
113
  */
137
- function isModifierKeyPressed() {
138
- return isKeyboardPressed(...exports.MODIFIER_KEYS);
114
+ export function isModifierKeyPressed() {
115
+ return isKeyboardPressed(...MODIFIER_KEYS);
139
116
  }
140
- function isMoveAction(buttonAction) {
141
- return exports.MOVEMENT_BUTTON_ACTIONS_SET.has(buttonAction);
117
+ export function isMoveAction(buttonAction) {
118
+ return MOVEMENT_BUTTON_ACTIONS_SET.has(buttonAction);
142
119
  }
143
- function isMoveActionPressed(controllerIndex) {
144
- return isActionPressed(controllerIndex, ...exports.MOVEMENT_BUTTON_ACTIONS);
120
+ export function isMoveActionPressed(controllerIndex) {
121
+ return isActionPressed(controllerIndex, ...MOVEMENT_BUTTON_ACTIONS);
145
122
  }
146
- function isMoveActionPressedOnAnyInput() {
147
- return exports.MOVEMENT_BUTTON_ACTIONS.some((moveAction) => isActionPressedOnAnyInput(moveAction));
123
+ export function isMoveActionPressedOnAnyInput() {
124
+ return MOVEMENT_BUTTON_ACTIONS.some((moveAction) => isActionPressedOnAnyInput(moveAction));
148
125
  }
149
- function isMoveActionTriggered(controllerIndex) {
150
- return isActionTriggered(controllerIndex, ...exports.MOVEMENT_BUTTON_ACTIONS);
126
+ export function isMoveActionTriggered(controllerIndex) {
127
+ return isActionTriggered(controllerIndex, ...MOVEMENT_BUTTON_ACTIONS);
151
128
  }
152
- function isMoveActionTriggeredOnAnyInput() {
153
- return exports.MOVEMENT_BUTTON_ACTIONS.some((moveAction) => isActionTriggeredOnAnyInput(moveAction));
129
+ export function isMoveActionTriggeredOnAnyInput() {
130
+ return MOVEMENT_BUTTON_ACTIONS.some((moveAction) => isActionTriggeredOnAnyInput(moveAction));
154
131
  }
155
- function isShootAction(buttonAction) {
156
- return exports.SHOOTING_BUTTON_ACTIONS_SET.has(buttonAction);
132
+ export function isShootAction(buttonAction) {
133
+ return SHOOTING_BUTTON_ACTIONS_SET.has(buttonAction);
157
134
  }
158
- function isShootActionPressed(controllerIndex) {
159
- return isActionPressed(controllerIndex, ...exports.SHOOTING_BUTTON_ACTIONS);
135
+ export function isShootActionPressed(controllerIndex) {
136
+ return isActionPressed(controllerIndex, ...SHOOTING_BUTTON_ACTIONS);
160
137
  }
161
- function isShootActionPressedOnAnyInput() {
162
- return exports.SHOOTING_BUTTON_ACTIONS.some((shootAction) => isActionPressedOnAnyInput(shootAction));
138
+ export function isShootActionPressedOnAnyInput() {
139
+ return SHOOTING_BUTTON_ACTIONS.some((shootAction) => isActionPressedOnAnyInput(shootAction));
163
140
  }
164
- function isShootActionTriggered(controllerIndex) {
165
- return isActionTriggered(controllerIndex, ...exports.SHOOTING_BUTTON_ACTIONS);
141
+ export function isShootActionTriggered(controllerIndex) {
142
+ return isActionTriggered(controllerIndex, ...SHOOTING_BUTTON_ACTIONS);
166
143
  }
167
- function isShootActionTriggeredOnAnyInput() {
168
- return exports.SHOOTING_BUTTON_ACTIONS.some((shootAction) => isActionTriggeredOnAnyInput(shootAction));
144
+ export function isShootActionTriggeredOnAnyInput() {
145
+ return SHOOTING_BUTTON_ACTIONS.some((shootAction) => isActionTriggeredOnAnyInput(shootAction));
169
146
  }
170
147
  /**
171
148
  * Helper function to get the string that would be typed if someone pressed the corresponding key.
@@ -175,8 +152,8 @@ function isShootActionTriggeredOnAnyInput() {
175
152
  * return undefined for e.g. `Keyboard.LEFT_SHIFT` (340). If all you want is the corresponding name
176
153
  * of the key, then simply use the enum reverse mapping (e.g. `Keyboard[keyboard]`).
177
154
  */
178
- function keyboardToString(keyboard, uppercase) {
179
- const tuple = keyboardToStringMap_1.KEYBOARD_TO_STRING_MAP.get(keyboard);
155
+ export function keyboardToString(keyboard, uppercase) {
156
+ const tuple = KEYBOARD_TO_STRING_MAP.get(keyboard);
180
157
  if (tuple === undefined) {
181
158
  return undefined;
182
159
  }
@@ -1,30 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getIsaacAPIClassName = getIsaacAPIClassName;
4
- exports.isaacAPIClassEquals = isaacAPIClassEquals;
5
- exports.isBomb = isBomb;
6
- exports.isDoor = isDoor;
7
- exports.isEffect = isEffect;
8
- exports.isEntity = isEntity;
9
- exports.isFamiliar = isFamiliar;
10
- exports.isGridEntity = isGridEntity;
11
- exports.isIsaacAPIClass = isIsaacAPIClass;
12
- exports.isIsaacAPIClassOfType = isIsaacAPIClassOfType;
13
- exports.isKnife = isKnife;
14
- exports.isLaser = isLaser;
15
- exports.isNPC = isNPC;
16
- exports.isPickup = isPickup;
17
- exports.isPit = isPit;
18
- exports.isPlayer = isPlayer;
19
- exports.isPoop = isPoop;
20
- exports.isPressurePlate = isPressurePlate;
21
- exports.isProjectile = isProjectile;
22
- exports.isRock = isRock;
23
- exports.isSpikes = isSpikes;
24
- exports.isTear = isTear;
25
- exports.isTNT = isTNT;
26
- const string_1 = require("./string");
27
- const types_1 = require("./types");
1
+ import { trimPrefix } from "./string";
2
+ import { isString, isUserdata } from "./types";
28
3
  /**
29
4
  * Helper function to get the name of a class from the Isaac API. This is contained within the
30
5
  * "__type" metatable key.
@@ -38,8 +13,8 @@ const types_1 = require("./types");
38
13
  * prepended with "const ". This function will always strip this prefix, if it exists. For example,
39
14
  * the class name returned for "const Vector" will be "Vector".
40
15
  */
41
- function getIsaacAPIClassName(object) {
42
- if (!(0, types_1.isUserdata)(object)) {
16
+ export function getIsaacAPIClassName(object) {
17
+ if (!isUserdata(object)) {
43
18
  return undefined;
44
19
  }
45
20
  const metatable = getmetatable(object);
@@ -47,45 +22,45 @@ function getIsaacAPIClassName(object) {
47
22
  return undefined;
48
23
  }
49
24
  const classType = metatable.get("__type");
50
- if (!(0, types_1.isString)(classType)) {
25
+ if (!isString(classType)) {
51
26
  return undefined;
52
27
  }
53
- return (0, string_1.trimPrefix)(classType, "const ");
28
+ return trimPrefix(classType, "const ");
54
29
  }
55
30
  /**
56
31
  * Helper function to check if an instantiated Isaac API class is equal to another one of the same
57
32
  * type. You must provide the list of keys to check for.
58
33
  */
59
- function isaacAPIClassEquals(object1, object2, keys) {
34
+ export function isaacAPIClassEquals(object1, object2, keys) {
60
35
  const table1 = object1;
61
36
  const table2 = object2;
62
37
  return keys.every((key) => table1.get(key) === table2.get(key));
63
38
  }
64
39
  /** Helper function to detect if a variable is of type `EntityBomb`. */
65
- function isBomb(variable) {
40
+ export function isBomb(variable) {
66
41
  return getIsaacAPIClassName(variable) === "EntityBomb";
67
42
  }
68
43
  /** Helper function to detect if a variable is of type `GridEntityDoor`. */
69
- function isDoor(variable) {
44
+ export function isDoor(variable) {
70
45
  return getIsaacAPIClassName(variable) === "GridEntityDoor";
71
46
  }
72
47
  /** Helper function to detect if a variable is of type `EntityEffect`. */
73
- function isEffect(variable) {
48
+ export function isEffect(variable) {
74
49
  return getIsaacAPIClassName(variable) === "EntityEffect";
75
50
  }
76
51
  /**
77
52
  * Helper function to detect if a variable is of type `Entity`. This will return false for child
78
53
  * classes such as `EntityPlayer` or `EntityTear`.
79
54
  */
80
- function isEntity(variable) {
55
+ export function isEntity(variable) {
81
56
  return getIsaacAPIClassName(variable) === "Entity";
82
57
  }
83
58
  /** Helper function to detect if a variable is of type `EntityFamiliar`. */
84
- function isFamiliar(variable) {
59
+ export function isFamiliar(variable) {
85
60
  return getIsaacAPIClassName(variable) === "EntityEffect";
86
61
  }
87
62
  /** Helper function to detect if a variable is of type `GridEntity`. */
88
- function isGridEntity(variable) {
63
+ export function isGridEntity(variable) {
89
64
  return getIsaacAPIClassName(variable) === "GridEntity";
90
65
  }
91
66
  /**
@@ -93,64 +68,64 @@ function isGridEntity(variable) {
93
68
  * from the Isaac API have a type of "userdata" in Lua with a metatable key of "__type" equal to the
94
69
  * name of the class.)
95
70
  */
96
- function isIsaacAPIClass(object) {
71
+ export function isIsaacAPIClass(object) {
97
72
  const isaacAPIClassType = getIsaacAPIClassName(object);
98
73
  return isaacAPIClassType !== undefined;
99
74
  }
100
- function isIsaacAPIClassOfType(object, classType) {
75
+ export function isIsaacAPIClassOfType(object, classType) {
101
76
  const isaacAPIClassType = getIsaacAPIClassName(object);
102
77
  return (isaacAPIClassType === classType
103
78
  || isaacAPIClassType === `const ${classType}`);
104
79
  }
105
80
  /** Helper function to detect if a variable is of type `EntityKnife`. */
106
- function isKnife(variable) {
81
+ export function isKnife(variable) {
107
82
  return getIsaacAPIClassName(variable) === "EntityKnife";
108
83
  }
109
84
  /** Helper function to detect if a variable is of type `EntityLaser`. */
110
- function isLaser(variable) {
85
+ export function isLaser(variable) {
111
86
  return getIsaacAPIClassName(variable) === "EntityLaser";
112
87
  }
113
88
  /** Helper function to detect if a variable is of type `EntityNPC`. */
114
- function isNPC(variable) {
89
+ export function isNPC(variable) {
115
90
  return getIsaacAPIClassName(variable) === "EntityNPC";
116
91
  }
117
92
  /** Helper function to detect if a variable is of type `EntityPickup`. */
118
- function isPickup(variable) {
93
+ export function isPickup(variable) {
119
94
  return getIsaacAPIClassName(variable) === "EntityPickup";
120
95
  }
121
96
  /** Helper function to detect if a variable is of type `GridEntityPit`. */
122
- function isPit(variable) {
97
+ export function isPit(variable) {
123
98
  return getIsaacAPIClassName(variable) === "GridEntityPit";
124
99
  }
125
100
  /** Helper function to detect if a variable is of type `EntityPlayer`. */
126
- function isPlayer(variable) {
101
+ export function isPlayer(variable) {
127
102
  return getIsaacAPIClassName(variable) === "EntityPlayer";
128
103
  }
129
104
  /** Helper function to detect if a variable is of type `GridEntityPoop`. */
130
- function isPoop(variable) {
105
+ export function isPoop(variable) {
131
106
  return getIsaacAPIClassName(variable) === "GridEntityPoop";
132
107
  }
133
108
  /** Helper function to detect if a variable is of type `GridEntityPressurePlate`. */
134
- function isPressurePlate(variable) {
109
+ export function isPressurePlate(variable) {
135
110
  return getIsaacAPIClassName(variable) === "GridEntityPressurePlate";
136
111
  }
137
112
  /** Helper function to detect if a variable is of type `EntityProjectile`. */
138
- function isProjectile(variable) {
113
+ export function isProjectile(variable) {
139
114
  return getIsaacAPIClassName(variable) === "EntityProjectile";
140
115
  }
141
116
  /** Helper function to detect if a variable is of type `GridEntityRock`. */
142
- function isRock(variable) {
117
+ export function isRock(variable) {
143
118
  return getIsaacAPIClassName(variable) === "GridEntityRock";
144
119
  }
145
120
  /** Helper function to detect if a variable is of type `GridEntitySpikes`. */
146
- function isSpikes(variable) {
121
+ export function isSpikes(variable) {
147
122
  return getIsaacAPIClassName(variable) === "GridEntitySpikes";
148
123
  }
149
124
  /** Helper function to detect if a variable is of type `EntityTear`. */
150
- function isTear(variable) {
125
+ export function isTear(variable) {
151
126
  return getIsaacAPIClassName(variable) === "EntityTear";
152
127
  }
153
128
  /** Helper function to detect if a variable is of type `GridEntityTNT`. */
154
- function isTNT(variable) {
129
+ export function isTNT(variable) {
155
130
  return getIsaacAPIClassName(variable) === "GridEntityTNT";
156
131
  }
@@ -1,45 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultCollectibleTypesInItemPool = getDefaultCollectibleTypesInItemPool;
4
- exports.getDefaultItemPoolsForCollectibleType = getDefaultItemPoolsForCollectibleType;
5
- exports.getItemPoolName = getItemPoolName;
6
- exports.getRandomItemPool = getRandomItemPool;
7
- exports.isCollectibleTypeInDefaultItemPool = isCollectibleTypeInDefaultItemPool;
8
- exports.removeCollectibleFromPools = removeCollectibleFromPools;
9
- exports.removeTrinketFromPools = removeTrinketFromPools;
10
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
11
- const cachedEnumValues_1 = require("../cachedEnumValues");
12
- const cachedClasses_1 = require("../core/cachedClasses");
13
- const itemPoolTypeToItemPoolName_1 = require("../maps/itemPoolTypeToItemPoolName");
14
- const itemPoolTypeToCollectibleTypesSet_1 = require("../objects/itemPoolTypeToCollectibleTypesSet");
15
- const array_1 = require("./array");
1
+ import { ItemPoolType } from "isaac-typescript-definitions";
2
+ import { ITEM_POOL_TYPE_VALUES } from "../cachedEnumValues";
3
+ import { game } from "../core/cachedClasses";
4
+ import { ITEM_POOL_TYPE_TO_ITEM_POOL_NAME } from "../maps/itemPoolTypeToItemPoolName";
5
+ import { ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET } from "../objects/itemPoolTypeToCollectibleTypesSet";
6
+ import { arrayRemove, getRandomArrayElement } from "./array";
16
7
  const NORMAL_MODE_ONLY_ITEM_POOL_TYPES = [
17
- isaac_typescript_definitions_1.ItemPoolType.TREASURE, // 0
18
- isaac_typescript_definitions_1.ItemPoolType.BOSS, // 2
19
- isaac_typescript_definitions_1.ItemPoolType.SHOP, // 1
20
- isaac_typescript_definitions_1.ItemPoolType.DEVIL, // 3
21
- isaac_typescript_definitions_1.ItemPoolType.ANGEL, // 4
22
- isaac_typescript_definitions_1.ItemPoolType.CURSE, // 12
23
- isaac_typescript_definitions_1.ItemPoolType.SECRET, // 5
8
+ ItemPoolType.TREASURE, // 0
9
+ ItemPoolType.BOSS, // 2
10
+ ItemPoolType.SHOP, // 1
11
+ ItemPoolType.DEVIL, // 3
12
+ ItemPoolType.ANGEL, // 4
13
+ ItemPoolType.CURSE, // 12
14
+ ItemPoolType.SECRET, // 5
24
15
  ];
25
16
  const GREED_MODE_ONLY_ITEM_POOL_TYPES = [
26
- isaac_typescript_definitions_1.ItemPoolType.GREED_TREASURE, // 16
27
- isaac_typescript_definitions_1.ItemPoolType.GREED_BOSS, // 17
28
- isaac_typescript_definitions_1.ItemPoolType.GREED_SHOP, // 18
29
- isaac_typescript_definitions_1.ItemPoolType.GREED_DEVIL, // 19
30
- isaac_typescript_definitions_1.ItemPoolType.GREED_ANGEL, // 20
31
- isaac_typescript_definitions_1.ItemPoolType.GREED_CURSE, // 21
32
- isaac_typescript_definitions_1.ItemPoolType.GREED_SECRET, // 22
17
+ ItemPoolType.GREED_TREASURE, // 16
18
+ ItemPoolType.GREED_BOSS, // 17
19
+ ItemPoolType.GREED_SHOP, // 18
20
+ ItemPoolType.GREED_DEVIL, // 19
21
+ ItemPoolType.GREED_ANGEL, // 20
22
+ ItemPoolType.GREED_CURSE, // 21
23
+ ItemPoolType.GREED_SECRET, // 22
33
24
  ];
34
- const FAKE_ITEM_POOL_TYPES = [isaac_typescript_definitions_1.ItemPoolType.SHELL_GAME];
35
- const NORMAL_MODE_ITEM_POOL_TYPES = (0, array_1.arrayRemove)(cachedEnumValues_1.ITEM_POOL_TYPE_VALUES, ...GREED_MODE_ONLY_ITEM_POOL_TYPES, ...FAKE_ITEM_POOL_TYPES);
36
- const GREED_MODE_ITEM_POOL_TYPES = (0, array_1.arrayRemove)(cachedEnumValues_1.ITEM_POOL_TYPE_VALUES, ...NORMAL_MODE_ONLY_ITEM_POOL_TYPES, ...FAKE_ITEM_POOL_TYPES);
25
+ const FAKE_ITEM_POOL_TYPES = [ItemPoolType.SHELL_GAME];
26
+ const NORMAL_MODE_ITEM_POOL_TYPES = arrayRemove(ITEM_POOL_TYPE_VALUES, ...GREED_MODE_ONLY_ITEM_POOL_TYPES, ...FAKE_ITEM_POOL_TYPES);
27
+ const GREED_MODE_ITEM_POOL_TYPES = arrayRemove(ITEM_POOL_TYPE_VALUES, ...NORMAL_MODE_ONLY_ITEM_POOL_TYPES, ...FAKE_ITEM_POOL_TYPES);
37
28
  /**
38
29
  * Helper function to get the collectibles that are in a particular item pool at the beginning of a
39
30
  * vanilla run.
40
31
  */
41
- function getDefaultCollectibleTypesInItemPool(itemPoolType) {
42
- return itemPoolTypeToCollectibleTypesSet_1.ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET[itemPoolType];
32
+ export function getDefaultCollectibleTypesInItemPool(itemPoolType) {
33
+ return ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET[itemPoolType];
43
34
  }
44
35
  /**
45
36
  * Helper function to get the item pools that a particular collectible starts in at the beginning of
@@ -48,13 +39,13 @@ function getDefaultCollectibleTypesInItemPool(itemPoolType) {
48
39
  * This function will automatically account for Greed Mode. In other words, it will not return the
49
40
  * "normal" item pools when playing in Greed Mode.
50
41
  */
51
- function getDefaultItemPoolsForCollectibleType(collectibleType) {
42
+ export function getDefaultItemPoolsForCollectibleType(collectibleType) {
52
43
  const collectibleItemPoolTypes = [];
53
- const itemPoolTypes = cachedClasses_1.game.IsGreedMode()
44
+ const itemPoolTypes = game.IsGreedMode()
54
45
  ? GREED_MODE_ITEM_POOL_TYPES
55
46
  : NORMAL_MODE_ITEM_POOL_TYPES;
56
47
  for (const itemPoolType of itemPoolTypes) {
57
- const collectibleTypesSet = itemPoolTypeToCollectibleTypesSet_1.ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET[itemPoolType];
48
+ const collectibleTypesSet = ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET[itemPoolType];
58
49
  if (collectibleTypesSet.has(collectibleType)) {
59
50
  collectibleItemPoolTypes.push(itemPoolType);
60
51
  }
@@ -64,8 +55,8 @@ function getDefaultItemPoolsForCollectibleType(collectibleType) {
64
55
  /**
65
56
  * Helper function to get the name for an item pool type as it appears in the "itempools.xml" file.
66
57
  */
67
- function getItemPoolName(itemPoolType) {
68
- return itemPoolTypeToItemPoolName_1.ITEM_POOL_TYPE_TO_ITEM_POOL_NAME[itemPoolType];
58
+ export function getItemPoolName(itemPoolType) {
59
+ return ITEM_POOL_TYPE_TO_ITEM_POOL_NAME[itemPoolType];
69
60
  }
70
61
  /**
71
62
  * Helper function to get a random item pool. This is not as simple as getting a random value from
@@ -79,18 +70,18 @@ function getItemPoolName(itemPoolType) {
79
70
  * `RNG.Next` method will be called. If `undefined` is provided, it will default to
80
71
  * a random seed.
81
72
  */
82
- function getRandomItemPool(seedOrRNG) {
83
- const itemPoolTypes = cachedClasses_1.game.IsGreedMode()
73
+ export function getRandomItemPool(seedOrRNG) {
74
+ const itemPoolTypes = game.IsGreedMode()
84
75
  ? GREED_MODE_ITEM_POOL_TYPES
85
76
  : NORMAL_MODE_ITEM_POOL_TYPES;
86
- return (0, array_1.getRandomArrayElement)(itemPoolTypes, seedOrRNG);
77
+ return getRandomArrayElement(itemPoolTypes, seedOrRNG);
87
78
  }
88
79
  /**
89
80
  * Helper function to check if a particular collectibles is in a particular item pool at the
90
81
  * beginning of a vanilla run.
91
82
  */
92
- function isCollectibleTypeInDefaultItemPool(collectibleType, itemPoolType) {
93
- const collectibleTypesSet = itemPoolTypeToCollectibleTypesSet_1.ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET[itemPoolType];
83
+ export function isCollectibleTypeInDefaultItemPool(collectibleType, itemPoolType) {
84
+ const collectibleTypesSet = ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET[itemPoolType];
94
85
  return collectibleTypesSet.has(collectibleType);
95
86
  }
96
87
  /**
@@ -98,8 +89,8 @@ function isCollectibleTypeInDefaultItemPool(collectibleType, itemPoolType) {
98
89
  *
99
90
  * This function is variadic, meaning you can pass as many collectible types as you want to remove.
100
91
  */
101
- function removeCollectibleFromPools(...collectibleTypes) {
102
- const itemPool = cachedClasses_1.game.GetItemPool();
92
+ export function removeCollectibleFromPools(...collectibleTypes) {
93
+ const itemPool = game.GetItemPool();
103
94
  for (const collectibleType of collectibleTypes) {
104
95
  itemPool.RemoveCollectible(collectibleType);
105
96
  }
@@ -109,8 +100,8 @@ function removeCollectibleFromPools(...collectibleTypes) {
109
100
  *
110
101
  * This function is variadic, meaning you can pass as many trinket types as you want to remove.
111
102
  */
112
- function removeTrinketFromPools(...trinketTypes) {
113
- const itemPool = cachedClasses_1.game.GetItemPool();
103
+ export function removeTrinketFromPools(...trinketTypes) {
104
+ const itemPool = game.GetItemPool();
114
105
  for (const trinketType of trinketTypes) {
115
106
  itemPool.RemoveTrinket(trinketType);
116
107
  }
@@ -1,42 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.jsonDecode = jsonDecode;
37
- exports.jsonEncode = jsonEncode;
38
- const jsonLua = __importStar(require("../lib/jsonLua"));
39
- const log_1 = require("./log");
1
+ import * as jsonLua from "../lib/jsonLua";
2
+ import { logError } from "./log";
40
3
  /**
41
4
  * Converts a JSON string to a Lua table.
42
5
  *
@@ -48,11 +11,11 @@ const log_1 = require("./log");
48
11
  * Under the hood, this uses a custom JSON parser that was measured to be 11.8 times faster than the
49
12
  * vanilla JSON parser.
50
13
  */
51
- function jsonDecode(jsonString) {
14
+ export function jsonDecode(jsonString) {
52
15
  const [ok, luaTableOrErrMsg] = pcall(tryDecode, jsonString);
53
16
  if (!ok) {
54
17
  // Instead of throwing an error, continue execution of the callback.
55
- (0, log_1.logError)(`Failed to convert the JSON string to a Lua table: ${jsonString}`);
18
+ logError(`Failed to convert the JSON string to a Lua table: ${jsonString}`);
56
19
  return undefined;
57
20
  }
58
21
  return luaTableOrErrMsg;
@@ -67,7 +30,7 @@ function jsonDecode(jsonString) {
67
30
  * Under the hood, this uses a custom JSON parser that was measured to be 11.8 times faster than the
68
31
  * vanilla JSON parser.
69
32
  */
70
- function jsonEncode(luaTable) {
33
+ export function jsonEncode(luaTable) {
71
34
  const [ok, jsonStringOrErrMsg] = pcall(tryEncode, luaTable);
72
35
  if (!ok) {
73
36
  error(`Failed to convert the Lua table to JSON: ${jsonStringOrErrMsg}`);