isaacscript-common 87.9.7 → 87.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/dist/cachedEnumValues.js +29 -32
  2. package/dist/callbackClasses.js +142 -289
  3. package/dist/callbacks.js +147 -183
  4. package/dist/classes/DefaultMap.js +4 -8
  5. package/dist/classes/ModFeature.js +21 -25
  6. package/dist/classes/ModUpgraded.js +43 -47
  7. package/dist/classes/callbacks/EntityTakeDmgFilter.js +6 -10
  8. package/dist/classes/callbacks/EntityTakeDmgPlayer.js +7 -11
  9. package/dist/classes/callbacks/InputActionFilter.js +4 -8
  10. package/dist/classes/callbacks/InputActionPlayer.js +4 -8
  11. package/dist/classes/callbacks/PostAmbushFinished.js +10 -14
  12. package/dist/classes/callbacks/PostAmbushStarted.js +10 -14
  13. package/dist/classes/callbacks/PostBombExploded.js +8 -12
  14. package/dist/classes/callbacks/PostBombInitFilter.js +6 -10
  15. package/dist/classes/callbacks/PostBombInitLate.js +6 -10
  16. package/dist/classes/callbacks/PostBombRenderFilter.js +6 -10
  17. package/dist/classes/callbacks/PostBombUpdateFilter.js +6 -10
  18. package/dist/classes/callbacks/PostBoneSwing.js +7 -11
  19. package/dist/classes/callbacks/PostCollectibleEmpty.js +6 -10
  20. package/dist/classes/callbacks/PostCursedTeleport.js +30 -34
  21. package/dist/classes/callbacks/PostCustomRevive.js +4 -8
  22. package/dist/classes/callbacks/PostDiceRoomActivated.js +9 -13
  23. package/dist/classes/callbacks/PostDoorRender.js +8 -12
  24. package/dist/classes/callbacks/PostDoorUpdate.js +8 -12
  25. package/dist/classes/callbacks/PostEffectInitFilter.js +6 -10
  26. package/dist/classes/callbacks/PostEffectInitLate.js +6 -10
  27. package/dist/classes/callbacks/PostEffectRenderFilter.js +6 -10
  28. package/dist/classes/callbacks/PostEffectStateChanged.js +8 -12
  29. package/dist/classes/callbacks/PostEffectUpdateFilter.js +6 -10
  30. package/dist/classes/callbacks/PostEntityKillFilter.js +6 -10
  31. package/dist/classes/callbacks/PostEntityRemoveFilter.js +6 -10
  32. package/dist/classes/callbacks/PostEsauJr.js +4 -8
  33. package/dist/classes/callbacks/PostFamiliarInitFilter.js +6 -10
  34. package/dist/classes/callbacks/PostFamiliarInitLate.js +6 -10
  35. package/dist/classes/callbacks/PostFamiliarRenderFilter.js +6 -10
  36. package/dist/classes/callbacks/PostFamiliarStateChanged.js +8 -12
  37. package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +6 -10
  38. package/dist/classes/callbacks/PostFirstEsauJr.js +4 -8
  39. package/dist/classes/callbacks/PostFirstFlip.js +4 -8
  40. package/dist/classes/callbacks/PostFlip.js +4 -8
  41. package/dist/classes/callbacks/PostGameEndFilter.js +6 -10
  42. package/dist/classes/callbacks/PostGameStartedReordered.js +6 -10
  43. package/dist/classes/callbacks/PostGameStartedReorderedLast.js +6 -10
  44. package/dist/classes/callbacks/PostGreedModeWave.js +7 -11
  45. package/dist/classes/callbacks/PostGridEntityBroken.js +6 -10
  46. package/dist/classes/callbacks/PostGridEntityCollision.js +4 -8
  47. package/dist/classes/callbacks/PostGridEntityCustomBroken.js +6 -10
  48. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +4 -8
  49. package/dist/classes/callbacks/PostGridEntityCustomInit.js +6 -10
  50. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +4 -8
  51. package/dist/classes/callbacks/PostGridEntityCustomRender.js +6 -10
  52. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +6 -10
  53. package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +6 -10
  54. package/dist/classes/callbacks/PostGridEntityInit.js +6 -10
  55. package/dist/classes/callbacks/PostGridEntityRemove.js +4 -8
  56. package/dist/classes/callbacks/PostGridEntityRender.js +6 -10
  57. package/dist/classes/callbacks/PostGridEntityStateChanged.js +6 -10
  58. package/dist/classes/callbacks/PostGridEntityUpdate.js +6 -10
  59. package/dist/classes/callbacks/PostHolyMantleRemoved.js +15 -19
  60. package/dist/classes/callbacks/PostItemDischarge.js +23 -27
  61. package/dist/classes/callbacks/PostItemPickup.js +6 -10
  62. package/dist/classes/callbacks/PostKeyboardChanged.js +9 -13
  63. package/dist/classes/callbacks/PostKnifeInitFilter.js +6 -10
  64. package/dist/classes/callbacks/PostKnifeInitLate.js +6 -10
  65. package/dist/classes/callbacks/PostKnifeRenderFilter.js +6 -10
  66. package/dist/classes/callbacks/PostKnifeUpdateFilter.js +6 -10
  67. package/dist/classes/callbacks/PostLaserInitFilter.js +6 -10
  68. package/dist/classes/callbacks/PostLaserInitLate.js +6 -10
  69. package/dist/classes/callbacks/PostLaserRenderFilter.js +6 -10
  70. package/dist/classes/callbacks/PostLaserUpdateFilter.js +6 -10
  71. package/dist/classes/callbacks/PostNPCDeathFilter.js +6 -10
  72. package/dist/classes/callbacks/PostNPCInitFilter.js +6 -10
  73. package/dist/classes/callbacks/PostNPCInitLate.js +6 -10
  74. package/dist/classes/callbacks/PostNPCRenderFilter.js +6 -10
  75. package/dist/classes/callbacks/PostNPCStateChanged.js +8 -12
  76. package/dist/classes/callbacks/PostNPCUpdateFilter.js +6 -10
  77. package/dist/classes/callbacks/PostNewLevelReordered.js +6 -10
  78. package/dist/classes/callbacks/PostNewRoomEarly.js +17 -21
  79. package/dist/classes/callbacks/PostNewRoomReordered.js +6 -10
  80. package/dist/classes/callbacks/PostPEffectUpdateReordered.js +6 -10
  81. package/dist/classes/callbacks/PostPickupChanged.js +6 -10
  82. package/dist/classes/callbacks/PostPickupCollect.js +8 -12
  83. package/dist/classes/callbacks/PostPickupInitFilter.js +6 -10
  84. package/dist/classes/callbacks/PostPickupInitFirst.js +10 -14
  85. package/dist/classes/callbacks/PostPickupInitLate.js +6 -10
  86. package/dist/classes/callbacks/PostPickupRenderFilter.js +6 -10
  87. package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -8
  88. package/dist/classes/callbacks/PostPickupStateChanged.js +8 -12
  89. package/dist/classes/callbacks/PostPickupUpdateFilter.js +6 -10
  90. package/dist/classes/callbacks/PostPitRender.js +8 -12
  91. package/dist/classes/callbacks/PostPitUpdate.js +8 -12
  92. package/dist/classes/callbacks/PostPlayerChangeHealth.js +14 -18
  93. package/dist/classes/callbacks/PostPlayerChangeStat.js +26 -30
  94. package/dist/classes/callbacks/PostPlayerChangeType.js +11 -15
  95. package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +6 -10
  96. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +6 -10
  97. package/dist/classes/callbacks/PostPlayerFatalDamage.js +24 -28
  98. package/dist/classes/callbacks/PostPlayerInitFirst.js +12 -16
  99. package/dist/classes/callbacks/PostPlayerInitLate.js +9 -13
  100. package/dist/classes/callbacks/PostPlayerRenderReordered.js +6 -10
  101. package/dist/classes/callbacks/PostPlayerUpdateReordered.js +6 -10
  102. package/dist/classes/callbacks/PostPoopRender.js +8 -12
  103. package/dist/classes/callbacks/PostPoopUpdate.js +8 -12
  104. package/dist/classes/callbacks/PostPressurePlateRender.js +8 -12
  105. package/dist/classes/callbacks/PostPressurePlateUpdate.js +8 -12
  106. package/dist/classes/callbacks/PostProjectileInitFilter.js +6 -10
  107. package/dist/classes/callbacks/PostProjectileInitLate.js +6 -10
  108. package/dist/classes/callbacks/PostProjectileKill.js +8 -12
  109. package/dist/classes/callbacks/PostProjectileRenderFilter.js +6 -10
  110. package/dist/classes/callbacks/PostProjectileUpdateFilter.js +6 -10
  111. package/dist/classes/callbacks/PostPurchase.js +21 -25
  112. package/dist/classes/callbacks/PostRockRender.js +8 -12
  113. package/dist/classes/callbacks/PostRockUpdate.js +8 -12
  114. package/dist/classes/callbacks/PostRoomClearChanged.js +9 -13
  115. package/dist/classes/callbacks/PostSacrifice.js +12 -16
  116. package/dist/classes/callbacks/PostSlotAnimationChanged.js +6 -10
  117. package/dist/classes/callbacks/PostSlotCollision.js +8 -12
  118. package/dist/classes/callbacks/PostSlotDestroyed.js +6 -10
  119. package/dist/classes/callbacks/PostSlotInit.js +6 -10
  120. package/dist/classes/callbacks/PostSlotRender.js +6 -10
  121. package/dist/classes/callbacks/PostSlotUpdate.js +6 -10
  122. package/dist/classes/callbacks/PostSpikesRender.js +8 -12
  123. package/dist/classes/callbacks/PostSpikesUpdate.js +8 -12
  124. package/dist/classes/callbacks/PostTNTRender.js +8 -12
  125. package/dist/classes/callbacks/PostTNTUpdate.js +8 -12
  126. package/dist/classes/callbacks/PostTearInitFilter.js +6 -10
  127. package/dist/classes/callbacks/PostTearInitLate.js +6 -10
  128. package/dist/classes/callbacks/PostTearInitVeryLate.js +6 -10
  129. package/dist/classes/callbacks/PostTearKill.js +8 -12
  130. package/dist/classes/callbacks/PostTearRenderFilter.js +6 -10
  131. package/dist/classes/callbacks/PostTearUpdateFilter.js +6 -10
  132. package/dist/classes/callbacks/PostTransformation.js +10 -14
  133. package/dist/classes/callbacks/PostTrinketBreak.js +16 -20
  134. package/dist/classes/callbacks/PostUsePillFilter.js +18 -22
  135. package/dist/classes/callbacks/PreBerserkDeath.js +14 -18
  136. package/dist/classes/callbacks/PreBombCollisionFilter.js +6 -10
  137. package/dist/classes/callbacks/PreCustomRevive.js +6 -10
  138. package/dist/classes/callbacks/PreEntitySpawnFilter.js +4 -8
  139. package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +6 -10
  140. package/dist/classes/callbacks/PreGetPedestal.js +8 -12
  141. package/dist/classes/callbacks/PreItemPickup.js +6 -10
  142. package/dist/classes/callbacks/PreKnifeCollisionFilter.js +6 -10
  143. package/dist/classes/callbacks/PreNPCCollisionFilter.js +6 -10
  144. package/dist/classes/callbacks/PreNPCUpdateFilter.js +6 -10
  145. package/dist/classes/callbacks/PreNewLevel.js +10 -14
  146. package/dist/classes/callbacks/PreProjectileCollisionFilter.js +6 -10
  147. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +4 -8
  148. package/dist/classes/callbacks/PreTearCollisionFilter.js +6 -10
  149. package/dist/classes/features/callbackLogic/CustomGridEntities.js +46 -50
  150. package/dist/classes/features/callbackLogic/CustomRevive.js +28 -32
  151. package/dist/classes/features/callbackLogic/EsauJrDetection.js +11 -15
  152. package/dist/classes/features/callbackLogic/FlipDetection.js +11 -15
  153. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +26 -30
  154. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +10 -14
  155. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +6 -10
  156. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +12 -16
  157. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +17 -21
  158. package/dist/classes/features/callbackLogic/PickupChangeDetection.js +6 -10
  159. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +39 -43
  160. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +18 -22
  161. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +17 -21
  162. package/dist/classes/features/callbackLogic/SlotRenderDetection.js +8 -12
  163. package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +9 -13
  164. package/dist/classes/features/other/CharacterHealthConversion.js +13 -17
  165. package/dist/classes/features/other/CharacterStats.js +9 -13
  166. package/dist/classes/features/other/CollectibleItemPoolType.js +17 -21
  167. package/dist/classes/features/other/CustomHotkeys.js +15 -19
  168. package/dist/classes/features/other/CustomItemPools.js +20 -24
  169. package/dist/classes/features/other/CustomPickups.js +15 -19
  170. package/dist/classes/features/other/CustomStages.js +116 -153
  171. package/dist/classes/features/other/CustomTrapdoors.js +119 -123
  172. package/dist/classes/features/other/DebugDisplay.js +77 -81
  173. package/dist/classes/features/other/DeployJSONRoom.js +65 -69
  174. package/dist/classes/features/other/DisableAllSound.js +14 -18
  175. package/dist/classes/features/other/DisableInputs.js +24 -28
  176. package/dist/classes/features/other/EdenStartingStatsHealth.js +36 -40
  177. package/dist/classes/features/other/ExtraConsoleCommands.js +65 -102
  178. package/dist/classes/features/other/FadeInRemover.js +9 -13
  179. package/dist/classes/features/other/FastReset.js +18 -22
  180. package/dist/classes/features/other/FlyingDetection.js +10 -14
  181. package/dist/classes/features/other/ForgottenSwitch.js +8 -12
  182. package/dist/classes/features/other/ItemPoolDetection.js +35 -39
  183. package/dist/classes/features/other/ModdedElementDetection.js +43 -47
  184. package/dist/classes/features/other/ModdedElementSets.js +135 -139
  185. package/dist/classes/features/other/NoSirenSteal.js +7 -11
  186. package/dist/classes/features/other/Pause.js +48 -52
  187. package/dist/classes/features/other/PersistentEntities.js +16 -20
  188. package/dist/classes/features/other/PickupIndexCreation.js +31 -35
  189. package/dist/classes/features/other/PlayerCollectibleTracking.js +18 -22
  190. package/dist/classes/features/other/PonyDetection.js +22 -26
  191. package/dist/classes/features/other/PressInput.js +10 -14
  192. package/dist/classes/features/other/PreventChildEntities.js +6 -10
  193. package/dist/classes/features/other/PreventGridEntityRespawn.js +34 -38
  194. package/dist/classes/features/other/RerunDetection.js +11 -15
  195. package/dist/classes/features/other/RoomClearFrame.js +11 -15
  196. package/dist/classes/features/other/RoomHistory.js +30 -34
  197. package/dist/classes/features/other/RunInNFrames.js +24 -28
  198. package/dist/classes/features/other/RunNextRoom.js +8 -12
  199. package/dist/classes/features/other/RunNextRun.js +8 -12
  200. package/dist/classes/features/other/SaveDataManager.js +61 -65
  201. package/dist/classes/features/other/SpawnRockAltRewards.js +115 -119
  202. package/dist/classes/features/other/StageHistory.js +76 -80
  203. package/dist/classes/features/other/StartAmbush.js +12 -16
  204. package/dist/classes/features/other/TaintedLazarusPlayers.js +10 -14
  205. package/dist/classes/features/other/UnlockAchievementsDetection.js +10 -14
  206. package/dist/classes/features/other/customStages/backdrop.js +68 -71
  207. package/dist/classes/features/other/customStages/constants.js +7 -10
  208. package/dist/classes/features/other/customStages/gridEntities.js +23 -30
  209. package/dist/classes/features/other/customStages/shadows.js +27 -30
  210. package/dist/classes/features/other/customStages/streakText.js +55 -60
  211. package/dist/classes/features/other/customStages/utils.js +13 -17
  212. package/dist/classes/features/other/customStages/v.js +4 -7
  213. package/dist/classes/features/other/customStages/versusScreen.js +46 -50
  214. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +8 -12
  215. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +8 -12
  216. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +8 -12
  217. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +8 -12
  218. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +8 -12
  219. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +8 -12
  220. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +8 -12
  221. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +8 -12
  222. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +8 -12
  223. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +8 -12
  224. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +8 -12
  225. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +8 -12
  226. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +8 -12
  227. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +8 -12
  228. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +8 -12
  229. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +8 -12
  230. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +8 -12
  231. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +8 -12
  232. package/dist/classes/features/other/debugDisplay/utils.js +6 -10
  233. package/dist/classes/features/other/extraConsoleCommands/commands.js +411 -557
  234. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +47 -57
  235. package/dist/classes/features/other/extraConsoleCommands/v.js +1 -4
  236. package/dist/classes/features/other/saveDataManager/constants.js +1 -4
  237. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +17 -21
  238. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +19 -22
  239. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +20 -25
  240. package/dist/classes/features/other/saveDataManager/saveToDisk.js +13 -16
  241. package/dist/classes/private/CustomCallback.js +4 -8
  242. package/dist/classes/private/Feature.js +1 -5
  243. package/dist/core/cachedClasses.js +12 -15
  244. package/dist/core/constants.js +126 -130
  245. package/dist/core/constantsFirstLast.js +22 -25
  246. package/dist/core/constantsVanilla.js +25 -28
  247. package/dist/core/upgradeMod.js +7 -10
  248. package/dist/decorators.js +6 -10
  249. package/dist/enums/AmbushType.js +2 -5
  250. package/dist/enums/CornerType.js +2 -5
  251. package/dist/enums/HealthType.js +2 -5
  252. package/dist/enums/ISCFeature.js +2 -5
  253. package/dist/enums/LadderSubTypeCustom.js +2 -5
  254. package/dist/enums/ModCallbackCustom.js +2 -5
  255. package/dist/enums/MysteriousPaperEffect.js +2 -5
  256. package/dist/enums/PlayerStat.js +2 -5
  257. package/dist/enums/PocketItemType.js +2 -5
  258. package/dist/enums/RockAltType.js +2 -5
  259. package/dist/enums/SaveDataKey.js +2 -5
  260. package/dist/enums/SerializationType.js +2 -5
  261. package/dist/enums/SlotDestructionType.js +2 -5
  262. package/dist/enums/private/GridEntityTypeCustom.js +1 -4
  263. package/dist/enums/private/SerializationBrand.js +2 -5
  264. package/dist/enums/private/StageTravelState.js +2 -5
  265. package/dist/enums/private/TrapdoorAnimation.js +2 -5
  266. package/dist/enums/private/UIStreakAnimation.js +2 -5
  267. package/dist/features.js +138 -141
  268. package/dist/functions/ambush.js +9 -12
  269. package/dist/functions/array.js +45 -76
  270. package/dist/functions/arrayLua.js +7 -16
  271. package/dist/functions/benchmark.js +4 -7
  272. package/dist/functions/bitSet128.js +19 -26
  273. package/dist/functions/bitwise.js +14 -23
  274. package/dist/functions/bombs.js +1 -4
  275. package/dist/functions/bosses.js +68 -85
  276. package/dist/functions/cards.js +44 -62
  277. package/dist/functions/challenges.js +28 -39
  278. package/dist/functions/characters.js +68 -87
  279. package/dist/functions/charge.js +41 -52
  280. package/dist/functions/chargeBar.js +2 -6
  281. package/dist/functions/collectibleTag.js +9 -13
  282. package/dist/functions/collectibles.js +133 -172
  283. package/dist/functions/color.js +29 -38
  284. package/dist/functions/console.js +4 -8
  285. package/dist/functions/curses.js +6 -10
  286. package/dist/functions/debugFunctions.js +7 -14
  287. package/dist/functions/decorators.js +13 -19
  288. package/dist/functions/deepCopy.js +96 -99
  289. package/dist/functions/deepCopyTests.js +56 -59
  290. package/dist/functions/dimensions.js +10 -14
  291. package/dist/functions/direction.js +22 -30
  292. package/dist/functions/doors.js +104 -154
  293. package/dist/functions/easing.js +30 -62
  294. package/dist/functions/effects.js +6 -10
  295. package/dist/functions/emptyRoom.js +30 -34
  296. package/dist/functions/entities.js +88 -115
  297. package/dist/functions/entitiesSpecific.js +83 -125
  298. package/dist/functions/entityTypes.js +3 -6
  299. package/dist/functions/enums.js +27 -41
  300. package/dist/functions/external.js +4 -8
  301. package/dist/functions/familiars.js +17 -25
  302. package/dist/functions/flag.js +10 -19
  303. package/dist/functions/frames.js +31 -51
  304. package/dist/functions/globals.js +26 -66
  305. package/dist/functions/gridEntities.js +231 -269
  306. package/dist/functions/gridEntitiesSpecific.js +86 -126
  307. package/dist/functions/gridIndex.js +8 -11
  308. package/dist/functions/hash.js +1 -4
  309. package/dist/functions/hex.js +7 -11
  310. package/dist/functions/input.js +65 -88
  311. package/dist/functions/isaacAPIClass.js +28 -53
  312. package/dist/functions/itemPool.js +39 -48
  313. package/dist/functions/jsonHelpers.js +5 -42
  314. package/dist/functions/jsonRoom.js +39 -46
  315. package/dist/functions/kColor.js +30 -39
  316. package/dist/functions/language.js +3 -6
  317. package/dist/functions/level.js +20 -26
  318. package/dist/functions/levelGrid.js +81 -108
  319. package/dist/functions/log.js +6 -12
  320. package/dist/functions/logEntities.js +49 -59
  321. package/dist/functions/logMisc.js +183 -214
  322. package/dist/functions/map.js +10 -20
  323. package/dist/functions/math.js +16 -31
  324. package/dist/functions/merge.js +48 -51
  325. package/dist/functions/mergeTests.js +34 -37
  326. package/dist/functions/minimap.js +34 -46
  327. package/dist/functions/modFeatures.js +1 -4
  328. package/dist/functions/newArray.js +5 -8
  329. package/dist/functions/nextStage.js +63 -67
  330. package/dist/functions/npcDataStructures.js +9 -20
  331. package/dist/functions/npcs.js +37 -45
  332. package/dist/functions/pickupVariants.js +26 -39
  333. package/dist/functions/pickups.js +43 -59
  334. package/dist/functions/pickupsSpecific.js +76 -118
  335. package/dist/functions/pills.js +52 -72
  336. package/dist/functions/playerCenter.js +13 -16
  337. package/dist/functions/playerCollectibles.js +59 -79
  338. package/dist/functions/playerDataStructures.js +18 -29
  339. package/dist/functions/playerEffects.js +12 -19
  340. package/dist/functions/playerHealth.js +91 -113
  341. package/dist/functions/playerIndex.js +22 -33
  342. package/dist/functions/playerTrinkets.js +31 -43
  343. package/dist/functions/players.js +87 -126
  344. package/dist/functions/pocketItems.js +33 -43
  345. package/dist/functions/positionVelocity.js +23 -32
  346. package/dist/functions/pressurePlate.js +7 -10
  347. package/dist/functions/projectiles.js +11 -15
  348. package/dist/functions/random.js +8 -13
  349. package/dist/functions/readOnly.js +3 -8
  350. package/dist/functions/render.js +7 -12
  351. package/dist/functions/revive.js +38 -45
  352. package/dist/functions/rng.js +31 -44
  353. package/dist/functions/rockAlt.js +18 -22
  354. package/dist/functions/roomData.js +24 -40
  355. package/dist/functions/roomGrid.js +17 -25
  356. package/dist/functions/roomShape.js +39 -55
  357. package/dist/functions/roomShapeWalls.js +67 -71
  358. package/dist/functions/roomTransition.js +13 -17
  359. package/dist/functions/rooms.js +181 -244
  360. package/dist/functions/run.js +29 -39
  361. package/dist/functions/seeds.js +6 -10
  362. package/dist/functions/serialization.js +27 -34
  363. package/dist/functions/set.js +24 -40
  364. package/dist/functions/slots.js +18 -22
  365. package/dist/functions/sort.js +9 -15
  366. package/dist/functions/sound.js +12 -16
  367. package/dist/functions/spawnCollectible.js +21 -26
  368. package/dist/functions/sprites.js +16 -24
  369. package/dist/functions/stage.js +122 -164
  370. package/dist/functions/stats.js +37 -43
  371. package/dist/functions/storyBosses.js +36 -40
  372. package/dist/functions/string.js +19 -33
  373. package/dist/functions/table.js +21 -31
  374. package/dist/functions/tears.js +6 -14
  375. package/dist/functions/transformations.js +35 -42
  376. package/dist/functions/trinketGive.js +29 -36
  377. package/dist/functions/trinkets.js +45 -60
  378. package/dist/functions/tstlClass.js +11 -20
  379. package/dist/functions/types.js +22 -46
  380. package/dist/functions/ui.js +25 -40
  381. package/dist/functions/utils.js +22 -36
  382. package/dist/functions/vector.js +33 -46
  383. package/dist/functions/versusScreen.js +12 -18
  384. package/dist/functions/weighted.js +8 -12
  385. package/dist/index.js +150 -166
  386. package/dist/indexLua.js +151 -167
  387. package/dist/interfaces/ChargeBarSprites.js +1 -2
  388. package/dist/interfaces/Corner.js +1 -2
  389. package/dist/interfaces/CustomStageTSConfig.js +1 -2
  390. package/dist/interfaces/GridEntityCustomData.js +1 -2
  391. package/dist/interfaces/JSONRoomsFile.js +1 -2
  392. package/dist/interfaces/PlayerHealth.js +1 -2
  393. package/dist/interfaces/PlayerStats.js +2 -4
  394. package/dist/interfaces/PocketItemDescription.js +1 -2
  395. package/dist/interfaces/RoomDescription.js +1 -2
  396. package/dist/interfaces/SaveData.js +1 -2
  397. package/dist/interfaces/StageHistoryEntry.js +1 -2
  398. package/dist/interfaces/TSTLClassMetatable.js +1 -2
  399. package/dist/interfaces/TrinketSituation.js +1 -2
  400. package/dist/interfaces/private/AddCallbackParametersCustom.js +2 -4
  401. package/dist/interfaces/private/CustomStage.js +1 -2
  402. package/dist/interfaces/private/CustomTrapdoorDescription.js +1 -2
  403. package/dist/interfaces/private/ModUpgradedInterface.js +1 -2
  404. package/dist/isaacscript-common.lua +1 -1
  405. package/dist/maps/PHDPillConversionsMap.js +19 -22
  406. package/dist/maps/cardNameToTypeMap.js +205 -208
  407. package/dist/maps/characterNameToTypeMap.js +85 -88
  408. package/dist/maps/collectibleNameToTypeMap.js +5 -8
  409. package/dist/maps/defaultPlayerStatMap.js +10 -13
  410. package/dist/maps/entityTypeVariantToBossIDMap.js +3 -6
  411. package/dist/maps/falsePHDPillConversionsMap.js +33 -36
  412. package/dist/maps/gridEntityTypeToBrokenStateMap.js +15 -18
  413. package/dist/maps/gridEntityXMLMap.js +52 -55
  414. package/dist/maps/itemPoolTypeToItemPoolName.js +33 -36
  415. package/dist/maps/keyboardToStringMap.js +66 -69
  416. package/dist/maps/pillNameToEffectMap.js +83 -86
  417. package/dist/maps/roomNameToTypeMap.js +38 -41
  418. package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +9 -12
  419. package/dist/maps/transformationNameToPlayerFormMap.js +30 -33
  420. package/dist/maps/trinketNameToTypeMap.js +5 -8
  421. package/dist/objects/LRoomShapeToRectangles.js +22 -25
  422. package/dist/objects/backdropTypeToRockAltType.js +65 -68
  423. package/dist/objects/batteryNames.js +8 -11
  424. package/dist/objects/bombNames.js +11 -14
  425. package/dist/objects/bossIDToEntityTypeVariant.js +116 -119
  426. package/dist/objects/bossNamePNGFileNames.js +104 -107
  427. package/dist/objects/bossNames.js +105 -108
  428. package/dist/objects/bossPortraitPNGFileNames.js +104 -107
  429. package/dist/objects/cardDescriptions.js +101 -104
  430. package/dist/objects/cardNames.js +101 -104
  431. package/dist/objects/challengeBosses.js +49 -52
  432. package/dist/objects/challengeCharacters.js +49 -52
  433. package/dist/objects/challengeCollectibleTypes.js +160 -163
  434. package/dist/objects/challengeNames.js +49 -52
  435. package/dist/objects/challengeTrinketType.js +48 -51
  436. package/dist/objects/characterDamageMultipliers.js +44 -47
  437. package/dist/objects/characterNames.js +44 -47
  438. package/dist/objects/characterSpritePNGFileNames.js +44 -47
  439. package/dist/objects/characterStartingCollectibleTypes.js +49 -52
  440. package/dist/objects/characterStartingTrinketTypes.js +44 -47
  441. package/dist/objects/chestNames.js +15 -18
  442. package/dist/objects/coinNames.js +11 -14
  443. package/dist/objects/coinSubTypeToValue.js +11 -14
  444. package/dist/objects/collectibleDescriptions.js +725 -728
  445. package/dist/objects/collectibleNames.js +725 -728
  446. package/dist/objects/colors.js +1 -4
  447. package/dist/objects/directionNames.js +7 -10
  448. package/dist/objects/directionToDegrees.js +7 -10
  449. package/dist/objects/directionToMoveAction.js +7 -10
  450. package/dist/objects/directionToShootAction.js +7 -10
  451. package/dist/objects/directionToVector.js +9 -12
  452. package/dist/objects/doorSlotFlagToDoorSlot.js +11 -14
  453. package/dist/objects/doorSlotToDirection.js +11 -14
  454. package/dist/objects/doorSlotToDoorSlotFlag.js +11 -14
  455. package/dist/objects/gridEntityTypeToANM2Name.js +30 -33
  456. package/dist/objects/heartNames.js +16 -19
  457. package/dist/objects/isaacAPIClassTypeToBrand.js +8 -11
  458. package/dist/objects/isaacAPIClassTypeToFunctions.js +37 -40
  459. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +9 -45
  460. package/dist/objects/kColors.js +1 -4
  461. package/dist/objects/keyNames.js +8 -11
  462. package/dist/objects/languageNames.js +9 -12
  463. package/dist/objects/oppositeDoorSlots.js +11 -14
  464. package/dist/objects/pillEffectClasses.js +53 -56
  465. package/dist/objects/pillEffectNames.js +53 -56
  466. package/dist/objects/pillEffectTypeToPillEffects.js +11 -14
  467. package/dist/objects/pillEffectTypes.js +53 -56
  468. package/dist/objects/playerNamePNGFileNames.js +44 -47
  469. package/dist/objects/playerPortraitPNGFileNames.js +44 -47
  470. package/dist/objects/roomShapeBounds.js +23 -26
  471. package/dist/objects/roomShapeCorners.js +128 -131
  472. package/dist/objects/roomShapeLayoutSizes.js +23 -26
  473. package/dist/objects/roomShapeToBottomRightPosition.js +17 -20
  474. package/dist/objects/roomShapeToDoorSlotCoordinates.js +78 -81
  475. package/dist/objects/roomShapeToDoorSlots.js +48 -51
  476. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +82 -85
  477. package/dist/objects/roomShapeToGridWidth.js +14 -17
  478. package/dist/objects/roomShapeToTopLeftPosition.js +18 -21
  479. package/dist/objects/roomShapeVolumes.js +21 -24
  480. package/dist/objects/roomTypeNames.js +32 -35
  481. package/dist/objects/roomTypeSpecialGotoPrefixes.js +32 -35
  482. package/dist/objects/sackNames.js +6 -9
  483. package/dist/objects/slotNames.js +21 -24
  484. package/dist/objects/stageIDNames.js +33 -36
  485. package/dist/objects/stageToMusic.js +69 -72
  486. package/dist/objects/stageToStageID.js +90 -93
  487. package/dist/objects/stageTypeSuffixes.js +8 -11
  488. package/dist/objects/transformationNames.js +16 -19
  489. package/dist/objects/trinketDescriptions.js +192 -195
  490. package/dist/objects/trinketNames.js +192 -195
  491. package/dist/objects/versusScreenBackgroundColors.js +39 -42
  492. package/dist/objects/versusScreenDirtSpotColors.js +39 -42
  493. package/dist/patchErrorFunctions.js +4 -7
  494. package/dist/serialization.js +6 -9
  495. package/dist/sets/LRoomShapesSet.js +7 -10
  496. package/dist/sets/bigRoomShapesSet.js +10 -13
  497. package/dist/sets/bossSets.js +261 -264
  498. package/dist/sets/charactersThatStartWithAnActiveItemSet.js +14 -17
  499. package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +5 -8
  500. package/dist/sets/charactersWithFreeDevilDealsSet.js +3 -6
  501. package/dist/sets/charactersWithNoRedHeartsSet.js +11 -14
  502. package/dist/sets/charactersWithNoSoulHeartsSet.js +8 -11
  503. package/dist/sets/consoleCommandsSet.js +2 -5
  504. package/dist/sets/entitiesWithArmorSet.js +44 -47
  505. package/dist/sets/familiarsThatShootPlayerTearsSet.js +11 -14
  506. package/dist/sets/itemConfigCardTypesForCards.js +7 -10
  507. package/dist/sets/lostStyleCharactersSet.js +8 -11
  508. package/dist/sets/mineShaftRoomSubTypesSet.js +8 -11
  509. package/dist/sets/narrowRoomShapesSet.js +7 -10
  510. package/dist/sets/poopGridEntityXMLTypesSet.js +12 -15
  511. package/dist/sets/redHeartSubTypesSet.js +6 -9
  512. package/dist/sets/repentanceBossIDsSet.js +26 -29
  513. package/dist/sets/sinEntityTypesSet.js +10 -13
  514. package/dist/sets/singleUseActiveCollectibleTypesSet.js +11 -14
  515. package/dist/shaderCrashFix.js +4 -7
  516. package/dist/shouldFire.js +28 -58
  517. package/dist/types/AddSubtract.js +1 -2
  518. package/dist/types/AllButFirst.js +1 -2
  519. package/dist/types/AllButLast.js +1 -2
  520. package/dist/types/AnyClass.js +1 -2
  521. package/dist/types/AnyEntity.js +1 -2
  522. package/dist/types/AnyFunction.js +1 -2
  523. package/dist/types/AnyGridEntity.js +1 -2
  524. package/dist/types/CompositionTypeSatisfiesEnum.js +1 -2
  525. package/dist/types/ConversionHeartSubType.js +1 -2
  526. package/dist/types/Decrement.js +1 -2
  527. package/dist/types/ERange.js +1 -2
  528. package/dist/types/EntityID.js +1 -2
  529. package/dist/types/FunctionTuple.js +1 -2
  530. package/dist/types/GridEntityID.js +1 -2
  531. package/dist/types/HasFunction.js +1 -2
  532. package/dist/types/IRange.js +1 -2
  533. package/dist/types/Immutable.js +1 -2
  534. package/dist/types/Increment.js +1 -2
  535. package/dist/types/LowercaseKeys.js +1 -2
  536. package/dist/types/NaturalNumbersLessThan.js +1 -2
  537. package/dist/types/NaturalNumbersLessThanOrEqualTo.js +1 -2
  538. package/dist/types/ObjectValues.js +1 -2
  539. package/dist/types/PickingUpItem.js +15 -22
  540. package/dist/types/PickupIndex.js +1 -2
  541. package/dist/types/PlayerIndex.js +1 -2
  542. package/dist/types/PossibleStatType.js +1 -2
  543. package/dist/types/PublicInterface.js +1 -2
  544. package/dist/types/ReadonlyMap.js +1 -4
  545. package/dist/types/ReadonlyRecord.js +1 -2
  546. package/dist/types/ReadonlySet.js +1 -4
  547. package/dist/types/StartsWithLowercase.js +1 -2
  548. package/dist/types/StartsWithUppercase.js +1 -2
  549. package/dist/types/TSTLClass.js +1 -2
  550. package/dist/types/Tuple.js +1 -2
  551. package/dist/types/TupleKeys.js +1 -2
  552. package/dist/types/TupleToIntersection.js +1 -2
  553. package/dist/types/TupleToUnion.js +1 -2
  554. package/dist/types/TupleWithLengthBetween.js +1 -2
  555. package/dist/types/TupleWithMaxLength.js +1 -2
  556. package/dist/types/UnionToIntersection.js +1 -2
  557. package/dist/types/UppercaseKeys.js +1 -2
  558. package/dist/types/WeightedArray.js +1 -2
  559. package/dist/types/WidenLiteral.js +1 -2
  560. package/dist/types/Writable.js +1 -2
  561. package/dist/types/private/CallbackTuple.js +1 -2
  562. package/dist/types/private/ModUpgradedWithFeatures.js +1 -2
  563. package/package.json +3 -3
@@ -1,71 +1,67 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVanillaWallGridIndexSetForRoomShape = getVanillaWallGridIndexSetForRoomShape;
4
- exports.isVanillaWallGridIndex = isVanillaWallGridIndex;
5
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
6
- const cachedEnumValues_1 = require("../cachedEnumValues");
7
- const cachedClasses_1 = require("../core/cachedClasses");
8
- const CornerType_1 = require("../enums/CornerType");
9
- const ReadonlyMap_1 = require("../types/ReadonlyMap");
10
- const ReadonlySet_1 = require("../types/ReadonlySet");
11
- const gridIndex_1 = require("./gridIndex");
12
- const roomShape_1 = require("./roomShape");
13
- const rooms_1 = require("./rooms");
14
- const utils_1 = require("./utils");
15
- const ROOM_SHAPE_TO_WALL_GRID_INDEX_MAP = new ReadonlyMap_1.ReadonlyMap(cachedEnumValues_1.ROOM_SHAPE_VALUES.map((roomShape) => [
1
+ import { BossID, RoomShape } from "isaac-typescript-definitions";
2
+ import { ROOM_SHAPE_VALUES } from "../cachedEnumValues";
3
+ import { game } from "../core/cachedClasses";
4
+ import { CornerType } from "../enums/CornerType";
5
+ import { ReadonlyMap } from "../types/ReadonlyMap";
6
+ import { ReadonlySet } from "../types/ReadonlySet";
7
+ import { getGridIndexesBetween } from "./gridIndex";
8
+ import { getRoomShapeCorners, isLRoomShape } from "./roomShape";
9
+ import { inBossRoomOf, inHomeCloset } from "./rooms";
10
+ import { assertDefined } from "./utils";
11
+ const ROOM_SHAPE_TO_WALL_GRID_INDEX_MAP = new ReadonlyMap(ROOM_SHAPE_VALUES.map((roomShape) => [
16
12
  roomShape,
17
13
  getVanillaWallGridIndexSetForRoomShape(roomShape),
18
14
  ]));
19
15
  /** The Home closet is is 9x3, which is different from `RoomShape.IH` (which is 13x3). */
20
16
  const HOME_CLOSET_CORNERS = [
21
17
  {
22
- type: CornerType_1.CornerType.TOP_LEFT,
18
+ type: CornerType.TOP_LEFT,
23
19
  gridIndex: 30,
24
20
  position: Vector(60, 220),
25
21
  },
26
22
  {
27
- type: CornerType_1.CornerType.TOP_RIGHT,
23
+ type: CornerType.TOP_RIGHT,
28
24
  gridIndex: 38,
29
25
  position: Vector(340, 220),
30
26
  },
31
27
  {
32
- type: CornerType_1.CornerType.BOTTOM_LEFT,
28
+ type: CornerType.BOTTOM_LEFT,
33
29
  gridIndex: 90,
34
30
  position: Vector(60, 340),
35
31
  },
36
32
  {
37
- type: CornerType_1.CornerType.BOTTOM_RIGHT,
33
+ type: CornerType.BOTTOM_RIGHT,
38
34
  gridIndex: 98,
39
35
  position: Vector(340, 340),
40
36
  },
41
37
  ];
42
- const HOME_CLOSET_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(isaac_typescript_definitions_1.RoomShape.IH, HOME_CLOSET_CORNERS);
38
+ const HOME_CLOSET_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(RoomShape.IH, HOME_CLOSET_CORNERS);
43
39
  /**
44
40
  * The Mother Boss Room is 15x11, which is different from `RoomShape.SHAPE_1x2` (which is 15x16).
45
41
  */
46
42
  const MOTHER_ROOM_CORNERS = [
47
43
  {
48
- type: CornerType_1.CornerType.TOP_LEFT,
44
+ type: CornerType.TOP_LEFT,
49
45
  gridIndex: 0,
50
46
  position: Vector(60, 140),
51
47
  },
52
48
  {
53
- type: CornerType_1.CornerType.TOP_RIGHT,
49
+ type: CornerType.TOP_RIGHT,
54
50
  gridIndex: 14,
55
51
  position: Vector(580, 140),
56
52
  },
57
53
  {
58
- type: CornerType_1.CornerType.BOTTOM_LEFT,
54
+ type: CornerType.BOTTOM_LEFT,
59
55
  gridIndex: 150,
60
56
  position: Vector(60, 500),
61
57
  },
62
58
  {
63
- type: CornerType_1.CornerType.BOTTOM_RIGHT,
59
+ type: CornerType.BOTTOM_RIGHT,
64
60
  gridIndex: 164,
65
61
  position: Vector(580, 500),
66
62
  },
67
63
  ];
68
- const MOTHER_ROOM_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(isaac_typescript_definitions_1.RoomShape.SHAPE_1x2, MOTHER_ROOM_CORNERS);
64
+ const MOTHER_ROOM_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(RoomShape.SHAPE_1x2, MOTHER_ROOM_CORNERS);
69
65
  /**
70
66
  * Helper function to get the set of grid indexes that represent where the walls are supposed to be
71
67
  * in a given room shape.
@@ -73,67 +69,67 @@ const MOTHER_ROOM_CORNERS_SET = getVanillaWallGridIndexSetForRectangleRoomShape(
73
69
  * This function only works reliably in vanilla rooms because in a modded room, it is possible to
74
70
  * place walls in a non-standard location.
75
71
  */
76
- function getVanillaWallGridIndexSetForRoomShape(roomShape) {
77
- const corners = (0, roomShape_1.getRoomShapeCorners)(roomShape);
78
- const lRoom = (0, roomShape_1.isLRoomShape)(roomShape);
72
+ export function getVanillaWallGridIndexSetForRoomShape(roomShape) {
73
+ const corners = getRoomShapeCorners(roomShape);
74
+ const lRoom = isLRoomShape(roomShape);
79
75
  if (lRoom && corners.length !== 6) {
80
- error(`Failed to get the correct amount of corners for: RoomShape.${isaac_typescript_definitions_1.RoomShape[roomShape]} (${roomShape})`);
76
+ error(`Failed to get the correct amount of corners for: RoomShape.${RoomShape[roomShape]} (${roomShape})`);
81
77
  }
82
78
  switch (roomShape) {
83
79
  // 9
84
- case isaac_typescript_definitions_1.RoomShape.LTL: {
80
+ case RoomShape.LTL: {
85
81
  const [topMiddle, topRight, middleLeft, middle, bottomLeft, bottomRight] = corners;
86
- return new ReadonlySet_1.ReadonlySet([
82
+ return new ReadonlySet([
87
83
  // Horizontal
88
- ...(0, gridIndex_1.getGridIndexesBetween)(topMiddle.gridIndex, topRight.gridIndex, roomShape),
89
- ...(0, gridIndex_1.getGridIndexesBetween)(middleLeft.gridIndex, middle.gridIndex, roomShape),
90
- ...(0, gridIndex_1.getGridIndexesBetween)(bottomLeft.gridIndex, bottomRight.gridIndex, roomShape),
84
+ ...getGridIndexesBetween(topMiddle.gridIndex, topRight.gridIndex, roomShape),
85
+ ...getGridIndexesBetween(middleLeft.gridIndex, middle.gridIndex, roomShape),
86
+ ...getGridIndexesBetween(bottomLeft.gridIndex, bottomRight.gridIndex, roomShape),
91
87
  // Vertical
92
- ...(0, gridIndex_1.getGridIndexesBetween)(middleLeft.gridIndex, bottomLeft.gridIndex, roomShape),
93
- ...(0, gridIndex_1.getGridIndexesBetween)(topMiddle.gridIndex, middle.gridIndex, roomShape),
94
- ...(0, gridIndex_1.getGridIndexesBetween)(topRight.gridIndex, bottomRight.gridIndex, roomShape),
88
+ ...getGridIndexesBetween(middleLeft.gridIndex, bottomLeft.gridIndex, roomShape),
89
+ ...getGridIndexesBetween(topMiddle.gridIndex, middle.gridIndex, roomShape),
90
+ ...getGridIndexesBetween(topRight.gridIndex, bottomRight.gridIndex, roomShape),
95
91
  ]);
96
92
  }
97
93
  // 10
98
- case isaac_typescript_definitions_1.RoomShape.LTR: {
94
+ case RoomShape.LTR: {
99
95
  const [topLeft, topMiddle, middle, middleRight, bottomLeft, bottomRight] = corners;
100
- return new ReadonlySet_1.ReadonlySet([
96
+ return new ReadonlySet([
101
97
  // Horizontal
102
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, topMiddle.gridIndex, roomShape),
103
- ...(0, gridIndex_1.getGridIndexesBetween)(middle.gridIndex, middleRight.gridIndex, roomShape),
104
- ...(0, gridIndex_1.getGridIndexesBetween)(bottomLeft.gridIndex, bottomRight.gridIndex, roomShape),
98
+ ...getGridIndexesBetween(topLeft.gridIndex, topMiddle.gridIndex, roomShape),
99
+ ...getGridIndexesBetween(middle.gridIndex, middleRight.gridIndex, roomShape),
100
+ ...getGridIndexesBetween(bottomLeft.gridIndex, bottomRight.gridIndex, roomShape),
105
101
  // Vertical
106
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, bottomLeft.gridIndex, roomShape),
107
- ...(0, gridIndex_1.getGridIndexesBetween)(topMiddle.gridIndex, middle.gridIndex, roomShape),
108
- ...(0, gridIndex_1.getGridIndexesBetween)(middleRight.gridIndex, bottomRight.gridIndex, roomShape),
102
+ ...getGridIndexesBetween(topLeft.gridIndex, bottomLeft.gridIndex, roomShape),
103
+ ...getGridIndexesBetween(topMiddle.gridIndex, middle.gridIndex, roomShape),
104
+ ...getGridIndexesBetween(middleRight.gridIndex, bottomRight.gridIndex, roomShape),
109
105
  ]);
110
106
  }
111
107
  // 11
112
- case isaac_typescript_definitions_1.RoomShape.LBL: {
108
+ case RoomShape.LBL: {
113
109
  const [topLeft, topRight, middleLeft, middle, bottomMiddle, bottomRight] = corners;
114
- return new ReadonlySet_1.ReadonlySet([
110
+ return new ReadonlySet([
115
111
  // Horizontal
116
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, topRight.gridIndex, roomShape),
117
- ...(0, gridIndex_1.getGridIndexesBetween)(middleLeft.gridIndex, middle.gridIndex, roomShape),
118
- ...(0, gridIndex_1.getGridIndexesBetween)(bottomMiddle.gridIndex, bottomRight.gridIndex, roomShape),
112
+ ...getGridIndexesBetween(topLeft.gridIndex, topRight.gridIndex, roomShape),
113
+ ...getGridIndexesBetween(middleLeft.gridIndex, middle.gridIndex, roomShape),
114
+ ...getGridIndexesBetween(bottomMiddle.gridIndex, bottomRight.gridIndex, roomShape),
119
115
  // Vertical
120
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, middleLeft.gridIndex, roomShape),
121
- ...(0, gridIndex_1.getGridIndexesBetween)(middle.gridIndex, bottomMiddle.gridIndex, roomShape),
122
- ...(0, gridIndex_1.getGridIndexesBetween)(topRight.gridIndex, bottomRight.gridIndex, roomShape),
116
+ ...getGridIndexesBetween(topLeft.gridIndex, middleLeft.gridIndex, roomShape),
117
+ ...getGridIndexesBetween(middle.gridIndex, bottomMiddle.gridIndex, roomShape),
118
+ ...getGridIndexesBetween(topRight.gridIndex, bottomRight.gridIndex, roomShape),
123
119
  ]);
124
120
  }
125
121
  // 12
126
- case isaac_typescript_definitions_1.RoomShape.LBR: {
122
+ case RoomShape.LBR: {
127
123
  const [topLeft, topRight, middle, middleRight, bottomLeft, bottomMiddle] = corners;
128
- return new ReadonlySet_1.ReadonlySet([
124
+ return new ReadonlySet([
129
125
  // Horizontal
130
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, topRight.gridIndex, roomShape),
131
- ...(0, gridIndex_1.getGridIndexesBetween)(middle.gridIndex, middleRight.gridIndex, roomShape),
132
- ...(0, gridIndex_1.getGridIndexesBetween)(bottomLeft.gridIndex, bottomMiddle.gridIndex, roomShape),
126
+ ...getGridIndexesBetween(topLeft.gridIndex, topRight.gridIndex, roomShape),
127
+ ...getGridIndexesBetween(middle.gridIndex, middleRight.gridIndex, roomShape),
128
+ ...getGridIndexesBetween(bottomLeft.gridIndex, bottomMiddle.gridIndex, roomShape),
133
129
  // Vertical
134
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, bottomLeft.gridIndex, roomShape),
135
- ...(0, gridIndex_1.getGridIndexesBetween)(middle.gridIndex, bottomMiddle.gridIndex, roomShape),
136
- ...(0, gridIndex_1.getGridIndexesBetween)(topRight.gridIndex, middleRight.gridIndex, roomShape),
130
+ ...getGridIndexesBetween(topLeft.gridIndex, bottomLeft.gridIndex, roomShape),
131
+ ...getGridIndexesBetween(middle.gridIndex, bottomMiddle.gridIndex, roomShape),
132
+ ...getGridIndexesBetween(topRight.gridIndex, middleRight.gridIndex, roomShape),
137
133
  ]);
138
134
  }
139
135
  default: {
@@ -149,20 +145,20 @@ function getVanillaWallGridIndexSetForRoomShape(roomShape) {
149
145
  * This function properly handles the special cases of the Mother boss room and the Home closet
150
146
  * rooms, which are both non-standard room shapes.
151
147
  */
152
- function isVanillaWallGridIndex(gridIndex) {
153
- const room = cachedClasses_1.game.GetRoom();
148
+ export function isVanillaWallGridIndex(gridIndex) {
149
+ const room = game.GetRoom();
154
150
  const roomShape = room.GetRoomShape();
155
151
  // Handle the special cases of non-standard room shapes.
156
152
  let wallGridIndexSet;
157
- if ((0, rooms_1.inHomeCloset)()) {
153
+ if (inHomeCloset()) {
158
154
  wallGridIndexSet = HOME_CLOSET_CORNERS_SET;
159
155
  }
160
- else if ((0, rooms_1.inBossRoomOf)(isaac_typescript_definitions_1.BossID.MOTHER)) {
156
+ else if (inBossRoomOf(BossID.MOTHER)) {
161
157
  wallGridIndexSet = MOTHER_ROOM_CORNERS_SET;
162
158
  }
163
159
  else {
164
160
  wallGridIndexSet = ROOM_SHAPE_TO_WALL_GRID_INDEX_MAP.get(roomShape);
165
- (0, utils_1.assertDefined)(wallGridIndexSet, `Failed to find the wall grid index set for: RoomShape.${isaac_typescript_definitions_1.RoomShape[roomShape]} (${roomShape})`);
161
+ assertDefined(wallGridIndexSet, `Failed to find the wall grid index set for: RoomShape.${RoomShape[roomShape]} (${roomShape})`);
166
162
  }
167
163
  return wallGridIndexSet.has(gridIndex);
168
164
  }
@@ -175,12 +171,12 @@ function getVanillaWallGridIndexSetForRectangleRoomShape(roomShape, corners) {
175
171
  error("Failed to get the correct amount of corners for rectangular room shape.");
176
172
  }
177
173
  const [topLeft, topRight, bottomLeft, bottomRight] = corners;
178
- return new ReadonlySet_1.ReadonlySet([
174
+ return new ReadonlySet([
179
175
  // Horizontal
180
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, topRight.gridIndex, roomShape),
181
- ...(0, gridIndex_1.getGridIndexesBetween)(bottomLeft.gridIndex, bottomRight.gridIndex, roomShape),
176
+ ...getGridIndexesBetween(topLeft.gridIndex, topRight.gridIndex, roomShape),
177
+ ...getGridIndexesBetween(bottomLeft.gridIndex, bottomRight.gridIndex, roomShape),
182
178
  // Vertical
183
- ...(0, gridIndex_1.getGridIndexesBetween)(topLeft.gridIndex, bottomLeft.gridIndex, roomShape),
184
- ...(0, gridIndex_1.getGridIndexesBetween)(topRight.gridIndex, bottomRight.gridIndex, roomShape),
179
+ ...getGridIndexesBetween(topLeft.gridIndex, bottomLeft.gridIndex, roomShape),
180
+ ...getGridIndexesBetween(topRight.gridIndex, bottomRight.gridIndex, roomShape),
185
181
  ]);
186
182
  }
@@ -1,20 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reloadRoom = reloadRoom;
4
- exports.teleport = teleport;
5
- const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
6
- const cachedClasses_1 = require("../core/cachedClasses");
7
- const roomData_1 = require("./roomData");
8
- const utils_1 = require("./utils");
1
+ import { Direction, DoorSlot, RoomTransitionAnim, } from "isaac-typescript-definitions";
2
+ import { game } from "../core/cachedClasses";
3
+ import { getRoomData, getRoomGridIndex } from "./roomData";
4
+ import { assertDefined } from "./utils";
9
5
  /**
10
6
  * Helper function to reload the current room using `Game.StartRoomTransition`.
11
7
  *
12
8
  * This is useful for canceling the "goto" console command or to make the `Level.SetStage` method
13
9
  * take effect.
14
10
  */
15
- function reloadRoom() {
16
- const roomGridIndex = (0, roomData_1.getRoomGridIndex)();
17
- teleport(roomGridIndex, isaac_typescript_definitions_1.Direction.NO_DIRECTION, isaac_typescript_definitions_1.RoomTransitionAnim.FADE);
11
+ export function reloadRoom() {
12
+ const roomGridIndex = getRoomGridIndex();
13
+ teleport(roomGridIndex, Direction.NO_DIRECTION, RoomTransitionAnim.FADE);
18
14
  }
19
15
  /**
20
16
  * Helper function to change the current room. It can be used for both teleportation and "normal"
@@ -31,12 +27,12 @@ function reloadRoom() {
31
27
  * @param direction Optional. Default is `Direction.NO_DIRECTION`.
32
28
  * @param roomTransitionAnim Optional. Default is `RoomTransitionAnim.TELEPORT`.
33
29
  */
34
- function teleport(roomGridIndex, direction = isaac_typescript_definitions_1.Direction.NO_DIRECTION, roomTransitionAnim = isaac_typescript_definitions_1.RoomTransitionAnim.TELEPORT) {
35
- const level = cachedClasses_1.game.GetLevel();
36
- const roomData = (0, roomData_1.getRoomData)(roomGridIndex);
37
- (0, utils_1.assertDefined)(roomData, `Failed to change the room to grid index ${roomGridIndex} because that room does not exist.`);
30
+ export function teleport(roomGridIndex, direction = Direction.NO_DIRECTION, roomTransitionAnim = RoomTransitionAnim.TELEPORT) {
31
+ const level = game.GetLevel();
32
+ const roomData = getRoomData(roomGridIndex);
33
+ assertDefined(roomData, `Failed to change the room to grid index ${roomGridIndex} because that room does not exist.`);
38
34
  // This must be set before every `Game.StartRoomTransition` method invocation or else the function
39
35
  // can send you to the wrong room.
40
- level.LeaveDoor = isaac_typescript_definitions_1.DoorSlot.NO_DOOR_SLOT;
41
- cachedClasses_1.game.StartRoomTransition(roomGridIndex, direction, roomTransitionAnim);
36
+ level.LeaveDoor = DoorSlot.NO_DOOR_SLOT;
37
+ game.StartRoomTransition(roomGridIndex, direction, roomTransitionAnim);
42
38
  }