isaacscript-common 13.3.4 → 14.1.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 (668) hide show
  1. package/dist/index.d.ts +1644 -441
  2. package/dist/isaacscript-common.lua +19643 -16276
  3. package/dist/src/callbacks/customRevive.lua +10 -1
  4. package/dist/src/callbacks/postAmbush.d.ts.map +1 -1
  5. package/dist/src/callbacks/postAmbush.lua +7 -12
  6. package/dist/src/callbacks/postBombExploded.lua +3 -3
  7. package/dist/src/callbacks/postDoorRender.lua +2 -2
  8. package/dist/src/callbacks/postEffectStateChanged.lua +3 -3
  9. package/dist/src/callbacks/postFamiliarStateChanged.lua +3 -3
  10. package/dist/src/callbacks/postFlip.lua +1 -1
  11. package/dist/src/callbacks/postGridEntity.lua +2 -2
  12. package/dist/src/callbacks/postNPCStateChanged.lua +3 -3
  13. package/dist/src/callbacks/postPickupStateChanged.lua +3 -3
  14. package/dist/src/callbacks/postPlayerCollectible.d.ts.map +1 -1
  15. package/dist/src/callbacks/postPlayerCollectible.lua +5 -9
  16. package/dist/src/callbacks/postRoomClearChanged.d.ts.map +1 -1
  17. package/dist/src/callbacks/postRoomClearChanged.lua +3 -5
  18. package/dist/src/callbacks/reorderedCallbacks.lua +7 -7
  19. package/dist/src/callbacks/subscriptions/{postBoneExploded.d.ts → postBombExploded.d.ts} +1 -1
  20. package/dist/src/callbacks/subscriptions/{postBoneExploded.d.ts.map → postBombExploded.d.ts.map} +1 -1
  21. package/dist/src/callbacks/subscriptions/{postBoneExploded.lua → postBombExploded.lua} +0 -0
  22. package/dist/src/callbacks/subscriptions/postCollectibleEmpty.d.ts +1 -1
  23. package/dist/src/callbacks/subscriptions/postCollectibleEmpty.d.ts.map +1 -1
  24. package/dist/src/callbacks/subscriptions/postCollectibleInitFirst.d.ts +1 -1
  25. package/dist/src/callbacks/subscriptions/postCollectibleInitFirst.d.ts.map +1 -1
  26. package/dist/src/callbacks/subscriptions/postCursedTeleport.d.ts +4 -2
  27. package/dist/src/callbacks/subscriptions/postCursedTeleport.d.ts.map +1 -1
  28. package/dist/src/callbacks/subscriptions/postCursedTeleport.lua +13 -1
  29. package/dist/src/callbacks/subscriptions/postGridEntityBroken.d.ts +1 -1
  30. package/dist/src/callbacks/subscriptions/postGridEntityBroken.d.ts.map +1 -1
  31. package/dist/src/callbacks/subscriptions/postGridEntityBroken.lua +3 -3
  32. package/dist/src/callbacks/subscriptions/postGridEntityInit.d.ts +1 -1
  33. package/dist/src/callbacks/subscriptions/postGridEntityInit.d.ts.map +1 -1
  34. package/dist/src/callbacks/subscriptions/postGridEntityInit.lua +3 -3
  35. package/dist/src/callbacks/subscriptions/postGridEntityRemove.d.ts +3 -3
  36. package/dist/src/callbacks/subscriptions/postGridEntityRemove.d.ts.map +1 -1
  37. package/dist/src/callbacks/subscriptions/postGridEntityRemove.lua +4 -4
  38. package/dist/src/callbacks/subscriptions/postGridEntityRender.d.ts +1 -1
  39. package/dist/src/callbacks/subscriptions/postGridEntityRender.d.ts.map +1 -1
  40. package/dist/src/callbacks/subscriptions/postGridEntityRender.lua +3 -3
  41. package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.d.ts +1 -1
  42. package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.d.ts.map +1 -1
  43. package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.lua +3 -3
  44. package/dist/src/callbacks/subscriptions/postGridEntityUpdate.d.ts +1 -1
  45. package/dist/src/callbacks/subscriptions/postGridEntityUpdate.d.ts.map +1 -1
  46. package/dist/src/callbacks/subscriptions/postGridEntityUpdate.lua +3 -3
  47. package/dist/src/callbacks/subscriptions/postHolyMantleRemoved.d.ts.map +1 -1
  48. package/dist/src/callbacks/subscriptions/postHolyMantleRemoved.lua +2 -2
  49. package/dist/src/callbacks/subscriptions/postPEffectUpdateReordered.d.ts.map +1 -1
  50. package/dist/src/callbacks/subscriptions/postPEffectUpdateReordered.lua +2 -2
  51. package/dist/src/callbacks/subscriptions/postRockRender.d.ts +1 -1
  52. package/dist/src/callbacks/subscriptions/postRockRender.d.ts.map +1 -1
  53. package/dist/src/callbacks/subscriptions/postRockRender.lua +3 -3
  54. package/dist/src/callbacks/subscriptions/postRockUpdate.d.ts +1 -1
  55. package/dist/src/callbacks/subscriptions/postRockUpdate.d.ts.map +1 -1
  56. package/dist/src/callbacks/subscriptions/postRockUpdate.lua +3 -3
  57. package/dist/src/callbacks/subscriptions/postSpikesRender.d.ts +1 -1
  58. package/dist/src/callbacks/subscriptions/postSpikesRender.d.ts.map +1 -1
  59. package/dist/src/callbacks/subscriptions/postSpikesRender.lua +3 -3
  60. package/dist/src/callbacks/subscriptions/postSpikesUpdate.d.ts +1 -1
  61. package/dist/src/callbacks/subscriptions/postSpikesUpdate.d.ts.map +1 -1
  62. package/dist/src/callbacks/subscriptions/postSpikesUpdate.lua +3 -3
  63. package/dist/src/callbacks/subscriptions/postTNTRender.d.ts +1 -1
  64. package/dist/src/callbacks/subscriptions/postTNTRender.d.ts.map +1 -1
  65. package/dist/src/callbacks/subscriptions/postTNTRender.lua +3 -3
  66. package/dist/src/callbacks/subscriptions/postTNTUpdate.d.ts +1 -1
  67. package/dist/src/callbacks/subscriptions/postTNTUpdate.d.ts.map +1 -1
  68. package/dist/src/callbacks/subscriptions/postTNTUpdate.lua +3 -3
  69. package/dist/src/callbacks.d.ts +106 -0
  70. package/dist/src/callbacks.d.ts.map +1 -0
  71. package/dist/src/callbacks.lua +176 -0
  72. package/dist/src/classes/DefaultMap.d.ts.map +1 -1
  73. package/dist/src/classes/ModFeature.d.ts +11 -0
  74. package/dist/src/classes/ModFeature.d.ts.map +1 -0
  75. package/dist/src/classes/ModFeature.lua +13 -0
  76. package/dist/src/classes/ModUpgraded.d.ts +49 -11
  77. package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
  78. package/dist/src/classes/ModUpgraded.lua +118 -16
  79. package/dist/src/classes/callbacks/PostAmbushFinished.d.ts +12 -0
  80. package/dist/src/classes/callbacks/PostAmbushFinished.d.ts.map +1 -0
  81. package/dist/src/classes/callbacks/PostAmbushFinished.lua +37 -0
  82. package/dist/src/classes/callbacks/PostAmbushStarted.d.ts +12 -0
  83. package/dist/src/classes/callbacks/PostAmbushStarted.d.ts.map +1 -0
  84. package/dist/src/classes/callbacks/PostAmbushStarted.lua +37 -0
  85. package/dist/src/classes/callbacks/PostBombExploded.d.ts +7 -0
  86. package/dist/src/classes/callbacks/PostBombExploded.d.ts.map +1 -0
  87. package/dist/src/classes/callbacks/PostBombExploded.lua +24 -0
  88. package/dist/src/classes/callbacks/PostBombInitLate.d.ts +12 -0
  89. package/dist/src/classes/callbacks/PostBombInitLate.d.ts.map +1 -0
  90. package/dist/src/classes/callbacks/PostBombInitLate.lua +27 -0
  91. package/dist/src/classes/callbacks/PostBoneSwing.d.ts +14 -0
  92. package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -0
  93. package/dist/src/classes/callbacks/PostBoneSwing.lua +43 -0
  94. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts +17 -0
  95. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -0
  96. package/dist/src/classes/callbacks/PostCollectibleEmpty.lua +47 -0
  97. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts +13 -0
  98. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -0
  99. package/dist/src/classes/callbacks/PostCollectibleInitFirst.lua +32 -0
  100. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts +20 -0
  101. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -0
  102. package/dist/src/classes/callbacks/PostCursedTeleport.lua +113 -0
  103. package/dist/src/classes/callbacks/PostCustomRevive.d.ts +6 -0
  104. package/dist/src/classes/callbacks/PostCustomRevive.d.ts.map +1 -0
  105. package/dist/src/classes/callbacks/PostCustomRevive.lua +17 -0
  106. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts +15 -0
  107. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -0
  108. package/dist/src/classes/callbacks/PostDiceRoomActivated.lua +44 -0
  109. package/dist/src/classes/callbacks/PostDoorRender.d.ts +7 -0
  110. package/dist/src/classes/callbacks/PostDoorRender.d.ts.map +1 -0
  111. package/dist/src/classes/callbacks/PostDoorRender.lua +24 -0
  112. package/dist/src/classes/callbacks/PostDoorUpdate.d.ts +7 -0
  113. package/dist/src/classes/callbacks/PostDoorUpdate.d.ts.map +1 -0
  114. package/dist/src/classes/callbacks/PostDoorUpdate.lua +24 -0
  115. package/dist/src/classes/callbacks/PostEffectInitLate.d.ts +12 -0
  116. package/dist/src/classes/callbacks/PostEffectInitLate.d.ts.map +1 -0
  117. package/dist/src/classes/callbacks/PostEffectInitLate.lua +27 -0
  118. package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts +13 -0
  119. package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -0
  120. package/dist/src/classes/callbacks/PostEffectStateChanged.lua +33 -0
  121. package/dist/src/classes/callbacks/PostEsauJr.d.ts +6 -0
  122. package/dist/src/classes/callbacks/PostEsauJr.d.ts.map +1 -0
  123. package/dist/src/classes/callbacks/PostEsauJr.lua +17 -0
  124. package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts +12 -0
  125. package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -0
  126. package/dist/src/classes/callbacks/PostFamiliarInitLate.lua +27 -0
  127. package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts +13 -0
  128. package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -0
  129. package/dist/src/classes/callbacks/PostFamiliarStateChanged.lua +33 -0
  130. package/dist/src/classes/callbacks/PostFirstEsauJr.d.ts +6 -0
  131. package/dist/src/classes/callbacks/PostFirstEsauJr.d.ts.map +1 -0
  132. package/dist/src/classes/callbacks/PostFirstEsauJr.lua +17 -0
  133. package/dist/src/classes/callbacks/PostFirstFlip.d.ts +6 -0
  134. package/dist/src/classes/callbacks/PostFirstFlip.d.ts.map +1 -0
  135. package/dist/src/classes/callbacks/PostFirstFlip.lua +17 -0
  136. package/dist/src/classes/callbacks/PostFlip.d.ts +6 -0
  137. package/dist/src/classes/callbacks/PostFlip.d.ts.map +1 -0
  138. package/dist/src/classes/callbacks/PostFlip.lua +17 -0
  139. package/dist/src/classes/callbacks/PostGameStartedReordered.d.ts +6 -0
  140. package/dist/src/classes/callbacks/PostGameStartedReordered.d.ts.map +1 -0
  141. package/dist/src/classes/callbacks/PostGameStartedReordered.lua +17 -0
  142. package/dist/src/classes/callbacks/PostGameStartedReorderedLast.d.ts +6 -0
  143. package/dist/src/classes/callbacks/PostGameStartedReorderedLast.d.ts.map +1 -0
  144. package/dist/src/classes/callbacks/PostGameStartedReorderedLast.lua +17 -0
  145. package/dist/src/classes/callbacks/PostGreedModeWave.d.ts +12 -0
  146. package/dist/src/classes/callbacks/PostGreedModeWave.d.ts.map +1 -0
  147. package/dist/src/classes/callbacks/PostGreedModeWave.lua +34 -0
  148. package/dist/src/classes/callbacks/PostGridEntityBroken.d.ts +6 -0
  149. package/dist/src/classes/callbacks/PostGridEntityBroken.d.ts.map +1 -0
  150. package/dist/src/classes/callbacks/PostGridEntityBroken.lua +17 -0
  151. package/dist/src/classes/callbacks/PostGridEntityCollision.d.ts +9 -0
  152. package/dist/src/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -0
  153. package/dist/src/classes/callbacks/PostGridEntityCollision.lua +36 -0
  154. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.d.ts +6 -0
  155. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.d.ts.map +1 -0
  156. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.lua +17 -0
  157. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.d.ts +9 -0
  158. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -0
  159. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.lua +31 -0
  160. package/dist/src/classes/callbacks/PostGridEntityCustomInit.d.ts +6 -0
  161. package/dist/src/classes/callbacks/PostGridEntityCustomInit.d.ts.map +1 -0
  162. package/dist/src/classes/callbacks/PostGridEntityCustomInit.lua +17 -0
  163. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.d.ts +9 -0
  164. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -0
  165. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.lua +25 -0
  166. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.d.ts +6 -0
  167. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.d.ts.map +1 -0
  168. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.lua +17 -0
  169. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.d.ts +6 -0
  170. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.d.ts.map +1 -0
  171. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.lua +17 -0
  172. package/dist/src/classes/callbacks/PostGridEntityInit.d.ts +6 -0
  173. package/dist/src/classes/callbacks/PostGridEntityInit.d.ts.map +1 -0
  174. package/dist/src/classes/callbacks/PostGridEntityInit.lua +17 -0
  175. package/dist/src/classes/callbacks/PostGridEntityRemove.d.ts +9 -0
  176. package/dist/src/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -0
  177. package/dist/src/classes/callbacks/PostGridEntityRemove.lua +28 -0
  178. package/dist/src/classes/callbacks/PostGridEntityStateChanged.d.ts +6 -0
  179. package/dist/src/classes/callbacks/PostGridEntityStateChanged.d.ts.map +1 -0
  180. package/dist/src/classes/callbacks/PostGridEntityStateChanged.lua +17 -0
  181. package/dist/src/classes/callbacks/PostGridEntityUpdate.d.ts +6 -0
  182. package/dist/src/classes/callbacks/PostGridEntityUpdate.d.ts.map +1 -0
  183. package/dist/src/classes/callbacks/PostGridEntityUpdate.lua +17 -0
  184. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts +14 -0
  185. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -0
  186. package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +35 -0
  187. package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts +12 -0
  188. package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -0
  189. package/dist/src/classes/callbacks/PostKnifeInitLate.lua +27 -0
  190. package/dist/src/classes/callbacks/PostNewLevelReordered.d.ts +6 -0
  191. package/dist/src/classes/callbacks/PostNewLevelReordered.d.ts.map +1 -0
  192. package/dist/src/classes/callbacks/PostNewLevelReordered.lua +17 -0
  193. package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts +13 -0
  194. package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -0
  195. package/dist/src/classes/callbacks/PostNewRoomEarly.lua +65 -0
  196. package/dist/src/classes/callbacks/PostNewRoomReordered.d.ts +6 -0
  197. package/dist/src/classes/callbacks/PostNewRoomReordered.d.ts.map +1 -0
  198. package/dist/src/classes/callbacks/PostNewRoomReordered.lua +17 -0
  199. package/dist/src/classes/callbacks/PostPEffectUpdateReordered.d.ts +6 -0
  200. package/dist/src/classes/callbacks/PostPEffectUpdateReordered.d.ts.map +1 -0
  201. package/dist/src/classes/callbacks/PostPEffectUpdateReordered.lua +17 -0
  202. package/dist/src/classes/callbacks/PostPitRender.d.ts +7 -0
  203. package/dist/src/classes/callbacks/PostPitRender.d.ts.map +1 -0
  204. package/dist/src/classes/callbacks/PostPitRender.lua +24 -0
  205. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +15 -0
  206. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -0
  207. package/dist/src/classes/callbacks/PostPlayerFatalDamage.lua +87 -0
  208. package/dist/src/classes/callbacks/PostPlayerRenderReordered.d.ts +6 -0
  209. package/dist/src/classes/callbacks/PostPlayerRenderReordered.d.ts.map +1 -0
  210. package/dist/src/classes/callbacks/PostPlayerRenderReordered.lua +17 -0
  211. package/dist/src/classes/callbacks/PostPlayerUpdateReordered.d.ts +6 -0
  212. package/dist/src/classes/callbacks/PostPlayerUpdateReordered.d.ts.map +1 -0
  213. package/dist/src/classes/callbacks/PostPlayerUpdateReordered.lua +17 -0
  214. package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts +13 -0
  215. package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -0
  216. package/dist/src/classes/callbacks/PostRoomClearChanged.lua +33 -0
  217. package/dist/src/classes/callbacks/PostSpikesRender.d.ts +7 -0
  218. package/dist/src/classes/callbacks/PostSpikesRender.d.ts.map +1 -0
  219. package/dist/src/classes/callbacks/PostSpikesRender.lua +24 -0
  220. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts +7 -0
  221. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts.map +1 -0
  222. package/dist/src/classes/callbacks/PreBerserkDeath.lua +36 -0
  223. package/dist/src/classes/callbacks/PreCustomRevive.d.ts +6 -0
  224. package/dist/src/classes/callbacks/PreCustomRevive.d.ts.map +1 -0
  225. package/dist/src/classes/callbacks/PreCustomRevive.lua +17 -0
  226. package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.d.ts +10 -0
  227. package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.d.ts.map +1 -0
  228. package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.lua +19 -0
  229. package/dist/src/classes/callbacks/validation/CustomCallbackBomb.d.ts +10 -0
  230. package/dist/src/classes/callbacks/validation/CustomCallbackBomb.d.ts.map +1 -0
  231. package/dist/src/classes/callbacks/validation/CustomCallbackBomb.lua +19 -0
  232. package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.d.ts +10 -0
  233. package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.d.ts.map +1 -0
  234. package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.lua +19 -0
  235. package/dist/src/classes/callbacks/validation/CustomCallbackDoor.d.ts +10 -0
  236. package/dist/src/classes/callbacks/validation/CustomCallbackDoor.d.ts.map +1 -0
  237. package/dist/src/classes/callbacks/validation/CustomCallbackDoor.lua +20 -0
  238. package/dist/src/classes/callbacks/validation/CustomCallbackEffect.d.ts +11 -0
  239. package/dist/src/classes/callbacks/validation/CustomCallbackEffect.d.ts.map +1 -0
  240. package/dist/src/classes/callbacks/validation/CustomCallbackEffect.lua +19 -0
  241. package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.d.ts +11 -0
  242. package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.d.ts.map +1 -0
  243. package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.lua +19 -0
  244. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.d.ts +11 -0
  245. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.d.ts.map +1 -0
  246. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.lua +24 -0
  247. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.d.ts +10 -0
  248. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.d.ts.map +1 -0
  249. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.lua +19 -0
  250. package/dist/src/classes/callbacks/validation/CustomCallbackKnife.d.ts +10 -0
  251. package/dist/src/classes/callbacks/validation/CustomCallbackKnife.d.ts.map +1 -0
  252. package/dist/src/classes/callbacks/validation/CustomCallbackKnife.lua +19 -0
  253. package/dist/src/classes/callbacks/validation/CustomCallbackPit.d.ts +10 -0
  254. package/dist/src/classes/callbacks/validation/CustomCallbackPit.d.ts.map +1 -0
  255. package/dist/src/classes/callbacks/validation/CustomCallbackPit.lua +20 -0
  256. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts +10 -0
  257. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts.map +1 -0
  258. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.lua +23 -0
  259. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts +11 -0
  260. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts.map +1 -0
  261. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.lua +19 -0
  262. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.d.ts +10 -0
  263. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.d.ts.map +1 -0
  264. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.lua +20 -0
  265. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +134 -0
  266. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -0
  267. package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +220 -0
  268. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +39 -0
  269. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -0
  270. package/dist/src/classes/features/callbackLogic/CustomRevive.lua +140 -0
  271. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts +19 -0
  272. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -0
  273. package/dist/src/classes/features/callbackLogic/EsauJrDetection.lua +52 -0
  274. package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts +16 -0
  275. package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -0
  276. package/dist/src/classes/features/callbackLogic/FlipDetection.lua +58 -0
  277. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts +27 -0
  278. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -0
  279. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +108 -0
  280. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts +19 -0
  281. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -0
  282. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.lua +69 -0
  283. package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts +46 -0
  284. package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts.map +1 -0
  285. package/dist/src/classes/features/callbackLogic/GridEntityDetection.lua +126 -0
  286. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +24 -0
  287. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -0
  288. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +72 -0
  289. package/dist/src/classes/features/other/RunInNFrames.d.ts +123 -0
  290. package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -0
  291. package/dist/src/classes/features/other/RunInNFrames.lua +109 -0
  292. package/dist/src/classes/private/CustomCallback.d.ts +26 -0
  293. package/dist/src/classes/private/CustomCallback.d.ts.map +1 -0
  294. package/dist/src/classes/private/CustomCallback.lua +63 -0
  295. package/dist/src/classes/private/Feature.d.ts +19 -0
  296. package/dist/src/classes/private/Feature.d.ts.map +1 -0
  297. package/dist/src/classes/private/Feature.lua +16 -0
  298. package/dist/src/core/upgradeMod.d.ts +18 -1
  299. package/dist/src/core/upgradeMod.d.ts.map +1 -1
  300. package/dist/src/core/upgradeMod.lua +44 -9
  301. package/dist/src/decorators.d.ts +9 -0
  302. package/dist/src/decorators.d.ts.map +1 -0
  303. package/dist/src/decorators.lua +12 -0
  304. package/dist/src/enums/ISCFeature.d.ts +12 -0
  305. package/dist/src/enums/ISCFeature.d.ts.map +1 -0
  306. package/dist/src/enums/ISCFeature.lua +12 -0
  307. package/dist/src/enums/LadderSubTypeCustom.d.ts +17 -0
  308. package/dist/src/enums/LadderSubTypeCustom.d.ts.map +1 -0
  309. package/dist/src/enums/LadderSubTypeCustom.lua +19 -0
  310. package/dist/src/enums/ModCallbackCustom.d.ts +399 -327
  311. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  312. package/dist/src/enums/ModCallbackCustom.lua +85 -87
  313. package/dist/src/enums/ModCallbackCustom2.d.ts +53 -0
  314. package/dist/src/enums/ModCallbackCustom2.d.ts.map +1 -0
  315. package/dist/src/enums/ModCallbackCustom2.lua +102 -0
  316. package/dist/src/features/customGridEntity.d.ts.map +1 -1
  317. package/dist/src/features/customGridEntity.lua +6 -8
  318. package/dist/src/features/{setHotkey.d.ts → customHotkeys.d.ts} +1 -1
  319. package/dist/src/features/customHotkeys.d.ts.map +1 -0
  320. package/dist/src/features/{setHotkey.lua → customHotkeys.lua} +2 -2
  321. package/dist/src/features/customPickup.d.ts.map +1 -1
  322. package/dist/src/features/customPickup.lua +6 -2
  323. package/dist/src/features/customStage/backdrop.d.ts.map +1 -1
  324. package/dist/src/features/customStage/backdrop.lua +3 -1
  325. package/dist/src/features/customStage/shadows.d.ts.map +1 -1
  326. package/dist/src/features/customStage/shadows.lua +3 -1
  327. package/dist/src/features/customTrapdoor/init.lua +1 -7
  328. package/dist/src/features/customTrapdoor/touched.lua +1 -1
  329. package/dist/src/features/deployJSONRoom.d.ts.map +1 -1
  330. package/dist/src/features/deployJSONRoom.lua +6 -8
  331. package/dist/src/features/firstLast.d.ts.map +1 -1
  332. package/dist/src/features/firstLast.lua +3 -3
  333. package/dist/src/features/saveDataManager/constants.d.ts +1 -1
  334. package/dist/src/features/saveDataManager/constants.d.ts.map +1 -1
  335. package/dist/src/features/saveDataManager/exports.d.ts +5 -0
  336. package/dist/src/features/saveDataManager/exports.d.ts.map +1 -1
  337. package/dist/src/features/saveDataManager/exports.lua +16 -0
  338. package/dist/src/features/saveDataManager/main.d.ts +8 -2
  339. package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
  340. package/dist/src/features/saveDataManager/main.lua +3 -5
  341. package/dist/src/features/saveDataManager/save.lua +2 -3
  342. package/dist/src/features.d.ts +34 -0
  343. package/dist/src/features.d.ts.map +1 -0
  344. package/dist/src/features.lua +68 -0
  345. package/dist/src/functions/ambush.d.ts +6 -0
  346. package/dist/src/functions/ambush.d.ts.map +1 -1
  347. package/dist/src/functions/ambush.lua +31 -0
  348. package/dist/src/functions/characters.lua +3 -3
  349. package/dist/src/functions/charge.d.ts +30 -8
  350. package/dist/src/functions/charge.d.ts.map +1 -1
  351. package/dist/src/functions/charge.lua +38 -2
  352. package/dist/src/functions/chargeBar.d.ts +6 -0
  353. package/dist/src/functions/chargeBar.d.ts.map +1 -1
  354. package/dist/src/functions/chargeBar.lua +6 -0
  355. package/dist/src/functions/decorators.d.ts +19 -0
  356. package/dist/src/functions/decorators.d.ts.map +1 -0
  357. package/dist/src/functions/decorators.lua +32 -0
  358. package/dist/src/functions/flying.lua +4 -4
  359. package/dist/src/functions/gridEntities.lua +5 -5
  360. package/dist/src/functions/gridEntitiesSpecific.lua +12 -12
  361. package/dist/src/functions/itemPool.lua +2 -2
  362. package/dist/src/functions/minimap.d.ts +4 -0
  363. package/dist/src/functions/minimap.d.ts.map +1 -1
  364. package/dist/src/functions/minimap.lua +4 -0
  365. package/dist/src/functions/playerHealth.lua +6 -6
  366. package/dist/src/functions/playerIndex.lua +2 -2
  367. package/dist/src/functions/players.d.ts +14 -3
  368. package/dist/src/functions/players.d.ts.map +1 -1
  369. package/dist/src/functions/players.lua +35 -16
  370. package/dist/src/functions/pocketItems.lua +1 -1
  371. package/dist/src/functions/roomTransition.d.ts +3 -4
  372. package/dist/src/functions/roomTransition.d.ts.map +1 -1
  373. package/dist/src/functions/roomTransition.lua +4 -32
  374. package/dist/src/functions/rooms.d.ts +1 -1
  375. package/dist/src/functions/rooms.d.ts.map +1 -1
  376. package/dist/src/functions/rooms.lua +1 -1
  377. package/dist/src/functions/run.d.ts +5 -0
  378. package/dist/src/functions/run.d.ts.map +1 -1
  379. package/dist/src/functions/run.lua +6 -0
  380. package/dist/src/functions/spawnCollectible.d.ts +24 -5
  381. package/dist/src/functions/spawnCollectible.d.ts.map +1 -1
  382. package/dist/src/functions/spawnCollectible.lua +44 -4
  383. package/dist/src/functions/table.d.ts +2 -0
  384. package/dist/src/functions/table.d.ts.map +1 -1
  385. package/dist/src/functions/table.lua +7 -0
  386. package/dist/src/functions/trinkets.lua +1 -1
  387. package/dist/src/functions/tstlClass.d.ts +21 -9
  388. package/dist/src/functions/tstlClass.d.ts.map +1 -1
  389. package/dist/src/functions/tstlClass.lua +49 -24
  390. package/dist/src/functions/utils.d.ts +44 -2
  391. package/dist/src/functions/utils.d.ts.map +1 -1
  392. package/dist/src/functions/utils.lua +43 -2
  393. package/dist/src/index.d.ts +15 -2
  394. package/dist/src/index.d.ts.map +1 -1
  395. package/dist/src/index.lua +42 -10
  396. package/dist/src/initCustomCallbacks.d.ts.map +1 -1
  397. package/dist/src/initCustomCallbacks.lua +0 -3
  398. package/dist/src/initFeatures.lua +3 -3
  399. package/dist/src/interfaces/SaveData.d.ts.map +1 -1
  400. package/dist/src/interfaces/{private/TSTLClassMetatable.d.ts → TSTLClassMetatable.d.ts} +0 -0
  401. package/dist/src/interfaces/TSTLClassMetatable.d.ts.map +1 -0
  402. package/dist/src/interfaces/{private/TSTLClassMetatable.lua → TSTLClassMetatable.lua} +0 -0
  403. package/dist/src/interfaces/private/{AddCallbackParameterCustom.d.ts → AddCallbackParametersCustom.d.ts} +3 -5
  404. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -0
  405. package/dist/src/interfaces/private/{AddCallbackParameterCustom.lua → AddCallbackParametersCustom.lua} +3 -0
  406. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts +201 -0
  407. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts.map +1 -0
  408. package/dist/src/interfaces/private/AddCallbackParametersCustom2.lua +7 -0
  409. package/dist/src/maps/characterNameToTypeMap.lua +12 -12
  410. package/dist/src/objects/callbackRegisterFunctions.d.ts +1 -1
  411. package/dist/src/objects/callbackRegisterFunctions.d.ts.map +1 -1
  412. package/dist/src/objects/callbackRegisterFunctions.lua +2 -5
  413. package/dist/src/objects/characterDamageMultipliers.lua +6 -6
  414. package/dist/src/objects/characterNames.lua +6 -6
  415. package/dist/src/objects/playerNamePNGFileNames.lua +6 -6
  416. package/dist/src/objects/playerPortraitPNGFileNames.lua +6 -6
  417. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.lua +1 -1
  418. package/dist/src/sets/charactersWithFreeDevilDealsSet.d.ts.map +1 -1
  419. package/dist/src/sets/charactersWithFreeDevilDealsSet.lua +1 -1
  420. package/dist/src/sets/charactersWithNoRedHeartsSet.lua +3 -3
  421. package/dist/src/sets/charactersWithNoSoulHeartsSet.lua +2 -2
  422. package/dist/src/sets/lostStyleCharactersSet.lua +4 -4
  423. package/dist/src/types/AllButFirst.d.ts +5 -0
  424. package/dist/src/types/AllButFirst.d.ts.map +1 -0
  425. package/dist/src/types/AllButFirst.lua +2 -0
  426. package/dist/src/types/AllButLast.d.ts +2 -0
  427. package/dist/src/types/AllButLast.d.ts.map +1 -0
  428. package/dist/src/types/AllButLast.lua +2 -0
  429. package/dist/src/types/Constructor.d.ts +2 -0
  430. package/dist/src/types/Constructor.d.ts.map +1 -0
  431. package/dist/src/types/Constructor.lua +2 -0
  432. package/dist/src/types/FunctionTuple.d.ts +5 -0
  433. package/dist/src/types/FunctionTuple.d.ts.map +1 -0
  434. package/dist/src/types/FunctionTuple.lua +2 -0
  435. package/dist/src/types/HasAllEnumKeys.d.ts +26 -0
  436. package/dist/src/types/HasAllEnumKeys.d.ts.map +1 -0
  437. package/dist/src/types/HasAllEnumKeys.lua +2 -0
  438. package/dist/src/types/LowercaseKeys.d.ts +3 -0
  439. package/dist/src/types/LowercaseKeys.d.ts.map +1 -0
  440. package/dist/src/types/LowercaseKeys.lua +2 -0
  441. package/dist/src/types/StartsWithLowercase.d.ts +2 -0
  442. package/dist/src/types/StartsWithLowercase.d.ts.map +1 -0
  443. package/dist/src/types/StartsWithLowercase.lua +2 -0
  444. package/dist/src/types/StartsWithUppercase.d.ts +2 -0
  445. package/dist/src/types/StartsWithUppercase.d.ts.map +1 -0
  446. package/dist/src/types/StartsWithUppercase.lua +2 -0
  447. package/dist/src/types/UnionToIntersection.d.ts +3 -0
  448. package/dist/src/types/UnionToIntersection.d.ts.map +1 -0
  449. package/dist/src/types/UnionToIntersection.lua +2 -0
  450. package/dist/src/types/UppercaseKeys.d.ts +3 -0
  451. package/dist/src/types/UppercaseKeys.d.ts.map +1 -0
  452. package/dist/src/types/UppercaseKeys.lua +2 -0
  453. package/dist/src/types/private/AllButFirst.d.ts +5 -0
  454. package/dist/src/types/private/AllButFirst.d.ts.map +1 -0
  455. package/dist/src/types/private/AllButFirst.lua +2 -0
  456. package/dist/src/types/private/CallbackTuple.d.ts +20 -0
  457. package/dist/src/types/private/CallbackTuple.d.ts.map +1 -0
  458. package/dist/src/types/private/CallbackTuple.lua +2 -0
  459. package/dist/src/types/private/MatchingCallbackCustom.d.ts +16 -0
  460. package/dist/src/types/private/MatchingCallbackCustom.d.ts.map +1 -0
  461. package/dist/src/types/private/MatchingCallbackCustom.lua +2 -0
  462. package/package.json +2 -2
  463. package/src/callbacks/customRevive.ts +13 -1
  464. package/src/callbacks/postAmbush.ts +7 -14
  465. package/src/callbacks/postBombExploded.ts +1 -1
  466. package/src/callbacks/postBoneSwing.ts +2 -1
  467. package/src/callbacks/postCollectibleEmpty.ts +2 -0
  468. package/src/callbacks/postCollectibleInitFirst.ts +2 -0
  469. package/src/callbacks/postDoorRender.ts +2 -2
  470. package/src/callbacks/postEffectStateChanged.ts +3 -6
  471. package/src/callbacks/postFamiliarStateChanged.ts +3 -3
  472. package/src/callbacks/postFlip.ts +2 -2
  473. package/src/callbacks/postGridEntity.ts +3 -7
  474. package/src/callbacks/postNPCStateChanged.ts +3 -3
  475. package/src/callbacks/postNewRoomEarly.ts +1 -1
  476. package/src/callbacks/postPickupStateChanged.ts +3 -6
  477. package/src/callbacks/postPlayerCollectible.ts +8 -12
  478. package/src/callbacks/postRoomClearChanged.ts +3 -7
  479. package/src/callbacks/reorderedCallbacks.ts +6 -6
  480. package/src/callbacks/subscriptions/{postBoneExploded.ts → postBombExploded.ts} +0 -0
  481. package/src/callbacks/subscriptions/postCollectibleEmpty.ts +1 -1
  482. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +1 -1
  483. package/src/callbacks/subscriptions/postCursedTeleport.ts +24 -1
  484. package/src/callbacks/subscriptions/postGridEntityBroken.ts +4 -7
  485. package/src/callbacks/subscriptions/postGridEntityCollision.ts +4 -4
  486. package/src/callbacks/subscriptions/postGridEntityInit.ts +4 -7
  487. package/src/callbacks/subscriptions/postGridEntityRemove.ts +10 -9
  488. package/src/callbacks/subscriptions/postGridEntityRender.ts +4 -7
  489. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +4 -7
  490. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +4 -7
  491. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +9 -2
  492. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +9 -2
  493. package/src/callbacks/subscriptions/postRockRender.ts +6 -7
  494. package/src/callbacks/subscriptions/postRockUpdate.ts +6 -7
  495. package/src/callbacks/subscriptions/postSpikesRender.ts +4 -7
  496. package/src/callbacks/subscriptions/postSpikesUpdate.ts +4 -7
  497. package/src/callbacks/subscriptions/postTNTRender.ts +4 -7
  498. package/src/callbacks/subscriptions/postTNTUpdate.ts +4 -7
  499. package/src/callbacks.ts +134 -0
  500. package/src/classes/DefaultMap.ts +3 -3
  501. package/src/classes/ModFeature.ts +14 -0
  502. package/src/classes/ModUpgraded.ts +205 -45
  503. package/src/classes/callbacks/PostAmbushFinished.ts +39 -0
  504. package/src/classes/callbacks/PostAmbushStarted.ts +39 -0
  505. package/src/classes/callbacks/PostBombExploded.ts +21 -0
  506. package/src/classes/callbacks/PostBombInitLate.ts +28 -0
  507. package/src/classes/callbacks/PostBoneSwing.ts +61 -0
  508. package/src/classes/callbacks/PostCollectibleEmpty.ts +72 -0
  509. package/src/classes/callbacks/PostCollectibleInitFirst.ts +37 -0
  510. package/src/classes/callbacks/PostCursedTeleport.ts +186 -0
  511. package/src/classes/callbacks/PostCustomRevive.ts +11 -0
  512. package/src/classes/callbacks/PostDiceRoomActivated.ts +68 -0
  513. package/src/classes/callbacks/PostDoorRender.ts +19 -0
  514. package/src/classes/callbacks/PostDoorUpdate.ts +19 -0
  515. package/src/classes/callbacks/PostEffectInitLate.ts +28 -0
  516. package/src/classes/callbacks/PostEffectStateChanged.ts +35 -0
  517. package/src/classes/callbacks/PostEsauJr.ts +11 -0
  518. package/src/classes/callbacks/PostFamiliarInitLate.ts +28 -0
  519. package/src/classes/callbacks/PostFamiliarStateChanged.ts +35 -0
  520. package/src/classes/callbacks/PostFirstEsauJr.ts +11 -0
  521. package/src/classes/callbacks/PostFirstFlip.ts +11 -0
  522. package/src/classes/callbacks/PostFlip.ts +11 -0
  523. package/src/classes/callbacks/PostGameStartedReordered.ts +11 -0
  524. package/src/classes/callbacks/PostGameStartedReorderedLast.ts +11 -0
  525. package/src/classes/callbacks/PostGreedModeWave.ts +37 -0
  526. package/src/classes/callbacks/PostGridEntityBroken.ts +11 -0
  527. package/src/classes/callbacks/PostGridEntityCollision.ts +65 -0
  528. package/src/classes/callbacks/PostGridEntityCustomBroken.ts +11 -0
  529. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +53 -0
  530. package/src/classes/callbacks/PostGridEntityCustomInit.ts +11 -0
  531. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +32 -0
  532. package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +11 -0
  533. package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +11 -0
  534. package/src/classes/callbacks/PostGridEntityInit.ts +11 -0
  535. package/src/classes/callbacks/PostGridEntityRemove.ts +39 -0
  536. package/src/classes/callbacks/PostGridEntityStateChanged.ts +11 -0
  537. package/src/classes/callbacks/PostGridEntityUpdate.ts +11 -0
  538. package/src/classes/callbacks/PostHolyMantleRemoved.ts +45 -0
  539. package/src/classes/callbacks/PostKnifeInitLate.ts +28 -0
  540. package/src/classes/callbacks/PostNewLevelReordered.ts +11 -0
  541. package/src/classes/callbacks/PostNewRoomEarly.ts +93 -0
  542. package/src/classes/callbacks/PostNewRoomReordered.ts +11 -0
  543. package/src/classes/callbacks/PostPEffectUpdateReordered.ts +11 -0
  544. package/src/classes/callbacks/PostPitRender.ts +21 -0
  545. package/src/classes/callbacks/PostPlayerFatalDamage.ts +127 -0
  546. package/src/classes/callbacks/PostPlayerRenderReordered.ts +11 -0
  547. package/src/classes/callbacks/PostPlayerUpdateReordered.ts +11 -0
  548. package/src/classes/callbacks/PostRoomClearChanged.ts +40 -0
  549. package/src/classes/callbacks/PostSpikesRender.ts +21 -0
  550. package/src/classes/callbacks/PreBerserkDeath.ts +42 -0
  551. package/src/classes/callbacks/PreCustomRevive.ts +11 -0
  552. package/src/classes/callbacks/validation/CustomCallbackAmbush.ts +28 -0
  553. package/src/classes/callbacks/validation/CustomCallbackBomb.ts +27 -0
  554. package/src/classes/callbacks/validation/CustomCallbackCollectible.ts +30 -0
  555. package/src/classes/callbacks/validation/CustomCallbackDoor.ts +28 -0
  556. package/src/classes/callbacks/validation/CustomCallbackEffect.ts +29 -0
  557. package/src/classes/callbacks/validation/CustomCallbackFamiliar.ts +30 -0
  558. package/src/classes/callbacks/validation/CustomCallbackGridEntity.ts +42 -0
  559. package/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.ts +36 -0
  560. package/src/classes/callbacks/validation/CustomCallbackKnife.ts +27 -0
  561. package/src/classes/callbacks/validation/CustomCallbackPit.ts +28 -0
  562. package/src/classes/callbacks/validation/CustomCallbackPlayer.ts +47 -0
  563. package/src/classes/callbacks/validation/CustomCallbackRevive.ts +27 -0
  564. package/src/classes/callbacks/validation/CustomCallbackSpikes.ts +28 -0
  565. package/src/classes/features/callbackLogic/CustomGridEntities.ts +398 -0
  566. package/src/classes/features/callbackLogic/CustomRevive.ts +214 -0
  567. package/src/classes/features/callbackLogic/EsauJrDetection.ts +98 -0
  568. package/src/classes/features/callbackLogic/FlipDetection.ts +82 -0
  569. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +160 -0
  570. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +90 -0
  571. package/src/classes/features/callbackLogic/GridEntityDetection.ts +231 -0
  572. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +126 -0
  573. package/src/classes/features/other/RunInNFrames.ts +256 -0
  574. package/src/classes/private/CustomCallback.ts +82 -0
  575. package/src/classes/private/Feature.ts +24 -0
  576. package/src/core/upgradeMod.ts +77 -17
  577. package/src/decorators.ts +13 -0
  578. package/src/enums/ISCFeature.ts +47 -0
  579. package/src/enums/LadderSubTypeCustom.ts +17 -0
  580. package/src/enums/ModCallbackCustom.ts +314 -243
  581. package/src/enums/ModCallbackCustom2.ts +57 -0
  582. package/src/features/customGridEntity.ts +3 -7
  583. package/src/features/{setHotkey.ts → customHotkeys.ts} +2 -2
  584. package/src/features/customPickup.ts +4 -2
  585. package/src/features/customStage/backdrop.ts +2 -1
  586. package/src/features/customStage/shadows.ts +2 -1
  587. package/src/features/customTrapdoor/init.ts +0 -1
  588. package/src/features/customTrapdoor/touched.ts +1 -1
  589. package/src/features/deployJSONRoom.ts +3 -7
  590. package/src/features/extraConsoleCommands/listCommands.ts +1 -1
  591. package/src/features/firstLast.ts +3 -7
  592. package/src/features/saveDataManager/constants.ts +1 -1
  593. package/src/features/saveDataManager/exports.ts +27 -0
  594. package/src/features/saveDataManager/main.ts +30 -21
  595. package/src/features/saveDataManager/save.ts +2 -2
  596. package/src/features.ts +90 -0
  597. package/src/functions/ambush.ts +26 -1
  598. package/src/functions/characters.ts +3 -3
  599. package/src/functions/charge.ts +30 -8
  600. package/src/functions/chargeBar.ts +6 -0
  601. package/src/functions/decorators.ts +45 -0
  602. package/src/functions/flying.ts +4 -4
  603. package/src/functions/gridEntities.ts +5 -5
  604. package/src/functions/gridEntitiesSpecific.ts +12 -12
  605. package/src/functions/itemPool.ts +2 -2
  606. package/src/functions/minimap.ts +4 -0
  607. package/src/functions/playerHealth.ts +6 -6
  608. package/src/functions/playerIndex.ts +2 -2
  609. package/src/functions/players.ts +26 -7
  610. package/src/functions/pocketItems.ts +1 -1
  611. package/src/functions/roomTransition.ts +3 -27
  612. package/src/functions/rooms.ts +1 -1
  613. package/src/functions/run.ts +12 -0
  614. package/src/functions/spawnCollectible.ts +44 -4
  615. package/src/functions/table.ts +11 -0
  616. package/src/functions/trinkets.ts +1 -1
  617. package/src/functions/tstlClass.ts +48 -24
  618. package/src/functions/utils.ts +56 -2
  619. package/src/index.ts +15 -2
  620. package/src/initCustomCallbacks.ts +1 -2
  621. package/src/initFeatures.ts +2 -2
  622. package/src/interfaces/SaveData.ts +4 -2
  623. package/src/interfaces/{private/TSTLClassMetatable.ts → TSTLClassMetatable.ts} +0 -0
  624. package/src/interfaces/private/{AddCallbackParameterCustom.ts → AddCallbackParametersCustom.ts} +4 -23
  625. package/src/interfaces/private/AddCallbackParametersCustom2.ts +343 -0
  626. package/src/maps/characterNameToTypeMap.ts +12 -12
  627. package/src/objects/callbackRegisterFunctions.ts +2 -4
  628. package/src/objects/characterDamageMultipliers.ts +6 -6
  629. package/src/objects/characterNames.ts +6 -6
  630. package/src/objects/playerNamePNGFileNames.ts +6 -6
  631. package/src/objects/playerPortraitPNGFileNames.ts +6 -6
  632. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +1 -1
  633. package/src/sets/charactersWithFreeDevilDealsSet.ts +1 -1
  634. package/src/sets/charactersWithNoRedHeartsSet.ts +3 -3
  635. package/src/sets/charactersWithNoSoulHeartsSet.ts +2 -2
  636. package/src/sets/lostStyleCharactersSet.ts +4 -4
  637. package/src/types/AllButFirst.ts +6 -0
  638. package/src/types/AllButLast.ts +3 -0
  639. package/src/types/Constructor.ts +2 -0
  640. package/src/types/FunctionTuple.ts +4 -0
  641. package/src/types/HasAllEnumKeys.ts +25 -0
  642. package/src/types/LowercaseKeys.ts +3 -0
  643. package/src/types/StartsWithLowercase.ts +3 -0
  644. package/src/types/StartsWithUppercase.ts +3 -0
  645. package/src/types/UnionToIntersection.ts +6 -0
  646. package/src/types/UppercaseKeys.ts +3 -0
  647. package/src/types/private/AllButFirst.ts +6 -0
  648. package/src/types/private/CallbackTuple.ts +21 -0
  649. package/src/types/private/MatchingCallbackCustom.ts +32 -0
  650. package/dist/src/callbacks/postCustomDoorEnter.d.ts +0 -6
  651. package/dist/src/callbacks/postCustomDoorEnter.d.ts.map +0 -1
  652. package/dist/src/callbacks/postCustomDoorEnter.lua +0 -199
  653. package/dist/src/callbacks/subscriptions/postCustomDoorEnter.d.ts +0 -9
  654. package/dist/src/callbacks/subscriptions/postCustomDoorEnter.d.ts.map +0 -1
  655. package/dist/src/callbacks/subscriptions/postCustomDoorEnter.lua +0 -29
  656. package/dist/src/classes/CustomCallback.d.ts +0 -8
  657. package/dist/src/classes/CustomCallback.d.ts.map +0 -1
  658. package/dist/src/classes/CustomCallback.lua +0 -28
  659. package/dist/src/features/customDoor.d.ts +0 -51
  660. package/dist/src/features/customDoor.d.ts.map +0 -1
  661. package/dist/src/features/customDoor.lua +0 -53
  662. package/dist/src/features/setHotkey.d.ts.map +0 -1
  663. package/dist/src/interfaces/private/AddCallbackParameterCustom.d.ts.map +0 -1
  664. package/dist/src/interfaces/private/TSTLClassMetatable.d.ts.map +0 -1
  665. package/src/callbacks/postCustomDoorEnter.ts +0 -250
  666. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -42
  667. package/src/classes/CustomCallback.ts +0 -23
  668. package/src/features/customDoor.ts +0 -66
@@ -0,0 +1,58 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__ArrayFind = ____lualib.__TS__ArrayFind
5
+ local ____exports = {}
6
+ local getNewLazarus
7
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
8
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
9
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
10
+ local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
11
+ local ____players = require("src.functions.players")
12
+ local getPlayersOfType = ____players.getPlayersOfType
13
+ local isTaintedLazarus = ____players.isTaintedLazarus
14
+ local ____Feature = require("src.classes.private.Feature")
15
+ local Feature = ____Feature.Feature
16
+ function getNewLazarus(self, oldLazarus)
17
+ local oldCharacter = oldLazarus:GetPlayerType()
18
+ local newCharacter
19
+ if oldCharacter == PlayerType.LAZARUS_B then
20
+ newCharacter = PlayerType.LAZARUS_2_B
21
+ elseif oldCharacter == PlayerType.LAZARUS_2_B then
22
+ newCharacter = PlayerType.LAZARUS_B
23
+ else
24
+ return nil
25
+ end
26
+ local playersOfType = getPlayersOfType(nil, newCharacter)
27
+ return __TS__ArrayFind(
28
+ playersOfType,
29
+ function(____, player) return player.FrameCount == oldLazarus.FrameCount end
30
+ )
31
+ end
32
+ ____exports.FlipDetection = __TS__Class()
33
+ local FlipDetection = ____exports.FlipDetection
34
+ FlipDetection.name = "FlipDetection"
35
+ __TS__ClassExtends(FlipDetection, Feature)
36
+ function FlipDetection.prototype.____constructor(self, postFlip, postFirstFlip)
37
+ Feature.prototype.____constructor(self)
38
+ self.v = {run = {usedFlipAtLeastOnce = false}}
39
+ self.useItemFlip = function(____, _collectibleType, _rng, player, _useFlags, _activeSlot, _customVarData)
40
+ if not isTaintedLazarus(nil, player) then
41
+ return nil
42
+ end
43
+ local newLazarus = getNewLazarus(nil, player)
44
+ if newLazarus == nil then
45
+ return nil
46
+ end
47
+ if not self.v.run.usedFlipAtLeastOnce then
48
+ self.v.run.usedFlipAtLeastOnce = true
49
+ self.postFirstFlip:fire(newLazarus, player)
50
+ end
51
+ self.postFlip:fire(newLazarus, player)
52
+ return nil
53
+ end
54
+ self.callbacksUsed = {{ModCallback.POST_USE_ITEM, {self.useItemFlip, CollectibleType.FLIP}}}
55
+ self.postFlip = postFlip
56
+ self.postFirstFlip = postFirstFlip
57
+ end
58
+ return ____exports
@@ -0,0 +1,27 @@
1
+ import { LevelStage, StageType } from "isaac-typescript-definitions";
2
+ import { PostGameStartedReordered } from "../../callbacks/PostGameStartedReordered";
3
+ import { PostGameStartedReorderedLast } from "../../callbacks/PostGameStartedReorderedLast";
4
+ import { PostNewLevelReordered } from "../../callbacks/PostNewLevelReordered";
5
+ import { PostNewRoomReordered } from "../../callbacks/PostNewRoomReordered";
6
+ import { Feature } from "../../private/Feature";
7
+ export declare class GameReorderedCallbacks extends Feature {
8
+ private currentStage;
9
+ private currentStageType;
10
+ private usedGlowingHourGlass;
11
+ private forceNewLevel;
12
+ private forceNewRoom;
13
+ private postGameStartedReordered;
14
+ private postNewLevelReordered;
15
+ private postNewRoomReordered;
16
+ private postGameStartedReorderedLast;
17
+ constructor(postGameStartedReordered: PostGameStartedReordered, postNewLevelReordered: PostNewLevelReordered, postNewRoomReordered: PostNewRoomReordered, postGameStartedReorderedLast: PostGameStartedReorderedLast);
18
+ private useItemGlowingHourGlass;
19
+ private postGameStarted;
20
+ private postNewLevel;
21
+ private postNewRoom;
22
+ private recordCurrentStage;
23
+ forceNewLevelCallback(): void;
24
+ forceNewRoomCallback(): void;
25
+ reorderedCallbacksSetStage(stage: LevelStage, stageType: StageType): void;
26
+ }
27
+ //# sourceMappingURL=GameReorderedCallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameReorderedCallbacks.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/callbackLogic/GameReorderedCallbacks.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,UAAU,EAEV,SAAS,EACV,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,OAAO;IACjD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,4BAA4B,CAA+B;gBAGjE,wBAAwB,EAAE,wBAAwB,EAClD,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B;IAsB5D,OAAO,CAAC,uBAAuB,CAM7B;IAGF,OAAO,CAAC,eAAe,CAMrB;IAGF,OAAO,CAAC,YAAY,CAYlB;IAGF,OAAO,CAAC,WAAW,CA+BjB;IAEF,OAAO,CAAC,kBAAkB;IAUnB,qBAAqB,IAAI,IAAI;IAK7B,oBAAoB,IAAI,IAAI;IAK5B,0BAA0B,CAC/B,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,GACnB,IAAI;CAIR"}
@@ -0,0 +1,108 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__Decorate = ____lualib.__TS__Decorate
5
+ local ____exports = {}
6
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
8
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
9
+ local ____cachedClasses = require("src.core.cachedClasses")
10
+ local game = ____cachedClasses.game
11
+ local ____decorators = require("src.decorators")
12
+ local Exported = ____decorators.Exported
13
+ local ____Feature = require("src.classes.private.Feature")
14
+ local Feature = ____Feature.Feature
15
+ ____exports.GameReorderedCallbacks = __TS__Class()
16
+ local GameReorderedCallbacks = ____exports.GameReorderedCallbacks
17
+ GameReorderedCallbacks.name = "GameReorderedCallbacks"
18
+ __TS__ClassExtends(GameReorderedCallbacks, Feature)
19
+ function GameReorderedCallbacks.prototype.____constructor(self, postGameStartedReordered, postNewLevelReordered, postNewRoomReordered, postGameStartedReorderedLast)
20
+ Feature.prototype.____constructor(self)
21
+ self.currentStage = nil
22
+ self.currentStageType = nil
23
+ self.usedGlowingHourGlass = false
24
+ self.forceNewLevel = false
25
+ self.forceNewRoom = false
26
+ self.useItemGlowingHourGlass = function()
27
+ self.usedGlowingHourGlass = true
28
+ return nil
29
+ end
30
+ self.postGameStarted = function(____, isContinued)
31
+ self:recordCurrentStage()
32
+ self.postGameStartedReordered:fire(isContinued)
33
+ self.postNewLevelReordered:fire()
34
+ self.postNewRoomReordered:fire()
35
+ self.postGameStartedReorderedLast:fire(isContinued)
36
+ end
37
+ self.postNewLevel = function()
38
+ local gameFrameCount = game:GetFrameCount()
39
+ if gameFrameCount == 0 and not self.forceNewLevel then
40
+ return
41
+ end
42
+ self.forceNewLevel = false
43
+ self:recordCurrentStage()
44
+ self.postNewLevelReordered:fire()
45
+ self.postNewRoomReordered:fire()
46
+ end
47
+ self.postNewRoom = function()
48
+ local gameFrameCount = game:GetFrameCount()
49
+ local level = game:GetLevel()
50
+ local stage = level:GetStage()
51
+ local stageType = level:GetStageType()
52
+ if self.usedGlowingHourGlass then
53
+ self.usedGlowingHourGlass = false
54
+ if self.currentStage ~= stage or self.currentStageType ~= stageType then
55
+ self:recordCurrentStage()
56
+ self.postNewLevelReordered:fire()
57
+ self.postNewRoomReordered:fire()
58
+ return
59
+ end
60
+ end
61
+ if (gameFrameCount == 0 or self.currentStage ~= stage or self.currentStageType ~= stageType) and not self.forceNewRoom then
62
+ return
63
+ end
64
+ self.forceNewRoom = false
65
+ self.postNewRoomReordered:fire()
66
+ end
67
+ self.callbacksUsed = {{ModCallback.POST_USE_ITEM, {self.useItemGlowingHourGlass, CollectibleType.GLOWING_HOUR_GLASS}}, {ModCallback.POST_GAME_STARTED, {self.postGameStarted}}, {ModCallback.POST_NEW_LEVEL, {self.postNewLevel}}, {ModCallback.POST_NEW_ROOM, {self.postNewRoom}}}
68
+ self.postGameStartedReordered = postGameStartedReordered
69
+ self.postNewLevelReordered = postNewLevelReordered
70
+ self.postNewRoomReordered = postNewRoomReordered
71
+ self.postGameStartedReorderedLast = postGameStartedReorderedLast
72
+ end
73
+ function GameReorderedCallbacks.prototype.recordCurrentStage(self)
74
+ local level = game:GetLevel()
75
+ local stage = level:GetStage()
76
+ local stageType = level:GetStageType()
77
+ self.currentStage = stage
78
+ self.currentStageType = stageType
79
+ end
80
+ function GameReorderedCallbacks.prototype.forceNewLevelCallback(self)
81
+ self.forceNewLevel = true
82
+ end
83
+ function GameReorderedCallbacks.prototype.forceNewRoomCallback(self)
84
+ self.forceNewRoom = true
85
+ end
86
+ function GameReorderedCallbacks.prototype.reorderedCallbacksSetStage(self, stage, stageType)
87
+ self.currentStage = stage
88
+ self.currentStageType = stageType
89
+ end
90
+ __TS__Decorate(
91
+ {Exported(nil)},
92
+ GameReorderedCallbacks.prototype,
93
+ "forceNewLevelCallback",
94
+ true
95
+ )
96
+ __TS__Decorate(
97
+ {Exported(nil)},
98
+ GameReorderedCallbacks.prototype,
99
+ "forceNewRoomCallback",
100
+ true
101
+ )
102
+ __TS__Decorate(
103
+ {Exported(nil)},
104
+ GameReorderedCallbacks.prototype,
105
+ "reorderedCallbacksSetStage",
106
+ true
107
+ )
108
+ return ____exports
@@ -0,0 +1,19 @@
1
+ import { PostGridEntityCollision } from "../../callbacks/PostGridEntityCollision";
2
+ import { PostGridEntityCustomCollision } from "../../callbacks/PostGridEntityCustomCollision";
3
+ import { DefaultMap } from "../../DefaultMap";
4
+ import { Feature } from "../../private/Feature";
5
+ import { CustomGridEntities } from "./CustomGridEntities";
6
+ export declare class GridEntityCollisionDetection extends Feature {
7
+ v: {
8
+ room: {
9
+ /** Indexed by grid entity pointer hash. */
10
+ collidingEntitiesMap: DefaultMap<PtrHash, Set<PtrHash>, []>;
11
+ };
12
+ };
13
+ private postGridEntityCollision;
14
+ private postGridEntityCustomCollision;
15
+ private customGridEntities;
16
+ constructor(postGridEntityCollision: PostGridEntityCollision, postGridEntityCustomCollision: PostGridEntityCustomCollision, customGridEntities: CustomGridEntities);
17
+ private postUpdate;
18
+ }
19
+ //# sourceMappingURL=GridEntityCollisionDetection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridEntityCollisionDetection.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/callbackLogic/GridEntityCollisionDetection.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,4BAA6B,SAAQ,OAAO;IACvC,CAAC;;YAEb,2CAA2C;;;MAK7C;IAEF,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,6BAA6B,CAAgC;IACrE,OAAO,CAAC,kBAAkB,CAAqB;gBAG7C,uBAAuB,EAAE,uBAAuB,EAChD,6BAA6B,EAAE,6BAA6B,EAC5D,kBAAkB,EAAE,kBAAkB;IAcxC,OAAO,CAAC,UAAU,CA0ChB;CACH"}
@@ -0,0 +1,69 @@
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 __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
7
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
8
+ local __TS__Iterator = ____lualib.__TS__Iterator
9
+ local ____exports = {}
10
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
11
+ local GridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.GridCollisionClass
12
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
13
+ local ____gridEntities = require("src.functions.gridEntities")
14
+ local getCollidingEntitiesWithGridEntity = ____gridEntities.getCollidingEntitiesWithGridEntity
15
+ local getGridEntities = ____gridEntities.getGridEntities
16
+ local ____DefaultMap = require("src.classes.DefaultMap")
17
+ local DefaultMap = ____DefaultMap.DefaultMap
18
+ local ____Feature = require("src.classes.private.Feature")
19
+ local Feature = ____Feature.Feature
20
+ ____exports.GridEntityCollisionDetection = __TS__Class()
21
+ local GridEntityCollisionDetection = ____exports.GridEntityCollisionDetection
22
+ GridEntityCollisionDetection.name = "GridEntityCollisionDetection"
23
+ __TS__ClassExtends(GridEntityCollisionDetection, Feature)
24
+ function GridEntityCollisionDetection.prototype.____constructor(self, postGridEntityCollision, postGridEntityCustomCollision, customGridEntities)
25
+ Feature.prototype.____constructor(self)
26
+ self.v = {room = {collidingEntitiesMap = __TS__New(
27
+ DefaultMap,
28
+ function() return __TS__New(Set) end
29
+ )}}
30
+ self.postUpdate = function()
31
+ local gridEntities = getGridEntities(nil)
32
+ local gridEntitiesWithCollision = __TS__ArrayFilter(
33
+ gridEntities,
34
+ function(____, gridEntity) return gridEntity.CollisionClass ~= GridCollisionClass.NONE end
35
+ )
36
+ for ____, gridEntity in ipairs(gridEntitiesWithCollision) do
37
+ local gridEntityPtrHash = GetPtrHash(gridEntity)
38
+ local oldCollidingEntities = self.v.room.collidingEntitiesMap:getAndSetDefault(gridEntityPtrHash)
39
+ local collidingEntities = getCollidingEntitiesWithGridEntity(nil, gridEntity)
40
+ for ____, entity in ipairs(collidingEntities) do
41
+ local entityPtrHash = GetPtrHash(entity)
42
+ if not oldCollidingEntities:has(entityPtrHash) then
43
+ oldCollidingEntities:add(entityPtrHash)
44
+ local gridEntityTypeCustom = self.customGridEntities:getCustomGridEntityType(gridEntity)
45
+ if gridEntityTypeCustom == nil then
46
+ self.postGridEntityCollision:fire(gridEntity, entity)
47
+ else
48
+ self.postGridEntityCustomCollision:fire(gridEntity, gridEntityTypeCustom, entity)
49
+ end
50
+ end
51
+ end
52
+ local collidingEntitiesPtrHashes = __TS__ArrayMap(
53
+ collidingEntities,
54
+ function(____, entity) return GetPtrHash(entity) end
55
+ )
56
+ local collidingEntitiesPtrHashSet = __TS__New(Set, collidingEntitiesPtrHashes)
57
+ for ____, oldCollidingEntityPtrHash in __TS__Iterator(oldCollidingEntities:values()) do
58
+ if not collidingEntitiesPtrHashSet:has(oldCollidingEntityPtrHash) then
59
+ oldCollidingEntities:delete(oldCollidingEntityPtrHash)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
65
+ self.postGridEntityCollision = postGridEntityCollision
66
+ self.postGridEntityCustomCollision = postGridEntityCustomCollision
67
+ self.customGridEntities = customGridEntities
68
+ end
69
+ return ____exports
@@ -0,0 +1,46 @@
1
+ import { GridEntityType } from "isaac-typescript-definitions";
2
+ import { PostGridEntityBroken } from "../../callbacks/PostGridEntityBroken";
3
+ import { PostGridEntityCustomBroken } from "../../callbacks/PostGridEntityCustomBroken";
4
+ import { PostGridEntityCustomInit } from "../../callbacks/PostGridEntityCustomInit";
5
+ import { PostGridEntityCustomRemove } from "../../callbacks/PostGridEntityCustomRemove";
6
+ import { PostGridEntityCustomStateChanged } from "../../callbacks/PostGridEntityCustomStateChanged";
7
+ import { PostGridEntityCustomUpdate } from "../../callbacks/PostGridEntityCustomUpdate";
8
+ import { PostGridEntityInit } from "../../callbacks/PostGridEntityInit";
9
+ import { PostGridEntityRemove } from "../../callbacks/PostGridEntityRemove";
10
+ import { PostGridEntityStateChanged } from "../../callbacks/PostGridEntityStateChanged";
11
+ import { PostGridEntityUpdate } from "../../callbacks/PostGridEntityUpdate";
12
+ import { Feature } from "../../private/Feature";
13
+ import { CustomGridEntities } from "./CustomGridEntities";
14
+ declare type GridEntityTuple = [
15
+ gridEntityType: GridEntityType,
16
+ variant: int,
17
+ state: int
18
+ ];
19
+ export declare class GridEntityDetection extends Feature {
20
+ v: {
21
+ room: {
22
+ /** Indexed by grid index. */
23
+ initializedGridEntities: Map<number, GridEntityTuple>;
24
+ };
25
+ };
26
+ private postGridEntityInit;
27
+ private postGridEntityCustomInit;
28
+ private postGridEntityUpdate;
29
+ private postGridEntityCustomUpdate;
30
+ private postGridEntityRemove;
31
+ private postGridEntityCustomRemove;
32
+ private postGridEntityStateChanged;
33
+ private postGridEntityCustomStateChanged;
34
+ private postGridEntityBroken;
35
+ private postGridEntityCustomBroken;
36
+ private customGridEntities;
37
+ constructor(postGridEntityInit: PostGridEntityInit, postGridEntityCustomInit: PostGridEntityCustomInit, postGridEntityUpdate: PostGridEntityUpdate, postGridEntityCustomUpdate: PostGridEntityCustomUpdate, postGridEntityRemove: PostGridEntityRemove, postGridEntityCustomRemove: PostGridEntityCustomRemove, postGridEntityStateChanged: PostGridEntityStateChanged, postGridEntityCustomStateChanged: PostGridEntityCustomStateChanged, postGridEntityBroken: PostGridEntityBroken, postGridEntityCustomBroken: PostGridEntityCustomBroken, customGridEntities: CustomGridEntities);
38
+ private postUpdate;
39
+ private checkGridEntitiesRemoved;
40
+ private checkGridEntityStateChanged;
41
+ private checkNewGridEntity;
42
+ private updateTupleInMap;
43
+ private postNewRoomReordered;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=GridEntityDetection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridEntityDetection.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/callbackLogic/GridEntityDetection.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAe,MAAM,8BAA8B,CAAC;AAO3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,aAAK,eAAe,GAAG;IACrB,cAAc,EAAE,cAAc;IAC9B,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,OAAO;IAC9B,CAAC;;YAEb,6BAA6B;;;MAG/B;IAEF,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,gCAAgC,CAAmC;IAC3E,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,kBAAkB,CAAqB;gBAG7C,kBAAkB,EAAE,kBAAkB,EACtC,wBAAwB,EAAE,wBAAwB,EAClD,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,0BAA0B,EAAE,0BAA0B,EACtD,gCAAgC,EAAE,gCAAgC,EAClE,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,kBAAkB,EAAE,kBAAkB;IA4BxC,OAAO,CAAC,UAAU,CAmBhB;IAEF,OAAO,CAAC,wBAAwB;IA8BhC,OAAO,CAAC,2BAA2B;IA0CnC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,oBAAoB,CAM1B;CACH"}
@@ -0,0 +1,126 @@
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 __TS__Iterator = ____lualib.__TS__Iterator
7
+ local ____exports = {}
8
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
9
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
10
+ local ____ISCFeature = require("src.enums.ISCFeature")
11
+ local ISCFeature = ____ISCFeature.ISCFeature
12
+ local ____ModCallbackCustom2 = require("src.enums.ModCallbackCustom2")
13
+ local ModCallbackCustom2 = ____ModCallbackCustom2.ModCallbackCustom2
14
+ local ____gridEntities = require("src.functions.gridEntities")
15
+ local getGridEntitiesMap = ____gridEntities.getGridEntitiesMap
16
+ local isGridEntityBroken = ____gridEntities.isGridEntityBroken
17
+ local ____Feature = require("src.classes.private.Feature")
18
+ local Feature = ____Feature.Feature
19
+ ____exports.GridEntityDetection = __TS__Class()
20
+ local GridEntityDetection = ____exports.GridEntityDetection
21
+ GridEntityDetection.name = "GridEntityDetection"
22
+ __TS__ClassExtends(GridEntityDetection, Feature)
23
+ function GridEntityDetection.prototype.____constructor(self, postGridEntityInit, postGridEntityCustomInit, postGridEntityUpdate, postGridEntityCustomUpdate, postGridEntityRemove, postGridEntityCustomRemove, postGridEntityStateChanged, postGridEntityCustomStateChanged, postGridEntityBroken, postGridEntityCustomBroken, customGridEntities)
24
+ Feature.prototype.____constructor(self)
25
+ self.v = {room = {initializedGridEntities = __TS__New(Map)}}
26
+ self.postUpdate = function()
27
+ local gridEntitiesMap = getGridEntitiesMap(nil)
28
+ self:checkGridEntitiesRemoved(gridEntitiesMap)
29
+ for ____, ____value in __TS__Iterator(gridEntitiesMap:entries()) do
30
+ local gridIndex = ____value[1]
31
+ local gridEntity = ____value[2]
32
+ self:checkGridEntityStateChanged(gridIndex, gridEntity)
33
+ self:checkNewGridEntity(gridIndex, gridEntity)
34
+ local gridEntityTypeCustom = self.customGridEntities:getCustomGridEntityType(gridIndex)
35
+ if gridEntityTypeCustom == nil then
36
+ self.postGridEntityUpdate:fire(gridEntity)
37
+ else
38
+ self.postGridEntityCustomUpdate:fire(gridEntity, gridEntityTypeCustom)
39
+ end
40
+ end
41
+ end
42
+ self.postNewRoomReordered = function()
43
+ local gridEntitiesMap = getGridEntitiesMap(nil)
44
+ for ____, ____value in __TS__Iterator(gridEntitiesMap:entries()) do
45
+ local gridIndex = ____value[1]
46
+ local gridEntity = ____value[2]
47
+ self:checkNewGridEntity(gridIndex, gridEntity)
48
+ end
49
+ end
50
+ self.featuresUsed = {ISCFeature.RUN_IN_N_FRAMES}
51
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
52
+ self.customCallbacksUsed = {{ModCallbackCustom2.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
53
+ self.postGridEntityInit = postGridEntityInit
54
+ self.postGridEntityCustomInit = postGridEntityCustomInit
55
+ self.postGridEntityUpdate = postGridEntityUpdate
56
+ self.postGridEntityCustomUpdate = postGridEntityCustomUpdate
57
+ self.postGridEntityRemove = postGridEntityRemove
58
+ self.postGridEntityCustomRemove = postGridEntityCustomRemove
59
+ self.postGridEntityStateChanged = postGridEntityStateChanged
60
+ self.postGridEntityCustomStateChanged = postGridEntityCustomStateChanged
61
+ self.postGridEntityBroken = postGridEntityBroken
62
+ self.postGridEntityCustomBroken = postGridEntityCustomBroken
63
+ self.customGridEntities = customGridEntities
64
+ end
65
+ function GridEntityDetection.prototype.checkGridEntitiesRemoved(self, gridEntitiesMap)
66
+ for ____, ____value in __TS__Iterator(self.v.room.initializedGridEntities:entries()) do
67
+ local gridIndex = ____value[1]
68
+ local gridEntityTuple = ____value[2]
69
+ local storedGridEntityType, storedGridEntityVariant = table.unpack(gridEntityTuple)
70
+ local gridEntity = gridEntitiesMap:get(gridIndex)
71
+ if gridEntity == nil or gridEntity:GetType() ~= storedGridEntityType then
72
+ self.v.room.initializedGridEntities:delete(gridIndex)
73
+ local gridEntityTypeCustom = self.customGridEntities:getCustomGridEntityType(gridIndex)
74
+ if gridEntityTypeCustom == nil then
75
+ self.postGridEntityRemove:fire(gridIndex, storedGridEntityType, storedGridEntityVariant)
76
+ else
77
+ self.postGridEntityCustomRemove:fire(gridIndex, gridEntityTypeCustom)
78
+ end
79
+ end
80
+ end
81
+ end
82
+ function GridEntityDetection.prototype.checkGridEntityStateChanged(self, gridIndex, gridEntity)
83
+ local gridEntityTuple = self.v.room.initializedGridEntities:get(gridIndex)
84
+ if gridEntityTuple == nil then
85
+ return
86
+ end
87
+ local _gridEntityType, _gridEntityVariant, oldState = table.unpack(gridEntityTuple)
88
+ local newState = gridEntity.State
89
+ if oldState ~= newState then
90
+ self:updateTupleInMap(gridEntity)
91
+ local gridEntityTypeCustom = self.customGridEntities:getCustomGridEntityType(gridEntity)
92
+ if gridEntityTypeCustom == nil then
93
+ self.postGridEntityStateChanged:fire(gridEntity, oldState, newState)
94
+ else
95
+ self.postGridEntityCustomStateChanged:fire(gridEntity, gridEntityTypeCustom, oldState, newState)
96
+ end
97
+ if isGridEntityBroken(nil, gridEntity) then
98
+ if gridEntityTypeCustom == nil then
99
+ self.postGridEntityBroken:fire(gridEntity)
100
+ else
101
+ self.postGridEntityCustomBroken:fire(gridEntity, gridEntityTypeCustom)
102
+ end
103
+ end
104
+ end
105
+ end
106
+ function GridEntityDetection.prototype.checkNewGridEntity(self, gridIndex, gridEntity)
107
+ local gridEntityType = gridEntity:GetType()
108
+ local gridEntityTuple = self.v.room.initializedGridEntities:get(gridIndex)
109
+ if gridEntityTuple == nil or gridEntityTuple[1] ~= gridEntityType then
110
+ self:updateTupleInMap(gridEntity)
111
+ local gridEntityTypeCustom = self.customGridEntities:getCustomGridEntityType(gridEntity)
112
+ if gridEntityTypeCustom == nil then
113
+ self.postGridEntityInit:fire(gridEntity)
114
+ else
115
+ self.postGridEntityCustomInit:fire(gridEntity, gridEntityTypeCustom)
116
+ end
117
+ end
118
+ end
119
+ function GridEntityDetection.prototype.updateTupleInMap(self, gridEntity)
120
+ local gridEntityType = gridEntity:GetType()
121
+ local variant = gridEntity:GetVariant()
122
+ local gridIndex = gridEntity:GetGridIndex()
123
+ local newTuple = {gridEntityType, variant, gridEntity.State}
124
+ self.v.room.initializedGridEntities:set(gridIndex, newTuple)
125
+ end
126
+ return ____exports
@@ -0,0 +1,24 @@
1
+ import { PlayerIndex } from "../../../types/PlayerIndex";
2
+ import { PostPEffectUpdateReordered } from "../../callbacks/PostPEffectUpdateReordered";
3
+ import { PostPlayerRenderReordered } from "../../callbacks/PostPlayerRenderReordered";
4
+ import { PostPlayerUpdateReordered } from "../../callbacks/PostPlayerUpdateReordered";
5
+ import { Feature } from "../../private/Feature";
6
+ export declare class PlayerReorderedCallbacks extends Feature {
7
+ v: {
8
+ run: {
9
+ postGameStartedFiredOnThisRun: boolean;
10
+ postPEffectUpdateQueue: PlayerIndex[];
11
+ postPlayerUpdateQueue: PlayerIndex[];
12
+ postPlayerRenderQueue: PlayerIndex[];
13
+ };
14
+ };
15
+ private postPEffectUpdateReordered;
16
+ private postPlayerRenderReordered;
17
+ private postPlayerUpdateReordered;
18
+ constructor(postPEffectUpdateReordered: PostPEffectUpdateReordered, postPlayerRenderReordered: PostPlayerRenderReordered, postPlayerUpdateReordered: PostPlayerUpdateReordered);
19
+ private postPEffectUpdate;
20
+ private postPlayerUpdate;
21
+ private postPlayerRender;
22
+ private postGameStartedReorderedLast;
23
+ }
24
+ //# sourceMappingURL=PlayerReorderedCallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerReorderedCallbacks.d.ts","sourceRoot":"","sources":["../../../../../src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,qBAAa,wBAAyB,SAAQ,OAAO;IACnC,CAAC;;;;;;;MAQf;IAEF,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,yBAAyB,CAA4B;gBAG3D,0BAA0B,EAAE,0BAA0B,EACtD,yBAAyB,EAAE,yBAAyB,EACpD,yBAAyB,EAAE,yBAAyB;IAuBtD,OAAO,CAAC,iBAAiB,CAQvB;IAGF,OAAO,CAAC,gBAAgB,CAQtB;IAGF,OAAO,CAAC,gBAAgB,CAWtB;IAGF,OAAO,CAAC,4BAA4B,CAelC;CACH"}
@@ -0,0 +1,72 @@
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 dequeue
6
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
8
+ local ____ModCallbackCustom2 = require("src.enums.ModCallbackCustom2")
9
+ local ModCallbackCustom2 = ____ModCallbackCustom2.ModCallbackCustom2
10
+ local ____array = require("src.functions.array")
11
+ local emptyArray = ____array.emptyArray
12
+ local ____playerIndex = require("src.functions.playerIndex")
13
+ local getPlayerFromIndex = ____playerIndex.getPlayerFromIndex
14
+ local getPlayerIndex = ____playerIndex.getPlayerIndex
15
+ local ____Feature = require("src.classes.private.Feature")
16
+ local Feature = ____Feature.Feature
17
+ function dequeue(self, playerIndexes, fireFunc)
18
+ for ____, playerIndex in ipairs(playerIndexes) do
19
+ local player = getPlayerFromIndex(nil, playerIndex)
20
+ if player ~= nil then
21
+ fireFunc(nil, player)
22
+ end
23
+ end
24
+ emptyArray(nil, playerIndexes)
25
+ end
26
+ ____exports.PlayerReorderedCallbacks = __TS__Class()
27
+ local PlayerReorderedCallbacks = ____exports.PlayerReorderedCallbacks
28
+ PlayerReorderedCallbacks.name = "PlayerReorderedCallbacks"
29
+ __TS__ClassExtends(PlayerReorderedCallbacks, Feature)
30
+ function PlayerReorderedCallbacks.prototype.____constructor(self, postPEffectUpdateReordered, postPlayerRenderReordered, postPlayerUpdateReordered)
31
+ Feature.prototype.____constructor(self)
32
+ self.v = {run = {postGameStartedFiredOnThisRun = false, postPEffectUpdateQueue = {}, postPlayerUpdateQueue = {}, postPlayerRenderQueue = {}}}
33
+ self.postPEffectUpdate = function(____, player)
34
+ if self.v.run.postGameStartedFiredOnThisRun then
35
+ self.postPEffectUpdateReordered:fire(player)
36
+ else
37
+ local playerIndex = getPlayerIndex(nil, player)
38
+ local ____self_v_run_postPEffectUpdateQueue_0 = self.v.run.postPEffectUpdateQueue
39
+ ____self_v_run_postPEffectUpdateQueue_0[#____self_v_run_postPEffectUpdateQueue_0 + 1] = playerIndex
40
+ end
41
+ end
42
+ self.postPlayerUpdate = function(____, player)
43
+ if self.v.run.postGameStartedFiredOnThisRun then
44
+ self.postPlayerUpdateReordered:fire(player)
45
+ else
46
+ local playerIndex = getPlayerIndex(nil, player)
47
+ local ____self_v_run_postPlayerUpdateQueue_1 = self.v.run.postPlayerUpdateQueue
48
+ ____self_v_run_postPlayerUpdateQueue_1[#____self_v_run_postPlayerUpdateQueue_1 + 1] = playerIndex
49
+ end
50
+ end
51
+ self.postPlayerRender = function(____, player, _renderOffset)
52
+ if self.v.run.postGameStartedFiredOnThisRun then
53
+ self.postPlayerRenderReordered:fire(player)
54
+ else
55
+ local playerIndex = getPlayerIndex(nil, player)
56
+ local ____self_v_run_postPlayerRenderQueue_2 = self.v.run.postPlayerRenderQueue
57
+ ____self_v_run_postPlayerRenderQueue_2[#____self_v_run_postPlayerRenderQueue_2 + 1] = playerIndex
58
+ end
59
+ end
60
+ self.postGameStartedReorderedLast = function()
61
+ self.v.run.postGameStartedFiredOnThisRun = true
62
+ dequeue(nil, self.v.run.postPEffectUpdateQueue, self.postPEffectUpdateReordered.fire)
63
+ dequeue(nil, self.v.run.postPlayerUpdateQueue, self.postPlayerUpdateReordered.fire)
64
+ dequeue(nil, self.v.run.postPlayerRenderQueue, self.postPlayerRenderReordered.fire)
65
+ end
66
+ self.callbacksUsed = {{ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}, {ModCallback.POST_PLAYER_UPDATE, {self.postPlayerUpdate}}, {ModCallback.POST_PLAYER_RENDER, {self.postPlayerRender}}}
67
+ self.customCallbacksUsed = {{ModCallbackCustom2.POST_GAME_STARTED_REORDERED_LAST, {self.postGameStartedReorderedLast}}}
68
+ self.postPEffectUpdateReordered = postPEffectUpdateReordered
69
+ self.postPlayerRenderReordered = postPlayerRenderReordered
70
+ self.postPlayerUpdateReordered = postPlayerUpdateReordered
71
+ end
72
+ return ____exports