isaacscript-common 2.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1035) hide show
  1. package/cachedClasses.d.ts +37 -0
  2. package/cachedClasses.lua +30 -0
  3. package/callbacks/customRevive.d.ts +1 -0
  4. package/callbacks/customRevive.lua +147 -0
  5. package/callbacks/itemPickup.d.ts +1 -0
  6. package/callbacks/itemPickup.lua +66 -0
  7. package/callbacks/postBombInitLate.d.ts +1 -0
  8. package/callbacks/postBombInitLate.lua +33 -0
  9. package/callbacks/postBoneSwing.d.ts +1 -0
  10. package/callbacks/postBoneSwing.lua +50 -0
  11. package/callbacks/postCollectibleInitFirst.d.ts +1 -0
  12. package/callbacks/postCollectibleInitFirst.lua +34 -0
  13. package/callbacks/postCursedTeleport.d.ts +1 -0
  14. package/callbacks/postCursedTeleport.lua +121 -0
  15. package/callbacks/postCustomDoorEnter.d.ts +50 -0
  16. package/callbacks/postCustomDoorEnter.lua +247 -0
  17. package/callbacks/postDoorRender.d.ts +1 -0
  18. package/callbacks/postDoorRender.lua +26 -0
  19. package/callbacks/postDoorUpdate.d.ts +1 -0
  20. package/callbacks/postDoorUpdate.lua +26 -0
  21. package/callbacks/postEffectInitLate.d.ts +1 -0
  22. package/callbacks/postEffectInitLate.lua +33 -0
  23. package/callbacks/postEffectStateChanged.d.ts +1 -0
  24. package/callbacks/postEffectStateChanged.lua +39 -0
  25. package/callbacks/postEsauJr.d.ts +1 -0
  26. package/callbacks/postEsauJr.lua +69 -0
  27. package/callbacks/postFamiliarInitLate.d.ts +1 -0
  28. package/callbacks/postFamiliarInitLate.lua +33 -0
  29. package/callbacks/postFamiliarStateChanged.d.ts +1 -0
  30. package/callbacks/postFamiliarStateChanged.lua +39 -0
  31. package/callbacks/postFlip.d.ts +1 -0
  32. package/callbacks/postFlip.lua +63 -0
  33. package/callbacks/postGreedModeWave.d.ts +1 -0
  34. package/callbacks/postGreedModeWave.lua +34 -0
  35. package/callbacks/postGridEntity.d.ts +1 -0
  36. package/callbacks/postGridEntity.lua +107 -0
  37. package/callbacks/postGridEntityCollision.d.ts +1 -0
  38. package/callbacks/postGridEntityCollision.lua +67 -0
  39. package/callbacks/postGridEntityRender.d.ts +1 -0
  40. package/callbacks/postGridEntityRender.lua +26 -0
  41. package/callbacks/postHolyMantleRemoved.d.ts +1 -0
  42. package/callbacks/postHolyMantleRemoved.lua +41 -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 +33 -0
  47. package/callbacks/postLaserInitLate.d.ts +1 -0
  48. package/callbacks/postLaserInitLate.lua +33 -0
  49. package/callbacks/postNPCInitLate.d.ts +1 -0
  50. package/callbacks/postNPCInitLate.lua +33 -0
  51. package/callbacks/postNPCStateChanged.d.ts +1 -0
  52. package/callbacks/postNPCStateChanged.lua +39 -0
  53. package/callbacks/postNewRoomEarly.d.ts +1 -0
  54. package/callbacks/postNewRoomEarly.lua +67 -0
  55. package/callbacks/postPickupCollect.d.ts +1 -0
  56. package/callbacks/postPickupCollect.lua +41 -0
  57. package/callbacks/postPickupInitLate.d.ts +1 -0
  58. package/callbacks/postPickupInitLate.lua +33 -0
  59. package/callbacks/postPickupStateChanged.d.ts +1 -0
  60. package/callbacks/postPickupStateChanged.lua +39 -0
  61. package/callbacks/postPitRender.d.ts +1 -0
  62. package/callbacks/postPitRender.lua +26 -0
  63. package/callbacks/postPitUpdate.d.ts +1 -0
  64. package/callbacks/postPitUpdate.lua +26 -0
  65. package/callbacks/postPlayerChangeHealth.d.ts +1 -0
  66. package/callbacks/postPlayerChangeHealth.lua +52 -0
  67. package/callbacks/postPlayerChangeType.d.ts +1 -0
  68. package/callbacks/postPlayerChangeType.lua +41 -0
  69. package/callbacks/postPlayerFatalDamage.d.ts +1 -0
  70. package/callbacks/postPlayerFatalDamage.lua +73 -0
  71. package/callbacks/postPlayerInitLate.d.ts +1 -0
  72. package/callbacks/postPlayerInitLate.lua +35 -0
  73. package/callbacks/postPlayerReordered.d.ts +1 -0
  74. package/callbacks/postPlayerReordered.lua +114 -0
  75. package/callbacks/postPoopRender.d.ts +1 -0
  76. package/callbacks/postPoopRender.lua +26 -0
  77. package/callbacks/postPoopUpdate.d.ts +1 -0
  78. package/callbacks/postPoopUpdate.lua +26 -0
  79. package/callbacks/postPressurePlateRender.d.ts +1 -0
  80. package/callbacks/postPressurePlateRender.lua +26 -0
  81. package/callbacks/postPressurePlateUpdate.d.ts +1 -0
  82. package/callbacks/postPressurePlateUpdate.lua +26 -0
  83. package/callbacks/postProjectileInitLate.d.ts +1 -0
  84. package/callbacks/postProjectileInitLate.lua +33 -0
  85. package/callbacks/postPurchase.d.ts +1 -0
  86. package/callbacks/postPurchase.lua +51 -0
  87. package/callbacks/postRockRender.d.ts +1 -0
  88. package/callbacks/postRockRender.lua +26 -0
  89. package/callbacks/postRockUpdate.d.ts +1 -0
  90. package/callbacks/postRockUpdate.lua +26 -0
  91. package/callbacks/postRoomClearChanged.d.ts +1 -0
  92. package/callbacks/postRoomClearChanged.lua +42 -0
  93. package/callbacks/postSacrifice.d.ts +1 -0
  94. package/callbacks/postSacrifice.lua +44 -0
  95. package/callbacks/postSlotInitUpdate.d.ts +1 -0
  96. package/callbacks/postSlotInitUpdate.lua +53 -0
  97. package/callbacks/postSlotRender.d.ts +1 -0
  98. package/callbacks/postSlotRender.lua +76 -0
  99. package/callbacks/postSpikesRender.d.ts +1 -0
  100. package/callbacks/postSpikesRender.lua +26 -0
  101. package/callbacks/postSpikesUpdate.d.ts +1 -0
  102. package/callbacks/postSpikesUpdate.lua +26 -0
  103. package/callbacks/postTNTRender.d.ts +1 -0
  104. package/callbacks/postTNTRender.lua +26 -0
  105. package/callbacks/postTNTUpdate.d.ts +1 -0
  106. package/callbacks/postTNTUpdate.lua +26 -0
  107. package/callbacks/postTearInitLate.d.ts +1 -0
  108. package/callbacks/postTearInitLate.lua +33 -0
  109. package/callbacks/postTearInitVeryLate.d.ts +1 -0
  110. package/callbacks/postTearInitVeryLate.lua +36 -0
  111. package/callbacks/postTransformation.d.ts +1 -0
  112. package/callbacks/postTransformation.lua +48 -0
  113. package/callbacks/postTrinketBreak.d.ts +1 -0
  114. package/callbacks/postTrinketBreak.lua +72 -0
  115. package/callbacks/preBerserkDeath.d.ts +1 -0
  116. package/callbacks/preBerserkDeath.lua +38 -0
  117. package/callbacks/preNewLevel.d.ts +1 -0
  118. package/callbacks/preNewLevel.lua +45 -0
  119. package/callbacks/reorderedCallbacks.d.ts +20 -0
  120. package/callbacks/reorderedCallbacks.lua +108 -0
  121. package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
  122. package/callbacks/subscriptions/postBombInitLate.lua +29 -0
  123. package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
  124. package/callbacks/subscriptions/postBoneSwing.lua +22 -0
  125. package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
  126. package/callbacks/subscriptions/postCollectibleInitFirst.lua +29 -0
  127. package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
  128. package/callbacks/subscriptions/postCursedTeleport.lua +22 -0
  129. package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
  130. package/callbacks/subscriptions/postCustomDoorEnter.lua +35 -0
  131. package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
  132. package/callbacks/subscriptions/postCustomRevive.lua +29 -0
  133. package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
  134. package/callbacks/subscriptions/postDoorRender.lua +30 -0
  135. package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
  136. package/callbacks/subscriptions/postDoorUpdate.lua +30 -0
  137. package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
  138. package/callbacks/subscriptions/postEffectInitLate.lua +29 -0
  139. package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
  140. package/callbacks/subscriptions/postEffectStateChanged.lua +29 -0
  141. package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
  142. package/callbacks/subscriptions/postEsauJr.lua +22 -0
  143. package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
  144. package/callbacks/subscriptions/postFamiliarInitLate.lua +29 -0
  145. package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
  146. package/callbacks/subscriptions/postFamiliarStateChanged.lua +29 -0
  147. package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
  148. package/callbacks/subscriptions/postFirstEsauJr.lua +22 -0
  149. package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
  150. package/callbacks/subscriptions/postFirstFlip.lua +22 -0
  151. package/callbacks/subscriptions/postFlip.d.ts +4 -0
  152. package/callbacks/subscriptions/postFlip.lua +22 -0
  153. package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
  154. package/callbacks/subscriptions/postGameStartedReordered.lua +22 -0
  155. package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
  156. package/callbacks/subscriptions/postGreedModeWave.lua +22 -0
  157. package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
  158. package/callbacks/subscriptions/postGridEntityBroken.lua +35 -0
  159. package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
  160. package/callbacks/subscriptions/postGridEntityCollision.lua +35 -0
  161. package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
  162. package/callbacks/subscriptions/postGridEntityInit.lua +35 -0
  163. package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
  164. package/callbacks/subscriptions/postGridEntityRemove.lua +33 -0
  165. package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
  166. package/callbacks/subscriptions/postGridEntityRender.lua +35 -0
  167. package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
  168. package/callbacks/subscriptions/postGridEntityStateChanged.lua +35 -0
  169. package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
  170. package/callbacks/subscriptions/postGridEntityUpdate.lua +35 -0
  171. package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
  172. package/callbacks/subscriptions/postHolyMantleRemoved.lua +34 -0
  173. package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
  174. package/callbacks/subscriptions/postItemDischarged.lua +29 -0
  175. package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
  176. package/callbacks/subscriptions/postItemPickup.lua +33 -0
  177. package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
  178. package/callbacks/subscriptions/postKnifeInitLate.lua +29 -0
  179. package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
  180. package/callbacks/subscriptions/postLaserInitLate.lua +29 -0
  181. package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
  182. package/callbacks/subscriptions/postNPCInitLate.lua +29 -0
  183. package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
  184. package/callbacks/subscriptions/postNPCStateChanged.lua +33 -0
  185. package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
  186. package/callbacks/subscriptions/postNewLevelReordered.lua +22 -0
  187. package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
  188. package/callbacks/subscriptions/postNewRoomEarly.lua +22 -0
  189. package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
  190. package/callbacks/subscriptions/postNewRoomReordered.lua +22 -0
  191. package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
  192. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +34 -0
  193. package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
  194. package/callbacks/subscriptions/postPickupCollect.lua +29 -0
  195. package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
  196. package/callbacks/subscriptions/postPickupInitLate.lua +29 -0
  197. package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
  198. package/callbacks/subscriptions/postPickupStateChanged.lua +29 -0
  199. package/callbacks/subscriptions/postPitRender.d.ts +5 -0
  200. package/callbacks/subscriptions/postPitRender.lua +30 -0
  201. package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
  202. package/callbacks/subscriptions/postPitUpdate.lua +30 -0
  203. package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
  204. package/callbacks/subscriptions/postPlayerChangeHealth.lua +34 -0
  205. package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
  206. package/callbacks/subscriptions/postPlayerChangeType.lua +29 -0
  207. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
  208. package/callbacks/subscriptions/postPlayerFatalDamage.lua +45 -0
  209. package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
  210. package/callbacks/subscriptions/postPlayerInitLate.lua +34 -0
  211. package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
  212. package/callbacks/subscriptions/postPlayerInitReordered.lua +34 -0
  213. package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
  214. package/callbacks/subscriptions/postPlayerRenderReordered.lua +34 -0
  215. package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
  216. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +34 -0
  217. package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
  218. package/callbacks/subscriptions/postPoopRender.lua +30 -0
  219. package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
  220. package/callbacks/subscriptions/postPoopUpdate.lua +30 -0
  221. package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
  222. package/callbacks/subscriptions/postPressurePlateRender.lua +30 -0
  223. package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
  224. package/callbacks/subscriptions/postPressurePlateUpdate.lua +30 -0
  225. package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
  226. package/callbacks/subscriptions/postProjectileInitLate.lua +29 -0
  227. package/callbacks/subscriptions/postPurchase.d.ts +6 -0
  228. package/callbacks/subscriptions/postPurchase.lua +22 -0
  229. package/callbacks/subscriptions/postRockRender.d.ts +5 -0
  230. package/callbacks/subscriptions/postRockRender.lua +30 -0
  231. package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
  232. package/callbacks/subscriptions/postRockUpdate.lua +30 -0
  233. package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
  234. package/callbacks/subscriptions/postRoomClearChanged.lua +22 -0
  235. package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
  236. package/callbacks/subscriptions/postSacrifice.lua +34 -0
  237. package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
  238. package/callbacks/subscriptions/postSlotAnimationChanged.lua +29 -0
  239. package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
  240. package/callbacks/subscriptions/postSlotDestroyed.lua +29 -0
  241. package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
  242. package/callbacks/subscriptions/postSlotInit.lua +29 -0
  243. package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
  244. package/callbacks/subscriptions/postSlotRender.lua +29 -0
  245. package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
  246. package/callbacks/subscriptions/postSlotUpdate.lua +29 -0
  247. package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
  248. package/callbacks/subscriptions/postSpikesRender.lua +30 -0
  249. package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
  250. package/callbacks/subscriptions/postSpikesUpdate.lua +30 -0
  251. package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
  252. package/callbacks/subscriptions/postTNTRender.lua +30 -0
  253. package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
  254. package/callbacks/subscriptions/postTNTUpdate.lua +30 -0
  255. package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
  256. package/callbacks/subscriptions/postTearInitLate.lua +29 -0
  257. package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
  258. package/callbacks/subscriptions/postTearInitVeryLate.lua +29 -0
  259. package/callbacks/subscriptions/postTransformation.d.ts +5 -0
  260. package/callbacks/subscriptions/postTransformation.lua +29 -0
  261. package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
  262. package/callbacks/subscriptions/postTrinketBreak.lua +29 -0
  263. package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
  264. package/callbacks/subscriptions/preBerserkDeath.lua +35 -0
  265. package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
  266. package/callbacks/subscriptions/preCustomRevive.lua +38 -0
  267. package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
  268. package/callbacks/subscriptions/preItemPickup.lua +33 -0
  269. package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
  270. package/callbacks/subscriptions/preNewLevel.lua +22 -0
  271. package/classes/DefaultMap.d.ts +110 -0
  272. package/classes/DefaultMap.lua +135 -0
  273. package/classes/ModUpgraded.d.ts +23 -0
  274. package/classes/ModUpgraded.lua +43 -0
  275. package/constants.d.ts +104 -0
  276. package/constants.lua +86 -0
  277. package/constantsFirstLast.d.ts +130 -0
  278. package/constantsFirstLast.lua +113 -0
  279. package/enums/HealthType.d.ts +16 -0
  280. package/enums/HealthType.lua +24 -0
  281. package/enums/ModCallbackCustom.d.ts +860 -0
  282. package/enums/ModCallbackCustom.lua +159 -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 +8 -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 +17 -0
  293. package/features/characterHealthConversion.d.ts +9 -0
  294. package/features/characterHealthConversion.lua +91 -0
  295. package/features/characterStats.d.ts +19 -0
  296. package/features/characterStats.lua +54 -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 +223 -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 +519 -0
  305. package/features/disableInputs.d.ts +62 -0
  306. package/features/disableInputs.lua +134 -0
  307. package/features/disableSound.d.ts +18 -0
  308. package/features/disableSound.lua +62 -0
  309. package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
  310. package/features/extraConsoleCommands/commandsDisplay.lua +219 -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 +265 -0
  315. package/features/extraConsoleCommands/listCommands.d.ts +349 -0
  316. package/features/extraConsoleCommands/listCommands.lua +1094 -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 +55 -0
  321. package/features/fastReset.d.ts +14 -0
  322. package/features/fastReset.lua +59 -0
  323. package/features/forgottenSwitch.d.ts +5 -0
  324. package/features/forgottenSwitch.lua +32 -0
  325. package/features/getCollectibleItemPoolType.d.ts +7 -0
  326. package/features/getCollectibleItemPoolType.lua +48 -0
  327. package/features/playerInventory.d.ts +23 -0
  328. package/features/playerInventory.lua +147 -0
  329. package/features/ponyDetection.d.ts +6 -0
  330. package/features/ponyDetection.lua +53 -0
  331. package/features/preventCollectibleRotation.d.ts +11 -0
  332. package/features/preventCollectibleRotation.lua +67 -0
  333. package/features/runInNFrames.d.ts +61 -0
  334. package/features/runInNFrames.lua +128 -0
  335. package/features/saveDataManager/constants.d.ts +3 -0
  336. package/features/saveDataManager/constants.lua +5 -0
  337. package/features/saveDataManager/exports.d.ts +131 -0
  338. package/features/saveDataManager/exports.lua +181 -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 +125 -0
  343. package/features/saveDataManager/maps.d.ts +10 -0
  344. package/features/saveDataManager/maps.lua +11 -0
  345. package/features/saveDataManager/merge.d.ts +24 -0
  346. package/features/saveDataManager/merge.lua +144 -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 +82 -0
  353. package/features/taintedLazarusPlayers.d.ts +13 -0
  354. package/features/taintedLazarusPlayers.lua +85 -0
  355. package/featuresInitialized.d.ts +1 -0
  356. package/featuresInitialized.lua +20 -0
  357. package/functions/array.d.ts +141 -0
  358. package/functions/array.lua +354 -0
  359. package/functions/benchmark.d.ts +10 -0
  360. package/functions/benchmark.lua +38 -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 +218 -0
  365. package/functions/cacheFlag.d.ts +8 -0
  366. package/functions/cacheFlag.lua +11 -0
  367. package/functions/cards.d.ts +95 -0
  368. package/functions/cards.lua +234 -0
  369. package/functions/challenges.d.ts +3 -0
  370. package/functions/challenges.lua +10 -0
  371. package/functions/character.d.ts +48 -0
  372. package/functions/character.lua +96 -0
  373. package/functions/charge.d.ts +54 -0
  374. package/functions/charge.lua +162 -0
  375. package/functions/chargeBar.d.ts +12 -0
  376. package/functions/chargeBar.lua +47 -0
  377. package/functions/collectibleCacheFlag.d.ts +23 -0
  378. package/functions/collectibleCacheFlag.lua +80 -0
  379. package/functions/collectibleSet.d.ts +9 -0
  380. package/functions/collectibleSet.lua +54 -0
  381. package/functions/collectibleTag.d.ts +16 -0
  382. package/functions/collectibleTag.lua +83 -0
  383. package/functions/collectibles.d.ts +211 -0
  384. package/functions/collectibles.lua +412 -0
  385. package/functions/color.d.ts +45 -0
  386. package/functions/color.lua +140 -0
  387. package/functions/debug.d.ts +27 -0
  388. package/functions/debug.lua +49 -0
  389. package/functions/deepCopy.d.ts +29 -0
  390. package/functions/deepCopy.lua +382 -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 +284 -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 +321 -0
  403. package/functions/entitySpecific.d.ts +264 -0
  404. package/functions/entitySpecific.lua +832 -0
  405. package/functions/entityTypes.d.ts +3 -0
  406. package/functions/entityTypes.lua +8 -0
  407. package/functions/enums.d.ts +80 -0
  408. package/functions/enums.lua +147 -0
  409. package/functions/familiars.d.ts +60 -0
  410. package/functions/familiars.lua +85 -0
  411. package/functions/flag.d.ts +99 -0
  412. package/functions/flag.lua +124 -0
  413. package/functions/flying.d.ts +19 -0
  414. package/functions/flying.lua +77 -0
  415. package/functions/globals.d.ts +14 -0
  416. package/functions/globals.lua +236 -0
  417. package/functions/gridEntity.d.ts +155 -0
  418. package/functions/gridEntity.lua +368 -0
  419. package/functions/gridEntitySpecific.d.ts +18 -0
  420. package/functions/gridEntitySpecific.lua +96 -0
  421. package/functions/input.d.ts +32 -0
  422. package/functions/input.lua +117 -0
  423. package/functions/isaacAPIClass.d.ts +23 -0
  424. package/functions/isaacAPIClass.lua +47 -0
  425. package/functions/jsonHelpers.d.ts +18 -0
  426. package/functions/jsonHelpers.lua +37 -0
  427. package/functions/jsonRoom.d.ts +12 -0
  428. package/functions/jsonRoom.lua +91 -0
  429. package/functions/kColor.d.ts +31 -0
  430. package/functions/kColor.lua +110 -0
  431. package/functions/language.d.ts +8 -0
  432. package/functions/language.lua +13 -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 +547 -0
  437. package/functions/map.d.ts +22 -0
  438. package/functions/map.lua +61 -0
  439. package/functions/math.d.ts +50 -0
  440. package/functions/math.lua +118 -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 +128 -0
  445. package/functions/pickupVariants.d.ts +23 -0
  446. package/functions/pickupVariants.lua +48 -0
  447. package/functions/pickups.d.ts +132 -0
  448. package/functions/pickups.lua +474 -0
  449. package/functions/pills.d.ts +69 -0
  450. package/functions/pills.lua +128 -0
  451. package/functions/player.d.ts +296 -0
  452. package/functions/player.lua +777 -0
  453. package/functions/playerDataStructures.d.ts +92 -0
  454. package/functions/playerDataStructures.lua +103 -0
  455. package/functions/playerHealth.d.ts +22 -0
  456. package/functions/playerHealth.lua +296 -0
  457. package/functions/playerIndex.d.ts +68 -0
  458. package/functions/playerIndex.lua +174 -0
  459. package/functions/pocketItems.d.ts +33 -0
  460. package/functions/pocketItems.lua +104 -0
  461. package/functions/positionVelocity.d.ts +64 -0
  462. package/functions/positionVelocity.lua +154 -0
  463. package/functions/random.d.ts +42 -0
  464. package/functions/random.lua +70 -0
  465. package/functions/revive.d.ts +31 -0
  466. package/functions/revive.lua +117 -0
  467. package/functions/rng.d.ts +53 -0
  468. package/functions/rng.lua +148 -0
  469. package/functions/roomData.d.ts +108 -0
  470. package/functions/roomData.lua +160 -0
  471. package/functions/roomGrid.d.ts +40 -0
  472. package/functions/roomGrid.lua +80 -0
  473. package/functions/roomShape.d.ts +43 -0
  474. package/functions/roomShape.lua +67 -0
  475. package/functions/rooms.d.ts +194 -0
  476. package/functions/rooms.lua +482 -0
  477. package/functions/run.d.ts +12 -0
  478. package/functions/run.lua +33 -0
  479. package/functions/seeds.d.ts +9 -0
  480. package/functions/seeds.lua +19 -0
  481. package/functions/serialization.d.ts +11 -0
  482. package/functions/serialization.lua +69 -0
  483. package/functions/set.d.ts +39 -0
  484. package/functions/set.lua +83 -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 +94 -0
  489. package/functions/sprite.d.ts +36 -0
  490. package/functions/sprite.lua +89 -0
  491. package/functions/stage.d.ts +35 -0
  492. package/functions/stage.lua +86 -0
  493. package/functions/string.d.ts +13 -0
  494. package/functions/string.lua +42 -0
  495. package/functions/table.d.ts +36 -0
  496. package/functions/table.lua +98 -0
  497. package/functions/tears.d.ts +22 -0
  498. package/functions/tears.lua +26 -0
  499. package/functions/transformations.d.ts +30 -0
  500. package/functions/transformations.lua +114 -0
  501. package/functions/trinketCacheFlag.d.ts +10 -0
  502. package/functions/trinketCacheFlag.lua +53 -0
  503. package/functions/trinketGive.d.ts +38 -0
  504. package/functions/trinketGive.lua +114 -0
  505. package/functions/trinkets.d.ts +73 -0
  506. package/functions/trinkets.lua +167 -0
  507. package/functions/tstlClass.d.ts +20 -0
  508. package/functions/tstlClass.lua +65 -0
  509. package/functions/ui.d.ts +34 -0
  510. package/functions/ui.lua +111 -0
  511. package/functions/utils.d.ts +113 -0
  512. package/functions/utils.lua +182 -0
  513. package/functions/vector.d.ts +32 -0
  514. package/functions/vector.lua +127 -0
  515. package/index.d.ts +129 -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 +2475 -0
  546. package/maps/cardMap.d.ts +3 -0
  547. package/maps/cardMap.lua +212 -0
  548. package/maps/characterMap.d.ts +3 -0
  549. package/maps/characterMap.lua +90 -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 +25 -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 +53 -0
  560. package/maps/pillEffectMap.d.ts +3 -0
  561. package/maps/pillEffectMap.lua +90 -0
  562. package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
  563. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +17 -0
  564. package/maps/roomTypeMap.d.ts +3 -0
  565. package/maps/roomTypeMap.lua +45 -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 +35 -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 +16 -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 +26 -0
  612. package/objects/roomShapeLayoutSizes.d.ts +10 -0
  613. package/objects/roomShapeLayoutSizes.lua +29 -0
  614. package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
  615. package/objects/roomShapeToBottomRightPosition.lua +22 -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 +89 -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 +24 -0
  624. package/objects/roomShapeVolumes.d.ts +13 -0
  625. package/objects/roomShapeVolumes.lua +30 -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 +3 -4
  635. package/patchErrorFunctions.d.ts +1 -0
  636. package/patchErrorFunctions.lua +58 -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 +554 -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 +19 -0
  649. package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
  650. package/sets/charactersWithNoSoulHeartsSet.lua +16 -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 +16 -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 +34 -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 +51 -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
@@ -0,0 +1,211 @@
1
+ import { CollectiblePedestalType, CollectibleType, ItemConfigTag, ItemType, PickupPrice } from "isaac-typescript-definitions";
2
+ import { CollectibleIndex } from "../types/CollectibleIndex";
3
+ export declare function clearCollectibleSprite(collectible: EntityPickup): void;
4
+ /** Helper function to check if two collectible sprites have the same sprite sheet loaded. */
5
+ export declare function collectibleSpriteEquals(sprite1: Sprite, sprite2: Sprite): boolean;
6
+ /**
7
+ * Helper function to get the in-game description for a collectible. Returns "Unknown" if the
8
+ * provided collectible type was not valid.
9
+ */
10
+ export declare function getCollectibleDescription(collectibleType: CollectibleType): string;
11
+ /**
12
+ * Helper function to get the heart cost that a collectible item would be if it were being offered
13
+ * in a Devil Room deal. Returns 0 if passed CollectibleType.NULL.
14
+ */
15
+ export declare function getCollectibleDevilHeartPrice(collectibleType: CollectibleType, player: EntityPlayer): PickupPrice;
16
+ /**
17
+ * Helper function to get the path to a collectible's sprite. Returns the path to the question mark
18
+ * sprite (i.e. from Curse of the Blind) if the provided collectible type was not valid.
19
+ */
20
+ export declare function getCollectibleGfxFilename(collectibleType: CollectibleType): string;
21
+ /**
22
+ * Mods often have to track variables relating to a collectible. Finding an index for these kinds of
23
+ * data structures is difficult, since collectibles are respawned every time a player re-enters a
24
+ * room, so the `PtrHash` will change. Instead, we use a 4-tuple of the room list index, the grid
25
+ * index of the collectible in the room, the collectible's SubType, and the collectible's InitSeed.
26
+ *
27
+ * Collectibles that are shifted by Tainted Isaac's mechanic will have unique collectible indexes
28
+ * because the SubType is different. (The collectible entities share the same InitSeed.)
29
+ *
30
+ * Collectibles that are rolled (with e.g. a D6) will have unique collectible indexes because the
31
+ * SubType and InitSeed are different. If you want to track collectibles independently of any
32
+ * rerolls, then you can use the `PtrHash` as an index instead. (The `PtrHash` will not persist
33
+ * between rooms, however.)
34
+ *
35
+ * Note that:
36
+ * - The grid index is a necessary part of the collectible index because Diplopia and Crooked Penny
37
+ * can cause two or more collectibles with the same SubType and InitSeed to exist in the same
38
+ * room.
39
+ * - This index will fail in the case where the player uses Diplopia or a successful Crooked Penny
40
+ * seven or more times in the same room, since that will cause two or more collectibles with the
41
+ * same grid index, SubType, and InitSeed to exist.
42
+ * - The SubType is a necessary part of the collectible index because Tainted Isaac will
43
+ * continuously cause collectibles to morph into new sub-types with the same InitSeed.
44
+ * - Using a collectible's position as part of the index is problematic, since players can push a
45
+ * pedestal. (Even using the grid index does not solve this problem, since it is possible in
46
+ * certain cases for collectibles to be spawned at a position that is not aligned with the grid,
47
+ * and the pedestal pushed to an adjacent tile, but this case should be extremely rare.)
48
+ * - Mega Chests spawn two collectibles on the exact same position. However, both of them will have
49
+ * different InitSeeds, so this is not a problem for this indexing scheme.
50
+ * - The indexing scheme used is different for collectibles that are inside of a Treasure Room, in
51
+ * order to handle the case of the player seeing the same collectible again in a post-Ascent
52
+ * Treasure Room. A 5-tuple of stage, stage type, grid index, SubType, and InitSeed is used in
53
+ * this case. (Using the room list index or the room grid index is not suitable for this purpose,
54
+ * since both of these values can change in the post-Ascent Treasure Room.) Even though there can
55
+ * be two Treasure Rooms on an XL floor, both Treasure Rooms should not have collectibles with the
56
+ * same grid index, Subtype, and InitSeed.
57
+ */
58
+ export declare function getCollectibleIndex(collectible: EntityPickup): CollectibleIndex;
59
+ /**
60
+ * Helper function to get the initial amount of charges that a collectible has. Returns 0 if the
61
+ * provided collectible type was not valid.
62
+ */
63
+ export declare function getCollectibleInitCharge(collectibleType: CollectibleType): int;
64
+ /**
65
+ * Helper function to get the `ItemType` of a collectible. Returns `ItemType.ITEM_NULL` if the
66
+ * provided collectible type was not valid.
67
+ */
68
+ export declare function getCollectibleItemType(collectibleType: CollectibleType): ItemType;
69
+ /**
70
+ * Helper function to get the maximum amount of charges that a collectible has. Returns 0 if the
71
+ * provided collectible type was not valid.
72
+ */
73
+ export declare function getCollectibleMaxCharges(collectibleType: CollectibleType): int;
74
+ /**
75
+ * Helper function to get the name of a collectible. Returns "Unknown" if the provided collectible
76
+ * type is not valid.
77
+ *
78
+ * For example:
79
+ *
80
+ * ```ts
81
+ * const collectibleType = CollectibleType.SAD_ONION;
82
+ * const collectibleName = getCollectibleName(collectibleType); // collectibleName is "Sad Onion"
83
+ * ```
84
+ */
85
+ export declare function getCollectibleName(collectibleType: CollectibleType): string;
86
+ export declare function getCollectiblePedestalType(collectible: EntityPickup): CollectiblePedestalType;
87
+ /**
88
+ * Helper function to get the path to a collectible's quality. Returns 0 if the provided collectible
89
+ * type was not valid.
90
+ */
91
+ export declare function getCollectibleQuality(collectibleType: CollectibleType): int;
92
+ /**
93
+ * Helper function to get the tags of a collectible (which is the composition of zero or more
94
+ * `ItemConfigTag`). Returns 0 if the provided collectible type is not valid.
95
+ *
96
+ * For example:
97
+ *
98
+ * ```ts
99
+ * const collectibleType = CollectibleType.SAD_ONION;
100
+ * const itemConfigTags = getCollectibleTags(collectibleType); // itemConfigTags is "18350080"
101
+ * ```
102
+ */
103
+ export declare function getCollectibleTags(collectibleType: CollectibleType): BitFlags<ItemConfigTag>;
104
+ /**
105
+ * Helper function to get an array that represents the range from the first collectible type to the
106
+ * last collectible type. This will include integers that do not represent any valid collectible
107
+ * types.
108
+ *
109
+ * This function is only useful when building collectible type objects. For most purposes, you
110
+ * should use the `getCollectibleSet` helper function instead.
111
+ */
112
+ export declare function getCollectibleTypeRange(): CollectibleType[];
113
+ /**
114
+ * Helper function to get an array that represents the all modded collectible types.
115
+ *
116
+ * This function is only useful when building collectible type objects. For most purposes, you
117
+ * should use the `getModdedCollectibleSet` helper function instead.
118
+ *
119
+ * Returns an empty array if there are no modded collectible types.
120
+ *
121
+ * (This function is named differently from the `getVanillaCollectibleTypeRange` function because
122
+ * all modded collectible types are contiguous. Thus, each value represents a real
123
+ * `CollectibleType`.)
124
+ */
125
+ export declare function getModdedCollectibleTypes(): CollectibleType[];
126
+ /**
127
+ * Helper function to get an array that represents the range from the first collectible type to the
128
+ * last vanilla collectible type. This will include integers that do not represent any valid
129
+ * collectible types.
130
+ *
131
+ * This function is only useful when building collectible type objects. For most purposes, you
132
+ * should use the `getVanillaCollectibleSet` helper function instead.
133
+ */
134
+ export declare function getVanillaCollectibleTypeRange(): CollectibleType[];
135
+ /** Returns true if the item type in the item config is equal to `ItemType.ITEM_ACTIVE`. */
136
+ export declare function isActiveCollectible(collectibleType: CollectibleType): boolean;
137
+ /** Returns true if the collectible has a red question mark sprite. */
138
+ export declare function isBlindCollectible(collectible: EntityPickup): boolean;
139
+ /**
140
+ * Returns whether or not the given collectible is a "glitched" item. All items are replaced by
141
+ * glitched items once a player has TMTRAINER. However, glitched items can also "naturally" appear
142
+ * in secret rooms and I AM ERROR rooms if the "Corrupted Data" achievement is unlocked.
143
+ */
144
+ export declare function isGlitchedCollectible(pickup: EntityPickup): boolean;
145
+ /**
146
+ * Returns true if the collectible has the "Hidden" attribute in the item config.
147
+ *
148
+ * Hidden collectibles will not show up in any pools and Eden will not start with them.
149
+ */
150
+ export declare function isHiddenCollectible(collectibleType: CollectibleType): boolean;
151
+ /**
152
+ * Returns true if the item type in the item config is equal to `ItemType.ITEM_PASSIVE` or
153
+ * `ItemType.ITEM_FAMILIAR`.
154
+ */
155
+ export declare function isPassiveCollectible(collectibleType: CollectibleType): boolean;
156
+ /**
157
+ * Helper function to determine if a particular collectible will disappear from the player's
158
+ * inventory upon use. Note that this will not work will modded items, as there is no way to
159
+ * dynamically know if a modded item will disappear.
160
+ */
161
+ export declare function isSingleUseCollectible(collectibleType: CollectibleType): boolean;
162
+ export declare function isValidCollectibleType(collectibleType: CollectibleType): boolean;
163
+ /**
164
+ * Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that it
165
+ * should remove an item.
166
+ *
167
+ * The "item tracker" in this function does not refer to the in-game item tracker, but rather to the
168
+ * Python program located at: https://github.com/Rchardon/RebirthItemTracker
169
+ */
170
+ export declare function removeCollectibleFromItemTracker(collectibleType: CollectibleType): void;
171
+ /**
172
+ * Helper function to remove all pickup delay on a collectible. By default, collectibles have a 20
173
+ * frame delay before they can be picked up by a player.
174
+ */
175
+ export declare function removeCollectiblePickupDelay(collectible: EntityPickup): void;
176
+ /**
177
+ * Helper function to set a collectible sprite to a question mark (i.e. how collectibles look when
178
+ * the player has Curse of the Blind).
179
+ */
180
+ export declare function setCollectibleBlind(collectible: EntityPickup): void;
181
+ /**
182
+ * Helper function to remove the collectible from a collectible pedestal and make it appear as if a
183
+ * player has already taken the item. This is accomplished by changing the sub-type to
184
+ * `CollectibleType.NULL` and then setting the sprite to an empty/missing PNG file.
185
+ *
186
+ * For more information, see the documentation for the "clearSprite" helper function.
187
+ */
188
+ export declare function setCollectibleEmpty(collectible: EntityPickup): void;
189
+ /**
190
+ * Helper function to change the sprite of a collectible pedestal entity.
191
+ *
192
+ * For more information about removing the collectible sprite, see the documentation for the
193
+ * "clearSprite" helper function.
194
+ *
195
+ * @param collectible The collectible whose sprite you want to modify.
196
+ * @param pngPath Equal to either the spritesheet path to load (e.g.
197
+ * "gfx/items/collectibles/collectibles_001_thesadonion.png") or undefined. If
198
+ * undefined, the sprite will be removed, making it appear like the collectible has
199
+ * already been taken by the player.
200
+ */
201
+ export declare function setCollectibleSprite(collectible: EntityPickup, pngPath: string | undefined): void;
202
+ /**
203
+ * Helper function to change the collectible on a pedestal. Simply updating the `SubType` property
204
+ * is not sufficient because the sprite will not change.
205
+ */
206
+ export declare function setCollectibleSubType(collectible: EntityPickup, newCollectibleType: CollectibleType): void;
207
+ /**
208
+ * Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that
209
+ * the build has been rerolled.
210
+ */
211
+ export declare function setCollectiblesRerolledForItemTracker(): void;
@@ -0,0 +1,412 @@
1
+ local ____exports = {}
2
+ local initQuestionMarkSprite, COLLECTIBLE_SPRITE_LAYER, COLLECTIBLE_SHADOW_LAYER
3
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
4
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
5
+ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
6
+ local ItemConfigTagZero = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigTagZero
7
+ local ItemType = ____isaac_2Dtypescript_2Ddefinitions.ItemType
8
+ local PickupPrice = ____isaac_2Dtypescript_2Ddefinitions.PickupPrice
9
+ local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
10
+ local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
11
+ local ____cachedClasses = require("cachedClasses")
12
+ local game = ____cachedClasses.game
13
+ local itemConfig = ____cachedClasses.itemConfig
14
+ local ____constants = require("constants")
15
+ local BLIND_ITEM_PNG_PATH = ____constants.BLIND_ITEM_PNG_PATH
16
+ local ____constantsFirstLast = require("constantsFirstLast")
17
+ local FIRST_COLLECTIBLE_TYPE = ____constantsFirstLast.FIRST_COLLECTIBLE_TYPE
18
+ local FIRST_MODDED_COLLECTIBLE_TYPE = ____constantsFirstLast.FIRST_MODDED_COLLECTIBLE_TYPE
19
+ local LAST_COLLECTIBLE_TYPE = ____constantsFirstLast.LAST_COLLECTIBLE_TYPE
20
+ local LAST_VANILLA_COLLECTIBLE_TYPE = ____constantsFirstLast.LAST_VANILLA_COLLECTIBLE_TYPE
21
+ local ____collectibleDescriptionMap = require("maps.collectibleDescriptionMap")
22
+ local COLLECTIBLE_DESCRIPTION_MAP = ____collectibleDescriptionMap.COLLECTIBLE_DESCRIPTION_MAP
23
+ local DEFAULT_COLLECTIBLE_DESCRIPTION = ____collectibleDescriptionMap.DEFAULT_COLLECTIBLE_DESCRIPTION
24
+ local ____collectibleNameMap = require("maps.collectibleNameMap")
25
+ local COLLECTIBLE_NAME_MAP = ____collectibleNameMap.COLLECTIBLE_NAME_MAP
26
+ local DEFAULT_COLLECTIBLE_NAME = ____collectibleNameMap.DEFAULT_COLLECTIBLE_NAME
27
+ local ____singleUseActiveCollectibleTypesSet = require("sets.singleUseActiveCollectibleTypesSet")
28
+ local SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET = ____singleUseActiveCollectibleTypesSet.SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET
29
+ local ____entity = require("functions.entity")
30
+ local getEntityID = ____entity.getEntityID
31
+ local ____pickupVariants = require("functions.pickupVariants")
32
+ local isCollectible = ____pickupVariants.isCollectible
33
+ local ____roomData = require("functions.roomData")
34
+ local getRoomListIndex = ____roomData.getRoomListIndex
35
+ local ____sprite = require("functions.sprite")
36
+ local clearSprite = ____sprite.clearSprite
37
+ local spriteEquals = ____sprite.spriteEquals
38
+ local ____utils = require("functions.utils")
39
+ local irange = ____utils.irange
40
+ function initQuestionMarkSprite(self)
41
+ local sprite = Sprite()
42
+ sprite:Load("gfx/005.100_collectible.anm2", false)
43
+ sprite:ReplaceSpritesheet(1, "gfx/items/collectibles/questionmark.png")
44
+ sprite:LoadGraphics()
45
+ return sprite
46
+ end
47
+ --- Helper function to change the sprite of a collectible pedestal entity.
48
+ --
49
+ -- For more information about removing the collectible sprite, see the documentation for the
50
+ -- "clearSprite" helper function.
51
+ --
52
+ -- @param collectible The collectible whose sprite you want to modify.
53
+ -- @param pngPath Equal to either the spritesheet path to load (e.g.
54
+ -- "gfx/items/collectibles/collectibles_001_thesadonion.png") or undefined. If
55
+ -- undefined, the sprite will be removed, making it appear like the collectible has
56
+ -- already been taken by the player.
57
+ function ____exports.setCollectibleSprite(self, collectible, pngPath)
58
+ if not isCollectible(nil, collectible) then
59
+ local entityID = getEntityID(nil, collectible)
60
+ error("The \"setCollectibleSprite\" function was given a non-collectible: " .. entityID)
61
+ end
62
+ local sprite = collectible:GetSprite()
63
+ if pngPath == nil then
64
+ clearSprite(nil, sprite, COLLECTIBLE_SPRITE_LAYER, COLLECTIBLE_SHADOW_LAYER)
65
+ else
66
+ sprite:ReplaceSpritesheet(COLLECTIBLE_SPRITE_LAYER, pngPath)
67
+ sprite:LoadGraphics()
68
+ end
69
+ end
70
+ COLLECTIBLE_SPRITE_LAYER = 1
71
+ COLLECTIBLE_SHADOW_LAYER = 4
72
+ local GLITCHED_ITEM_THRESHOLD = 4000000000
73
+ local questionMarkSprite = initQuestionMarkSprite(nil)
74
+ function ____exports.clearCollectibleSprite(self, collectible)
75
+ ____exports.setCollectibleSprite(nil, collectible, nil)
76
+ end
77
+ --- Helper function to check if two collectible sprites have the same sprite sheet loaded.
78
+ function ____exports.collectibleSpriteEquals(self, sprite1, sprite2)
79
+ local xStart = -1
80
+ local xFinish = 1
81
+ local xIncrement = 1
82
+ local yStart = -40
83
+ local yFinish = 10
84
+ local yIncrement = 3
85
+ return spriteEquals(
86
+ nil,
87
+ sprite1,
88
+ sprite2,
89
+ COLLECTIBLE_SPRITE_LAYER,
90
+ xStart,
91
+ xFinish,
92
+ xIncrement,
93
+ yStart,
94
+ yFinish,
95
+ yIncrement
96
+ )
97
+ end
98
+ --- Helper function to get the in-game description for a collectible. Returns "Unknown" if the
99
+ -- provided collectible type was not valid.
100
+ function ____exports.getCollectibleDescription(self, collectibleType)
101
+ local collectibleDescription = COLLECTIBLE_DESCRIPTION_MAP:get(collectibleType)
102
+ if collectibleDescription ~= nil then
103
+ return collectibleDescription
104
+ end
105
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
106
+ if itemConfigItem ~= nil then
107
+ return itemConfigItem.Description
108
+ end
109
+ return DEFAULT_COLLECTIBLE_DESCRIPTION
110
+ end
111
+ --- Helper function to get the heart cost that a collectible item would be if it were being offered
112
+ -- in a Devil Room deal. Returns 0 if passed CollectibleType.NULL.
113
+ function ____exports.getCollectibleDevilHeartPrice(self, collectibleType, player)
114
+ local maxHearts = player:GetMaxHearts()
115
+ if collectibleType == CollectibleType.NULL then
116
+ return 0
117
+ end
118
+ if maxHearts == 0 then
119
+ return PickupPrice.THREE_SOUL_HEARTS
120
+ end
121
+ local defaultPickupPrice = PickupPrice.ONE_HEART
122
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
123
+ if itemConfigItem == nil then
124
+ return defaultPickupPrice
125
+ end
126
+ local twoHeartPrice = maxHearts == 2 and PickupPrice.ONE_HEART_AND_TWO_SOUL_HEARTS or PickupPrice.TWO_HEARTS
127
+ return itemConfigItem.DevilPrice == 2 and twoHeartPrice or PickupPrice.ONE_HEART
128
+ end
129
+ --- Helper function to get the path to a collectible's sprite. Returns the path to the question mark
130
+ -- sprite (i.e. from Curse of the Blind) if the provided collectible type was not valid.
131
+ function ____exports.getCollectibleGfxFilename(self, collectibleType)
132
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
133
+ if itemConfigItem == nil then
134
+ return BLIND_ITEM_PNG_PATH
135
+ end
136
+ return itemConfigItem.GfxFileName
137
+ end
138
+ --- Mods often have to track variables relating to a collectible. Finding an index for these kinds of
139
+ -- data structures is difficult, since collectibles are respawned every time a player re-enters a
140
+ -- room, so the `PtrHash` will change. Instead, we use a 4-tuple of the room list index, the grid
141
+ -- index of the collectible in the room, the collectible's SubType, and the collectible's InitSeed.
142
+ --
143
+ -- Collectibles that are shifted by Tainted Isaac's mechanic will have unique collectible indexes
144
+ -- because the SubType is different. (The collectible entities share the same InitSeed.)
145
+ --
146
+ -- Collectibles that are rolled (with e.g. a D6) will have unique collectible indexes because the
147
+ -- SubType and InitSeed are different. If you want to track collectibles independently of any
148
+ -- rerolls, then you can use the `PtrHash` as an index instead. (The `PtrHash` will not persist
149
+ -- between rooms, however.)
150
+ --
151
+ -- Note that:
152
+ -- - The grid index is a necessary part of the collectible index because Diplopia and Crooked Penny
153
+ -- can cause two or more collectibles with the same SubType and InitSeed to exist in the same
154
+ -- room.
155
+ -- - This index will fail in the case where the player uses Diplopia or a successful Crooked Penny
156
+ -- seven or more times in the same room, since that will cause two or more collectibles with the
157
+ -- same grid index, SubType, and InitSeed to exist.
158
+ -- - The SubType is a necessary part of the collectible index because Tainted Isaac will
159
+ -- continuously cause collectibles to morph into new sub-types with the same InitSeed.
160
+ -- - Using a collectible's position as part of the index is problematic, since players can push a
161
+ -- pedestal. (Even using the grid index does not solve this problem, since it is possible in
162
+ -- certain cases for collectibles to be spawned at a position that is not aligned with the grid,
163
+ -- and the pedestal pushed to an adjacent tile, but this case should be extremely rare.)
164
+ -- - Mega Chests spawn two collectibles on the exact same position. However, both of them will have
165
+ -- different InitSeeds, so this is not a problem for this indexing scheme.
166
+ -- - The indexing scheme used is different for collectibles that are inside of a Treasure Room, in
167
+ -- order to handle the case of the player seeing the same collectible again in a post-Ascent
168
+ -- Treasure Room. A 5-tuple of stage, stage type, grid index, SubType, and InitSeed is used in
169
+ -- this case. (Using the room list index or the room grid index is not suitable for this purpose,
170
+ -- since both of these values can change in the post-Ascent Treasure Room.) Even though there can
171
+ -- be two Treasure Rooms on an XL floor, both Treasure Rooms should not have collectibles with the
172
+ -- same grid index, Subtype, and InitSeed.
173
+ function ____exports.getCollectibleIndex(self, collectible)
174
+ if not isCollectible(nil, collectible) then
175
+ local entityID = getEntityID(nil, collectible)
176
+ error("The \"getCollectibleIndex\" function was given a non-collectible: " .. entityID)
177
+ end
178
+ local level = game:GetLevel()
179
+ local stage = level:GetStage()
180
+ local stageType = level:GetStageType()
181
+ local room = game:GetRoom()
182
+ local roomType = room:GetType()
183
+ local gridIndex = room:GetGridIndex(collectible.Position)
184
+ local roomListIndex = getRoomListIndex(nil)
185
+ if roomType == RoomType.TREASURE then
186
+ return (((((((tostring(stage) .. ",") .. tostring(stageType)) .. ",") .. tostring(gridIndex)) .. ",") .. tostring(collectible.SubType)) .. ",") .. tostring(collectible.InitSeed)
187
+ end
188
+ return (((((tostring(roomListIndex) .. ",") .. tostring(gridIndex)) .. ",") .. tostring(collectible.SubType)) .. ",") .. tostring(collectible.InitSeed)
189
+ end
190
+ --- Helper function to get the initial amount of charges that a collectible has. Returns 0 if the
191
+ -- provided collectible type was not valid.
192
+ function ____exports.getCollectibleInitCharge(self, collectibleType)
193
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
194
+ if itemConfigItem == nil then
195
+ return 0
196
+ end
197
+ return itemConfigItem.InitCharge
198
+ end
199
+ --- Helper function to get the `ItemType` of a collectible. Returns `ItemType.ITEM_NULL` if the
200
+ -- provided collectible type was not valid.
201
+ function ____exports.getCollectibleItemType(self, collectibleType)
202
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
203
+ if itemConfigItem == nil then
204
+ return ItemType.NULL
205
+ end
206
+ return itemConfigItem.Type
207
+ end
208
+ --- Helper function to get the maximum amount of charges that a collectible has. Returns 0 if the
209
+ -- provided collectible type was not valid.
210
+ function ____exports.getCollectibleMaxCharges(self, collectibleType)
211
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
212
+ if itemConfigItem == nil then
213
+ return 0
214
+ end
215
+ return itemConfigItem.MaxCharges
216
+ end
217
+ --- Helper function to get the name of a collectible. Returns "Unknown" if the provided collectible
218
+ -- type is not valid.
219
+ --
220
+ -- For example:
221
+ --
222
+ -- ```ts
223
+ -- const collectibleType = CollectibleType.SAD_ONION;
224
+ -- const collectibleName = getCollectibleName(collectibleType); // collectibleName is "Sad Onion"
225
+ -- ```
226
+ function ____exports.getCollectibleName(self, collectibleType)
227
+ local collectibleName = COLLECTIBLE_NAME_MAP:get(collectibleType)
228
+ if collectibleName ~= nil then
229
+ return collectibleName
230
+ end
231
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
232
+ if itemConfigItem ~= nil then
233
+ return itemConfigItem.Name
234
+ end
235
+ return DEFAULT_COLLECTIBLE_NAME
236
+ end
237
+ function ____exports.getCollectiblePedestalType(self, collectible)
238
+ if not isCollectible(nil, collectible) then
239
+ local entityID = getEntityID(nil, collectible)
240
+ error("The \"getCollectiblePedestalType\" function was given a non-collectible: " .. entityID)
241
+ end
242
+ local sprite = collectible:GetSprite()
243
+ return sprite:GetOverlayFrame()
244
+ end
245
+ --- Helper function to get the path to a collectible's quality. Returns 0 if the provided collectible
246
+ -- type was not valid.
247
+ function ____exports.getCollectibleQuality(self, collectibleType)
248
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
249
+ if itemConfigItem == nil then
250
+ return 0
251
+ end
252
+ return itemConfigItem.Quality
253
+ end
254
+ --- Helper function to get the tags of a collectible (which is the composition of zero or more
255
+ -- `ItemConfigTag`). Returns 0 if the provided collectible type is not valid.
256
+ --
257
+ -- For example:
258
+ --
259
+ -- ```ts
260
+ -- const collectibleType = CollectibleType.SAD_ONION;
261
+ -- const itemConfigTags = getCollectibleTags(collectibleType); // itemConfigTags is "18350080"
262
+ -- ```
263
+ function ____exports.getCollectibleTags(self, collectibleType)
264
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
265
+ return itemConfigItem == nil and ItemConfigTagZero or itemConfigItem.Tags
266
+ end
267
+ --- Helper function to get an array that represents the range from the first collectible type to the
268
+ -- last collectible type. This will include integers that do not represent any valid collectible
269
+ -- types.
270
+ --
271
+ -- This function is only useful when building collectible type objects. For most purposes, you
272
+ -- should use the `getCollectibleSet` helper function instead.
273
+ function ____exports.getCollectibleTypeRange(self)
274
+ return irange(nil, FIRST_COLLECTIBLE_TYPE, LAST_COLLECTIBLE_TYPE)
275
+ end
276
+ --- Helper function to get an array that represents the all modded collectible types.
277
+ --
278
+ -- This function is only useful when building collectible type objects. For most purposes, you
279
+ -- should use the `getModdedCollectibleSet` helper function instead.
280
+ --
281
+ -- Returns an empty array if there are no modded collectible types.
282
+ --
283
+ -- (This function is named differently from the `getVanillaCollectibleTypeRange` function because
284
+ -- all modded collectible types are contiguous. Thus, each value represents a real
285
+ -- `CollectibleType`.)
286
+ function ____exports.getModdedCollectibleTypes(self)
287
+ if LAST_VANILLA_COLLECTIBLE_TYPE == LAST_COLLECTIBLE_TYPE then
288
+ return {}
289
+ end
290
+ return irange(nil, FIRST_MODDED_COLLECTIBLE_TYPE, LAST_COLLECTIBLE_TYPE)
291
+ end
292
+ --- Helper function to get an array that represents the range from the first collectible type to the
293
+ -- last vanilla collectible type. This will include integers that do not represent any valid
294
+ -- collectible types.
295
+ --
296
+ -- This function is only useful when building collectible type objects. For most purposes, you
297
+ -- should use the `getVanillaCollectibleSet` helper function instead.
298
+ function ____exports.getVanillaCollectibleTypeRange(self)
299
+ return irange(nil, FIRST_COLLECTIBLE_TYPE, LAST_VANILLA_COLLECTIBLE_TYPE)
300
+ end
301
+ --- Returns true if the item type in the item config is equal to `ItemType.ITEM_ACTIVE`.
302
+ function ____exports.isActiveCollectible(self, collectibleType)
303
+ local itemType = ____exports.getCollectibleItemType(nil, collectibleType)
304
+ return itemType == ItemType.ACTIVE
305
+ end
306
+ --- Returns true if the collectible has a red question mark sprite.
307
+ function ____exports.isBlindCollectible(self, collectible)
308
+ if not isCollectible(nil, collectible) then
309
+ local entityID = getEntityID(nil, collectible)
310
+ error("The \"isBlindCollectible\" function was given a non-collectible: " .. entityID)
311
+ end
312
+ local sprite = collectible:GetSprite()
313
+ local animation = sprite:GetAnimation()
314
+ local frame = sprite:GetFrame()
315
+ questionMarkSprite:SetFrame(animation, frame)
316
+ return ____exports.collectibleSpriteEquals(nil, sprite, questionMarkSprite)
317
+ end
318
+ --- Returns whether or not the given collectible is a "glitched" item. All items are replaced by
319
+ -- glitched items once a player has TMTRAINER. However, glitched items can also "naturally" appear
320
+ -- in secret rooms and I AM ERROR rooms if the "Corrupted Data" achievement is unlocked.
321
+ function ____exports.isGlitchedCollectible(self, pickup)
322
+ return pickup.Variant == PickupVariant.COLLECTIBLE and pickup.SubType > GLITCHED_ITEM_THRESHOLD
323
+ end
324
+ --- Returns true if the collectible has the "Hidden" attribute in the item config.
325
+ --
326
+ -- Hidden collectibles will not show up in any pools and Eden will not start with them.
327
+ function ____exports.isHiddenCollectible(self, collectibleType)
328
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
329
+ return itemConfigItem ~= nil and itemConfigItem.Hidden
330
+ end
331
+ --- Returns true if the item type in the item config is equal to `ItemType.ITEM_PASSIVE` or
332
+ -- `ItemType.ITEM_FAMILIAR`.
333
+ function ____exports.isPassiveCollectible(self, collectibleType)
334
+ local itemType = ____exports.getCollectibleItemType(nil, collectibleType)
335
+ return itemType == ItemType.PASSIVE or itemType == ItemType.FAMILIAR
336
+ end
337
+ --- Helper function to determine if a particular collectible will disappear from the player's
338
+ -- inventory upon use. Note that this will not work will modded items, as there is no way to
339
+ -- dynamically know if a modded item will disappear.
340
+ function ____exports.isSingleUseCollectible(self, collectibleType)
341
+ return SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET:has(collectibleType)
342
+ end
343
+ function ____exports.isValidCollectibleType(self, collectibleType)
344
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
345
+ return itemConfigItem ~= nil
346
+ end
347
+ --- Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that it
348
+ -- should remove an item.
349
+ --
350
+ -- The "item tracker" in this function does not refer to the in-game item tracker, but rather to the
351
+ -- Python program located at: https://github.com/Rchardon/RebirthItemTracker
352
+ function ____exports.removeCollectibleFromItemTracker(self, collectibleType)
353
+ local collectibleName = ____exports.getCollectibleName(nil, collectibleType)
354
+ Isaac.DebugString(((("Removing collectible " .. tostring(collectibleType)) .. " (") .. collectibleName) .. ") on player 0 (Player)")
355
+ end
356
+ --- Helper function to remove all pickup delay on a collectible. By default, collectibles have a 20
357
+ -- frame delay before they can be picked up by a player.
358
+ function ____exports.removeCollectiblePickupDelay(self, collectible)
359
+ if not isCollectible(nil, collectible) then
360
+ local entityID = getEntityID(nil, collectible)
361
+ error("The \"removeCollectiblePickupDelay\" function was given a non-collectible: " .. entityID)
362
+ end
363
+ collectible.Wait = 0
364
+ end
365
+ --- Helper function to set a collectible sprite to a question mark (i.e. how collectibles look when
366
+ -- the player has Curse of the Blind).
367
+ function ____exports.setCollectibleBlind(self, collectible)
368
+ if not isCollectible(nil, collectible) then
369
+ local entityID = getEntityID(nil, collectible)
370
+ error("The \"setCollectibleBlind\" function was given a non-collectible: " .. entityID)
371
+ end
372
+ ____exports.setCollectibleSprite(nil, collectible, BLIND_ITEM_PNG_PATH)
373
+ end
374
+ --- Helper function to remove the collectible from a collectible pedestal and make it appear as if a
375
+ -- player has already taken the item. This is accomplished by changing the sub-type to
376
+ -- `CollectibleType.NULL` and then setting the sprite to an empty/missing PNG file.
377
+ --
378
+ -- For more information, see the documentation for the "clearSprite" helper function.
379
+ function ____exports.setCollectibleEmpty(self, collectible)
380
+ if not isCollectible(nil, collectible) then
381
+ local entityID = getEntityID(nil, collectible)
382
+ error("The \"setCollectibleEmpty\" function was given a non-collectible: " .. entityID)
383
+ end
384
+ collectible.SubType = CollectibleType.NULL
385
+ ____exports.clearCollectibleSprite(nil, collectible)
386
+ end
387
+ --- Helper function to change the collectible on a pedestal. Simply updating the `SubType` property
388
+ -- is not sufficient because the sprite will not change.
389
+ function ____exports.setCollectibleSubType(self, collectible, newCollectibleType)
390
+ if not isCollectible(nil, collectible) then
391
+ local entityID = getEntityID(nil, collectible)
392
+ error("The \"setCollectibleSubType\" function was given a non-collectible: " .. entityID)
393
+ end
394
+ if newCollectibleType == CollectibleType.NULL then
395
+ ____exports.setCollectibleEmpty(nil, collectible)
396
+ return
397
+ end
398
+ collectible:Morph(
399
+ EntityType.PICKUP,
400
+ PickupVariant.COLLECTIBLE,
401
+ newCollectibleType,
402
+ true,
403
+ true,
404
+ true
405
+ )
406
+ end
407
+ --- Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that
408
+ -- the build has been rerolled.
409
+ function ____exports.setCollectiblesRerolledForItemTracker(self)
410
+ Isaac.DebugString("Added 3 Collectibles")
411
+ end
412
+ return ____exports
@@ -0,0 +1,45 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /// <reference types="typescript-to-lua/language-extensions" />
3
+ import { SerializationType } from "../enums/SerializationType";
4
+ declare type SerializedColor = LuaTable<string, unknown> & {
5
+ __serializedColorBrand: void;
6
+ };
7
+ interface CopyColorReturn {
8
+ [SerializationType.NONE]: Color;
9
+ [SerializationType.SERIALIZE]: SerializedColor;
10
+ [SerializationType.DESERIALIZE]: Color;
11
+ }
12
+ /**
13
+ * @category color
14
+ */
15
+ export declare function colorEquals(color1: Color, color2: Color): boolean;
16
+ /**
17
+ * Helper function to copy a `Color` object.
18
+ *
19
+ * @param color The Color object to copy. In the case of deserialization, this will actually be a
20
+ * Lua table instead of an instantiated Color class.
21
+ * @param serializationType Default is `SerializationType.NONE`.
22
+ * @category color
23
+ */
24
+ export declare function copyColor<C extends Color | SerializedColor, S extends SerializationType>(color: C, serializationType: S): CopyColorReturn[S];
25
+ export declare function copyColor<C extends Color | SerializedColor>(color: C): CopyColorReturn[SerializationType.NONE];
26
+ /**
27
+ * Returns `Color(1, 1, 1)`.
28
+ *
29
+ * @category color
30
+ */
31
+ export declare function getDefaultColor(): Color;
32
+ /**
33
+ * Helper function to check if something is an instantiated Color object.
34
+ *
35
+ * @category color
36
+ */
37
+ export declare function isColor(object: unknown): object is Color;
38
+ /**
39
+ * Used to determine is the given table is a serialized `Color` object created by the save data
40
+ * manager and/or the `deepCopy` function.
41
+ *
42
+ * @category color
43
+ */
44
+ export declare function isSerializedColor(object: unknown): object is SerializedColor;
45
+ export {};