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,777 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Set = ____lualib.Set
3
+ local __TS__New = ____lualib.__TS__New
4
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
5
+ local __TS__ArrayFind = ____lualib.__TS__ArrayFind
6
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
7
+ local Map = ____lualib.Map
8
+ local __TS__Iterator = ____lualib.__TS__Iterator
9
+ local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
10
+ local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
11
+ local ____exports = {}
12
+ local isTaintedModded
13
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
14
+ local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
15
+ local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
16
+ local Challenge = ____isaac_2Dtypescript_2Ddefinitions.Challenge
17
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
18
+ local NullItemID = ____isaac_2Dtypescript_2Ddefinitions.NullItemID
19
+ local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
20
+ local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
21
+ local TrinketType = ____isaac_2Dtypescript_2Ddefinitions.TrinketType
22
+ local ____cachedClasses = require("cachedClasses")
23
+ local game = ____cachedClasses.game
24
+ local itemConfig = ____cachedClasses.itemConfig
25
+ local ____HealthType = require("enums.HealthType")
26
+ local HealthType = ____HealthType.HealthType
27
+ local ____array = require("functions.array")
28
+ local getLastElement = ____array.getLastElement
29
+ local sumArray = ____array.sumArray
30
+ local ____bitwise = require("functions.bitwise")
31
+ local countSetBits = ____bitwise.countSetBits
32
+ local getKBitOfN = ____bitwise.getKBitOfN
33
+ local getNumBitsOfN = ____bitwise.getNumBitsOfN
34
+ local ____character = require("functions.character")
35
+ local getCharacterMaxHeartContainers = ____character.getCharacterMaxHeartContainers
36
+ local getCharacterName = ____character.getCharacterName
37
+ local isVanillaCharacter = ____character.isVanillaCharacter
38
+ local ____collectibles = require("functions.collectibles")
39
+ local getCollectibleMaxCharges = ____collectibles.getCollectibleMaxCharges
40
+ local ____collectibleSet = require("functions.collectibleSet")
41
+ local getCollectibleSet = ____collectibleSet.getCollectibleSet
42
+ local ____enums = require("functions.enums")
43
+ local getEnumValues = ____enums.getEnumValues
44
+ local ____playerIndex = require("functions.playerIndex")
45
+ local getPlayerIndexVanilla = ____playerIndex.getPlayerIndexVanilla
46
+ local getPlayers = ____playerIndex.getPlayers
47
+ local ____tears = require("functions.tears")
48
+ local addTearsStat = ____tears.addTearsStat
49
+ local ____utils = require("functions.utils")
50
+ local ensureAllCases = ____utils.ensureAllCases
51
+ local ____repeat = ____utils["repeat"]
52
+ --- Helper function to get an array containing the characters of all of the current players.
53
+ function ____exports.getCharacters(self)
54
+ local players = getPlayers(nil)
55
+ return __TS__ArrayMap(
56
+ players,
57
+ function(____, player) return player:GetPlayerType() end
58
+ )
59
+ end
60
+ --- Returns the maximum heart containers that the provided player can have. Normally, this is 12, but
61
+ -- it can change depending on the character (e.g. Keeper) and other things (e.g. Mother's Kiss).
62
+ -- This function does not account for Broken Hearts; use the `getPlayerAvailableHeartSlots` helper
63
+ -- function for that.
64
+ function ____exports.getPlayerMaxHeartContainers(self, player)
65
+ local character = player:GetPlayerType()
66
+ local characterMaxHeartContainers = getCharacterMaxHeartContainers(nil, character)
67
+ if character == PlayerType.MAGDALENE and player:HasCollectible(CollectibleType.BIRTHRIGHT) then
68
+ local extraMaxHeartContainersFromBirthright = 6
69
+ return characterMaxHeartContainers + extraMaxHeartContainersFromBirthright
70
+ end
71
+ if ____exports.isKeeper(nil, player) then
72
+ local numMothersKisses = player:GetTrinketMultiplier(TrinketType.MOTHERS_KISS)
73
+ local hasGreedsGullet = player:HasCollectible(CollectibleType.GREEDS_GULLET)
74
+ local coins = player:GetNumCoins()
75
+ local greedsGulletCoinContainers = hasGreedsGullet and math.floor(coins / 25) or 0
76
+ return characterMaxHeartContainers + numMothersKisses + greedsGulletCoinContainers
77
+ end
78
+ return characterMaxHeartContainers
79
+ end
80
+ --- Helper function to check if a player is a specific character (i.e. `PlayerType`).
81
+ --
82
+ -- This function is variadic, meaning that you can supply as many characters as you want to check
83
+ -- for. Returns true if the player is any of the supplied characters.
84
+ function ____exports.isCharacter(self, player, ...)
85
+ local characters = {...}
86
+ local characterSet = __TS__New(Set, characters)
87
+ local character = player:GetPlayerType()
88
+ return characterSet:has(character)
89
+ end
90
+ --- Helper function for detecting when a player is Keeper or Tainted Keeper. Useful for situations
91
+ -- where you want to know if the health is coin hearts, for example.
92
+ function ____exports.isKeeper(self, player)
93
+ local character = player:GetPlayerType()
94
+ return character == PlayerType.KEEPER or character == PlayerType.KEEPER_B
95
+ end
96
+ function ____exports.isModdedPlayer(self, player)
97
+ return not ____exports.isVanillaPlayer(nil, player)
98
+ end
99
+ function isTaintedModded(self, player)
100
+ local character = player:GetPlayerType()
101
+ local name = player:GetName()
102
+ local taintedCharacter = Isaac.GetPlayerTypeByName(name, true)
103
+ return character == taintedCharacter
104
+ end
105
+ function ____exports.isVanillaPlayer(self, player)
106
+ local character = player:GetPlayerType()
107
+ return isVanillaCharacter(nil, character)
108
+ end
109
+ local STAT_CACHE_FLAGS_SET = __TS__New(Set, {
110
+ CacheFlag.DAMAGE,
111
+ CacheFlag.FIRE_DELAY,
112
+ CacheFlag.SHOT_SPEED,
113
+ CacheFlag.RANGE,
114
+ CacheFlag.SPEED,
115
+ CacheFlag.LUCK
116
+ })
117
+ function ____exports.addCollectibleCostume(self, player, collectibleType)
118
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
119
+ if itemConfigItem == nil then
120
+ return
121
+ end
122
+ player:AddCostume(itemConfigItem, false)
123
+ end
124
+ --- Helper function to add a stat to a player based on the `CacheFlag` provided. Call this function
125
+ -- from the EvaluateCache callback.
126
+ --
127
+ -- Note that for `CacheFlag.FIRE_DELAY`, the "amount" argument will be interpreted as the tear stat
128
+ -- to add (and not the amount to mutate `EntityPlayer.MaxFireDelay` by).
129
+ --
130
+ -- This function supports the following cache flags:
131
+ -- - CacheFlag.DAMAGE (1 << 0)
132
+ -- - CacheFlag.FIRE_DELAY (1 << 1)
133
+ -- - CacheFlag.SHOT_SPEED (1 << 2)
134
+ -- - CacheFlag.RANGE (1 << 3)
135
+ -- - CacheFlag.SPEED (1 << 4)
136
+ -- - CacheFlag.LUCK (1 << 10)
137
+ function ____exports.addStat(self, player, cacheFlag, amount)
138
+ if not STAT_CACHE_FLAGS_SET:has(cacheFlag) then
139
+ error("You cannot add a stat to a player with the cache flag of: " .. tostring(cacheFlag))
140
+ end
141
+ repeat
142
+ local ____switch6 = cacheFlag
143
+ local ____cond6 = ____switch6 == CacheFlag.DAMAGE
144
+ if ____cond6 then
145
+ do
146
+ player.Damage = player.Damage + amount
147
+ break
148
+ end
149
+ end
150
+ ____cond6 = ____cond6 or ____switch6 == CacheFlag.FIRE_DELAY
151
+ if ____cond6 then
152
+ do
153
+ addTearsStat(nil, player, amount)
154
+ break
155
+ end
156
+ end
157
+ ____cond6 = ____cond6 or ____switch6 == CacheFlag.SHOT_SPEED
158
+ if ____cond6 then
159
+ do
160
+ player.ShotSpeed = player.ShotSpeed + amount
161
+ break
162
+ end
163
+ end
164
+ ____cond6 = ____cond6 or ____switch6 == CacheFlag.RANGE
165
+ if ____cond6 then
166
+ do
167
+ player.TearHeight = player.TearHeight + amount
168
+ break
169
+ end
170
+ end
171
+ ____cond6 = ____cond6 or ____switch6 == CacheFlag.SPEED
172
+ if ____cond6 then
173
+ do
174
+ player.MoveSpeed = player.MoveSpeed + amount
175
+ break
176
+ end
177
+ end
178
+ ____cond6 = ____cond6 or ____switch6 == CacheFlag.LUCK
179
+ if ____cond6 then
180
+ do
181
+ player.Luck = player.Luck + amount
182
+ break
183
+ end
184
+ end
185
+ do
186
+ do
187
+ break
188
+ end
189
+ end
190
+ until true
191
+ end
192
+ function ____exports.addTrinketCostume(self, player, trinketType)
193
+ local itemConfigTrinket = itemConfig:GetTrinket(trinketType)
194
+ if itemConfigTrinket == nil then
195
+ return
196
+ end
197
+ player:AddCostume(itemConfigTrinket, false)
198
+ end
199
+ function ____exports.anyPlayerHasCollectible(self, collectibleType)
200
+ local players = getPlayers(nil)
201
+ return __TS__ArraySome(
202
+ players,
203
+ function(____, player) return player:HasCollectible(collectibleType) end
204
+ )
205
+ end
206
+ function ____exports.anyPlayerHasTrinket(self, trinketType)
207
+ local players = getPlayers(nil)
208
+ return __TS__ArraySome(
209
+ players,
210
+ function(____, player) return player:HasTrinket(trinketType) end
211
+ )
212
+ end
213
+ --- Helper function to determine if the given character is present.
214
+ --
215
+ -- This function is variadic, meaning that you can supply as many characters as you want to check
216
+ -- for. Returns true if any of the characters supplied are present.
217
+ function ____exports.anyPlayerIs(self, ...)
218
+ local matchingCharacters = {...}
219
+ local matchingCharacterSet = __TS__New(Set, matchingCharacters)
220
+ local characters = ____exports.getCharacters(nil)
221
+ return __TS__ArraySome(
222
+ characters,
223
+ function(____, character) return matchingCharacterSet:has(character) end
224
+ )
225
+ end
226
+ --- Helper function to determine if a player will destroy a rock/pot/skull if they walk over it.
227
+ --
228
+ -- The following situations allow for this to be true:
229
+ -- - the player has Leo (collectible 302)
230
+ -- - the player has Thunder Thighs (collectible 314)
231
+ -- - the player is under the effects of Mega Mush (collectible 625)
232
+ -- - the player has Stompy (transformation 13)
233
+ function ____exports.canPlayerCrushRocks(self, player)
234
+ local effects = player:GetEffects()
235
+ return player:HasCollectible(CollectibleType.LEO) or player:HasCollectible(CollectibleType.THUNDER_THIGHS) or effects:HasCollectibleEffect(CollectibleType.MEGA_MUSH) or player:HasPlayerForm(PlayerForm.STOMPY)
236
+ end
237
+ --- Helper function to find the active slot that the player has the corresponding collectible type
238
+ -- in. Returns undefined if the player does not have the collectible in any active slot.
239
+ function ____exports.getActiveItemSlot(self, player, collectibleType)
240
+ local activeSlots = getEnumValues(nil, ActiveSlot)
241
+ return __TS__ArrayFind(
242
+ activeSlots,
243
+ function(____, activeSlot)
244
+ local activeItem = player:GetActiveItem(activeSlot)
245
+ return activeItem == collectibleType
246
+ end
247
+ )
248
+ end
249
+ --- Helper function to get how long Azazel's Brimstone laser should be. You can pass either an
250
+ -- `EntityPlayer` object or a tear height stat.
251
+ --
252
+ -- The formula for calculating it is: 32 - 2.5 * player.TearHeight
253
+ function ____exports.getAzazelBrimstoneDistance(self, playerOrTearHeight)
254
+ local tearHeight = tonumber(playerOrTearHeight)
255
+ if tearHeight == nil then
256
+ local player = playerOrTearHeight
257
+ tearHeight = player.TearHeight
258
+ end
259
+ return 32 - 2.5 * tearHeight
260
+ end
261
+ function ____exports.getClosestPlayer(self, position)
262
+ local closestPlayer = nil
263
+ local closestDistance = math.huge
264
+ for ____, player in ipairs(getPlayers(nil)) do
265
+ local distance = position:Distance(player.Position)
266
+ if distance < closestDistance then
267
+ closestPlayer = player
268
+ closestDistance = distance
269
+ end
270
+ end
271
+ if closestPlayer == nil then
272
+ error("Failed to find the closest player.")
273
+ end
274
+ return closestPlayer
275
+ end
276
+ --- Helper function to get an array of temporary effects for a player. This is helpful so that you
277
+ -- don't have to manually create an array from an `EffectsList` object.
278
+ function ____exports.getEffectsList(self, player)
279
+ local effects = player:GetEffects()
280
+ local effectsList = effects:GetEffectsList()
281
+ local effectArray = {}
282
+ do
283
+ local i = 0
284
+ while i < effectsList.Size do
285
+ local effect = effectsList:Get(i)
286
+ if effect ~= nil then
287
+ effectArray[#effectArray + 1] = effect
288
+ end
289
+ i = i + 1
290
+ end
291
+ end
292
+ return effectArray
293
+ end
294
+ --- Helper function to return the player with the highest ID, according to the `Isaac.GetPlayer`
295
+ -- method.
296
+ function ____exports.getFinalPlayer(self)
297
+ local players = getPlayers(nil)
298
+ local lastPlayer = getLastElement(nil, players)
299
+ if lastPlayer == nil then
300
+ error("Failed to get the final player since there were 0 players.")
301
+ end
302
+ return lastPlayer
303
+ end
304
+ --- Helper function to get the first player with the lowest frame count. Useful to find a freshly
305
+ -- spawned player after using items like Esau Jr. Don't use this function if two or more players
306
+ -- will be spawned on the same frame.
307
+ function ____exports.getNewestPlayer(self)
308
+ local newestPlayer = nil
309
+ local lowestFrame = math.huge
310
+ for ____, player in ipairs(getPlayers(nil)) do
311
+ if player.FrameCount < lowestFrame then
312
+ newestPlayer = player
313
+ lowestFrame = player.FrameCount
314
+ end
315
+ end
316
+ if newestPlayer == nil then
317
+ error("Failed to find the newest player.")
318
+ end
319
+ return newestPlayer
320
+ end
321
+ --- Returns the number of slots that the player has remaining for new heart containers, accounting
322
+ -- for broken hearts. For example, if the player is Judas and has 1 red heart containers and 2 full
323
+ -- soul hearts and 3 broken hearts, then this function would return 6 (i.e. 12 - 1 - 2 - 3).
324
+ function ____exports.getPlayerAvailableHeartSlots(self, player)
325
+ local maxHeartContainers = ____exports.getPlayerMaxHeartContainers(nil, player)
326
+ local effectiveMaxHearts = player:GetEffectiveMaxHearts()
327
+ local normalAndBoneHeartContainers = effectiveMaxHearts / 2
328
+ local soulHearts = player:GetSoulHearts()
329
+ local soulHeartContainers = math.ceil(soulHearts / 2)
330
+ local totalHeartContainers = normalAndBoneHeartContainers + soulHeartContainers
331
+ local brokenHearts = player:GetBrokenHearts()
332
+ local totalOccupiedHeartSlots = totalHeartContainers + brokenHearts
333
+ return maxHeartContainers - totalOccupiedHeartSlots
334
+ end
335
+ --- Returns the number of black hearts that the player has, excluding any soul hearts. For example,
336
+ -- if the player has one full black heart, one full soul heart, and one half black heart, this
337
+ -- function returns 3.
338
+ --
339
+ -- This is different from the `EntityPlayer.GetBlackHearts` method, since that returns a bitmask.
340
+ function ____exports.getPlayerBlackHearts(self, player)
341
+ local blackHeartsBitmask = player:GetBlackHearts()
342
+ local blackHeartBits = countSetBits(nil, blackHeartsBitmask)
343
+ return blackHeartBits * 2
344
+ end
345
+ --- Iterates over all players and checks if any are close enough to the specified position.
346
+ --
347
+ -- @returns The first player found when iterating upwards from index 0.
348
+ function ____exports.getPlayerCloserThan(self, position, distance)
349
+ local players = getPlayers(nil)
350
+ return __TS__ArrayFind(
351
+ players,
352
+ function(____, player) return player.Position:Distance(position) <= distance end
353
+ )
354
+ end
355
+ --- Helper function to return the total amount of collectibles that a player has that match the
356
+ -- collectible type(s) provided.
357
+ --
358
+ -- This function is variadic, meaning that you can specify N collectible types.
359
+ function ____exports.getPlayerCollectibleCount(self, player, ...)
360
+ local collectibleTypes = {...}
361
+ local numCollectibles = 0
362
+ for ____, collectibleType in ipairs(collectibleTypes) do
363
+ numCollectibles = numCollectibles + player:GetCollectibleNum(collectibleType, true)
364
+ end
365
+ return numCollectibles
366
+ end
367
+ --- Iterates over every item in the game and returns a map containing the number of each item that
368
+ -- the player has.
369
+ function ____exports.getPlayerCollectibleMap(self, player)
370
+ local collectibleSet = getCollectibleSet(nil)
371
+ local collectibleMap = __TS__New(Map)
372
+ for ____, collectibleType in __TS__Iterator(collectibleSet:values()) do
373
+ local collectibleNum = player:GetCollectibleNum(collectibleType, true)
374
+ if collectibleNum > 0 then
375
+ collectibleMap:set(collectibleType, collectibleNum)
376
+ end
377
+ end
378
+ return collectibleMap
379
+ end
380
+ --- Returns the number of red hearts that the player has, excluding any rotten hearts. For example,
381
+ -- if the player has one full black heart, one full soul heart, and one half black heart, this
382
+ -- function returns 3.
383
+ --
384
+ -- This is different from the `EntityPlayer.GetHearts` method, since that returns a value that
385
+ -- includes rotten hearts.
386
+ function ____exports.getPlayerHearts(self, player)
387
+ local rottenHearts = player:GetRottenHearts()
388
+ local hearts = player:GetHearts()
389
+ return hearts - rottenHearts * 2
390
+ end
391
+ --- Helper function that returns the type of the rightmost heart. This does not including golden
392
+ -- hearts or broken hearts, since they cannot be damaged directly.
393
+ function ____exports.getPlayerLastHeart(self, player)
394
+ local hearts = player:GetHearts()
395
+ local effectiveMaxHearts = player:GetEffectiveMaxHearts()
396
+ local soulHearts = player:GetSoulHearts()
397
+ local blackHearts = player:GetBlackHearts()
398
+ local eternalHearts = player:GetEternalHearts()
399
+ local boneHearts = player:GetBoneHearts()
400
+ local rottenHearts = player:GetRottenHearts()
401
+ local soulHeartSlots = soulHearts / 2
402
+ local lastHeartIndex = boneHearts + soulHeartSlots - 1
403
+ local isLastHeartBone = player:IsBoneHeart(lastHeartIndex)
404
+ if isLastHeartBone then
405
+ local isLastContainerEmpty = hearts <= effectiveMaxHearts - 2
406
+ if isLastContainerEmpty then
407
+ return HealthType.BONE
408
+ end
409
+ if rottenHearts > 0 then
410
+ return HealthType.ROTTEN
411
+ end
412
+ if eternalHearts > 0 then
413
+ return HealthType.ETERNAL
414
+ end
415
+ return HealthType.RED
416
+ end
417
+ if soulHearts > 0 then
418
+ local numBits = getNumBitsOfN(nil, blackHearts)
419
+ local finalBit = getKBitOfN(nil, numBits - 1, blackHearts)
420
+ local isBlack = finalBit == 1
421
+ if isBlack then
422
+ return HealthType.BLACK
423
+ end
424
+ return HealthType.SOUL
425
+ end
426
+ if eternalHearts > 0 then
427
+ return HealthType.ETERNAL
428
+ end
429
+ if rottenHearts > 0 then
430
+ return HealthType.ROTTEN
431
+ end
432
+ return HealthType.RED
433
+ end
434
+ --- Helper function to get the proper name of the player. Use this instead of the
435
+ -- `EntityPlayer.GetName` method because it accounts for Blue Baby, Lazarus II, and Tainted
436
+ -- characters.
437
+ function ____exports.getPlayerName(self, player)
438
+ local character = player:GetPlayerType()
439
+ return ____exports.isModdedPlayer(nil, player) and player:GetName() or getCharacterName(nil, character)
440
+ end
441
+ --- Returns the combined value of all of the player's red hearts, soul/black hearts, and bone hearts,
442
+ -- minus the value of the player's rotten hearts.
443
+ --
444
+ -- This is equivalent to the number of hits that the player can currently take, but does not take
445
+ -- into account double damage from champion enemies and/or being on later floors. (For example, on
446
+ -- Womb 1, players who have 1 soul heart remaining would die in 1 hit to anything, even though this
447
+ -- function would report that they have 2 hits remaining.)
448
+ function ____exports.getPlayerNumHitsRemaining(self, player)
449
+ local hearts = player:GetHearts()
450
+ local soulHearts = player:GetSoulHearts()
451
+ local boneHearts = player:GetBoneHearts()
452
+ local eternalHearts = player:GetEternalHearts()
453
+ local rottenHearts = player:GetRottenHearts()
454
+ return hearts + soulHearts + boneHearts + eternalHearts - rottenHearts
455
+ end
456
+ --- Returns the number of soul hearts that the player has, excluding any black hearts. For example,
457
+ -- if the player has one full black heart, one full soul heart, and one half black heart, this
458
+ -- function returns 2.
459
+ --
460
+ -- This is different from the `EntityPlayer.GetSoulHearts` method, since that returns the combined
461
+ -- number of soul hearts and black hearts.
462
+ function ____exports.getPlayerSoulHearts(self, player)
463
+ local soulHearts = player:GetSoulHearts()
464
+ local blackHearts = ____exports.getPlayerBlackHearts(nil, player)
465
+ return soulHearts - blackHearts
466
+ end
467
+ --- Helper function to get all of the players that are a certain character.
468
+ --
469
+ -- This function is variadic, meaning that you can supply as many characters as you want to check
470
+ -- for. Returns true if any of the characters supplied are present.
471
+ function ____exports.getPlayersOfType(self, ...)
472
+ local characters = {...}
473
+ local charactersSet = __TS__New(Set, characters)
474
+ local players = getPlayers(nil)
475
+ return __TS__ArrayFilter(
476
+ players,
477
+ function(____, player)
478
+ local character = player:GetPlayerType()
479
+ return charactersSet:has(character)
480
+ end
481
+ )
482
+ end
483
+ --- Helper function to get only the players that have a certain collectible.
484
+ --
485
+ -- This function is variadic, meaning that you can supply as many collectible types as you want to
486
+ -- check for. It only returns the players that have all of the collectibles.
487
+ function ____exports.getPlayersWithCollectible(self, ...)
488
+ local collectibleTypes = {...}
489
+ local players = getPlayers(nil)
490
+ return __TS__ArrayFilter(
491
+ players,
492
+ function(____, player) return __TS__ArrayEvery(
493
+ collectibleTypes,
494
+ function(____, collectibleType) return player:HasCollectible(collectibleType) end
495
+ ) end
496
+ )
497
+ end
498
+ --- Helper function to get only the players that have a certain trinket.
499
+ --
500
+ -- This function is variadic, meaning that you can supply as many trinket types as you want to check
501
+ -- for. It only returns the players that have all of the trinkets.
502
+ function ____exports.getPlayersWithTrinket(self, ...)
503
+ local trinketTypes = {...}
504
+ local players = getPlayers(nil)
505
+ return __TS__ArrayFilter(
506
+ players,
507
+ function(____, player) return __TS__ArrayEvery(
508
+ trinketTypes,
509
+ function(____, trinketType) return player:HasTrinket(trinketType) end
510
+ ) end
511
+ )
512
+ end
513
+ --- Helper function to determine how many heart containers that Tainted Magdalene has that will not
514
+ -- be automatically depleted over time. By default, this is 2, but this function will return 4 so
515
+ -- that it is consistent with the `player.GetHearts` and `player.GetMaxHearts` methods.
516
+ --
517
+ -- If Tainted Magdalene has Birthright, she will gained an additional non-temporary heart container.
518
+ --
519
+ -- This function does not validate whether or not the provided player is Tainted Magdalene; that
520
+ -- should be accomplished before invoking this function.
521
+ function ____exports.getTaintedMagdaleneNonTemporaryMaxHearts(self, player)
522
+ local maxHearts = player:GetMaxHearts()
523
+ local hasBirthright = player:HasCollectible(CollectibleType.BIRTHRIGHT)
524
+ local maxNonTemporaryMaxHearts = hasBirthright and 6 or 4
525
+ return math.min(maxHearts, maxNonTemporaryMaxHearts)
526
+ end
527
+ --- Returns the total number of collectibles amongst all players. For example, if player 1 has 1 Sad
528
+ -- Onion and player 2 has 2 Sad Onions, then this function would return 3.
529
+ function ____exports.getTotalPlayerCollectibles(self, collectibleType)
530
+ local players = getPlayers(nil)
531
+ local numCollectiblesArray = __TS__ArrayMap(
532
+ players,
533
+ function(____, player) return player:GetCollectibleNum(collectibleType) end
534
+ )
535
+ return sumArray(nil, numCollectiblesArray)
536
+ end
537
+ --- After touching a white fire, a player will turn into The Lost until they clear a room.
538
+ function ____exports.hasLostCurse(self, player)
539
+ local effects = player:GetEffects()
540
+ return effects:HasNullEffect(NullItemID.LOST_CURSE)
541
+ end
542
+ --- Returns whether or not the player can hold an additional active item, beyond what they are
543
+ -- currently carrying. This takes the Schoolbag into account.
544
+ --
545
+ -- If the player is the Tainted Soul, this always returns false, since that character cannot pick up
546
+ -- items. (Only Tainted Forgotten can pick up items.)
547
+ function ____exports.hasOpenActiveItemSlot(self, player)
548
+ if ____exports.isCharacter(nil, player, PlayerType.THE_SOUL_B) then
549
+ return false
550
+ end
551
+ local activeItemPrimary = player:GetActiveItem(ActiveSlot.PRIMARY)
552
+ local activeItemSecondary = player:GetActiveItem(ActiveSlot.SECONDARY)
553
+ local hasSchoolbag = player:HasCollectible(CollectibleType.SCHOOLBAG)
554
+ if hasSchoolbag then
555
+ return activeItemPrimary == CollectibleType.NULL or activeItemSecondary == CollectibleType.NULL
556
+ end
557
+ return activeItemPrimary == CollectibleType.NULL
558
+ end
559
+ function ____exports.isActiveSlotEmpty(self, player, activeSlot)
560
+ local activeCollectibleType = player:GetActiveItem(activeSlot)
561
+ return activeCollectibleType == CollectibleType.NULL
562
+ end
563
+ --- Helper function for detecting when a player is Bethany or Tainted Bethany. This is useful if you
564
+ -- need to adjust UI elements to account for Bethany's soul charges or Tainted Bethany's blood
565
+ -- charges.
566
+ function ____exports.isBethany(self, player)
567
+ local character = player:GetPlayerType()
568
+ return character == PlayerType.BETHANY or character == PlayerType.BETHANY_B
569
+ end
570
+ --- Helper function for detecting when a player is Eden or Tainted Eden. Useful for situations where
571
+ -- you want to know if the starting stats were randomized, for example.
572
+ function ____exports.isEden(self, player)
573
+ local character = player:GetPlayerType()
574
+ return character == PlayerType.EDEN or character == PlayerType.EDEN_B
575
+ end
576
+ function ____exports.isFirstPlayer(self, player)
577
+ return getPlayerIndexVanilla(nil, player) == 0
578
+ end
579
+ --- Helper function for detecting when a player is Jacob or Esau. This will only match the
580
+ -- non-tainted versions of these characters.
581
+ function ____exports.isJacobOrEsau(self, player)
582
+ local character = player:GetPlayerType()
583
+ return character == PlayerType.JACOB or character == PlayerType.ESAU
584
+ end
585
+ --- Helper function for detecting when a player is The Lost or Tainted Lost.
586
+ function ____exports.isLost(self, player)
587
+ local character = player:GetPlayerType()
588
+ return character == PlayerType.THE_LOST or character == PlayerType.THE_LOST_B
589
+ end
590
+ --- Helper function for detecting if a player is one of the Tainted characters.
591
+ function ____exports.isTainted(self, player)
592
+ local character = player:GetPlayerType()
593
+ local ____isVanillaPlayer_result_0
594
+ if ____exports.isVanillaPlayer(nil, player) then
595
+ ____isVanillaPlayer_result_0 = character >= PlayerType.ISAAC_B
596
+ else
597
+ ____isVanillaPlayer_result_0 = isTaintedModded(nil, player)
598
+ end
599
+ return ____isVanillaPlayer_result_0
600
+ end
601
+ --- Helper function for detecting when a player is Tainted Lazarus or Dead Tainted Lazarus.
602
+ function ____exports.isTaintedLazarus(self, player)
603
+ local character = player:GetPlayerType()
604
+ return character == PlayerType.LAZARUS_B or character == PlayerType.LAZARUS_2_B
605
+ end
606
+ --- Helper function to add one or more collectibles to a player.
607
+ --
608
+ -- This function is variadic, meaning that you can supply as many collectible types as you want to
609
+ -- add.
610
+ function ____exports.playerAddCollectible(self, player, ...)
611
+ local collectibleTypes = {...}
612
+ for ____, collectibleType in ipairs(collectibleTypes) do
613
+ player:AddCollectible(collectibleType)
614
+ end
615
+ end
616
+ --- Helper function to check to see if a player has one or more collectibles.
617
+ --
618
+ -- This function is variadic, meaning that you can supply as many collectible types as you want to
619
+ -- check for. Returns true if the player has any of the supplied collectible types.
620
+ function ____exports.playerHasCollectible(self, player, ...)
621
+ local collectibleTypes = {...}
622
+ return __TS__ArraySome(
623
+ collectibleTypes,
624
+ function(____, collectibleType) return player:HasCollectible(collectibleType) end
625
+ )
626
+ end
627
+ --- Helper function to remove a collectible costume from a player. Use this helper function to avoid
628
+ -- having to request the collectible from the item config.
629
+ function ____exports.removeCollectibleCostume(self, player, collectibleType)
630
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
631
+ if itemConfigItem == nil then
632
+ return
633
+ end
634
+ player:RemoveCostume(itemConfigItem)
635
+ end
636
+ --- Helper function to remove the Dead Eye multiplier from a player.
637
+ --
638
+ -- Note that each time the `EntityPlayer.ClearDeadEyeCharge` method is called, it only has a chance
639
+ -- of working, so this function calls it 100 times to be safe.
640
+ function ____exports.removeDeadEyeMultiplier(self, player)
641
+ ____repeat(
642
+ nil,
643
+ 100,
644
+ function()
645
+ player:ClearDeadEyeCharge()
646
+ end
647
+ )
648
+ end
649
+ --- Helper function to remove a trinket costume from a player. Use this helper function to avoid
650
+ -- having to request the trinket from the item config.
651
+ function ____exports.removeTrinketCostume(self, player, trinketType)
652
+ local itemConfigTrinket = itemConfig:GetTrinket(trinketType)
653
+ if itemConfigTrinket == nil then
654
+ return
655
+ end
656
+ player:RemoveCostume(itemConfigTrinket)
657
+ end
658
+ --- Helper function to set an active collectible to a particular slot. This has different behavior
659
+ -- than calling the `player.AddCollectible` method with the `activeSlot` argument, because this
660
+ -- function will not shift existing items into the Schoolbag and it handles
661
+ -- `ActiveSlot.SLOT_POCKET2`.
662
+ --
663
+ -- Note that if an item is set to `ActiveSlot.SLOT_POCKET2`, it will disappear after being used and
664
+ -- will be automatically removed upon entering a new room.
665
+ --
666
+ -- @param player The player to give the item to.
667
+ -- @param collectibleType The collectible type of the item to give.
668
+ -- @param activeSlot The slot to set.
669
+ -- @param charge Optional. The argument of charges to set. If not specified, the item will be set
670
+ -- with maximum charges.
671
+ -- @param keepInPools Optional. Whether or not to remove the item from pools. Default is false.
672
+ function ____exports.setActiveItem(self, player, collectibleType, activeSlot, charge, keepInPools)
673
+ if keepInPools == nil then
674
+ keepInPools = false
675
+ end
676
+ local itemPool = game:GetItemPool()
677
+ local primaryCollectibleType = player:GetActiveItem(ActiveSlot.PRIMARY)
678
+ local primaryCharge = player:GetActiveCharge(ActiveSlot.PRIMARY)
679
+ local secondaryCollectibleType = player:GetActiveItem(ActiveSlot.SECONDARY)
680
+ if charge == nil then
681
+ charge = getCollectibleMaxCharges(nil, collectibleType)
682
+ end
683
+ if not keepInPools then
684
+ itemPool:RemoveCollectible(collectibleType)
685
+ end
686
+ repeat
687
+ local ____switch113 = activeSlot
688
+ local ____cond113 = ____switch113 == ActiveSlot.PRIMARY
689
+ if ____cond113 then
690
+ do
691
+ if primaryCollectibleType ~= CollectibleType.NULL then
692
+ player:RemoveCollectible(primaryCollectibleType)
693
+ end
694
+ player:AddCollectible(collectibleType, charge, false)
695
+ break
696
+ end
697
+ end
698
+ ____cond113 = ____cond113 or ____switch113 == ActiveSlot.SECONDARY
699
+ if ____cond113 then
700
+ do
701
+ if primaryCollectibleType ~= CollectibleType.NULL then
702
+ player:RemoveCollectible(primaryCollectibleType)
703
+ end
704
+ if secondaryCollectibleType ~= CollectibleType.NULL then
705
+ player:RemoveCollectible(secondaryCollectibleType)
706
+ end
707
+ player:AddCollectible(secondaryCollectibleType, charge, false)
708
+ if primaryCollectibleType ~= CollectibleType.NULL then
709
+ player:AddCollectible(primaryCollectibleType, primaryCharge, false)
710
+ end
711
+ break
712
+ end
713
+ end
714
+ ____cond113 = ____cond113 or ____switch113 == ActiveSlot.POCKET
715
+ if ____cond113 then
716
+ do
717
+ player:SetPocketActiveItem(collectibleType, activeSlot, keepInPools)
718
+ player:SetActiveCharge(charge, activeSlot)
719
+ break
720
+ end
721
+ end
722
+ ____cond113 = ____cond113 or ____switch113 == ActiveSlot.POCKET_SINGLE_USE
723
+ if ____cond113 then
724
+ do
725
+ player:SetPocketActiveItem(collectibleType, activeSlot, keepInPools)
726
+ break
727
+ end
728
+ end
729
+ do
730
+ do
731
+ ensureAllCases(nil, activeSlot)
732
+ end
733
+ end
734
+ until true
735
+ end
736
+ --- Helper function to blindfold the player by using a hack with the challenge variable.
737
+ --
738
+ -- The method used in this function was discovered by im_tem.
739
+ --
740
+ -- @param player The player to apply or remove the blindfold state from.
741
+ -- @param enabled Whether or not to apply or remove the blindfold.
742
+ -- @param modifyCostume Optional. Whether to add or remove the blindfold costume. Default is true.
743
+ function ____exports.setBlindfold(self, player, enabled, modifyCostume)
744
+ if modifyCostume == nil then
745
+ modifyCostume = true
746
+ end
747
+ local character = player:GetPlayerType()
748
+ local challenge = Isaac.GetChallenge()
749
+ if enabled then
750
+ game.Challenge = Challenge.SOLAR_SYSTEM
751
+ player:ChangePlayerType(character)
752
+ game.Challenge = challenge
753
+ if not modifyCostume then
754
+ player:TryRemoveNullCostume(NullItemID.BLINDFOLD)
755
+ end
756
+ else
757
+ game.Challenge = Challenge.NULL
758
+ player:ChangePlayerType(character)
759
+ game.Challenge = challenge
760
+ if modifyCostume then
761
+ player:TryRemoveNullCostume(NullItemID.BLINDFOLD)
762
+ end
763
+ end
764
+ end
765
+ --- Helper function to use an active item without showing an animation, keeping the item, or adding
766
+ -- any costumes.
767
+ function ____exports.useActiveItemTemp(self, player, collectibleType)
768
+ player:UseActiveItem(
769
+ collectibleType,
770
+ false,
771
+ false,
772
+ true,
773
+ false,
774
+ -1
775
+ )
776
+ end
777
+ return ____exports