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,177 +0,0 @@
1
- import { game } from "../cachedClasses";
2
- import { SerializationBrand } from "../enums/private/SerializationBrand";
3
- import { SerializationType } from "../enums/SerializationType";
4
- import { isaacAPIClassEquals, isIsaacAPIClassOfType } from "./isaacAPIClass";
5
- import { getNumbersFromTable, tableHasKeys } from "./table";
6
- import { ensureAllCases } from "./utils";
7
-
8
- type SerializedRNG = LuaTable<string, unknown> & {
9
- __serializedRNGBrand: void;
10
- };
11
-
12
- interface CopyRNGReturn {
13
- [SerializationType.NONE]: RNG;
14
- [SerializationType.SERIALIZE]: SerializedRNG;
15
- [SerializationType.DESERIALIZE]: RNG;
16
- }
17
-
18
- /**
19
- * This is the ShiftIdx that Blade recommended after having reviewing the game's internal functions.
20
- * Any value between 0 and 80 should work equally well.
21
- * https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf
22
- */
23
- const RECOMMENDED_SHIFT_IDX = 35;
24
-
25
- const KEYS = ["seed"];
26
- const OBJECT_NAME = "RNG";
27
-
28
- /**
29
- * Helper function to copy an `RNG` object.
30
- *
31
- * @param rng The RNG object to copy. In the case of deserialization, this will actually be a Lua
32
- * table instead of an instantiated RNG class.
33
- * @param serializationType Default is `SerializationType.NONE`.
34
- */
35
- export function copyRNG<
36
- R extends RNG | SerializedRNG,
37
- S extends SerializationType,
38
- >(rng: R, serializationType: S): CopyRNGReturn[S];
39
- export function copyRNG<R extends RNG | SerializedRNG>(
40
- rng: R,
41
- ): CopyRNGReturn[SerializationType.NONE];
42
- export function copyRNG(
43
- rng: RNG | SerializedRNG,
44
- serializationType = SerializationType.NONE,
45
- ): CopyRNGReturn[keyof CopyRNGReturn] {
46
- switch (serializationType) {
47
- case SerializationType.NONE: {
48
- if (!isRNG(rng)) {
49
- error(
50
- `Failed to copy a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
51
- );
52
- }
53
-
54
- const seed = rng.GetSeed();
55
- return newRNG(seed);
56
- }
57
-
58
- case SerializationType.SERIALIZE: {
59
- if (!isRNG(rng)) {
60
- error(
61
- `Failed to serialize a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
62
- );
63
- }
64
-
65
- const seed = rng.GetSeed();
66
- const rngTable = new LuaTable<string, unknown>();
67
- rngTable.set("seed", seed);
68
- rngTable.set(SerializationBrand.RNG, "");
69
- return rngTable as SerializedRNG;
70
- }
71
-
72
- case SerializationType.DESERIALIZE: {
73
- const rngType = type(rng);
74
- if (isRNG(rng) || rngType !== "table") {
75
- error(
76
- `Failed to deserialize a ${OBJECT_NAME} object since the provided object was not a Lua table.`,
77
- );
78
- }
79
-
80
- const [seedNumber] = getNumbersFromTable(rng, OBJECT_NAME, ...KEYS);
81
- const seed = seedNumber as Seed;
82
- return newRNG(seed);
83
- }
84
-
85
- default: {
86
- return ensureAllCases(serializationType);
87
- }
88
- }
89
- }
90
-
91
- /**
92
- * Helper function to get a random `Seed` value to be used in spawning entities and so on. Use this
93
- * instead of calling the `Random` function directly since that can return a value of 0 and crash
94
- * the game.
95
- */
96
- export function getRandomSeed(): Seed {
97
- const randomNumber = Random();
98
- const safeRandomNumber = randomNumber === 0 ? 1 : randomNumber;
99
- return safeRandomNumber as Seed;
100
- }
101
-
102
- /** Helper function to check if something is an instantiated RNG object. */
103
- export function isRNG(object: unknown): object is RNG {
104
- return isIsaacAPIClassOfType(object, OBJECT_NAME);
105
- }
106
-
107
- /**
108
- * Used to determine is the given table is a serialized `RNG` object created by the save data
109
- * manager and/or the `deepCopy` function.
110
- */
111
- export function isSerializedRNG(object: unknown): object is SerializedRNG {
112
- const objectType = type(object);
113
- if (objectType !== "table") {
114
- return false;
115
- }
116
-
117
- const table = object as LuaTable<AnyNotNil, unknown>;
118
- return tableHasKeys(table, ...KEYS) && table.has(SerializationBrand.RNG);
119
- }
120
-
121
- /**
122
- * Helper function to initialize an RNG object using Blade's recommended shift index.
123
- *
124
- * @param seed The seed to initialize it with. Default is `getRandomSeed()`.
125
- */
126
- export function newRNG(seed = getRandomSeed()): RNG {
127
- const rng = RNG();
128
- setSeed(rng, seed);
129
- return rng;
130
- }
131
-
132
- export function rngEquals(rng1: RNG, rng2: RNG): boolean {
133
- return isaacAPIClassEquals(rng1, rng2, KEYS);
134
- }
135
-
136
- /**
137
- * Helper function to iterate over the provided object and set the seed for all of the values that
138
- * are RNG objects equal to a particular seed.
139
- */
140
- export function setAllRNGToSeed(object: unknown, seed: Seed): void {
141
- const objectType = type(object);
142
- if (objectType !== "table") {
143
- error(
144
- `Failed to iterate over the object containing RNG objects since the type of the provided object was: ${objectType}`,
145
- );
146
- }
147
- const table = object as LuaTable<string, unknown>;
148
-
149
- for (const value of Object.values(table)) {
150
- if (isRNG(value)) {
151
- setSeed(value, seed);
152
- }
153
- }
154
- }
155
-
156
- /**
157
- * Helper function to iterate over the provided object and set the seed for all of the values that
158
- * are RNG objects equal to the start seed for the current run.
159
- */
160
- export function setAllRNGToStartSeed(object: unknown): void {
161
- const seeds = game.GetSeeds();
162
- const startSeed = seeds.GetStartSeed();
163
-
164
- setAllRNGToSeed(object, startSeed);
165
- }
166
-
167
- /** Helper function to set a seed to an RNG object using Blade's recommended shift index. */
168
- export function setSeed(rng: RNG, seed: Seed): void {
169
- if (seed === 0) {
170
- error(
171
- "You cannot set an RNG object to a seed of 0, or the game will crash.",
172
- );
173
- }
174
-
175
- // The game expects seeds in the range of 1 to 4294967295 (1^32 - 1).
176
- rng.SetSeed(seed, RECOMMENDED_SHIFT_IDX);
177
- }
@@ -1,199 +0,0 @@
1
- import {
2
- DoorSlot,
3
- DoorSlotFlag,
4
- RoomShape,
5
- RoomType,
6
- StageID,
7
- } from "isaac-typescript-definitions";
8
- import { game } from "../cachedClasses";
9
- import { doorSlotFlagToDoorSlot } from "./doors";
10
- import { getEnumValues } from "./enums";
11
- import { hasFlag } from "./flag";
12
-
13
- /**
14
- * Alias for the `Level.GetCurrentRoomDesc` method. Use this to make it more clear what type of
15
- * `RoomDescriptor` object that you are retrieving.
16
- */
17
- export function getCurrentRoomDescriptorReadOnly(): ReadonlyRoomDescriptor {
18
- const level = game.GetLevel();
19
- return level.GetCurrentRoomDesc();
20
- }
21
-
22
- /**
23
- * Helper function to get the set of allowed door slots for the room at the supplied grid index.
24
- * This corresponds to the doors that are enabled in the STB/XML file for the room.
25
- */
26
- export function getRoomAllowedDoors(roomGridIndex?: int): Set<DoorSlot> {
27
- const allowedDoors = new Set<DoorSlot>();
28
-
29
- const roomData = getRoomData(roomGridIndex);
30
- if (roomData === undefined) {
31
- return allowedDoors;
32
- }
33
-
34
- const doorSlotFlags = getEnumValues(DoorSlotFlag);
35
- for (const doorSlotFlag of doorSlotFlags) {
36
- if (hasFlag(roomData.Doors, doorSlotFlag)) {
37
- const doorSlot = doorSlotFlagToDoorSlot(doorSlotFlag);
38
- allowedDoors.add(doorSlot);
39
- }
40
- }
41
-
42
- return allowedDoors;
43
- }
44
-
45
- /**
46
- * Helper function to get the room data for the provided room.
47
- *
48
- * @param roomGridIndex Optional. Default is the current room index.
49
- */
50
- export function getRoomData(roomGridIndex?: int): RoomConfig | undefined {
51
- const roomDescriptor = getRoomDescriptor(roomGridIndex);
52
- return roomDescriptor.Data;
53
- }
54
-
55
- /**
56
- * Helper function to get the descriptor for a room.
57
- *
58
- * @param roomGridIndex Optional. Default is the current room index.
59
- */
60
- export function getRoomDescriptor(roomGridIndex?: int): RoomDescriptor {
61
- const level = game.GetLevel();
62
-
63
- if (roomGridIndex === undefined) {
64
- roomGridIndex = getRoomGridIndex();
65
- }
66
-
67
- return level.GetRoomByIdx(roomGridIndex);
68
- }
69
-
70
- /**
71
- * Helper function to get the grid index of the current room.
72
- *
73
- * - If the current room is inside of the grid, this function will return the `SafeGridIndex` from
74
- * the room descriptor. (The safe grid index is defined as the top-left 1x1 section that the room
75
- * overlaps with, or the top-right 1x1 section of a `RoomType.SHAPE_LTL` room.)
76
- * - If the current room is outside of the grid, it will return the index from the
77
- * `Level.GetCurrentRoomIndex` method (since `SafeGridIndex` is bugged for these cases).
78
- *
79
- * Use this function instead of the `Level.GetCurrentRoomIndex` method directly because the latter
80
- * will return the specific 1x1 quadrant that the player entered the room at. For most situations,
81
- * using the safe grid index is more reliable than this.
82
- *
83
- * Data structures that store data per room should use the room's `ListIndex` instead of
84
- * `SafeGridIndex`, since the former is unique across different dimensions.
85
- */
86
- export function getRoomGridIndex(): int {
87
- const level = game.GetLevel();
88
- const currentRoomIndex = level.GetCurrentRoomIndex();
89
-
90
- // Both `RoomDescriptor.GridIndex` and `RoomDescriptor.SafeGridIndex` will always be equal to -1
91
- // for rooms outside of the grid. Thus, we revert to using the `Level.GetCurrentRoomIndex` method
92
- // for these cases.
93
- if (currentRoomIndex < 0) {
94
- return currentRoomIndex;
95
- }
96
-
97
- const roomDescriptor = getCurrentRoomDescriptorReadOnly();
98
- return roomDescriptor.SafeGridIndex;
99
- }
100
-
101
- /**
102
- * Helper function to get the list grid index of the provided room, which is equal to the index in
103
- * the `RoomList.Get` method. In other words, this is equal to the order that the room was created
104
- * by the floor generation algorithm.
105
- *
106
- * Use this as an index for data structures that store data per room, since it is unique across
107
- * different dimensions.
108
- *
109
- * @param roomGridIndex Optional. Default is the current room index.
110
- */
111
- export function getRoomListIndex(roomGridIndex?: int): int {
112
- const roomDescriptor = getRoomDescriptor(roomGridIndex);
113
- return roomDescriptor.ListIndex;
114
- }
115
-
116
- /**
117
- * Helper function to get the name of the room as it appears in the STB/XML data.
118
- *
119
- * @param roomGridIndex Optional. Default is the current room index.
120
- * @returns The room name. Returns "Unknown" if the type was not found.
121
- */
122
- export function getRoomName(roomGridIndex?: int): string {
123
- const roomData = getRoomData(roomGridIndex);
124
- return roomData === undefined ? "Unknown" : roomData.Name;
125
- }
126
-
127
- /**
128
- * Helper function to get the name of the room as it appears in the STB/XML data.
129
- *
130
- * @param roomGridIndex Optional. Default is the current room index.
131
- * @returns The room name. Returns "Unknown" if the type was not found.
132
- */
133
- export function getRoomShape(roomGridIndex?: int): RoomShape | undefined {
134
- const roomData = getRoomData(roomGridIndex);
135
- return roomData === undefined ? undefined : roomData.Shape;
136
- }
137
-
138
- /**
139
- * Helper function to get the stage ID for a room from the XML/STB data. The room stage ID will
140
- * correspond to the first number in the filename of the XML/STB file. For example, a Depths room
141
- * would have a stage ID of 7.
142
- *
143
- * @param roomGridIndex Optional. Default is the current room index.
144
- * @returns The room stage ID. Returns -1 if the stage ID was not found.
145
- */
146
- export function getRoomStageID(roomGridIndex?: int): StageID {
147
- const roomData = getRoomData(roomGridIndex);
148
- return roomData === undefined ? -1 : roomData.StageID;
149
- }
150
-
151
- /**
152
- * Helper function to get the sub-type for a room from the XML/STB data. The room sub-type will
153
- * correspond to different things depending on what XML/STB file it draws from. For example, in the
154
- * "00.special rooms.stb" file, an Angel Room with a sub-type of 0 will correspond to a normal Angel
155
- * Room and a sub-type of 1 will correspond to an Angel Room shop for The Stairway.
156
- *
157
- * @param roomGridIndex Optional. Default is the current room index.
158
- * @returns The room sub-type. Returns -1 if the sub-type was not found.
159
- */
160
- export function getRoomSubType(roomGridIndex?: int): int {
161
- const roomData = getRoomData(roomGridIndex);
162
- return roomData === undefined ? -1 : roomData.Subtype;
163
- }
164
-
165
- /**
166
- * Helper function for getting the type of the room with the given grid index.
167
- *
168
- * @param roomGridIndex Optional. Default is the current room index.
169
- * @returns The room data type. Returns -1 if the type was not found.
170
- */
171
- export function getRoomType(roomGridIndex?: int): RoomType {
172
- const roomData = getRoomData(roomGridIndex);
173
- return roomData === undefined ? -1 : roomData.Type;
174
- }
175
-
176
- /**
177
- * Helper function to get the variant for a room from the XML/STB data. You can think of a room
178
- * variant as its identifier. For example, to go to Basement room #123, you would use a console
179
- * command of `goto d.123` while on the Basement.
180
- *
181
- * @param roomGridIndex Optional. Default is the current room index.
182
- * @returns The room variant. Returns -1 if the variant was not found.
183
- */
184
- export function getRoomVariant(roomGridIndex?: int): int {
185
- const roomData = getRoomData(roomGridIndex);
186
- return roomData === undefined ? -1 : roomData.Variant;
187
- }
188
-
189
- /**
190
- * Note that the room visited count will be inaccurate during the period before the PostNewRoom
191
- * callback has fired (i.e. when entities are initializing and performing their first update). This
192
- * is because the variable is only incremented immediately before the PostNewRoom callback fires.
193
- *
194
- * @param roomGridIndex Optional. Default is the current room index.
195
- */
196
- export function getRoomVisitedCount(roomGridIndex?: int): int {
197
- const roomDescriptor = getRoomDescriptor(roomGridIndex);
198
- return roomDescriptor.VisitedCount;
199
- }
@@ -1,109 +0,0 @@
1
- import { RoomShape } from "isaac-typescript-definitions";
2
- import { L_ROOM_SHAPE_TO_RECTANGLES } from "../objects/LRoomShapeToRectangles";
3
- import { inRectangle } from "./math";
4
- import {
5
- getRoomShapeBottomRightPosition,
6
- getRoomShapeTopLeftPosition,
7
- getRoomShapeWidth,
8
- isLRoom,
9
- } from "./roomShape";
10
-
11
- /**
12
- * Helper function to convert grid coordinates to a world position `Vector`.
13
- *
14
- * For example, the coordinates of (0, 0) are equal to `Vector(80, 160)`.
15
- */
16
- export function gridCoordinatesToWorldPosition(x: int, y: int): Vector {
17
- const gridPosition = Vector(x, y);
18
- return gridPositionToWorldPosition(gridPosition);
19
- }
20
-
21
- /**
22
- * Helper function to convert a grid index to a grid position.
23
- *
24
- * For example, in a 1x1 room, grid index 0 is equal to "Vector(-1, -1) and grid index 16 is equal
25
- * to "Vector(0, 0)".
26
- */
27
- export function gridIndexToGridPosition(
28
- gridIndex: int,
29
- roomShape: RoomShape,
30
- ): Vector {
31
- const gridWidth = getRoomShapeWidth(roomShape);
32
-
33
- const x = (gridIndex % gridWidth) - 1;
34
- const y = Math.floor(gridIndex / gridWidth) - 1;
35
- return Vector(x, y);
36
- }
37
-
38
- /**
39
- * Helper function to convert a grid position `Vector` to a world position `Vector`.
40
- *
41
- * For example, the coordinates of (0, 0) are equal to `Vector(80, 160)`.
42
- */
43
- export function gridPositionToWorldPosition(gridPosition: Vector): Vector {
44
- const x = (gridPosition.X + 2) * 40;
45
- const y = (gridPosition.Y + 4) * 40;
46
- return Vector(x, y);
47
- }
48
-
49
- /**
50
- * Test if a grid position is actually in the given `RoomShape`.
51
- *
52
- * In this context, the grid position of the top-left wall is "Vector(-1, -1)".
53
- */
54
- export function isValidGridPosition(
55
- gridPosition: Vector,
56
- roomShape: RoomShape,
57
- ): boolean {
58
- return isLRoom(roomShape)
59
- ? isValidGridPositionLRoom(gridPosition, roomShape)
60
- : isValidGridPositionNormal(gridPosition, roomShape);
61
- }
62
-
63
- function isValidGridPositionNormal(gridPosition: Vector, roomShape: RoomShape) {
64
- const topLeft = getRoomShapeTopLeftPosition(roomShape);
65
- const bottomRight = getRoomShapeBottomRightPosition(roomShape);
66
- return inRectangle(gridPosition, topLeft, bottomRight);
67
- }
68
-
69
- function isValidGridPositionLRoom(gridPosition: Vector, roomShape: RoomShape) {
70
- const rectangles = L_ROOM_SHAPE_TO_RECTANGLES[roomShape];
71
- if (rectangles === undefined) {
72
- return false;
73
- }
74
-
75
- const [
76
- verticalTopLeft,
77
- verticalBottomRight,
78
- horizontalTopLeft,
79
- horizontalBottomRight,
80
- ] = rectangles;
81
- return (
82
- inRectangle(gridPosition, verticalTopLeft, verticalBottomRight) ||
83
- inRectangle(gridPosition, horizontalTopLeft, horizontalBottomRight)
84
- );
85
- }
86
-
87
- /**
88
- * Helper function to convert a world position `Vector` to a grid position `Vector`.
89
- *
90
- * In this context, the grid position of the top-left wall is "Vector(-1, -1)".
91
- */
92
- export function worldPositionToGridPosition(worldPos: Vector): Vector {
93
- const x = Math.round(worldPos.X / 40 - 2);
94
- const y = Math.round(worldPos.Y / 40 - 4);
95
- return Vector(x, y);
96
- }
97
-
98
- /**
99
- * Helper function to convert a world position `Vector` to a grid position `Vector`.
100
- *
101
- * In this context, the grid position of the top-left wall is "Vector(-1, -1)".
102
- *
103
- * This is similar to the `worldPositionToGridPosition` function, but the values are not rounded.
104
- */
105
- export function worldPositionToGridPositionFast(worldPos: Vector): Vector {
106
- const x = worldPos.X / 40 - 2;
107
- const y = worldPos.Y / 40 - 4;
108
- return Vector(x, y);
109
- }
@@ -1,80 +0,0 @@
1
- import { DoorSlot, RoomShape } from "isaac-typescript-definitions";
2
- import { ROOM_SHAPE_BOUNDS } from "../objects/roomShapeBounds";
3
- import { ROOM_SHAPE_LAYOUT_SIZES } from "../objects/roomShapeLayoutSizes";
4
- import { ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION } from "../objects/roomShapeToBottomRightPosition";
5
- import { ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA } from "../objects/roomShapeToDoorSlotsToGridIndexDelta";
6
- import { ROOM_SHAPE_TO_GRID_WIDTH } from "../objects/roomShapeToGridWidth";
7
- import { ROOM_SHAPE_TO_TOP_LEFT_POSITION } from "../objects/roomShapeToTopLeftPosition";
8
- import { ROOM_SHAPE_VOLUMES } from "../objects/roomShapeVolumes";
9
- import { L_ROOM_SHAPES_SET } from "../sets/LRoomShapesSet";
10
-
11
- /**
12
- * Helper function to get the grid index delta that a door out of the given room shape would lead
13
- * to. For example, if you went through the bottom door in a room of `RoomShape.SHAPE_1x2`, you
14
- * would end up in a room with a grid index that is +26 units from the `SafeGridIndex` of where you
15
- * started.
16
- */
17
- export function getGridIndexDelta(
18
- roomShape: RoomShape,
19
- doorSlot: DoorSlot,
20
- ): int | undefined {
21
- const doorSlotToGridIndexMap =
22
- ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA[roomShape];
23
- return doorSlotToGridIndexMap.get(doorSlot);
24
- }
25
-
26
- /**
27
- * Helper function to get the grid position of the bottom-right tile of a given room shape.
28
- *
29
- * "Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left
30
- * wall would be at "Vector(-1, -1)".)
31
- */
32
- export function getRoomShapeBottomRightPosition(roomShape: RoomShape): Vector {
33
- return ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION[roomShape];
34
- }
35
-
36
- /**
37
- * Helper function to get the bounds of a room shape, which are a box representing its contents.
38
- * This does not include the tiles that the walls are on. L rooms use the same bounds as a 2x2 room.
39
- */
40
- export function getRoomShapeBounds(roomShape: RoomShape): Vector {
41
- return ROOM_SHAPE_BOUNDS[roomShape];
42
- }
43
-
44
- /**
45
- * Helper function to get the dimensions of a room shape's layout. This is NOT the size of the
46
- * room's actual contents! For that, use the `getRoomShapeBounds` function.
47
- *
48
- * For example, a horizontal narrow room has a layout size of equal to that of a 1x1 room.
49
- */
50
- export function getRoomShapeLayoutSize(roomShape: RoomShape): Vector {
51
- return ROOM_SHAPE_LAYOUT_SIZES[roomShape];
52
- }
53
-
54
- /**
55
- * Helper function to get the grid position of the top-left tile of a given room shape.
56
- *
57
- * "Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left
58
- * wall would be at "Vector(-1, -1)".)
59
- */
60
- export function getRoomShapeTopLeftPosition(roomShape: RoomShape): Vector {
61
- return ROOM_SHAPE_TO_TOP_LEFT_POSITION[roomShape];
62
- }
63
-
64
- /**
65
- * Helper function to get the volume of a room shape, which is the amount of tiles that are inside
66
- * the room.
67
- *
68
- * (This cannot be directly calculated from the bounds since L rooms are a special case.)
69
- */
70
- export function getRoomShapeVolume(roomShape: RoomShape): int {
71
- return ROOM_SHAPE_VOLUMES[roomShape];
72
- }
73
-
74
- export function getRoomShapeWidth(roomShape: RoomShape): int {
75
- return ROOM_SHAPE_TO_GRID_WIDTH[roomShape];
76
- }
77
-
78
- export function isLRoom(roomShape: RoomShape): boolean {
79
- return L_ROOM_SHAPES_SET.has(roomShape);
80
- }