isaacscript-common 14.1.2 → 14.2.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 (494) hide show
  1. package/dist/index.d.ts +954 -158
  2. package/dist/isaacscript-common.lua +4099 -1066
  3. package/dist/src/callbacks.d.ts +102 -20
  4. package/dist/src/callbacks.d.ts.map +1 -1
  5. package/dist/src/callbacks.lua +124 -1
  6. package/dist/src/classes/ModFeature.d.ts +16 -4
  7. package/dist/src/classes/ModFeature.d.ts.map +1 -1
  8. package/dist/src/classes/ModFeature.lua +67 -4
  9. package/dist/src/classes/ModUpgraded.d.ts +10 -10
  10. package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
  11. package/dist/src/classes/ModUpgraded.lua +35 -16
  12. package/dist/src/classes/callbacks/PostCustomRevive.d.ts +5 -2
  13. package/dist/src/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  14. package/dist/src/classes/callbacks/PostCustomRevive.lua +12 -4
  15. package/dist/src/classes/callbacks/PostGridEntityBroken.lua +1 -1
  16. package/dist/src/classes/callbacks/PostGridEntityCollision.lua +1 -1
  17. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.lua +1 -1
  18. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.lua +1 -1
  19. package/dist/src/classes/callbacks/PostGridEntityCustomInit.lua +1 -1
  20. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.lua +1 -1
  21. package/dist/src/classes/callbacks/PostGridEntityCustomRender.d.ts +6 -0
  22. package/dist/src/classes/callbacks/PostGridEntityCustomRender.d.ts.map +1 -0
  23. package/dist/src/classes/callbacks/PostGridEntityCustomRender.lua +17 -0
  24. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.lua +1 -1
  25. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.lua +1 -1
  26. package/dist/src/classes/callbacks/PostGridEntityInit.lua +1 -1
  27. package/dist/src/classes/callbacks/PostGridEntityRemove.lua +1 -1
  28. package/dist/src/classes/callbacks/PostGridEntityRender.d.ts +6 -0
  29. package/dist/src/classes/callbacks/PostGridEntityRender.d.ts.map +1 -0
  30. package/dist/src/classes/callbacks/PostGridEntityRender.lua +17 -0
  31. package/dist/src/classes/callbacks/PostGridEntityStateChanged.lua +1 -1
  32. package/dist/src/classes/callbacks/PostGridEntityUpdate.lua +1 -1
  33. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts +1 -1
  34. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -1
  35. package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +3 -4
  36. package/dist/src/classes/callbacks/PostItemDischarge.d.ts +43 -0
  37. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -0
  38. package/dist/src/classes/callbacks/PostItemDischarge.lua +113 -0
  39. package/dist/src/classes/callbacks/PostItemPickup.d.ts +6 -0
  40. package/dist/src/classes/callbacks/PostItemPickup.d.ts.map +1 -0
  41. package/dist/src/classes/callbacks/PostItemPickup.lua +17 -0
  42. package/dist/src/classes/callbacks/PostLaserInitLate.d.ts +12 -0
  43. package/dist/src/classes/callbacks/PostLaserInitLate.d.ts.map +1 -0
  44. package/dist/src/classes/callbacks/PostLaserInitLate.lua +27 -0
  45. package/dist/src/classes/callbacks/PostNPCInitLate.d.ts +12 -0
  46. package/dist/src/classes/callbacks/PostNPCInitLate.d.ts.map +1 -0
  47. package/dist/src/classes/callbacks/PostNPCInitLate.lua +27 -0
  48. package/dist/src/classes/callbacks/PostNPCStateChanged.d.ts +14 -0
  49. package/dist/src/classes/callbacks/PostNPCStateChanged.d.ts.map +1 -0
  50. package/dist/src/classes/callbacks/PostNPCStateChanged.lua +33 -0
  51. package/dist/src/classes/callbacks/PostPickupCollect.d.ts +12 -0
  52. package/dist/src/classes/callbacks/PostPickupCollect.d.ts.map +1 -0
  53. package/dist/src/classes/callbacks/PostPickupCollect.lua +35 -0
  54. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts +12 -0
  55. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -0
  56. package/dist/src/classes/callbacks/PostPickupInitFirst.lua +32 -0
  57. package/dist/src/classes/callbacks/PostPickupInitLate.d.ts +12 -0
  58. package/dist/src/classes/callbacks/PostPickupInitLate.d.ts.map +1 -0
  59. package/dist/src/classes/callbacks/PostPickupInitLate.lua +27 -0
  60. package/dist/src/classes/callbacks/PostPickupStateChanged.d.ts +13 -0
  61. package/dist/src/classes/callbacks/PostPickupStateChanged.d.ts.map +1 -0
  62. package/dist/src/classes/callbacks/PostPickupStateChanged.lua +33 -0
  63. package/dist/src/classes/callbacks/PostPitUpdate.d.ts +7 -0
  64. package/dist/src/classes/callbacks/PostPitUpdate.d.ts.map +1 -0
  65. package/dist/src/classes/callbacks/PostPitUpdate.lua +24 -0
  66. package/dist/src/classes/callbacks/PostPlayerChangeHealth.d.ts +15 -0
  67. package/dist/src/classes/callbacks/PostPlayerChangeHealth.d.ts.map +1 -0
  68. package/dist/src/classes/callbacks/PostPlayerChangeHealth.lua +52 -0
  69. package/dist/src/classes/callbacks/PostPlayerChangeStat.d.ts +16 -0
  70. package/dist/src/classes/callbacks/PostPlayerChangeStat.d.ts.map +1 -0
  71. package/dist/src/classes/callbacks/PostPlayerChangeStat.lua +94 -0
  72. package/dist/src/classes/callbacks/PostPlayerChangeType.d.ts +15 -0
  73. package/dist/src/classes/callbacks/PostPlayerChangeType.d.ts.map +1 -0
  74. package/dist/src/classes/callbacks/PostPlayerChangeType.lua +37 -0
  75. package/dist/src/classes/callbacks/PostPlayerCollectibleAdded.d.ts +6 -0
  76. package/dist/src/classes/callbacks/PostPlayerCollectibleAdded.d.ts.map +1 -0
  77. package/dist/src/classes/callbacks/PostPlayerCollectibleAdded.lua +17 -0
  78. package/dist/src/classes/callbacks/PostPlayerCollectibleRemoved.d.ts +6 -0
  79. package/dist/src/classes/callbacks/PostPlayerCollectibleRemoved.d.ts.map +1 -0
  80. package/dist/src/classes/callbacks/PostPlayerCollectibleRemoved.lua +17 -0
  81. package/dist/src/classes/callbacks/PostPlayerInitFirst.d.ts +8 -0
  82. package/dist/src/classes/callbacks/PostPlayerInitFirst.d.ts.map +1 -0
  83. package/dist/src/classes/callbacks/PostPlayerInitFirst.lua +39 -0
  84. package/dist/src/classes/callbacks/PostPlayerInitLate.d.ts +13 -0
  85. package/dist/src/classes/callbacks/PostPlayerInitLate.d.ts.map +1 -0
  86. package/dist/src/classes/callbacks/PostPlayerInitLate.lua +29 -0
  87. package/dist/src/classes/callbacks/PostPoopRender.d.ts +7 -0
  88. package/dist/src/classes/callbacks/PostPoopRender.d.ts.map +1 -0
  89. package/dist/src/classes/callbacks/PostPoopRender.lua +24 -0
  90. package/dist/src/classes/callbacks/PostPoopUpdate.d.ts +7 -0
  91. package/dist/src/classes/callbacks/PostPoopUpdate.d.ts.map +1 -0
  92. package/dist/src/classes/callbacks/PostPoopUpdate.lua +24 -0
  93. package/dist/src/classes/callbacks/PostPressurePlateRender.d.ts +7 -0
  94. package/dist/src/classes/callbacks/PostPressurePlateRender.d.ts.map +1 -0
  95. package/dist/src/classes/callbacks/PostPressurePlateRender.lua +24 -0
  96. package/dist/src/classes/callbacks/PostPressurePlateUpdate.d.ts +7 -0
  97. package/dist/src/classes/callbacks/PostPressurePlateUpdate.d.ts.map +1 -0
  98. package/dist/src/classes/callbacks/PostPressurePlateUpdate.lua +24 -0
  99. package/dist/src/classes/callbacks/PostProjectileInitLate.d.ts +12 -0
  100. package/dist/src/classes/callbacks/PostProjectileInitLate.d.ts.map +1 -0
  101. package/dist/src/classes/callbacks/PostProjectileInitLate.lua +27 -0
  102. package/dist/src/classes/callbacks/PostPurchase.d.ts +18 -0
  103. package/dist/src/classes/callbacks/PostPurchase.d.ts.map +1 -0
  104. package/dist/src/classes/callbacks/PostPurchase.lua +56 -0
  105. package/dist/src/classes/callbacks/PostRockRender.d.ts +7 -0
  106. package/dist/src/classes/callbacks/PostRockRender.d.ts.map +1 -0
  107. package/dist/src/classes/callbacks/PostRockRender.lua +24 -0
  108. package/dist/src/classes/callbacks/PostRockUpdate.d.ts +7 -0
  109. package/dist/src/classes/callbacks/PostRockUpdate.d.ts.map +1 -0
  110. package/dist/src/classes/callbacks/PostRockUpdate.lua +24 -0
  111. package/dist/src/classes/callbacks/PostSacrifice.d.ts +15 -0
  112. package/dist/src/classes/callbacks/PostSacrifice.d.ts.map +1 -0
  113. package/dist/src/classes/callbacks/PostSacrifice.lua +52 -0
  114. package/dist/src/classes/callbacks/PostSlotAnimationChanged.d.ts +6 -0
  115. package/dist/src/classes/callbacks/PostSlotAnimationChanged.d.ts.map +1 -0
  116. package/dist/src/classes/callbacks/PostSlotAnimationChanged.lua +17 -0
  117. package/dist/src/classes/callbacks/PostSlotCollision.d.ts +7 -0
  118. package/dist/src/classes/callbacks/PostSlotCollision.d.ts.map +1 -0
  119. package/dist/src/classes/callbacks/PostSlotCollision.lua +25 -0
  120. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts +14 -0
  121. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -0
  122. package/dist/src/classes/callbacks/PostSlotDestroyed.lua +65 -0
  123. package/dist/src/classes/callbacks/PostSlotInit.d.ts +6 -0
  124. package/dist/src/classes/callbacks/PostSlotInit.d.ts.map +1 -0
  125. package/dist/src/classes/callbacks/PostSlotInit.lua +17 -0
  126. package/dist/src/classes/callbacks/PostSlotRender.d.ts +6 -0
  127. package/dist/src/classes/callbacks/PostSlotRender.d.ts.map +1 -0
  128. package/dist/src/classes/callbacks/PostSlotRender.lua +17 -0
  129. package/dist/src/classes/callbacks/PostSlotUpdate.d.ts +6 -0
  130. package/dist/src/classes/callbacks/PostSlotUpdate.d.ts.map +1 -0
  131. package/dist/src/classes/callbacks/PostSlotUpdate.lua +17 -0
  132. package/dist/src/classes/callbacks/PostSpikesUpdate.d.ts +7 -0
  133. package/dist/src/classes/callbacks/PostSpikesUpdate.d.ts.map +1 -0
  134. package/dist/src/classes/callbacks/PostSpikesUpdate.lua +24 -0
  135. package/dist/src/classes/callbacks/PostTNTRender.d.ts +7 -0
  136. package/dist/src/classes/callbacks/PostTNTRender.d.ts.map +1 -0
  137. package/dist/src/classes/callbacks/PostTNTRender.lua +24 -0
  138. package/dist/src/classes/callbacks/PostTNTUpdate.d.ts +7 -0
  139. package/dist/src/classes/callbacks/PostTNTUpdate.d.ts.map +1 -0
  140. package/dist/src/classes/callbacks/PostTNTUpdate.lua +24 -0
  141. package/dist/src/classes/callbacks/PostTearInitLate.d.ts +12 -0
  142. package/dist/src/classes/callbacks/PostTearInitLate.d.ts.map +1 -0
  143. package/dist/src/classes/callbacks/PostTearInitLate.lua +27 -0
  144. package/dist/src/classes/callbacks/PostTearInitVeryLate.d.ts +12 -0
  145. package/dist/src/classes/callbacks/PostTearInitVeryLate.d.ts.map +1 -0
  146. package/dist/src/classes/callbacks/PostTearInitVeryLate.lua +30 -0
  147. package/dist/src/classes/callbacks/PostTransformation.d.ts +18 -0
  148. package/dist/src/classes/callbacks/PostTransformation.d.ts.map +1 -0
  149. package/dist/src/classes/callbacks/PostTransformation.lua +53 -0
  150. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts +1 -1
  151. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts.map +1 -1
  152. package/dist/src/classes/callbacks/PreBerserkDeath.lua +3 -4
  153. package/dist/src/classes/callbacks/PreItemPickup.d.ts +6 -0
  154. package/dist/src/classes/callbacks/PreItemPickup.d.ts.map +1 -0
  155. package/dist/src/classes/callbacks/PreItemPickup.lua +17 -0
  156. package/dist/src/classes/callbacks/validation/CustomCallbackCollectibleType.d.ts +10 -0
  157. package/dist/src/classes/callbacks/validation/CustomCallbackCollectibleType.d.ts.map +1 -0
  158. package/dist/src/classes/callbacks/validation/CustomCallbackCollectibleType.lua +19 -0
  159. package/dist/src/classes/callbacks/validation/CustomCallbackItemPickup.d.ts +11 -0
  160. package/dist/src/classes/callbacks/validation/CustomCallbackItemPickup.d.ts.map +1 -0
  161. package/dist/src/classes/callbacks/validation/CustomCallbackItemPickup.lua +22 -0
  162. package/dist/src/classes/callbacks/validation/CustomCallbackLaser.d.ts +10 -0
  163. package/dist/src/classes/callbacks/validation/CustomCallbackLaser.d.ts.map +1 -0
  164. package/dist/src/classes/callbacks/validation/CustomCallbackLaser.lua +19 -0
  165. package/dist/src/classes/callbacks/validation/{CustomCallbackRevive.d.ts → CustomCallbackNPC.d.ts} +4 -4
  166. package/dist/src/classes/callbacks/validation/CustomCallbackNPC.d.ts.map +1 -0
  167. package/dist/src/classes/callbacks/validation/CustomCallbackNPC.lua +22 -0
  168. package/dist/src/classes/callbacks/validation/CustomCallbackPickup.d.ts +12 -0
  169. package/dist/src/classes/callbacks/validation/CustomCallbackPickup.d.ts.map +1 -0
  170. package/dist/src/classes/callbacks/validation/CustomCallbackPickup.lua +22 -0
  171. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts +5 -2
  172. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts.map +1 -1
  173. package/dist/src/classes/callbacks/validation/CustomCallbackPoop.d.ts +10 -0
  174. package/dist/src/classes/callbacks/validation/CustomCallbackPoop.d.ts.map +1 -0
  175. package/dist/src/classes/callbacks/validation/CustomCallbackPoop.lua +20 -0
  176. package/dist/src/classes/callbacks/validation/CustomCallbackPressurePlate.d.ts +10 -0
  177. package/dist/src/classes/callbacks/validation/CustomCallbackPressurePlate.d.ts.map +1 -0
  178. package/dist/src/classes/callbacks/validation/CustomCallbackPressurePlate.lua +20 -0
  179. package/dist/src/classes/callbacks/validation/CustomCallbackProjectile.d.ts +10 -0
  180. package/dist/src/classes/callbacks/validation/CustomCallbackProjectile.d.ts.map +1 -0
  181. package/dist/src/classes/callbacks/validation/CustomCallbackProjectile.lua +19 -0
  182. package/dist/src/classes/callbacks/validation/CustomCallbackRock.d.ts +10 -0
  183. package/dist/src/classes/callbacks/validation/CustomCallbackRock.d.ts.map +1 -0
  184. package/dist/src/classes/callbacks/validation/CustomCallbackRock.lua +20 -0
  185. package/dist/src/classes/callbacks/validation/CustomCallbackSlot.d.ts +12 -0
  186. package/dist/src/classes/callbacks/validation/CustomCallbackSlot.d.ts.map +1 -0
  187. package/dist/src/classes/callbacks/validation/CustomCallbackSlot.lua +19 -0
  188. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.lua +4 -4
  189. package/dist/src/classes/callbacks/validation/CustomCallbackTNT.d.ts +10 -0
  190. package/dist/src/classes/callbacks/validation/CustomCallbackTNT.d.ts.map +1 -0
  191. package/dist/src/classes/callbacks/validation/CustomCallbackTNT.lua +20 -0
  192. package/dist/src/classes/callbacks/validation/CustomCallbackTear.d.ts +10 -0
  193. package/dist/src/classes/callbacks/validation/CustomCallbackTear.d.ts.map +1 -0
  194. package/dist/src/classes/callbacks/validation/CustomCallbackTear.lua +19 -0
  195. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
  196. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  197. package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +27 -30
  198. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +2 -2
  199. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  200. package/dist/src/classes/features/callbackLogic/CustomRevive.lua +6 -6
  201. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  202. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  203. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +3 -18
  204. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -1
  205. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.d.ts +12 -0
  206. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.d.ts.map +1 -0
  207. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.lua +33 -0
  208. package/dist/src/classes/features/callbackLogic/{GridEntityDetection.d.ts → GridEntityUpdateDetection.d.ts} +3 -3
  209. package/dist/src/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts.map +1 -0
  210. package/dist/src/classes/features/callbackLogic/{GridEntityDetection.lua → GridEntityUpdateDetection.lua} +11 -14
  211. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts +20 -0
  212. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -0
  213. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.lua +60 -0
  214. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts +47 -0
  215. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts.map +1 -0
  216. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.lua +154 -0
  217. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.d.ts +18 -0
  218. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.d.ts.map +1 -0
  219. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.lua +51 -0
  220. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.d.ts +17 -0
  221. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.d.ts.map +1 -0
  222. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.lua +45 -0
  223. package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -1
  224. package/dist/src/classes/features/other/RunInNFrames.lua +9 -0
  225. package/dist/src/classes/features/other/SaveDataManager.d.ts +215 -0
  226. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -0
  227. package/dist/src/classes/features/other/SaveDataManager.lua +190 -0
  228. package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.d.ts +6 -0
  229. package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -0
  230. package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.lua +98 -0
  231. package/dist/src/classes/features/other/saveDataManager/loadFromDisk.d.ts +6 -0
  232. package/dist/src/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -0
  233. package/dist/src/classes/features/other/saveDataManager/loadFromDisk.lua +81 -0
  234. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.d.ts +7 -0
  235. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -0
  236. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.lua +69 -0
  237. package/dist/src/classes/features/other/saveDataManager/saveToDisk.d.ts +5 -0
  238. package/dist/src/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -0
  239. package/dist/src/classes/features/other/saveDataManager/saveToDisk.lua +46 -0
  240. package/dist/src/classes/private/CustomCallback.d.ts +2 -3
  241. package/dist/src/classes/private/CustomCallback.d.ts.map +1 -1
  242. package/dist/src/classes/private/CustomCallback.lua +2 -5
  243. package/dist/src/classes/private/Feature.d.ts +1 -0
  244. package/dist/src/classes/private/Feature.d.ts.map +1 -1
  245. package/dist/src/classes/private/Feature.lua +1 -0
  246. package/dist/src/core/upgradeMod.d.ts +2 -5
  247. package/dist/src/core/upgradeMod.d.ts.map +1 -1
  248. package/dist/src/decorators.d.ts +1 -1
  249. package/dist/src/decorators.d.ts.map +1 -1
  250. package/dist/src/decorators.lua +6 -8
  251. package/dist/src/enums/ISCFeature.d.ts +15 -9
  252. package/dist/src/enums/ISCFeature.d.ts.map +1 -1
  253. package/dist/src/enums/ISCFeature.lua +30 -9
  254. package/dist/src/enums/ModCallbackCustom.d.ts +34 -20
  255. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  256. package/dist/src/enums/ModCallbackCustom2.d.ts +61 -20
  257. package/dist/src/enums/ModCallbackCustom2.d.ts.map +1 -1
  258. package/dist/src/enums/ModCallbackCustom2.lua +102 -20
  259. package/dist/src/enums/{private/SerializationBrand.d.ts → SerializationBrand.d.ts} +6 -1
  260. package/dist/src/enums/SerializationBrand.d.ts.map +1 -0
  261. package/dist/src/enums/{private/SerializationBrand.lua → SerializationBrand.lua} +1 -0
  262. package/dist/src/features/customItemPool.d.ts +52 -0
  263. package/dist/src/features/customItemPool.d.ts.map +1 -0
  264. package/dist/src/features/customItemPool.lua +111 -0
  265. package/dist/src/features/deployJSONRoom.d.ts +6 -4
  266. package/dist/src/features/deployJSONRoom.d.ts.map +1 -1
  267. package/dist/src/features/deployJSONRoom.lua +6 -4
  268. package/dist/src/features/fadeInRemover.d.ts.map +1 -1
  269. package/dist/src/features/fadeInRemover.lua +4 -16
  270. package/dist/src/features/saveDataManager/exports.d.ts +14 -4
  271. package/dist/src/features/saveDataManager/exports.d.ts.map +1 -1
  272. package/dist/src/features/saveDataManager/exports.lua +38 -0
  273. package/dist/src/features/saveDataManager/load.d.ts +2 -1
  274. package/dist/src/features/saveDataManager/load.d.ts.map +1 -1
  275. package/dist/src/features/saveDataManager/load.lua +10 -4
  276. package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
  277. package/dist/src/features/saveDataManager/main.lua +12 -5
  278. package/dist/src/features/saveDataManager/maps.d.ts +14 -0
  279. package/dist/src/features/saveDataManager/maps.d.ts.map +1 -1
  280. package/dist/src/features/saveDataManager/maps.lua +7 -0
  281. package/dist/src/features.d.ts +31 -12
  282. package/dist/src/features.d.ts.map +1 -1
  283. package/dist/src/features.lua +24 -6
  284. package/dist/src/functions/array.d.ts.map +1 -1
  285. package/dist/src/functions/array.lua +4 -5
  286. package/dist/src/functions/bitSet128.d.ts +2 -2
  287. package/dist/src/functions/bitSet128.lua +3 -3
  288. package/dist/src/functions/color.d.ts +2 -2
  289. package/dist/src/functions/color.lua +3 -3
  290. package/dist/src/functions/decorators.d.ts +28 -6
  291. package/dist/src/functions/decorators.d.ts.map +1 -1
  292. package/dist/src/functions/decorators.lua +24 -5
  293. package/dist/src/functions/deepCopy.d.ts +11 -4
  294. package/dist/src/functions/deepCopy.d.ts.map +1 -1
  295. package/dist/src/functions/deepCopy.lua +84 -32
  296. package/dist/src/functions/deepCopyTests.lua +1 -1
  297. package/dist/src/functions/initArray.d.ts +4 -4
  298. package/dist/src/functions/initArray.d.ts.map +1 -1
  299. package/dist/src/functions/initArray.lua +6 -12
  300. package/dist/src/functions/jsonRoom.d.ts +11 -0
  301. package/dist/src/functions/jsonRoom.d.ts.map +1 -1
  302. package/dist/src/functions/jsonRoom.lua +11 -0
  303. package/dist/src/functions/kColor.d.ts +2 -2
  304. package/dist/src/functions/kColor.lua +3 -3
  305. package/dist/src/functions/logMisc.d.ts +9 -2
  306. package/dist/src/functions/logMisc.d.ts.map +1 -1
  307. package/dist/src/functions/logMisc.lua +32 -2
  308. package/dist/src/functions/merge.d.ts +40 -0
  309. package/dist/src/functions/merge.d.ts.map +1 -0
  310. package/dist/src/{features/saveDataManager → functions}/merge.lua +84 -37
  311. package/dist/src/functions/mergeTests.d.ts +1 -2
  312. package/dist/src/functions/mergeTests.d.ts.map +1 -1
  313. package/dist/src/functions/mergeTests.lua +3 -4
  314. package/dist/src/functions/rng.d.ts +2 -2
  315. package/dist/src/functions/rng.lua +3 -3
  316. package/dist/src/functions/serialization.d.ts.map +1 -1
  317. package/dist/src/functions/serialization.lua +22 -0
  318. package/dist/src/functions/tstlClass.d.ts +0 -10
  319. package/dist/src/functions/tstlClass.d.ts.map +1 -1
  320. package/dist/src/functions/tstlClass.lua +2 -42
  321. package/dist/src/functions/vector.d.ts +2 -2
  322. package/dist/src/functions/vector.lua +3 -3
  323. package/dist/src/functions/weighted.d.ts +12 -1
  324. package/dist/src/functions/weighted.d.ts.map +1 -1
  325. package/dist/src/functions/weighted.lua +27 -10
  326. package/dist/src/index.d.ts +5 -0
  327. package/dist/src/index.d.ts.map +1 -1
  328. package/dist/src/index.lua +24 -0
  329. package/dist/src/interfaces/SaveData.d.ts +3 -7
  330. package/dist/src/interfaces/SaveData.d.ts.map +1 -1
  331. package/dist/src/interfaces/SaveData.lua +0 -11
  332. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts +195 -2
  333. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts.map +1 -1
  334. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts +1 -1
  335. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts.map +1 -1
  336. package/dist/src/objects/isaacAPIClassTypeToBrand.lua +1 -1
  337. package/dist/src/types/AnyClass.d.ts +2 -0
  338. package/dist/src/types/AnyClass.d.ts.map +1 -0
  339. package/dist/src/types/AnyClass.lua +2 -0
  340. package/dist/src/types/AnyFunction.d.ts +6 -0
  341. package/dist/src/types/AnyFunction.d.ts.map +1 -0
  342. package/dist/src/types/AnyFunction.lua +2 -0
  343. package/dist/src/types/FunctionTuple.d.ts +2 -4
  344. package/dist/src/types/FunctionTuple.d.ts.map +1 -1
  345. package/dist/src/types/HasFunction.d.ts +5 -0
  346. package/dist/src/types/HasFunction.d.ts.map +1 -0
  347. package/dist/src/types/HasFunction.lua +2 -0
  348. package/package.json +1 -1
  349. package/src/callbacks.ts +88 -5
  350. package/src/classes/ModFeature.ts +96 -6
  351. package/src/classes/ModUpgraded.ts +57 -32
  352. package/src/classes/callbacks/PostCustomRevive.ts +22 -2
  353. package/src/classes/callbacks/PostGridEntityBroken.ts +1 -1
  354. package/src/classes/callbacks/PostGridEntityCollision.ts +1 -1
  355. package/src/classes/callbacks/PostGridEntityCustomBroken.ts +1 -1
  356. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +1 -1
  357. package/src/classes/callbacks/PostGridEntityCustomInit.ts +1 -1
  358. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +1 -1
  359. package/src/classes/callbacks/PostGridEntityCustomRender.ts +11 -0
  360. package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +1 -1
  361. package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +1 -1
  362. package/src/classes/callbacks/PostGridEntityInit.ts +1 -1
  363. package/src/classes/callbacks/PostGridEntityRemove.ts +1 -1
  364. package/src/classes/callbacks/PostGridEntityRender.ts +11 -0
  365. package/src/classes/callbacks/PostGridEntityStateChanged.ts +1 -1
  366. package/src/classes/callbacks/PostGridEntityUpdate.ts +1 -1
  367. package/src/classes/callbacks/PostHolyMantleRemoved.ts +5 -8
  368. package/src/classes/callbacks/PostItemDischarge.ts +181 -0
  369. package/src/classes/callbacks/PostItemPickup.ts +11 -0
  370. package/src/classes/callbacks/PostLaserInitLate.ts +28 -0
  371. package/src/classes/callbacks/PostNPCInitLate.ts +28 -0
  372. package/src/classes/callbacks/PostNPCStateChanged.ts +37 -0
  373. package/src/classes/callbacks/PostPickupCollect.ts +37 -0
  374. package/src/classes/callbacks/PostPickupInitFirst.ts +34 -0
  375. package/src/classes/callbacks/PostPickupInitLate.ts +28 -0
  376. package/src/classes/callbacks/PostPickupStateChanged.ts +35 -0
  377. package/src/classes/callbacks/PostPitUpdate.ts +21 -0
  378. package/src/classes/callbacks/PostPlayerChangeHealth.ts +57 -0
  379. package/src/classes/callbacks/PostPlayerChangeStat.ts +102 -0
  380. package/src/classes/callbacks/PostPlayerChangeType.ts +44 -0
  381. package/src/classes/callbacks/PostPlayerCollectibleAdded.ts +11 -0
  382. package/src/classes/callbacks/PostPlayerCollectibleRemoved.ts +11 -0
  383. package/src/classes/callbacks/PostPlayerInitFirst.ts +44 -0
  384. package/src/classes/callbacks/PostPlayerInitLate.ts +32 -0
  385. package/src/classes/callbacks/PostPoopRender.ts +21 -0
  386. package/src/classes/callbacks/PostPoopUpdate.ts +21 -0
  387. package/src/classes/callbacks/PostPressurePlateRender.ts +21 -0
  388. package/src/classes/callbacks/PostPressurePlateUpdate.ts +21 -0
  389. package/src/classes/callbacks/PostProjectileInitLate.ts +28 -0
  390. package/src/classes/callbacks/PostPurchase.ts +87 -0
  391. package/src/classes/callbacks/PostRockRender.ts +21 -0
  392. package/src/classes/callbacks/PostRockUpdate.ts +21 -0
  393. package/src/classes/callbacks/PostSacrifice.ts +89 -0
  394. package/src/classes/callbacks/PostSlotAnimationChanged.ts +11 -0
  395. package/src/classes/callbacks/PostSlotCollision.ts +26 -0
  396. package/src/classes/callbacks/PostSlotDestroyed.ts +79 -0
  397. package/src/classes/callbacks/PostSlotInit.ts +11 -0
  398. package/src/classes/callbacks/PostSlotRender.ts +11 -0
  399. package/src/classes/callbacks/PostSlotUpdate.ts +11 -0
  400. package/src/classes/callbacks/PostSpikesUpdate.ts +21 -0
  401. package/src/classes/callbacks/PostTNTRender.ts +21 -0
  402. package/src/classes/callbacks/PostTNTUpdate.ts +21 -0
  403. package/src/classes/callbacks/PostTearInitLate.ts +28 -0
  404. package/src/classes/callbacks/PostTearInitVeryLate.ts +33 -0
  405. package/src/classes/callbacks/PostTransformation.ts +71 -0
  406. package/src/classes/callbacks/PreBerserkDeath.ts +5 -8
  407. package/src/classes/callbacks/PreItemPickup.ts +11 -0
  408. package/src/classes/callbacks/validation/CustomCallbackCollectibleType.ts +32 -0
  409. package/src/classes/callbacks/validation/CustomCallbackItemPickup.ts +48 -0
  410. package/src/classes/callbacks/validation/CustomCallbackLaser.ts +27 -0
  411. package/src/classes/callbacks/validation/CustomCallbackNPC.ts +34 -0
  412. package/src/classes/callbacks/validation/CustomCallbackPickup.ts +41 -0
  413. package/src/classes/callbacks/validation/CustomCallbackPlayer.ts +25 -2
  414. package/src/classes/callbacks/validation/CustomCallbackPoop.ts +28 -0
  415. package/src/classes/callbacks/validation/CustomCallbackPressurePlate.ts +31 -0
  416. package/src/classes/callbacks/validation/CustomCallbackProjectile.ts +28 -0
  417. package/src/classes/callbacks/validation/CustomCallbackRock.ts +30 -0
  418. package/src/classes/callbacks/validation/CustomCallbackSlot.ts +37 -0
  419. package/src/classes/callbacks/validation/CustomCallbackSpikes.ts +4 -4
  420. package/src/classes/callbacks/validation/CustomCallbackTNT.ts +28 -0
  421. package/src/classes/callbacks/validation/CustomCallbackTear.ts +27 -0
  422. package/src/classes/features/callbackLogic/CustomGridEntities.ts +32 -36
  423. package/src/classes/features/callbackLogic/CustomRevive.ts +14 -21
  424. package/src/classes/features/callbackLogic/EsauJrDetection.ts +0 -4
  425. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +7 -9
  426. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +0 -4
  427. package/src/classes/features/callbackLogic/GridEntityRenderDetection.ts +42 -0
  428. package/src/classes/features/callbackLogic/{GridEntityDetection.ts → GridEntityUpdateDetection.ts} +4 -20
  429. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +91 -0
  430. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +245 -0
  431. package/src/classes/features/callbackLogic/SlotRenderDetection.ts +64 -0
  432. package/src/classes/features/callbackLogic/SlotUpdateDetection.ts +57 -0
  433. package/src/classes/features/other/RunInNFrames.ts +7 -0
  434. package/src/classes/features/other/SaveDataManager.ts +492 -0
  435. package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +138 -0
  436. package/src/classes/features/other/saveDataManager/loadFromDisk.ts +99 -0
  437. package/src/classes/features/other/saveDataManager/restoreDefaults.ts +116 -0
  438. package/src/classes/features/other/saveDataManager/saveToDisk.ts +70 -0
  439. package/src/classes/private/CustomCallback.ts +2 -6
  440. package/src/classes/private/Feature.ts +1 -0
  441. package/src/core/upgradeMod.ts +6 -13
  442. package/src/decorators.ts +17 -16
  443. package/src/enums/ISCFeature.ts +44 -39
  444. package/src/enums/ModCallbackCustom.ts +34 -20
  445. package/src/enums/ModCallbackCustom2.ts +53 -5
  446. package/src/enums/{private/SerializationBrand.ts → SerializationBrand.ts} +8 -2
  447. package/src/features/customItemPool.ts +133 -0
  448. package/src/features/deployJSONRoom.ts +6 -4
  449. package/src/features/fadeInRemover.ts +4 -22
  450. package/src/features/saveDataManager/exports.ts +62 -3
  451. package/src/features/saveDataManager/load.ts +4 -1
  452. package/src/features/saveDataManager/main.ts +5 -3
  453. package/src/features/saveDataManager/maps.ts +16 -0
  454. package/src/features.ts +39 -4
  455. package/src/functions/array.ts +8 -9
  456. package/src/functions/bitSet128.ts +3 -3
  457. package/src/functions/color.ts +3 -3
  458. package/src/functions/decorators.ts +83 -12
  459. package/src/functions/deepCopy.ts +83 -17
  460. package/src/functions/deepCopyTests.ts +1 -1
  461. package/src/functions/initArray.ts +6 -11
  462. package/src/functions/jsonRoom.ts +11 -0
  463. package/src/functions/kColor.ts +3 -3
  464. package/src/functions/logMisc.ts +28 -2
  465. package/src/{features/saveDataManager → functions}/merge.ts +79 -45
  466. package/src/functions/mergeTests.ts +2 -3
  467. package/src/functions/rng.ts +3 -3
  468. package/src/functions/serialization.ts +25 -1
  469. package/src/functions/table.ts +1 -1
  470. package/src/functions/tstlClass.ts +3 -57
  471. package/src/functions/vector.ts +3 -3
  472. package/src/functions/weighted.ts +28 -11
  473. package/src/index.ts +5 -0
  474. package/src/interfaces/SaveData.ts +3 -34
  475. package/src/interfaces/private/AddCallbackParametersCustom2.ts +298 -7
  476. package/src/objects/isaacAPIClassTypeToBrand.ts +1 -1
  477. package/src/types/AnyClass.ts +1 -0
  478. package/src/types/AnyFunction.ts +5 -0
  479. package/src/types/FunctionTuple.ts +3 -4
  480. package/src/types/HasFunction.ts +7 -0
  481. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts.map +0 -1
  482. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.lua +0 -19
  483. package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts.map +0 -1
  484. package/dist/src/enums/private/SerializationBrand.d.ts.map +0 -1
  485. package/dist/src/features/saveDataManager/merge.d.ts +0 -26
  486. package/dist/src/features/saveDataManager/merge.d.ts.map +0 -1
  487. package/dist/src/features/saveDataManager/serializationBrands.d.ts +0 -2
  488. package/dist/src/features/saveDataManager/serializationBrands.d.ts.map +0 -1
  489. package/dist/src/features/saveDataManager/serializationBrands.lua +0 -19
  490. package/dist/src/indexLua.d.ts +0 -199
  491. package/dist/src/indexLua.d.ts.map +0 -1
  492. package/dist/src/indexLua.lua +0 -1354
  493. package/src/classes/callbacks/validation/CustomCallbackRevive.ts +0 -27
  494. package/src/features/saveDataManager/serializationBrands.ts +0 -16
@@ -1,6 +1,8 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__Spread = ____lualib.__TS__Spread
4
+ local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
5
+ local __TS__ArrayUnshift = ____lualib.__TS__ArrayUnshift
4
6
  local __TS__ArrayMap = ____lualib.__TS__ArrayMap
5
7
  local ____exports = {}
6
8
  local getExportedMethodsFromFeature
@@ -10,11 +12,10 @@ local ____callbacks = require("src.callbacks")
10
12
  local getCallbacks = ____callbacks.getCallbacks
11
13
  local ____decorators = require("src.decorators")
12
14
  local EXPORTED_METHOD_NAMES_KEY = ____decorators.EXPORTED_METHOD_NAMES_KEY
15
+ local ____ISCFeature = require("src.enums.ISCFeature")
16
+ local ISCFeature = ____ISCFeature.ISCFeature
13
17
  local ____features = require("src.features")
14
18
  local getFeatures = ____features.getFeatures
15
- local ____exports = require("src.features.saveDataManager.exports")
16
- local saveDataManager = ____exports.saveDataManager
17
- local saveDataManagerRemove = ____exports.saveDataManagerRemove
18
19
  local ____debugFunctions = require("src.functions.debugFunctions")
19
20
  local getTime = ____debugFunctions.getTime
20
21
  local ____log = require("src.functions.log")
@@ -56,7 +57,7 @@ function ModUpgraded.prototype.____constructor(self, mod, ____debug, timeThresho
56
57
  self.debug = ____debug
57
58
  self.timeThreshold = timeThreshold
58
59
  self.callbacks = getCallbacks(nil)
59
- self.features = getFeatures(nil, self.callbacks)
60
+ self.features = getFeatures(nil, mod, self.callbacks)
60
61
  end
61
62
  function ModUpgraded.prototype.AddCallback(self, modCallback, ...)
62
63
  local args = {...}
@@ -114,26 +115,28 @@ function ModUpgraded.prototype.AddCallbackCustom(self, modCallbackCustom, ...)
114
115
  end
115
116
  function ModUpgraded.prototype.AddCallbackCustom2(self, modCallbackCustom, ...)
116
117
  local callbackClass = self.callbacks[modCallbackCustom]
117
- callbackClass:add(...)
118
+ callbackClass:addSubscriber(...)
118
119
  self:initFeature(callbackClass)
119
120
  end
120
121
  function ModUpgraded.prototype.RemoveCallbackCustom(self, modCallbackCustom, callback)
121
122
  local callbackClass = self.callbacks[modCallbackCustom]
122
- callbackClass:remove(callback)
123
- if not callbackClass:hasSubscriptions() then
124
- self:uninitFeature(callbackClass)
125
- end
126
- end
127
- function ModUpgraded.prototype.initOptionalFeature(self, feature)
128
- local featureClass = self.features[feature]
129
- self:initFeature(featureClass)
130
- return getExportedMethodsFromFeature(nil, featureClass)
123
+ callbackClass:removeSubscriber(callback)
124
+ self:uninitFeature(callbackClass)
131
125
  end
132
126
  function ModUpgraded.prototype.initFeature(self, feature)
127
+ feature.numConsumers = feature.numConsumers + 1
133
128
  if feature.initialized then
134
129
  return
135
130
  end
136
131
  feature.initialized = true
132
+ if feature.v ~= nil then
133
+ if feature.featuresUsed == nil then
134
+ feature.featuresUsed = {}
135
+ end
136
+ if not __TS__ArrayIncludes(feature.featuresUsed, ISCFeature.SAVE_DATA_MANAGER) then
137
+ __TS__ArrayUnshift(feature.featuresUsed, ISCFeature.SAVE_DATA_MANAGER)
138
+ end
139
+ end
137
140
  if feature.featuresUsed ~= nil then
138
141
  for ____, featureUsed in ipairs(feature.featuresUsed) do
139
142
  local featureClass = self.features[featureUsed]
@@ -163,11 +166,21 @@ function ModUpgraded.prototype.initFeature(self, feature)
163
166
  if className == nil then
164
167
  error("Failed to get the name of a feature.")
165
168
  end
166
- saveDataManager(nil, className, feature.v)
169
+ local saveDataManagerClass = self.features[ISCFeature.SAVE_DATA_MANAGER]
170
+ saveDataManagerClass:saveDataManager(className, feature.v)
167
171
  end
168
172
  end
169
173
  function ModUpgraded.prototype.uninitFeature(self, feature)
174
+ if feature.numConsumers <= 0 then
175
+ local className = getTSTLClassName(nil, feature) or "unknown"
176
+ error(((("Failed to uninit feature \"" .. className) .. "\" since it has ") .. tostring(feature.numConsumers)) .. " consumers, which should never happen.")
177
+ end
170
178
  if not feature.initialized then
179
+ local className = getTSTLClassName(nil, feature) or "unknown"
180
+ error(("Failed to uninit feature \"" .. className) .. "\" since it was not initialized, which should never happen.")
181
+ end
182
+ feature.numConsumers = feature.numConsumers - 1
183
+ if feature.numConsumers > 0 then
171
184
  return
172
185
  end
173
186
  feature.initialized = false
@@ -196,7 +209,13 @@ function ModUpgraded.prototype.uninitFeature(self, feature)
196
209
  if className == nil then
197
210
  error("Failed to get the name of a feature.")
198
211
  end
199
- saveDataManagerRemove(nil, className)
212
+ local saveDataManagerClass = self.features[ISCFeature.SAVE_DATA_MANAGER]
213
+ saveDataManagerClass:saveDataManagerRemove(className)
200
214
  end
201
215
  end
216
+ function ModUpgraded.prototype.initOptionalFeature(self, feature)
217
+ local featureClass = self.features[feature]
218
+ self:initFeature(featureClass)
219
+ return getExportedMethodsFromFeature(nil, featureClass)
220
+ end
202
221
  return ____exports
@@ -1,6 +1,9 @@
1
1
  import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
2
- import { CustomCallbackRevive } from "./validation/CustomCallbackRevive";
3
- export declare class PostCustomRevive extends CustomCallbackRevive<ModCallbackCustom2.POST_CUSTOM_REVIVE> {
2
+ import { CustomCallback, FireArgs, OptionalArgs } from "../private/CustomCallback";
3
+ declare type T = ModCallbackCustom2.POST_CUSTOM_REVIVE;
4
+ export declare class PostCustomRevive extends CustomCallback<ModCallbackCustom2.POST_CUSTOM_REVIVE> {
4
5
  constructor();
6
+ protected shouldFire(fireArgs: FireArgs<T>, optionalArgs: OptionalArgs<T>): boolean;
5
7
  }
8
+ export {};
6
9
  //# sourceMappingURL=PostCustomRevive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostCustomRevive.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostCustomRevive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;;CAMhG"}
1
+ {"version":3,"file":"PostCustomRevive.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostCustomRevive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,aAAK,CAAC,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;AAE/C,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;;cAQtE,UAAU,CAC3B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAC5B,OAAO;CASX"}
@@ -4,14 +4,22 @@ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
4
  local ____exports = {}
5
5
  local ____ISCFeature = require("src.enums.ISCFeature")
6
6
  local ISCFeature = ____ISCFeature.ISCFeature
7
- local ____CustomCallbackRevive = require("src.classes.callbacks.validation.CustomCallbackRevive")
8
- local CustomCallbackRevive = ____CustomCallbackRevive.CustomCallbackRevive
7
+ local ____CustomCallback = require("src.classes.private.CustomCallback")
8
+ local CustomCallback = ____CustomCallback.CustomCallback
9
9
  ____exports.PostCustomRevive = __TS__Class()
10
10
  local PostCustomRevive = ____exports.PostCustomRevive
11
11
  PostCustomRevive.name = "PostCustomRevive"
12
- __TS__ClassExtends(PostCustomRevive, CustomCallbackRevive)
12
+ __TS__ClassExtends(PostCustomRevive, CustomCallback)
13
13
  function PostCustomRevive.prototype.____constructor(self)
14
- CustomCallbackRevive.prototype.____constructor(self)
14
+ CustomCallback.prototype.____constructor(self)
15
15
  self.featuresUsed = {ISCFeature.CUSTOM_REVIVE}
16
16
  end
17
+ function PostCustomRevive.prototype.shouldFire(self, fireArgs, optionalArgs)
18
+ local callbackRevivalType = table.unpack(optionalArgs)
19
+ if callbackRevivalType == nil then
20
+ return true
21
+ end
22
+ local _player, revivalType = table.unpack(fireArgs)
23
+ return revivalType == callbackRevivalType
24
+ end
17
25
  return ____exports
@@ -12,6 +12,6 @@ PostGridEntityBroken.name = "PostGridEntityBroken"
12
12
  __TS__ClassExtends(PostGridEntityBroken, CustomCallbackGridEntity)
13
13
  function PostGridEntityBroken.prototype.____constructor(self)
14
14
  CustomCallbackGridEntity.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,7 +12,7 @@ PostGridEntityCollision.name = "PostGridEntityCollision"
12
12
  __TS__ClassExtends(PostGridEntityCollision, CustomCallback)
13
13
  function PostGridEntityCollision.prototype.____constructor(self)
14
14
  CustomCallback.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  function PostGridEntityCollision.prototype.shouldFire(self, fireArgs, optionalArgs)
18
18
  local gridEntity, entity = table.unpack(fireArgs)
@@ -12,6 +12,6 @@ PostGridEntityCustomBroken.name = "PostGridEntityCustomBroken"
12
12
  __TS__ClassExtends(PostGridEntityCustomBroken, CustomCallbackGridEntityCustom)
13
13
  function PostGridEntityCustomBroken.prototype.____constructor(self)
14
14
  CustomCallbackGridEntityCustom.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,7 +12,7 @@ PostGridEntityCustomCollision.name = "PostGridEntityCustomCollision"
12
12
  __TS__ClassExtends(PostGridEntityCustomCollision, CustomCallback)
13
13
  function PostGridEntityCustomCollision.prototype.____constructor(self)
14
14
  CustomCallback.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  function PostGridEntityCustomCollision.prototype.shouldFire(self, fireArgs, optionalArgs)
18
18
  local _gridEntity, gridEntityTypeCustom, entity = table.unpack(fireArgs)
@@ -12,6 +12,6 @@ PostGridEntityCustomInit.name = "PostGridEntityCustomInit"
12
12
  __TS__ClassExtends(PostGridEntityCustomInit, CustomCallbackGridEntityCustom)
13
13
  function PostGridEntityCustomInit.prototype.____constructor(self)
14
14
  CustomCallbackGridEntityCustom.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,7 +12,7 @@ PostGridEntityCustomRemove.name = "PostGridEntityCustomRemove"
12
12
  __TS__ClassExtends(PostGridEntityCustomRemove, CustomCallback)
13
13
  function PostGridEntityCustomRemove.prototype.____constructor(self)
14
14
  CustomCallback.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  function PostGridEntityCustomRemove.prototype.shouldFire(self, fireArgs, optionalArgs)
18
18
  local callbackGridEntityTypeCustom = table.unpack(optionalArgs)
@@ -0,0 +1,6 @@
1
+ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
2
+ import { CustomCallbackGridEntityCustom } from "./validation/CustomCallbackGridEntityCustom";
3
+ export declare class PostGridEntityCustomRender extends CustomCallbackGridEntityCustom<ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_RENDER> {
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=PostGridEntityCustomRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostGridEntityCustomRender.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostGridEntityCustomRender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAE7F,qBAAa,0BAA2B,SAAQ,8BAA8B,CAAC,kBAAkB,CAAC,8BAA8B,CAAC;;CAMhI"}
@@ -0,0 +1,17 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____ISCFeature = require("src.enums.ISCFeature")
6
+ local ISCFeature = ____ISCFeature.ISCFeature
7
+ local ____CustomCallbackGridEntityCustom = require("src.classes.callbacks.validation.CustomCallbackGridEntityCustom")
8
+ local CustomCallbackGridEntityCustom = ____CustomCallbackGridEntityCustom.CustomCallbackGridEntityCustom
9
+ ____exports.PostGridEntityCustomRender = __TS__Class()
10
+ local PostGridEntityCustomRender = ____exports.PostGridEntityCustomRender
11
+ PostGridEntityCustomRender.name = "PostGridEntityCustomRender"
12
+ __TS__ClassExtends(PostGridEntityCustomRender, CustomCallbackGridEntityCustom)
13
+ function PostGridEntityCustomRender.prototype.____constructor(self)
14
+ CustomCallbackGridEntityCustom.prototype.____constructor(self)
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_RENDER_DETECTION}
16
+ end
17
+ return ____exports
@@ -12,6 +12,6 @@ PostGridEntityCustomStateChanged.name = "PostGridEntityCustomStateChanged"
12
12
  __TS__ClassExtends(PostGridEntityCustomStateChanged, CustomCallbackGridEntityCustom)
13
13
  function PostGridEntityCustomStateChanged.prototype.____constructor(self)
14
14
  CustomCallbackGridEntityCustom.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,6 +12,6 @@ PostGridEntityCustomUpdate.name = "PostGridEntityCustomUpdate"
12
12
  __TS__ClassExtends(PostGridEntityCustomUpdate, CustomCallbackGridEntityCustom)
13
13
  function PostGridEntityCustomUpdate.prototype.____constructor(self)
14
14
  CustomCallbackGridEntityCustom.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,6 +12,6 @@ PostGridEntityInit.name = "PostGridEntityInit"
12
12
  __TS__ClassExtends(PostGridEntityInit, CustomCallbackGridEntity)
13
13
  function PostGridEntityInit.prototype.____constructor(self)
14
14
  CustomCallbackGridEntity.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,7 +12,7 @@ PostGridEntityRemove.name = "PostGridEntityRemove"
12
12
  __TS__ClassExtends(PostGridEntityRemove, CustomCallback)
13
13
  function PostGridEntityRemove.prototype.____constructor(self)
14
14
  CustomCallback.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  function PostGridEntityRemove.prototype.shouldFire(self, fireArgs, optionalArgs)
18
18
  local _gridIndex, gridEntityType, variant = table.unpack(fireArgs)
@@ -0,0 +1,6 @@
1
+ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
2
+ import { CustomCallbackGridEntity } from "./validation/CustomCallbackGridEntity";
3
+ export declare class PostGridEntityRender extends CustomCallbackGridEntity<ModCallbackCustom2.POST_GRID_ENTITY_RENDER> {
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=PostGridEntityRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostGridEntityRender.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostGridEntityRender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,qBAAa,oBAAqB,SAAQ,wBAAwB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC;;CAM7G"}
@@ -0,0 +1,17 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____ISCFeature = require("src.enums.ISCFeature")
6
+ local ISCFeature = ____ISCFeature.ISCFeature
7
+ local ____CustomCallbackGridEntity = require("src.classes.callbacks.validation.CustomCallbackGridEntity")
8
+ local CustomCallbackGridEntity = ____CustomCallbackGridEntity.CustomCallbackGridEntity
9
+ ____exports.PostGridEntityRender = __TS__Class()
10
+ local PostGridEntityRender = ____exports.PostGridEntityRender
11
+ PostGridEntityRender.name = "PostGridEntityRender"
12
+ __TS__ClassExtends(PostGridEntityRender, CustomCallbackGridEntity)
13
+ function PostGridEntityRender.prototype.____constructor(self)
14
+ CustomCallbackGridEntity.prototype.____constructor(self)
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_RENDER_DETECTION}
16
+ end
17
+ return ____exports
@@ -12,6 +12,6 @@ PostGridEntityStateChanged.name = "PostGridEntityStateChanged"
12
12
  __TS__ClassExtends(PostGridEntityStateChanged, CustomCallbackGridEntity)
13
13
  function PostGridEntityStateChanged.prototype.____constructor(self)
14
14
  CustomCallbackGridEntity.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -12,6 +12,6 @@ PostGridEntityUpdate.name = "PostGridEntityUpdate"
12
12
  __TS__ClassExtends(PostGridEntityUpdate, CustomCallbackGridEntity)
13
13
  function PostGridEntityUpdate.prototype.____constructor(self)
14
14
  CustomCallbackGridEntity.prototype.____constructor(self)
15
- self.featuresUsed = {ISCFeature.GRID_ENTITY_DETECTION}
15
+ self.featuresUsed = {ISCFeature.GRID_ENTITY_UPDATE_DETECTION}
16
16
  end
17
17
  return ____exports
@@ -9,6 +9,6 @@ export declare class PostHolyMantleRemoved extends CustomCallback<ModCallbackCus
9
9
  };
10
10
  };
11
11
  constructor();
12
- private postPEffectUpdateReordered;
12
+ private postPEffectUpdate;
13
13
  }
14
14
  //# sourceMappingURL=PostHolyMantleRemoved.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostHolyMantleRemoved.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostHolyMantleRemoved.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;IACpF,CAAC;;;;MAIf;;IAcF,OAAO,CAAC,0BAA0B,CAchC;CACH"}
1
+ {"version":3,"file":"PostHolyMantleRemoved.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostHolyMantleRemoved.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;IACpF,CAAC;;;;MAIf;;IAWF,OAAO,CAAC,iBAAiB,CAcvB;CACH"}
@@ -5,8 +5,7 @@ local __TS__New = ____lualib.__TS__New
5
5
  local ____exports = {}
6
6
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
7
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
8
- local ____ModCallbackCustom2 = require("src.enums.ModCallbackCustom2")
9
- local ModCallbackCustom2 = ____ModCallbackCustom2.ModCallbackCustom2
8
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
10
9
  local ____playerDataStructures = require("src.functions.playerDataStructures")
11
10
  local defaultMapGetPlayer = ____playerDataStructures.defaultMapGetPlayer
12
11
  local mapSetPlayer = ____playerDataStructures.mapSetPlayer
@@ -21,7 +20,7 @@ __TS__ClassExtends(PostHolyMantleRemoved, CustomCallback)
21
20
  function PostHolyMantleRemoved.prototype.____constructor(self)
22
21
  CustomCallback.prototype.____constructor(self)
23
22
  self.v = {run = {playersHolyMantleMap = __TS__New(DefaultMap, 0)}}
24
- self.postPEffectUpdateReordered = function(____, player)
23
+ self.postPEffectUpdate = function(____, player)
25
24
  local effects = player:GetEffects()
26
25
  local newNumHolyMantles = effects:GetCollectibleEffectNum(CollectibleType.HOLY_MANTLE)
27
26
  local oldNumHolyMantles = defaultMapGetPlayer(nil, self.v.run.playersHolyMantleMap, player)
@@ -30,6 +29,6 @@ function PostHolyMantleRemoved.prototype.____constructor(self)
30
29
  self:fire(player, oldNumHolyMantles, newNumHolyMantles)
31
30
  end
32
31
  end
33
- self.customCallbacksUsed = {{ModCallbackCustom2.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
32
+ self.callbacksUsed = {{ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}}
34
33
  end
35
34
  return ____exports
@@ -0,0 +1,43 @@
1
+ import { ActiveSlot, CollectibleType } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
3
+ import { PlayerIndex } from "../../types/PlayerIndex";
4
+ import { DefaultMap } from "../DefaultMap";
5
+ import { CustomCallback, FireArgs, OptionalArgs } from "../private/CustomCallback";
6
+ declare type T = ModCallbackCustom2.POST_ITEM_DISCHARGE;
7
+ declare type ActiveSlotToCollectibleTypeMap = Map<ActiveSlot, CollectibleType>;
8
+ declare type ActiveSlotToChargeMap = Map<ActiveSlot, int>;
9
+ export declare class PostItemDischarge extends CustomCallback<T> {
10
+ v: {
11
+ run: {
12
+ playersActiveItemMap: DefaultMap<PlayerIndex, ActiveSlotToCollectibleTypeMap, []>;
13
+ playersActiveChargeMap: DefaultMap<PlayerIndex, ActiveSlotToChargeMap, []>;
14
+ };
15
+ room: {
16
+ playersBulbLastCollisionFrame: Map<PlayerIndex, number>;
17
+ };
18
+ };
19
+ constructor();
20
+ protected shouldFire(fireArgs: FireArgs<T>, optionalArgs: OptionalArgs<T>): boolean;
21
+ private postPEffectUpdate;
22
+ /**
23
+ * If the player collided with a Bulb on either this frame or the last frame, then assume a zap
24
+ * has occurred. (We do not want to fire the discharge callback if this is the case.)
25
+ */
26
+ private playerRecentlyCollidedWithBulb;
27
+ private preNPCCollisionSucker;
28
+ private preNPCCollisionBulb;
29
+ /**
30
+ * The algorithm for detecting a discharge is checking if the current charge is less than the
31
+ * charge on the previous frame. Thus, when a Bulb zaps a player and drains their charge, this
32
+ * will be a false position, so Bulbs have to be handled.
33
+ *
34
+ * When Bulbs zap a player, they go to `NpcState.STATE_JUMP` for a frame. However, this only
35
+ * happens on the frame after the player is discharged, which is too late to be of any use.
36
+ *
37
+ * Instead, we track the frames that Bulbs collide with players and assume that a collision means
38
+ * a zap has occurred.
39
+ */
40
+ private checkPlayerCollidedWithBulb;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=PostItemDischarge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostItemDischarge.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostItemDischarge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,eAAe,EAIhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AASpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,aAAK,CAAC,GAAG,kBAAkB,CAAC,mBAAmB,CAAC;AAGhD,aAAK,8BAA8B,GAAG,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACvE,aAAK,qBAAqB,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAElD,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,CAAC,CAAC;IACtC,CAAC;;;;;;;;MAef;;cAeiB,UAAU,CAC3B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAC5B,OAAO;IAWV,OAAO,CAAC,iBAAiB,CAwCvB;IAEF;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,qBAAqB,CAS3B;IAIF,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,2BAA2B;CAapC"}
@@ -0,0 +1,113 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local Map = ____lualib.Map
5
+ local __TS__New = ____lualib.__TS__New
6
+ local ____exports = {}
7
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
8
+ local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
9
+ local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
10
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
11
+ local SuckerVariant = ____isaac_2Dtypescript_2Ddefinitions.SuckerVariant
12
+ local ____cachedClasses = require("src.core.cachedClasses")
13
+ local game = ____cachedClasses.game
14
+ local ____charge = require("src.functions.charge")
15
+ local getTotalCharge = ____charge.getTotalCharge
16
+ local ____enums = require("src.functions.enums")
17
+ local getEnumValues = ____enums.getEnumValues
18
+ local ____playerDataStructures = require("src.functions.playerDataStructures")
19
+ local defaultMapGetPlayer = ____playerDataStructures.defaultMapGetPlayer
20
+ local mapGetPlayer = ____playerDataStructures.mapGetPlayer
21
+ local mapSetPlayer = ____playerDataStructures.mapSetPlayer
22
+ local ____types = require("src.functions.types")
23
+ local asNumber = ____types.asNumber
24
+ local ____DefaultMap = require("src.classes.DefaultMap")
25
+ local DefaultMap = ____DefaultMap.DefaultMap
26
+ local ____CustomCallback = require("src.classes.private.CustomCallback")
27
+ local CustomCallback = ____CustomCallback.CustomCallback
28
+ ____exports.PostItemDischarge = __TS__Class()
29
+ local PostItemDischarge = ____exports.PostItemDischarge
30
+ PostItemDischarge.name = "PostItemDischarge"
31
+ __TS__ClassExtends(PostItemDischarge, CustomCallback)
32
+ function PostItemDischarge.prototype.____constructor(self)
33
+ CustomCallback.prototype.____constructor(self)
34
+ self.v = {
35
+ run = {
36
+ playersActiveItemMap = __TS__New(
37
+ DefaultMap,
38
+ function() return __TS__New(Map) end
39
+ ),
40
+ playersActiveChargeMap = __TS__New(
41
+ DefaultMap,
42
+ function() return __TS__New(Map) end
43
+ )
44
+ },
45
+ room = {playersBulbLastCollisionFrame = __TS__New(Map)}
46
+ }
47
+ self.postPEffectUpdate = function(____, player)
48
+ local activeItemMap = defaultMapGetPlayer(nil, self.v.run.playersActiveItemMap, player)
49
+ local chargeMap = defaultMapGetPlayer(nil, self.v.run.playersActiveChargeMap, player)
50
+ for ____, activeSlot in ipairs(getEnumValues(nil, ActiveSlot)) do
51
+ do
52
+ local currentActiveItem = player:GetActiveItem()
53
+ local previousActiveItem = activeItemMap:get(activeSlot)
54
+ if previousActiveItem == nil then
55
+ previousActiveItem = currentActiveItem
56
+ end
57
+ activeItemMap:set(activeSlot, currentActiveItem)
58
+ if currentActiveItem ~= previousActiveItem then
59
+ goto __continue6
60
+ end
61
+ local currentCharge = getTotalCharge(nil, player, activeSlot)
62
+ local previousCharge = chargeMap:get(activeSlot)
63
+ if previousCharge == nil then
64
+ previousCharge = currentCharge
65
+ end
66
+ chargeMap:set(activeSlot, currentCharge)
67
+ if self:playerRecentlyCollidedWithBulb(player) then
68
+ goto __continue6
69
+ end
70
+ if currentCharge < previousCharge then
71
+ local collectibleType = player:GetActiveItem(activeSlot)
72
+ self:fire(player, collectibleType, activeSlot)
73
+ end
74
+ end
75
+ ::__continue6::
76
+ end
77
+ end
78
+ self.preNPCCollisionSucker = function(____, npc, collider)
79
+ if npc.Variant == asNumber(nil, SuckerVariant.BULB) then
80
+ return self:preNPCCollisionBulb(npc, collider)
81
+ end
82
+ return nil
83
+ end
84
+ self.callbacksUsed = {{ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}, {ModCallback.PRE_NPC_COLLISION, {self.preNPCCollisionSucker, EntityType.SUCKER}}}
85
+ end
86
+ function PostItemDischarge.prototype.shouldFire(self, fireArgs, optionalArgs)
87
+ local callbackCollectibleType = table.unpack(optionalArgs)
88
+ if callbackCollectibleType == nil then
89
+ return true
90
+ end
91
+ local _player, collectibleType = table.unpack(fireArgs)
92
+ return collectibleType == callbackCollectibleType
93
+ end
94
+ function PostItemDischarge.prototype.playerRecentlyCollidedWithBulb(self, player)
95
+ local gameFrameCount = game:GetFrameCount()
96
+ local bulbLastCollisionFrame = mapGetPlayer(nil, self.v.room.playersBulbLastCollisionFrame, player)
97
+ local collidedOnThisFrame = gameFrameCount == bulbLastCollisionFrame
98
+ local collidedOnLastFrame = gameFrameCount - 1 == bulbLastCollisionFrame
99
+ return collidedOnThisFrame or collidedOnLastFrame
100
+ end
101
+ function PostItemDischarge.prototype.preNPCCollisionBulb(self, _npc, collider)
102
+ self:checkPlayerCollidedWithBulb(collider)
103
+ return nil
104
+ end
105
+ function PostItemDischarge.prototype.checkPlayerCollidedWithBulb(self, collider)
106
+ local player = collider:ToPlayer()
107
+ if player == nil then
108
+ return
109
+ end
110
+ local gameFrameCount = game:GetFrameCount()
111
+ mapSetPlayer(nil, self.v.room.playersBulbLastCollisionFrame, player, gameFrameCount)
112
+ end
113
+ return ____exports
@@ -0,0 +1,6 @@
1
+ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
2
+ import { CustomCallbackItemPickup } from "./validation/CustomCallbackItemPickup";
3
+ export declare class PostItemPickup extends CustomCallbackItemPickup<ModCallbackCustom2.POST_ITEM_PICKUP> {
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=PostItemPickup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostItemPickup.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostItemPickup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,qBAAa,cAAe,SAAQ,wBAAwB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;;CAMhG"}
@@ -0,0 +1,17 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____ISCFeature = require("src.enums.ISCFeature")
6
+ local ISCFeature = ____ISCFeature.ISCFeature
7
+ local ____CustomCallbackItemPickup = require("src.classes.callbacks.validation.CustomCallbackItemPickup")
8
+ local CustomCallbackItemPickup = ____CustomCallbackItemPickup.CustomCallbackItemPickup
9
+ ____exports.PostItemPickup = __TS__Class()
10
+ local PostItemPickup = ____exports.PostItemPickup
11
+ PostItemPickup.name = "PostItemPickup"
12
+ __TS__ClassExtends(PostItemPickup, CustomCallbackItemPickup)
13
+ function PostItemPickup.prototype.____constructor(self)
14
+ CustomCallbackItemPickup.prototype.____constructor(self)
15
+ self.featuresUsed = {ISCFeature.ITEM_PICKUP_DETECTION}
16
+ end
17
+ return ____exports
@@ -0,0 +1,12 @@
1
+ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
2
+ import { CustomCallbackLaser } from "./validation/CustomCallbackLaser";
3
+ export declare class PostLaserInitLate extends CustomCallbackLaser<ModCallbackCustom2.POST_LASER_INIT_LATE> {
4
+ v: {
5
+ room: {
6
+ firedSet: Set<PtrHash>;
7
+ };
8
+ };
9
+ constructor();
10
+ private postLaserUpdate;
11
+ }
12
+ //# sourceMappingURL=PostLaserInitLate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostLaserInitLate.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostLaserInitLate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;IACjF,CAAC;;;;MAIf;;IAWF,OAAO,CAAC,eAAe,CAMrB;CACH"}
@@ -0,0 +1,27 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local Set = ____lualib.Set
5
+ local __TS__New = ____lualib.__TS__New
6
+ local ____exports = {}
7
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
8
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
9
+ local ____CustomCallbackLaser = require("src.classes.callbacks.validation.CustomCallbackLaser")
10
+ local CustomCallbackLaser = ____CustomCallbackLaser.CustomCallbackLaser
11
+ ____exports.PostLaserInitLate = __TS__Class()
12
+ local PostLaserInitLate = ____exports.PostLaserInitLate
13
+ PostLaserInitLate.name = "PostLaserInitLate"
14
+ __TS__ClassExtends(PostLaserInitLate, CustomCallbackLaser)
15
+ function PostLaserInitLate.prototype.____constructor(self)
16
+ CustomCallbackLaser.prototype.____constructor(self)
17
+ self.v = {room = {firedSet = __TS__New(Set)}}
18
+ self.postLaserUpdate = function(____, laser)
19
+ local index = GetPtrHash(laser)
20
+ if not self.v.room.firedSet:has(index) then
21
+ self.v.room.firedSet:add(index)
22
+ self:fire(laser)
23
+ end
24
+ end
25
+ self.callbacksUsed = {{ModCallback.POST_LASER_UPDATE, {self.postLaserUpdate}}}
26
+ end
27
+ return ____exports
@@ -0,0 +1,12 @@
1
+ import { ModCallbackCustom2 } from "../../enums/ModCallbackCustom2";
2
+ import { CustomCallbackNPC } from "./validation/CustomCallbackNPC";
3
+ export declare class PostNPCInitLate extends CustomCallbackNPC<ModCallbackCustom2.POST_NPC_INIT_LATE> {
4
+ v: {
5
+ room: {
6
+ firedSet: Set<PtrHash>;
7
+ };
8
+ };
9
+ constructor();
10
+ private postNPCUpdate;
11
+ }
12
+ //# sourceMappingURL=PostNPCInitLate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostNPCInitLate.d.ts","sourceRoot":"","sources":["../../../../src/classes/callbacks/PostNPCInitLate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;IAC3E,CAAC;;;;MAIf;;IAWF,OAAO,CAAC,aAAa,CAMnB;CACH"}