isaacscript-common 87.4.0 → 87.5.1

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 (596) hide show
  1. package/README.md +1 -1
  2. package/dist/callbackClasses.d.ts +6 -6
  3. package/dist/callbackClasses.d.ts.map +1 -1
  4. package/dist/callbackClasses.js +14 -14
  5. package/dist/callbackClasses.lua +159 -300
  6. package/dist/callbacks.js +18 -9
  7. package/dist/classes/DefaultMap.d.ts +5 -1
  8. package/dist/classes/DefaultMap.d.ts.map +1 -1
  9. package/dist/classes/ModFeature.js +3 -3
  10. package/dist/classes/ModUpgraded.d.ts.map +1 -1
  11. package/dist/classes/ModUpgraded.js +2 -4
  12. package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
  13. package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
  14. package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
  15. package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
  16. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
  17. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  18. package/dist/classes/callbacks/PostCollectibleEmpty.js +1 -3
  19. package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -4
  20. package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  21. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -3
  22. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  23. package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
  24. package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
  25. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
  26. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
  27. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
  28. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
  29. package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
  30. package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
  31. package/dist/classes/callbacks/PostItemDischarge.d.ts +2 -2
  32. package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  33. package/dist/classes/callbacks/PostItemDischarge.js +3 -6
  34. package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
  35. package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
  36. package/dist/classes/callbacks/PostNewRoomEarly.js +1 -1
  37. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
  38. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
  39. package/dist/classes/callbacks/PostPlayerChangeType.js +1 -1
  40. package/dist/classes/callbacks/PostPurchase.d.ts +2 -4
  41. package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
  42. package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
  43. package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
  44. package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
  45. package/dist/classes/callbacks/PostTransformation.js +1 -3
  46. package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  47. package/dist/classes/callbacks/PostTrinketBreak.js +1 -3
  48. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
  49. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
  50. package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  51. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
  52. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
  53. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
  54. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  55. package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  56. package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  57. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  58. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +4 -6
  59. package/dist/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -1
  60. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +6 -2
  61. package/dist/classes/features/callbackLogic/ItemPickupDetection.lua +6 -1
  62. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +0 -1
  63. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
  64. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +4 -4
  65. package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
  66. package/dist/classes/features/other/CustomPickups.js +1 -0
  67. package/dist/classes/features/other/CustomStages.js +19 -9
  68. package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  69. package/dist/classes/features/other/CustomTrapdoors.js +23 -17
  70. package/dist/classes/features/other/CustomTrapdoors.lua +14 -7
  71. package/dist/classes/features/other/DebugDisplay.d.ts +0 -18
  72. package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
  73. package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -2
  74. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  75. package/dist/classes/features/other/DeployJSONRoom.js +2 -0
  76. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +1 -1
  77. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
  78. package/dist/classes/features/other/ExtraConsoleCommands.d.ts +14 -10
  79. package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  80. package/dist/classes/features/other/ExtraConsoleCommands.js +31 -17
  81. package/dist/classes/features/other/ExtraConsoleCommands.lua +2 -1
  82. package/dist/classes/features/other/FlyingDetection.d.ts +0 -1
  83. package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
  84. package/dist/classes/features/other/ForgottenSwitch.d.ts +0 -1
  85. package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  86. package/dist/classes/features/other/ModdedElementDetection.js +4 -4
  87. package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
  88. package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  89. package/dist/classes/features/other/ModdedElementSets.js +1 -1
  90. package/dist/classes/features/other/PickupIndexCreation.d.ts +0 -1
  91. package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  92. package/dist/classes/features/other/PickupIndexCreation.js +2 -3
  93. package/dist/classes/features/other/PickupIndexCreation.lua +10 -10
  94. package/dist/classes/features/other/PonyDetection.d.ts +0 -1
  95. package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
  96. package/dist/classes/features/other/PreventChildEntities.d.ts +0 -1
  97. package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  98. package/dist/classes/features/other/RoomClearFrame.d.ts +0 -1
  99. package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  100. package/dist/classes/features/other/RoomHistory.d.ts +0 -1
  101. package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
  102. package/dist/classes/features/other/RunInNFrames.js +2 -2
  103. package/dist/classes/features/other/SaveDataManager.js +1 -1
  104. package/dist/classes/features/other/SpawnRockAltRewards.d.ts +0 -4
  105. package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
  106. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +0 -1
  107. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
  108. package/dist/classes/features/other/customStages/backdrop.js +2 -3
  109. package/dist/classes/features/other/customStages/constants.d.ts.map +1 -1
  110. package/dist/classes/features/other/customStages/gridEntities.d.ts +0 -1
  111. package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
  112. package/dist/classes/features/other/customStages/gridEntities.js +5 -6
  113. package/dist/classes/features/other/customStages/shadows.js +1 -2
  114. package/dist/classes/features/other/customStages/streakText.js +3 -4
  115. package/dist/classes/features/other/customStages/utils.d.ts +0 -2
  116. package/dist/classes/features/other/customStages/utils.d.ts.map +1 -1
  117. package/dist/classes/features/other/customStages/utils.js +2 -3
  118. package/dist/classes/features/other/customStages/v.d.ts.map +1 -1
  119. package/dist/classes/features/other/customStages/versusScreen.js +2 -3
  120. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +0 -1
  121. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
  122. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +0 -1
  123. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
  124. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +0 -1
  125. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
  126. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +0 -1
  127. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
  128. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +0 -1
  129. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
  130. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +0 -1
  131. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
  132. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +0 -1
  133. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
  134. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +0 -1
  135. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
  136. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +0 -1
  137. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
  138. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +0 -1
  139. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
  140. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +0 -1
  141. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
  142. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +0 -1
  143. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
  144. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +0 -1
  145. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
  146. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +0 -1
  147. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
  148. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +0 -1
  149. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
  150. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +0 -1
  151. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
  152. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +0 -1
  153. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
  154. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +0 -1
  155. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
  156. package/dist/classes/features/other/debugDisplay/utils.d.ts +0 -2
  157. package/dist/classes/features/other/debugDisplay/utils.d.ts.map +1 -1
  158. package/dist/classes/features/other/debugDisplay/utils.js +2 -3
  159. package/dist/classes/features/other/extraConsoleCommands/commands.js +147 -150
  160. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +8 -9
  161. package/dist/classes/features/other/saveDataManager/constants.d.ts.map +1 -1
  162. package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts +0 -1
  163. package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -1
  164. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +2 -3
  165. package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts +0 -2
  166. package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -1
  167. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +5 -2
  168. package/dist/classes/features/other/saveDataManager/loadFromDisk.lua +3 -0
  169. package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts +0 -1
  170. package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
  171. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +3 -4
  172. package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts +0 -2
  173. package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -1
  174. package/dist/classes/features/other/saveDataManager/saveToDisk.js +1 -2
  175. package/dist/classes/private/CustomCallback.d.ts.map +1 -1
  176. package/dist/core/cachedClasses.d.ts +0 -5
  177. package/dist/core/cachedClasses.d.ts.map +1 -1
  178. package/dist/core/constants.js +1 -1
  179. package/dist/core/constantsVanilla.js +4 -4
  180. package/dist/core/upgradeMod.d.ts +0 -2
  181. package/dist/core/upgradeMod.d.ts.map +1 -1
  182. package/dist/core/upgradeMod.js +1 -2
  183. package/dist/decorators.js +2 -2
  184. package/dist/enums/ModCallbackCustom.d.ts +5 -4
  185. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  186. package/dist/enums/ModCallbackCustom.js +5 -4
  187. package/dist/enums/private/GridEntityTypeCustom.d.ts.map +1 -1
  188. package/dist/features.js +1 -2
  189. package/dist/functions/ambush.js +1 -2
  190. package/dist/functions/array.d.ts +5 -8
  191. package/dist/functions/array.d.ts.map +1 -1
  192. package/dist/functions/array.js +55 -55
  193. package/dist/functions/array.lua +2 -2
  194. package/dist/functions/arrayLua.d.ts +1 -1
  195. package/dist/functions/arrayLua.d.ts.map +1 -1
  196. package/dist/functions/arrayLua.js +7 -8
  197. package/dist/functions/benchmark.d.ts +0 -1
  198. package/dist/functions/benchmark.d.ts.map +1 -1
  199. package/dist/functions/benchmark.js +1 -2
  200. package/dist/functions/bitSet128.d.ts +0 -1
  201. package/dist/functions/bitSet128.d.ts.map +1 -1
  202. package/dist/functions/bitSet128.js +5 -6
  203. package/dist/functions/bitwise.d.ts +0 -4
  204. package/dist/functions/bitwise.d.ts.map +1 -1
  205. package/dist/functions/bitwise.js +7 -8
  206. package/dist/functions/bitwise.lua +3 -3
  207. package/dist/functions/bombs.d.ts +0 -1
  208. package/dist/functions/bombs.d.ts.map +1 -1
  209. package/dist/functions/bombs.js +1 -2
  210. package/dist/functions/bosses.d.ts.map +1 -1
  211. package/dist/functions/bosses.js +17 -17
  212. package/dist/functions/cards.js +16 -17
  213. package/dist/functions/challenges.js +9 -10
  214. package/dist/functions/characters.js +17 -18
  215. package/dist/functions/charge.d.ts.map +1 -1
  216. package/dist/functions/charge.js +10 -11
  217. package/dist/functions/charge.lua +1 -1
  218. package/dist/functions/chargeBar.d.ts +0 -2
  219. package/dist/functions/chargeBar.d.ts.map +1 -1
  220. package/dist/functions/chargeBar.js +2 -3
  221. package/dist/functions/collectibleTag.js +2 -3
  222. package/dist/functions/collectibles.js +37 -38
  223. package/dist/functions/color.d.ts +0 -1
  224. package/dist/functions/color.d.ts.map +1 -1
  225. package/dist/functions/color.js +7 -8
  226. package/dist/functions/console.js +2 -3
  227. package/dist/functions/curses.js +2 -3
  228. package/dist/functions/debugFunctions.d.ts +0 -1
  229. package/dist/functions/debugFunctions.d.ts.map +1 -1
  230. package/dist/functions/debugFunctions.js +5 -6
  231. package/dist/functions/decorators.d.ts +4 -4
  232. package/dist/functions/decorators.d.ts.map +1 -1
  233. package/dist/functions/decorators.js +4 -5
  234. package/dist/functions/deepCopy.d.ts +0 -1
  235. package/dist/functions/deepCopy.d.ts.map +1 -1
  236. package/dist/functions/deepCopy.js +1 -4
  237. package/dist/functions/deepCopy.lua +0 -2
  238. package/dist/functions/deepCopyTests.js +5 -6
  239. package/dist/functions/dimensions.js +2 -3
  240. package/dist/functions/direction.js +6 -7
  241. package/dist/functions/doors.d.ts.map +1 -1
  242. package/dist/functions/doors.js +53 -49
  243. package/dist/functions/easing.js +30 -31
  244. package/dist/functions/effects.d.ts +0 -2
  245. package/dist/functions/effects.d.ts.map +1 -1
  246. package/dist/functions/effects.js +2 -2
  247. package/dist/functions/emptyRoom.js +2 -3
  248. package/dist/functions/entities.d.ts +3 -4
  249. package/dist/functions/entities.d.ts.map +1 -1
  250. package/dist/functions/entities.js +32 -33
  251. package/dist/functions/entities.lua +4 -11
  252. package/dist/functions/entitiesSpecific.js +40 -41
  253. package/dist/functions/entityTypes.d.ts +0 -1
  254. package/dist/functions/entityTypes.d.ts.map +1 -1
  255. package/dist/functions/entityTypes.js +1 -2
  256. package/dist/functions/enums.d.ts +1 -6
  257. package/dist/functions/enums.d.ts.map +1 -1
  258. package/dist/functions/enums.js +12 -13
  259. package/dist/functions/external.js +2 -3
  260. package/dist/functions/familiars.js +6 -7
  261. package/dist/functions/flag.d.ts +1 -1
  262. package/dist/functions/flag.d.ts.map +1 -1
  263. package/dist/functions/flag.js +7 -8
  264. package/dist/functions/frames.d.ts +0 -1
  265. package/dist/functions/frames.d.ts.map +1 -1
  266. package/dist/functions/frames.js +18 -19
  267. package/dist/functions/globals.d.ts +0 -1
  268. package/dist/functions/globals.d.ts.map +1 -1
  269. package/dist/functions/globals.js +23 -15
  270. package/dist/functions/gridEntities.d.ts.map +1 -1
  271. package/dist/functions/gridEntities.js +51 -39
  272. package/dist/functions/gridEntities.lua +9 -5
  273. package/dist/functions/gridEntitiesSpecific.js +38 -39
  274. package/dist/functions/gridIndex.js +1 -2
  275. package/dist/functions/hash.js +1 -2
  276. package/dist/functions/hex.d.ts +0 -2
  277. package/dist/functions/hex.d.ts.map +1 -1
  278. package/dist/functions/hex.js +2 -3
  279. package/dist/functions/input.js +21 -21
  280. package/dist/functions/isaacAPIClass.d.ts +0 -20
  281. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  282. package/dist/functions/isaacAPIClass.js +23 -24
  283. package/dist/functions/itemPool.js +7 -8
  284. package/dist/functions/jsonHelpers.d.ts +4 -5
  285. package/dist/functions/jsonHelpers.d.ts.map +1 -1
  286. package/dist/functions/jsonHelpers.js +23 -14
  287. package/dist/functions/jsonHelpers.lua +4 -4
  288. package/dist/functions/jsonRoom.js +5 -6
  289. package/dist/functions/kColor.d.ts +0 -1
  290. package/dist/functions/kColor.d.ts.map +1 -1
  291. package/dist/functions/kColor.js +7 -8
  292. package/dist/functions/language.js +1 -2
  293. package/dist/functions/level.js +4 -5
  294. package/dist/functions/levelGrid.d.ts.map +1 -1
  295. package/dist/functions/levelGrid.js +27 -32
  296. package/dist/functions/log.js +4 -5
  297. package/dist/functions/logEntities.d.ts.map +1 -1
  298. package/dist/functions/logEntities.js +11 -9
  299. package/dist/functions/logMisc.d.ts +1 -2
  300. package/dist/functions/logMisc.d.ts.map +1 -1
  301. package/dist/functions/logMisc.js +35 -48
  302. package/dist/functions/logMisc.lua +3 -3
  303. package/dist/functions/map.d.ts +0 -2
  304. package/dist/functions/map.d.ts.map +1 -1
  305. package/dist/functions/map.js +12 -13
  306. package/dist/functions/math.js +13 -14
  307. package/dist/functions/merge.d.ts +0 -1
  308. package/dist/functions/merge.d.ts.map +1 -1
  309. package/dist/functions/merge.js +2 -3
  310. package/dist/functions/mergeTests.js +1 -2
  311. package/dist/functions/minimap.d.ts.map +1 -1
  312. package/dist/functions/minimap.js +12 -17
  313. package/dist/functions/modFeatures.js +1 -2
  314. package/dist/functions/newArray.d.ts +0 -1
  315. package/dist/functions/newArray.d.ts.map +1 -1
  316. package/dist/functions/newArray.js +2 -3
  317. package/dist/functions/nextStage.d.ts.map +1 -1
  318. package/dist/functions/nextStage.js +6 -3
  319. package/dist/functions/npcDataStructures.d.ts +0 -2
  320. package/dist/functions/npcDataStructures.d.ts.map +1 -1
  321. package/dist/functions/npcDataStructures.js +14 -15
  322. package/dist/functions/npcs.d.ts.map +1 -1
  323. package/dist/functions/npcs.js +9 -7
  324. package/dist/functions/pickupVariants.d.ts +0 -1
  325. package/dist/functions/pickupVariants.d.ts.map +1 -1
  326. package/dist/functions/pickupVariants.js +11 -12
  327. package/dist/functions/pickups.js +14 -15
  328. package/dist/functions/pickupsSpecific.js +40 -41
  329. package/dist/functions/pills.js +18 -19
  330. package/dist/functions/playerCenter.d.ts +0 -1
  331. package/dist/functions/playerCenter.d.ts.map +1 -1
  332. package/dist/functions/playerCenter.js +1 -2
  333. package/dist/functions/playerCollectibles.d.ts.map +1 -1
  334. package/dist/functions/playerCollectibles.js +19 -22
  335. package/dist/functions/playerCollectibles.lua +9 -9
  336. package/dist/functions/playerDataStructures.d.ts +0 -1
  337. package/dist/functions/playerDataStructures.d.ts.map +1 -1
  338. package/dist/functions/playerDataStructures.js +14 -15
  339. package/dist/functions/playerEffects.js +5 -6
  340. package/dist/functions/playerHealth.d.ts +0 -2
  341. package/dist/functions/playerHealth.d.ts.map +1 -1
  342. package/dist/functions/playerHealth.js +20 -21
  343. package/dist/functions/playerHealth.lua +26 -26
  344. package/dist/functions/playerIndex.d.ts +0 -3
  345. package/dist/functions/playerIndex.d.ts.map +1 -1
  346. package/dist/functions/playerIndex.js +9 -10
  347. package/dist/functions/playerTrinkets.js +10 -11
  348. package/dist/functions/players.d.ts +2 -0
  349. package/dist/functions/players.d.ts.map +1 -1
  350. package/dist/functions/players.js +39 -38
  351. package/dist/functions/players.lua +2 -0
  352. package/dist/functions/pocketItems.js +8 -9
  353. package/dist/functions/positionVelocity.d.ts +0 -4
  354. package/dist/functions/positionVelocity.d.ts.map +1 -1
  355. package/dist/functions/positionVelocity.js +11 -20
  356. package/dist/functions/positionVelocity.lua +4 -4
  357. package/dist/functions/pressurePlate.js +1 -2
  358. package/dist/functions/projectiles.js +2 -3
  359. package/dist/functions/random.d.ts +0 -3
  360. package/dist/functions/random.d.ts.map +1 -1
  361. package/dist/functions/random.js +3 -4
  362. package/dist/functions/readOnly.d.ts +0 -4
  363. package/dist/functions/readOnly.d.ts.map +1 -1
  364. package/dist/functions/readOnly.js +3 -4
  365. package/dist/functions/render.d.ts +0 -3
  366. package/dist/functions/render.d.ts.map +1 -1
  367. package/dist/functions/render.js +3 -4
  368. package/dist/functions/revive.d.ts +0 -3
  369. package/dist/functions/revive.d.ts.map +1 -1
  370. package/dist/functions/revive.js +5 -6
  371. package/dist/functions/rng.d.ts +0 -1
  372. package/dist/functions/rng.d.ts.map +1 -1
  373. package/dist/functions/rng.js +15 -15
  374. package/dist/functions/rockAlt.d.ts +0 -1
  375. package/dist/functions/rockAlt.d.ts.map +1 -1
  376. package/dist/functions/rockAlt.js +2 -3
  377. package/dist/functions/roomData.d.ts.map +1 -1
  378. package/dist/functions/roomData.js +15 -18
  379. package/dist/functions/roomGrid.js +6 -7
  380. package/dist/functions/roomShape.js +14 -15
  381. package/dist/functions/roomShapeWalls.js +2 -3
  382. package/dist/functions/roomTransition.js +2 -3
  383. package/dist/functions/rooms.d.ts.map +1 -1
  384. package/dist/functions/rooms.js +77 -64
  385. package/dist/functions/rooms.lua +2 -2
  386. package/dist/functions/run.js +8 -9
  387. package/dist/functions/seeds.d.ts +0 -1
  388. package/dist/functions/seeds.d.ts.map +1 -1
  389. package/dist/functions/seeds.js +2 -3
  390. package/dist/functions/serialization.js +5 -6
  391. package/dist/functions/set.d.ts +0 -2
  392. package/dist/functions/set.d.ts.map +1 -1
  393. package/dist/functions/set.js +22 -23
  394. package/dist/functions/slots.js +2 -3
  395. package/dist/functions/sort.d.ts.map +1 -1
  396. package/dist/functions/sort.js +6 -7
  397. package/dist/functions/sound.d.ts.map +1 -1
  398. package/dist/functions/sound.js +4 -9
  399. package/dist/functions/spawnCollectible.d.ts.map +1 -1
  400. package/dist/functions/spawnCollectible.js +4 -7
  401. package/dist/functions/sprites.d.ts +0 -3
  402. package/dist/functions/sprites.d.ts.map +1 -1
  403. package/dist/functions/sprites.js +6 -7
  404. package/dist/functions/stage.d.ts.map +1 -1
  405. package/dist/functions/stage.js +44 -53
  406. package/dist/functions/stage.lua +5 -5
  407. package/dist/functions/stats.js +4 -5
  408. package/dist/functions/storyBosses.js +2 -3
  409. package/dist/functions/string.d.ts +0 -1
  410. package/dist/functions/string.d.ts.map +1 -1
  411. package/dist/functions/string.js +12 -13
  412. package/dist/functions/table.d.ts +0 -1
  413. package/dist/functions/table.d.ts.map +1 -1
  414. package/dist/functions/table.js +8 -9
  415. package/dist/functions/tears.js +6 -7
  416. package/dist/functions/transformations.js +5 -6
  417. package/dist/functions/trinketGive.js +5 -6
  418. package/dist/functions/trinkets.d.ts.map +1 -1
  419. package/dist/functions/trinkets.js +14 -17
  420. package/dist/functions/tstlClass.d.ts +2 -3
  421. package/dist/functions/tstlClass.d.ts.map +1 -1
  422. package/dist/functions/tstlClass.js +9 -10
  423. package/dist/functions/tstlClass.lua +2 -2
  424. package/dist/functions/types.d.ts +15 -17
  425. package/dist/functions/types.d.ts.map +1 -1
  426. package/dist/functions/types.js +38 -39
  427. package/dist/functions/types.lua +14 -14
  428. package/dist/functions/ui.d.ts +0 -3
  429. package/dist/functions/ui.d.ts.map +1 -1
  430. package/dist/functions/ui.js +13 -14
  431. package/dist/functions/utils.d.ts +0 -1
  432. package/dist/functions/utils.d.ts.map +1 -1
  433. package/dist/functions/utils.js +11 -12
  434. package/dist/functions/vector.d.ts +0 -1
  435. package/dist/functions/vector.d.ts.map +1 -1
  436. package/dist/functions/vector.js +11 -12
  437. package/dist/functions/versusScreen.js +4 -5
  438. package/dist/functions/weighted.d.ts +0 -3
  439. package/dist/functions/weighted.d.ts.map +1 -1
  440. package/dist/functions/weighted.js +2 -3
  441. package/dist/index.d.ts +58 -58
  442. package/dist/index.d.ts.map +1 -1
  443. package/dist/index.js +4 -58
  444. package/dist/index.lua +443 -11
  445. package/dist/index.rollup.d.ts +86 -69
  446. package/dist/indexLua.d.ts +58 -58
  447. package/dist/indexLua.d.ts.map +1 -1
  448. package/dist/indexLua.js +4 -58
  449. package/dist/indexLua.lua +443 -11
  450. package/dist/interfaces/ChargeBarSprites.d.ts +0 -2
  451. package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
  452. package/dist/interfaces/Corner.d.ts +0 -2
  453. package/dist/interfaces/Corner.d.ts.map +1 -1
  454. package/dist/interfaces/SaveData.d.ts +0 -1
  455. package/dist/interfaces/SaveData.d.ts.map +1 -1
  456. package/dist/interfaces/TSTLClassMetatable.d.ts +0 -4
  457. package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
  458. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +5 -3
  459. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  460. package/dist/interfaces/private/ModUpgradedInterface.d.ts +0 -1
  461. package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
  462. package/dist/isaacscript-common.lua +1561 -1186
  463. package/dist/lib/jsonLua.js +2 -2
  464. package/dist/lualib_bundle.lua +107 -38
  465. package/dist/objects/LRoomShapeToRectangles.js +1 -1
  466. package/dist/objects/colors.d.ts +0 -1
  467. package/dist/objects/colors.d.ts.map +1 -1
  468. package/dist/objects/directionToVector.d.ts +0 -1
  469. package/dist/objects/directionToVector.d.ts.map +1 -1
  470. package/dist/objects/doorSlotFlagToDoorSlot.d.ts +9 -2
  471. package/dist/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
  472. package/dist/objects/doorSlotToDoorSlotFlag.d.ts +0 -1
  473. package/dist/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  474. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +17 -7
  475. package/dist/objects/kColors.d.ts +0 -1
  476. package/dist/objects/kColors.d.ts.map +1 -1
  477. package/dist/objects/roomShapeToBottomRightPosition.d.ts +0 -1
  478. package/dist/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  479. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +1 -1
  480. package/dist/objects/roomShapeToTopLeftPosition.d.ts +0 -1
  481. package/dist/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  482. package/dist/objects/versusScreenBackgroundColors.d.ts +0 -1
  483. package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  484. package/dist/objects/versusScreenDirtSpotColors.d.ts +0 -1
  485. package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  486. package/dist/patchErrorFunctions.js +1 -2
  487. package/dist/serialization.js +1 -2
  488. package/dist/shaderCrashFix.d.ts +0 -1
  489. package/dist/shaderCrashFix.d.ts.map +1 -1
  490. package/dist/shaderCrashFix.js +1 -2
  491. package/dist/shouldFire.d.ts.map +1 -1
  492. package/dist/shouldFire.js +30 -30
  493. package/dist/tsdoc-metadata.json +1 -1
  494. package/dist/types/AddSubtract.d.ts +10 -2
  495. package/dist/types/AddSubtract.d.ts.map +1 -1
  496. package/dist/types/AnyEntity.d.ts +0 -11
  497. package/dist/types/AnyEntity.d.ts.map +1 -1
  498. package/dist/types/AnyGridEntity.d.ts +0 -8
  499. package/dist/types/AnyGridEntity.d.ts.map +1 -1
  500. package/dist/types/PickingUpItem.js +5 -6
  501. package/dist/types/PickupIndex.d.ts +0 -1
  502. package/dist/types/PickupIndex.d.ts.map +1 -1
  503. package/dist/types/PlayerIndex.d.ts +0 -1
  504. package/dist/types/PlayerIndex.d.ts.map +1 -1
  505. package/dist/types/ReadonlyMap.d.ts.map +1 -1
  506. package/dist/types/ReadonlySet.d.ts.map +1 -1
  507. package/dist/types/TSTLClass.d.ts +0 -1
  508. package/dist/types/TSTLClass.d.ts.map +1 -1
  509. package/dist/types/TupleWithLengthBetween.js +2 -2
  510. package/dist/types/TupleWithMaxLength.js +2 -2
  511. package/dist/types/WeightedArray.d.ts +0 -1
  512. package/dist/types/WeightedArray.d.ts.map +1 -1
  513. package/package.json +9 -2
  514. package/src/callbackClasses.ts +6 -6
  515. package/src/classes/DefaultMap.ts +5 -2
  516. package/src/classes/ModFeature.ts +3 -3
  517. package/src/classes/ModUpgraded.ts +2 -4
  518. package/src/classes/callbacks/PostCollectibleEmpty.ts +1 -3
  519. package/src/classes/callbacks/PostItemDischarge.ts +3 -6
  520. package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
  521. package/src/classes/callbacks/PostNewRoomEarly.ts +1 -1
  522. package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
  523. package/src/classes/callbacks/PostTransformation.ts +1 -3
  524. package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
  525. package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
  526. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +4 -6
  527. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +6 -2
  528. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +4 -4
  529. package/src/classes/features/other/CustomPickups.ts +1 -0
  530. package/src/classes/features/other/CustomStages.ts +2 -2
  531. package/src/classes/features/other/CustomTrapdoors.ts +23 -18
  532. package/src/classes/features/other/DeployJSONRoom.ts +2 -0
  533. package/src/classes/features/other/EdenStartingStatsHealth.ts +3 -1
  534. package/src/classes/features/other/ExtraConsoleCommands.ts +14 -10
  535. package/src/classes/features/other/ModdedElementDetection.ts +4 -4
  536. package/src/classes/features/other/ModdedElementSets.ts +3 -3
  537. package/src/classes/features/other/PickupIndexCreation.ts +2 -3
  538. package/src/classes/features/other/RunInNFrames.ts +2 -2
  539. package/src/classes/features/other/SaveDataManager.ts +1 -1
  540. package/src/classes/features/other/customStages/backdrop.ts +1 -1
  541. package/src/classes/features/other/extraConsoleCommands/commands.ts +7 -7
  542. package/src/classes/features/other/saveDataManager/loadFromDisk.ts +5 -0
  543. package/src/core/constants.ts +1 -1
  544. package/src/core/constantsVanilla.ts +4 -4
  545. package/src/enums/ModCallbackCustom.ts +5 -4
  546. package/src/functions/array.ts +33 -29
  547. package/src/functions/arrayLua.ts +1 -1
  548. package/src/functions/bosses.ts +2 -1
  549. package/src/functions/charge.ts +1 -2
  550. package/src/functions/decorators.ts +6 -9
  551. package/src/functions/deepCopy.ts +0 -4
  552. package/src/functions/deepCopyTests.ts +4 -4
  553. package/src/functions/doors.ts +5 -0
  554. package/src/functions/entities.ts +7 -14
  555. package/src/functions/enums.ts +4 -4
  556. package/src/functions/flag.ts +1 -1
  557. package/src/functions/globals.ts +2 -3
  558. package/src/functions/gridEntities.ts +19 -1
  559. package/src/functions/jsonHelpers.ts +7 -5
  560. package/src/functions/levelGrid.ts +3 -6
  561. package/src/functions/logEntities.ts +3 -0
  562. package/src/functions/logMisc.ts +9 -20
  563. package/src/functions/map.ts +4 -4
  564. package/src/functions/merge.ts +1 -1
  565. package/src/functions/minimap.ts +2 -6
  566. package/src/functions/newArray.ts +1 -1
  567. package/src/functions/nextStage.ts +4 -0
  568. package/src/functions/npcDataStructures.ts +5 -5
  569. package/src/functions/npcs.ts +3 -0
  570. package/src/functions/playerCollectibles.ts +1 -3
  571. package/src/functions/playerDataStructures.ts +5 -5
  572. package/src/functions/players.ts +2 -0
  573. package/src/functions/positionVelocity.ts +4 -12
  574. package/src/functions/rng.ts +4 -3
  575. package/src/functions/roomData.ts +1 -3
  576. package/src/functions/rooms.ts +16 -1
  577. package/src/functions/set.ts +8 -8
  578. package/src/functions/sort.ts +2 -2
  579. package/src/functions/sound.ts +2 -7
  580. package/src/functions/spawnCollectible.ts +1 -3
  581. package/src/functions/stage.ts +4 -14
  582. package/src/functions/trinkets.ts +1 -3
  583. package/src/functions/tstlClass.ts +2 -2
  584. package/src/functions/types.ts +16 -16
  585. package/src/index.ts +58 -58
  586. package/src/interfaces/SaveData.ts +2 -1
  587. package/src/interfaces/private/AddCallbackParametersCustom.ts +8 -3
  588. package/src/lib/jsonLua.js +2 -2
  589. package/src/objects/LRoomShapeToRectangles.ts +1 -1
  590. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
  591. package/src/shouldFire.ts +2 -1
  592. package/src/types/AddSubtract.ts +10 -2
  593. package/src/types/HasFunction.ts +1 -1
  594. package/src/types/Immutable.ts +1 -1
  595. package/src/types/TupleWithLengthBetween.ts +2 -2
  596. package/src/types/TupleWithMaxLength.ts +2 -2
@@ -69,9 +69,7 @@ export function getMysteriousPaperEffectForFrame(
69
69
  player: EntityPlayer,
70
70
  frameCount?: int,
71
71
  ): MysteriousPaperEffect | undefined {
72
- if (frameCount === undefined) {
73
- frameCount = player.FrameCount;
74
- }
72
+ frameCount ??= player.FrameCount;
75
73
 
76
74
  if (!player.HasTrinket(TrinketType.MYSTERIOUS_PAPER)) {
77
75
  return undefined;
@@ -45,10 +45,10 @@ export function getTSTLClassName(object: unknown): string | undefined {
45
45
  }
46
46
 
47
47
  /**
48
- * Helper function to determine if a given object is a TypeScriptToLua `Map`.
48
+ * Helper function to determine if a given object is a `DefaultMap` from `isaacscript-common`.
49
49
  *
50
50
  * It is not reliable to use the `instanceof` operator to determine this because each Lua module has
51
- * their own copies of the entire lualib and thus their own instantiated version of a `Map`.
51
+ * their own copies of the entire lualib and thus their own instantiated version of a `DefaultMap`.
52
52
  */
53
53
  export function isDefaultMap(
54
54
  object: unknown,
@@ -18,7 +18,7 @@
18
18
  * Here, using `as` does not give an error because TypeScript allows you to assert a type to a
19
19
  * supertype or a subtype. Thus, using `as` to perform a type assertion is not as safe as using a
20
20
  * variable declaration or a helper function. However, if we use a variable declaration, then the
21
- * `isaacscript/strict-enums` rule is triggered, which requires suppressing the lint rule with a `//
21
+ * `complete/strict-enums` rule is triggered, which requires suppressing the lint rule with a `//
22
22
  * eslint-disable-next-line`. Thus, the safest and more concise way to do a type assertion is to use
23
23
  * a helper function.
24
24
  *
@@ -44,7 +44,7 @@ import type {
44
44
  * Helper function to safely cast an `int` to a `CardType`. (This is better than using the `as`
45
45
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
46
46
  *
47
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
47
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
48
48
  */
49
49
  export function asCardType(num: int): CardType {
50
50
  return num;
@@ -54,7 +54,7 @@ export function asCardType(num: int): CardType {
54
54
  * Helper function to safely cast an `int` to a `CollectibleType`. (This is better than using the
55
55
  * `as` TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
56
56
  *
57
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
57
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
58
58
  */
59
59
  export function asCollectibleType(num: int): CollectibleType {
60
60
  return num;
@@ -64,7 +64,7 @@ export function asCollectibleType(num: int): CollectibleType {
64
64
  * Helper function to safely cast an enum to an `int`. (This is better than using the `as`
65
65
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
66
66
  *
67
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
67
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
68
68
  */
69
69
  export function asFloat(num: number): float {
70
70
  return num;
@@ -74,7 +74,7 @@ export function asFloat(num: number): float {
74
74
  * Helper function to safely cast an enum to an `int`. (This is better than using the `as`
75
75
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
76
76
  *
77
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
77
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
78
78
  */
79
79
  export function asInt(num: number): int {
80
80
  return num;
@@ -84,7 +84,7 @@ export function asInt(num: number): int {
84
84
  * Helper function to safely cast an `int` to a `LevelStage`. (This is better than using the `as`
85
85
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
86
86
  *
87
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
87
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
88
88
  */
89
89
  export function asLevelStage(num: int): LevelStage {
90
90
  return num;
@@ -94,7 +94,7 @@ export function asLevelStage(num: int): LevelStage {
94
94
  * Helper function to safely cast an `int` to a `NPCState`. (This is better than using the `as`
95
95
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
96
96
  *
97
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
97
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
98
98
  */
99
99
  export function asNPCState(num: int): NPCState {
100
100
  return num;
@@ -104,7 +104,7 @@ export function asNPCState(num: int): NPCState {
104
104
  * Helper function to safely cast an enum to a `number`. (This is better than using the `as`
105
105
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
106
106
  *
107
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
107
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
108
108
  */
109
109
  export function asNumber(num: number): number {
110
110
  return num;
@@ -114,7 +114,7 @@ export function asNumber(num: number): number {
114
114
  * Helper function to safely cast an `int` to a `PillColor`. (This is better than using the `as`
115
115
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
116
116
  *
117
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
117
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
118
118
  */
119
119
  export function asPillColor(num: int): PillColor {
120
120
  return num;
@@ -124,7 +124,7 @@ export function asPillColor(num: int): PillColor {
124
124
  * Helper function to safely cast an `int` to a `PillEffect`. (This is better than using the `as`
125
125
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
126
126
  *
127
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
127
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
128
128
  */
129
129
  export function asPillEffect(num: int): PillEffect {
130
130
  return num;
@@ -134,7 +134,7 @@ export function asPillEffect(num: int): PillEffect {
134
134
  * Helper function to safely cast an `int` to a `PlayerType`. (This is better than using the `as`
135
135
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
136
136
  *
137
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
137
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
138
138
  */
139
139
  export function asPlayerType(num: int): PlayerType {
140
140
  return num;
@@ -144,7 +144,7 @@ export function asPlayerType(num: int): PlayerType {
144
144
  * Helper function to safely cast an `int` to a `RoomType`. (This is better than using the `as`
145
145
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
146
146
  *
147
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
147
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
148
148
  */
149
149
  export function asRoomType(num: int): RoomType {
150
150
  return num;
@@ -154,7 +154,7 @@ export function asRoomType(num: int): RoomType {
154
154
  * Helper function to safely cast an enum to a `string`. (This is better than using the `as`
155
155
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
156
156
  *
157
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
157
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
158
158
  */
159
159
  export function asString(str: string): string {
160
160
  return str;
@@ -164,7 +164,7 @@ export function asString(str: string): string {
164
164
  * Helper function to safely cast an `int` to a `TrinketType`. (This is better than using the `as`
165
165
  * TypeScript keyword to do a type assertion, since that can obfuscate compiler errors. )
166
166
  *
167
- * This is useful to satisfy the "isaacscript/strict-enums" ESLint rule.
167
+ * This is useful to satisfy the "complete/strict-enums" ESLint rule.
168
168
  */
169
169
  export function asTrinketType(num: int): TrinketType {
170
170
  return num;
@@ -174,7 +174,7 @@ export function isBoolean(variable: unknown): variable is boolean {
174
174
  return typeof variable === "boolean";
175
175
  }
176
176
 
177
- // eslint-disable-next-line @typescript-eslint/ban-types
177
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
178
178
  export function isFunction(variable: unknown): variable is Function {
179
179
  return typeof variable === "function";
180
180
  }
@@ -225,7 +225,7 @@ export function isUserdata(variable: unknown): variable is LuaUserdata {
225
225
  *
226
226
  * Under the hood, this uses the built-in `tonumber` and `math.floor` functions.
227
227
  *
228
- * This is named `parseIntSafe` in order to match the helper function in `isaacscript-common-ts`.
228
+ * This is named `parseIntSafe` in order to match the helper function from `complete-common`.
229
229
  */
230
230
  export function parseIntSafe(string: string): int | undefined {
231
231
  if (!isString(string)) {
package/src/index.ts CHANGED
@@ -32,8 +32,8 @@ export * from "./functions/challenges";
32
32
  export * from "./functions/characters";
33
33
  export * from "./functions/charge";
34
34
  export * from "./functions/chargeBar";
35
- export * from "./functions/collectibleTag";
36
35
  export * from "./functions/collectibles";
36
+ export * from "./functions/collectibleTag";
37
37
  export * from "./functions/color";
38
38
  export * from "./functions/console";
39
39
  export * from "./functions/curses";
@@ -83,9 +83,9 @@ export * from "./functions/newArray";
83
83
  export * from "./functions/nextStage";
84
84
  export * from "./functions/npcDataStructures";
85
85
  export * from "./functions/npcs";
86
- export * from "./functions/pickupVariants";
87
86
  export * from "./functions/pickups";
88
87
  export * from "./functions/pickupsSpecific";
88
+ export * from "./functions/pickupVariants";
89
89
  export * from "./functions/pills";
90
90
  export * from "./functions/playerCenter";
91
91
  export * from "./functions/playerCollectibles";
@@ -93,8 +93,8 @@ export * from "./functions/playerDataStructures";
93
93
  export * from "./functions/playerEffects";
94
94
  export * from "./functions/playerHealth";
95
95
  export * from "./functions/playerIndex";
96
- export * from "./functions/playerTrinkets";
97
96
  export * from "./functions/players";
97
+ export * from "./functions/playerTrinkets";
98
98
  export * from "./functions/pocketItems";
99
99
  export * from "./functions/positionVelocity";
100
100
  export * from "./functions/pressurePlate";
@@ -107,10 +107,10 @@ export * from "./functions/rng";
107
107
  export * from "./functions/rockAlt";
108
108
  export * from "./functions/roomData";
109
109
  export * from "./functions/roomGrid";
110
+ export * from "./functions/rooms";
110
111
  export * from "./functions/roomShape";
111
112
  export * from "./functions/roomShapeWalls";
112
113
  export * from "./functions/roomTransition";
113
- export * from "./functions/rooms";
114
114
  export * from "./functions/run";
115
115
  export * from "./functions/seeds";
116
116
  export * from "./functions/serialization";
@@ -136,19 +136,19 @@ export * from "./functions/utils";
136
136
  export * from "./functions/vector";
137
137
  export * from "./functions/versusScreen";
138
138
  export * from "./functions/weighted";
139
- export * from "./interfaces/ChargeBarSprites";
140
- export * from "./interfaces/Corner";
141
- export * from "./interfaces/CustomStageTSConfig";
142
- export * from "./interfaces/GridEntityCustomData";
143
- export * from "./interfaces/JSONRoomsFile";
144
- export * from "./interfaces/PlayerHealth";
145
- export * from "./interfaces/PlayerStats";
146
- export * from "./interfaces/PocketItemDescription";
147
- export * from "./interfaces/RoomDescription";
148
- export * from "./interfaces/SaveData";
149
- export * from "./interfaces/StageHistoryEntry";
150
- export * from "./interfaces/TSTLClassMetatable";
151
- export * from "./interfaces/TrinketSituation";
139
+ export type * from "./interfaces/ChargeBarSprites";
140
+ export type * from "./interfaces/Corner";
141
+ export type * from "./interfaces/CustomStageTSConfig";
142
+ export type * from "./interfaces/GridEntityCustomData";
143
+ export type * from "./interfaces/JSONRoomsFile";
144
+ export type * from "./interfaces/PlayerHealth";
145
+ export type * from "./interfaces/PlayerStats";
146
+ export type * from "./interfaces/PocketItemDescription";
147
+ export type * from "./interfaces/RoomDescription";
148
+ export type * from "./interfaces/SaveData";
149
+ export type * from "./interfaces/StageHistoryEntry";
150
+ export type * from "./interfaces/TrinketSituation";
151
+ export type * from "./interfaces/TSTLClassMetatable";
152
152
  export * from "./maps/cardNameToTypeMap";
153
153
  export * from "./maps/characterNameToTypeMap";
154
154
  export * from "./maps/collectibleNameToTypeMap";
@@ -158,47 +158,47 @@ export * from "./maps/transformationNameToPlayerFormMap";
158
158
  export * from "./maps/trinketNameToTypeMap";
159
159
  export * from "./objects/colors";
160
160
  export * from "./objects/kColors";
161
- export * from "./types/AddSubtract";
162
- export * from "./types/AllButFirst";
163
- export * from "./types/AllButLast";
164
- export * from "./types/AnyClass";
165
- export * from "./types/AnyEntity";
166
- export * from "./types/AnyFunction";
167
- export * from "./types/AnyGridEntity";
168
- export * from "./types/CompositionTypeSatisfiesEnum";
169
- export * from "./types/ConversionHeartSubType";
170
- export * from "./types/Decrement";
171
- export * from "./types/ERange";
172
- export * from "./types/EntityID";
173
- export * from "./types/FunctionTuple";
174
- export * from "./types/GridEntityID";
175
- export * from "./types/HasFunction";
176
- export * from "./types/IRange";
177
- export * from "./types/Immutable";
178
- export * from "./types/Increment";
179
- export * from "./types/LowercaseKeys";
180
- export * from "./types/NaturalNumbersLessThan";
181
- export * from "./types/NaturalNumbersLessThanOrEqualTo";
182
- export * from "./types/ObjectValues";
161
+ export type * from "./types/AddSubtract";
162
+ export type * from "./types/AllButFirst";
163
+ export type * from "./types/AllButLast";
164
+ export type * from "./types/AnyClass";
165
+ export type * from "./types/AnyEntity";
166
+ export type * from "./types/AnyFunction";
167
+ export type * from "./types/AnyGridEntity";
168
+ export type * from "./types/CompositionTypeSatisfiesEnum";
169
+ export type * from "./types/ConversionHeartSubType";
170
+ export type * from "./types/Decrement";
171
+ export type * from "./types/EntityID";
172
+ export type * from "./types/ERange";
173
+ export type * from "./types/FunctionTuple";
174
+ export type * from "./types/GridEntityID";
175
+ export type * from "./types/HasFunction";
176
+ export type * from "./types/Immutable";
177
+ export type * from "./types/Increment";
178
+ export type * from "./types/IRange";
179
+ export type * from "./types/LowercaseKeys";
180
+ export type * from "./types/NaturalNumbersLessThan";
181
+ export type * from "./types/NaturalNumbersLessThanOrEqualTo";
182
+ export type * from "./types/ObjectValues";
183
183
  export * from "./types/PickingUpItem";
184
- export * from "./types/PickupIndex";
185
- export * from "./types/PlayerIndex";
186
- export * from "./types/PossibleStatType";
187
- export * from "./types/PublicInterface";
184
+ export type * from "./types/PickupIndex";
185
+ export type * from "./types/PlayerIndex";
186
+ export type * from "./types/PossibleStatType";
187
+ export type * from "./types/PublicInterface";
188
188
  export * from "./types/ReadonlyMap";
189
- export * from "./types/ReadonlyRecord";
189
+ export type * from "./types/ReadonlyRecord";
190
190
  export * from "./types/ReadonlySet";
191
- export * from "./types/StartsWithLowercase";
192
- export * from "./types/StartsWithUppercase";
193
- export * from "./types/TSTLClass";
194
- export * from "./types/Tuple";
195
- export * from "./types/TupleKeys";
196
- export * from "./types/TupleToIntersection";
197
- export * from "./types/TupleToUnion";
198
- export * from "./types/TupleWithLengthBetween";
199
- export * from "./types/TupleWithMaxLength";
200
- export * from "./types/UnionToIntersection";
201
- export * from "./types/UppercaseKeys";
202
- export * from "./types/WeightedArray";
203
- export * from "./types/WidenLiteral";
204
- export * from "./types/Writable";
191
+ export type * from "./types/StartsWithLowercase";
192
+ export type * from "./types/StartsWithUppercase";
193
+ export type * from "./types/TSTLClass";
194
+ export type * from "./types/Tuple";
195
+ export type * from "./types/TupleKeys";
196
+ export type * from "./types/TupleToIntersection";
197
+ export type * from "./types/TupleToUnion";
198
+ export type * from "./types/TupleWithLengthBetween";
199
+ export type * from "./types/TupleWithMaxLength";
200
+ export type * from "./types/UnionToIntersection";
201
+ export type * from "./types/UppercaseKeys";
202
+ export type * from "./types/WeightedArray";
203
+ export type * from "./types/WidenLiteral";
204
+ export type * from "./types/Writable";
@@ -104,7 +104,8 @@ type SerializableInsideArrayOrMap<T> =
104
104
  : // Disallow functions.
105
105
  // (We can only disallow functions when inside of containers, because we want
106
106
  // to allow classes with methods attached to normal objects.)
107
- T extends Function // eslint-disable-line @typescript-eslint/ban-types
107
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
108
+ T extends Function
108
109
  ? FunctionIsNotSerializable
109
110
  : // Allow any other object, as long as the values are themselves serializable.
110
111
  SerializableObject<T>;
@@ -975,12 +975,17 @@ export interface AddCallbackParametersCustom {
975
975
  ];
976
976
 
977
977
  [ModCallbackCustom.PRE_ITEM_PICKUP]:
978
- | [callback: (player: EntityPlayer, pickingUpItem: PickingUpItem) => void]
978
+ | [
979
+ callback: (
980
+ player: EntityPlayer,
981
+ pickingUpItem: PickingUpItem,
982
+ ) => boolean | undefined,
983
+ ]
979
984
  | [
980
985
  callback: (
981
986
  player: EntityPlayer,
982
987
  pickingUpItem: PickingUpItemCollectible,
983
- ) => void,
988
+ ) => boolean | undefined,
984
989
  itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR,
985
990
  collectibleType?: CollectibleType,
986
991
  ]
@@ -988,7 +993,7 @@ export interface AddCallbackParametersCustom {
988
993
  callback: (
989
994
  player: EntityPlayer,
990
995
  pickingUpItem: PickingUpItemTrinket,
991
- ) => void,
996
+ ) => boolean | undefined,
992
997
  itemType: ItemType.TRINKET,
993
998
  trinketType?: TrinketType,
994
999
  ];
@@ -495,7 +495,7 @@ var lua_libs = {},
495
495
  },
496
496
  rawset: function (a, b, c) {
497
497
  if ("object" == typeof a && null != a && null != b)
498
- return lua_rawset(a, b, c), [a];
498
+ return (lua_rawset(a, b, c), [a]);
499
499
  throw Error("Unable set key " + b + " in " + a);
500
500
  },
501
501
  select: function (a) {
@@ -901,7 +901,7 @@ lua_libs.table = {
901
901
  if (a.arraymode) return [a.uints.length];
902
902
  var b = 0,
903
903
  c;
904
- for (c in a.uints) (a = parseFloat(c)), a > b && (b = a);
904
+ for (c in a.uints) ((a = parseFloat(c)), a > b && (b = a));
905
905
  return [b];
906
906
  },
907
907
  remove: function (a, b) {
@@ -16,7 +16,7 @@ const TWO_BY_TWO_BOTTOM_RIGHT = newReadonlyVector(25, 13);
16
16
  * wall would be at "Vector(-1, -1)".)
17
17
  */
18
18
  // We don't use `as const` since we need the object to be indexable by all `RoomShape`.
19
- // eslint-disable-next-line isaacscript/require-capital-const-assertions
19
+ // eslint-disable-next-line complete/require-capital-const-assertions
20
20
  export const L_ROOM_SHAPE_TO_RECTANGLES: Readonly<
21
21
  Partial<Record<RoomShape, LRoomRectangles>>
22
22
  > = {
@@ -12,7 +12,7 @@ const DOWN = LEVEL_GRID_ROW_WIDTH;
12
12
  * top right corner in the case of `RoomShape.LTL`).
13
13
  */
14
14
  // We don't use `as const` since we need the map to be indexable by all `DoorSlot`.
15
- // eslint-disable-next-line isaacscript/require-capital-const-assertions
15
+ // eslint-disable-next-line complete/require-capital-const-assertions
16
16
  export const ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA: Readonly<
17
17
  Record<RoomShape, ReadonlyMap<DoorSlot, int>>
18
18
  > = {
package/src/shouldFire.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  eslint sort-exports/sort-exports: [
3
- "error",
3
+ "warn",
4
4
  {
5
5
  sortDir: "asc",
6
6
  },
@@ -217,6 +217,7 @@ export function shouldFireItemPickup(
217
217
  return (
218
218
  (callbackItemType === undefined ||
219
219
  callbackItemType === pickingUpItem.itemType) &&
220
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
220
221
  (callbackSubtype === undefined || callbackSubtype === pickingUpItem.subType)
221
222
  );
222
223
  }
@@ -1,9 +1,17 @@
1
- /** From: https://gist.github.com/ryandabler/8b4ff4f36aed47bc09acc03174638468 */
1
+ /**
2
+ * Helper type to add two other types.
3
+ *
4
+ * From: https://gist.github.com/ryandabler/8b4ff4f36aed47bc09acc03174638468
5
+ */
2
6
  export type Add<A extends number, B extends number> = Length<
3
7
  [...BuildTuple<A>, ...BuildTuple<B>]
4
8
  >;
5
9
 
6
- /** From: https://gist.github.com/ryandabler/8b4ff4f36aed47bc09acc03174638468 */
10
+ /**
11
+ * Helper type to subtract two other types.
12
+ *
13
+ * From: https://gist.github.com/ryandabler/8b4ff4f36aed47bc09acc03174638468
14
+ */
7
15
  export type Subtract<A extends number, B extends number> = A extends A
8
16
  ? BuildTuple<A> extends [...infer U, ...BuildTuple<B>]
9
17
  ? Length<U>
@@ -1,7 +1,7 @@
1
1
  /** Helper type to check if an object or class has one or more functions/methods. */
2
2
  export type HasFunction<T> =
3
3
  Record<string, unknown> extends {
4
- // eslint-disable-next-line @typescript-eslint/ban-types
4
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
5
5
  [K in keyof T as T[K] extends Function ? K : never]-?: 1;
6
6
  }
7
7
  ? never
@@ -21,7 +21,7 @@ type ImmutablePrimitive =
21
21
  | boolean
22
22
  | string
23
23
  | number
24
- | Function; // eslint-disable-line @typescript-eslint/ban-types
24
+ | Function; // eslint-disable-line @typescript-eslint/no-unsafe-function-type
25
25
  type ImmutableArray<T> = ReadonlyArray<Immutable<T>>;
26
26
  type ImmutableMap<K, V> = ReadonlyMap<Immutable<K>, Immutable<V>>;
27
27
  type ImmutableSet<T> = ReadonlySet<Immutable<T>>;
@@ -19,7 +19,7 @@ export type TupleWithLengthBetween<
19
19
  // -----
20
20
 
21
21
  /* eslint-disable @typescript-eslint/no-unused-vars */
22
- /* eslint-disable isaacscript/require-unannotated-const-assertions */
22
+ /* eslint-disable complete/require-unannotated-const-assertions */
23
23
 
24
24
  // @ts-expect-error Tuple of length 0 with min length 1 and max length 2.
25
25
  const zeroOneTwo: TupleWithLengthBetween<string, 1, 2> = [] as const;
@@ -38,6 +38,6 @@ const threeOneTwo: TupleWithLengthBetween<string, 1, 2> = [
38
38
  ] as const;
39
39
 
40
40
  /* eslint-enable @typescript-eslint/no-unused-vars */
41
- /* eslint-enable isaacscript/require-unannotated-const-assertions */
41
+ /* eslint-enable complete/require-unannotated-const-assertions */
42
42
 
43
43
  // See "TupleWithMaxLength.ts" for more tests.
@@ -14,7 +14,7 @@ export type TupleWithMaxLength<T, MaxLength extends number> = readonly T[] & {
14
14
  // -----
15
15
 
16
16
  /* eslint-disable @typescript-eslint/no-unused-vars */
17
- /* eslint-disable isaacscript/require-unannotated-const-assertions */
17
+ /* eslint-disable complete/require-unannotated-const-assertions */
18
18
 
19
19
  // Tuple of length 0 with max length 0.
20
20
  const zeroZero: TupleWithMaxLength<string, 0> = [] as const;
@@ -44,4 +44,4 @@ const twoTwo: TupleWithMaxLength<string, 2> = ["1", "2"] as const;
44
44
  const threeTwo: TupleWithMaxLength<string, 2> = ["1", "2", "3"] as const;
45
45
 
46
46
  /* eslint-enable @typescript-eslint/no-unused-vars */
47
- /* eslint-enable isaacscript/require-unannotated-const-assertions */
47
+ /* eslint-enable complete/require-unannotated-const-assertions */