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,19 +1,16 @@
1
- "use strict";
2
1
  // This file handles drawing the walls and floors for custom stages.
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.setCustomStageBackdrop = setCustomStageBackdrop;
5
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
6
- const cachedClasses_1 = require("../../../../core/cachedClasses");
7
- const constants_1 = require("../../../../core/constants");
8
- const LadderSubTypeCustom_1 = require("../../../../enums/LadderSubTypeCustom");
9
- const array_1 = require("../../../../functions/array");
10
- const entitiesSpecific_1 = require("../../../../functions/entitiesSpecific");
11
- const rng_1 = require("../../../../functions/rng");
12
- const roomShape_1 = require("../../../../functions/roomShape");
13
- const string_1 = require("../../../../functions/string");
14
- const utils_1 = require("../../../../functions/utils");
15
- const ReadonlySet_1 = require("../../../../types/ReadonlySet");
16
- const constants_2 = require("./constants");
2
+ import { EffectVariant, EntityFlag, RoomShape, RoomType, } from "isaac-typescript-definitions";
3
+ import { game } from "../../../../core/cachedClasses";
4
+ import { VectorZero } from "../../../../core/constants";
5
+ import { LadderSubTypeCustom } from "../../../../enums/LadderSubTypeCustom";
6
+ import { getRandomArrayElement } from "../../../../functions/array";
7
+ import { spawnEffectWithSeed } from "../../../../functions/entitiesSpecific";
8
+ import { newRNG } from "../../../../functions/rng";
9
+ import { isLRoomShape, isNarrowRoom } from "../../../../functions/roomShape";
10
+ import { removeCharactersBefore, trimPrefix, } from "../../../../functions/string";
11
+ import { assertDefined, eRange, iRange } from "../../../../functions/utils";
12
+ import { ReadonlySet } from "../../../../types/ReadonlySet";
13
+ import { ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH } from "./constants";
17
14
  var BackdropKind;
18
15
  (function (BackdropKind) {
19
16
  /** The "N" stands for narrow rooms. */
@@ -25,34 +22,34 @@ var BackdropKind;
25
22
  })(BackdropKind || (BackdropKind = {}));
26
23
  /** This is created by the vanilla Basement files. */
27
24
  const DEFAULT_BACKDROP = {
28
- nFloors: [`${constants_2.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/nfloor.png`],
29
- lFloors: [`${constants_2.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/lfloor.png`], // cspell:ignore lfloor
30
- walls: [`${constants_2.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/wall.png`],
31
- corners: [`${constants_2.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/corner.png`],
25
+ nFloors: [`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/nfloor.png`],
26
+ lFloors: [`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/lfloor.png`], // cspell:ignore lfloor
27
+ walls: [`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/wall.png`],
28
+ corners: [`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/backdrop/corner.png`],
32
29
  };
33
30
  const ROOM_SHAPE_WALL_ANM2_LAYERS = {
34
- [isaac_typescript_definitions_1.RoomShape.SHAPE_1x1]: 44, // 1
35
- [isaac_typescript_definitions_1.RoomShape.IH]: 36, // 2
36
- [isaac_typescript_definitions_1.RoomShape.IV]: 28, // 3
37
- [isaac_typescript_definitions_1.RoomShape.SHAPE_1x2]: 58, // 4
38
- [isaac_typescript_definitions_1.RoomShape.IIV]: 42, // 5
39
- [isaac_typescript_definitions_1.RoomShape.SHAPE_2x1]: 63, // 6
40
- [isaac_typescript_definitions_1.RoomShape.IIH]: 62, // 7
41
- [isaac_typescript_definitions_1.RoomShape.SHAPE_2x2]: 63, // 8
42
- [isaac_typescript_definitions_1.RoomShape.LTL]: 63, // 9
43
- [isaac_typescript_definitions_1.RoomShape.LTR]: 63, // 10
44
- [isaac_typescript_definitions_1.RoomShape.LBL]: 63, // 11
45
- [isaac_typescript_definitions_1.RoomShape.LBR]: 63, // 12
31
+ [RoomShape.SHAPE_1x1]: 44, // 1
32
+ [RoomShape.IH]: 36, // 2
33
+ [RoomShape.IV]: 28, // 3
34
+ [RoomShape.SHAPE_1x2]: 58, // 4
35
+ [RoomShape.IIV]: 42, // 5
36
+ [RoomShape.SHAPE_2x1]: 63, // 6
37
+ [RoomShape.IIH]: 62, // 7
38
+ [RoomShape.SHAPE_2x2]: 63, // 8
39
+ [RoomShape.LTL]: 63, // 9
40
+ [RoomShape.LTR]: 63, // 10
41
+ [RoomShape.LBL]: 63, // 11
42
+ [RoomShape.LBR]: 63, // 12
46
43
  };
47
44
  // We don't use `as const` since we need the object to be indexable by all `RoomShape`.
48
45
  // eslint-disable-next-line complete/require-capital-const-assertions
49
46
  const ROOM_SHAPE_WALL_EXTRA_ANM2_LAYERS = {
50
- [isaac_typescript_definitions_1.RoomShape.SHAPE_2x1]: 7, // 6
51
- [isaac_typescript_definitions_1.RoomShape.SHAPE_2x2]: 21, // 8
52
- [isaac_typescript_definitions_1.RoomShape.LTL]: 19, // 9
53
- [isaac_typescript_definitions_1.RoomShape.LTR]: 19, // 10
54
- [isaac_typescript_definitions_1.RoomShape.LBL]: 19, // 11
55
- [isaac_typescript_definitions_1.RoomShape.LBR]: 19, // 12
47
+ [RoomShape.SHAPE_2x1]: 7, // 6
48
+ [RoomShape.SHAPE_2x2]: 21, // 8
49
+ [RoomShape.LTL]: 19, // 9
50
+ [RoomShape.LTR]: 19, // 10
51
+ [RoomShape.LBL]: 19, // 11
52
+ [RoomShape.LBR]: 19, // 12
56
53
  };
57
54
  const WALL_OFFSET = Vector(-80, -80);
58
55
  /** Corresponds to "floor-backdrop.anm2". */
@@ -67,22 +64,22 @@ const N_FLOOR_ANM2_LAYERS = [18, 19];
67
64
  * We arbitrarily choose a ladder for this purpose because it will not automatically despawn after
68
65
  * time passes, like most other effects.
69
66
  */
70
- const BACKDROP_EFFECT_VARIANT = isaac_typescript_definitions_1.EffectVariant.LADDER;
71
- const BACKDROP_EFFECT_SUB_TYPE = LadderSubTypeCustom_1.LadderSubTypeCustom.CUSTOM_BACKDROP;
72
- const BACKDROP_ROOM_TYPE_SET = new ReadonlySet_1.ReadonlySet([
73
- isaac_typescript_definitions_1.RoomType.DEFAULT,
74
- isaac_typescript_definitions_1.RoomType.BOSS,
75
- isaac_typescript_definitions_1.RoomType.MINI_BOSS,
67
+ const BACKDROP_EFFECT_VARIANT = EffectVariant.LADDER;
68
+ const BACKDROP_EFFECT_SUB_TYPE = LadderSubTypeCustom.CUSTOM_BACKDROP;
69
+ const BACKDROP_ROOM_TYPE_SET = new ReadonlySet([
70
+ RoomType.DEFAULT,
71
+ RoomType.BOSS,
72
+ RoomType.MINI_BOSS,
76
73
  ]);
77
- function setCustomStageBackdrop(customStage) {
78
- const room = cachedClasses_1.game.GetRoom();
74
+ export function setCustomStageBackdrop(customStage) {
75
+ const room = game.GetRoom();
79
76
  const roomType = room.GetType();
80
77
  // We do not want to set the backdrop inside shops, Curse Rooms, and so on.
81
78
  if (!BACKDROP_ROOM_TYPE_SET.has(roomType)) {
82
79
  return;
83
80
  }
84
81
  const decorationSeed = room.GetDecorationSeed();
85
- const rng = (0, rng_1.newRNG)(decorationSeed);
82
+ const rng = newRNG(decorationSeed);
86
83
  spawnWallEntity(customStage, rng, false);
87
84
  spawnSecondWallEntity(customStage, rng);
88
85
  spawnFloorEntity(customStage, rng);
@@ -90,29 +87,29 @@ function setCustomStageBackdrop(customStage) {
90
87
  function getBackdropPNGPath(customStage, backdropKind, rng) {
91
88
  const backdrop = customStage.backdropPNGPaths ?? DEFAULT_BACKDROP;
92
89
  const pathArray = backdrop[backdropKind];
93
- const randomPath = (0, array_1.getRandomArrayElement)(pathArray, rng);
94
- return (0, string_1.removeCharactersBefore)(randomPath, "gfx/");
90
+ const randomPath = getRandomArrayElement(pathArray, rng);
91
+ return removeCharactersBefore(randomPath, "gfx/");
95
92
  }
96
93
  function spawnWallEntity(customStage, rng, isExtraWall) {
97
- const room = cachedClasses_1.game.GetRoom();
94
+ const room = game.GetRoom();
98
95
  const roomShape = room.GetRoomShape();
99
96
  // We spawn an effect instead of simply rendering a static sprite in order to emulate how vanilla
100
97
  // does this. (`EntityFlag.RENDER_WALL` is intended for this purpose.)
101
98
  const seed = 1;
102
- const wallEffect = (0, entitiesSpecific_1.spawnEffectWithSeed)(BACKDROP_EFFECT_VARIANT, BACKDROP_EFFECT_SUB_TYPE, constants_1.VectorZero, seed);
103
- wallEffect.AddEntityFlags(isaac_typescript_definitions_1.EntityFlag.RENDER_WALL);
99
+ const wallEffect = spawnEffectWithSeed(BACKDROP_EFFECT_VARIANT, BACKDROP_EFFECT_SUB_TYPE, VectorZero, seed);
100
+ wallEffect.AddEntityFlags(EntityFlag.RENDER_WALL);
104
101
  const sprite = wallEffect.GetSprite();
105
- sprite.Load(`${constants_2.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/wall-backdrop.anm2`, false);
102
+ sprite.Load(`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/wall-backdrop.anm2`, false);
106
103
  const wallLayersArray = isExtraWall
107
104
  ? ROOM_SHAPE_WALL_EXTRA_ANM2_LAYERS
108
105
  : ROOM_SHAPE_WALL_ANM2_LAYERS;
109
106
  const numWallLayers = wallLayersArray[roomShape];
110
- (0, utils_1.assertDefined)(numWallLayers, `Failed to get the layers when creating the backdrop for custom stage: ${customStage.name}`);
111
- if ((0, roomShape_1.isLRoomShape)(roomShape)) {
107
+ assertDefined(numWallLayers, `Failed to get the layers when creating the backdrop for custom stage: ${customStage.name}`);
108
+ if (isLRoomShape(roomShape)) {
112
109
  const cornerPNGPath = getBackdropPNGPath(customStage, BackdropKind.CORNER, rng);
113
110
  sprite.ReplaceSpritesheet(0, cornerPNGPath);
114
111
  }
115
- for (const layerID of (0, utils_1.iRange)(1, numWallLayers)) {
112
+ for (const layerID of iRange(1, numWallLayers)) {
116
113
  const wallPNGPath = getBackdropPNGPath(customStage, BackdropKind.WALL, rng);
117
114
  sprite.ReplaceSpritesheet(layerID, wallPNGPath);
118
115
  }
@@ -121,13 +118,13 @@ function spawnWallEntity(customStage, rng, isExtraWall) {
121
118
  const modifiedOffset = renderPos.div(40).mul(26);
122
119
  wallEffect.SpriteOffset = modifiedOffset;
123
120
  sprite.LoadGraphics();
124
- const roomShapeName = isaac_typescript_definitions_1.RoomShape[roomShape];
125
- const animation = (0, string_1.trimPrefix)(roomShapeName, "SHAPE_");
121
+ const roomShapeName = RoomShape[roomShape];
122
+ const animation = trimPrefix(roomShapeName, "SHAPE_");
126
123
  const modifiedAnimation = isExtraWall ? `${animation}X` : animation;
127
124
  sprite.Play(modifiedAnimation, true);
128
125
  }
129
126
  function spawnSecondWallEntity(customStage, rng) {
130
- const room = cachedClasses_1.game.GetRoom();
127
+ const room = game.GetRoom();
131
128
  const roomShape = room.GetRoomShape();
132
129
  const extraLayers = ROOM_SHAPE_WALL_EXTRA_ANM2_LAYERS[roomShape];
133
130
  const roomShapeHasExtraLayers = extraLayers !== undefined;
@@ -136,30 +133,30 @@ function spawnSecondWallEntity(customStage, rng) {
136
133
  }
137
134
  }
138
135
  function spawnFloorEntity(customStage, rng) {
139
- const room = cachedClasses_1.game.GetRoom();
136
+ const room = game.GetRoom();
140
137
  const roomShape = room.GetRoomShape();
141
138
  // We spawn an effect instead of simply rendering a static sprite in order to emulate how vanilla
142
139
  // does this. (`EntityFlag.RENDER_FLOOR` is intended for this purpose.)
143
140
  const seed = 1;
144
- const floorEffect = (0, entitiesSpecific_1.spawnEffectWithSeed)(BACKDROP_EFFECT_VARIANT, 0, constants_1.VectorZero, seed);
145
- floorEffect.AddEntityFlags(isaac_typescript_definitions_1.EntityFlag.RENDER_FLOOR);
141
+ const floorEffect = spawnEffectWithSeed(BACKDROP_EFFECT_VARIANT, 0, VectorZero, seed);
142
+ floorEffect.AddEntityFlags(EntityFlag.RENDER_FLOOR);
146
143
  const sprite = floorEffect.GetSprite();
147
- sprite.Load(`${constants_2.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/floor-backdrop.anm2`, false);
144
+ sprite.Load(`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/floor-backdrop.anm2`, false);
148
145
  const numFloorLayers = getNumFloorLayers(roomShape);
149
146
  if (numFloorLayers !== undefined) {
150
- for (const layerID of (0, utils_1.eRange)(numFloorLayers)) {
147
+ for (const layerID of eRange(numFloorLayers)) {
151
148
  // The wall spritesheet is used for the "normal" floors.
152
149
  const wallPNGPath = getBackdropPNGPath(customStage, BackdropKind.WALL, rng);
153
150
  sprite.ReplaceSpritesheet(layerID, wallPNGPath);
154
151
  }
155
152
  }
156
- else if ((0, roomShape_1.isLRoomShape)(roomShape)) {
153
+ else if (isLRoomShape(roomShape)) {
157
154
  for (const layerID of L_FLOOR_ANM2_LAYERS) {
158
155
  const LFloorPNGPath = getBackdropPNGPath(customStage, BackdropKind.L_FLOOR, rng);
159
156
  sprite.ReplaceSpritesheet(layerID, LFloorPNGPath);
160
157
  }
161
158
  }
162
- else if ((0, roomShape_1.isNarrowRoom)(roomShape)) {
159
+ else if (isNarrowRoom(roomShape)) {
163
160
  for (const layerID of N_FLOOR_ANM2_LAYERS) {
164
161
  const NFloorPNGPath = getBackdropPNGPath(customStage, BackdropKind.N_FLOOR, rng);
165
162
  sprite.ReplaceSpritesheet(layerID, NFloorPNGPath);
@@ -170,20 +167,20 @@ function spawnFloorEntity(customStage, rng) {
170
167
  const modifiedOffset = renderPos.div(40).mul(26); // The magic numbers are copied from StageAPI.
171
168
  floorEffect.SpriteOffset = modifiedOffset;
172
169
  sprite.LoadGraphics();
173
- const roomShapeName = isaac_typescript_definitions_1.RoomShape[roomShape];
174
- const animation = (0, string_1.trimPrefix)(roomShapeName, "SHAPE_");
170
+ const roomShapeName = RoomShape[roomShape];
171
+ const animation = trimPrefix(roomShapeName, "SHAPE_");
175
172
  sprite.Play(animation, true);
176
173
  }
177
174
  function getNumFloorLayers(roomShape) {
178
175
  switch (roomShape) {
179
- case isaac_typescript_definitions_1.RoomShape.SHAPE_1x1: {
176
+ case RoomShape.SHAPE_1x1: {
180
177
  return 4;
181
178
  }
182
- case isaac_typescript_definitions_1.RoomShape.SHAPE_1x2:
183
- case isaac_typescript_definitions_1.RoomShape.SHAPE_2x1: {
179
+ case RoomShape.SHAPE_1x2:
180
+ case RoomShape.SHAPE_2x1: {
184
181
  return 8;
185
182
  }
186
- case isaac_typescript_definitions_1.RoomShape.SHAPE_2x2: {
183
+ case RoomShape.SHAPE_2x2: {
187
184
  return 16;
188
185
  }
189
186
  default: {
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CUSTOM_FLOOR_STAGE_TYPE = exports.CUSTOM_FLOOR_STAGE = exports.DEFAULT_BASE_STAGE_TYPE = exports.DEFAULT_BASE_STAGE = exports.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = exports.CUSTOM_STAGE_FEATURE_NAME = void 0;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- exports.CUSTOM_STAGE_FEATURE_NAME = "CustomStage";
6
- exports.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = "gfx/isaacscript-custom-stage";
7
- exports.DEFAULT_BASE_STAGE = isaac_typescript_definitions_1.LevelStage.BASEMENT_2;
8
- exports.DEFAULT_BASE_STAGE_TYPE = isaac_typescript_definitions_1.StageType.ORIGINAL;
1
+ import { LevelStage, StageType } from "isaac-typescript-definitions";
2
+ export const CUSTOM_STAGE_FEATURE_NAME = "CustomStage";
3
+ export const ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH = "gfx/isaacscript-custom-stage";
4
+ export const DEFAULT_BASE_STAGE = LevelStage.BASEMENT_2;
5
+ export const DEFAULT_BASE_STAGE_TYPE = StageType.ORIGINAL;
9
6
  /**
10
7
  * Equal to -1. Setting the stage to an invalid stage value is useful in that it prevents backdrops
11
8
  * and shadows from loading.
12
9
  */
13
- exports.CUSTOM_FLOOR_STAGE = -1;
10
+ export const CUSTOM_FLOOR_STAGE = -1;
14
11
  /**
15
12
  * We must use `StageType.WRATH_OF_THE_LAMB` instead of `StageType.ORIGINAL` or else the walls will
16
13
  * not render properly. DeadInfinity suspects that this might be because it is trying to use the
17
14
  * Dark Room's backdrop (instead of The Chest).
18
15
  */
19
- exports.CUSTOM_FLOOR_STAGE_TYPE = isaac_typescript_definitions_1.StageType.WRATH_OF_THE_LAMB;
16
+ export const CUSTOM_FLOOR_STAGE_TYPE = StageType.WRATH_OF_THE_LAMB;
@@ -1,17 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setCustomDecorationGraphics = setCustomDecorationGraphics;
4
- exports.setCustomRockGraphics = setCustomRockGraphics;
5
- exports.setCustomPitGraphics = setCustomPitGraphics;
6
- exports.setCustomDoorGraphics = setCustomDoorGraphics;
7
- exports.convertVanillaTrapdoors = convertVanillaTrapdoors;
8
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
9
- const gridEntities_1 = require("../../../../functions/gridEntities");
10
- const stage_1 = require("../../../../functions/stage");
11
- const string_1 = require("../../../../functions/string");
12
- const constants_1 = require("./constants");
1
+ import { GridEntityType, LevelStage } from "isaac-typescript-definitions";
2
+ import { removeGridEntity } from "../../../../functions/gridEntities";
3
+ import { calculateStageType } from "../../../../functions/stage";
4
+ import { removeCharactersBefore } from "../../../../functions/string";
5
+ import { DEFAULT_BASE_STAGE } from "./constants";
13
6
  /** For `GridEntityType.DECORATION` (1). */
14
- function setCustomDecorationGraphics(customStage, gridEntity) {
7
+ export function setCustomDecorationGraphics(customStage, gridEntity) {
15
8
  // If the end-user did not specify custom decoration graphics, default to Basement graphics. (We
16
9
  // don't have to adjust anything for this case.)
17
10
  if (customStage.decorationsPNGPath === undefined
@@ -19,7 +12,7 @@ function setCustomDecorationGraphics(customStage, gridEntity) {
19
12
  return;
20
13
  }
21
14
  const gridEntityType = gridEntity.GetType();
22
- if (gridEntityType !== isaac_typescript_definitions_1.GridEntityType.DECORATION) {
15
+ if (gridEntityType !== GridEntityType.DECORATION) {
23
16
  return;
24
17
  }
25
18
  const sprite = gridEntity.GetSprite();
@@ -29,17 +22,17 @@ function setCustomDecorationGraphics(customStage, gridEntity) {
29
22
  return;
30
23
  }
31
24
  if (customStage.decorationsANM2Path !== undefined) {
32
- const anm2Path = (0, string_1.removeCharactersBefore)(customStage.decorationsANM2Path, "gfx/");
25
+ const anm2Path = removeCharactersBefore(customStage.decorationsANM2Path, "gfx/");
33
26
  sprite.Load(anm2Path, true);
34
27
  }
35
28
  else if (customStage.decorationsPNGPath !== undefined) {
36
- const pngPath = (0, string_1.removeCharactersBefore)(customStage.decorationsPNGPath, "gfx/");
29
+ const pngPath = removeCharactersBefore(customStage.decorationsPNGPath, "gfx/");
37
30
  sprite.ReplaceSpritesheet(0, pngPath);
38
31
  sprite.LoadGraphics();
39
32
  }
40
33
  }
41
34
  /** For `GridEntityType.ROCK` (2). */
42
- function setCustomRockGraphics(customStage, gridEntity) {
35
+ export function setCustomRockGraphics(customStage, gridEntity) {
43
36
  // If the end-user did not specify custom rock graphics, default to Basement graphics. (We don't
44
37
  // have to adjust anything for this case.)
45
38
  if (customStage.rocksPNGPath === undefined
@@ -56,11 +49,11 @@ function setCustomRockGraphics(customStage, gridEntity) {
56
49
  case "gfx/grid/grid_rock.anm2": {
57
50
  // The normal case of a rock.
58
51
  if (customStage.rocksANM2Path !== undefined) {
59
- const anm2Path = (0, string_1.removeCharactersBefore)(customStage.rocksANM2Path, "gfx/");
52
+ const anm2Path = removeCharactersBefore(customStage.rocksANM2Path, "gfx/");
60
53
  sprite.Load(anm2Path, true);
61
54
  }
62
55
  else if (customStage.rocksPNGPath !== undefined) {
63
- const pngPath = (0, string_1.removeCharactersBefore)(customStage.rocksPNGPath, "gfx/");
56
+ const pngPath = removeCharactersBefore(customStage.rocksPNGPath, "gfx/");
64
57
  sprite.ReplaceSpritesheet(0, pngPath);
65
58
  sprite.LoadGraphics();
66
59
  }
@@ -69,7 +62,7 @@ function setCustomRockGraphics(customStage, gridEntity) {
69
62
  case "gfx/grid/grid_pit.anm2": {
70
63
  // The case of when a rock is blown on a pit to make a bridge.
71
64
  if (customStage.rocksPNGPath !== undefined) {
72
- const pngPath = (0, string_1.removeCharactersBefore)(customStage.rocksPNGPath, "gfx/");
65
+ const pngPath = removeCharactersBefore(customStage.rocksPNGPath, "gfx/");
73
66
  sprite.ReplaceSpritesheet(1, pngPath);
74
67
  sprite.LoadGraphics();
75
68
  }
@@ -81,13 +74,13 @@ function setCustomRockGraphics(customStage, gridEntity) {
81
74
  }
82
75
  }
83
76
  /** For `GridEntityType.PIT` (7). */
84
- function setCustomPitGraphics(customStage, gridEntity) {
77
+ export function setCustomPitGraphics(customStage, gridEntity) {
85
78
  // If the end-user did not specify custom pit graphics, default to Basement graphics. (We don't
86
79
  // have to adjust anything for this case.)
87
80
  if (customStage.pitsPNGPath === undefined) {
88
81
  return;
89
82
  }
90
- const pngPath = (0, string_1.removeCharactersBefore)(customStage.pitsPNGPath, "gfx/");
83
+ const pngPath = removeCharactersBefore(customStage.pitsPNGPath, "gfx/");
91
84
  const gridEntityPit = gridEntity.ToPit();
92
85
  if (gridEntityPit === undefined) {
93
86
  return;
@@ -100,7 +93,7 @@ function setCustomPitGraphics(customStage, gridEntity) {
100
93
  }
101
94
  }
102
95
  /** For `GridEntityType.DOOR` (16). */
103
- function setCustomDoorGraphics(customStage, gridEntity) {
96
+ export function setCustomDoorGraphics(customStage, gridEntity) {
104
97
  // If the end-user did not specify custom pit graphics, default to Basement graphics. (We don't
105
98
  // have to adjust anything for this case.)
106
99
  if (customStage.doorPNGPaths === undefined) {
@@ -114,7 +107,7 @@ function setCustomDoorGraphics(customStage, gridEntity) {
114
107
  const fileName = sprite.GetFilename();
115
108
  const doorPNGPath = getNewDoorPNGPath(customStage, fileName);
116
109
  if (doorPNGPath !== undefined) {
117
- const fixedPath = (0, string_1.removeCharactersBefore)(doorPNGPath, "gfx/");
110
+ const fixedPath = removeCharactersBefore(doorPNGPath, "gfx/");
118
111
  sprite.ReplaceSpritesheet(0, fixedPath);
119
112
  sprite.LoadGraphics();
120
113
  }
@@ -159,24 +152,24 @@ function getNewDoorPNGPath(customStage, fileName) {
159
152
  }
160
153
  }
161
154
  }
162
- function convertVanillaTrapdoors(customStage, gridEntity, isFirstFloor, customTrapdoors) {
155
+ export function convertVanillaTrapdoors(customStage, gridEntity, isFirstFloor, customTrapdoors) {
163
156
  const gridEntityType = gridEntity.GetType();
164
- if (gridEntityType !== isaac_typescript_definitions_1.GridEntityType.TRAPDOOR) {
157
+ if (gridEntityType !== GridEntityType.TRAPDOOR) {
165
158
  return;
166
159
  }
167
- (0, gridEntities_1.removeGridEntity)(gridEntity, true);
160
+ removeGridEntity(gridEntity, true);
168
161
  if (isFirstFloor) {
169
162
  // If we are on the first floor of a custom stage, then the destination will be the second floor
170
163
  // of the custom stage. (e.g. Caves 1 to Caves 2)
171
- customTrapdoors.spawnCustomTrapdoor(gridEntity.Position, customStage.name, isaac_typescript_definitions_1.LevelStage.BASEMENT_2);
164
+ customTrapdoors.spawnCustomTrapdoor(gridEntity.Position, customStage.name, LevelStage.BASEMENT_2);
172
165
  }
173
166
  else {
174
167
  // If we are on the second floor of a custom stage, then the destination will be the vanilla
175
168
  // floor equivalent to 2 floors after the floor used as a basis for the custom stage.
176
- const baseStage = customStage.baseStage ?? constants_1.DEFAULT_BASE_STAGE;
169
+ const baseStage = customStage.baseStage ?? DEFAULT_BASE_STAGE;
177
170
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
178
171
  const destinationStage = (baseStage + 2);
179
- const destinationStageType = (0, stage_1.calculateStageType)(destinationStage);
172
+ const destinationStageType = calculateStageType(destinationStage);
180
173
  customTrapdoors.spawnCustomTrapdoor(gridEntity.Position, undefined, destinationStage, destinationStageType);
181
174
  }
182
175
  }
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setShadows = setShadows;
4
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
5
- const cachedClasses_1 = require("../../../../core/cachedClasses");
6
- const LadderSubTypeCustom_1 = require("../../../../enums/LadderSubTypeCustom");
7
- const array_1 = require("../../../../functions/array");
8
- const entitiesSpecific_1 = require("../../../../functions/entitiesSpecific");
9
- const string_1 = require("../../../../functions/string");
10
- const constants_1 = require("./constants");
1
+ import { EffectVariant, RoomShape } from "isaac-typescript-definitions";
2
+ import { game } from "../../../../core/cachedClasses";
3
+ import { LadderSubTypeCustom } from "../../../../enums/LadderSubTypeCustom";
4
+ import { getRandomArrayElement } from "../../../../functions/array";
5
+ import { spawnEffectWithSeed } from "../../../../functions/entitiesSpecific";
6
+ import { removeCharactersBefore } from "../../../../functions/string";
7
+ import { ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH } from "./constants";
11
8
  /**
12
9
  * Normally, we would make a custom entity to represent a shadow effect, but we don't want to
13
10
  * interfere with the "entities2.xml" file in end-user mods. Thus, we must select a vanilla effect
@@ -16,29 +13,29 @@ const constants_1 = require("./constants");
16
13
  * We arbitrarily choose a ladder for this purpose because it will not automatically despawn after
17
14
  * time passes, like most other effects.
18
15
  */
19
- const SHADOW_EFFECT_VARIANT = isaac_typescript_definitions_1.EffectVariant.LADDER;
20
- const SHADOW_EFFECT_SUB_TYPE = LadderSubTypeCustom_1.LadderSubTypeCustom.CUSTOM_SHADOW;
16
+ const SHADOW_EFFECT_VARIANT = EffectVariant.LADDER;
17
+ const SHADOW_EFFECT_SUB_TYPE = LadderSubTypeCustom.CUSTOM_SHADOW;
21
18
  /** The animation comes from StageAPI. */
22
19
  const ROOM_SHAPE_TO_SHADOW_ANIMATION = {
23
- [isaac_typescript_definitions_1.RoomShape.SHAPE_1x1]: "1x1", // 1
24
- [isaac_typescript_definitions_1.RoomShape.IH]: "1x1", // 2
25
- [isaac_typescript_definitions_1.RoomShape.IV]: "1x1", // 3
26
- [isaac_typescript_definitions_1.RoomShape.SHAPE_1x2]: "1x2", // 4
27
- [isaac_typescript_definitions_1.RoomShape.IIV]: "1x2", // 5
28
- [isaac_typescript_definitions_1.RoomShape.SHAPE_2x1]: "2x1", // 6
29
- [isaac_typescript_definitions_1.RoomShape.IIH]: "2x1", // 7
30
- [isaac_typescript_definitions_1.RoomShape.SHAPE_2x2]: "2x2", // 8
31
- [isaac_typescript_definitions_1.RoomShape.LTL]: "2x2", // 9
32
- [isaac_typescript_definitions_1.RoomShape.LTR]: "2x2", // 10
33
- [isaac_typescript_definitions_1.RoomShape.LBL]: "2x2", // 11
34
- [isaac_typescript_definitions_1.RoomShape.LBR]: "2x2", // 12
20
+ [RoomShape.SHAPE_1x1]: "1x1", // 1
21
+ [RoomShape.IH]: "1x1", // 2
22
+ [RoomShape.IV]: "1x1", // 3
23
+ [RoomShape.SHAPE_1x2]: "1x2", // 4
24
+ [RoomShape.IIV]: "1x2", // 5
25
+ [RoomShape.SHAPE_2x1]: "2x1", // 6
26
+ [RoomShape.IIH]: "2x1", // 7
27
+ [RoomShape.SHAPE_2x2]: "2x2", // 8
28
+ [RoomShape.LTL]: "2x2", // 9
29
+ [RoomShape.LTR]: "2x2", // 10
30
+ [RoomShape.LBL]: "2x2", // 11
31
+ [RoomShape.LBR]: "2x2", // 12
35
32
  };
36
33
  const FADED_BLACK = Color(0, 0, 0, 0.25);
37
- function setShadows(customStage) {
34
+ export function setShadows(customStage) {
38
35
  if (customStage.shadows === undefined) {
39
36
  return;
40
37
  }
41
- const room = cachedClasses_1.game.GetRoom();
38
+ const room = game.GetRoom();
42
39
  const roomShape = room.GetRoomShape();
43
40
  const centerPos = room.GetCenterPos();
44
41
  const animation = ROOM_SHAPE_TO_SHADOW_ANIMATION[roomShape];
@@ -50,12 +47,12 @@ function setShadows(customStage) {
50
47
  // slide in during a room transition animation. (It looks stupid if the shadow stays statically
51
48
  // rendering throughout this animation.)
52
49
  const seed = 1;
53
- const shadowEffect = (0, entitiesSpecific_1.spawnEffectWithSeed)(SHADOW_EFFECT_VARIANT, SHADOW_EFFECT_SUB_TYPE, centerPos, seed);
50
+ const shadowEffect = spawnEffectWithSeed(SHADOW_EFFECT_VARIANT, SHADOW_EFFECT_SUB_TYPE, centerPos, seed);
54
51
  const sprite = shadowEffect.GetSprite();
55
- sprite.Load(`${constants_1.ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/stage-shadow.anm2`, false);
52
+ sprite.Load(`${ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH}/stage-shadow.anm2`, false);
56
53
  const decorationSeed = room.GetDecorationSeed();
57
- const shadow = (0, array_1.getRandomArrayElement)(shadows, decorationSeed);
58
- const pngPath = (0, string_1.removeCharactersBefore)(shadow.pngPath, "gfx/");
54
+ const shadow = getRandomArrayElement(shadows, decorationSeed);
55
+ const pngPath = removeCharactersBefore(shadow.pngPath, "gfx/");
59
56
  sprite.ReplaceSpritesheet(0, pngPath);
60
57
  sprite.LoadGraphics();
61
58
  sprite.SetFrame(animation, 0);