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,21 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.anyEasterEggEnabled = anyEasterEggEnabled;
4
- exports.anySeedEffectEnabled = anySeedEffectEnabled;
5
- exports.getSeedEffects = getSeedEffects;
6
- exports.onSetSeed = onSetSeed;
7
- exports.onVictoryLap = onVictoryLap;
8
- exports.restart = restart;
9
- exports.setRunSeed = setRunSeed;
10
- exports.setUnseeded = setUnseeded;
11
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
12
- const cachedEnumValues_1 = require("../cachedEnumValues");
13
- const cachedClasses_1 = require("../core/cachedClasses");
14
- const characters_1 = require("./characters");
15
- const log_1 = require("./log");
16
- const types_1 = require("./types");
1
+ import { Challenge, PlayerType, SeedEffect, } from "isaac-typescript-definitions";
2
+ import { SEED_EFFECTS } from "../cachedEnumValues";
3
+ import { game } from "../core/cachedClasses";
4
+ import { getCharacterName } from "./characters";
5
+ import { log } from "./log";
6
+ import { isString } from "./types";
17
7
  /** Alias for the `anySeedEffectEnabled` function. */
18
- function anyEasterEggEnabled(exceptions) {
8
+ export function anyEasterEggEnabled(exceptions) {
19
9
  return anySeedEffectEnabled(exceptions);
20
10
  }
21
11
  /**
@@ -23,21 +13,21 @@ function anyEasterEggEnabled(exceptions) {
23
13
  *
24
14
  * @param exceptions Optional. An array of seed effects to ignore.
25
15
  */
26
- function anySeedEffectEnabled(exceptions) {
27
- const seeds = cachedClasses_1.game.GetSeeds();
16
+ export function anySeedEffectEnabled(exceptions) {
17
+ const seeds = game.GetSeeds();
28
18
  if (exceptions === undefined) {
29
19
  const numSeedEffects = seeds.CountSeedEffects();
30
20
  return numSeedEffects > 0;
31
21
  }
32
22
  const exceptionsSet = new Set(exceptions);
33
- return cachedEnumValues_1.SEED_EFFECTS.some((seedEffect) => seeds.HasSeedEffect(seedEffect) && !exceptionsSet.has(seedEffect));
23
+ return SEED_EFFECTS.some((seedEffect) => seeds.HasSeedEffect(seedEffect) && !exceptionsSet.has(seedEffect));
34
24
  }
35
25
  /**
36
26
  * Helper function to get the seed effects (i.e. Easter Eggs) that are enabled for the current run.
37
27
  */
38
- function getSeedEffects() {
39
- const seeds = cachedClasses_1.game.GetSeeds();
40
- return cachedEnumValues_1.SEED_EFFECTS.filter((seedEffect) => seedEffect !== isaac_typescript_definitions_1.SeedEffect.NORMAL && seeds.HasSeedEffect(seedEffect));
28
+ export function getSeedEffects() {
29
+ const seeds = game.GetSeeds();
30
+ return SEED_EFFECTS.filter((seedEffect) => seedEffect !== SeedEffect.NORMAL && seeds.HasSeedEffect(seedEffect));
41
31
  }
42
32
  /**
43
33
  * Helper function to check whether the player is playing on a set seed (i.e. that they entered in a
@@ -47,18 +37,18 @@ function getSeedEffects() {
47
37
  * Under the hood, this checks if the current challenge is `Challenge.NULL` and the
48
38
  * `Seeds.IsCustomRun` method.
49
39
  */
50
- function onSetSeed() {
51
- const seeds = cachedClasses_1.game.GetSeeds();
40
+ export function onSetSeed() {
41
+ const seeds = game.GetSeeds();
52
42
  const customRun = seeds.IsCustomRun();
53
43
  const challenge = Isaac.GetChallenge();
54
- return challenge === isaac_typescript_definitions_1.Challenge.NULL && customRun;
44
+ return challenge === Challenge.NULL && customRun;
55
45
  }
56
46
  /**
57
47
  * Helper function to check whether the player is on a Victory Lap (i.e. they answered "yes" to the
58
48
  * popup that happens after defeating The Lamb).
59
49
  */
60
- function onVictoryLap() {
61
- const numVictoryLaps = cachedClasses_1.game.GetVictoryLap();
50
+ export function onVictoryLap() {
51
+ const numVictoryLaps = game.GetVictoryLap();
62
52
  return numVictoryLaps > 0;
63
53
  }
64
54
  /**
@@ -68,19 +58,19 @@ function onVictoryLap() {
68
58
  *
69
59
  * You can optionally specify a `PlayerType` to restart the game as that character.
70
60
  */
71
- function restart(character) {
61
+ export function restart(character) {
72
62
  if (character === undefined) {
73
63
  const command = "restart";
74
- (0, log_1.log)(`Restarting the run with a console command of: ${command}`);
64
+ log(`Restarting the run with a console command of: ${command}`);
75
65
  Isaac.ExecuteCommand(command);
76
66
  return;
77
67
  }
78
- if (character < isaac_typescript_definitions_1.PlayerType.ISAAC) {
68
+ if (character < PlayerType.ISAAC) {
79
69
  error(`Restarting as a character of ${character} would crash the game.`);
80
70
  }
81
71
  const command = `restart ${character}`;
82
- const characterName = (0, characters_1.getCharacterName)(character);
83
- (0, log_1.log)(`Restarting the run as ${characterName} (${character}) with a console command of: ${command}`);
72
+ const characterName = getCharacterName(character);
73
+ log(`Restarting the run as ${characterName} (${character}) with a console command of: ${command}`);
84
74
  Isaac.ExecuteCommand(command);
85
75
  }
86
76
  /**
@@ -91,12 +81,12 @@ function restart(character) {
91
81
  * @param startSeedOrStartSeedString Either the numerical start seed (e.g. 268365970) or the start
92
82
  * seed string (e.g. "AAJ2 8V9C").
93
83
  */
94
- function setRunSeed(startSeedOrStartSeedString) {
95
- const startSeedString = (0, types_1.isString)(startSeedOrStartSeedString)
84
+ export function setRunSeed(startSeedOrStartSeedString) {
85
+ const startSeedString = isString(startSeedOrStartSeedString)
96
86
  ? startSeedOrStartSeedString
97
87
  : Seeds.Seed2String(startSeedOrStartSeedString);
98
88
  const command = `seed ${startSeedString}`;
99
- (0, log_1.log)(`Restarting the run to set a seed with a console command of: ${command}`);
89
+ log(`Restarting the run to set a seed with a console command of: ${command}`);
100
90
  Isaac.ExecuteCommand(command);
101
91
  }
102
92
  /**
@@ -108,13 +98,13 @@ function setRunSeed(startSeedOrStartSeedString) {
108
98
  * Under the hood, this function calls the `Seeds.Reset` method and the
109
99
  * `Seeds.Restart(Challenge.NULL)` method.
110
100
  */
111
- function setUnseeded() {
112
- const seeds = cachedClasses_1.game.GetSeeds();
101
+ export function setUnseeded() {
102
+ const seeds = game.GetSeeds();
113
103
  // Invoking the `Seeds.Reset` method will cause the start seed to be set to 0. Subsequently, the
114
104
  // `Seeds.GetStartSeed` method will return 0, and can cause crashes (due to RNG objects not being
115
105
  // able to handle a seed of 0). It also causes the log to be spammed with: "[ASSERT] - Error: Game
116
106
  // Start Seed was not set." Thus, we must immediately re-initialize the game start seed by using
117
107
  // the `Seeds.Restart` method.
118
108
  seeds.Reset();
119
- seeds.Restart(isaac_typescript_definitions_1.Challenge.NULL);
109
+ seeds.Restart(Challenge.NULL);
120
110
  }
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStartSeedString = getStartSeedString;
4
- exports.nextSeed = nextSeed;
5
- const cachedClasses_1 = require("../core/cachedClasses");
6
- const rng_1 = require("./rng");
1
+ import { game } from "../core/cachedClasses";
2
+ import { newRNG } from "./rng";
7
3
  /** Alias for the `Seeds.GetStartSeedString` method. */
8
- function getStartSeedString() {
9
- const seeds = cachedClasses_1.game.GetSeeds();
4
+ export function getStartSeedString() {
5
+ const seeds = game.GetSeeds();
10
6
  return seeds.GetStartSeedString();
11
7
  }
12
8
  /**
@@ -14,8 +10,8 @@ function getStartSeedString() {
14
10
  *
15
11
  * This function is useful when you are working with seed values directly over RNG objects.
16
12
  */
17
- function nextSeed(seed) {
18
- const rng = (0, rng_1.newRNG)(seed);
13
+ export function nextSeed(seed) {
14
+ const rng = newRNG(seed);
19
15
  rng.Next();
20
16
  return rng.GetSeed();
21
17
  }
@@ -1,30 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.copyIsaacAPIClass = copyIsaacAPIClass;
4
- exports.deserializeIsaacAPIClass = deserializeIsaacAPIClass;
5
- exports.isCopyableIsaacAPIClass = isCopyableIsaacAPIClass;
6
- exports.isSerializedIsaacAPIClass = isSerializedIsaacAPIClass;
7
- exports.serializeIsaacAPIClass = serializeIsaacAPIClass;
8
- const isaacAPIClassTypeToBrand_1 = require("../objects/isaacAPIClassTypeToBrand");
9
- const isaacAPIClassTypeToFunctions_1 = require("../objects/isaacAPIClassTypeToFunctions");
10
- const isaacAPIClass_1 = require("./isaacAPIClass");
11
- const types_1 = require("./types");
12
- const utils_1 = require("./utils");
1
+ import { ISAAC_API_CLASS_TYPE_TO_BRAND } from "../objects/isaacAPIClassTypeToBrand";
2
+ import { ISAAC_API_CLASS_TYPE_TO_FUNCTIONS } from "../objects/isaacAPIClassTypeToFunctions";
3
+ import { getIsaacAPIClassName } from "./isaacAPIClass";
4
+ import { isTable, isUserdata } from "./types";
5
+ import { assertDefined } from "./utils";
13
6
  /**
14
7
  * Helper function to generically copy an Isaac API class without knowing what specific type of
15
8
  * class it is. (This is used by the save data manager.)
16
9
  *
17
10
  * For the list of supported classes, see the `CopyableIsaacAPIClassType` enum.
18
11
  */
19
- function copyIsaacAPIClass(isaacAPIClass) {
20
- if (!(0, types_1.isUserdata)(isaacAPIClass)) {
12
+ export function copyIsaacAPIClass(isaacAPIClass) {
13
+ if (!isUserdata(isaacAPIClass)) {
21
14
  error(`Failed to copy an Isaac API class since the provided object was of type: ${typeof isaacAPIClass}`);
22
15
  }
23
- const isaacAPIClassType = (0, isaacAPIClass_1.getIsaacAPIClassName)(isaacAPIClass);
24
- (0, utils_1.assertDefined)(isaacAPIClassType, "Failed to copy an Isaac API class since it does not have a class type.");
16
+ const isaacAPIClassType = getIsaacAPIClassName(isaacAPIClass);
17
+ assertDefined(isaacAPIClassType, "Failed to copy an Isaac API class since it does not have a class type.");
25
18
  const copyableIsaacAPIClassType = isaacAPIClassType;
26
- const functions = isaacAPIClassTypeToFunctions_1.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS[copyableIsaacAPIClassType];
27
- (0, utils_1.assertDefined)(functions, `Failed to copy an Isaac API class since the associated functions were not found for Isaac API class type: ${copyableIsaacAPIClassType}`);
19
+ const functions = ISAAC_API_CLASS_TYPE_TO_FUNCTIONS[copyableIsaacAPIClassType];
20
+ assertDefined(functions, `Failed to copy an Isaac API class since the associated functions were not found for Isaac API class type: ${copyableIsaacAPIClassType}`);
28
21
  return functions.copy(isaacAPIClass);
29
22
  }
30
23
  /**
@@ -34,14 +27,14 @@ function copyIsaacAPIClass(isaacAPIClass) {
34
27
  *
35
28
  * For the list of supported classes, see the `CopyableIsaacAPIClassType` enum.
36
29
  */
37
- function deserializeIsaacAPIClass(serializedIsaacAPIClass) {
38
- if (!(0, types_1.isTable)(serializedIsaacAPIClass)) {
30
+ export function deserializeIsaacAPIClass(serializedIsaacAPIClass) {
31
+ if (!isTable(serializedIsaacAPIClass)) {
39
32
  error(`Failed to deserialize an Isaac API class since the provided object was of type: ${typeof serializedIsaacAPIClass}`);
40
33
  }
41
34
  const copyableIsaacAPIClassType = getSerializedTableType(serializedIsaacAPIClass);
42
- (0, utils_1.assertDefined)(copyableIsaacAPIClassType, "Failed to deserialize an Isaac API class since a valid class type brand was not found.");
43
- const functions = isaacAPIClassTypeToFunctions_1.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS[copyableIsaacAPIClassType];
44
- (0, utils_1.assertDefined)(functions, `Failed to deserialize an Isaac API class since the associated functions were not found for class type: ${copyableIsaacAPIClassType}`);
35
+ assertDefined(copyableIsaacAPIClassType, "Failed to deserialize an Isaac API class since a valid class type brand was not found.");
36
+ const functions = ISAAC_API_CLASS_TYPE_TO_FUNCTIONS[copyableIsaacAPIClassType];
37
+ assertDefined(functions, `Failed to deserialize an Isaac API class since the associated functions were not found for class type: ${copyableIsaacAPIClassType}`);
45
38
  return functions.deserialize(serializedIsaacAPIClass);
46
39
  }
47
40
  /**
@@ -50,8 +43,8 @@ function deserializeIsaacAPIClass(serializedIsaacAPIClass) {
50
43
  *
51
44
  * For the list of supported classes, see the `CopyableIsaacAPIClassType` enum.
52
45
  */
53
- function isCopyableIsaacAPIClass(object) {
54
- const allFunctions = Object.values(isaacAPIClassTypeToFunctions_1.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS);
46
+ export function isCopyableIsaacAPIClass(object) {
47
+ const allFunctions = Object.values(ISAAC_API_CLASS_TYPE_TO_FUNCTIONS);
55
48
  const isFunctions = allFunctions.map((functions) => functions.is);
56
49
  return isFunctions.some((identityFunction) => identityFunction(object));
57
50
  }
@@ -61,8 +54,8 @@ function isCopyableIsaacAPIClass(object) {
61
54
  *
62
55
  * For the list of supported classes, see the `CopyableIsaacAPIClassType` enum.
63
56
  */
64
- function isSerializedIsaacAPIClass(object) {
65
- const allFunctions = Object.values(isaacAPIClassTypeToFunctions_1.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS);
57
+ export function isSerializedIsaacAPIClass(object) {
58
+ const allFunctions = Object.values(ISAAC_API_CLASS_TYPE_TO_FUNCTIONS);
66
59
  const isSerializedFunctions = allFunctions.map((functions) => functions.isSerialized);
67
60
  return isSerializedFunctions.some((identityFunction) => identityFunction(object));
68
61
  }
@@ -72,15 +65,15 @@ function isSerializedIsaacAPIClass(object) {
72
65
  *
73
66
  * For the list of supported classes, see the `CopyableIsaacAPIClassType` enum.
74
67
  */
75
- function serializeIsaacAPIClass(isaacAPIClass) {
76
- if (!(0, types_1.isUserdata)(isaacAPIClass)) {
68
+ export function serializeIsaacAPIClass(isaacAPIClass) {
69
+ if (!isUserdata(isaacAPIClass)) {
77
70
  error(`Failed to serialize an Isaac API class since the provided object was of type: ${typeof isaacAPIClass}`);
78
71
  }
79
- const isaacAPIClassType = (0, isaacAPIClass_1.getIsaacAPIClassName)(isaacAPIClass);
80
- (0, utils_1.assertDefined)(isaacAPIClassType, "Failed to serialize an Isaac API class since it does not have a class name.");
72
+ const isaacAPIClassType = getIsaacAPIClassName(isaacAPIClass);
73
+ assertDefined(isaacAPIClassType, "Failed to serialize an Isaac API class since it does not have a class name.");
81
74
  const copyableIsaacAPIClassType = isaacAPIClassType;
82
- const functions = isaacAPIClassTypeToFunctions_1.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS[copyableIsaacAPIClassType];
83
- (0, utils_1.assertDefined)(functions, `Failed to serialize an Isaac API class since the associated functions were not found for class type: ${copyableIsaacAPIClassType}`);
75
+ const functions = ISAAC_API_CLASS_TYPE_TO_FUNCTIONS[copyableIsaacAPIClassType];
76
+ assertDefined(functions, `Failed to serialize an Isaac API class since the associated functions were not found for class type: ${copyableIsaacAPIClassType}`);
84
77
  return functions.serialize(isaacAPIClass);
85
78
  }
86
79
  /**
@@ -88,7 +81,7 @@ function serializeIsaacAPIClass(isaacAPIClass) {
88
81
  * serialized table for brands.
89
82
  */
90
83
  function getSerializedTableType(serializedIsaacAPIClass) {
91
- for (const [copyableIsaacAPIClassType, serializationBrand] of Object.entries(isaacAPIClassTypeToBrand_1.ISAAC_API_CLASS_TYPE_TO_BRAND)) {
84
+ for (const [copyableIsaacAPIClassType, serializationBrand] of Object.entries(ISAAC_API_CLASS_TYPE_TO_BRAND)) {
92
85
  if (serializedIsaacAPIClass.has(serializationBrand)) {
93
86
  return copyableIsaacAPIClassType;
94
87
  }
@@ -1,30 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addSetsToSet = addSetsToSet;
4
- exports.combineSets = combineSets;
5
- exports.copySet = copySet;
6
- exports.deleteSetsFromSet = deleteSetsFromSet;
7
- exports.getRandomSetElement = getRandomSetElement;
8
- exports.getSetCombinations = getSetCombinations;
9
- exports.getSortedSetValues = getSortedSetValues;
10
- exports.objectKeysToReadonlySet = objectKeysToReadonlySet;
11
- exports.objectKeysToSet = objectKeysToSet;
12
- exports.objectValuesToReadonlySet = objectValuesToReadonlySet;
13
- exports.objectValuesToSet = objectValuesToSet;
14
- exports.setAdd = setAdd;
15
- exports.setHas = setHas;
16
- exports.sumSet = sumSet;
17
- const ReadonlySet_1 = require("../types/ReadonlySet");
18
- const array_1 = require("./array");
19
- const sort_1 = require("./sort");
20
- const types_1 = require("./types");
1
+ import { ReadonlySet } from "../types/ReadonlySet";
2
+ import { getArrayCombinations, getRandomArrayElement, sumArray } from "./array";
3
+ import { sortNormal } from "./sort";
4
+ import { isPrimitive } from "./types";
21
5
  /**
22
6
  * Helper function to add all of the values in one set to another set. The first set passed will be
23
7
  * modified in place.
24
8
  *
25
9
  * This function is variadic, meaning that you can specify N sets to add to the first set.
26
10
  */
27
- function addSetsToSet(
11
+ export function addSetsToSet(
28
12
  // eslint-disable-next-line complete/prefer-readonly-parameter-types
29
13
  mainSet, ...setsToAdd) {
30
14
  for (const set of setsToAdd) {
@@ -38,7 +22,7 @@ mainSet, ...setsToAdd) {
38
22
  *
39
23
  * This function is variadic, meaning that you can specify N sets.
40
24
  */
41
- function combineSets(...sets) {
25
+ export function combineSets(...sets) {
42
26
  const newSet = new Set();
43
27
  for (const set of sets) {
44
28
  for (const value of set) {
@@ -48,7 +32,7 @@ function combineSets(...sets) {
48
32
  return newSet;
49
33
  }
50
34
  /** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
51
- function copySet(oldSet) {
35
+ export function copySet(oldSet) {
52
36
  return new Set(oldSet);
53
37
  }
54
38
  /**
@@ -57,7 +41,7 @@ function copySet(oldSet) {
57
41
  *
58
42
  * This function is variadic, meaning that you can specify N sets to remove from the first set.
59
43
  */
60
- function deleteSetsFromSet(
44
+ export function deleteSetsFromSet(
61
45
  // eslint-disable-next-line complete/prefer-readonly-parameter-types
62
46
  mainSet, ...setsToRemove) {
63
47
  for (const set of setsToRemove) {
@@ -78,9 +62,9 @@ mainSet, ...setsToRemove) {
78
62
  * a random seed.
79
63
  * @param exceptions Optional. An array of elements to skip over if selected.
80
64
  */
81
- function getRandomSetElement(set, seedOrRNG, exceptions = []) {
65
+ export function getRandomSetElement(set, seedOrRNG, exceptions = []) {
82
66
  const array = getSortedSetValues(set);
83
- return (0, array_1.getRandomArrayElement)(array, seedOrRNG, exceptions);
67
+ return getRandomArrayElement(array, seedOrRNG, exceptions);
84
68
  }
85
69
  /**
86
70
  * Helper function to get all possible combinations of the given set. This includes the combination
@@ -101,10 +85,10 @@ function getRandomSetElement(set, seedOrRNG, exceptions = []) {
101
85
  * @param set The set to get the combinations of.
102
86
  * @param includeEmptyArray Whether to include an empty array in the combinations.
103
87
  */
104
- function getSetCombinations(set, includeEmptyArray) {
88
+ export function getSetCombinations(set, includeEmptyArray) {
105
89
  const values = getSortedSetValues(set);
106
- const combinations = (0, array_1.getArrayCombinations)(values, includeEmptyArray);
107
- return combinations.map((array) => new ReadonlySet_1.ReadonlySet(array));
90
+ const combinations = getArrayCombinations(values, includeEmptyArray);
91
+ return combinations.map((array) => new ReadonlySet(array));
108
92
  }
109
93
  /**
110
94
  * Helper function to get a sorted array based on the contents of a set.
@@ -112,17 +96,17 @@ function getSetCombinations(set, includeEmptyArray) {
112
96
  * Normally, set values are returned in insertion order, so use this function when the ordering of
113
97
  * the contents is important.
114
98
  */
115
- function getSortedSetValues(set) {
99
+ export function getSortedSetValues(set) {
116
100
  const values = [...set];
117
101
  // Check for problematic types in order to throw a helpful error message.
118
102
  const firstElement = values[0];
119
103
  if (firstElement !== undefined) {
120
104
  const arrayType = type(firstElement);
121
- if (!(0, types_1.isPrimitive)(arrayType)) {
105
+ if (!isPrimitive(arrayType)) {
122
106
  error(`Failed to get the sorted set values because the provided set was of type "${arrayType}". Having sets with non-primitive types doesn't make much sense in general, so you might need to rethink what you are doing.`);
123
107
  }
124
108
  }
125
- values.sort(sort_1.sortNormal);
109
+ values.sort(sortNormal);
126
110
  return values;
127
111
  }
128
112
  /**
@@ -133,7 +117,7 @@ function getSortedSetValues(set) {
133
117
  *
134
118
  * Also see the `objectKeysToSet` function.
135
119
  */
136
- function objectKeysToReadonlySet(object) {
120
+ export function objectKeysToReadonlySet(object) {
137
121
  return objectKeysToSet(object);
138
122
  }
139
123
  /**
@@ -144,7 +128,7 @@ function objectKeysToReadonlySet(object) {
144
128
  *
145
129
  * Also see the `objectKeysToReadonlySet` function.
146
130
  */
147
- function objectKeysToSet(object) {
131
+ export function objectKeysToSet(object) {
148
132
  const set = new Set();
149
133
  for (const key of Object.keys(object)) {
150
134
  set.add(key);
@@ -159,7 +143,7 @@ function objectKeysToSet(object) {
159
143
  *
160
144
  * Also see the `objectValuesToSet` function.
161
145
  */
162
- function objectValuesToReadonlySet(object) {
146
+ export function objectValuesToReadonlySet(object) {
163
147
  return objectValuesToSet(object);
164
148
  }
165
149
  /**
@@ -170,7 +154,7 @@ function objectValuesToReadonlySet(object) {
170
154
  *
171
155
  * Also see the `objectValuesToReadonlySet` function.
172
156
  */
173
- function objectValuesToSet(object) {
157
+ export function objectValuesToSet(object) {
174
158
  const set = new Set();
175
159
  for (const key of Object.values(object)) {
176
160
  set.add(key);
@@ -184,7 +168,7 @@ function objectValuesToSet(object) {
184
168
  * This function is variadic, meaning that you can pass as many things as you want to add.
185
169
  */
186
170
  // eslint-disable-next-line complete/prefer-readonly-parameter-types
187
- function setAdd(set, ...elements) {
171
+ export function setAdd(set, ...elements) {
188
172
  for (const element of elements) {
189
173
  set.add(element);
190
174
  }
@@ -196,11 +180,11 @@ function setAdd(set, ...elements) {
196
180
  * This function is variadic, meaning that you can pass as many things as you want to check for. It
197
181
  * will return true if one or more elements are found.
198
182
  */
199
- function setHas(set, ...elements) {
183
+ export function setHas(set, ...elements) {
200
184
  return elements.some((element) => set.has(element));
201
185
  }
202
186
  /** Helper function to sum every value in a set together. */
203
- function sumSet(set) {
187
+ export function sumSet(set) {
204
188
  const values = [...set];
205
- return (0, array_1.sumArray)(values);
189
+ return sumArray(values);
206
190
  }
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSlotName = getSlotName;
4
- exports.isSlotMachine = isSlotMachine;
5
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
6
- const slotNames_1 = require("../objects/slotNames");
7
- const ReadonlySet_1 = require("../types/ReadonlySet");
8
- const entityTypes_1 = require("./entityTypes");
9
- const SLOT_MACHINE_VARIANTS = new ReadonlySet_1.ReadonlySet([
10
- isaac_typescript_definitions_1.SlotVariant.SLOT_MACHINE, // 1
11
- isaac_typescript_definitions_1.SlotVariant.BLOOD_DONATION_MACHINE, // 2,
12
- isaac_typescript_definitions_1.SlotVariant.FORTUNE_TELLING_MACHINE, // 3
13
- isaac_typescript_definitions_1.SlotVariant.DONATION_MACHINE, // 8
14
- isaac_typescript_definitions_1.SlotVariant.SHOP_RESTOCK_MACHINE, // 10
15
- isaac_typescript_definitions_1.SlotVariant.GREED_DONATION_MACHINE, // 11
16
- isaac_typescript_definitions_1.SlotVariant.MOMS_DRESSING_TABLE, // 12
17
- isaac_typescript_definitions_1.SlotVariant.CRANE_GAME, // 16
18
- isaac_typescript_definitions_1.SlotVariant.CONFESSIONAL, // 17
1
+ import { SlotVariant } from "isaac-typescript-definitions";
2
+ import { DEFAULT_SLOT_NAME, SLOT_NAMES } from "../objects/slotNames";
3
+ import { ReadonlySet } from "../types/ReadonlySet";
4
+ import { isSlot } from "./entityTypes";
5
+ const SLOT_MACHINE_VARIANTS = new ReadonlySet([
6
+ SlotVariant.SLOT_MACHINE, // 1
7
+ SlotVariant.BLOOD_DONATION_MACHINE, // 2,
8
+ SlotVariant.FORTUNE_TELLING_MACHINE, // 3
9
+ SlotVariant.DONATION_MACHINE, // 8
10
+ SlotVariant.SHOP_RESTOCK_MACHINE, // 10
11
+ SlotVariant.GREED_DONATION_MACHINE, // 11
12
+ SlotVariant.MOMS_DRESSING_TABLE, // 12
13
+ SlotVariant.CRANE_GAME, // 16
14
+ SlotVariant.CONFESSIONAL, // 17
19
15
  ]);
20
16
  /**
21
17
  * Helper function to get the name of a slot, as listed in the "entities2.xml" file. Returns
@@ -26,14 +22,14 @@ const SLOT_MACHINE_VARIANTS = new ReadonlySet_1.ReadonlySet([
26
22
  * For example, `getSlotName(SlotVariant.BLOOD_DONATION_MACHINE)` would return "Blood Donation
27
23
  * Machine".
28
24
  */
29
- function getSlotName(slotVariant) {
25
+ export function getSlotName(slotVariant) {
30
26
  // Handle modded slots.
31
27
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
32
- return slotNames_1.SLOT_NAMES[slotVariant] ?? slotNames_1.DEFAULT_SLOT_NAME;
28
+ return SLOT_NAMES[slotVariant] ?? DEFAULT_SLOT_NAME;
33
29
  }
34
30
  /** Returns true for the specific variants of `EntityType.SLOT` that are machines. */
35
- function isSlotMachine(entity) {
36
- if (!(0, entityTypes_1.isSlot)(entity)) {
31
+ export function isSlotMachine(entity) {
32
+ if (!isSlot(entity)) {
37
33
  return false;
38
34
  }
39
35
  return SLOT_MACHINE_VARIANTS.has(entity.Variant);
@@ -1,15 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortNormal = sortNormal;
4
- exports.sortObjectArrayByKey = sortObjectArrayByKey;
5
- exports.sortTwoDimensionalArray = sortTwoDimensionalArray;
6
- exports.stableSort = stableSort;
7
- const types_1 = require("./types");
8
- function sortNormal(a, b) {
9
- if (!(0, types_1.isNumber)(a) && !(0, types_1.isString)(a)) {
1
+ import { isNumber, isString, isTable } from "./types";
2
+ export function sortNormal(a, b) {
3
+ if (!isNumber(a) && !isString(a)) {
10
4
  error(`Failed to normal sort since the first value was not a number or string and was instead: ${type(a)}`);
11
5
  }
12
- if (!(0, types_1.isNumber)(b) && !(0, types_1.isString)(b)) {
6
+ if (!isNumber(b) && !isString(b)) {
13
7
  error(`Failed to normal sort since the second value was not a number or string and was instead: ${type(b)}`);
14
8
  }
15
9
  if (a < b) {
@@ -39,12 +33,12 @@ function sortNormal(a, b) {
39
33
  * myArray.sort(sortObjectArrayByKey("age"));
40
34
  * ```
41
35
  */
42
- function sortObjectArrayByKey(key) {
36
+ export function sortObjectArrayByKey(key) {
43
37
  return (a, b) => {
44
- if (!(0, types_1.isTable)(a)) {
38
+ if (!isTable(a)) {
45
39
  error(`Failed to sort an object array by the key of "${key}" since the first element was not a table and was instead: ${type(a)}`);
46
40
  }
47
- if (!(0, types_1.isTable)(b)) {
41
+ if (!isTable(b)) {
48
42
  error(`Failed to sort an object array by the key of "${key}" since the second element was not a table and was instead: ${type(b)}.`);
49
43
  }
50
44
  const aValue = a.get(key);
@@ -68,7 +62,7 @@ function sortObjectArrayByKey(key) {
68
62
  * From:
69
63
  * https://stackoverflow.com/questions/16096872/how-to-sort-2-dimensional-array-by-column-value
70
64
  */
71
- function sortTwoDimensionalArray(a, b) {
65
+ export function sortTwoDimensionalArray(a, b) {
72
66
  const aType = type(a);
73
67
  const bType = type(b);
74
68
  if (aType !== bType) {
@@ -105,7 +99,7 @@ function sortTwoDimensionalArray(a, b) {
105
99
  *
106
100
  * Under the hood, this uses the merge sort algorithm.
107
101
  */
108
- function stableSort(
102
+ export function stableSort(
109
103
  // eslint-disable-next-line complete/prefer-readonly-parameter-types
110
104
  array, sortFunc = sortNormal) {
111
105
  // Base case: an array of zero or one elements is already sorted
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMusicForStage = getMusicForStage;
4
- exports.stopAllSoundEffects = stopAllSoundEffects;
5
- const cachedEnumValues_1 = require("../cachedEnumValues");
6
- const cachedClasses_1 = require("../core/cachedClasses");
7
- const stageToMusic_1 = require("../objects/stageToMusic");
8
- const enums_1 = require("./enums");
1
+ import { SOUND_EFFECT_VALUES } from "../cachedEnumValues";
2
+ import { game, sfxManager } from "../core/cachedClasses";
3
+ import { STAGE_TO_MUSIC } from "../objects/stageToMusic";
4
+ import { getEnumValues } from "./enums";
9
5
  /**
10
6
  * Helper function to get the corresponding music value for a stage and stage type combination.
11
7
  *
@@ -14,11 +10,11 @@ const enums_1 = require("./enums");
14
10
  * @param stageType Optional. The stage type to get the music for. If not specified, the current
15
11
  * stage type will be used.
16
12
  */
17
- function getMusicForStage(stage, stageType) {
18
- const level = cachedClasses_1.game.GetLevel();
13
+ export function getMusicForStage(stage, stageType) {
14
+ const level = game.GetLevel();
19
15
  stage ??= level.GetStage();
20
16
  stageType ??= level.GetStageType();
21
- const stageTypeToMusic = stageToMusic_1.STAGE_TO_MUSIC[stage];
17
+ const stageTypeToMusic = STAGE_TO_MUSIC[stage];
22
18
  return stageTypeToMusic[stageType];
23
19
  }
24
20
  /**
@@ -28,13 +24,13 @@ function getMusicForStage(stage, stageType) {
28
24
  * @param soundEffectCustom Optional. The enum that represents all of the custom sound effects for
29
25
  * your mod.
30
26
  */
31
- function stopAllSoundEffects(soundEffectCustom) {
32
- for (const soundEffect of cachedEnumValues_1.SOUND_EFFECT_VALUES) {
33
- cachedClasses_1.sfxManager.Stop(soundEffect);
27
+ export function stopAllSoundEffects(soundEffectCustom) {
28
+ for (const soundEffect of SOUND_EFFECT_VALUES) {
29
+ sfxManager.Stop(soundEffect);
34
30
  }
35
31
  if (soundEffectCustom !== undefined) {
36
- for (const soundEffect of (0, enums_1.getEnumValues)(soundEffectCustom)) {
37
- cachedClasses_1.sfxManager.Stop(soundEffect);
32
+ for (const soundEffect of getEnumValues(soundEffectCustom)) {
33
+ sfxManager.Stop(soundEffect);
38
34
  }
39
35
  }
40
36
  }