isaacscript-common 87.5.0 → 87.6.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 (684) hide show
  1. package/README.md +1 -1
  2. package/dist/callbackClasses.d.ts +7 -6
  3. package/dist/callbackClasses.d.ts.map +1 -1
  4. package/dist/callbackClasses.js +17 -15
  5. package/dist/callbackClasses.lua +163 -300
  6. package/dist/callbacks.d.ts +118 -117
  7. package/dist/callbacks.d.ts.map +1 -1
  8. package/dist/callbacks.js +19 -9
  9. package/dist/callbacks.lua +1 -0
  10. package/dist/classes/DefaultMap.d.ts +5 -1
  11. package/dist/classes/DefaultMap.d.ts.map +1 -1
  12. package/dist/classes/ModFeature.js +3 -3
  13. package/dist/classes/ModUpgraded.d.ts.map +1 -1
  14. package/dist/classes/ModUpgraded.js +4 -6
  15. package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
  16. package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
  17. package/dist/classes/callbacks/InputActionFilter.js +3 -3
  18. package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
  19. package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
  20. package/dist/classes/callbacks/InputActionPlayer.js +6 -6
  21. package/dist/classes/callbacks/PostBoneSwing.js +2 -2
  22. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
  23. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  24. package/dist/classes/callbacks/PostCollectibleEmpty.js +3 -5
  25. package/dist/classes/callbacks/PostCursedTeleport.js +5 -5
  26. package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -4
  27. package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  28. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -3
  29. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  30. package/dist/classes/callbacks/PostDiceRoomActivated.js +2 -2
  31. package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts +9 -0
  32. package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts.map +1 -0
  33. package/dist/classes/callbacks/PostEntityRemoveFilter.js +21 -0
  34. package/dist/classes/callbacks/PostEntityRemoveFilter.lua +23 -0
  35. package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
  36. package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
  37. package/dist/classes/callbacks/PostGridEntityCollision.js +10 -10
  38. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
  39. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
  40. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +8 -8
  41. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
  42. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
  43. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +2 -2
  44. package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
  45. package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
  46. package/dist/classes/callbacks/PostGridEntityRemove.js +3 -3
  47. package/dist/classes/callbacks/PostItemDischarge.d.ts +2 -2
  48. package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  49. package/dist/classes/callbacks/PostItemDischarge.js +5 -8
  50. package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
  51. package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
  52. package/dist/classes/callbacks/PostKeyboardChanged.js +2 -2
  53. package/dist/classes/callbacks/PostNewRoomEarly.js +3 -3
  54. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
  55. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
  56. package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -3
  57. package/dist/classes/callbacks/PostPlayerChangeHealth.js +2 -2
  58. package/dist/classes/callbacks/PostPlayerChangeType.js +1 -1
  59. package/dist/classes/callbacks/PostPurchase.d.ts +2 -4
  60. package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
  61. package/dist/classes/callbacks/PostPurchase.js +9 -9
  62. package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
  63. package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
  64. package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
  65. package/dist/classes/callbacks/PostTransformation.js +1 -3
  66. package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  67. package/dist/classes/callbacks/PostTrinketBreak.js +1 -3
  68. package/dist/classes/callbacks/PostUsePillFilter.js +2 -2
  69. package/dist/classes/callbacks/PreBerserkDeath.js +4 -4
  70. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
  71. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
  72. package/dist/classes/callbacks/PreEntitySpawnFilter.js +3 -3
  73. package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  74. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
  75. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
  76. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +5 -5
  77. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
  78. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  79. package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  80. package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  81. package/dist/classes/features/callbackLogic/EsauJrDetection.js +2 -2
  82. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  83. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +9 -11
  84. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +4 -4
  85. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +4 -4
  86. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +2 -2
  87. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +0 -1
  88. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
  89. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +4 -4
  90. package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
  91. package/dist/classes/features/other/CustomPickups.js +1 -0
  92. package/dist/classes/features/other/CustomStages.js +19 -9
  93. package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  94. package/dist/classes/features/other/CustomTrapdoors.js +44 -38
  95. package/dist/classes/features/other/CustomTrapdoors.lua +14 -7
  96. package/dist/classes/features/other/DebugDisplay.d.ts +0 -18
  97. package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
  98. package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -2
  99. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  100. package/dist/classes/features/other/DeployJSONRoom.js +6 -4
  101. package/dist/classes/features/other/DisableInputs.js +3 -3
  102. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +1 -1
  103. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
  104. package/dist/classes/features/other/ExtraConsoleCommands.d.ts +14 -10
  105. package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  106. package/dist/classes/features/other/ExtraConsoleCommands.js +31 -17
  107. package/dist/classes/features/other/ExtraConsoleCommands.lua +2 -1
  108. package/dist/classes/features/other/FlyingDetection.d.ts +0 -1
  109. package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
  110. package/dist/classes/features/other/ForgottenSwitch.d.ts +0 -1
  111. package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  112. package/dist/classes/features/other/ModdedElementDetection.js +4 -4
  113. package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
  114. package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  115. package/dist/classes/features/other/ModdedElementSets.js +3 -3
  116. package/dist/classes/features/other/NoSirenSteal.js +4 -4
  117. package/dist/classes/features/other/PickupIndexCreation.d.ts +0 -1
  118. package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  119. package/dist/classes/features/other/PickupIndexCreation.js +7 -8
  120. package/dist/classes/features/other/PickupIndexCreation.lua +10 -10
  121. package/dist/classes/features/other/PonyDetection.d.ts +0 -1
  122. package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
  123. package/dist/classes/features/other/PonyDetection.js +2 -2
  124. package/dist/classes/features/other/PressInput.js +2 -2
  125. package/dist/classes/features/other/PreventChildEntities.d.ts +0 -1
  126. package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  127. package/dist/classes/features/other/PreventChildEntities.js +4 -4
  128. package/dist/classes/features/other/RoomClearFrame.d.ts +0 -1
  129. package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  130. package/dist/classes/features/other/RoomHistory.d.ts +0 -1
  131. package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
  132. package/dist/classes/features/other/RoomHistory.js +5 -5
  133. package/dist/classes/features/other/RunInNFrames.js +2 -2
  134. package/dist/classes/features/other/SaveDataManager.js +3 -3
  135. package/dist/classes/features/other/SpawnRockAltRewards.d.ts +0 -4
  136. package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
  137. package/dist/classes/features/other/StageHistory.js +2 -2
  138. package/dist/classes/features/other/StartAmbush.js +2 -2
  139. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +0 -1
  140. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
  141. package/dist/classes/features/other/TaintedLazarusPlayers.js +2 -2
  142. package/dist/classes/features/other/customStages/backdrop.js +2 -3
  143. package/dist/classes/features/other/customStages/constants.d.ts.map +1 -1
  144. package/dist/classes/features/other/customStages/gridEntities.d.ts +0 -1
  145. package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
  146. package/dist/classes/features/other/customStages/gridEntities.js +9 -10
  147. package/dist/classes/features/other/customStages/shadows.js +1 -2
  148. package/dist/classes/features/other/customStages/streakText.js +7 -8
  149. package/dist/classes/features/other/customStages/utils.d.ts +0 -2
  150. package/dist/classes/features/other/customStages/utils.d.ts.map +1 -1
  151. package/dist/classes/features/other/customStages/utils.js +2 -3
  152. package/dist/classes/features/other/customStages/v.d.ts.map +1 -1
  153. package/dist/classes/features/other/customStages/versusScreen.js +2 -3
  154. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +0 -1
  155. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
  156. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +0 -1
  157. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
  158. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +0 -1
  159. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
  160. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +0 -1
  161. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
  162. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +0 -1
  163. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
  164. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +0 -1
  165. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
  166. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +0 -1
  167. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
  168. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +0 -1
  169. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
  170. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +0 -1
  171. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
  172. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +0 -1
  173. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
  174. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +0 -1
  175. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
  176. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +0 -1
  177. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
  178. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +0 -1
  179. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
  180. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +0 -1
  181. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
  182. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +0 -1
  183. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
  184. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +0 -1
  185. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
  186. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +0 -1
  187. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
  188. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +0 -1
  189. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
  190. package/dist/classes/features/other/debugDisplay/utils.d.ts +0 -2
  191. package/dist/classes/features/other/debugDisplay/utils.d.ts.map +1 -1
  192. package/dist/classes/features/other/debugDisplay/utils.js +2 -3
  193. package/dist/classes/features/other/extraConsoleCommands/commands.js +155 -158
  194. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +8 -9
  195. package/dist/classes/features/other/saveDataManager/constants.d.ts.map +1 -1
  196. package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts +0 -1
  197. package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -1
  198. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +4 -5
  199. package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts +0 -2
  200. package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -1
  201. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +5 -2
  202. package/dist/classes/features/other/saveDataManager/loadFromDisk.lua +3 -0
  203. package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts +0 -1
  204. package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
  205. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +3 -4
  206. package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts +0 -2
  207. package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -1
  208. package/dist/classes/features/other/saveDataManager/saveToDisk.js +1 -2
  209. package/dist/classes/private/CustomCallback.d.ts.map +1 -1
  210. package/dist/core/cachedClasses.d.ts +0 -5
  211. package/dist/core/cachedClasses.d.ts.map +1 -1
  212. package/dist/core/constants.js +1 -1
  213. package/dist/core/constantsVanilla.js +4 -4
  214. package/dist/core/upgradeMod.d.ts +0 -2
  215. package/dist/core/upgradeMod.d.ts.map +1 -1
  216. package/dist/core/upgradeMod.js +1 -2
  217. package/dist/decorators.js +2 -2
  218. package/dist/enums/ModCallbackCustom.d.ts +134 -117
  219. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  220. package/dist/enums/ModCallbackCustom.js +134 -117
  221. package/dist/enums/ModCallbackCustom.lua +119 -117
  222. package/dist/enums/private/GridEntityTypeCustom.d.ts.map +1 -1
  223. package/dist/features.js +1 -2
  224. package/dist/functions/ambush.js +1 -2
  225. package/dist/functions/array.d.ts +5 -8
  226. package/dist/functions/array.d.ts.map +1 -1
  227. package/dist/functions/array.js +55 -55
  228. package/dist/functions/array.lua +2 -2
  229. package/dist/functions/arrayLua.d.ts +1 -1
  230. package/dist/functions/arrayLua.d.ts.map +1 -1
  231. package/dist/functions/arrayLua.js +7 -8
  232. package/dist/functions/benchmark.d.ts +0 -1
  233. package/dist/functions/benchmark.d.ts.map +1 -1
  234. package/dist/functions/benchmark.js +1 -2
  235. package/dist/functions/bitSet128.d.ts +0 -1
  236. package/dist/functions/bitSet128.d.ts.map +1 -1
  237. package/dist/functions/bitSet128.js +5 -6
  238. package/dist/functions/bitwise.d.ts +0 -4
  239. package/dist/functions/bitwise.d.ts.map +1 -1
  240. package/dist/functions/bitwise.js +7 -8
  241. package/dist/functions/bitwise.lua +3 -3
  242. package/dist/functions/bombs.d.ts +0 -1
  243. package/dist/functions/bombs.d.ts.map +1 -1
  244. package/dist/functions/bombs.js +1 -2
  245. package/dist/functions/bosses.d.ts.map +1 -1
  246. package/dist/functions/bosses.js +19 -19
  247. package/dist/functions/cards.js +16 -17
  248. package/dist/functions/challenges.js +9 -10
  249. package/dist/functions/characters.js +17 -18
  250. package/dist/functions/charge.d.ts.map +1 -1
  251. package/dist/functions/charge.js +12 -13
  252. package/dist/functions/charge.lua +1 -1
  253. package/dist/functions/chargeBar.d.ts +0 -2
  254. package/dist/functions/chargeBar.d.ts.map +1 -1
  255. package/dist/functions/chargeBar.js +2 -3
  256. package/dist/functions/collectibleTag.js +2 -3
  257. package/dist/functions/collectibles.js +39 -40
  258. package/dist/functions/color.d.ts +0 -1
  259. package/dist/functions/color.d.ts.map +1 -1
  260. package/dist/functions/color.js +7 -8
  261. package/dist/functions/console.js +2 -3
  262. package/dist/functions/curses.js +2 -3
  263. package/dist/functions/debugFunctions.d.ts +0 -1
  264. package/dist/functions/debugFunctions.d.ts.map +1 -1
  265. package/dist/functions/debugFunctions.js +5 -6
  266. package/dist/functions/decorators.d.ts +4 -4
  267. package/dist/functions/decorators.d.ts.map +1 -1
  268. package/dist/functions/decorators.js +4 -5
  269. package/dist/functions/deepCopy.d.ts +0 -1
  270. package/dist/functions/deepCopy.d.ts.map +1 -1
  271. package/dist/functions/deepCopy.js +7 -10
  272. package/dist/functions/deepCopy.lua +0 -2
  273. package/dist/functions/deepCopyTests.js +5 -6
  274. package/dist/functions/dimensions.js +2 -3
  275. package/dist/functions/direction.js +6 -7
  276. package/dist/functions/doors.d.ts.map +1 -1
  277. package/dist/functions/doors.js +56 -52
  278. package/dist/functions/easing.js +32 -33
  279. package/dist/functions/effects.d.ts +0 -2
  280. package/dist/functions/effects.d.ts.map +1 -1
  281. package/dist/functions/effects.js +2 -2
  282. package/dist/functions/emptyRoom.js +7 -8
  283. package/dist/functions/entities.d.ts +0 -1
  284. package/dist/functions/entities.d.ts.map +1 -1
  285. package/dist/functions/entities.js +36 -38
  286. package/dist/functions/entitiesSpecific.js +40 -41
  287. package/dist/functions/entityTypes.d.ts +0 -1
  288. package/dist/functions/entityTypes.d.ts.map +1 -1
  289. package/dist/functions/entityTypes.js +1 -2
  290. package/dist/functions/enums.d.ts +1 -6
  291. package/dist/functions/enums.d.ts.map +1 -1
  292. package/dist/functions/enums.js +12 -13
  293. package/dist/functions/external.js +2 -3
  294. package/dist/functions/familiars.js +8 -9
  295. package/dist/functions/flag.d.ts +1 -1
  296. package/dist/functions/flag.d.ts.map +1 -1
  297. package/dist/functions/flag.js +9 -10
  298. package/dist/functions/frames.d.ts +0 -1
  299. package/dist/functions/frames.d.ts.map +1 -1
  300. package/dist/functions/frames.js +18 -19
  301. package/dist/functions/globals.d.ts +0 -1
  302. package/dist/functions/globals.d.ts.map +1 -1
  303. package/dist/functions/globals.js +23 -15
  304. package/dist/functions/gridEntities.d.ts.map +1 -1
  305. package/dist/functions/gridEntities.js +68 -62
  306. package/dist/functions/gridEntitiesSpecific.js +40 -41
  307. package/dist/functions/gridIndex.js +1 -2
  308. package/dist/functions/hash.js +1 -2
  309. package/dist/functions/hex.d.ts +0 -2
  310. package/dist/functions/hex.d.ts.map +1 -1
  311. package/dist/functions/hex.js +2 -3
  312. package/dist/functions/input.js +21 -21
  313. package/dist/functions/isaacAPIClass.d.ts +0 -20
  314. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  315. package/dist/functions/isaacAPIClass.js +25 -26
  316. package/dist/functions/itemPool.js +7 -8
  317. package/dist/functions/jsonHelpers.d.ts +4 -5
  318. package/dist/functions/jsonHelpers.d.ts.map +1 -1
  319. package/dist/functions/jsonHelpers.js +23 -14
  320. package/dist/functions/jsonHelpers.lua +4 -4
  321. package/dist/functions/jsonRoom.js +5 -6
  322. package/dist/functions/kColor.d.ts +0 -1
  323. package/dist/functions/kColor.d.ts.map +1 -1
  324. package/dist/functions/kColor.js +7 -8
  325. package/dist/functions/language.js +1 -2
  326. package/dist/functions/level.js +7 -8
  327. package/dist/functions/levelGrid.d.ts.map +1 -1
  328. package/dist/functions/levelGrid.js +33 -38
  329. package/dist/functions/log.js +4 -5
  330. package/dist/functions/logEntities.d.ts.map +1 -1
  331. package/dist/functions/logEntities.js +19 -17
  332. package/dist/functions/logMisc.d.ts +1 -2
  333. package/dist/functions/logMisc.d.ts.map +1 -1
  334. package/dist/functions/logMisc.js +35 -48
  335. package/dist/functions/logMisc.lua +3 -3
  336. package/dist/functions/map.d.ts +0 -2
  337. package/dist/functions/map.d.ts.map +1 -1
  338. package/dist/functions/map.js +12 -13
  339. package/dist/functions/math.js +17 -18
  340. package/dist/functions/merge.d.ts +0 -1
  341. package/dist/functions/merge.d.ts.map +1 -1
  342. package/dist/functions/merge.js +2 -3
  343. package/dist/functions/mergeTests.js +1 -2
  344. package/dist/functions/minimap.d.ts.map +1 -1
  345. package/dist/functions/minimap.js +12 -17
  346. package/dist/functions/modFeatures.js +1 -2
  347. package/dist/functions/newArray.d.ts +0 -1
  348. package/dist/functions/newArray.d.ts.map +1 -1
  349. package/dist/functions/newArray.js +2 -3
  350. package/dist/functions/nextStage.d.ts.map +1 -1
  351. package/dist/functions/nextStage.js +16 -13
  352. package/dist/functions/npcDataStructures.d.ts +0 -2
  353. package/dist/functions/npcDataStructures.d.ts.map +1 -1
  354. package/dist/functions/npcDataStructures.js +14 -15
  355. package/dist/functions/npcs.d.ts.map +1 -1
  356. package/dist/functions/npcs.js +19 -17
  357. package/dist/functions/pickupVariants.d.ts +0 -1
  358. package/dist/functions/pickupVariants.d.ts.map +1 -1
  359. package/dist/functions/pickupVariants.js +17 -18
  360. package/dist/functions/pickups.js +14 -15
  361. package/dist/functions/pickupsSpecific.js +40 -41
  362. package/dist/functions/pills.js +18 -19
  363. package/dist/functions/playerCenter.d.ts +0 -1
  364. package/dist/functions/playerCenter.d.ts.map +1 -1
  365. package/dist/functions/playerCenter.js +1 -2
  366. package/dist/functions/playerCollectibles.d.ts.map +1 -1
  367. package/dist/functions/playerCollectibles.js +21 -24
  368. package/dist/functions/playerCollectibles.lua +9 -9
  369. package/dist/functions/playerDataStructures.d.ts +0 -1
  370. package/dist/functions/playerDataStructures.d.ts.map +1 -1
  371. package/dist/functions/playerDataStructures.js +14 -15
  372. package/dist/functions/playerEffects.js +5 -6
  373. package/dist/functions/playerHealth.d.ts +0 -2
  374. package/dist/functions/playerHealth.d.ts.map +1 -1
  375. package/dist/functions/playerHealth.js +28 -29
  376. package/dist/functions/playerHealth.lua +26 -26
  377. package/dist/functions/playerIndex.d.ts +0 -3
  378. package/dist/functions/playerIndex.d.ts.map +1 -1
  379. package/dist/functions/playerIndex.js +12 -13
  380. package/dist/functions/playerTrinkets.js +10 -11
  381. package/dist/functions/players.js +41 -42
  382. package/dist/functions/pocketItems.js +10 -11
  383. package/dist/functions/positionVelocity.d.ts +0 -4
  384. package/dist/functions/positionVelocity.d.ts.map +1 -1
  385. package/dist/functions/positionVelocity.js +11 -20
  386. package/dist/functions/positionVelocity.lua +4 -4
  387. package/dist/functions/pressurePlate.js +1 -2
  388. package/dist/functions/projectiles.js +2 -3
  389. package/dist/functions/random.d.ts +0 -3
  390. package/dist/functions/random.d.ts.map +1 -1
  391. package/dist/functions/random.js +3 -4
  392. package/dist/functions/readOnly.d.ts +0 -4
  393. package/dist/functions/readOnly.d.ts.map +1 -1
  394. package/dist/functions/readOnly.js +3 -4
  395. package/dist/functions/render.d.ts +0 -3
  396. package/dist/functions/render.d.ts.map +1 -1
  397. package/dist/functions/render.js +3 -4
  398. package/dist/functions/revive.d.ts +0 -3
  399. package/dist/functions/revive.d.ts.map +1 -1
  400. package/dist/functions/revive.js +20 -21
  401. package/dist/functions/rng.d.ts +0 -1
  402. package/dist/functions/rng.d.ts.map +1 -1
  403. package/dist/functions/rng.js +15 -15
  404. package/dist/functions/rockAlt.d.ts +0 -1
  405. package/dist/functions/rockAlt.d.ts.map +1 -1
  406. package/dist/functions/rockAlt.js +2 -3
  407. package/dist/functions/roomData.d.ts.map +1 -1
  408. package/dist/functions/roomData.js +15 -18
  409. package/dist/functions/roomGrid.js +8 -9
  410. package/dist/functions/roomShape.js +14 -15
  411. package/dist/functions/roomShapeWalls.js +2 -3
  412. package/dist/functions/roomTransition.js +2 -3
  413. package/dist/functions/rooms.d.ts +1 -2
  414. package/dist/functions/rooms.d.ts.map +1 -1
  415. package/dist/functions/rooms.js +116 -105
  416. package/dist/functions/rooms.lua +3 -4
  417. package/dist/functions/run.js +8 -9
  418. package/dist/functions/seeds.d.ts +0 -1
  419. package/dist/functions/seeds.d.ts.map +1 -1
  420. package/dist/functions/seeds.js +2 -3
  421. package/dist/functions/serialization.js +5 -6
  422. package/dist/functions/set.d.ts +0 -2
  423. package/dist/functions/set.d.ts.map +1 -1
  424. package/dist/functions/set.js +22 -23
  425. package/dist/functions/slots.js +2 -3
  426. package/dist/functions/sort.d.ts.map +1 -1
  427. package/dist/functions/sort.js +8 -9
  428. package/dist/functions/sound.d.ts.map +1 -1
  429. package/dist/functions/sound.js +4 -9
  430. package/dist/functions/spawnCollectible.d.ts.map +1 -1
  431. package/dist/functions/spawnCollectible.js +7 -10
  432. package/dist/functions/sprites.d.ts +0 -3
  433. package/dist/functions/sprites.d.ts.map +1 -1
  434. package/dist/functions/sprites.js +6 -7
  435. package/dist/functions/stage.d.ts.map +1 -1
  436. package/dist/functions/stage.js +60 -69
  437. package/dist/functions/stage.lua +5 -5
  438. package/dist/functions/stats.js +4 -5
  439. package/dist/functions/storyBosses.js +2 -3
  440. package/dist/functions/string.d.ts +0 -1
  441. package/dist/functions/string.d.ts.map +1 -1
  442. package/dist/functions/string.js +18 -19
  443. package/dist/functions/table.d.ts +0 -1
  444. package/dist/functions/table.d.ts.map +1 -1
  445. package/dist/functions/table.js +8 -9
  446. package/dist/functions/tears.js +8 -9
  447. package/dist/functions/transformations.js +5 -6
  448. package/dist/functions/trinketGive.js +9 -10
  449. package/dist/functions/trinkets.d.ts.map +1 -1
  450. package/dist/functions/trinkets.js +14 -17
  451. package/dist/functions/tstlClass.d.ts +2 -3
  452. package/dist/functions/tstlClass.d.ts.map +1 -1
  453. package/dist/functions/tstlClass.js +9 -10
  454. package/dist/functions/tstlClass.lua +2 -2
  455. package/dist/functions/types.d.ts +15 -17
  456. package/dist/functions/types.d.ts.map +1 -1
  457. package/dist/functions/types.js +41 -42
  458. package/dist/functions/types.lua +14 -14
  459. package/dist/functions/ui.d.ts +0 -3
  460. package/dist/functions/ui.d.ts.map +1 -1
  461. package/dist/functions/ui.js +13 -14
  462. package/dist/functions/utils.d.ts +0 -1
  463. package/dist/functions/utils.d.ts.map +1 -1
  464. package/dist/functions/utils.js +11 -12
  465. package/dist/functions/vector.d.ts +0 -1
  466. package/dist/functions/vector.d.ts.map +1 -1
  467. package/dist/functions/vector.js +11 -12
  468. package/dist/functions/versusScreen.js +4 -5
  469. package/dist/functions/weighted.d.ts +0 -3
  470. package/dist/functions/weighted.d.ts.map +1 -1
  471. package/dist/functions/weighted.js +2 -3
  472. package/dist/index.d.ts +58 -58
  473. package/dist/index.d.ts.map +1 -1
  474. package/dist/index.js +4 -58
  475. package/dist/index.lua +18 -18
  476. package/dist/index.rollup.d.ts +222 -181
  477. package/dist/indexLua.d.ts +58 -58
  478. package/dist/indexLua.d.ts.map +1 -1
  479. package/dist/indexLua.js +4 -58
  480. package/dist/indexLua.lua +18 -18
  481. package/dist/interfaces/ChargeBarSprites.d.ts +0 -2
  482. package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
  483. package/dist/interfaces/Corner.d.ts +0 -2
  484. package/dist/interfaces/Corner.d.ts.map +1 -1
  485. package/dist/interfaces/SaveData.d.ts +0 -1
  486. package/dist/interfaces/SaveData.d.ts.map +1 -1
  487. package/dist/interfaces/TSTLClassMetatable.d.ts +0 -4
  488. package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
  489. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +6 -0
  490. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  491. package/dist/interfaces/private/ModUpgradedInterface.d.ts +0 -1
  492. package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
  493. package/dist/isaacscript-common.lua +786 -871
  494. package/dist/lib/jsonLua.js +34 -34
  495. package/dist/lualib_bundle.lua +49 -38
  496. package/dist/objects/LRoomShapeToRectangles.js +1 -1
  497. package/dist/objects/colors.d.ts +0 -1
  498. package/dist/objects/colors.d.ts.map +1 -1
  499. package/dist/objects/directionToVector.d.ts +0 -1
  500. package/dist/objects/directionToVector.d.ts.map +1 -1
  501. package/dist/objects/doorSlotFlagToDoorSlot.d.ts +9 -2
  502. package/dist/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
  503. package/dist/objects/doorSlotToDoorSlotFlag.d.ts +0 -1
  504. package/dist/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  505. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +17 -7
  506. package/dist/objects/kColors.d.ts +0 -1
  507. package/dist/objects/kColors.d.ts.map +1 -1
  508. package/dist/objects/roomShapeToBottomRightPosition.d.ts +0 -1
  509. package/dist/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  510. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +1 -1
  511. package/dist/objects/roomShapeToTopLeftPosition.d.ts +0 -1
  512. package/dist/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  513. package/dist/objects/versusScreenBackgroundColors.d.ts +0 -1
  514. package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  515. package/dist/objects/versusScreenDirtSpotColors.d.ts +0 -1
  516. package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  517. package/dist/patchErrorFunctions.js +1 -2
  518. package/dist/serialization.js +1 -2
  519. package/dist/shaderCrashFix.d.ts +0 -1
  520. package/dist/shaderCrashFix.d.ts.map +1 -1
  521. package/dist/shaderCrashFix.js +1 -2
  522. package/dist/shouldFire.d.ts.map +1 -1
  523. package/dist/shouldFire.js +83 -86
  524. package/dist/tsdoc-metadata.json +1 -1
  525. package/dist/types/AddSubtract.d.ts +10 -2
  526. package/dist/types/AddSubtract.d.ts.map +1 -1
  527. package/dist/types/AnyEntity.d.ts +0 -11
  528. package/dist/types/AnyEntity.d.ts.map +1 -1
  529. package/dist/types/AnyGridEntity.d.ts +0 -8
  530. package/dist/types/AnyGridEntity.d.ts.map +1 -1
  531. package/dist/types/Increment.d.ts.map +1 -1
  532. package/dist/types/PickingUpItem.d.ts +10 -3
  533. package/dist/types/PickingUpItem.d.ts.map +1 -1
  534. package/dist/types/PickingUpItem.js +15 -9
  535. package/dist/types/PickingUpItem.lua +8 -3
  536. package/dist/types/PickupIndex.d.ts +0 -1
  537. package/dist/types/PickupIndex.d.ts.map +1 -1
  538. package/dist/types/PlayerIndex.d.ts +0 -1
  539. package/dist/types/PlayerIndex.d.ts.map +1 -1
  540. package/dist/types/ReadonlyMap.d.ts.map +1 -1
  541. package/dist/types/ReadonlySet.d.ts.map +1 -1
  542. package/dist/types/TSTLClass.d.ts +0 -1
  543. package/dist/types/TSTLClass.d.ts.map +1 -1
  544. package/dist/types/TupleWithLengthBetween.js +2 -2
  545. package/dist/types/TupleWithMaxLength.js +2 -2
  546. package/dist/types/WeightedArray.d.ts +0 -1
  547. package/dist/types/WeightedArray.d.ts.map +1 -1
  548. package/package.json +9 -2
  549. package/src/callbackClasses.ts +7 -6
  550. package/src/callbacks.ts +1 -0
  551. package/src/classes/DefaultMap.ts +5 -2
  552. package/src/classes/ModFeature.ts +3 -3
  553. package/src/classes/ModUpgraded.ts +4 -6
  554. package/src/classes/callbacks/InputActionFilter.ts +3 -3
  555. package/src/classes/callbacks/InputActionPlayer.ts +6 -6
  556. package/src/classes/callbacks/PostBoneSwing.ts +2 -2
  557. package/src/classes/callbacks/PostCollectibleEmpty.ts +3 -5
  558. package/src/classes/callbacks/PostCursedTeleport.ts +5 -5
  559. package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -2
  560. package/src/classes/callbacks/PostEntityRemoveFilter.ts +22 -0
  561. package/src/classes/callbacks/PostGridEntityCollision.ts +10 -10
  562. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +8 -8
  563. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +2 -2
  564. package/src/classes/callbacks/PostGridEntityRemove.ts +3 -3
  565. package/src/classes/callbacks/PostItemDischarge.ts +5 -8
  566. package/src/classes/callbacks/PostKeyboardChanged.ts +2 -2
  567. package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
  568. package/src/classes/callbacks/PostNewRoomEarly.ts +3 -3
  569. package/src/classes/callbacks/PostPickupSelectionFilter.ts +4 -3
  570. package/src/classes/callbacks/PostPlayerChangeHealth.ts +2 -2
  571. package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
  572. package/src/classes/callbacks/PostPurchase.ts +9 -9
  573. package/src/classes/callbacks/PostTransformation.ts +1 -3
  574. package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
  575. package/src/classes/callbacks/PostUsePillFilter.ts +2 -2
  576. package/src/classes/callbacks/PreBerserkDeath.ts +4 -4
  577. package/src/classes/callbacks/PreEntitySpawnFilter.ts +3 -3
  578. package/src/classes/callbacks/PreRoomEntitySpawnFilter.ts +5 -5
  579. package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
  580. package/src/classes/features/callbackLogic/EsauJrDetection.ts +2 -2
  581. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +9 -11
  582. package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +4 -4
  583. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +4 -4
  584. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +2 -2
  585. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +4 -4
  586. package/src/classes/features/other/CustomPickups.ts +1 -0
  587. package/src/classes/features/other/CustomStages.ts +2 -2
  588. package/src/classes/features/other/CustomTrapdoors.ts +46 -39
  589. package/src/classes/features/other/DeployJSONRoom.ts +6 -4
  590. package/src/classes/features/other/DisableInputs.ts +3 -3
  591. package/src/classes/features/other/EdenStartingStatsHealth.ts +3 -1
  592. package/src/classes/features/other/ExtraConsoleCommands.ts +14 -10
  593. package/src/classes/features/other/ModdedElementDetection.ts +4 -4
  594. package/src/classes/features/other/ModdedElementSets.ts +5 -5
  595. package/src/classes/features/other/NoSirenSteal.ts +4 -4
  596. package/src/classes/features/other/PickupIndexCreation.ts +7 -8
  597. package/src/classes/features/other/PonyDetection.ts +2 -2
  598. package/src/classes/features/other/PressInput.ts +2 -2
  599. package/src/classes/features/other/PreventChildEntities.ts +4 -4
  600. package/src/classes/features/other/RoomHistory.ts +5 -5
  601. package/src/classes/features/other/RunInNFrames.ts +2 -2
  602. package/src/classes/features/other/SaveDataManager.ts +3 -3
  603. package/src/classes/features/other/StageHistory.ts +2 -2
  604. package/src/classes/features/other/StartAmbush.ts +2 -2
  605. package/src/classes/features/other/TaintedLazarusPlayers.ts +2 -2
  606. package/src/classes/features/other/customStages/backdrop.ts +1 -1
  607. package/src/classes/features/other/customStages/gridEntities.ts +4 -4
  608. package/src/classes/features/other/customStages/streakText.ts +4 -4
  609. package/src/classes/features/other/extraConsoleCommands/commands.ts +15 -15
  610. package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +4 -2
  611. package/src/classes/features/other/saveDataManager/loadFromDisk.ts +5 -0
  612. package/src/core/constants.ts +1 -1
  613. package/src/core/constantsVanilla.ts +4 -4
  614. package/src/enums/ModCallbackCustom.ts +18 -0
  615. package/src/functions/array.ts +33 -29
  616. package/src/functions/arrayLua.ts +1 -1
  617. package/src/functions/bosses.ts +4 -3
  618. package/src/functions/charge.ts +3 -4
  619. package/src/functions/collectibles.ts +2 -2
  620. package/src/functions/decorators.ts +6 -9
  621. package/src/functions/deepCopy.ts +6 -10
  622. package/src/functions/deepCopyTests.ts +4 -4
  623. package/src/functions/doors.ts +8 -3
  624. package/src/functions/easing.ts +2 -2
  625. package/src/functions/emptyRoom.ts +5 -5
  626. package/src/functions/entities.ts +11 -12
  627. package/src/functions/enums.ts +4 -4
  628. package/src/functions/familiars.ts +2 -2
  629. package/src/functions/flag.ts +3 -3
  630. package/src/functions/globals.ts +2 -3
  631. package/src/functions/gridEntities.ts +30 -24
  632. package/src/functions/gridEntitiesSpecific.ts +2 -2
  633. package/src/functions/isaacAPIClass.ts +2 -2
  634. package/src/functions/jsonHelpers.ts +7 -5
  635. package/src/functions/level.ts +3 -3
  636. package/src/functions/levelGrid.ts +9 -12
  637. package/src/functions/logEntities.ts +11 -8
  638. package/src/functions/logMisc.ts +9 -20
  639. package/src/functions/map.ts +4 -4
  640. package/src/functions/math.ts +4 -4
  641. package/src/functions/merge.ts +1 -1
  642. package/src/functions/minimap.ts +2 -6
  643. package/src/functions/newArray.ts +1 -1
  644. package/src/functions/nextStage.ts +14 -10
  645. package/src/functions/npcDataStructures.ts +5 -5
  646. package/src/functions/npcs.ts +13 -10
  647. package/src/functions/pickupVariants.ts +6 -6
  648. package/src/functions/playerCollectibles.ts +3 -5
  649. package/src/functions/playerDataStructures.ts +5 -5
  650. package/src/functions/playerHealth.ts +8 -8
  651. package/src/functions/playerIndex.ts +3 -3
  652. package/src/functions/players.ts +4 -4
  653. package/src/functions/pocketItems.ts +2 -2
  654. package/src/functions/positionVelocity.ts +4 -12
  655. package/src/functions/revive.ts +15 -15
  656. package/src/functions/rng.ts +4 -3
  657. package/src/functions/roomData.ts +1 -3
  658. package/src/functions/roomGrid.ts +2 -2
  659. package/src/functions/rooms.ts +55 -42
  660. package/src/functions/set.ts +8 -8
  661. package/src/functions/sort.ts +4 -4
  662. package/src/functions/sound.ts +2 -7
  663. package/src/functions/spawnCollectible.ts +4 -6
  664. package/src/functions/stage.ts +20 -30
  665. package/src/functions/string.ts +6 -6
  666. package/src/functions/tears.ts +2 -2
  667. package/src/functions/trinketGive.ts +4 -4
  668. package/src/functions/trinkets.ts +1 -3
  669. package/src/functions/tstlClass.ts +2 -2
  670. package/src/functions/types.ts +19 -19
  671. package/src/index.ts +58 -58
  672. package/src/interfaces/SaveData.ts +2 -1
  673. package/src/interfaces/private/AddCallbackParametersCustom.ts +7 -0
  674. package/src/lib/jsonLua.js +34 -34
  675. package/src/objects/LRoomShapeToRectangles.ts +1 -1
  676. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
  677. package/src/shouldFire.ts +55 -57
  678. package/src/types/AddSubtract.ts +10 -2
  679. package/src/types/HasFunction.ts +1 -1
  680. package/src/types/Immutable.ts +1 -1
  681. package/src/types/Increment.ts +2 -2
  682. package/src/types/PickingUpItem.ts +10 -3
  683. package/src/types/TupleWithLengthBetween.ts +2 -2
  684. package/src/types/TupleWithMaxLength.ts +2 -2
@@ -131,7 +131,7 @@ function mergeSerializedArray(
131
131
  }
132
132
 
133
133
  function mergeSerializedTSTLObject(
134
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
134
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
135
135
  oldObject: Map<AnyNotNil, unknown> | Set<AnyNotNil>,
136
136
  newTable: LuaMap<AnyNotNil, unknown>,
137
137
  traversalDescription: string,
@@ -91,9 +91,7 @@ export function getRoomDisplayFlags(
91
91
  roomGridIndex?: int,
92
92
  minimapAPI = true,
93
93
  ): BitFlags<DisplayFlag> {
94
- if (roomGridIndex === undefined) {
95
- roomGridIndex = getRoomGridIndex();
96
- }
94
+ roomGridIndex ??= getRoomGridIndex();
97
95
 
98
96
  if (MinimapAPI === undefined || !minimapAPI) {
99
97
  const roomDescriptor = getRoomDescriptor(roomGridIndex);
@@ -217,9 +215,7 @@ export function setRoomDisplayFlags(
217
215
  displayFlags: BitFlags<DisplayFlag>,
218
216
  updateVisibility = true,
219
217
  ): void {
220
- if (roomGridIndex === undefined) {
221
- roomGridIndex = getRoomGridIndex();
222
- }
218
+ roomGridIndex ??= getRoomGridIndex();
223
219
 
224
220
  if (MinimapAPI === undefined) {
225
221
  const roomDescriptor = getRoomDescriptor(roomGridIndex);
@@ -16,7 +16,7 @@ import { repeat } from "./utils";
16
16
  * const arrayWithArrays = newArray([0], 20); // Has 20 elements of an array with a 0 in it.
17
17
  * ```
18
18
  */
19
- // eslint-disable-next-line isaacscript/no-mutable-return
19
+ // eslint-disable-next-line complete/no-mutable-return
20
20
  export function newArray<T>(defaultValue: T, size: int): T[] {
21
21
  const array: T[] = [];
22
22
  repeat(size, () => {
@@ -41,16 +41,19 @@ export function getNextStage(): LevelStage {
41
41
  // Second, handle the special case of being in a specific off-grid room.
42
42
  switch (roomGridIndex) {
43
43
  // -8
44
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
44
45
  case GridRoom.BLUE_WOMB: {
45
46
  return LevelStage.BLUE_WOMB;
46
47
  }
47
48
 
48
49
  // -9
50
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
49
51
  case GridRoom.VOID: {
50
52
  return LevelStage.VOID;
51
53
  }
52
54
 
53
55
  // -10
56
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
54
57
  case GridRoom.SECRET_EXIT: {
55
58
  if (repentanceStage) {
56
59
  // e.g. From Downpour 2 to Mines 1, etc.
@@ -58,8 +61,8 @@ export function getNextStage(): LevelStage {
58
61
  }
59
62
 
60
63
  if (
61
- stage === LevelStage.DEPTHS_2 ||
62
- (stage === LevelStage.DEPTHS_1 && hasCurse(LevelCurse.LABYRINTH))
64
+ stage === LevelStage.DEPTHS_2
65
+ || (stage === LevelStage.DEPTHS_1 && hasCurse(LevelCurse.LABYRINTH))
63
66
  ) {
64
67
  // From Depths 2 to Mausoleum 2 through the strange door.
65
68
  return LevelStage.DEPTHS_2;
@@ -149,24 +152,25 @@ export function getNextStageType(upwards = false): StageType {
149
152
  }
150
153
 
151
154
  // Second, handle the special case of being in a specific off-grid room.
155
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
152
156
  if (roomGridIndex === GridRoom.SECRET_EXIT) {
153
157
  return calculateStageTypeRepentance(nextStage);
154
158
  }
155
159
 
156
160
  if (
157
- repentanceStage &&
158
- (stage === LevelStage.BASEMENT_1 || // 1
159
- stage === LevelStage.CAVES_1 || // 3
160
- stage === LevelStage.DEPTHS_1 || // 5
161
- stage === LevelStage.WOMB_1) // 7
161
+ repentanceStage
162
+ && (stage === LevelStage.BASEMENT_1 // 1
163
+ || stage === LevelStage.CAVES_1 // 3
164
+ || stage === LevelStage.DEPTHS_1 // 5
165
+ || stage === LevelStage.WOMB_1) // 7
162
166
  ) {
163
167
  return calculateStageTypeRepentance(nextStage);
164
168
  }
165
169
 
166
170
  if (
167
- repentanceStage &&
168
- stage === LevelStage.DEPTHS_2 &&
169
- mausoleumHeartKilled
171
+ repentanceStage
172
+ && stage === LevelStage.DEPTHS_2
173
+ && mausoleumHeartKilled
170
174
  ) {
171
175
  return calculateStageTypeRepentance(nextStage);
172
176
  }
@@ -41,7 +41,7 @@ export function defaultMapGetNPC<V, Args extends unknown[]>(
41
41
  * `mapSetNPC` helper function.
42
42
  */
43
43
  export function defaultMapSetNPC<V>(
44
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
44
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
45
45
  map: Map<PtrHash, V>,
46
46
  npc: EntityNPC,
47
47
  value: V,
@@ -54,7 +54,7 @@ export function defaultMapSetNPC<V>(
54
54
  * `Map.delete` method if you have a set of this type.
55
55
  */
56
56
  export function mapDeleteNPC(
57
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
57
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
58
58
  map: Map<PtrHash, unknown>,
59
59
  npc: EntityNPC,
60
60
  ): boolean {
@@ -123,7 +123,7 @@ export function mapHasNPC<V>(
123
123
  * ```
124
124
  */
125
125
  export function mapSetNPC<V>(
126
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
126
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
127
127
  map: Map<PtrHash, V>,
128
128
  npc: EntityNPC,
129
129
  value: V,
@@ -136,7 +136,7 @@ export function mapSetNPC<V>(
136
136
  * Helper function to make using sets with an type of `PtrHash` easier. Use this instead of the
137
137
  * `Set.add` method if you have a set of this type.
138
138
  */
139
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
139
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
140
140
  export function setAddNPC(set: Set<PtrHash>, npc: EntityNPC): void {
141
141
  const ptrHash = GetPtrHash(npc);
142
142
  set.add(ptrHash);
@@ -146,7 +146,7 @@ export function setAddNPC(set: Set<PtrHash>, npc: EntityNPC): void {
146
146
  * Helper function to make using sets with an type of `PtrHash` easier. Use this instead of the
147
147
  * `Set.delete` method if you have a set of this type.
148
148
  */
149
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
149
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
150
150
  export function setDeleteNPC(set: Set<PtrHash>, npc: EntityNPC): boolean {
151
151
  const ptrHash = GetPtrHash(npc);
152
152
  return set.delete(ptrHash);
@@ -131,9 +131,10 @@ export function isDaddyLongLegsChildStompEntity(npc: EntityNPC): boolean {
131
131
  */
132
132
  export function isDyingDump(npc: EntityNPC): boolean {
133
133
  return (
134
- npc.Type === EntityType.DUMP &&
135
- npc.Variant === DumpVariant.DUMP &&
136
- npc.State === NPCState.SPECIAL
134
+ npc.Type === EntityType.DUMP
135
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
136
+ && npc.Variant === DumpVariant.DUMP
137
+ && npc.State === NPCState.SPECIAL
137
138
  );
138
139
  }
139
140
 
@@ -144,10 +145,11 @@ export function isDyingDump(npc: EntityNPC): boolean {
144
145
  */
145
146
  export function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean {
146
147
  return (
147
- npc.Type === EntityType.HOPPER &&
148
- npc.Variant === HopperVariant.EGGY &&
149
- npc.State === NPCState.SUICIDE &&
150
- npc.StateFrame >= EGGY_STATE_FRAME_OF_FINAL_SPIDER
148
+ npc.Type === EntityType.HOPPER
149
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
150
+ && npc.Variant === HopperVariant.EGGY
151
+ && npc.State === NPCState.SUICIDE
152
+ && npc.StateFrame >= EGGY_STATE_FRAME_OF_FINAL_SPIDER
151
153
  );
152
154
  }
153
155
 
@@ -159,9 +161,10 @@ export function isDyingEggyWithNoSpidersLeft(npc: EntityNPC): boolean {
159
161
  */
160
162
  export function isRaglingDeathPatch(npc: EntityNPC): boolean {
161
163
  return (
162
- npc.Type === EntityType.RAGLING &&
163
- npc.Variant === RaglingVariant.RAG_MANS_RAGLING &&
164
+ npc.Type === EntityType.RAGLING
165
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
166
+ && npc.Variant === RaglingVariant.RAG_MANS_RAGLING
164
167
  // They go to `STATE_SPECIAL` when they are patches on the ground.
165
- npc.State === NPCState.SPECIAL
168
+ && npc.State === NPCState.SPECIAL
166
169
  );
167
170
  }
@@ -54,8 +54,8 @@ export function isPill(pickup: EntityPickup): pickup is EntityPickupPill {
54
54
  /** For `PickupVariant.LIL_BATTERY` (90). */
55
55
  export function isBattery(pickup: EntityPickup): pickup is EntityPickupBattery {
56
56
  return (
57
- pickup.Type === EntityType.PICKUP &&
58
- pickup.Variant === PickupVariant.LIL_BATTERY
57
+ pickup.Type === EntityType.PICKUP
58
+ && pickup.Variant === PickupVariant.LIL_BATTERY
59
59
  );
60
60
  }
61
61
 
@@ -64,8 +64,8 @@ export function isCollectible(
64
64
  pickup: EntityPickup,
65
65
  ): pickup is EntityPickupCollectible {
66
66
  return (
67
- pickup.Type === EntityType.PICKUP &&
68
- pickup.Variant === PickupVariant.COLLECTIBLE
67
+ pickup.Type === EntityType.PICKUP
68
+ && pickup.Variant === PickupVariant.COLLECTIBLE
69
69
  );
70
70
  }
71
71
 
@@ -79,7 +79,7 @@ export function isCardPickup(pickup: EntityPickup): pickup is EntityPickupCard {
79
79
  /** For `PickupVariant.TRINKET` (350). */
80
80
  export function isTrinket(pickup: EntityPickup): pickup is EntityPickupTrinket {
81
81
  return (
82
- pickup.Type === EntityType.PICKUP &&
83
- pickup.Variant === PickupVariant.TRINKET
82
+ pickup.Type === EntityType.PICKUP
83
+ && pickup.Variant === PickupVariant.TRINKET
84
84
  );
85
85
  }
@@ -196,8 +196,8 @@ export function hasOpenActiveItemSlot(player: EntityPlayer): boolean {
196
196
 
197
197
  if (hasSchoolbag) {
198
198
  return (
199
- activeItemPrimary === CollectibleType.NULL ||
200
- activeItemSecondary === CollectibleType.NULL
199
+ activeItemPrimary === CollectibleType.NULL
200
+ || activeItemSecondary === CollectibleType.NULL
201
201
  );
202
202
  }
203
203
 
@@ -315,9 +315,7 @@ export function setActiveItem(
315
315
  const primaryCharge = player.GetActiveCharge(ActiveSlot.PRIMARY);
316
316
  const secondaryCollectibleType = player.GetActiveItem(ActiveSlot.SECONDARY);
317
317
 
318
- if (charge === undefined) {
319
- charge = getCollectibleMaxCharges(collectibleType);
320
- }
318
+ charge ??= getCollectibleMaxCharges(collectibleType);
321
319
 
322
320
  if (!keepInPools) {
323
321
  itemPool.RemoveCollectible(collectibleType);
@@ -39,7 +39,7 @@ export function defaultMapGetPlayer<V, Args extends unknown[]>(
39
39
  * `mapSetPlayer` helper function.
40
40
  */
41
41
  export function defaultMapSetPlayer<V>(
42
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
42
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
43
43
  map: Map<PlayerIndex, V>,
44
44
  player: EntityPlayer,
45
45
  value: V,
@@ -52,7 +52,7 @@ export function defaultMapSetPlayer<V>(
52
52
  * `Map.delete` method if you have a set of this type.
53
53
  */
54
54
  export function mapDeletePlayer(
55
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
55
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
56
56
  map: Map<PlayerIndex, unknown>,
57
57
  player: EntityPlayer,
58
58
  ): boolean {
@@ -121,7 +121,7 @@ export function mapHasPlayer<V>(
121
121
  * ```
122
122
  */
123
123
  export function mapSetPlayer<V>(
124
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
124
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
125
125
  map: Map<PlayerIndex, V>,
126
126
  player: EntityPlayer,
127
127
  value: V,
@@ -135,7 +135,7 @@ export function mapSetPlayer<V>(
135
135
  * `Set.add` method if you have a set of this type.
136
136
  */
137
137
  export function setAddPlayer(
138
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
138
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
139
139
  set: Set<PlayerIndex>,
140
140
  player: EntityPlayer,
141
141
  ): void {
@@ -148,7 +148,7 @@ export function setAddPlayer(
148
148
  * `Set.delete` method if you have a set of this type.
149
149
  */
150
150
  export function setDeletePlayer(
151
- // eslint-disable-next-line isaacscript/prefer-readonly-parameter-types
151
+ // eslint-disable-next-line complete/prefer-readonly-parameter-types
152
152
  set: Set<PlayerIndex>,
153
153
  player: EntityPlayer,
154
154
  ): boolean {
@@ -381,8 +381,8 @@ export function getPlayerMaxHeartContainers(player: EntityPlayer): int {
381
381
  // 1
382
382
  // Magdalene can increase her maximum heart containers with Birthright.
383
383
  if (
384
- character === PlayerType.MAGDALENE &&
385
- player.HasCollectible(CollectibleType.BIRTHRIGHT)
384
+ character === PlayerType.MAGDALENE
385
+ && player.HasCollectible(CollectibleType.BIRTHRIGHT)
386
386
  ) {
387
387
  const extraMaxHeartContainersFromBirthright = 6;
388
388
  return characterMaxHeartContainers + extraMaxHeartContainersFromBirthright;
@@ -404,9 +404,9 @@ export function getPlayerMaxHeartContainers(player: EntityPlayer): int {
404
404
  : 0;
405
405
 
406
406
  return (
407
- characterMaxHeartContainers +
408
- numMothersKisses +
409
- greedsGulletCoinContainers
407
+ characterMaxHeartContainers
408
+ + numMothersKisses
409
+ + greedsGulletCoinContainers
410
410
  );
411
411
  }
412
412
 
@@ -599,9 +599,9 @@ export function setPlayerHealth(
599
599
  playerHealth.soulHearts + playerHealth.boneHearts * 2 < (i + 1) * 2;
600
600
  let addAmount = 2;
601
601
  if (
602
- isHalf ||
603
- soulHeartType === HeartSubType.BONE ||
604
- soulHeartsRemaining < 2
602
+ isHalf
603
+ || soulHeartType === HeartSubType.BONE
604
+ || soulHeartsRemaining < 2
605
605
  ) {
606
606
  // Fix the bug where a half soul heart to the left of a bone heart will be treated as a full
607
607
  // soul heart.
@@ -219,8 +219,8 @@ export function isChildPlayer(player: EntityPlayer): boolean {
219
219
  */
220
220
  export function isFoundSoul(player: EntityPlayer): boolean {
221
221
  return (
222
- isChildPlayer(player) &&
223
- player.Variant === PlayerVariant.COOP_BABY &&
224
- player.SubType === (BabySubType.FOUND_SOUL as int)
222
+ isChildPlayer(player)
223
+ && player.Variant === PlayerVariant.COOP_BABY
224
+ && player.SubType === (BabySubType.FOUND_SOUL as int)
225
225
  );
226
226
  }
@@ -56,10 +56,10 @@ export function canPlayerCrushRocks(player: EntityPlayer): boolean {
56
56
  const effects = player.GetEffects();
57
57
 
58
58
  return (
59
- player.HasCollectible(CollectibleType.LEO) ||
60
- player.HasCollectible(CollectibleType.THUNDER_THIGHS) ||
61
- effects.HasCollectibleEffect(CollectibleType.MEGA_MUSH) ||
62
- player.HasPlayerForm(PlayerForm.STOMPY)
59
+ player.HasCollectible(CollectibleType.LEO)
60
+ || player.HasCollectible(CollectibleType.THUNDER_THIGHS)
61
+ || effects.HasCollectibleEffect(CollectibleType.MEGA_MUSH)
62
+ || player.HasPlayerForm(PlayerForm.STOMPY)
63
63
  );
64
64
  }
65
65
 
@@ -47,8 +47,8 @@ export function getFirstCardOrPill(
47
47
  const pocketItems = getPocketItems(player);
48
48
  return pocketItems.find(
49
49
  (pocketItem) =>
50
- pocketItem.type === PocketItemType.CARD ||
51
- pocketItem.type === PocketItemType.PILL,
50
+ pocketItem.type === PocketItemType.CARD
51
+ || pocketItem.type === PocketItemType.PILL,
52
52
  );
53
53
  }
54
54
 
@@ -112,9 +112,7 @@ export function findFreePosition(
112
112
  export function getEntityPositions(
113
113
  entities?: readonly Entity[],
114
114
  ): ReadonlyMap<PtrHash, Vector> {
115
- if (entities === undefined) {
116
- entities = getEntities();
117
- }
115
+ entities ??= getEntities();
118
116
 
119
117
  const entityPositions = new Map<PtrHash, Vector>();
120
118
  for (const entity of entities) {
@@ -137,9 +135,7 @@ export function getEntityPositions(
137
135
  export function getEntityVelocities(
138
136
  entities?: readonly Entity[],
139
137
  ): ReadonlyMap<PtrHash, Vector> {
140
- if (entities === undefined) {
141
- entities = getEntities();
142
- }
138
+ entities ??= getEntities();
143
139
 
144
140
  const entityVelocities = new Map<PtrHash, Vector>();
145
141
  for (const entity of entities) {
@@ -167,9 +163,7 @@ export function setEntityPositions(
167
163
  entityPositions: ReadonlyMap<PtrHash, Vector>,
168
164
  entities?: readonly Entity[],
169
165
  ): void {
170
- if (entities === undefined) {
171
- entities = getEntities();
172
- }
166
+ entities ??= getEntities();
173
167
 
174
168
  for (const entity of entities) {
175
169
  const ptrHash = GetPtrHash(entity);
@@ -197,9 +191,7 @@ export function setEntityVelocities(
197
191
  entityVelocities: ReadonlyMap<PtrHash, Vector>,
198
192
  entities?: readonly Entity[],
199
193
  ): void {
200
- if (entities === undefined) {
201
- entities = getEntities();
202
- }
194
+ entities ??= getEntities();
203
195
 
204
196
  for (const entity of entities) {
205
197
  const ptrHash = GetPtrHash(entity);
@@ -35,8 +35,8 @@ export function isDamageToPlayerFatal(
35
35
  // If we are Tainted Jacob and the damage source is Dark Esau, this will not be fatal damage
36
36
  // (because we will transform into Tainted Jacob's lost form).
37
37
  if (
38
- character === PlayerType.JACOB_B &&
39
- source.Type === EntityType.DARK_ESAU
38
+ character === PlayerType.JACOB_B
39
+ && source.Type === EntityType.DARK_ESAU
40
40
  ) {
41
41
  return false;
42
42
  }
@@ -50,11 +50,11 @@ export function isDamageToPlayerFatal(
50
50
  // If we are playing Tainted Samson and the incoming hit will cause us to become Berserk, then
51
51
  // this will not be fatal damage.
52
52
  const berserkChargeAfterHit =
53
- player.SamsonBerserkCharge +
54
- TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE;
53
+ player.SamsonBerserkCharge
54
+ + TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE;
55
55
  if (
56
- character === PlayerType.SAMSON_B &&
57
- berserkChargeAfterHit >= MAX_TAINTED_SAMSON_BERSERK_CHARGE
56
+ character === PlayerType.SAMSON_B
57
+ && berserkChargeAfterHit >= MAX_TAINTED_SAMSON_BERSERK_CHARGE
58
58
  ) {
59
59
  return false;
60
60
  }
@@ -89,8 +89,8 @@ export function isDamageToPlayerFatal(
89
89
  // This will not be fatal damage if we have Glass Cannon and this is the second time we are taking
90
90
  // damage on the same frame.
91
91
  if (
92
- player.HasCollectible(CollectibleType.BROKEN_GLASS_CANNON) &&
93
- onGameFrame(lastDamageGameFrame)
92
+ player.HasCollectible(CollectibleType.BROKEN_GLASS_CANNON)
93
+ && onGameFrame(lastDamageGameFrame)
94
94
  ) {
95
95
  return false;
96
96
  }
@@ -103,11 +103,11 @@ export function isDamageToPlayerFatal(
103
103
  const soulHearts = player.GetSoulHearts();
104
104
  const boneHearts = player.GetBoneHearts();
105
105
  if (
106
- (hearts > 0 && soulHearts > 0) ||
107
- (hearts > 0 && boneHearts > 0) ||
108
- (soulHearts > 0 && boneHearts > 0) ||
109
- (soulHearts > 0 && eternalHearts > 0) ||
110
- boneHearts >= 2 // Two bone hearts and nothing else should not result in a death
106
+ (hearts > 0 && soulHearts > 0)
107
+ || (hearts > 0 && boneHearts > 0)
108
+ || (soulHearts > 0 && boneHearts > 0)
109
+ || (soulHearts > 0 && eternalHearts > 0)
110
+ || boneHearts >= 2 // Two bone hearts and nothing else should not result in a death
111
111
  ) {
112
112
  return false;
113
113
  }
@@ -155,8 +155,8 @@ export function willPlayerRevive(player: EntityPlayer): boolean {
155
155
  );
156
156
 
157
157
  const willRevive =
158
- player.WillPlayerRevive() ||
159
- (trinketSituation !== undefined && willMysteriousPaperRevive(player));
158
+ player.WillPlayerRevive()
159
+ || (trinketSituation !== undefined && willMysteriousPaperRevive(player));
160
160
 
161
161
  giveTrinketsBack(player, trinketSituation);
162
162
 
@@ -17,7 +17,8 @@ export type SerializedRNG = LuaMap<string, unknown> & {
17
17
  /**
18
18
  * This is the ShiftIdx that Blade recommended after having reviewing the game's internal functions.
19
19
  * Any value between 0 and 80 should work equally well.
20
- * https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf
20
+ *
21
+ * @see https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf
21
22
  */
22
23
  const RECOMMENDED_SHIFT_IDX = 35;
23
24
 
@@ -63,7 +64,7 @@ export function deserializeRNG(rng: SerializedRNG): RNG {
63
64
  * the game.
64
65
  */
65
66
  export function getRandomSeed(): Seed {
66
- const randomNumber = Random(); // eslint-disable-line deprecation/deprecation
67
+ const randomNumber = Random(); // eslint-disable-line @typescript-eslint/no-deprecated
67
68
  const safeRandomNumber = randomNumber === 0 ? 1 : randomNumber;
68
69
  return safeRandomNumber as Seed;
69
70
  }
@@ -171,6 +172,6 @@ export function setSeed(rng: RNG, seed: Seed): void {
171
172
  }
172
173
 
173
174
  // The game expects seeds in the range of 1 to 4294967295 (1^32 - 1).
174
- // eslint-disable-next-line deprecation/deprecation
175
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
175
176
  rng.SetSeed(seed, RECOMMENDED_SHIFT_IDX);
176
177
  }
@@ -65,9 +65,7 @@ export function getRoomData(roomGridIndex?: int): RoomConfig | undefined {
65
65
  export function getRoomDescriptor(roomGridIndex?: int): RoomDescriptor {
66
66
  const level = game.GetLevel();
67
67
 
68
- if (roomGridIndex === undefined) {
69
- roomGridIndex = getRoomGridIndex();
70
- }
68
+ roomGridIndex ??= getRoomGridIndex();
71
69
 
72
70
  return level.GetRoomByIdx(roomGridIndex);
73
71
  }
@@ -94,8 +94,8 @@ function isValidGridPositionLRoom(gridPosition: Vector, roomShape: RoomShape) {
94
94
  horizontalBottomRight,
95
95
  } = rectangles;
96
96
  return (
97
- inRectangle(gridPosition, verticalTopLeft, verticalBottomRight) ||
98
- inRectangle(gridPosition, horizontalTopLeft, horizontalBottomRight)
97
+ inRectangle(gridPosition, verticalTopLeft, verticalBottomRight)
98
+ || inRectangle(gridPosition, horizontalTopLeft, horizontalBottomRight)
99
99
  );
100
100
  }
101
101