isaacscript-common 2.3.0 → 2.3.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 (1035) hide show
  1. package/cachedClasses.d.ts +37 -0
  2. package/cachedClasses.lua +6 -0
  3. package/callbacks/customRevive.d.ts +1 -0
  4. package/callbacks/customRevive.lua +145 -0
  5. package/callbacks/itemPickup.d.ts +1 -0
  6. package/callbacks/itemPickup.lua +64 -0
  7. package/callbacks/postBombInitLate.d.ts +1 -0
  8. package/callbacks/postBombInitLate.lua +31 -0
  9. package/callbacks/postBoneSwing.d.ts +1 -0
  10. package/callbacks/postBoneSwing.lua +48 -0
  11. package/callbacks/postCollectibleInitFirst.d.ts +1 -0
  12. package/callbacks/postCollectibleInitFirst.lua +32 -0
  13. package/callbacks/postCursedTeleport.d.ts +1 -0
  14. package/callbacks/postCursedTeleport.lua +119 -0
  15. package/callbacks/postCustomDoorEnter.d.ts +50 -0
  16. package/callbacks/postCustomDoorEnter.lua +203 -0
  17. package/callbacks/postDoorRender.d.ts +1 -0
  18. package/callbacks/postDoorRender.lua +24 -0
  19. package/callbacks/postDoorUpdate.d.ts +1 -0
  20. package/callbacks/postDoorUpdate.lua +24 -0
  21. package/callbacks/postEffectInitLate.d.ts +1 -0
  22. package/callbacks/postEffectInitLate.lua +31 -0
  23. package/callbacks/postEffectStateChanged.d.ts +1 -0
  24. package/callbacks/postEffectStateChanged.lua +37 -0
  25. package/callbacks/postEsauJr.d.ts +1 -0
  26. package/callbacks/postEsauJr.lua +67 -0
  27. package/callbacks/postFamiliarInitLate.d.ts +1 -0
  28. package/callbacks/postFamiliarInitLate.lua +31 -0
  29. package/callbacks/postFamiliarStateChanged.d.ts +1 -0
  30. package/callbacks/postFamiliarStateChanged.lua +37 -0
  31. package/callbacks/postFlip.d.ts +1 -0
  32. package/callbacks/postFlip.lua +61 -0
  33. package/callbacks/postGreedModeWave.d.ts +1 -0
  34. package/callbacks/postGreedModeWave.lua +32 -0
  35. package/callbacks/postGridEntity.d.ts +1 -0
  36. package/callbacks/postGridEntity.lua +105 -0
  37. package/callbacks/postGridEntityCollision.d.ts +1 -0
  38. package/callbacks/postGridEntityCollision.lua +65 -0
  39. package/callbacks/postGridEntityRender.d.ts +1 -0
  40. package/callbacks/postGridEntityRender.lua +24 -0
  41. package/callbacks/postHolyMantleRemoved.d.ts +1 -0
  42. package/callbacks/postHolyMantleRemoved.lua +39 -0
  43. package/callbacks/postItemDischarged.d.ts +2 -0
  44. package/callbacks/postItemDischarged.lua +104 -0
  45. package/callbacks/postKnifeInitLate.d.ts +1 -0
  46. package/callbacks/postKnifeInitLate.lua +31 -0
  47. package/callbacks/postLaserInitLate.d.ts +1 -0
  48. package/callbacks/postLaserInitLate.lua +31 -0
  49. package/callbacks/postNPCInitLate.d.ts +1 -0
  50. package/callbacks/postNPCInitLate.lua +31 -0
  51. package/callbacks/postNPCStateChanged.d.ts +1 -0
  52. package/callbacks/postNPCStateChanged.lua +37 -0
  53. package/callbacks/postNewRoomEarly.d.ts +1 -0
  54. package/callbacks/postNewRoomEarly.lua +65 -0
  55. package/callbacks/postPickupCollect.d.ts +1 -0
  56. package/callbacks/postPickupCollect.lua +39 -0
  57. package/callbacks/postPickupInitLate.d.ts +1 -0
  58. package/callbacks/postPickupInitLate.lua +31 -0
  59. package/callbacks/postPickupStateChanged.d.ts +1 -0
  60. package/callbacks/postPickupStateChanged.lua +37 -0
  61. package/callbacks/postPitRender.d.ts +1 -0
  62. package/callbacks/postPitRender.lua +24 -0
  63. package/callbacks/postPitUpdate.d.ts +1 -0
  64. package/callbacks/postPitUpdate.lua +24 -0
  65. package/callbacks/postPlayerChangeHealth.d.ts +1 -0
  66. package/callbacks/postPlayerChangeHealth.lua +50 -0
  67. package/callbacks/postPlayerChangeType.d.ts +1 -0
  68. package/callbacks/postPlayerChangeType.lua +39 -0
  69. package/callbacks/postPlayerFatalDamage.d.ts +1 -0
  70. package/callbacks/postPlayerFatalDamage.lua +71 -0
  71. package/callbacks/postPlayerInitLate.d.ts +1 -0
  72. package/callbacks/postPlayerInitLate.lua +33 -0
  73. package/callbacks/postPlayerReordered.d.ts +1 -0
  74. package/callbacks/postPlayerReordered.lua +112 -0
  75. package/callbacks/postPoopRender.d.ts +1 -0
  76. package/callbacks/postPoopRender.lua +24 -0
  77. package/callbacks/postPoopUpdate.d.ts +1 -0
  78. package/callbacks/postPoopUpdate.lua +24 -0
  79. package/callbacks/postPressurePlateRender.d.ts +1 -0
  80. package/callbacks/postPressurePlateRender.lua +24 -0
  81. package/callbacks/postPressurePlateUpdate.d.ts +1 -0
  82. package/callbacks/postPressurePlateUpdate.lua +24 -0
  83. package/callbacks/postProjectileInitLate.d.ts +1 -0
  84. package/callbacks/postProjectileInitLate.lua +31 -0
  85. package/callbacks/postPurchase.d.ts +1 -0
  86. package/callbacks/postPurchase.lua +49 -0
  87. package/callbacks/postRockRender.d.ts +1 -0
  88. package/callbacks/postRockRender.lua +24 -0
  89. package/callbacks/postRockUpdate.d.ts +1 -0
  90. package/callbacks/postRockUpdate.lua +24 -0
  91. package/callbacks/postRoomClearChanged.d.ts +1 -0
  92. package/callbacks/postRoomClearChanged.lua +40 -0
  93. package/callbacks/postSacrifice.d.ts +1 -0
  94. package/callbacks/postSacrifice.lua +42 -0
  95. package/callbacks/postSlotInitUpdate.d.ts +1 -0
  96. package/callbacks/postSlotInitUpdate.lua +51 -0
  97. package/callbacks/postSlotRender.d.ts +1 -0
  98. package/callbacks/postSlotRender.lua +74 -0
  99. package/callbacks/postSpikesRender.d.ts +1 -0
  100. package/callbacks/postSpikesRender.lua +24 -0
  101. package/callbacks/postSpikesUpdate.d.ts +1 -0
  102. package/callbacks/postSpikesUpdate.lua +24 -0
  103. package/callbacks/postTNTRender.d.ts +1 -0
  104. package/callbacks/postTNTRender.lua +24 -0
  105. package/callbacks/postTNTUpdate.d.ts +1 -0
  106. package/callbacks/postTNTUpdate.lua +24 -0
  107. package/callbacks/postTearInitLate.d.ts +1 -0
  108. package/callbacks/postTearInitLate.lua +31 -0
  109. package/callbacks/postTearInitVeryLate.d.ts +1 -0
  110. package/callbacks/postTearInitVeryLate.lua +34 -0
  111. package/callbacks/postTransformation.d.ts +1 -0
  112. package/callbacks/postTransformation.lua +46 -0
  113. package/callbacks/postTrinketBreak.d.ts +1 -0
  114. package/callbacks/postTrinketBreak.lua +70 -0
  115. package/callbacks/preBerserkDeath.d.ts +1 -0
  116. package/callbacks/preBerserkDeath.lua +36 -0
  117. package/callbacks/preNewLevel.d.ts +1 -0
  118. package/callbacks/preNewLevel.lua +43 -0
  119. package/callbacks/reorderedCallbacks.d.ts +20 -0
  120. package/callbacks/reorderedCallbacks.lua +92 -0
  121. package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
  122. package/callbacks/subscriptions/postBombInitLate.lua +23 -0
  123. package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
  124. package/callbacks/subscriptions/postBoneSwing.lua +16 -0
  125. package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
  126. package/callbacks/subscriptions/postCollectibleInitFirst.lua +23 -0
  127. package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
  128. package/callbacks/subscriptions/postCursedTeleport.lua +16 -0
  129. package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
  130. package/callbacks/subscriptions/postCustomDoorEnter.lua +29 -0
  131. package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
  132. package/callbacks/subscriptions/postCustomRevive.lua +23 -0
  133. package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
  134. package/callbacks/subscriptions/postDoorRender.lua +24 -0
  135. package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
  136. package/callbacks/subscriptions/postDoorUpdate.lua +24 -0
  137. package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
  138. package/callbacks/subscriptions/postEffectInitLate.lua +23 -0
  139. package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
  140. package/callbacks/subscriptions/postEffectStateChanged.lua +23 -0
  141. package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
  142. package/callbacks/subscriptions/postEsauJr.lua +16 -0
  143. package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
  144. package/callbacks/subscriptions/postFamiliarInitLate.lua +23 -0
  145. package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
  146. package/callbacks/subscriptions/postFamiliarStateChanged.lua +23 -0
  147. package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
  148. package/callbacks/subscriptions/postFirstEsauJr.lua +16 -0
  149. package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
  150. package/callbacks/subscriptions/postFirstFlip.lua +16 -0
  151. package/callbacks/subscriptions/postFlip.d.ts +4 -0
  152. package/callbacks/subscriptions/postFlip.lua +16 -0
  153. package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
  154. package/callbacks/subscriptions/postGameStartedReordered.lua +16 -0
  155. package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
  156. package/callbacks/subscriptions/postGreedModeWave.lua +16 -0
  157. package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
  158. package/callbacks/subscriptions/postGridEntityBroken.lua +29 -0
  159. package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
  160. package/callbacks/subscriptions/postGridEntityCollision.lua +29 -0
  161. package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
  162. package/callbacks/subscriptions/postGridEntityInit.lua +29 -0
  163. package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
  164. package/callbacks/subscriptions/postGridEntityRemove.lua +27 -0
  165. package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
  166. package/callbacks/subscriptions/postGridEntityRender.lua +29 -0
  167. package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
  168. package/callbacks/subscriptions/postGridEntityStateChanged.lua +29 -0
  169. package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
  170. package/callbacks/subscriptions/postGridEntityUpdate.lua +29 -0
  171. package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
  172. package/callbacks/subscriptions/postHolyMantleRemoved.lua +28 -0
  173. package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
  174. package/callbacks/subscriptions/postItemDischarged.lua +23 -0
  175. package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
  176. package/callbacks/subscriptions/postItemPickup.lua +27 -0
  177. package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
  178. package/callbacks/subscriptions/postKnifeInitLate.lua +23 -0
  179. package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
  180. package/callbacks/subscriptions/postLaserInitLate.lua +23 -0
  181. package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
  182. package/callbacks/subscriptions/postNPCInitLate.lua +23 -0
  183. package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
  184. package/callbacks/subscriptions/postNPCStateChanged.lua +27 -0
  185. package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
  186. package/callbacks/subscriptions/postNewLevelReordered.lua +16 -0
  187. package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
  188. package/callbacks/subscriptions/postNewRoomEarly.lua +16 -0
  189. package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
  190. package/callbacks/subscriptions/postNewRoomReordered.lua +16 -0
  191. package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
  192. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +28 -0
  193. package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
  194. package/callbacks/subscriptions/postPickupCollect.lua +23 -0
  195. package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
  196. package/callbacks/subscriptions/postPickupInitLate.lua +23 -0
  197. package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
  198. package/callbacks/subscriptions/postPickupStateChanged.lua +23 -0
  199. package/callbacks/subscriptions/postPitRender.d.ts +5 -0
  200. package/callbacks/subscriptions/postPitRender.lua +24 -0
  201. package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
  202. package/callbacks/subscriptions/postPitUpdate.lua +24 -0
  203. package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
  204. package/callbacks/subscriptions/postPlayerChangeHealth.lua +28 -0
  205. package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
  206. package/callbacks/subscriptions/postPlayerChangeType.lua +23 -0
  207. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
  208. package/callbacks/subscriptions/postPlayerFatalDamage.lua +39 -0
  209. package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
  210. package/callbacks/subscriptions/postPlayerInitLate.lua +28 -0
  211. package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
  212. package/callbacks/subscriptions/postPlayerInitReordered.lua +28 -0
  213. package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
  214. package/callbacks/subscriptions/postPlayerRenderReordered.lua +28 -0
  215. package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
  216. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +28 -0
  217. package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
  218. package/callbacks/subscriptions/postPoopRender.lua +24 -0
  219. package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
  220. package/callbacks/subscriptions/postPoopUpdate.lua +24 -0
  221. package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
  222. package/callbacks/subscriptions/postPressurePlateRender.lua +24 -0
  223. package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
  224. package/callbacks/subscriptions/postPressurePlateUpdate.lua +24 -0
  225. package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
  226. package/callbacks/subscriptions/postProjectileInitLate.lua +23 -0
  227. package/callbacks/subscriptions/postPurchase.d.ts +6 -0
  228. package/callbacks/subscriptions/postPurchase.lua +16 -0
  229. package/callbacks/subscriptions/postRockRender.d.ts +5 -0
  230. package/callbacks/subscriptions/postRockRender.lua +24 -0
  231. package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
  232. package/callbacks/subscriptions/postRockUpdate.lua +24 -0
  233. package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
  234. package/callbacks/subscriptions/postRoomClearChanged.lua +16 -0
  235. package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
  236. package/callbacks/subscriptions/postSacrifice.lua +28 -0
  237. package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
  238. package/callbacks/subscriptions/postSlotAnimationChanged.lua +23 -0
  239. package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
  240. package/callbacks/subscriptions/postSlotDestroyed.lua +23 -0
  241. package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
  242. package/callbacks/subscriptions/postSlotInit.lua +23 -0
  243. package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
  244. package/callbacks/subscriptions/postSlotRender.lua +23 -0
  245. package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
  246. package/callbacks/subscriptions/postSlotUpdate.lua +23 -0
  247. package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
  248. package/callbacks/subscriptions/postSpikesRender.lua +24 -0
  249. package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
  250. package/callbacks/subscriptions/postSpikesUpdate.lua +24 -0
  251. package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
  252. package/callbacks/subscriptions/postTNTRender.lua +24 -0
  253. package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
  254. package/callbacks/subscriptions/postTNTUpdate.lua +24 -0
  255. package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
  256. package/callbacks/subscriptions/postTearInitLate.lua +23 -0
  257. package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
  258. package/callbacks/subscriptions/postTearInitVeryLate.lua +23 -0
  259. package/callbacks/subscriptions/postTransformation.d.ts +5 -0
  260. package/callbacks/subscriptions/postTransformation.lua +23 -0
  261. package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
  262. package/callbacks/subscriptions/postTrinketBreak.lua +23 -0
  263. package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
  264. package/callbacks/subscriptions/preBerserkDeath.lua +29 -0
  265. package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
  266. package/callbacks/subscriptions/preCustomRevive.lua +32 -0
  267. package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
  268. package/callbacks/subscriptions/preItemPickup.lua +27 -0
  269. package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
  270. package/callbacks/subscriptions/preNewLevel.lua +16 -0
  271. package/classes/DefaultMap.d.ts +79 -0
  272. package/classes/DefaultMap.lua +84 -0
  273. package/classes/ModUpgraded.d.ts +23 -0
  274. package/classes/ModUpgraded.lua +38 -0
  275. package/constants.d.ts +104 -0
  276. package/constants.lua +45 -0
  277. package/constantsFirstLast.d.ts +130 -0
  278. package/constantsFirstLast.lua +50 -0
  279. package/enums/HealthType.d.ts +16 -0
  280. package/enums/HealthType.lua +21 -0
  281. package/enums/ModCallbackCustom.d.ts +860 -0
  282. package/enums/ModCallbackCustom.lua +153 -0
  283. package/enums/PocketItemType.d.ts +8 -0
  284. package/enums/PocketItemType.lua +15 -0
  285. package/enums/SerializationType.d.ts +5 -0
  286. package/enums/SerializationType.lua +9 -0
  287. package/enums/private/CopyableIsaacAPIClassType.d.ts +7 -0
  288. package/enums/private/CopyableIsaacAPIClassType.lua +7 -0
  289. package/enums/private/SaveDataKey.d.ts +7 -0
  290. package/enums/private/SaveDataKey.lua +11 -0
  291. package/enums/private/SerializationBrand.d.ts +37 -0
  292. package/enums/private/SerializationBrand.lua +12 -0
  293. package/features/characterHealthConversion.d.ts +9 -0
  294. package/features/characterHealthConversion.lua +85 -0
  295. package/features/characterStats.d.ts +19 -0
  296. package/features/characterStats.lua +37 -0
  297. package/features/debugDisplay/debugDisplay.d.ts +2 -0
  298. package/features/debugDisplay/debugDisplay.lua +181 -0
  299. package/features/debugDisplay/exports.d.ts +199 -0
  300. package/features/debugDisplay/exports.lua +133 -0
  301. package/features/debugDisplay/v.d.ts +44 -0
  302. package/features/debugDisplay/v.lua +54 -0
  303. package/features/deployJSONRoom.d.ts +65 -0
  304. package/features/deployJSONRoom.lua +463 -0
  305. package/features/disableInputs.d.ts +62 -0
  306. package/features/disableInputs.lua +89 -0
  307. package/features/disableSound.d.ts +18 -0
  308. package/features/disableSound.lua +48 -0
  309. package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
  310. package/features/extraConsoleCommands/commandsDisplay.lua +129 -0
  311. package/features/extraConsoleCommands/commandsSubroutines.d.ts +9 -0
  312. package/features/extraConsoleCommands/commandsSubroutines.lua +129 -0
  313. package/features/extraConsoleCommands/init.d.ts +26 -0
  314. package/features/extraConsoleCommands/init.lua +249 -0
  315. package/features/extraConsoleCommands/listCommands.d.ts +349 -0
  316. package/features/extraConsoleCommands/listCommands.lua +922 -0
  317. package/features/extraConsoleCommands/v.d.ts +13 -0
  318. package/features/extraConsoleCommands/v.lua +10 -0
  319. package/features/fadeInRemover.d.ts +14 -0
  320. package/features/fadeInRemover.lua +45 -0
  321. package/features/fastReset.d.ts +14 -0
  322. package/features/fastReset.lua +49 -0
  323. package/features/forgottenSwitch.d.ts +5 -0
  324. package/features/forgottenSwitch.lua +28 -0
  325. package/features/getCollectibleItemPoolType.d.ts +7 -0
  326. package/features/getCollectibleItemPoolType.lua +43 -0
  327. package/features/playerInventory.d.ts +23 -0
  328. package/features/playerInventory.lua +129 -0
  329. package/features/ponyDetection.d.ts +6 -0
  330. package/features/ponyDetection.lua +49 -0
  331. package/features/preventCollectibleRotation.d.ts +11 -0
  332. package/features/preventCollectibleRotation.lua +58 -0
  333. package/features/runInNFrames.d.ts +61 -0
  334. package/features/runInNFrames.lua +78 -0
  335. package/features/saveDataManager/constants.d.ts +3 -0
  336. package/features/saveDataManager/constants.lua +4 -0
  337. package/features/saveDataManager/exports.d.ts +131 -0
  338. package/features/saveDataManager/exports.lua +66 -0
  339. package/features/saveDataManager/load.d.ts +4 -0
  340. package/features/saveDataManager/load.lua +66 -0
  341. package/features/saveDataManager/main.d.ts +3 -0
  342. package/features/saveDataManager/main.lua +119 -0
  343. package/features/saveDataManager/maps.d.ts +10 -0
  344. package/features/saveDataManager/maps.lua +8 -0
  345. package/features/saveDataManager/merge.d.ts +24 -0
  346. package/features/saveDataManager/merge.lua +124 -0
  347. package/features/saveDataManager/save.d.ts +4 -0
  348. package/features/saveDataManager/save.lua +44 -0
  349. package/features/saveDataManager/serializationBrand.d.ts +1 -0
  350. package/features/saveDataManager/serializationBrand.lua +17 -0
  351. package/features/sirenHelpers.d.ts +18 -0
  352. package/features/sirenHelpers.lua +69 -0
  353. package/features/taintedLazarusPlayers.d.ts +13 -0
  354. package/features/taintedLazarusPlayers.lua +74 -0
  355. package/featuresInitialized.d.ts +1 -0
  356. package/featuresInitialized.lua +14 -0
  357. package/functions/array.d.ts +141 -0
  358. package/functions/array.lua +269 -0
  359. package/functions/benchmark.d.ts +10 -0
  360. package/functions/benchmark.lua +32 -0
  361. package/functions/bitwise.d.ts +4 -0
  362. package/functions/bitwise.lua +21 -0
  363. package/functions/boss.d.ts +56 -0
  364. package/functions/boss.lua +183 -0
  365. package/functions/cacheFlag.d.ts +8 -0
  366. package/functions/cacheFlag.lua +7 -0
  367. package/functions/cards.d.ts +95 -0
  368. package/functions/cards.lua +174 -0
  369. package/functions/challenges.d.ts +3 -0
  370. package/functions/challenges.lua +9 -0
  371. package/functions/character.d.ts +48 -0
  372. package/functions/character.lua +73 -0
  373. package/functions/charge.d.ts +54 -0
  374. package/functions/charge.lua +123 -0
  375. package/functions/chargeBar.d.ts +12 -0
  376. package/functions/chargeBar.lua +43 -0
  377. package/functions/collectibleCacheFlag.d.ts +23 -0
  378. package/functions/collectibleCacheFlag.lua +65 -0
  379. package/functions/collectibleSet.d.ts +9 -0
  380. package/functions/collectibleSet.lua +51 -0
  381. package/functions/collectibleTag.d.ts +16 -0
  382. package/functions/collectibleTag.lua +74 -0
  383. package/functions/collectibles.d.ts +211 -0
  384. package/functions/collectibles.lua +281 -0
  385. package/functions/color.d.ts +45 -0
  386. package/functions/color.lua +122 -0
  387. package/functions/debug.d.ts +27 -0
  388. package/functions/debug.lua +31 -0
  389. package/functions/deepCopy.d.ts +29 -0
  390. package/functions/deepCopy.lua +357 -0
  391. package/functions/deepCopyTests.d.ts +1 -0
  392. package/functions/deepCopyTests.lua +316 -0
  393. package/functions/direction.d.ts +4 -0
  394. package/functions/direction.lua +17 -0
  395. package/functions/doors.d.ts +117 -0
  396. package/functions/doors.lua +231 -0
  397. package/functions/easing.d.ts +30 -0
  398. package/functions/easing.lua +115 -0
  399. package/functions/eden.d.ts +3 -0
  400. package/functions/eden.lua +47 -0
  401. package/functions/entity.d.ts +131 -0
  402. package/functions/entity.lua +233 -0
  403. package/functions/entitySpecific.d.ts +264 -0
  404. package/functions/entitySpecific.lua +650 -0
  405. package/functions/entityTypes.d.ts +3 -0
  406. package/functions/entityTypes.lua +7 -0
  407. package/functions/enums.d.ts +80 -0
  408. package/functions/enums.lua +85 -0
  409. package/functions/familiars.d.ts +60 -0
  410. package/functions/familiars.lua +33 -0
  411. package/functions/flag.d.ts +99 -0
  412. package/functions/flag.lua +47 -0
  413. package/functions/flying.d.ts +19 -0
  414. package/functions/flying.lua +67 -0
  415. package/functions/globals.d.ts +14 -0
  416. package/functions/globals.lua +230 -0
  417. package/functions/gridEntity.d.ts +155 -0
  418. package/functions/gridEntity.lua +263 -0
  419. package/functions/gridEntitySpecific.d.ts +18 -0
  420. package/functions/gridEntitySpecific.lua +88 -0
  421. package/functions/input.d.ts +32 -0
  422. package/functions/input.lua +106 -0
  423. package/functions/isaacAPIClass.d.ts +23 -0
  424. package/functions/isaacAPIClass.lua +35 -0
  425. package/functions/jsonHelpers.d.ts +18 -0
  426. package/functions/jsonHelpers.lua +26 -0
  427. package/functions/jsonRoom.d.ts +12 -0
  428. package/functions/jsonRoom.lua +86 -0
  429. package/functions/kColor.d.ts +31 -0
  430. package/functions/kColor.lua +101 -0
  431. package/functions/language.d.ts +8 -0
  432. package/functions/language.lua +8 -0
  433. package/functions/level.d.ts +1 -0
  434. package/functions/level.lua +29 -0
  435. package/functions/log.d.ts +78 -0
  436. package/functions/log.lua +519 -0
  437. package/functions/map.d.ts +22 -0
  438. package/functions/map.lua +43 -0
  439. package/functions/math.d.ts +50 -0
  440. package/functions/math.lua +92 -0
  441. package/functions/mergeTests.d.ts +1 -0
  442. package/functions/mergeTests.lua +182 -0
  443. package/functions/npc.d.ts +40 -0
  444. package/functions/npc.lua +104 -0
  445. package/functions/pickupVariants.d.ts +23 -0
  446. package/functions/pickupVariants.lua +37 -0
  447. package/functions/pickups.d.ts +132 -0
  448. package/functions/pickups.lua +407 -0
  449. package/functions/pills.d.ts +69 -0
  450. package/functions/pills.lua +83 -0
  451. package/functions/player.d.ts +296 -0
  452. package/functions/player.lua +611 -0
  453. package/functions/playerDataStructures.d.ts +92 -0
  454. package/functions/playerDataStructures.lua +38 -0
  455. package/functions/playerHealth.d.ts +22 -0
  456. package/functions/playerHealth.lua +286 -0
  457. package/functions/playerIndex.d.ts +68 -0
  458. package/functions/playerIndex.lua +127 -0
  459. package/functions/pocketItems.d.ts +33 -0
  460. package/functions/pocketItems.lua +86 -0
  461. package/functions/positionVelocity.d.ts +64 -0
  462. package/functions/positionVelocity.lua +108 -0
  463. package/functions/random.d.ts +42 -0
  464. package/functions/random.lua +38 -0
  465. package/functions/revive.d.ts +31 -0
  466. package/functions/revive.lua +102 -0
  467. package/functions/rng.d.ts +53 -0
  468. package/functions/rng.lua +129 -0
  469. package/functions/roomData.d.ts +108 -0
  470. package/functions/roomData.lua +92 -0
  471. package/functions/roomGrid.d.ts +40 -0
  472. package/functions/roomGrid.lua +59 -0
  473. package/functions/roomShape.d.ts +43 -0
  474. package/functions/roomShape.lua +45 -0
  475. package/functions/rooms.d.ts +194 -0
  476. package/functions/rooms.lua +382 -0
  477. package/functions/run.d.ts +12 -0
  478. package/functions/run.lua +28 -0
  479. package/functions/seeds.d.ts +9 -0
  480. package/functions/seeds.lua +15 -0
  481. package/functions/serialization.d.ts +11 -0
  482. package/functions/serialization.lua +65 -0
  483. package/functions/set.d.ts +39 -0
  484. package/functions/set.lua +61 -0
  485. package/functions/sound.d.ts +1 -0
  486. package/functions/sound.lua +13 -0
  487. package/functions/spawnCollectible.d.ts +31 -0
  488. package/functions/spawnCollectible.lua +70 -0
  489. package/functions/sprite.d.ts +36 -0
  490. package/functions/sprite.lua +64 -0
  491. package/functions/stage.d.ts +35 -0
  492. package/functions/stage.lua +70 -0
  493. package/functions/string.d.ts +13 -0
  494. package/functions/string.lua +36 -0
  495. package/functions/table.d.ts +36 -0
  496. package/functions/table.lua +79 -0
  497. package/functions/tears.d.ts +22 -0
  498. package/functions/tears.lua +14 -0
  499. package/functions/transformations.d.ts +30 -0
  500. package/functions/transformations.lua +96 -0
  501. package/functions/trinketCacheFlag.d.ts +10 -0
  502. package/functions/trinketCacheFlag.lua +50 -0
  503. package/functions/trinketGive.d.ts +38 -0
  504. package/functions/trinketGive.lua +90 -0
  505. package/functions/trinkets.d.ts +73 -0
  506. package/functions/trinkets.lua +115 -0
  507. package/functions/tstlClass.d.ts +20 -0
  508. package/functions/tstlClass.lua +56 -0
  509. package/functions/ui.d.ts +34 -0
  510. package/functions/ui.lua +95 -0
  511. package/functions/utils.d.ts +112 -0
  512. package/functions/utils.lua +94 -0
  513. package/functions/vector.d.ts +32 -0
  514. package/functions/vector.lua +118 -0
  515. package/index.d.ts +128 -0
  516. package/index.lua +900 -0
  517. package/initCustomCallbacks.d.ts +2 -0
  518. package/initCustomCallbacks.lua +178 -0
  519. package/initFeatures.d.ts +3 -0
  520. package/initFeatures.lua +51 -0
  521. package/interfaces/AddCallbackParameterCustom.d.ts +153 -0
  522. package/interfaces/AddCallbackParameterCustom.lua +4 -0
  523. package/interfaces/ChargeBarSprites.d.ts +13 -0
  524. package/interfaces/ChargeBarSprites.lua +2 -0
  525. package/interfaces/JSONDoor.d.ts +11 -0
  526. package/interfaces/JSONDoor.lua +2 -0
  527. package/interfaces/JSONEntity.d.ts +13 -0
  528. package/interfaces/JSONEntity.lua +2 -0
  529. package/interfaces/JSONRoom.d.ts +26 -0
  530. package/interfaces/JSONRoom.lua +2 -0
  531. package/interfaces/JSONRooms.d.ts +11 -0
  532. package/interfaces/JSONRooms.lua +2 -0
  533. package/interfaces/JSONSpawn.d.ts +11 -0
  534. package/interfaces/JSONSpawn.lua +2 -0
  535. package/interfaces/PlayerHealth.d.ts +15 -0
  536. package/interfaces/PlayerHealth.lua +2 -0
  537. package/interfaces/PocketItemDescription.d.ts +8 -0
  538. package/interfaces/PocketItemDescription.lua +2 -0
  539. package/interfaces/SaveData.d.ts +29 -0
  540. package/interfaces/SaveData.lua +2 -0
  541. package/interfaces/TrinketSituation.d.ts +8 -0
  542. package/interfaces/TrinketSituation.lua +2 -0
  543. package/interfaces/private/TSTLClassMetatable.d.ts +10 -0
  544. package/interfaces/private/TSTLClassMetatable.lua +2 -0
  545. package/lualib_bundle.lua +2488 -0
  546. package/maps/cardMap.d.ts +3 -0
  547. package/maps/cardMap.lua +211 -0
  548. package/maps/characterMap.d.ts +3 -0
  549. package/maps/characterMap.lua +89 -0
  550. package/maps/collectibleDescriptionMap.d.ts +3 -0
  551. package/maps/collectibleDescriptionMap.lua +728 -0
  552. package/maps/collectibleNameMap.d.ts +3 -0
  553. package/maps/collectibleNameMap.lua +728 -0
  554. package/maps/defaultPlayerStatMap.d.ts +3 -0
  555. package/maps/defaultPlayerStatMap.lua +24 -0
  556. package/maps/gridEntityTypeToBrokenStateMap.d.ts +2 -0
  557. package/maps/gridEntityTypeToBrokenStateMap.lua +26 -0
  558. package/maps/gridEntityXMLMap.d.ts +9 -0
  559. package/maps/gridEntityXMLMap.lua +51 -0
  560. package/maps/pillEffectMap.d.ts +3 -0
  561. package/maps/pillEffectMap.lua +89 -0
  562. package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
  563. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +15 -0
  564. package/maps/roomTypeMap.d.ts +3 -0
  565. package/maps/roomTypeMap.lua +44 -0
  566. package/maps/trinketDescriptionMap.d.ts +3 -0
  567. package/maps/trinketDescriptionMap.lua +196 -0
  568. package/maps/trinketNameMap.d.ts +3 -0
  569. package/maps/trinketNameMap.lua +196 -0
  570. package/objects/LRoomShapeToRectangles.d.ts +13 -0
  571. package/objects/LRoomShapeToRectangles.lua +33 -0
  572. package/objects/callbackRegisterFunctions.d.ts +5 -0
  573. package/objects/callbackRegisterFunctions.lua +231 -0
  574. package/objects/cardDescriptions.d.ts +5 -0
  575. package/objects/cardDescriptions.lua +105 -0
  576. package/objects/cardNames.d.ts +5 -0
  577. package/objects/cardNames.lua +105 -0
  578. package/objects/cardTypes.d.ts +5 -0
  579. package/objects/cardTypes.lua +106 -0
  580. package/objects/challengeNames.d.ts +5 -0
  581. package/objects/challengeNames.lua +53 -0
  582. package/objects/characterNames.d.ts +5 -0
  583. package/objects/characterNames.lua +49 -0
  584. package/objects/coinSubTypeToValue.d.ts +5 -0
  585. package/objects/coinSubTypeToValue.lua +15 -0
  586. package/objects/colors.d.ts +17 -0
  587. package/objects/colors.lua +12 -0
  588. package/objects/directionNames.d.ts +4 -0
  589. package/objects/directionNames.lua +11 -0
  590. package/objects/directionToDegrees.d.ts +4 -0
  591. package/objects/directionToDegrees.lua +11 -0
  592. package/objects/directionToVector.d.ts +4 -0
  593. package/objects/directionToVector.lua +13 -0
  594. package/objects/doorSlotFlagToDoorSlot.d.ts +5 -0
  595. package/objects/doorSlotFlagToDoorSlot.lua +16 -0
  596. package/objects/doorSlotToDirection.d.ts +4 -0
  597. package/objects/doorSlotToDirection.lua +16 -0
  598. package/objects/isaacAPIClassTypeToBrand.d.ts +5 -0
  599. package/objects/isaacAPIClassTypeToBrand.lua +7 -0
  600. package/objects/isaacAPIClassTypeToCopyFunction.d.ts +5 -0
  601. package/objects/isaacAPIClassTypeToCopyFunction.lua +13 -0
  602. package/objects/languageNames.d.ts +4 -0
  603. package/objects/languageNames.lua +13 -0
  604. package/objects/pillEffectClasses.d.ts +5 -0
  605. package/objects/pillEffectClasses.lua +59 -0
  606. package/objects/pillEffectNames.d.ts +5 -0
  607. package/objects/pillEffectNames.lua +57 -0
  608. package/objects/pillEffectTypes.d.ts +5 -0
  609. package/objects/pillEffectTypes.lua +58 -0
  610. package/objects/roomShapeBounds.d.ts +8 -0
  611. package/objects/roomShapeBounds.lua +24 -0
  612. package/objects/roomShapeLayoutSizes.d.ts +10 -0
  613. package/objects/roomShapeLayoutSizes.lua +25 -0
  614. package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
  615. package/objects/roomShapeToBottomRightPosition.lua +20 -0
  616. package/objects/roomShapeToDoorSlots.d.ts +4 -0
  617. package/objects/roomShapeToDoorSlots.lua +46 -0
  618. package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +8 -0
  619. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +87 -0
  620. package/objects/roomShapeToGridWidth.d.ts +4 -0
  621. package/objects/roomShapeToGridWidth.lua +20 -0
  622. package/objects/roomShapeToTopLeftPosition.d.ts +8 -0
  623. package/objects/roomShapeToTopLeftPosition.lua +22 -0
  624. package/objects/roomShapeVolumes.d.ts +13 -0
  625. package/objects/roomShapeVolumes.lua +27 -0
  626. package/objects/roomTypeNames.d.ts +5 -0
  627. package/objects/roomTypeNames.lua +37 -0
  628. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +4 -0
  629. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +13 -0
  630. package/objects/stageTypeToLetter.d.ts +4 -0
  631. package/objects/stageTypeToLetter.lua +12 -0
  632. package/objects/transformationNames.d.ts +5 -0
  633. package/objects/transformationNames.lua +21 -0
  634. package/package.json +2 -3
  635. package/patchErrorFunctions.d.ts +1 -0
  636. package/patchErrorFunctions.lua +50 -0
  637. package/sets/LRoomShapesSet.d.ts +2 -0
  638. package/sets/LRoomShapesSet.lua +8 -0
  639. package/sets/bossSets.d.ts +4 -0
  640. package/sets/bossSets.lua +531 -0
  641. package/sets/charactersThatStartWithAnActiveItemSet.d.ts +2 -0
  642. package/sets/charactersThatStartWithAnActiveItemSet.lua +20 -0
  643. package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +2 -0
  644. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +8 -0
  645. package/sets/charactersWithFreeDevilDealsSet.d.ts +2 -0
  646. package/sets/charactersWithFreeDevilDealsSet.lua +8 -0
  647. package/sets/charactersWithNoRedHeartsSet.d.ts +6 -0
  648. package/sets/charactersWithNoRedHeartsSet.lua +17 -0
  649. package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
  650. package/sets/charactersWithNoSoulHeartsSet.lua +14 -0
  651. package/sets/chestPickupVariantsSet.d.ts +2 -0
  652. package/sets/chestPickupVariantsSet.lua +21 -0
  653. package/sets/familiarsThatShootPlayerTearsSet.d.ts +2 -0
  654. package/sets/familiarsThatShootPlayerTearsSet.lua +17 -0
  655. package/sets/lostStyleCharactersSet.d.ts +6 -0
  656. package/sets/lostStyleCharactersSet.lua +14 -0
  657. package/sets/mineShaftRoomSubTypesSet.d.ts +2 -0
  658. package/sets/mineShaftRoomSubTypesSet.lua +14 -0
  659. package/sets/redHeartSubTypesSet.d.ts +2 -0
  660. package/sets/redHeartSubTypesSet.lua +8 -0
  661. package/sets/sinEntityTypesSet.d.ts +2 -0
  662. package/sets/sinEntityTypesSet.lua +16 -0
  663. package/sets/singleUseActiveCollectibleTypesSet.d.ts +2 -0
  664. package/sets/singleUseActiveCollectibleTypesSet.lua +17 -0
  665. package/sets/storyBossesSet.d.ts +2 -0
  666. package/sets/storyBossesSet.lua +22 -0
  667. package/types/AnyEntity.d.ts +2 -0
  668. package/types/AnyEntity.lua +2 -0
  669. package/types/CollectibleIndex.d.ts +16 -0
  670. package/types/CollectibleIndex.lua +2 -0
  671. package/types/PickingUpItem.d.ts +34 -0
  672. package/types/PickingUpItem.lua +27 -0
  673. package/types/PlayerIndex.d.ts +16 -0
  674. package/types/PlayerIndex.lua +2 -0
  675. package/types/private/IsaacAPIClass.d.ts +4 -0
  676. package/types/private/IsaacAPIClass.lua +2 -0
  677. package/types/private/SerializedIsaacAPIClass.d.ts +4 -0
  678. package/types/private/SerializedIsaacAPIClass.lua +2 -0
  679. package/types/private/TSTLClass.d.ts +4 -0
  680. package/types/private/TSTLClass.lua +2 -0
  681. package/upgradeMod.d.ts +23 -0
  682. package/upgradeMod.lua +33 -0
  683. package/.eslintrc.js +0 -70
  684. package/build.sh +0 -27
  685. package/docs.sh +0 -21
  686. package/lint.sh +0 -34
  687. package/project.json +0 -37
  688. package/release.sh +0 -16
  689. package/scripts/.eslintrc.js +0 -21
  690. package/scripts/docsEntryPointLint.ts +0 -135
  691. package/scripts/tsconfig.json +0 -5
  692. package/src/cachedClasses.ts +0 -39
  693. package/src/callbacks/customRevive.ts +0 -206
  694. package/src/callbacks/itemPickup.ts +0 -101
  695. package/src/callbacks/postBombInitLate.ts +0 -36
  696. package/src/callbacks/postBoneSwing.ts +0 -64
  697. package/src/callbacks/postCollectibleInitFirst.ts +0 -39
  698. package/src/callbacks/postCursedTeleport.ts +0 -183
  699. package/src/callbacks/postCustomDoorEnter.ts +0 -297
  700. package/src/callbacks/postDoorRender.ts +0 -26
  701. package/src/callbacks/postDoorUpdate.ts +0 -26
  702. package/src/callbacks/postEffectInitLate.ts +0 -36
  703. package/src/callbacks/postEffectStateChanged.ts +0 -43
  704. package/src/callbacks/postEsauJr.ts +0 -107
  705. package/src/callbacks/postFamiliarInitLate.ts +0 -36
  706. package/src/callbacks/postFamiliarStateChanged.ts +0 -43
  707. package/src/callbacks/postFlip.ts +0 -88
  708. package/src/callbacks/postGreedModeWave.ts +0 -41
  709. package/src/callbacks/postGridEntity.ts +0 -159
  710. package/src/callbacks/postGridEntityCollision.ts +0 -69
  711. package/src/callbacks/postGridEntityRender.ts +0 -26
  712. package/src/callbacks/postHolyMantleRemoved.ts +0 -55
  713. package/src/callbacks/postItemDischarged.ts +0 -149
  714. package/src/callbacks/postKnifeInitLate.ts +0 -36
  715. package/src/callbacks/postLaserInitLate.ts +0 -36
  716. package/src/callbacks/postNPCInitLate.ts +0 -36
  717. package/src/callbacks/postNPCStateChanged.ts +0 -42
  718. package/src/callbacks/postNewRoomEarly.ts +0 -90
  719. package/src/callbacks/postPickupCollect.ts +0 -48
  720. package/src/callbacks/postPickupInitLate.ts +0 -36
  721. package/src/callbacks/postPickupStateChanged.ts +0 -43
  722. package/src/callbacks/postPitRender.ts +0 -26
  723. package/src/callbacks/postPitUpdate.ts +0 -26
  724. package/src/callbacks/postPlayerChangeHealth.ts +0 -62
  725. package/src/callbacks/postPlayerChangeType.ts +0 -56
  726. package/src/callbacks/postPlayerFatalDamage.ts +0 -98
  727. package/src/callbacks/postPlayerInitLate.ts +0 -37
  728. package/src/callbacks/postPlayerReordered.ts +0 -142
  729. package/src/callbacks/postPoopRender.ts +0 -26
  730. package/src/callbacks/postPoopUpdate.ts +0 -26
  731. package/src/callbacks/postPressurePlateRender.ts +0 -26
  732. package/src/callbacks/postPressurePlateUpdate.ts +0 -26
  733. package/src/callbacks/postProjectileInitLate.ts +0 -36
  734. package/src/callbacks/postPurchase.ts +0 -64
  735. package/src/callbacks/postRockRender.ts +0 -26
  736. package/src/callbacks/postRockUpdate.ts +0 -26
  737. package/src/callbacks/postRoomClearChanged.ts +0 -52
  738. package/src/callbacks/postSacrifice.ts +0 -62
  739. package/src/callbacks/postSlotInitUpdate.ts +0 -63
  740. package/src/callbacks/postSlotRender.ts +0 -96
  741. package/src/callbacks/postSpikesRender.ts +0 -26
  742. package/src/callbacks/postSpikesUpdate.ts +0 -26
  743. package/src/callbacks/postTNTRender.ts +0 -26
  744. package/src/callbacks/postTNTUpdate.ts +0 -26
  745. package/src/callbacks/postTearInitLate.ts +0 -36
  746. package/src/callbacks/postTearInitVeryLate.ts +0 -41
  747. package/src/callbacks/postTransformation.ts +0 -59
  748. package/src/callbacks/postTrinketBreak.ts +0 -110
  749. package/src/callbacks/preBerserkDeath.ts +0 -49
  750. package/src/callbacks/preNewLevel.ts +0 -55
  751. package/src/callbacks/reorderedCallbacks.ts +0 -166
  752. package/src/callbacks/subscriptions/postBombInitLate.ts +0 -32
  753. package/src/callbacks/subscriptions/postBoneSwing.ts +0 -24
  754. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
  755. package/src/callbacks/subscriptions/postCursedTeleport.ts +0 -24
  756. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
  757. package/src/callbacks/subscriptions/postCustomRevive.ts +0 -36
  758. package/src/callbacks/subscriptions/postDoorRender.ts +0 -35
  759. package/src/callbacks/subscriptions/postDoorUpdate.ts +0 -35
  760. package/src/callbacks/subscriptions/postEffectInitLate.ts +0 -32
  761. package/src/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
  762. package/src/callbacks/subscriptions/postEsauJr.ts +0 -24
  763. package/src/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
  764. package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
  765. package/src/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
  766. package/src/callbacks/subscriptions/postFirstFlip.ts +0 -24
  767. package/src/callbacks/subscriptions/postFlip.ts +0 -22
  768. package/src/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
  769. package/src/callbacks/subscriptions/postGreedModeWave.ts +0 -24
  770. package/src/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
  771. package/src/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
  772. package/src/callbacks/subscriptions/postGridEntityInit.ts +0 -51
  773. package/src/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
  774. package/src/callbacks/subscriptions/postGridEntityRender.ts +0 -51
  775. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
  776. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
  777. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
  778. package/src/callbacks/subscriptions/postItemDischarged.ts +0 -43
  779. package/src/callbacks/subscriptions/postItemPickup.ts +0 -64
  780. package/src/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
  781. package/src/callbacks/subscriptions/postLaserInitLate.ts +0 -32
  782. package/src/callbacks/subscriptions/postNPCInitLate.ts +0 -32
  783. package/src/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
  784. package/src/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
  785. package/src/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
  786. package/src/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
  787. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
  788. package/src/callbacks/subscriptions/postPickupCollect.ts +0 -34
  789. package/src/callbacks/subscriptions/postPickupInitLate.ts +0 -31
  790. package/src/callbacks/subscriptions/postPickupStateChanged.ts +0 -35
  791. package/src/callbacks/subscriptions/postPitRender.ts +0 -35
  792. package/src/callbacks/subscriptions/postPitUpdate.ts +0 -35
  793. package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -45
  794. package/src/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
  795. package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -67
  796. package/src/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
  797. package/src/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
  798. package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
  799. package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
  800. package/src/callbacks/subscriptions/postPoopRender.ts +0 -35
  801. package/src/callbacks/subscriptions/postPoopUpdate.ts +0 -35
  802. package/src/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
  803. package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
  804. package/src/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
  805. package/src/callbacks/subscriptions/postPurchase.ts +0 -31
  806. package/src/callbacks/subscriptions/postRockRender.ts +0 -35
  807. package/src/callbacks/subscriptions/postRockUpdate.ts +0 -35
  808. package/src/callbacks/subscriptions/postRoomClearChanged.ts +0 -24
  809. package/src/callbacks/subscriptions/postSacrifice.ts +0 -43
  810. package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
  811. package/src/callbacks/subscriptions/postSlotDestroyed.ts +0 -32
  812. package/src/callbacks/subscriptions/postSlotInit.ts +0 -32
  813. package/src/callbacks/subscriptions/postSlotRender.ts +0 -32
  814. package/src/callbacks/subscriptions/postSlotUpdate.ts +0 -32
  815. package/src/callbacks/subscriptions/postSpikesRender.ts +0 -35
  816. package/src/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
  817. package/src/callbacks/subscriptions/postTNTRender.ts +0 -35
  818. package/src/callbacks/subscriptions/postTNTUpdate.ts +0 -35
  819. package/src/callbacks/subscriptions/postTearInitLate.ts +0 -32
  820. package/src/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
  821. package/src/callbacks/subscriptions/postTransformation.ts +0 -40
  822. package/src/callbacks/subscriptions/postTrinketBreak.ts +0 -38
  823. package/src/callbacks/subscriptions/preBerserkDeath.ts +0 -42
  824. package/src/callbacks/subscriptions/preCustomRevive.ts +0 -45
  825. package/src/callbacks/subscriptions/preItemPickup.ts +0 -64
  826. package/src/callbacks/subscriptions/preNewLevel.ts +0 -24
  827. package/src/classes/DefaultMap.ts +0 -220
  828. package/src/classes/ModUpgraded.ts +0 -83
  829. package/src/constants.ts +0 -140
  830. package/src/constantsFirstLast.ts +0 -212
  831. package/src/enums/HealthType.ts +0 -16
  832. package/src/enums/ModCallbackCustom.ts +0 -943
  833. package/src/enums/PocketItemType.ts +0 -8
  834. package/src/enums/SerializationType.ts +0 -5
  835. package/src/enums/private/CopyableIsaacAPIClassType.ts +0 -7
  836. package/src/enums/private/SaveDataKey.ts +0 -14
  837. package/src/enums/private/SerializationBrand.ts +0 -42
  838. package/src/features/characterHealthConversion.ts +0 -116
  839. package/src/features/characterStats.ts +0 -61
  840. package/src/features/debugDisplay/debugDisplay.ts +0 -221
  841. package/src/features/debugDisplay/exports.ts +0 -368
  842. package/src/features/debugDisplay/v.ts +0 -65
  843. package/src/features/deployJSONRoom.ts +0 -672
  844. package/src/features/disableInputs.ts +0 -193
  845. package/src/features/disableSound.ts +0 -77
  846. package/src/features/extraConsoleCommands/commandsDisplay.ts +0 -290
  847. package/src/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
  848. package/src/features/extraConsoleCommands/init.ts +0 -334
  849. package/src/features/extraConsoleCommands/listCommands.ts +0 -1298
  850. package/src/features/extraConsoleCommands/v.ts +0 -14
  851. package/src/features/fadeInRemover.ts +0 -60
  852. package/src/features/fastReset.ts +0 -75
  853. package/src/features/forgottenSwitch.ts +0 -50
  854. package/src/features/getCollectibleItemPoolType.ts +0 -66
  855. package/src/features/playerInventory.ts +0 -187
  856. package/src/features/ponyDetection.ts +0 -74
  857. package/src/features/preventCollectibleRotation.ts +0 -113
  858. package/src/features/runInNFrames.ts +0 -148
  859. package/src/features/saveDataManager/constants.ts +0 -4
  860. package/src/features/saveDataManager/exports.ts +0 -230
  861. package/src/features/saveDataManager/load.ts +0 -90
  862. package/src/features/saveDataManager/main.ts +0 -187
  863. package/src/features/saveDataManager/maps.ts +0 -13
  864. package/src/features/saveDataManager/merge.ts +0 -182
  865. package/src/features/saveDataManager/save.ts +0 -66
  866. package/src/features/saveDataManager/serializationBrand.ts +0 -15
  867. package/src/features/sirenHelpers.ts +0 -129
  868. package/src/features/taintedLazarusPlayers.ts +0 -113
  869. package/src/featuresInitialized.ts +0 -20
  870. package/src/functions/array.ts +0 -412
  871. package/src/functions/benchmark.ts +0 -36
  872. package/src/functions/bitwise.ts +0 -24
  873. package/src/functions/boss.ts +0 -227
  874. package/src/functions/cacheFlag.ts +0 -12
  875. package/src/functions/cards.ts +0 -267
  876. package/src/functions/challenges.ts +0 -11
  877. package/src/functions/character.ts +0 -124
  878. package/src/functions/charge.ts +0 -237
  879. package/src/functions/chargeBar.ts +0 -67
  880. package/src/functions/collectibleCacheFlag.ts +0 -90
  881. package/src/functions/collectibleSet.ts +0 -57
  882. package/src/functions/collectibleTag.ts +0 -89
  883. package/src/functions/collectibles.ts +0 -610
  884. package/src/functions/color.ts +0 -149
  885. package/src/functions/debug.ts +0 -65
  886. package/src/functions/deepCopy.ts +0 -508
  887. package/src/functions/deepCopyTests.ts +0 -390
  888. package/src/functions/direction.ts +0 -16
  889. package/src/functions/doors.ts +0 -343
  890. package/src/functions/easing.ts +0 -182
  891. package/src/functions/eden.ts +0 -47
  892. package/src/functions/entity.ts +0 -352
  893. package/src/functions/entitySpecific.ts +0 -889
  894. package/src/functions/entityTypes.ts +0 -6
  895. package/src/functions/enums.ts +0 -145
  896. package/src/functions/familiars.ts +0 -106
  897. package/src/functions/flag.ts +0 -165
  898. package/src/functions/flying.ts +0 -117
  899. package/src/functions/globals.ts +0 -249
  900. package/src/functions/gridEntity.ts +0 -511
  901. package/src/functions/gridEntitySpecific.ts +0 -112
  902. package/src/functions/input.ts +0 -139
  903. package/src/functions/isaacAPIClass.ts +0 -65
  904. package/src/functions/jsonHelpers.ts +0 -45
  905. package/src/functions/jsonRoom.ts +0 -100
  906. package/src/functions/kColor.ts +0 -130
  907. package/src/functions/language.ts +0 -13
  908. package/src/functions/level.ts +0 -31
  909. package/src/functions/log.ts +0 -660
  910. package/src/functions/map.ts +0 -56
  911. package/src/functions/math.ts +0 -149
  912. package/src/functions/mergeTests.ts +0 -288
  913. package/src/functions/npc.ts +0 -148
  914. package/src/functions/pickupVariants.ts +0 -60
  915. package/src/functions/pickups.ts +0 -449
  916. package/src/functions/pills.ts +0 -182
  917. package/src/functions/player.ts +0 -975
  918. package/src/functions/playerDataStructures.ts +0 -150
  919. package/src/functions/playerHealth.ts +0 -318
  920. package/src/functions/playerIndex.ts +0 -195
  921. package/src/functions/pocketItems.ts +0 -149
  922. package/src/functions/positionVelocity.ts +0 -188
  923. package/src/functions/random.ts +0 -77
  924. package/src/functions/revive.ts +0 -201
  925. package/src/functions/rng.ts +0 -177
  926. package/src/functions/roomData.ts +0 -199
  927. package/src/functions/roomGrid.ts +0 -109
  928. package/src/functions/roomShape.ts +0 -80
  929. package/src/functions/rooms.ts +0 -667
  930. package/src/functions/run.ts +0 -36
  931. package/src/functions/seeds.ts +0 -19
  932. package/src/functions/serialization.ts +0 -97
  933. package/src/functions/set.ts +0 -95
  934. package/src/functions/sound.ts +0 -9
  935. package/src/functions/spawnCollectible.ts +0 -104
  936. package/src/functions/sprite.ts +0 -107
  937. package/src/functions/stage.ts +0 -125
  938. package/src/functions/string.ts +0 -47
  939. package/src/functions/table.ts +0 -139
  940. package/src/functions/tears.ts +0 -32
  941. package/src/functions/transformations.ts +0 -137
  942. package/src/functions/trinketCacheFlag.ts +0 -60
  943. package/src/functions/trinketGive.ts +0 -157
  944. package/src/functions/trinkets.ts +0 -215
  945. package/src/functions/tstlClass.ts +0 -91
  946. package/src/functions/ui.ts +0 -138
  947. package/src/functions/utils.ts +0 -200
  948. package/src/functions/vector.ts +0 -145
  949. package/src/index.ts +0 -162
  950. package/src/initCustomCallbacks.ts +0 -120
  951. package/src/initFeatures.ts +0 -37
  952. package/src/interfaces/AddCallbackParameterCustom.ts +0 -174
  953. package/src/interfaces/ChargeBarSprites.ts +0 -12
  954. package/src/interfaces/JSONDoor.ts +0 -13
  955. package/src/interfaces/JSONEntity.ts +0 -16
  956. package/src/interfaces/JSONRoom.ts +0 -36
  957. package/src/interfaces/JSONRooms.ts +0 -12
  958. package/src/interfaces/JSONSpawn.ts +0 -14
  959. package/src/interfaces/PlayerHealth.ts +0 -16
  960. package/src/interfaces/PocketItemDescription.ts +0 -9
  961. package/src/interfaces/SaveData.ts +0 -29
  962. package/src/interfaces/TrinketSituation.ts +0 -9
  963. package/src/interfaces/private/TSTLClassMetatable.ts +0 -8
  964. package/src/maps/cardMap.ts +0 -209
  965. package/src/maps/characterMap.ts +0 -87
  966. package/src/maps/collectibleDescriptionMap.ts +0 -732
  967. package/src/maps/collectibleNameMap.ts +0 -731
  968. package/src/maps/defaultPlayerStatMap.ts +0 -17
  969. package/src/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
  970. package/src/maps/gridEntityXMLMap.ts +0 -176
  971. package/src/maps/pillEffectMap.ts +0 -88
  972. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
  973. package/src/maps/roomTypeMap.ts +0 -40
  974. package/src/maps/trinketDescriptionMap.ts +0 -200
  975. package/src/maps/trinketNameMap.ts +0 -198
  976. package/src/objects/LRoomShapeToRectangles.ts +0 -44
  977. package/src/objects/callbackRegisterFunctions.ts +0 -171
  978. package/src/objects/cardDescriptions.ts +0 -105
  979. package/src/objects/cardNames.ts +0 -105
  980. package/src/objects/cardTypes.ts +0 -104
  981. package/src/objects/challengeNames.ts +0 -52
  982. package/src/objects/characterNames.ts +0 -48
  983. package/src/objects/coinSubTypeToValue.ts +0 -14
  984. package/src/objects/colors.ts +0 -16
  985. package/src/objects/directionNames.ts +0 -11
  986. package/src/objects/directionToDegrees.ts +0 -11
  987. package/src/objects/directionToVector.ts +0 -12
  988. package/src/objects/doorSlotFlagToDoorSlot.ts +0 -16
  989. package/src/objects/doorSlotToDirection.ts +0 -14
  990. package/src/objects/isaacAPIClassTypeToBrand.ts +0 -11
  991. package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
  992. package/src/objects/languageNames.ts +0 -13
  993. package/src/objects/pillEffectClasses.ts +0 -63
  994. package/src/objects/pillEffectNames.ts +0 -57
  995. package/src/objects/pillEffectTypes.ts +0 -62
  996. package/src/objects/roomShapeBounds.ts +0 -71
  997. package/src/objects/roomShapeLayoutSizes.ts +0 -45
  998. package/src/objects/roomShapeToBottomRightPosition.ts +0 -25
  999. package/src/objects/roomShapeToDoorSlots.ts +0 -83
  1000. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
  1001. package/src/objects/roomShapeToGridWidth.ts +0 -21
  1002. package/src/objects/roomShapeToTopLeftPosition.ts +0 -26
  1003. package/src/objects/roomShapeVolumes.ts +0 -38
  1004. package/src/objects/roomTypeNames.ts +0 -36
  1005. package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
  1006. package/src/objects/stageTypeToLetter.ts +0 -15
  1007. package/src/objects/transformationNames.ts +0 -20
  1008. package/src/patchErrorFunctions.ts +0 -92
  1009. package/src/sets/LRoomShapesSet.ts +0 -8
  1010. package/src/sets/bossSets.ts +0 -470
  1011. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
  1012. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
  1013. package/src/sets/charactersWithFreeDevilDealsSet.ts +0 -4
  1014. package/src/sets/charactersWithNoRedHeartsSet.ts +0 -17
  1015. package/src/sets/charactersWithNoSoulHeartsSet.ts +0 -14
  1016. package/src/sets/chestPickupVariantsSet.ts +0 -16
  1017. package/src/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
  1018. package/src/sets/lostStyleCharactersSet.ts +0 -13
  1019. package/src/sets/mineShaftRoomSubTypesSet.ts +0 -10
  1020. package/src/sets/redHeartSubTypesSet.ts +0 -7
  1021. package/src/sets/sinEntityTypesSet.ts +0 -11
  1022. package/src/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
  1023. package/src/sets/storyBossesSet.ts +0 -17
  1024. package/src/types/AnyEntity.ts +0 -12
  1025. package/src/types/AwaitingTextInput.d.ts +0 -2
  1026. package/src/types/CollectibleIndex.ts +0 -14
  1027. package/src/types/PickingUpItem.ts +0 -89
  1028. package/src/types/PlayerIndex.ts +0 -13
  1029. package/src/types/private/IsaacAPIClass.ts +0 -3
  1030. package/src/types/private/SerializedIsaacAPIClass.ts +0 -3
  1031. package/src/types/private/TSTLClass.ts +0 -3
  1032. package/src/upgradeMod.ts +0 -55
  1033. package/tsconfig.json +0 -42
  1034. package/typedoc.json +0 -158
  1035. package/website-root.md +0 -11
@@ -1,412 +0,0 @@
1
- import { getRandomInt } from "./random";
2
- import { getRandomSeed, isRNG, newRNG } from "./rng";
3
- import { erange, repeat } from "./utils";
4
-
5
- /**
6
- * Helper function for determining if two arrays contain the exact same elements. Note that this
7
- * only performs a shallow comparison.
8
- */
9
- export function arrayEquals<T>(
10
- array1: T[] | readonly T[],
11
- array2: T[] | readonly T[],
12
- ): boolean {
13
- if (array1.length !== array2.length) {
14
- return false;
15
- }
16
-
17
- return array1.every((array1Element, i) => {
18
- const array2Element = array2[i];
19
- return array1Element === array2Element;
20
- });
21
- }
22
-
23
- /**
24
- * Shallow copies and removes the specified element(s) from the array. Returns the copied array. If
25
- * the specified element(s) are not found in the array, it will simply return a shallow copy of the
26
- * array.
27
- *
28
- * This function is variadic, meaning that you can specify N arguments to remove N elements.
29
- */
30
- export function arrayRemove<T>(
31
- originalArray: T[] | readonly T[],
32
- ...elementsToRemove: T[]
33
- ): T[] {
34
- const elementsToRemoveSet = new Set(elementsToRemove);
35
-
36
- const array: T[] = [];
37
- for (const element of originalArray) {
38
- if (!elementsToRemoveSet.has(element)) {
39
- array.push(element);
40
- }
41
- }
42
-
43
- return array;
44
- }
45
-
46
- /**
47
- * Removes the specified element(s) from the array. If the specified element(s) are not found in the
48
- * array, this function will do nothing. Returns whether or not one or more elements were removed.
49
- *
50
- * This function is variadic, meaning that you can specify N arguments to remove N elements.
51
- */
52
- export function arrayRemoveInPlace<T>(
53
- array: T[],
54
- ...elementsToRemove: T[]
55
- ): boolean {
56
- let removedOneOrMoreElements = false;
57
- for (const element of elementsToRemove) {
58
- const index = array.indexOf(element);
59
- if (index > -1) {
60
- removedOneOrMoreElements = true;
61
- array.splice(index, 1);
62
- }
63
- }
64
-
65
- return removedOneOrMoreElements;
66
- }
67
-
68
- /**
69
- * Shallow copies and removes the elements at the specified indexes from the array. Returns the
70
- * copied array. If the specified indexes are not found in the array, it will simply return a
71
- * shallow copy of the array.
72
- *
73
- * This function is variadic, meaning that you can specify N arguments to remove N elements.
74
- */
75
- export function arrayRemoveIndex<T>(
76
- originalArray: T[] | readonly T[],
77
- ...indexesToRemove: int[]
78
- ): T[] {
79
- const indexesToRemoveSet = new Set(indexesToRemove);
80
-
81
- const array: T[] = [];
82
- originalArray.forEach((element, i) => {
83
- if (!indexesToRemoveSet.has(i)) {
84
- array.push(element);
85
- }
86
- });
87
-
88
- return array;
89
- }
90
-
91
- /**
92
- * Removes the elements at the specified indexes from the array. If the specified indexes are not
93
- * found in the array, this function will do nothing. Returns whether or not one or more elements
94
- * were removed.
95
- *
96
- * This function is variadic, meaning that you can specify N arguments to remove N elements.
97
- */
98
- export function arrayRemoveIndexInPlace<T>(
99
- array: T[],
100
- ...indexesToRemove: int[]
101
- ): boolean {
102
- const legalIndexes = indexesToRemove.filter(
103
- (i) => i >= 0 && i < array.length,
104
- );
105
- legalIndexes.sort();
106
-
107
- if (legalIndexes.length === 0) {
108
- return false;
109
- }
110
-
111
- for (let i = array.length - 1; i >= 0; i--) {
112
- array.splice(i, 1);
113
- }
114
-
115
- return true;
116
- }
117
-
118
- export function arrayToString<T>(array: T[]): string {
119
- if (array.length === 0) {
120
- return "[]";
121
- }
122
-
123
- const strings = array.map((element) => tostring(element));
124
- const commaSeparatedStrings = strings.join(", ");
125
- return `[${commaSeparatedStrings}]`;
126
- }
127
-
128
- /**
129
- * Helper function to combine two or more arrays. Returns a new array that is the composition of all
130
- * of the specified arrays.
131
- *
132
- * This function is variadic, meaning that you can specify N arguments to combine N arrays. Note
133
- * that this will only perform a shallow copy of the array elements.
134
- */
135
- export function combineArrays<T>(...arrays: Array<T[] | readonly T[]>): T[] {
136
- const elements: T[] = [];
137
- for (const array of arrays) {
138
- for (const element of array) {
139
- elements.push(element);
140
- }
141
- }
142
-
143
- return elements;
144
- }
145
-
146
- /**
147
- * Helper function to perform a shallow copy.
148
- *
149
- * @param oldArray The array to copy.
150
- * @param numElements Optional. If specified, will only copy the first N elements. By default, the
151
- * entire array will be copied.
152
- */
153
- export function copyArray<T>(
154
- oldArray: T[] | readonly T[],
155
- numElements?: int,
156
- ): T[] {
157
- if (numElements === undefined) {
158
- numElements = oldArray.length;
159
- }
160
-
161
- const newArray: T[] = [];
162
- for (let i = 0; i < numElements; i++) {
163
- const oldElement = oldArray[i];
164
- if (oldElement !== undefined) {
165
- newArray.push(oldElement);
166
- }
167
- }
168
-
169
- return newArray;
170
- }
171
-
172
- export function emptyArray<T>(array: T[]): void {
173
- array.splice(0, array.length);
174
- }
175
-
176
- /**
177
- * Helper function to get an array containing the indexes of an array.
178
- *
179
- * For example, an array of `["Apple", "Banana"]` would return an array of `[0, 1]`.
180
- */
181
- export function getArrayIndexes<T>(array: T[] | readonly T[]): int[] {
182
- return erange(array.length);
183
- }
184
-
185
- /**
186
- * Helper function to return the last element of an array.
187
- *
188
- * If the array is empty, this will return undefined.
189
- */
190
- export function getLastElement<T>(array: T[]): T | undefined {
191
- return array[array.length - 1];
192
- }
193
-
194
- /**
195
- * Helper function to get a random element from the provided array.
196
- *
197
- * @param array The array to get an element from.
198
- * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
199
- * `RNG.Next` method will be called. Default is `getRandomSeed()`.
200
- * @param exceptions Optional. An array of elements to skip over if selected.
201
- */
202
- export function getRandomArrayElement<T>(
203
- array: T[] | readonly T[],
204
- seedOrRNG: Seed | RNG = getRandomSeed(),
205
- exceptions: T[] | readonly T[] = [],
206
- ): T {
207
- if (array.length === 0) {
208
- error(
209
- "Failed to get a random array element since the provided array is empty.",
210
- );
211
- }
212
-
213
- const arrayWithoutExceptions = arrayRemove(array, ...exceptions);
214
- const randomIndex = getRandomArrayIndex(arrayWithoutExceptions, seedOrRNG);
215
- const randomElement = arrayWithoutExceptions[randomIndex];
216
- if (randomElement === undefined) {
217
- error(
218
- `Failed to get a random array element since the random index of ${randomIndex} was not valid.`,
219
- );
220
- }
221
-
222
- return randomElement;
223
- }
224
-
225
- /**
226
- * Helper function to get a random element from the provided array. Once the random element is
227
- * decided, it is then removed from the array (in-place).
228
- *
229
- * @param array The array to get an element from.
230
- * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
231
- * `RNG.Next` method will be called. Default is `getRandomSeed()`.
232
- * @param exceptions Optional. An array of elements to skip over if selected.
233
- */
234
- export function getRandomArrayElementAndRemove<T>(
235
- array: T[],
236
- seedOrRNG: Seed | RNG = getRandomSeed(),
237
- exceptions: T[] | readonly T[] = [],
238
- ): T {
239
- const randomArrayElement = getRandomArrayElement(
240
- array,
241
- seedOrRNG,
242
- exceptions,
243
- );
244
- arrayRemoveInPlace(array, randomArrayElement);
245
- return randomArrayElement;
246
- }
247
-
248
- /**
249
- * Helper function to get a random index from the provided array.
250
- *
251
- * @param array The array to get the index from.
252
- * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
253
- * `RNG.Next` method will be called. Default is `getRandomSeed()`.
254
- */
255
- export function getRandomArrayIndex<T>(
256
- array: T[] | readonly T[],
257
- seedOrRNG: Seed | RNG = getRandomSeed(),
258
- ): int {
259
- if (array.length === 0) {
260
- error(
261
- "Failed to get a random array index since the provided array is empty.",
262
- );
263
- }
264
-
265
- return getRandomInt(0, array.length - 1, seedOrRNG);
266
- }
267
-
268
- /**
269
- * Initializes an array with all elements containing the specified default value.
270
- *
271
- * For example:
272
- *
273
- * ```ts
274
- * const playerTransformations = initArray(false, PlayerForm.NUM_PLAYER_FORMS - 1);
275
- * ```
276
- */
277
- export function initArray<T>(defaultValue: T, size: int): T[] {
278
- const array: T[] = [];
279
- repeat(size, () => {
280
- array.push(defaultValue);
281
- });
282
-
283
- return array;
284
- }
285
-
286
- /**
287
- * Since Lua uses tables for every non-primitive data structure, it is non-trivial to determine if a
288
- * particular table is being used as an array. `isArray` returns true if:
289
- *
290
- * - the table contains all numerical indexes that are contiguous, starting at 1
291
- * - the table has no keys (i.e. an "empty" table)
292
- */
293
- export function isArray(object: unknown): object is unknown[] {
294
- if (type(object) !== "table") {
295
- return false;
296
- }
297
-
298
- const table = object as LuaTable<AnyNotNil, unknown>;
299
-
300
- // First, if there is a metatable, this cannot be a simple array and must be a more complex
301
- // object.
302
- const metatable = getmetatable(table);
303
- if (metatable !== undefined) {
304
- return false;
305
- }
306
-
307
- // Second, handle the case of non-numerical keys (and count the entries in the table).
308
- let numEntries = 0;
309
- for (const [key] of pairs(table)) {
310
- numEntries += 1;
311
-
312
- if (typeof key !== "number") {
313
- return false;
314
- }
315
- }
316
-
317
- if (numEntries === 0) {
318
- return true;
319
- }
320
-
321
- // Third, check for non-contiguous elements. (Lua tables start at an index of 1.)
322
- for (let i = 1; i <= numEntries; i++) {
323
- const element = table.get(i);
324
- if (element === undefined) {
325
- return false;
326
- }
327
- }
328
-
329
- return true;
330
- }
331
-
332
- /**
333
- * Helper function to see if every element in the array is N + 1.
334
- *
335
- * For example, `[2, 3, 4]` would return true, and `[2, 3, 5]` would return false.
336
- */
337
- export function isArrayContiguous(array: int[]): boolean {
338
- let lastValue: int | undefined;
339
- for (const element of array) {
340
- if (lastValue === undefined) {
341
- lastValue = element - 1;
342
- }
343
-
344
- if (element !== lastValue - 1) {
345
- return false;
346
- }
347
- }
348
-
349
- return true;
350
- }
351
-
352
- /** Checks if an array is in the provided 2-dimensional array. */
353
- export function isArrayInArray<T>(
354
- arrayToMatch: T[] | readonly T[],
355
- parentArray: Array<T[] | readonly T[]>,
356
- ): boolean {
357
- return parentArray.some((element) => arrayEquals(element, arrayToMatch));
358
- }
359
-
360
- /**
361
- * Shallow copies and shuffles the array using the Fisher-Yates algorithm. Returns the copied array.
362
- *
363
- * From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
364
- *
365
- * @param originalArray The array to shuffle.
366
- * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
367
- * `RNG.Next` method will be called. Default is `getRandomSeed()`.
368
- */
369
- export function shuffleArray<T>(
370
- originalArray: T[] | readonly T[],
371
- seedOrRNG: Seed | RNG = getRandomSeed(),
372
- ): T[] {
373
- const array = copyArray(originalArray);
374
- shuffleArrayInPlace(array, seedOrRNG);
375
-
376
- return array;
377
- }
378
-
379
- /**
380
- * Shuffles the provided array in-place using the Fisher-Yates algorithm.
381
- *
382
- * From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
383
- *
384
- * @param array The array to shuffle.
385
- * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
386
- * `RNG.Next` method will be called. Default is `getRandomSeed()`.
387
- */
388
- export function shuffleArrayInPlace<T>(
389
- array: T[],
390
- seedOrRNG: Seed | RNG = getRandomSeed(),
391
- ): void {
392
- let currentIndex = array.length;
393
- let randomIndex: int;
394
-
395
- const rng = isRNG(seedOrRNG) ? seedOrRNG : newRNG(seedOrRNG);
396
-
397
- while (currentIndex > 0) {
398
- currentIndex -= 1;
399
-
400
- randomIndex = getRandomArrayIndex(array, rng);
401
-
402
- // @ts-expect-error The shuffle can never be undefined.
403
- [array[currentIndex], array[randomIndex]] = [
404
- array[randomIndex],
405
- array[currentIndex],
406
- ];
407
- }
408
- }
409
-
410
- export function sumArray(array: number[] | readonly number[]): number {
411
- return array.reduce((accumulator, element) => accumulator + element);
412
- }
@@ -1,36 +0,0 @@
1
- import { log } from "./log";
2
-
3
- /**
4
- * Helper function to benchmark the performance of a function.
5
- *
6
- * This function is variadic, which means that you can supply as many as you want to benchmark.
7
- *
8
- * @returns An array containing the average time in milliseconds for each function. (This will also
9
- * be printed to the log.)
10
- */
11
- export function benchmark(
12
- numTrials: int,
13
- ...functions: Array<() => void>
14
- ): int[] {
15
- log(`Benchmarking ${functions.length} function(s) with ${numTrials} trials.`);
16
-
17
- const averages: int[] = [];
18
- functions.forEach((func, i) => {
19
- let totalTimeMilliseconds = 0;
20
- for (let j = 0; j < numTrials; j++) {
21
- const startTimeMilliseconds = Isaac.GetTime();
22
- func();
23
- const endTimeMilliseconds = Isaac.GetTime();
24
- const elapsedTimeMilliseconds =
25
- endTimeMilliseconds - startTimeMilliseconds;
26
- totalTimeMilliseconds += elapsedTimeMilliseconds;
27
- }
28
- const averageTimeMilliseconds = totalTimeMilliseconds / numTrials;
29
- log(
30
- `The average time of the function at index ${i} is: ${averageTimeMilliseconds} milliseconds`,
31
- );
32
- averages.push(averageTimeMilliseconds);
33
- });
34
-
35
- return averages;
36
- }
@@ -1,24 +0,0 @@
1
- export function countSetBits(n: int): int {
2
- let count = 0;
3
-
4
- while (n > 0) {
5
- n &= n - 1;
6
- count += 1;
7
- }
8
-
9
- return count;
10
- }
11
-
12
- export function getKBitOfN(k: int, n: int): int {
13
- return (n >>> k) & 1;
14
- }
15
-
16
- export function getNumBitsOfN(n: int): int {
17
- let numBits = 0;
18
- while (n > 0) {
19
- numBits += 1;
20
- n >>>= 1;
21
- }
22
-
23
- return numBits;
24
- }
@@ -1,227 +0,0 @@
1
- import {
2
- EntityType,
3
- LokiVariant,
4
- StageType,
5
- } from "isaac-typescript-definitions";
6
- import { VectorZero } from "../constants";
7
- import {
8
- ALL_BOSSES_SET,
9
- STAGE_TO_COMBINED_BOSS_SET_MAP,
10
- STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP,
11
- } from "../sets/bossSets";
12
- import { SIN_ENTITY_TYPES_SET } from "../sets/sinEntityTypesSet";
13
- import { getNPCs, spawnNPC } from "./entitySpecific";
14
- import { getAliveNPCs } from "./npc";
15
- import { copySet } from "./set";
16
- import { repeat } from "./utils";
17
-
18
- const BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS: ReadonlySet<EntityType> = new Set([
19
- EntityType.LARRY_JR, // 19 (and The Hollow / Tuff Twins / The Shell)
20
- EntityType.CHUB, // 28 (and C.H.A.D. / The Carrion Queen)
21
- EntityType.LOKI, // 69 (only for Lokii)
22
- EntityType.GURGLING, // 237 (and Turdling)
23
- EntityType.TURDLET, // 918
24
- ]);
25
-
26
- const DEFAULT_BOSS_MULTI_SEGMENTS = 4;
27
-
28
- /**
29
- * Helper function to get all of the non-dead bosses in the room.
30
- *
31
- * This function will not include bosses on an internal blacklist, such as Death's scythes or Big
32
- * Horn holes.
33
- */
34
- export function getAliveBosses(
35
- matchingEntityType?: EntityType,
36
- matchingVariant?: int,
37
- matchingSubType?: int,
38
- ignoreFriendly = false,
39
- ): EntityNPC[] {
40
- const aliveNPCs = getAliveNPCs(
41
- matchingEntityType,
42
- matchingVariant,
43
- matchingSubType,
44
- ignoreFriendly,
45
- );
46
- return aliveNPCs.filter((aliveNPC) => aliveNPC.IsBoss());
47
- }
48
-
49
- /**
50
- * Helper function to get the set of every boss in the game.
51
- *
52
- * The set contains strings with the entity type and variant, separated by a period.
53
- *
54
- * Also see the `getBossSet` and `getCombinedBossSet` functions.
55
- */
56
- export function getAllBossesSet(): Set<string> {
57
- return copySet(ALL_BOSSES_SET);
58
- }
59
-
60
- /**
61
- * Helper function to get the set of vanilla bosses for a particular stage and stage type
62
- * combination.
63
- *
64
- * The set contains strings with the entity type and variant, separated by a period.
65
- *
66
- * Also see the `getAllBossesSet` and `getCombinedBossSet` functions.
67
- */
68
- export function getBossSet(
69
- stage: int,
70
- stageType: StageType,
71
- ): ReadonlySet<string> | undefined {
72
- const stageTypeMap = STAGE_TO_STAGE_TYPE_TO_BOSS_SET_MAP.get(stage);
73
- if (stageTypeMap === undefined) {
74
- return undefined;
75
- }
76
-
77
- const bossSet = stageTypeMap.get(stageType);
78
- if (bossSet === undefined) {
79
- return undefined;
80
- }
81
-
82
- return copySet(bossSet);
83
- }
84
-
85
- /** Helper function to get all of the bosses in the room. */
86
- export function getBosses(
87
- matchingEntityType?: EntityType,
88
- matchingVariant?: int,
89
- matchingSubType?: int,
90
- ignoreFriendly = false,
91
- ): EntityNPC[] {
92
- const npcs = getNPCs(
93
- matchingEntityType,
94
- matchingVariant,
95
- matchingSubType,
96
- ignoreFriendly,
97
- );
98
- return npcs.filter((npc) => npc.IsBoss());
99
- }
100
-
101
- /**
102
- * Helper function to get the set of vanilla bosses for a particular stage across all of the stage
103
- * types. For example, specifying a stage of 2 will return a set with all of the bosses for
104
- * Basement, Cellar, Burning Basement, Downpour, and Dross.
105
- *
106
- * The set contains strings with the entity type and variant, separated by a period.
107
- *
108
- * Also see the `getAllBossesSet` and `getBossSet` functions.
109
- */
110
- export function getCombinedBossSet(stage: int): Set<string> | undefined {
111
- const bossSet = STAGE_TO_COMBINED_BOSS_SET_MAP.get(stage);
112
- if (bossSet === undefined) {
113
- return undefined;
114
- }
115
-
116
- return copySet(bossSet);
117
- }
118
-
119
- /** Helper function to check if the provided NPC is a Sin miniboss, such as Sloth or Lust. */
120
- export function isSin(npc: EntityNPC): boolean {
121
- return SIN_ENTITY_TYPES_SET.has(npc.Type);
122
- }
123
-
124
- /**
125
- * Helper function to spawn a boss.
126
- *
127
- * Use this function instead of `spawnNPC` since it handles automatically spawning multiple segments
128
- * for multi-segment bosses.
129
- *
130
- * By default, this will spawn Chub (and his variants) with 3 segments, Lokii with 2 copies,
131
- * Gurglings/Turdlings with 2 copies, and other multi-segment bosses with 4 segments. You can
132
- * customize this via the "numSegments" argument.
133
- */
134
- export function spawnBoss(
135
- entityType: EntityType,
136
- variant: int,
137
- subType: int,
138
- position: Vector,
139
- velocity = VectorZero,
140
- spawner: Entity | undefined = undefined,
141
- seed: Seed | undefined = undefined,
142
- numSegments?: int,
143
- ): EntityNPC {
144
- const npc = spawnNPC(
145
- entityType,
146
- variant,
147
- subType,
148
- position,
149
- velocity,
150
- spawner,
151
- seed,
152
- );
153
-
154
- if (BOSSES_THAT_REQUIRE_MULTIPLE_SPAWNS.has(entityType)) {
155
- const numBossSegments = getNumBossSegments(
156
- entityType,
157
- variant,
158
- numSegments,
159
- );
160
- const remainingSegmentsToSpawn = numBossSegments - 1;
161
- repeat(remainingSegmentsToSpawn, () => {
162
- spawnNPC(entityType, variant, subType, position, velocity, spawner, seed);
163
- });
164
- }
165
-
166
- return npc;
167
- }
168
-
169
- function getNumBossSegments(
170
- entityType: EntityType,
171
- variant: int,
172
- numSegments: int | undefined,
173
- ) {
174
- if (numSegments !== undefined) {
175
- return numSegments;
176
- }
177
-
178
- switch (entityType) {
179
- // 28
180
- case EntityType.CHUB: {
181
- // Chub is always composed of 3 segments.
182
- return 3;
183
- }
184
-
185
- // 69
186
- case EntityType.LOKI: {
187
- return (variant as LokiVariant) === LokiVariant.LOKII ? 2 : 1;
188
- }
189
-
190
- // 237
191
- case EntityType.GURGLING: {
192
- // Gurglings & Turdlings are always encountered in groups of 2.
193
- return 2;
194
- }
195
-
196
- default: {
197
- return DEFAULT_BOSS_MULTI_SEGMENTS;
198
- }
199
- }
200
- }
201
-
202
- /**
203
- * Helper function to spawn a boss with a specific seed.
204
- *
205
- * For more information, see the documentation for the `spawnBoss` function.
206
- */
207
- export function spawnBossWithSeed(
208
- entityType: EntityType,
209
- variant: int,
210
- subType: int,
211
- position: Vector,
212
- seed: Seed,
213
- velocity = VectorZero,
214
- spawner: Entity | undefined = undefined,
215
- numSegments?: int,
216
- ): EntityNPC {
217
- return spawnBoss(
218
- entityType,
219
- variant,
220
- subType,
221
- position,
222
- velocity,
223
- spawner,
224
- seed,
225
- numSegments,
226
- );
227
- }
@@ -1,12 +0,0 @@
1
- import { CacheFlag } from "isaac-typescript-definitions";
2
- import { DEFAULT_PLAYER_STAT_MAP } from "../maps/defaultPlayerStatMap";
3
-
4
- /**
5
- * Returns the starting stat that Isaac (the default character) starts with. For example, if you
6
- * pass this function `CacheFlag.DAMAGE`, it will return 3.5.
7
- *
8
- * Note that the default fire delay is represented in the tear stat, not the `MaxFireDelay` value.
9
- */
10
- export function getDefaultPlayerStat(cacheFlag: CacheFlag): number | undefined {
11
- return DEFAULT_PLAYER_STAT_MAP.get(cacheFlag);
12
- }