isaacscript-common 18.2.1 → 18.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/dist/index.d.ts +179 -119
  2. package/dist/isaacscript-common.lua +464 -416
  3. package/dist/src/callbackClasses.d.ts +2 -0
  4. package/dist/src/callbackClasses.d.ts.map +1 -1
  5. package/dist/src/callbackClasses.lua +10 -0
  6. package/dist/src/callbacks.d.ts +101 -99
  7. package/dist/src/callbacks.d.ts.map +1 -1
  8. package/dist/src/callbacks.lua +2 -0
  9. package/dist/src/classes/ModFeature.d.ts +2 -2
  10. package/dist/src/classes/ModFeature.d.ts.map +1 -1
  11. package/dist/src/classes/ModFeature.lua +18 -17
  12. package/dist/src/classes/ModUpgradedBase.d.ts.map +1 -1
  13. package/dist/src/classes/ModUpgradedBase.lua +10 -10
  14. package/dist/src/classes/callbacks/EntityTakeDmgFilter.lua +1 -1
  15. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.d.ts.map +1 -1
  16. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.lua +1 -1
  17. package/dist/src/classes/callbacks/InputActionFilter.d.ts +11 -0
  18. package/dist/src/classes/callbacks/InputActionFilter.d.ts.map +1 -0
  19. package/dist/src/classes/callbacks/InputActionFilter.lua +23 -0
  20. package/dist/src/classes/callbacks/InputActionPlayer.d.ts +11 -0
  21. package/dist/src/classes/callbacks/InputActionPlayer.d.ts.map +1 -0
  22. package/dist/src/classes/callbacks/InputActionPlayer.lua +33 -0
  23. package/dist/src/classes/callbacks/PostAmbushFinished.lua +1 -1
  24. package/dist/src/classes/callbacks/PostAmbushStarted.lua +1 -1
  25. package/dist/src/classes/callbacks/PostBombExploded.lua +1 -1
  26. package/dist/src/classes/callbacks/PostBombInitLate.lua +1 -1
  27. package/dist/src/classes/callbacks/PostBoneSwing.lua +1 -1
  28. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  29. package/dist/src/classes/callbacks/PostCollectibleEmpty.lua +1 -1
  30. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -1
  31. package/dist/src/classes/callbacks/PostCollectibleInitFirst.lua +1 -1
  32. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts +2 -2
  33. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
  34. package/dist/src/classes/callbacks/PostCursedTeleport.lua +19 -21
  35. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  36. package/dist/src/classes/callbacks/PostDiceRoomActivated.lua +1 -1
  37. package/dist/src/classes/callbacks/PostDoorRender.lua +1 -1
  38. package/dist/src/classes/callbacks/PostDoorUpdate.lua +1 -1
  39. package/dist/src/classes/callbacks/PostEffectInitLate.lua +1 -1
  40. package/dist/src/classes/callbacks/PostEffectStateChanged.lua +1 -1
  41. package/dist/src/classes/callbacks/PostFamiliarInitLate.lua +1 -1
  42. package/dist/src/classes/callbacks/PostFamiliarStateChanged.lua +1 -1
  43. package/dist/src/classes/callbacks/PostGreedModeWave.lua +1 -1
  44. package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +1 -1
  45. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  46. package/dist/src/classes/callbacks/PostItemDischarge.lua +2 -2
  47. package/dist/src/classes/callbacks/PostKnifeInitLate.lua +1 -1
  48. package/dist/src/classes/callbacks/PostLaserInitLate.lua +1 -1
  49. package/dist/src/classes/callbacks/PostNPCDeathFilter.lua +1 -1
  50. package/dist/src/classes/callbacks/PostNPCInitFilter.lua +1 -1
  51. package/dist/src/classes/callbacks/PostNPCInitLate.lua +1 -1
  52. package/dist/src/classes/callbacks/PostNPCRenderFilter.lua +1 -1
  53. package/dist/src/classes/callbacks/PostNPCStateChanged.lua +1 -1
  54. package/dist/src/classes/callbacks/PostNPCUpdateFilter.lua +1 -1
  55. package/dist/src/classes/callbacks/PostNewRoomEarly.lua +1 -1
  56. package/dist/src/classes/callbacks/PostPickupCollect.lua +1 -1
  57. package/dist/src/classes/callbacks/PostPickupInitFirst.lua +1 -1
  58. package/dist/src/classes/callbacks/PostPickupInitLate.lua +1 -1
  59. package/dist/src/classes/callbacks/PostPickupStateChanged.lua +1 -1
  60. package/dist/src/classes/callbacks/PostPitRender.lua +1 -1
  61. package/dist/src/classes/callbacks/PostPitUpdate.lua +1 -1
  62. package/dist/src/classes/callbacks/PostPlayerChangeHealth.lua +1 -1
  63. package/dist/src/classes/callbacks/PostPlayerChangeStat.lua +1 -1
  64. package/dist/src/classes/callbacks/PostPlayerChangeType.lua +1 -1
  65. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +1 -1
  66. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
  67. package/dist/src/classes/callbacks/PostPlayerFatalDamage.lua +19 -21
  68. package/dist/src/classes/callbacks/PostPlayerInitFirst.lua +1 -1
  69. package/dist/src/classes/callbacks/PostPlayerInitLate.lua +1 -1
  70. package/dist/src/classes/callbacks/PostPoopRender.lua +1 -1
  71. package/dist/src/classes/callbacks/PostPoopUpdate.lua +1 -1
  72. package/dist/src/classes/callbacks/PostPressurePlateRender.lua +1 -1
  73. package/dist/src/classes/callbacks/PostPressurePlateUpdate.lua +1 -1
  74. package/dist/src/classes/callbacks/PostProjectileInitLate.lua +1 -1
  75. package/dist/src/classes/callbacks/PostPurchase.lua +1 -1
  76. package/dist/src/classes/callbacks/PostRockRender.lua +1 -1
  77. package/dist/src/classes/callbacks/PostRockUpdate.lua +1 -1
  78. package/dist/src/classes/callbacks/PostRoomClearChanged.lua +2 -2
  79. package/dist/src/classes/callbacks/PostSacrifice.d.ts.map +1 -1
  80. package/dist/src/classes/callbacks/PostSacrifice.lua +4 -8
  81. package/dist/src/classes/callbacks/PostSlotCollision.lua +1 -1
  82. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -1
  83. package/dist/src/classes/callbacks/PostSlotDestroyed.lua +2 -2
  84. package/dist/src/classes/callbacks/PostSpikesRender.lua +1 -1
  85. package/dist/src/classes/callbacks/PostSpikesUpdate.lua +1 -1
  86. package/dist/src/classes/callbacks/PostTNTRender.lua +1 -1
  87. package/dist/src/classes/callbacks/PostTNTUpdate.lua +1 -1
  88. package/dist/src/classes/callbacks/PostTearInitLate.lua +1 -1
  89. package/dist/src/classes/callbacks/PostTearInitVeryLate.lua +1 -1
  90. package/dist/src/classes/callbacks/PostTransformation.lua +1 -1
  91. package/dist/src/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  92. package/dist/src/classes/callbacks/PostTrinketBreak.lua +5 -11
  93. package/dist/src/classes/callbacks/PreBerserkDeath.lua +1 -1
  94. package/dist/src/classes/callbacks/PreGetPedestal.d.ts.map +1 -1
  95. package/dist/src/classes/callbacks/PreGetPedestal.lua +1 -1
  96. package/dist/src/classes/callbacks/PreNPCCollisionFilter.lua +1 -1
  97. package/dist/src/classes/callbacks/PreNPCUpdateFilter.lua +1 -1
  98. package/dist/src/classes/callbacks/PreNewLevel.lua +1 -1
  99. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  100. package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +2 -2
  101. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +2 -2
  102. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  103. package/dist/src/classes/features/callbackLogic/CustomRevive.lua +5 -5
  104. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  105. package/dist/src/classes/features/callbackLogic/EsauJrDetection.lua +1 -1
  106. package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -1
  107. package/dist/src/classes/features/callbackLogic/FlipDetection.lua +1 -1
  108. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  109. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +1 -1
  110. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -1
  111. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.lua +1 -1
  112. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.d.ts.map +1 -1
  113. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.lua +1 -1
  114. package/dist/src/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts.map +1 -1
  115. package/dist/src/classes/features/callbackLogic/GridEntityUpdateDetection.lua +2 -2
  116. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts +1 -1
  117. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -1
  118. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.lua +4 -3
  119. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts +8 -3
  120. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts.map +1 -1
  121. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.lua +16 -21
  122. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
  123. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +2 -2
  124. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.d.ts.map +1 -1
  125. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.lua +1 -1
  126. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.d.ts.map +1 -1
  127. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.lua +2 -2
  128. package/dist/src/classes/features/other/CharacterHealthConversion.d.ts.map +1 -1
  129. package/dist/src/classes/features/other/CharacterHealthConversion.lua +2 -2
  130. package/dist/src/classes/features/other/CharacterStats.lua +1 -1
  131. package/dist/src/classes/features/other/CollectibleItemPoolType.d.ts.map +1 -1
  132. package/dist/src/classes/features/other/CollectibleItemPoolType.lua +1 -1
  133. package/dist/src/classes/features/other/CustomHotkeys.lua +1 -1
  134. package/dist/src/classes/features/other/CustomItemPools.lua +1 -1
  135. package/dist/src/classes/features/other/CustomPickups.d.ts.map +1 -1
  136. package/dist/src/classes/features/other/CustomPickups.lua +1 -1
  137. package/dist/src/classes/features/other/CustomStages.d.ts.map +1 -1
  138. package/dist/src/classes/features/other/CustomStages.lua +2 -2
  139. package/dist/src/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  140. package/dist/src/classes/features/other/CustomTrapdoors.lua +2 -2
  141. package/dist/src/classes/features/other/DisableAllSound.lua +1 -1
  142. package/dist/src/classes/features/other/DisableInputs.d.ts.map +1 -1
  143. package/dist/src/classes/features/other/DisableInputs.lua +1 -1
  144. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts +1 -1
  145. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  146. package/dist/src/classes/features/other/ExtraConsoleCommands.lua +17 -16
  147. package/dist/src/classes/features/other/FadeInRemover.lua +1 -1
  148. package/dist/src/classes/features/other/FastReset.lua +1 -1
  149. package/dist/src/classes/features/other/ModdedElementDetection.lua +1 -1
  150. package/dist/src/classes/features/other/NoSirenSteal.d.ts.map +1 -1
  151. package/dist/src/classes/features/other/NoSirenSteal.lua +1 -1
  152. package/dist/src/classes/features/other/Pause.d.ts.map +1 -1
  153. package/dist/src/classes/features/other/Pause.lua +1 -1
  154. package/dist/src/classes/features/other/PersistentEntities.lua +2 -2
  155. package/dist/src/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  156. package/dist/src/classes/features/other/PickupIndexCreation.lua +1 -1
  157. package/dist/src/classes/features/other/PlayerInventory.lua +1 -1
  158. package/dist/src/classes/features/other/PonyDetection.lua +1 -1
  159. package/dist/src/classes/features/other/PressInput.d.ts.map +1 -1
  160. package/dist/src/classes/features/other/PressInput.lua +1 -1
  161. package/dist/src/classes/features/other/PreventChildEntities.lua +1 -1
  162. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts.map +1 -1
  163. package/dist/src/classes/features/other/PreventCollectibleRotation.lua +1 -1
  164. package/dist/src/classes/features/other/PreventGridEntityRespawn.d.ts.map +1 -1
  165. package/dist/src/classes/features/other/PreventGridEntityRespawn.lua +2 -2
  166. package/dist/src/classes/features/other/RoomClearFrame.lua +1 -1
  167. package/dist/src/classes/features/other/RoomHistory.lua +1 -1
  168. package/dist/src/classes/features/other/RunInNFrames.lua +1 -1
  169. package/dist/src/classes/features/other/RunNextRoom.lua +1 -1
  170. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  171. package/dist/src/classes/features/other/SaveDataManager.lua +2 -2
  172. package/dist/src/classes/features/other/StageHistory.d.ts.map +1 -1
  173. package/dist/src/classes/features/other/StageHistory.lua +1 -1
  174. package/dist/src/classes/features/other/TaintedLazarusPlayers.lua +1 -1
  175. package/dist/src/classes/features/other/debugDisplay/DebugDisplayBomb.lua +1 -1
  176. package/dist/src/classes/features/other/debugDisplay/DebugDisplayDoor.lua +1 -1
  177. package/dist/src/classes/features/other/debugDisplay/DebugDisplayEffect.lua +1 -1
  178. package/dist/src/classes/features/other/debugDisplay/DebugDisplayFamiliar.lua +1 -1
  179. package/dist/src/classes/features/other/debugDisplay/DebugDisplayKnife.lua +1 -1
  180. package/dist/src/classes/features/other/debugDisplay/DebugDisplayLaser.lua +1 -1
  181. package/dist/src/classes/features/other/debugDisplay/DebugDisplayNPC.lua +1 -1
  182. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPickup.lua +1 -1
  183. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPit.lua +1 -1
  184. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPlayer.lua +1 -1
  185. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPoop.lua +1 -1
  186. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPressurePlate.lua +1 -1
  187. package/dist/src/classes/features/other/debugDisplay/DebugDisplayProjectile.lua +1 -1
  188. package/dist/src/classes/features/other/debugDisplay/DebugDisplayRock.lua +1 -1
  189. package/dist/src/classes/features/other/debugDisplay/DebugDisplaySlot.lua +1 -1
  190. package/dist/src/classes/features/other/debugDisplay/DebugDisplaySpikes.lua +1 -1
  191. package/dist/src/classes/features/other/debugDisplay/DebugDisplayTNT.lua +1 -1
  192. package/dist/src/classes/features/other/debugDisplay/DebugDisplayTear.lua +1 -1
  193. package/dist/src/classes/private/CustomCallback.d.ts +2 -2
  194. package/dist/src/classes/private/CustomCallback.d.ts.map +1 -1
  195. package/dist/src/classes/private/CustomCallback.lua +7 -10
  196. package/dist/src/enums/ModCallbackCustom.d.ts +141 -99
  197. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  198. package/dist/src/enums/ModCallbackCustom.lua +103 -99
  199. package/dist/src/functions/array.d.ts +5 -1
  200. package/dist/src/functions/array.d.ts.map +1 -1
  201. package/dist/src/functions/array.lua +17 -8
  202. package/dist/src/functions/decorators.d.ts.map +1 -1
  203. package/dist/src/functions/decorators.lua +12 -22
  204. package/dist/src/functions/logMisc.d.ts +1 -0
  205. package/dist/src/functions/logMisc.d.ts.map +1 -1
  206. package/dist/src/functions/logMisc.lua +2 -1
  207. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +13 -1
  208. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  209. package/dist/src/types/ModUpgraded.d.ts +1 -1
  210. package/dist/src/types/ModUpgraded.d.ts.map +1 -1
  211. package/dist/src/types/private/CallbackTuple.d.ts +17 -8
  212. package/dist/src/types/private/CallbackTuple.d.ts.map +1 -1
  213. package/package.json +1 -1
  214. package/src/callbackClasses.ts +2 -0
  215. package/src/callbacks.ts +2 -0
  216. package/src/classes/ModFeature.ts +43 -21
  217. package/src/classes/ModUpgradedBase.ts +18 -10
  218. package/src/classes/callbacks/EntityTakeDmgFilter.ts +1 -1
  219. package/src/classes/callbacks/EntityTakeDmgPlayer.ts +2 -1
  220. package/src/classes/callbacks/InputActionFilter.ts +46 -0
  221. package/src/classes/callbacks/InputActionPlayer.ts +67 -0
  222. package/src/classes/callbacks/PostAmbushFinished.ts +1 -1
  223. package/src/classes/callbacks/PostAmbushStarted.ts +1 -1
  224. package/src/classes/callbacks/PostBombExploded.ts +1 -1
  225. package/src/classes/callbacks/PostBombInitLate.ts +1 -1
  226. package/src/classes/callbacks/PostBoneSwing.ts +1 -1
  227. package/src/classes/callbacks/PostCollectibleEmpty.ts +2 -1
  228. package/src/classes/callbacks/PostCollectibleInitFirst.ts +2 -1
  229. package/src/classes/callbacks/PostCursedTeleport.ts +52 -60
  230. package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -1
  231. package/src/classes/callbacks/PostDoorRender.ts +1 -1
  232. package/src/classes/callbacks/PostDoorUpdate.ts +1 -1
  233. package/src/classes/callbacks/PostEffectInitLate.ts +1 -1
  234. package/src/classes/callbacks/PostEffectStateChanged.ts +1 -1
  235. package/src/classes/callbacks/PostFamiliarInitLate.ts +1 -1
  236. package/src/classes/callbacks/PostFamiliarStateChanged.ts +1 -1
  237. package/src/classes/callbacks/PostGreedModeWave.ts +1 -1
  238. package/src/classes/callbacks/PostHolyMantleRemoved.ts +1 -1
  239. package/src/classes/callbacks/PostItemDischarge.ts +3 -2
  240. package/src/classes/callbacks/PostKnifeInitLate.ts +1 -1
  241. package/src/classes/callbacks/PostLaserInitLate.ts +1 -1
  242. package/src/classes/callbacks/PostNPCDeathFilter.ts +1 -1
  243. package/src/classes/callbacks/PostNPCInitFilter.ts +1 -1
  244. package/src/classes/callbacks/PostNPCInitLate.ts +1 -1
  245. package/src/classes/callbacks/PostNPCRenderFilter.ts +1 -1
  246. package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
  247. package/src/classes/callbacks/PostNPCUpdateFilter.ts +1 -1
  248. package/src/classes/callbacks/PostNewRoomEarly.ts +2 -2
  249. package/src/classes/callbacks/PostPickupCollect.ts +1 -1
  250. package/src/classes/callbacks/PostPickupInitFirst.ts +1 -1
  251. package/src/classes/callbacks/PostPickupInitLate.ts +1 -1
  252. package/src/classes/callbacks/PostPickupStateChanged.ts +1 -1
  253. package/src/classes/callbacks/PostPitRender.ts +1 -1
  254. package/src/classes/callbacks/PostPitUpdate.ts +1 -1
  255. package/src/classes/callbacks/PostPlayerChangeHealth.ts +1 -1
  256. package/src/classes/callbacks/PostPlayerChangeStat.ts +1 -1
  257. package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
  258. package/src/classes/callbacks/PostPlayerFatalDamage.ts +39 -48
  259. package/src/classes/callbacks/PostPlayerInitFirst.ts +2 -2
  260. package/src/classes/callbacks/PostPlayerInitLate.ts +1 -1
  261. package/src/classes/callbacks/PostPoopRender.ts +1 -1
  262. package/src/classes/callbacks/PostPoopUpdate.ts +1 -1
  263. package/src/classes/callbacks/PostPressurePlateRender.ts +1 -1
  264. package/src/classes/callbacks/PostPressurePlateUpdate.ts +1 -1
  265. package/src/classes/callbacks/PostProjectileInitLate.ts +1 -1
  266. package/src/classes/callbacks/PostPurchase.ts +1 -1
  267. package/src/classes/callbacks/PostRockRender.ts +1 -1
  268. package/src/classes/callbacks/PostRockUpdate.ts +1 -1
  269. package/src/classes/callbacks/PostRoomClearChanged.ts +2 -2
  270. package/src/classes/callbacks/PostSacrifice.ts +5 -20
  271. package/src/classes/callbacks/PostSlotCollision.ts +1 -1
  272. package/src/classes/callbacks/PostSlotDestroyed.ts +3 -2
  273. package/src/classes/callbacks/PostSpikesRender.ts +1 -1
  274. package/src/classes/callbacks/PostSpikesUpdate.ts +1 -1
  275. package/src/classes/callbacks/PostTNTRender.ts +1 -1
  276. package/src/classes/callbacks/PostTNTUpdate.ts +1 -1
  277. package/src/classes/callbacks/PostTearInitLate.ts +1 -1
  278. package/src/classes/callbacks/PostTearInitVeryLate.ts +1 -1
  279. package/src/classes/callbacks/PostTransformation.ts +1 -1
  280. package/src/classes/callbacks/PostTrinketBreak.ts +4 -18
  281. package/src/classes/callbacks/PreBerserkDeath.ts +1 -1
  282. package/src/classes/callbacks/PreGetPedestal.ts +2 -1
  283. package/src/classes/callbacks/PreNPCCollisionFilter.ts +1 -1
  284. package/src/classes/callbacks/PreNPCUpdateFilter.ts +1 -1
  285. package/src/classes/callbacks/PreNewLevel.ts +1 -1
  286. package/src/classes/features/callbackLogic/CustomGridEntities.ts +5 -3
  287. package/src/classes/features/callbackLogic/CustomRevive.ts +19 -18
  288. package/src/classes/features/callbackLogic/EsauJrDetection.ts +6 -2
  289. package/src/classes/features/callbackLogic/FlipDetection.ts +2 -1
  290. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +13 -5
  291. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +2 -1
  292. package/src/classes/features/callbackLogic/GridEntityRenderDetection.ts +2 -1
  293. package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +3 -2
  294. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +8 -5
  295. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +67 -71
  296. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +10 -5
  297. package/src/classes/features/callbackLogic/SlotRenderDetection.ts +2 -1
  298. package/src/classes/features/callbackLogic/SlotUpdateDetection.ts +3 -2
  299. package/src/classes/features/other/CharacterHealthConversion.ts +3 -2
  300. package/src/classes/features/other/CharacterStats.ts +1 -1
  301. package/src/classes/features/other/CollectibleItemPoolType.ts +2 -1
  302. package/src/classes/features/other/CustomHotkeys.ts +1 -1
  303. package/src/classes/features/other/CustomItemPools.ts +1 -1
  304. package/src/classes/features/other/CustomPickups.ts +3 -2
  305. package/src/classes/features/other/CustomStages.ts +7 -6
  306. package/src/classes/features/other/CustomTrapdoors.ts +4 -6
  307. package/src/classes/features/other/DisableAllSound.ts +1 -1
  308. package/src/classes/features/other/DisableInputs.ts +6 -3
  309. package/src/classes/features/other/ExtraConsoleCommands.ts +32 -31
  310. package/src/classes/features/other/FadeInRemover.ts +1 -1
  311. package/src/classes/features/other/FastReset.ts +1 -1
  312. package/src/classes/features/other/ModdedElementDetection.ts +1 -1
  313. package/src/classes/features/other/NoSirenSteal.ts +2 -1
  314. package/src/classes/features/other/Pause.ts +3 -2
  315. package/src/classes/features/other/PersistentEntities.ts +2 -2
  316. package/src/classes/features/other/PickupIndexCreation.ts +3 -2
  317. package/src/classes/features/other/PlayerInventory.ts +2 -2
  318. package/src/classes/features/other/PonyDetection.ts +1 -1
  319. package/src/classes/features/other/PressInput.ts +2 -1
  320. package/src/classes/features/other/PreventChildEntities.ts +1 -1
  321. package/src/classes/features/other/PreventCollectibleRotation.ts +4 -2
  322. package/src/classes/features/other/PreventGridEntityRespawn.ts +3 -2
  323. package/src/classes/features/other/RoomClearFrame.ts +1 -1
  324. package/src/classes/features/other/RoomHistory.ts +1 -1
  325. package/src/classes/features/other/RunInNFrames.ts +2 -2
  326. package/src/classes/features/other/RunNextRoom.ts +1 -1
  327. package/src/classes/features/other/SaveDataManager.ts +6 -5
  328. package/src/classes/features/other/StageHistory.ts +1 -4
  329. package/src/classes/features/other/TaintedLazarusPlayers.ts +1 -1
  330. package/src/classes/features/other/debugDisplay/DebugDisplayBomb.ts +1 -1
  331. package/src/classes/features/other/debugDisplay/DebugDisplayDoor.ts +1 -1
  332. package/src/classes/features/other/debugDisplay/DebugDisplayEffect.ts +1 -1
  333. package/src/classes/features/other/debugDisplay/DebugDisplayFamiliar.ts +1 -1
  334. package/src/classes/features/other/debugDisplay/DebugDisplayKnife.ts +1 -1
  335. package/src/classes/features/other/debugDisplay/DebugDisplayLaser.ts +1 -1
  336. package/src/classes/features/other/debugDisplay/DebugDisplayNPC.ts +1 -1
  337. package/src/classes/features/other/debugDisplay/DebugDisplayPickup.ts +1 -1
  338. package/src/classes/features/other/debugDisplay/DebugDisplayPit.ts +1 -1
  339. package/src/classes/features/other/debugDisplay/DebugDisplayPlayer.ts +1 -1
  340. package/src/classes/features/other/debugDisplay/DebugDisplayPoop.ts +1 -1
  341. package/src/classes/features/other/debugDisplay/DebugDisplayPressurePlate.ts +1 -1
  342. package/src/classes/features/other/debugDisplay/DebugDisplayProjectile.ts +1 -1
  343. package/src/classes/features/other/debugDisplay/DebugDisplayRock.ts +1 -1
  344. package/src/classes/features/other/debugDisplay/DebugDisplaySlot.ts +1 -1
  345. package/src/classes/features/other/debugDisplay/DebugDisplaySpikes.ts +1 -1
  346. package/src/classes/features/other/debugDisplay/DebugDisplayTNT.ts +1 -1
  347. package/src/classes/features/other/debugDisplay/DebugDisplayTear.ts +1 -1
  348. package/src/classes/private/CustomCallback.ts +19 -15
  349. package/src/enums/ModCallbackCustom.ts +44 -0
  350. package/src/functions/array.ts +14 -5
  351. package/src/functions/decorators.ts +14 -20
  352. package/src/functions/logMisc.ts +4 -1
  353. package/src/interfaces/private/AddCallbackParametersCustom.ts +24 -0
  354. package/src/types/ModUpgraded.ts +1 -1
  355. package/src/types/private/CallbackTuple.ts +17 -8
  356. package/dist/src/types/private/AllButFirst.d.ts +0 -5
  357. package/dist/src/types/private/AllButFirst.d.ts.map +0 -1
  358. package/dist/src/types/private/AllButFirst.lua +0 -2
  359. package/src/types/private/AllButFirst.ts +0 -6
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 18.2.1
3
+ isaacscript-common 18.3.1
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -2593,203 +2593,207 @@ ____exports.ModCallbackCustom.ENTITY_TAKE_DMG_FILTER = 0
2593
2593
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.ENTITY_TAKE_DMG_FILTER] = "ENTITY_TAKE_DMG_FILTER"
2594
2594
  ____exports.ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER = 1
2595
2595
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER] = "ENTITY_TAKE_DMG_PLAYER"
2596
- ____exports.ModCallbackCustom.POST_AMBUSH_FINISHED = 2
2596
+ ____exports.ModCallbackCustom.INPUT_ACTION_FILTER = 2
2597
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.INPUT_ACTION_FILTER] = "INPUT_ACTION_FILTER"
2598
+ ____exports.ModCallbackCustom.INPUT_ACTION_PLAYER = 3
2599
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.INPUT_ACTION_PLAYER] = "INPUT_ACTION_PLAYER"
2600
+ ____exports.ModCallbackCustom.POST_AMBUSH_FINISHED = 4
2597
2601
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_AMBUSH_FINISHED] = "POST_AMBUSH_FINISHED"
2598
- ____exports.ModCallbackCustom.POST_AMBUSH_STARTED = 3
2602
+ ____exports.ModCallbackCustom.POST_AMBUSH_STARTED = 5
2599
2603
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_AMBUSH_STARTED] = "POST_AMBUSH_STARTED"
2600
- ____exports.ModCallbackCustom.POST_BOMB_EXPLODED = 4
2604
+ ____exports.ModCallbackCustom.POST_BOMB_EXPLODED = 6
2601
2605
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_BOMB_EXPLODED] = "POST_BOMB_EXPLODED"
2602
- ____exports.ModCallbackCustom.POST_BOMB_INIT_LATE = 5
2606
+ ____exports.ModCallbackCustom.POST_BOMB_INIT_LATE = 7
2603
2607
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_BOMB_INIT_LATE] = "POST_BOMB_INIT_LATE"
2604
- ____exports.ModCallbackCustom.POST_BONE_SWING = 6
2608
+ ____exports.ModCallbackCustom.POST_BONE_SWING = 8
2605
2609
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_BONE_SWING] = "POST_BONE_SWING"
2606
- ____exports.ModCallbackCustom.POST_COLLECTIBLE_EMPTY = 7
2610
+ ____exports.ModCallbackCustom.POST_COLLECTIBLE_EMPTY = 9
2607
2611
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_COLLECTIBLE_EMPTY] = "POST_COLLECTIBLE_EMPTY"
2608
- ____exports.ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST = 8
2612
+ ____exports.ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST = 10
2609
2613
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST] = "POST_COLLECTIBLE_INIT_FIRST"
2610
- ____exports.ModCallbackCustom.POST_CURSED_TELEPORT = 9
2614
+ ____exports.ModCallbackCustom.POST_CURSED_TELEPORT = 11
2611
2615
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CURSED_TELEPORT] = "POST_CURSED_TELEPORT"
2612
- ____exports.ModCallbackCustom.POST_CUSTOM_REVIVE = 10
2616
+ ____exports.ModCallbackCustom.POST_CUSTOM_REVIVE = 12
2613
2617
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CUSTOM_REVIVE] = "POST_CUSTOM_REVIVE"
2614
- ____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED = 11
2618
+ ____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED = 13
2615
2619
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED] = "POST_DICE_ROOM_ACTIVATED"
2616
- ____exports.ModCallbackCustom.POST_DOOR_RENDER = 12
2620
+ ____exports.ModCallbackCustom.POST_DOOR_RENDER = 14
2617
2621
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DOOR_RENDER] = "POST_DOOR_RENDER"
2618
- ____exports.ModCallbackCustom.POST_DOOR_UPDATE = 13
2622
+ ____exports.ModCallbackCustom.POST_DOOR_UPDATE = 15
2619
2623
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DOOR_UPDATE] = "POST_DOOR_UPDATE"
2620
- ____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE = 14
2624
+ ____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE = 16
2621
2625
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE] = "POST_EFFECT_INIT_LATE"
2622
- ____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED = 15
2626
+ ____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED = 17
2623
2627
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED] = "POST_EFFECT_STATE_CHANGED"
2624
- ____exports.ModCallbackCustom.POST_ESAU_JR = 16
2628
+ ____exports.ModCallbackCustom.POST_ESAU_JR = 18
2625
2629
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ESAU_JR] = "POST_ESAU_JR"
2626
- ____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE = 17
2630
+ ____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE = 19
2627
2631
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE] = "POST_FAMILIAR_INIT_LATE"
2628
- ____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED = 18
2632
+ ____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED = 20
2629
2633
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED] = "POST_FAMILIAR_STATE_CHANGED"
2630
- ____exports.ModCallbackCustom.POST_FIRST_ESAU_JR = 19
2634
+ ____exports.ModCallbackCustom.POST_FIRST_ESAU_JR = 21
2631
2635
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FIRST_ESAU_JR] = "POST_FIRST_ESAU_JR"
2632
- ____exports.ModCallbackCustom.POST_FIRST_FLIP = 20
2636
+ ____exports.ModCallbackCustom.POST_FIRST_FLIP = 22
2633
2637
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FIRST_FLIP] = "POST_FIRST_FLIP"
2634
- ____exports.ModCallbackCustom.POST_FLIP = 21
2638
+ ____exports.ModCallbackCustom.POST_FLIP = 23
2635
2639
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FLIP] = "POST_FLIP"
2636
- ____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED = 22
2640
+ ____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED = 24
2637
2641
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED] = "POST_GAME_STARTED_REORDERED"
2638
- ____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST = 23
2642
+ ____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST = 25
2639
2643
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST] = "POST_GAME_STARTED_REORDERED_LAST"
2640
- ____exports.ModCallbackCustom.POST_GREED_MODE_WAVE = 24
2644
+ ____exports.ModCallbackCustom.POST_GREED_MODE_WAVE = 26
2641
2645
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GREED_MODE_WAVE] = "POST_GREED_MODE_WAVE"
2642
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 25
2646
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 27
2643
2647
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN] = "POST_GRID_ENTITY_BROKEN"
2644
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 26
2648
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 28
2645
2649
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION] = "POST_GRID_ENTITY_COLLISION"
2646
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN = 27
2650
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN = 29
2647
2651
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN] = "POST_GRID_ENTITY_CUSTOM_BROKEN"
2648
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION = 28
2652
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION = 30
2649
2653
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION] = "POST_GRID_ENTITY_CUSTOM_COLLISION"
2650
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT = 29
2654
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT = 31
2651
2655
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT] = "POST_GRID_ENTITY_CUSTOM_INIT"
2652
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE = 30
2656
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE = 32
2653
2657
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE] = "POST_GRID_ENTITY_CUSTOM_REMOVE"
2654
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER = 31
2658
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER = 33
2655
2659
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER] = "POST_GRID_ENTITY_CUSTOM_RENDER"
2656
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 32
2660
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 34
2657
2661
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED] = "POST_GRID_ENTITY_CUSTOM_STATE_CHANGED"
2658
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE = 33
2662
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE = 35
2659
2663
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE] = "POST_GRID_ENTITY_CUSTOM_UPDATE"
2660
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 34
2664
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 36
2661
2665
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT] = "POST_GRID_ENTITY_INIT"
2662
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 35
2666
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 37
2663
2667
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE] = "POST_GRID_ENTITY_REMOVE"
2664
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 36
2668
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 38
2665
2669
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER] = "POST_GRID_ENTITY_RENDER"
2666
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 37
2670
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 39
2667
2671
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED] = "POST_GRID_ENTITY_STATE_CHANGED"
2668
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 38
2672
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 40
2669
2673
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE] = "POST_GRID_ENTITY_UPDATE"
2670
- ____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 39
2674
+ ____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 41
2671
2675
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED] = "POST_HOLY_MANTLE_REMOVED"
2672
- ____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 40
2676
+ ____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 42
2673
2677
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_DISCHARGE] = "POST_ITEM_DISCHARGE"
2674
- ____exports.ModCallbackCustom.POST_ITEM_PICKUP = 41
2678
+ ____exports.ModCallbackCustom.POST_ITEM_PICKUP = 43
2675
2679
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_PICKUP] = "POST_ITEM_PICKUP"
2676
- ____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 42
2680
+ ____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 44
2677
2681
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE] = "POST_KNIFE_INIT_LATE"
2678
- ____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 43
2682
+ ____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 45
2679
2683
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_LASER_INIT_LATE] = "POST_LASER_INIT_LATE"
2680
- ____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 44
2684
+ ____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 46
2681
2685
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = "POST_NEW_LEVEL_REORDERED"
2682
- ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 45
2686
+ ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 47
2683
2687
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
2684
- ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 46
2688
+ ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 48
2685
2689
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
2686
- ____exports.ModCallbackCustom.POST_NPC_DEATH_FILTER = 47
2690
+ ____exports.ModCallbackCustom.POST_NPC_DEATH_FILTER = 49
2687
2691
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_DEATH_FILTER] = "POST_NPC_DEATH_FILTER"
2688
- ____exports.ModCallbackCustom.POST_NPC_INIT_FILTER = 48
2692
+ ____exports.ModCallbackCustom.POST_NPC_INIT_FILTER = 50
2689
2693
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_FILTER] = "POST_NPC_INIT_FILTER"
2690
- ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 49
2694
+ ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 51
2691
2695
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
2692
- ____exports.ModCallbackCustom.POST_NPC_RENDER_FILTER = 50
2696
+ ____exports.ModCallbackCustom.POST_NPC_RENDER_FILTER = 52
2693
2697
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_RENDER_FILTER] = "POST_NPC_RENDER_FILTER"
2694
- ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 51
2698
+ ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 53
2695
2699
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
2696
- ____exports.ModCallbackCustom.POST_NPC_UPDATE_FILTER = 52
2700
+ ____exports.ModCallbackCustom.POST_NPC_UPDATE_FILTER = 54
2697
2701
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_UPDATE_FILTER] = "POST_NPC_UPDATE_FILTER"
2698
- ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 53
2702
+ ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 55
2699
2703
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
2700
- ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 54
2704
+ ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 56
2701
2705
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
2702
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 55
2706
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 57
2703
2707
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
2704
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 56
2708
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 58
2705
2709
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
2706
- ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 57
2710
+ ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 59
2707
2711
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
2708
- ____exports.ModCallbackCustom.POST_PIT_RENDER = 58
2712
+ ____exports.ModCallbackCustom.POST_PIT_RENDER = 60
2709
2713
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_RENDER] = "POST_PIT_RENDER"
2710
- ____exports.ModCallbackCustom.POST_PIT_UPDATE = 59
2714
+ ____exports.ModCallbackCustom.POST_PIT_UPDATE = 61
2711
2715
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
2712
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 60
2716
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 62
2713
2717
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
2714
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_STAT = 61
2718
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_STAT = 63
2715
2719
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_STAT] = "POST_PLAYER_CHANGE_STAT"
2716
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 62
2720
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 64
2717
2721
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
2718
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 63
2722
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 65
2719
2723
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
2720
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 64
2724
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 66
2721
2725
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
2722
- ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 65
2726
+ ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 67
2723
2727
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
2724
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST = 66
2728
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST = 68
2725
2729
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST] = "POST_PLAYER_INIT_FIRST"
2726
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 67
2730
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 69
2727
2731
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
2728
- ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 68
2732
+ ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 70
2729
2733
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
2730
- ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 69
2734
+ ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 71
2731
2735
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
2732
- ____exports.ModCallbackCustom.POST_POOP_RENDER = 70
2736
+ ____exports.ModCallbackCustom.POST_POOP_RENDER = 72
2733
2737
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_RENDER] = "POST_POOP_RENDER"
2734
- ____exports.ModCallbackCustom.POST_POOP_UPDATE = 71
2738
+ ____exports.ModCallbackCustom.POST_POOP_UPDATE = 73
2735
2739
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
2736
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 72
2740
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 74
2737
2741
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
2738
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 73
2742
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 75
2739
2743
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
2740
- ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 74
2744
+ ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 76
2741
2745
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
2742
- ____exports.ModCallbackCustom.POST_PURCHASE = 75
2746
+ ____exports.ModCallbackCustom.POST_PURCHASE = 77
2743
2747
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PURCHASE] = "POST_PURCHASE"
2744
- ____exports.ModCallbackCustom.POST_ROCK_RENDER = 76
2748
+ ____exports.ModCallbackCustom.POST_ROCK_RENDER = 78
2745
2749
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
2746
- ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 77
2750
+ ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 79
2747
2751
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
2748
- ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 78
2752
+ ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 80
2749
2753
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
2750
- ____exports.ModCallbackCustom.POST_SACRIFICE = 79
2754
+ ____exports.ModCallbackCustom.POST_SACRIFICE = 81
2751
2755
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
2752
- ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 80
2756
+ ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 82
2753
2757
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
2754
- ____exports.ModCallbackCustom.POST_SLOT_COLLISION = 81
2758
+ ____exports.ModCallbackCustom.POST_SLOT_COLLISION = 83
2755
2759
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_COLLISION] = "POST_SLOT_COLLISION"
2756
- ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 82
2760
+ ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 84
2757
2761
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
2758
- ____exports.ModCallbackCustom.POST_SLOT_INIT = 83
2762
+ ____exports.ModCallbackCustom.POST_SLOT_INIT = 85
2759
2763
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
2760
- ____exports.ModCallbackCustom.POST_SLOT_RENDER = 84
2764
+ ____exports.ModCallbackCustom.POST_SLOT_RENDER = 86
2761
2765
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
2762
- ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 85
2766
+ ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 87
2763
2767
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
2764
- ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 86
2768
+ ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 88
2765
2769
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
2766
- ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 87
2770
+ ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 89
2767
2771
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
2768
- ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 88
2772
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 90
2769
2773
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
2770
- ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 89
2774
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 91
2771
2775
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
2772
- ____exports.ModCallbackCustom.POST_TNT_RENDER = 90
2776
+ ____exports.ModCallbackCustom.POST_TNT_RENDER = 92
2773
2777
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
2774
- ____exports.ModCallbackCustom.POST_TNT_UPDATE = 91
2778
+ ____exports.ModCallbackCustom.POST_TNT_UPDATE = 93
2775
2779
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
2776
- ____exports.ModCallbackCustom.POST_TRANSFORMATION = 92
2780
+ ____exports.ModCallbackCustom.POST_TRANSFORMATION = 94
2777
2781
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
2778
- ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 93
2782
+ ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 95
2779
2783
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
2780
- ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 94
2784
+ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 96
2781
2785
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
2782
- ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 95
2786
+ ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 97
2783
2787
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
2784
- ____exports.ModCallbackCustom.PRE_GET_PEDESTAL = 96
2788
+ ____exports.ModCallbackCustom.PRE_GET_PEDESTAL = 98
2785
2789
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_GET_PEDESTAL] = "PRE_GET_PEDESTAL"
2786
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 97
2790
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 99
2787
2791
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
2788
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 98
2792
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 100
2789
2793
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
2790
- ____exports.ModCallbackCustom.PRE_NPC_COLLISION_FILTER = 99
2794
+ ____exports.ModCallbackCustom.PRE_NPC_COLLISION_FILTER = 101
2791
2795
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NPC_COLLISION_FILTER] = "PRE_NPC_COLLISION_FILTER"
2792
- ____exports.ModCallbackCustom.PRE_NPC_UPDATE_FILTER = 100
2796
+ ____exports.ModCallbackCustom.PRE_NPC_UPDATE_FILTER = 102
2793
2797
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NPC_UPDATE_FILTER] = "PRE_NPC_UPDATE_FILTER"
2794
2798
  return ____exports
2795
2799
  end,
@@ -15404,7 +15408,11 @@ local validateInterfaceMatchesEnum = ____utils.validateInterfaceMatchesEnum
15404
15408
  validateInterfaceMatchesEnum(nil)
15405
15409
  return ____exports
15406
15410
  end,
15407
- ["src.types.private.AllButFirst"] = function(...)
15411
+ ["src.types.AllButFirst"] = function(...)
15412
+ local ____exports = {}
15413
+ return ____exports
15414
+ end,
15415
+ ["src.types.AnyFunction"] = function(...)
15408
15416
  local ____exports = {}
15409
15417
  return ____exports
15410
15418
  end,
@@ -16627,7 +16635,10 @@ function ____exports.getRandomArrayElementAndRemove(self, array, seedOrRNG, exce
16627
16635
  ____exports.arrayRemoveInPlace(nil, array, randomArrayElement)
16628
16636
  return randomArrayElement
16629
16637
  end
16630
- function ____exports.isArray(self, object)
16638
+ function ____exports.isArray(self, object, ensureContiguousValues)
16639
+ if ensureContiguousValues == nil then
16640
+ ensureContiguousValues = true
16641
+ end
16631
16642
  if not isTable(nil, object) then
16632
16643
  return false
16633
16644
  end
@@ -16646,14 +16657,16 @@ function ____exports.isArray(self, object)
16646
16657
  if not hasAllNumberKeys then
16647
16658
  return false
16648
16659
  end
16649
- do
16650
- local i = 1
16651
- while i <= #keys do
16652
- local element = object[i]
16653
- if element == nil then
16654
- return false
16660
+ if ensureContiguousValues then
16661
+ do
16662
+ local i = 1
16663
+ while i <= #keys do
16664
+ local element = object[i]
16665
+ if element == nil then
16666
+ return false
16667
+ end
16668
+ i = i + 1
16655
16669
  end
16656
- i = i + 1
16657
16670
  end
16658
16671
  end
16659
16672
  return true
@@ -17272,7 +17285,6 @@ local ____lualib = require("lualib_bundle")
17272
17285
  local __TS__Class = ____lualib.__TS__Class
17273
17286
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
17274
17287
  local __TS__Spread = ____lualib.__TS__Spread
17275
- local __TS__ArraySlice = ____lualib.__TS__ArraySlice
17276
17288
  local __TS__ArrayFindIndex = ____lualib.__TS__ArrayFindIndex
17277
17289
  local __TS__ArraySplice = ____lualib.__TS__ArraySplice
17278
17290
  local ____exports = {}
@@ -17287,13 +17299,10 @@ function CustomCallback.prototype.____constructor(self, ...)
17287
17299
  self.subscriptions = {}
17288
17300
  self.fire = function(____, ...)
17289
17301
  local fireArgs = {...}
17290
- for ____, ____value in ipairs(self.subscriptions) do
17291
- local callback = ____value[1]
17292
- local optionalArgsArray = __TS__ArraySlice(____value, 1)
17293
- local optionalArgs = optionalArgsArray
17302
+ for ____, subscription in ipairs(self.subscriptions) do
17303
+ local callbackFunc, optionalArgs = table.unpack(subscription)
17294
17304
  if self:shouldFire(fireArgs, optionalArgs) then
17295
- local callbackCasted = callback
17296
- local value = callbackCasted(
17305
+ local value = callbackFunc(
17297
17306
  nil,
17298
17307
  __TS__Spread(fireArgs)
17299
17308
  )
@@ -17306,10 +17315,11 @@ function CustomCallback.prototype.____constructor(self, ...)
17306
17315
  end
17307
17316
  self.shouldFire = function() return true end
17308
17317
  end
17309
- function CustomCallback.prototype.addSubscriber(self, ...)
17310
- local args = {...}
17318
+ function CustomCallback.prototype.addSubscriber(self, callbackFunc, ...)
17319
+ local optionalArgs = {...}
17320
+ local subscription = {callbackFunc, optionalArgs}
17311
17321
  local ____self_subscriptions_0 = self.subscriptions
17312
- ____self_subscriptions_0[#____self_subscriptions_0 + 1] = args
17322
+ ____self_subscriptions_0[#____self_subscriptions_0 + 1] = subscription
17313
17323
  end
17314
17324
  function CustomCallback.prototype.removeSubscriber(self, callback)
17315
17325
  local subscriptionIndexMatchingCallback = __TS__ArrayFindIndex(
@@ -17350,7 +17360,7 @@ function EntityTakeDmgFilter.prototype.____constructor(self)
17350
17360
  source,
17351
17361
  countdownFrames
17352
17362
  ) end
17353
- self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmg}}}
17363
+ self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, self.entityTakeDmg}}
17354
17364
  end
17355
17365
  return ____exports
17356
17366
  end,
@@ -17386,7 +17396,67 @@ function EntityTakeDmgPlayer.prototype.____constructor(self)
17386
17396
  countdownFrames
17387
17397
  )
17388
17398
  end
17389
- self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}}}
17399
+ self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, self.entityTakeDmgPlayer, {EntityType.PLAYER}}}
17400
+ end
17401
+ return ____exports
17402
+ end,
17403
+ ["src.classes.callbacks.InputActionFilter"] = function(...)
17404
+ local ____lualib = require("lualib_bundle")
17405
+ local __TS__Class = ____lualib.__TS__Class
17406
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
17407
+ local ____exports = {}
17408
+ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
17409
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
17410
+ local ____CustomCallback = require("src.classes.private.CustomCallback")
17411
+ local CustomCallback = ____CustomCallback.CustomCallback
17412
+ ____exports.InputActionFilter = __TS__Class()
17413
+ local InputActionFilter = ____exports.InputActionFilter
17414
+ InputActionFilter.name = "InputActionFilter"
17415
+ __TS__ClassExtends(InputActionFilter, CustomCallback)
17416
+ function InputActionFilter.prototype.____constructor(self)
17417
+ CustomCallback.prototype.____constructor(self)
17418
+ self.shouldFire = function(____, fireArgs, optionalArgs)
17419
+ local _, inputHook, buttonAction = table.unpack(fireArgs)
17420
+ local callbackInputHook, callbackButtonAction = table.unpack(optionalArgs)
17421
+ return (callbackInputHook == nil or callbackInputHook == inputHook) and (callbackButtonAction == nil or callbackButtonAction == buttonAction)
17422
+ end
17423
+ self.inputAction = function(____, entity, inputHook, buttonAction) return self:fire(entity, inputHook, buttonAction) end
17424
+ self.callbacksUsed = {{ModCallback.INPUT_ACTION, self.inputAction}}
17425
+ end
17426
+ return ____exports
17427
+ end,
17428
+ ["src.classes.callbacks.InputActionPlayer"] = function(...)
17429
+ local ____lualib = require("lualib_bundle")
17430
+ local __TS__Class = ____lualib.__TS__Class
17431
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
17432
+ local ____exports = {}
17433
+ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
17434
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
17435
+ local ____CustomCallback = require("src.classes.private.CustomCallback")
17436
+ local CustomCallback = ____CustomCallback.CustomCallback
17437
+ ____exports.InputActionPlayer = __TS__Class()
17438
+ local InputActionPlayer = ____exports.InputActionPlayer
17439
+ InputActionPlayer.name = "InputActionPlayer"
17440
+ __TS__ClassExtends(InputActionPlayer, CustomCallback)
17441
+ function InputActionPlayer.prototype.____constructor(self)
17442
+ CustomCallback.prototype.____constructor(self)
17443
+ self.shouldFire = function(____, fireArgs, optionalArgs)
17444
+ local player, inputHook, buttonAction = table.unpack(fireArgs)
17445
+ local callbackPlayerVariant, callbackCharacter, callbackInputHook, callbackButtonAction = table.unpack(optionalArgs)
17446
+ local character = player:GetPlayerType()
17447
+ return (callbackPlayerVariant == nil or callbackPlayerVariant == player.Variant) and (callbackCharacter == nil or callbackCharacter == character) and (callbackInputHook == nil or callbackInputHook == inputHook) and (callbackButtonAction == nil or callbackButtonAction == buttonAction)
17448
+ end
17449
+ self.inputAction = function(____, entity, inputHook, buttonAction)
17450
+ if entity == nil then
17451
+ return nil
17452
+ end
17453
+ local player = entity:ToPlayer()
17454
+ if player == nil then
17455
+ return nil
17456
+ end
17457
+ return self:fire(player, inputHook, buttonAction)
17458
+ end
17459
+ self.callbacksUsed = {{ModCallback.INPUT_ACTION, self.inputAction}}
17390
17460
  end
17391
17461
  return ____exports
17392
17462
  end,
@@ -17462,7 +17532,7 @@ function PostAmbushFinished.prototype.____constructor(self)
17462
17532
  self:fire(ambushType)
17463
17533
  end
17464
17534
  end
17465
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
17535
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
17466
17536
  end
17467
17537
  return ____exports
17468
17538
  end,
@@ -17504,7 +17574,7 @@ function PostAmbushStarted.prototype.____constructor(self)
17504
17574
  self:fire(ambushType)
17505
17575
  end
17506
17576
  end
17507
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
17577
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
17508
17578
  end
17509
17579
  return ____exports
17510
17580
  end,
@@ -17533,7 +17603,7 @@ function PostBombExploded.prototype.____constructor(self)
17533
17603
  self:fire(bomb)
17534
17604
  end
17535
17605
  end
17536
- self.callbacksUsed = {{ModCallback.POST_BOMB_UPDATE, {self.postBombUpdate}}}
17606
+ self.callbacksUsed = {{ModCallback.POST_BOMB_UPDATE, self.postBombUpdate}}
17537
17607
  end
17538
17608
  return ____exports
17539
17609
  end,
@@ -17565,7 +17635,7 @@ function PostBombInitLate.prototype.____constructor(self)
17565
17635
  self:fire(bomb)
17566
17636
  end
17567
17637
  end
17568
- self.callbacksUsed = {{ModCallback.POST_BOMB_UPDATE, {self.postBombUpdate}}}
17638
+ self.callbacksUsed = {{ModCallback.POST_BOMB_UPDATE, self.postBombUpdate}}
17569
17639
  end
17570
17640
  return ____exports
17571
17641
  end,
@@ -17595,7 +17665,7 @@ function PostBoneSwing.prototype.____constructor(self)
17595
17665
  self:postKnifeRenderBoneClub(knife)
17596
17666
  end
17597
17667
  end
17598
- self.callbacksUsed = {{ModCallback.POST_KNIFE_RENDER, {self.postKnifeRender}}}
17668
+ self.callbacksUsed = {{ModCallback.POST_KNIFE_RENDER, self.postKnifeRender}}
17599
17669
  end
17600
17670
  function PostBoneSwing.prototype.postKnifeRenderBoneClub(self, knife)
17601
17671
  local sprite = knife:GetSprite()
@@ -17651,7 +17721,7 @@ function PostCollectibleEmpty.prototype.____constructor(self)
17651
17721
  self:collectibleTypeChanged(collectible, oldCollectibleType)
17652
17722
  end
17653
17723
  end
17654
- self.callbacksUsed = {{ModCallback.POST_PICKUP_UPDATE, {self.postPickupUpdateCollectible, PickupVariant.COLLECTIBLE}}}
17724
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_UPDATE, self.postPickupUpdateCollectible, {PickupVariant.COLLECTIBLE}}}
17655
17725
  end
17656
17726
  function PostCollectibleEmpty.prototype.collectibleTypeChanged(self, collectible, oldCollectibleType)
17657
17727
  if collectible.SubType == CollectibleType.NULL then
@@ -20949,7 +21019,7 @@ function PostCollectibleInitFirst.prototype.____constructor(self)
20949
21019
  self.v.run.seenCollectibles:add(collectibleIndex)
20950
21020
  self:fire(collectible)
20951
21021
  end
20952
- self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, {self.postPickupInitCollectible, PickupVariant.COLLECTIBLE}}}
21022
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, self.postPickupInitCollectible, {PickupVariant.COLLECTIBLE}}}
20953
21023
  end
20954
21024
  return ____exports
20955
21025
  end,
@@ -21976,13 +22046,14 @@ local playerIsTeleportingFromCursedTeleport
21976
22046
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
21977
22047
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
21978
22048
  local DamageFlag = ____isaac_2Dtypescript_2Ddefinitions.DamageFlag
21979
- local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
21980
22049
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
21981
22050
  local PlayerVariant = ____isaac_2Dtypescript_2Ddefinitions.PlayerVariant
21982
22051
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
21983
22052
  local TrinketType = ____isaac_2Dtypescript_2Ddefinitions.TrinketType
21984
22053
  local ____cachedClasses = require("src.core.cachedClasses")
21985
22054
  local game = ____cachedClasses.game
22055
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
22056
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
21986
22057
  local ____flag = require("src.functions.flag")
21987
22058
  local hasFlag = ____flag.hasFlag
21988
22059
  local ____playerDataStructures = require("src.functions.playerDataStructures")
@@ -22023,11 +22094,6 @@ function PostCursedTeleport.prototype.____constructor(self)
22023
22094
  level = {numSacrifices = 0}
22024
22095
  }
22025
22096
  self.shouldFire = shouldFirePlayer
22026
- self.entityTakeDmgPlayer = function(____, entity, _amount, damageFlags, _source, _countdownFrames)
22027
- self:incrementNumSacrifices(damageFlags)
22028
- self:setDamageFrame(entity, damageFlags)
22029
- return nil
22030
- end
22031
22097
  self.postPlayerRenderPlayer = function(____, player, _renderOffset)
22032
22098
  local trackingArray = mapGetPlayer(nil, self.v.run.playersDamageFrameMap, player)
22033
22099
  if trackingArray == nil then
@@ -22045,14 +22111,25 @@ function PostCursedTeleport.prototype.____constructor(self)
22045
22111
  mapSetPlayer(nil, self.v.run.playersDamageFrameMap, player, newTrackingArray)
22046
22112
  self:fire(player)
22047
22113
  end
22048
- self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}}, {ModCallback.POST_PLAYER_RENDER, {self.postPlayerRenderPlayer, PlayerVariant.PLAYER}}}
22114
+ self.entityTakeDmgPlayer = function(____, player, _amount, damageFlags, _source, _countdownFrames)
22115
+ self:incrementNumSacrifices(damageFlags)
22116
+ self:setDamageFrame(player, damageFlags)
22117
+ return nil
22118
+ end
22119
+ self.callbacksUsed = {{ModCallback.POST_PLAYER_RENDER, self.postPlayerRenderPlayer, {PlayerVariant.PLAYER}}}
22120
+ self.customCallbacksUsed = {{ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, self.entityTakeDmgPlayer}}
22049
22121
  end
22050
- function PostCursedTeleport.prototype.setDamageFrame(self, entity, damageFlags)
22051
- local gameFrameCount = game:GetFrameCount()
22052
- local player = entity:ToPlayer()
22053
- if player == nil then
22054
- return
22122
+ function PostCursedTeleport.prototype.incrementNumSacrifices(self, damageFlags)
22123
+ local room = game:GetRoom()
22124
+ local roomType = room:GetType()
22125
+ local isSpikeDamage = hasFlag(nil, damageFlags, DamageFlag.SPIKES)
22126
+ if roomType == RoomType.SACRIFICE and isSpikeDamage then
22127
+ local ____self_v_level_0, ____numSacrifices_1 = self.v.level, "numSacrifices"
22128
+ ____self_v_level_0[____numSacrifices_1] = ____self_v_level_0[____numSacrifices_1] + 1
22055
22129
  end
22130
+ end
22131
+ function PostCursedTeleport.prototype.setDamageFrame(self, player, damageFlags)
22132
+ local gameFrameCount = game:GetFrameCount()
22056
22133
  local trackingArray = mapGetPlayer(nil, self.v.run.playersDamageFrameMap, player)
22057
22134
  if trackingArray ~= nil then
22058
22135
  local lastDamageFrame, callbackFiredOnThisFrame = table.unpack(trackingArray)
@@ -22072,15 +22149,6 @@ function PostCursedTeleport.prototype.isPotentialNaturalTeleportFromSacrificeRoo
22072
22149
  local isSpikeDamage = hasFlag(nil, damageFlags, DamageFlag.SPIKES)
22073
22150
  return roomType == RoomType.SACRIFICE and isSpikeDamage and (self.v.level.numSacrifices == 6 or self.v.level.numSacrifices >= 12)
22074
22151
  end
22075
- function PostCursedTeleport.prototype.incrementNumSacrifices(self, damageFlags)
22076
- local room = game:GetRoom()
22077
- local roomType = room:GetType()
22078
- local isSpikeDamage = hasFlag(nil, damageFlags, DamageFlag.SPIKES)
22079
- if roomType == RoomType.SACRIFICE and isSpikeDamage then
22080
- local ____self_v_level_0, ____numSacrifices_1 = self.v.level, "numSacrifices"
22081
- ____self_v_level_0[____numSacrifices_1] = ____self_v_level_0[____numSacrifices_1] + 1
22082
- end
22083
- end
22084
22152
  return ____exports
22085
22153
  end,
22086
22154
  ["src.classes.callbacks.PostCustomRevive"] = function(...)
@@ -22252,7 +22320,7 @@ function PostDiceRoomActivated.prototype.____constructor(self)
22252
22320
  self:fire(closestPlayer, effect.SubType)
22253
22321
  end
22254
22322
  end
22255
- self.callbacksUsed = {{ModCallback.POST_EFFECT_UPDATE, {self.postEffectUpdateDiceFloor, EffectVariant.DICE_FLOOR}}}
22323
+ self.callbacksUsed = {{ModCallback.POST_EFFECT_UPDATE, self.postEffectUpdateDiceFloor, {EffectVariant.DICE_FLOOR}}}
22256
22324
  end
22257
22325
  return ____exports
22258
22326
  end,
@@ -22281,7 +22349,7 @@ function PostDoorRender.prototype.____constructor(self)
22281
22349
  self:fire(door)
22282
22350
  end
22283
22351
  end
22284
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
22352
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
22285
22353
  end
22286
22354
  return ____exports
22287
22355
  end,
@@ -22310,7 +22378,7 @@ function PostDoorUpdate.prototype.____constructor(self)
22310
22378
  self:fire(door)
22311
22379
  end
22312
22380
  end
22313
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
22381
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
22314
22382
  end
22315
22383
  return ____exports
22316
22384
  end,
@@ -22342,7 +22410,7 @@ function PostEffectInitLate.prototype.____constructor(self)
22342
22410
  self:fire(effect)
22343
22411
  end
22344
22412
  end
22345
- self.callbacksUsed = {{ModCallback.POST_EFFECT_UPDATE, {self.postEffectUpdate}}}
22413
+ self.callbacksUsed = {{ModCallback.POST_EFFECT_UPDATE, self.postEffectUpdate}}
22346
22414
  end
22347
22415
  return ____exports
22348
22416
  end,
@@ -22380,7 +22448,7 @@ function PostEffectStateChanged.prototype.____constructor(self)
22380
22448
  self:fire(effect, previousState, currentState)
22381
22449
  end
22382
22450
  end
22383
- self.callbacksUsed = {{ModCallback.POST_EFFECT_UPDATE, {self.postEffectUpdate}}}
22451
+ self.callbacksUsed = {{ModCallback.POST_EFFECT_UPDATE, self.postEffectUpdate}}
22384
22452
  end
22385
22453
  return ____exports
22386
22454
  end,
@@ -22431,7 +22499,7 @@ function PostFamiliarInitLate.prototype.____constructor(self)
22431
22499
  self:fire(familiar)
22432
22500
  end
22433
22501
  end
22434
- self.callbacksUsed = {{ModCallback.POST_FAMILIAR_UPDATE, {self.postFamiliarUpdate}}}
22502
+ self.callbacksUsed = {{ModCallback.POST_FAMILIAR_UPDATE, self.postFamiliarUpdate}}
22435
22503
  end
22436
22504
  return ____exports
22437
22505
  end,
@@ -22469,7 +22537,7 @@ function PostFamiliarStateChanged.prototype.____constructor(self)
22469
22537
  self:fire(familiar, previousState, currentState)
22470
22538
  end
22471
22539
  end
22472
- self.callbacksUsed = {{ModCallback.POST_FAMILIAR_UPDATE, {self.postFamiliarUpdate}}}
22540
+ self.callbacksUsed = {{ModCallback.POST_FAMILIAR_UPDATE, self.postFamiliarUpdate}}
22473
22541
  end
22474
22542
  return ____exports
22475
22543
  end,
@@ -23396,7 +23464,7 @@ function PostGreedModeWave.prototype.____constructor(self)
23396
23464
  self:fire(oldWave, newWave)
23397
23465
  end
23398
23466
  end
23399
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
23467
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
23400
23468
  end
23401
23469
  return ____exports
23402
23470
  end,
@@ -23754,7 +23822,7 @@ function PostHolyMantleRemoved.prototype.____constructor(self)
23754
23822
  self:fire(player, oldNumHolyMantles, newNumHolyMantles)
23755
23823
  end
23756
23824
  end
23757
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
23825
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
23758
23826
  end
23759
23827
  return ____exports
23760
23828
  end,
@@ -24664,8 +24732,8 @@ function PostItemDischarge.prototype.____constructor(self)
24664
24732
  ::__continue9::
24665
24733
  end
24666
24734
  end
24667
- self.callbacksUsed = {{ModCallback.PRE_NPC_COLLISION, {self.preNPCCollisionSucker, EntityType.SUCKER}}}
24668
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
24735
+ self.callbacksUsed = {{ModCallback.PRE_NPC_COLLISION, self.preNPCCollisionSucker, {EntityType.SUCKER}}}
24736
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
24669
24737
  end
24670
24738
  function PostItemDischarge.prototype.preNPCCollisionBulb(self, _npc, collider)
24671
24739
  self:checkPlayerCollidedWithBulb(collider)
@@ -24738,7 +24806,7 @@ function PostKnifeInitLate.prototype.____constructor(self)
24738
24806
  self:fire(knife)
24739
24807
  end
24740
24808
  end
24741
- self.callbacksUsed = {{ModCallback.POST_KNIFE_UPDATE, {self.postKnifeUpdate}}}
24809
+ self.callbacksUsed = {{ModCallback.POST_KNIFE_UPDATE, self.postKnifeUpdate}}
24742
24810
  end
24743
24811
  return ____exports
24744
24812
  end,
@@ -24770,7 +24838,7 @@ function PostLaserInitLate.prototype.____constructor(self)
24770
24838
  self:fire(laser)
24771
24839
  end
24772
24840
  end
24773
- self.callbacksUsed = {{ModCallback.POST_LASER_UPDATE, {self.postLaserUpdate}}}
24841
+ self.callbacksUsed = {{ModCallback.POST_LASER_UPDATE, self.postLaserUpdate}}
24774
24842
  end
24775
24843
  return ____exports
24776
24844
  end,
@@ -27423,7 +27491,7 @@ function ____exports.logFlags(self, flags, flagEnum, description)
27423
27491
  end
27424
27492
  end
27425
27493
  function ____exports.logArray(self, array)
27426
- if not isArray(nil, array) then
27494
+ if not isArray(nil, array, false) then
27427
27495
  log(nil, "Tried to log an array, but the given object was not an array.")
27428
27496
  return
27429
27497
  end
@@ -27874,7 +27942,7 @@ function PostNewRoomEarly.prototype.____constructor(self)
27874
27942
  self:checkRoomChanged()
27875
27943
  return nil
27876
27944
  end
27877
- self.callbacksUsed = {{ModCallback.POST_NEW_ROOM, {self.postNewRoom}}, {ModCallback.PRE_ENTITY_SPAWN, {self.preEntitySpawn}}}
27945
+ self.callbacksUsed = {{ModCallback.POST_NEW_ROOM, self.postNewRoom}, {ModCallback.PRE_ENTITY_SPAWN, self.preEntitySpawn}}
27878
27946
  end
27879
27947
  function PostNewRoomEarly.prototype.checkRoomChanged(self)
27880
27948
  if self:isNewRoom() then
@@ -27949,7 +28017,7 @@ function PostNPCDeathFilter.prototype.____constructor(self)
27949
28017
  self.postNPCDeath = function(____, npc)
27950
28018
  self:fire(npc)
27951
28019
  end
27952
- self.callbacksUsed = {{ModCallback.POST_NPC_DEATH, {self.postNPCDeath}}}
28020
+ self.callbacksUsed = {{ModCallback.POST_NPC_DEATH, self.postNPCDeath}}
27953
28021
  end
27954
28022
  return ____exports
27955
28023
  end,
@@ -27974,7 +28042,7 @@ function PostNPCInitFilter.prototype.____constructor(self)
27974
28042
  self.postNPCInit = function(____, npc)
27975
28043
  self:fire(npc)
27976
28044
  end
27977
- self.callbacksUsed = {{ModCallback.POST_NPC_INIT, {self.postNPCInit}}}
28045
+ self.callbacksUsed = {{ModCallback.POST_NPC_INIT, self.postNPCInit}}
27978
28046
  end
27979
28047
  return ____exports
27980
28048
  end,
@@ -28006,7 +28074,7 @@ function PostNPCInitLate.prototype.____constructor(self)
28006
28074
  self:fire(npc)
28007
28075
  end
28008
28076
  end
28009
- self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, {self.postNPCUpdate}}}
28077
+ self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, self.postNPCUpdate}}
28010
28078
  end
28011
28079
  return ____exports
28012
28080
  end,
@@ -28031,7 +28099,7 @@ function PostNPCRenderFilter.prototype.____constructor(self)
28031
28099
  self.postNPCRender = function(____, npc, renderOffset)
28032
28100
  self:fire(npc, renderOffset)
28033
28101
  end
28034
- self.callbacksUsed = {{ModCallback.POST_NPC_RENDER, {self.postNPCRender}}}
28102
+ self.callbacksUsed = {{ModCallback.POST_NPC_RENDER, self.postNPCRender}}
28035
28103
  end
28036
28104
  return ____exports
28037
28105
  end,
@@ -28069,7 +28137,7 @@ function PostNPCStateChanged.prototype.____constructor(self)
28069
28137
  self:fire(npc, previousState, currentState)
28070
28138
  end
28071
28139
  end
28072
- self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, {self.postNPCUpdate}}}
28140
+ self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, self.postNPCUpdate}}
28073
28141
  end
28074
28142
  return ____exports
28075
28143
  end,
@@ -28094,7 +28162,7 @@ function PostNPCUpdateFilter.prototype.____constructor(self)
28094
28162
  self.postNPCUpdate = function(____, npc)
28095
28163
  self:fire(npc)
28096
28164
  end
28097
- self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, {self.postNPCUpdate}}}
28165
+ self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, self.postNPCUpdate}}
28098
28166
  end
28099
28167
  return ____exports
28100
28168
  end,
@@ -28156,7 +28224,7 @@ function PostPickupCollect.prototype.____constructor(self)
28156
28224
  self:fire(pickup, player)
28157
28225
  end
28158
28226
  end
28159
- self.callbacksUsed = {{ModCallback.POST_PICKUP_RENDER, {self.postPickupRender}}}
28227
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_RENDER, self.postPickupRender}}
28160
28228
  end
28161
28229
  return ____exports
28162
28230
  end,
@@ -28193,7 +28261,7 @@ function PostPickupInitFirst.prototype.____constructor(self)
28193
28261
  self:fire(pickup)
28194
28262
  end
28195
28263
  end
28196
- self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, {self.postPickupInit}}}
28264
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, self.postPickupInit}}
28197
28265
  end
28198
28266
  return ____exports
28199
28267
  end,
@@ -28225,7 +28293,7 @@ function PostPickupInitLate.prototype.____constructor(self)
28225
28293
  self:fire(pickup)
28226
28294
  end
28227
28295
  end
28228
- self.callbacksUsed = {{ModCallback.POST_PICKUP_UPDATE, {self.postPickupUpdate}}}
28296
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_UPDATE, self.postPickupUpdate}}
28229
28297
  end
28230
28298
  return ____exports
28231
28299
  end,
@@ -28263,7 +28331,7 @@ function PostPickupStateChanged.prototype.____constructor(self)
28263
28331
  self:fire(pickup, previousState, currentState)
28264
28332
  end
28265
28333
  end
28266
- self.callbacksUsed = {{ModCallback.POST_PICKUP_UPDATE, {self.postPickupUpdate}}}
28334
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_UPDATE, self.postPickupUpdate}}
28267
28335
  end
28268
28336
  return ____exports
28269
28337
  end,
@@ -28640,7 +28708,7 @@ function PostPitRender.prototype.____constructor(self)
28640
28708
  self:fire(pit)
28641
28709
  end
28642
28710
  end
28643
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
28711
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
28644
28712
  end
28645
28713
  return ____exports
28646
28714
  end,
@@ -28669,7 +28737,7 @@ function PostPitUpdate.prototype.____constructor(self)
28669
28737
  self:fire(pit)
28670
28738
  end
28671
28739
  end
28672
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
28740
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
28673
28741
  end
28674
28742
  return ____exports
28675
28743
  end,
@@ -28726,7 +28794,7 @@ function PostPlayerChangeHealth.prototype.____constructor(self)
28726
28794
  end
28727
28795
  end
28728
28796
  end
28729
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectReordered}}}
28797
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectReordered}}
28730
28798
  end
28731
28799
  return ____exports
28732
28800
  end,
@@ -28848,7 +28916,7 @@ function PostPlayerChangeStat.prototype.____constructor(self)
28848
28916
  ::__continue5::
28849
28917
  end
28850
28918
  end
28851
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectReordered}}}
28919
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectReordered}}
28852
28920
  end
28853
28921
  return ____exports
28854
28922
  end,
@@ -28888,7 +28956,7 @@ function PostPlayerChangeType.prototype.____constructor(self)
28888
28956
  self:fire(player, storedCharacter, character)
28889
28957
  end
28890
28958
  end
28891
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectReordered}}}
28959
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectReordered}}
28892
28960
  end
28893
28961
  return ____exports
28894
28962
  end,
@@ -29154,10 +29222,11 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
29154
29222
  local BossID = ____isaac_2Dtypescript_2Ddefinitions.BossID
29155
29223
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
29156
29224
  local DamageFlagZero = ____isaac_2Dtypescript_2Ddefinitions.DamageFlagZero
29157
- local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
29158
29225
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
29159
29226
  local ____cachedClasses = require("src.core.cachedClasses")
29160
29227
  local game = ____cachedClasses.game
29228
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
29229
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
29161
29230
  local ____playerDataStructures = require("src.functions.playerDataStructures")
29162
29231
  local mapGetPlayer = ____playerDataStructures.mapGetPlayer
29163
29232
  local mapSetPlayer = ____playerDataStructures.mapSetPlayer
@@ -29180,11 +29249,23 @@ function PostPlayerFatalDamage.prototype.____constructor(self)
29180
29249
  CustomCallback.prototype.____constructor(self)
29181
29250
  self.v = {run = {playersLastDamageGameFrame = __TS__New(Map)}}
29182
29251
  self.shouldFire = shouldFirePlayer
29183
- self.entityTakeDmgPlayer = function(____, entity, amount, damageFlags, source, countdownFrames)
29184
- local player = entity:ToPlayer()
29185
- if player == nil then
29252
+ self.preUseItemBible = function(____, _collectibleType, _rng, player, _useFlags, _activeSlot, _customVarData)
29253
+ if not inBossRoomOf(nil, BossID.SATAN) then
29186
29254
  return nil
29187
29255
  end
29256
+ local shouldSustainDeath = self:fire(
29257
+ player,
29258
+ 0,
29259
+ DamageFlagZero,
29260
+ EntityRef(player),
29261
+ 0
29262
+ )
29263
+ if shouldSustainDeath ~= nil then
29264
+ return not shouldSustainDeath
29265
+ end
29266
+ return nil
29267
+ end
29268
+ self.entityTakeDmgPlayer = function(____, player, amount, damageFlags, source, countdownFrames)
29188
29269
  if isChildPlayer(nil, player) then
29189
29270
  return nil
29190
29271
  end
@@ -29215,23 +29296,8 @@ function PostPlayerFatalDamage.prototype.____constructor(self)
29215
29296
  end
29216
29297
  return nil
29217
29298
  end
29218
- self.preUseItemBible = function(____, _collectibleType, _rng, player, _useFlags, _activeSlot, _customVarData)
29219
- if not inBossRoomOf(nil, BossID.SATAN) then
29220
- return nil
29221
- end
29222
- local shouldSustainDeath = self:fire(
29223
- player,
29224
- 0,
29225
- DamageFlagZero,
29226
- EntityRef(player),
29227
- 0
29228
- )
29229
- if shouldSustainDeath ~= nil then
29230
- return not shouldSustainDeath
29231
- end
29232
- return nil
29233
- end
29234
- self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}}, {ModCallback.PRE_USE_ITEM, {self.preUseItemBible, CollectibleType.BIBLE}}}
29299
+ self.callbacksUsed = {{ModCallback.PRE_USE_ITEM, self.preUseItemBible, {CollectibleType.BIBLE}}}
29300
+ self.customCallbacksUsed = {{ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, self.entityTakeDmgPlayer}}
29235
29301
  end
29236
29302
  return ____exports
29237
29303
  end,
@@ -29272,7 +29338,7 @@ function PostPlayerInitFirst.prototype.____constructor(self)
29272
29338
  end
29273
29339
  self:fire(player)
29274
29340
  end
29275
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}, {ModCallbackCustom.POST_PLAYER_INIT_LATE, {self.postPlayerInitLate}}}
29341
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}, {ModCallbackCustom.POST_PLAYER_INIT_LATE, self.postPlayerInitLate}}
29276
29342
  end
29277
29343
  return ____exports
29278
29344
  end,
@@ -29306,7 +29372,7 @@ function PostPlayerInitLate.prototype.____constructor(self)
29306
29372
  self:fire(player)
29307
29373
  end
29308
29374
  end
29309
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
29375
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
29310
29376
  end
29311
29377
  return ____exports
29312
29378
  end,
@@ -29379,7 +29445,7 @@ function PostPoopRender.prototype.____constructor(self)
29379
29445
  self:fire(poop)
29380
29446
  end
29381
29447
  end
29382
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
29448
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
29383
29449
  end
29384
29450
  return ____exports
29385
29451
  end,
@@ -29408,7 +29474,7 @@ function PostPoopUpdate.prototype.____constructor(self)
29408
29474
  self:fire(poop)
29409
29475
  end
29410
29476
  end
29411
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
29477
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
29412
29478
  end
29413
29479
  return ____exports
29414
29480
  end,
@@ -29437,7 +29503,7 @@ function PostPressurePlateRender.prototype.____constructor(self)
29437
29503
  self:fire(pressurePlate)
29438
29504
  end
29439
29505
  end
29440
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
29506
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
29441
29507
  end
29442
29508
  return ____exports
29443
29509
  end,
@@ -29466,7 +29532,7 @@ function PostPressurePlateUpdate.prototype.____constructor(self)
29466
29532
  self:fire(pressurePlate)
29467
29533
  end
29468
29534
  end
29469
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
29535
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
29470
29536
  end
29471
29537
  return ____exports
29472
29538
  end,
@@ -29498,7 +29564,7 @@ function PostProjectileInitLate.prototype.____constructor(self)
29498
29564
  self:fire(projectile)
29499
29565
  end
29500
29566
  end
29501
- self.callbacksUsed = {{ModCallback.POST_PROJECTILE_UPDATE, {self.postProjectileUpdate}}}
29567
+ self.callbacksUsed = {{ModCallback.POST_PROJECTILE_UPDATE, self.postProjectileUpdate}}
29502
29568
  end
29503
29569
  return ____exports
29504
29570
  end,
@@ -29540,7 +29606,7 @@ function PostPurchase.prototype.____constructor(self)
29540
29606
  self:playerPickedUpNewItem(player)
29541
29607
  end
29542
29608
  end
29543
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
29609
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
29544
29610
  end
29545
29611
  function PostPurchase.prototype.playerPickedUpNewItem(self, player)
29546
29612
  local pickups = getPickups(nil)
@@ -29579,7 +29645,7 @@ function PostRockRender.prototype.____constructor(self)
29579
29645
  self:fire(rock)
29580
29646
  end
29581
29647
  end
29582
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
29648
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
29583
29649
  end
29584
29650
  return ____exports
29585
29651
  end,
@@ -29608,7 +29674,7 @@ function PostRockUpdate.prototype.____constructor(self)
29608
29674
  self:fire(rock)
29609
29675
  end
29610
29676
  end
29611
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
29677
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
29612
29678
  end
29613
29679
  return ____exports
29614
29680
  end,
@@ -29650,8 +29716,8 @@ function PostRoomClearChanged.prototype.____constructor(self)
29650
29716
  local roomClear = room:IsClear()
29651
29717
  self.v.room.cleared = roomClear
29652
29718
  end
29653
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
29654
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
29719
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
29720
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
29655
29721
  end
29656
29722
  return ____exports
29657
29723
  end,
@@ -29662,11 +29728,11 @@ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
29662
29728
  local ____exports = {}
29663
29729
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
29664
29730
  local DamageFlag = ____isaac_2Dtypescript_2Ddefinitions.DamageFlag
29665
- local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
29666
- local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
29667
29731
  local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
29668
29732
  local ____cachedClasses = require("src.core.cachedClasses")
29669
29733
  local game = ____cachedClasses.game
29734
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
29735
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
29670
29736
  local ____flag = require("src.functions.flag")
29671
29737
  local hasFlag = ____flag.hasFlag
29672
29738
  local ____shouldFire = require("src.shouldFire")
@@ -29681,11 +29747,7 @@ function PostSacrifice.prototype.____constructor(self)
29681
29747
  CustomCallback.prototype.____constructor(self)
29682
29748
  self.v = {level = {numSacrifices = 0}}
29683
29749
  self.shouldFire = shouldFirePlayer
29684
- self.entityTakeDmgPlayer = function(____, entity, _amount, damageFlags, _source, _countdownFrames)
29685
- local player = entity:ToPlayer()
29686
- if player == nil then
29687
- return nil
29688
- end
29750
+ self.entityTakeDmgPlayer = function(____, player, _amount, damageFlags, _source, _countdownFrames)
29689
29751
  local room = game:GetRoom()
29690
29752
  local roomType = room:GetType()
29691
29753
  local isSpikeDamage = hasFlag(nil, damageFlags, DamageFlag.SPIKES)
@@ -29696,7 +29758,7 @@ function PostSacrifice.prototype.____constructor(self)
29696
29758
  end
29697
29759
  return nil
29698
29760
  end
29699
- self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}}}
29761
+ self.customCallbacksUsed = {{ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, self.entityTakeDmgPlayer}}
29700
29762
  end
29701
29763
  return ____exports
29702
29764
  end,
@@ -29757,7 +29819,7 @@ function PostSlotCollision.prototype.____constructor(self)
29757
29819
  end
29758
29820
  return nil
29759
29821
  end
29760
- self.callbacksUsed = {{ModCallback.PRE_PLAYER_COLLISION, {self.prePlayerCollision}}}
29822
+ self.callbacksUsed = {{ModCallback.PRE_PLAYER_COLLISION, self.prePlayerCollision}}
29761
29823
  end
29762
29824
  return ____exports
29763
29825
  end,
@@ -29826,8 +29888,8 @@ function PostSlotDestroyed.prototype.____constructor(self)
29826
29888
  self.v.room.slotPrizeAnimationGameFrame:delete(ptrHash)
29827
29889
  end
29828
29890
  end
29829
- self.callbacksUsed = {{ModCallback.POST_ENTITY_REMOVE, {self.postEntityRemoveSlot, EntityType.SLOT}}}
29830
- self.customCallbacksUsed = {{ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED, {self.postSlotAnimationChanged}}}
29891
+ self.callbacksUsed = {{ModCallback.POST_ENTITY_REMOVE, self.postEntityRemoveSlot, {EntityType.SLOT}}}
29892
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED, self.postSlotAnimationChanged}}
29831
29893
  end
29832
29894
  return ____exports
29833
29895
  end,
@@ -29922,7 +29984,7 @@ function PostSpikesRender.prototype.____constructor(self)
29922
29984
  self:fire(spikes)
29923
29985
  end
29924
29986
  end
29925
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
29987
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
29926
29988
  end
29927
29989
  return ____exports
29928
29990
  end,
@@ -29951,7 +30013,7 @@ function PostSpikesUpdate.prototype.____constructor(self)
29951
30013
  self:fire(spikes)
29952
30014
  end
29953
30015
  end
29954
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
30016
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
29955
30017
  end
29956
30018
  return ____exports
29957
30019
  end,
@@ -29983,7 +30045,7 @@ function PostTearInitLate.prototype.____constructor(self)
29983
30045
  self:fire(tear)
29984
30046
  end
29985
30047
  end
29986
- self.callbacksUsed = {{ModCallback.POST_TEAR_UPDATE, {self.postTearUpdate}}}
30048
+ self.callbacksUsed = {{ModCallback.POST_TEAR_UPDATE, self.postTearUpdate}}
29987
30049
  end
29988
30050
  return ____exports
29989
30051
  end,
@@ -30018,7 +30080,7 @@ function PostTearInitVeryLate.prototype.____constructor(self)
30018
30080
  self:fire(tear)
30019
30081
  end
30020
30082
  end
30021
- self.callbacksUsed = {{ModCallback.POST_TEAR_UPDATE, {self.postTearUpdate}}}
30083
+ self.callbacksUsed = {{ModCallback.POST_TEAR_UPDATE, self.postTearUpdate}}
30022
30084
  end
30023
30085
  return ____exports
30024
30086
  end,
@@ -30047,7 +30109,7 @@ function PostTNTRender.prototype.____constructor(self)
30047
30109
  self:fire(tnt)
30048
30110
  end
30049
30111
  end
30050
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
30112
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
30051
30113
  end
30052
30114
  return ____exports
30053
30115
  end,
@@ -30076,7 +30138,7 @@ function PostTNTUpdate.prototype.____constructor(self)
30076
30138
  self:fire(tnt)
30077
30139
  end
30078
30140
  end
30079
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
30141
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
30080
30142
  end
30081
30143
  return ____exports
30082
30144
  end,
@@ -30128,7 +30190,7 @@ function PostTransformation.prototype.____constructor(self)
30128
30190
  end
30129
30191
  end
30130
30192
  end
30131
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
30193
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
30132
30194
  end
30133
30195
  return ____exports
30134
30196
  end,
@@ -30141,7 +30203,6 @@ local __TS__New = ____lualib.__TS__New
30141
30203
  local ____exports = {}
30142
30204
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
30143
30205
  local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
30144
- local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
30145
30206
  local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
30146
30207
  local TrinketType = ____isaac_2Dtypescript_2Ddefinitions.TrinketType
30147
30208
  local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
@@ -30166,11 +30227,7 @@ function PostTrinketBreak.prototype.____constructor(self)
30166
30227
  function() return __TS__New(Map) end
30167
30228
  )}}
30168
30229
  self.shouldFire = shouldFireTrinketType
30169
- self.entityTakeDmgPlayer = function(____, entity, _amount, _damageFlags, _source, _countdownFrames)
30170
- local player = entity:ToPlayer()
30171
- if player == nil then
30172
- return nil
30173
- end
30230
+ self.entityTakeDmgPlayer = function(____, player, _amount, _damageFlags, _source, _countdownFrames)
30174
30231
  local trinketMap = defaultMapGetPlayer(nil, self.v.run.playersTrinketMap, player)
30175
30232
  for ____, trinketType in ipairs(TRINKETS_THAT_CAN_BREAK) do
30176
30233
  do
@@ -30180,16 +30237,16 @@ function PostTrinketBreak.prototype.____constructor(self)
30180
30237
  oldNumTrinketsHeld = 0
30181
30238
  end
30182
30239
  if numTrinketsHeld >= oldNumTrinketsHeld then
30183
- goto __continue6
30240
+ goto __continue5
30184
30241
  end
30185
30242
  trinketMap:set(trinketType, numTrinketsHeld)
30186
30243
  local numTrinketsOnGround = Isaac.CountEntities(nil, EntityType.PICKUP, PickupVariant.TRINKET, trinketType)
30187
30244
  if numTrinketsOnGround > 0 then
30188
- goto __continue6
30245
+ goto __continue5
30189
30246
  end
30190
30247
  self:fire(player, trinketType)
30191
30248
  end
30192
- ::__continue6::
30249
+ ::__continue5::
30193
30250
  end
30194
30251
  return nil
30195
30252
  end
@@ -30200,8 +30257,7 @@ function PostTrinketBreak.prototype.____constructor(self)
30200
30257
  trinketMap:set(trinketType, numTrinkets)
30201
30258
  end
30202
30259
  end
30203
- self.callbacksUsed = {{ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}}}
30204
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
30260
+ self.customCallbacksUsed = {{ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, self.entityTakeDmgPlayer}, {ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
30205
30261
  end
30206
30262
  return ____exports
30207
30263
  end,
@@ -30242,7 +30298,7 @@ function PreBerserkDeath.prototype.____constructor(self)
30242
30298
  self:fire(player)
30243
30299
  end
30244
30300
  end
30245
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
30301
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
30246
30302
  end
30247
30303
  return ____exports
30248
30304
  end,
@@ -30309,7 +30365,7 @@ function PreGetPedestal.prototype.____constructor(self)
30309
30365
  end
30310
30366
  return self:fire(player, collectible)
30311
30367
  end
30312
- self.callbacksUsed = {{ModCallback.PRE_PICKUP_COLLISION, {self.prePickupCollision, PickupVariant.COLLECTIBLE}}}
30368
+ self.callbacksUsed = {{ModCallback.PRE_PICKUP_COLLISION, self.prePickupCollision, {PickupVariant.COLLECTIBLE}}}
30313
30369
  end
30314
30370
  return ____exports
30315
30371
  end,
@@ -30375,7 +30431,7 @@ function PreNewLevel.prototype.____constructor(self)
30375
30431
  self:fire(player)
30376
30432
  end
30377
30433
  end
30378
- self.callbacksUsed = {{ModCallback.POST_PLAYER_RENDER, {self.postPlayerRender}}}
30434
+ self.callbacksUsed = {{ModCallback.POST_PLAYER_RENDER, self.postPlayerRender}}
30379
30435
  end
30380
30436
  return ____exports
30381
30437
  end,
@@ -30398,7 +30454,7 @@ function PreNPCCollisionFilter.prototype.____constructor(self)
30398
30454
  CustomCallback.prototype.____constructor(self)
30399
30455
  self.shouldFire = shouldFireNPC
30400
30456
  self.preNPCCollision = function(____, npc, collider, low) return self:fire(npc, collider, low) end
30401
- self.callbacksUsed = {{ModCallback.PRE_NPC_COLLISION, {self.preNPCCollision}}}
30457
+ self.callbacksUsed = {{ModCallback.PRE_NPC_COLLISION, self.preNPCCollision}}
30402
30458
  end
30403
30459
  return ____exports
30404
30460
  end,
@@ -30421,7 +30477,7 @@ function PreNPCUpdateFilter.prototype.____constructor(self)
30421
30477
  CustomCallback.prototype.____constructor(self)
30422
30478
  self.shouldFire = shouldFireNPC
30423
30479
  self.preNPCUpdate = function(____, npc) return self:fire(npc) end
30424
- self.callbacksUsed = {{ModCallback.PRE_NPC_UPDATE, {self.preNPCUpdate}}}
30480
+ self.callbacksUsed = {{ModCallback.PRE_NPC_UPDATE, self.preNPCUpdate}}
30425
30481
  end
30426
30482
  return ____exports
30427
30483
  end,
@@ -30437,6 +30493,16 @@ do
30437
30493
  local EntityTakeDmgPlayer = ____EntityTakeDmgPlayer.EntityTakeDmgPlayer
30438
30494
  ____exports.EntityTakeDmgPlayer = EntityTakeDmgPlayer
30439
30495
  end
30496
+ do
30497
+ local ____InputActionFilter = require("src.classes.callbacks.InputActionFilter")
30498
+ local InputActionFilter = ____InputActionFilter.InputActionFilter
30499
+ ____exports.InputActionFilter = InputActionFilter
30500
+ end
30501
+ do
30502
+ local ____InputActionPlayer = require("src.classes.callbacks.InputActionPlayer")
30503
+ local InputActionPlayer = ____InputActionPlayer.InputActionPlayer
30504
+ ____exports.InputActionPlayer = InputActionPlayer
30505
+ end
30440
30506
  do
30441
30507
  local ____PostAmbushFinished = require("src.classes.callbacks.PostAmbushFinished")
30442
30508
  local PostAmbushFinished = ____PostAmbushFinished.PostAmbushFinished
@@ -30950,6 +31016,8 @@ local getEnumValues = ____enums.getEnumValues
30950
31016
  local MOD_CALLBACK_CUSTOM_TO_CLASS = {
30951
31017
  [ModCallbackCustom.ENTITY_TAKE_DMG_FILTER] = cc.EntityTakeDmgFilter,
30952
31018
  [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER] = cc.EntityTakeDmgPlayer,
31019
+ [ModCallbackCustom.INPUT_ACTION_FILTER] = cc.InputActionFilter,
31020
+ [ModCallbackCustom.INPUT_ACTION_PLAYER] = cc.InputActionPlayer,
30953
31021
  [ModCallbackCustom.POST_AMBUSH_FINISHED] = cc.PostAmbushFinished,
30954
31022
  [ModCallbackCustom.POST_AMBUSH_STARTED] = cc.PostAmbushStarted,
30955
31023
  [ModCallbackCustom.POST_BOMB_EXPLODED] = cc.PostBombExploded,
@@ -31150,7 +31218,7 @@ function RunInNFrames.prototype.____constructor(self)
31150
31218
  checkExecuteQueuedFunctions(nil, renderFrameCount, self.v.run.queuedRenderFunctionTuples)
31151
31219
  checkExecuteIntervalFunctions(nil, renderFrameCount, self.v.run.intervalRenderFunctionTuples)
31152
31220
  end
31153
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}, {ModCallback.POST_RENDER, {self.postRender}}}
31221
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}, {ModCallback.POST_RENDER, self.postRender}}
31154
31222
  end
31155
31223
  function RunInNFrames.prototype.restartNextRenderFrame(self, character)
31156
31224
  self:runNextRenderFrame(function()
@@ -31315,8 +31383,8 @@ function CustomGridEntities.prototype.____constructor(self, runInNFrames)
31315
31383
  end
31316
31384
  end
31317
31385
  self.featuresUsed = {ISCFeature.RUN_IN_N_FRAMES}
31318
- self.callbacksUsed = {{ModCallback.PRE_USE_ITEM, {self.preUseItemWeNeedToGoDeeper, CollectibleType.WE_NEED_TO_GO_DEEPER}}}
31319
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
31386
+ self.callbacksUsed = {{ModCallback.PRE_USE_ITEM, self.preUseItemWeNeedToGoDeeper, {CollectibleType.WE_NEED_TO_GO_DEEPER}}}
31387
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
31320
31388
  self.runInNFrames = runInNFrames
31321
31389
  end
31322
31390
  function CustomGridEntities.prototype.spawnCustomGridEntity(self, gridEntityTypeCustom, gridIndexOrPosition, gridCollisionClass, anm2Path, defaultAnimation, baseGridEntityType, baseGridEntityVariant)
@@ -31489,9 +31557,6 @@ function CustomRevive.prototype.____constructor(self, preCustomRevive, postCusto
31489
31557
  end
31490
31558
  sfxManager:Stop(SoundEffect.ONE_UP)
31491
31559
  end
31492
- self.postPEffectUpdate = function(____, player)
31493
- self:checkWaitingForItemAnimation(player)
31494
- end
31495
31560
  self.postNewRoomReordered = function()
31496
31561
  if self.v.run.state ~= CustomReviveState.WAITING_FOR_ROOM_TRANSITION then
31497
31562
  return
@@ -31499,6 +31564,9 @@ function CustomRevive.prototype.____constructor(self, preCustomRevive, postCusto
31499
31564
  self.v.run.state = CustomReviveState.WAITING_FOR_ITEM_ANIMATION
31500
31565
  self:logStateChanged()
31501
31566
  end
31567
+ self.postPEffectUpdateReordered = function(____, player)
31568
+ self:checkWaitingForItemAnimation(player)
31569
+ end
31502
31570
  self.postPlayerFatalDamage = function(____, player)
31503
31571
  self:playerIsAboutToDie(player)
31504
31572
  return nil
@@ -31507,8 +31575,8 @@ function CustomRevive.prototype.____constructor(self, preCustomRevive, postCusto
31507
31575
  self:playerIsAboutToDie(player)
31508
31576
  end
31509
31577
  self.featuresUsed = {ISCFeature.RUN_IN_N_FRAMES}
31510
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}, {ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}}
31511
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}, {ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE, {self.postPlayerFatalDamage}}, {ModCallbackCustom.PRE_BERSERK_DEATH, {self.preBerserkDeath}}}
31578
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
31579
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}, {ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}, {ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE, self.postPlayerFatalDamage}, {ModCallbackCustom.PRE_BERSERK_DEATH, self.preBerserkDeath}}
31512
31580
  self.preCustomRevive = preCustomRevive
31513
31581
  self.postCustomRevive = postCustomRevive
31514
31582
  self.runInNFrames = runInNFrames
@@ -31625,7 +31693,7 @@ function EsauJrDetection.prototype.____constructor(self, postEsauJr, postFirstEs
31625
31693
  self.v.run.usedEsauJrControllerIndex = player.ControllerIndex
31626
31694
  return nil
31627
31695
  end
31628
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}, {ModCallback.POST_USE_ITEM, {self.useItemEsauJr, CollectibleType.ESAU_JR}}}
31696
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}, {ModCallback.POST_USE_ITEM, self.useItemEsauJr, {CollectibleType.ESAU_JR}}}
31629
31697
  self.postEsauJr = postEsauJr
31630
31698
  self.postFirstEsauJr = postFirstEsauJr
31631
31699
  end
@@ -31685,7 +31753,7 @@ function FlipDetection.prototype.____constructor(self, postFlip, postFirstFlip)
31685
31753
  self.postFlip:fire(newLazarus, player)
31686
31754
  return nil
31687
31755
  end
31688
- self.callbacksUsed = {{ModCallback.POST_USE_ITEM, {self.useItemFlip, CollectibleType.FLIP}}}
31756
+ self.callbacksUsed = {{ModCallback.POST_USE_ITEM, self.useItemFlip, {CollectibleType.FLIP}}}
31689
31757
  self.postFlip = postFlip
31690
31758
  self.postFirstFlip = postFirstFlip
31691
31759
  end
@@ -31758,7 +31826,7 @@ function GameReorderedCallbacks.prototype.____constructor(self, postGameStartedR
31758
31826
  self.forceNewRoom = false
31759
31827
  self.postNewRoomReordered:fire()
31760
31828
  end
31761
- 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}}}
31829
+ 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}}
31762
31830
  self.postGameStartedReordered = postGameStartedReordered
31763
31831
  self.postNewLevelReordered = postNewLevelReordered
31764
31832
  self.postNewRoomReordered = postNewRoomReordered
@@ -31850,7 +31918,7 @@ function GridEntityCollisionDetection.prototype.____constructor(self, postGridEn
31850
31918
  end
31851
31919
  end
31852
31920
  end
31853
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
31921
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
31854
31922
  self.postGridEntityCollision = postGridEntityCollision
31855
31923
  self.postGridEntityCustomCollision = postGridEntityCustomCollision
31856
31924
  self.customGridEntities = customGridEntities
@@ -31885,7 +31953,7 @@ function GridEntityRenderDetection.prototype.____constructor(self, postGridEntit
31885
31953
  end
31886
31954
  end
31887
31955
  end
31888
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
31956
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
31889
31957
  self.postGridEntityRender = postGridEntityRender
31890
31958
  self.postGridEntityCustomRender = postGridEntityCustomRender
31891
31959
  self.customGridEntities = customGridEntities
@@ -31943,8 +32011,8 @@ function GridEntityUpdateDetection.prototype.____constructor(self, postGridEntit
31943
32011
  end
31944
32012
  end
31945
32013
  self.featuresUsed = {ISCFeature.RUN_IN_N_FRAMES}
31946
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
31947
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
32014
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
32015
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
31948
32016
  self.postGridEntityInit = postGridEntityInit
31949
32017
  self.postGridEntityCustomInit = postGridEntityCustomInit
31950
32018
  self.postGridEntityUpdate = postGridEntityUpdate
@@ -32028,7 +32096,8 @@ local __TS__New = ____lualib.__TS__New
32028
32096
  local ____exports = {}
32029
32097
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
32030
32098
  local ItemType = ____isaac_2Dtypescript_2Ddefinitions.ItemType
32031
- local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
32099
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
32100
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
32032
32101
  local ____playerDataStructures = require("src.functions.playerDataStructures")
32033
32102
  local defaultMapGetPlayer = ____playerDataStructures.defaultMapGetPlayer
32034
32103
  local ____types = require("src.functions.types")
@@ -32050,7 +32119,7 @@ function ItemPickupDetection.prototype.____constructor(self, postItemPickup, pre
32050
32119
  DefaultMap,
32051
32120
  function() return newPickingUpItem(nil) end
32052
32121
  )}}
32053
- self.postPEffectUpdate = function(____, player)
32122
+ self.postPEffectUpdateReordered = function(____, player)
32054
32123
  local pickingUpItem = defaultMapGetPlayer(nil, self.v.run.playersPickingUpItemMap, player)
32055
32124
  if player:IsItemQueueEmpty() then
32056
32125
  self:queueEmpty(player, pickingUpItem)
@@ -32058,7 +32127,7 @@ function ItemPickupDetection.prototype.____constructor(self, postItemPickup, pre
32058
32127
  self:queueNotEmpty(player, pickingUpItem)
32059
32128
  end
32060
32129
  end
32061
- self.callbacksUsed = {{ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}}
32130
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
32062
32131
  self.postItemPickup = postItemPickup
32063
32132
  self.preItemPickup = preItemPickup
32064
32133
  end
@@ -32447,7 +32516,7 @@ function ModdedElementDetection.prototype.____constructor(self)
32447
32516
  self.postPlayerInit = function(____, _player)
32448
32517
  self.atLeastOneCallbackFired = true
32449
32518
  end
32450
- self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, {self.postPlayerInit}}}
32519
+ self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, self.postPlayerInit}}
32451
32520
  end
32452
32521
  function ModdedElementDetection.prototype.errorIfNoCallbacksFired(self, constantType)
32453
32522
  if not self.atLeastOneCallbackFired then
@@ -33322,7 +33391,6 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescri
33322
33391
  local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
33323
33392
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
33324
33393
  local DamageFlag = ____isaac_2Dtypescript_2Ddefinitions.DamageFlag
33325
- local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
33326
33394
  local ItemType = ____isaac_2Dtypescript_2Ddefinitions.ItemType
33327
33395
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
33328
33396
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
@@ -33368,27 +33436,10 @@ function PlayerCollectibleDetection.prototype.____constructor(self, postPlayerCo
33368
33436
  self:updateCollectibleMapAndFire(player, nil)
33369
33437
  return nil
33370
33438
  end
33371
- self.postPEffectUpdate = function(____, player)
33372
- local oldCollectibleCount = defaultMapGetPlayer(nil, self.v.run.playersCollectibleCount, player)
33373
- local newCollectibleCount = player:GetCollectibleCount()
33374
- mapSetPlayer(nil, self.v.run.playersCollectibleCount, player, newCollectibleCount)
33375
- local difference = newCollectibleCount - oldCollectibleCount
33376
- if difference > 0 then
33377
- self:updateCollectibleMapAndFire(player, difference)
33378
- elseif difference < 0 then
33379
- self:updateCollectibleMapAndFire(player, difference * -1)
33380
- elseif difference == 0 then
33381
- self:checkActiveItemsChanged(player)
33382
- end
33383
- end
33384
- self.entityTakeDmgPlayer = function(____, entity, _amount, damageFlags, _source, _countdownFrames)
33439
+ self.entityTakeDmgPlayer = function(____, player, _amount, damageFlags, _source, _countdownFrames)
33385
33440
  if hasFlag(nil, damageFlags, DamageFlag.FAKE) then
33386
33441
  return nil
33387
33442
  end
33388
- local player = entity:ToPlayer()
33389
- if player == nil then
33390
- return nil
33391
- end
33392
33443
  local character = player:GetPlayerType()
33393
33444
  if character ~= PlayerType.EDEN_B then
33394
33445
  return nil
@@ -33410,9 +33461,22 @@ function PlayerCollectibleDetection.prototype.____constructor(self, postPlayerCo
33410
33461
  mapSetPlayer(nil, self.v.run.playersCollectibleCount, player, newCollectibleCount)
33411
33462
  self:updateCollectibleMapAndFire(player, 1)
33412
33463
  end
33464
+ self.postPEffectUpdateReordered = function(____, player)
33465
+ local oldCollectibleCount = defaultMapGetPlayer(nil, self.v.run.playersCollectibleCount, player)
33466
+ local newCollectibleCount = player:GetCollectibleCount()
33467
+ mapSetPlayer(nil, self.v.run.playersCollectibleCount, player, newCollectibleCount)
33468
+ local difference = newCollectibleCount - oldCollectibleCount
33469
+ if difference > 0 then
33470
+ self:updateCollectibleMapAndFire(player, difference)
33471
+ elseif difference < 0 then
33472
+ self:updateCollectibleMapAndFire(player, difference * -1)
33473
+ elseif difference == 0 then
33474
+ self:checkActiveItemsChanged(player)
33475
+ end
33476
+ end
33413
33477
  self.featuresUsed = {ISCFeature.MODDED_ELEMENT_SETS, ISCFeature.RUN_IN_N_FRAMES}
33414
- self.callbacksUsed = {{ModCallback.POST_USE_ITEM, {self.useItemD4, CollectibleType.D4}}, {ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}, {ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}}}
33415
- self.customCallbacksUsed = {{ModCallbackCustom.POST_ITEM_PICKUP, {self.postItemPickup}}}
33478
+ self.callbacksUsed = {{ModCallback.POST_USE_ITEM, self.useItemD4, {CollectibleType.D4}}}
33479
+ self.customCallbacksUsed = {{ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, self.entityTakeDmgPlayer}, {ModCallbackCustom.POST_ITEM_PICKUP, self.postItemPickup}, {ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
33416
33480
  self.postPlayerCollectibleAdded = postPlayerCollectibleAdded
33417
33481
  self.postPlayerCollectibleRemoved = postPlayerCollectibleRemoved
33418
33482
  self.moddedElementSets = moddedElementSets
@@ -33541,8 +33605,8 @@ function PlayerReorderedCallbacks.prototype.____constructor(self, postPEffectUpd
33541
33605
  dequeue(nil, self.v.run.postPlayerUpdateQueue, self.postPlayerUpdateReordered.fire)
33542
33606
  dequeue(nil, self.v.run.postPlayerRenderQueue, self.postPlayerRenderReordered.fire)
33543
33607
  end
33544
- self.callbacksUsed = {{ModCallback.POST_PEFFECT_UPDATE, {self.postPEffectUpdate}}, {ModCallback.POST_PLAYER_UPDATE, {self.postPlayerUpdate}}, {ModCallback.POST_PLAYER_RENDER, {self.postPlayerRender}}}
33545
- self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST, {self.postGameStartedReorderedLast}}}
33608
+ self.callbacksUsed = {{ModCallback.POST_PEFFECT_UPDATE, self.postPEffectUpdate}, {ModCallback.POST_PLAYER_UPDATE, self.postPlayerUpdate}, {ModCallback.POST_PLAYER_RENDER, self.postPlayerRender}}
33609
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST, self.postGameStartedReorderedLast}}
33546
33610
  self.postPEffectUpdateReordered = postPEffectUpdateReordered
33547
33611
  self.postPlayerRenderReordered = postPlayerRenderReordered
33548
33612
  self.postPlayerUpdateReordered = postPlayerUpdateReordered
@@ -33586,7 +33650,7 @@ function SlotRenderDetection.prototype.____constructor(self, postSlotRender, pos
33586
33650
  self:checkSlotAnimationChanged(slot)
33587
33651
  end
33588
33652
  end
33589
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
33653
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
33590
33654
  self.postSlotRender = postSlotRender
33591
33655
  self.postSlotAnimationChanged = postSlotAnimationChanged
33592
33656
  end
@@ -33635,8 +33699,8 @@ function SlotUpdateDetection.prototype.____constructor(self, postSlotInit, postS
33635
33699
  self:checkNewEntity(slot)
33636
33700
  end
33637
33701
  end
33638
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}}
33639
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
33702
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}}
33703
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
33640
33704
  self.postSlotInit = postSlotInit
33641
33705
  self.postSlotUpdate = postSlotUpdate
33642
33706
  end
@@ -34260,8 +34324,8 @@ function CharacterHealthConversion.prototype.____constructor(self)
34260
34324
  convertRedHeartContainers(nil, player, conversionHeartSubType)
34261
34325
  removeRedHearts(nil, player)
34262
34326
  end
34263
- self.callbacksUsed = {{ModCallback.PRE_PICKUP_COLLISION, {self.prePickupCollisionHeart, PickupVariant.HEART}}}
34264
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
34327
+ self.callbacksUsed = {{ModCallback.PRE_PICKUP_COLLISION, self.prePickupCollisionHeart, {PickupVariant.HEART}}}
34328
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
34265
34329
  end
34266
34330
  function CharacterHealthConversion.prototype.registerCharacterHealthConversion(self, playerType, conversionHeartSubType)
34267
34331
  if self.characterHealthReplacementMap:has(playerType) then
@@ -34446,7 +34510,7 @@ function CharacterStats.prototype.____constructor(self)
34446
34510
  local delta = stat - defaultStat
34447
34511
  addStat(nil, player, cacheFlag, delta)
34448
34512
  end
34449
- self.callbacksUsed = {{ModCallback.EVALUATE_CACHE, {self.evaluateCache}}}
34513
+ self.callbacksUsed = {{ModCallback.EVALUATE_CACHE, self.evaluateCache}}
34450
34514
  end
34451
34515
  function CharacterStats.prototype.registerCharacterStats(self, playerType, statMap)
34452
34516
  self.charactersStatMap:set(playerType, statMap)
@@ -34525,7 +34589,7 @@ function RoomHistory.prototype.____constructor(self)
34525
34589
  local ____self_v_run_roomHistory_0 = self.v.run.roomHistory
34526
34590
  ____self_v_run_roomHistory_0[#____self_v_run_roomHistory_0 + 1] = roomDescription
34527
34591
  end
34528
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_EARLY, {self.postNewRoomEarly}}}
34592
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_EARLY, self.postNewRoomEarly}}
34529
34593
  end
34530
34594
  function RoomHistory.prototype.getRoomHistory(self)
34531
34595
  return self.v.run.roomHistory
@@ -36278,8 +36342,8 @@ function SaveDataManager.prototype.____constructor(self, mod)
36278
36342
  makeGlowingHourGlassBackup(nil, self.saveDataMap, self.saveDataConditionalFuncMap, self.saveDataGlowingHourGlassMap)
36279
36343
  end
36280
36344
  end
36281
- self.callbacksUsed = {{ModCallback.POST_USE_ITEM, {self.postUseItemGlowingHourGlass, CollectibleType.GLOWING_HOUR_GLASS}}, {ModCallback.POST_PLAYER_INIT, {self.postPlayerInit}}, {ModCallback.PRE_GAME_EXIT, {self.preGameExit}}, {ModCallback.POST_NEW_LEVEL, {self.postNewLevel}}}
36282
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_EARLY, {self.postNewRoomEarly}}}
36345
+ self.callbacksUsed = {{ModCallback.POST_USE_ITEM, self.postUseItemGlowingHourGlass, {CollectibleType.GLOWING_HOUR_GLASS}}, {ModCallback.POST_PLAYER_INIT, self.postPlayerInit}, {ModCallback.PRE_GAME_EXIT, self.preGameExit}, {ModCallback.POST_NEW_LEVEL, self.postNewLevel}}
36346
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_EARLY, self.postNewRoomEarly}}
36283
36347
  self.mod = mod
36284
36348
  end
36285
36349
  function SaveDataManager.prototype.saveDataManager(self, key, v, conditionalFunc)
@@ -36442,7 +36506,7 @@ function PickupIndexCreation.prototype.____constructor(self, roomHistory, saveDa
36442
36506
  self:checkDespawningFromPlayerLeavingRoom(entity)
36443
36507
  end
36444
36508
  self.featuresUsed = {ISCFeature.ROOM_HISTORY, ISCFeature.SAVE_DATA_MANAGER}
36445
- self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, {self.postPickupInit}}, {ModCallback.POST_ENTITY_REMOVE, {self.postEntityRemovePickup, EntityType.PICKUP}}}
36509
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, self.postPickupInit}, {ModCallback.POST_ENTITY_REMOVE, self.postEntityRemovePickup, {EntityType.PICKUP}}}
36446
36510
  self.roomHistory = roomHistory
36447
36511
  self.saveDataManager = saveDataManager
36448
36512
  end
@@ -36610,7 +36674,7 @@ function CollectibleItemPoolType.prototype.____constructor(self, pickupIndexCrea
36610
36674
  self.v.run.collectibleItemPoolTypeMap:set(pickupIndex, lastItemPoolType)
36611
36675
  end
36612
36676
  self.featuresUsed = {ISCFeature.PICKUP_INDEX_CREATION}
36613
- self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, {self.postPickupInitCollectible, PickupVariant.COLLECTIBLE}}}
36677
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_INIT, self.postPickupInitCollectible, {PickupVariant.COLLECTIBLE}}}
36614
36678
  self.pickupIndexCreation = pickupIndexCreation
36615
36679
  end
36616
36680
  function CollectibleItemPoolType.prototype.getCollectibleItemPoolType(self, collectible)
@@ -36878,7 +36942,7 @@ function CustomHotkeys.prototype.____constructor(self)
36878
36942
  end
36879
36943
  end
36880
36944
  end
36881
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
36945
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
36882
36946
  end
36883
36947
  function CustomHotkeys.prototype.checkIfTriggered(self, keyboard, triggerFunc)
36884
36948
  local isPressed = isKeyboardPressed(nil, keyboard)
@@ -37057,7 +37121,7 @@ function CustomItemPools.prototype.____constructor(self)
37057
37121
  end
37058
37122
  self.v.run.customItemPools = copyMap(nil, self.customItemPoolMap)
37059
37123
  end
37060
- self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED, {self.postGameStartedReordered}}}
37124
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_GAME_STARTED_REORDERED, self.postGameStartedReordered}}
37061
37125
  end
37062
37126
  function CustomItemPools.prototype.registerCustomItemPool(self, itemPoolTypeCustom, collectibles)
37063
37127
  if self.customItemPoolMap:has(itemPoolTypeCustom) then
@@ -37173,7 +37237,7 @@ function CustomPickups.prototype.____constructor(self)
37173
37237
  effect:Remove()
37174
37238
  end
37175
37239
  end
37176
- self.callbacksUsed = {{ModCallback.PRE_PICKUP_COLLISION, {self.prePickupCollision}}, {ModCallback.POST_EFFECT_RENDER, {self.postEffectRenderPickupEffect, PICKUP_EFFECT_VARIANT}}}
37240
+ self.callbacksUsed = {{ModCallback.PRE_PICKUP_COLLISION, self.prePickupCollision}, {ModCallback.POST_EFFECT_RENDER, self.postEffectRenderPickupEffect, {PICKUP_EFFECT_VARIANT}}}
37177
37241
  end
37178
37242
  function CustomPickups.prototype.registerCustomPickup(self, pickupVariantCustom, subType, collectFunc, collisionFunc)
37179
37243
  if collisionFunc == nil then
@@ -37886,7 +37950,7 @@ function DisableInputs.prototype.____constructor(self)
37886
37950
  self.isActionPressed = function(____, _entity, _inputHook, buttonAction) return self:getReturnValue(buttonAction, true) end
37887
37951
  self.isActionTriggered = function(____, _entity, _inputHook, buttonAction) return self:getReturnValue(buttonAction, true) end
37888
37952
  self.getActionValue = function(____, _entity, _inputHook, buttonAction) return self:getReturnValue(buttonAction, false) end
37889
- self.callbacksUsed = {{ModCallback.INPUT_ACTION, {self.isActionPressed, InputHook.IS_ACTION_PRESSED}}, {ModCallback.INPUT_ACTION, {self.isActionTriggered, InputHook.IS_ACTION_TRIGGERED}}, {ModCallback.INPUT_ACTION, {self.getActionValue, InputHook.GET_ACTION_VALUE}}}
37953
+ self.callbacksUsed = {{ModCallback.INPUT_ACTION, self.isActionPressed, {InputHook.IS_ACTION_PRESSED}}, {ModCallback.INPUT_ACTION, self.isActionTriggered, {InputHook.IS_ACTION_TRIGGERED}}, {ModCallback.INPUT_ACTION, self.getActionValue, {InputHook.GET_ACTION_VALUE}}}
37890
37954
  end
37891
37955
  function DisableInputs.prototype.getReturnValue(self, buttonAction, booleanCallback)
37892
37956
  local ____booleanCallback_0
@@ -38005,7 +38069,7 @@ function PonyDetection.prototype.____constructor(self)
38005
38069
  setDeletePlayer(nil, self.v.run.playersIsPonyActive, player)
38006
38070
  end
38007
38071
  end
38008
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
38072
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
38009
38073
  end
38010
38074
  function PonyDetection.prototype.isPlayerUsingPony(self, player)
38011
38075
  return setHasPlayer(nil, self.v.run.playersIsPonyActive, player)
@@ -38049,7 +38113,7 @@ function RoomClearFrame.prototype.____constructor(self)
38049
38113
  self.v.room.roomClearGameFrame = gameFrameCount
38050
38114
  self.v.room.roomClearRoomFrame = roomFrameCount
38051
38115
  end
38052
- self.customCallbacksUsed = {{ModCallbackCustom.POST_ROOM_CLEAR_CHANGED, {self.postRoomClearChangedTrue}}}
38116
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_ROOM_CLEAR_CHANGED, self.postRoomClearChangedTrue}}
38053
38117
  end
38054
38118
  function RoomClearFrame.prototype.getRoomClearGameFrame(self)
38055
38119
  return self.v.room.roomClearGameFrame
@@ -38088,7 +38152,7 @@ function RunNextRoom.prototype.____constructor(self)
38088
38152
  end
38089
38153
  emptyArray(nil, self.v.run.queuedFunctions)
38090
38154
  end
38091
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
38155
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
38092
38156
  end
38093
38157
  function RunNextRoom.prototype.runNextRoom(self, func)
38094
38158
  local ____self_v_run_queuedFunctions_0 = self.v.run.queuedFunctions
@@ -38264,7 +38328,7 @@ function StageHistory.prototype.____constructor(self)
38264
38328
  local ____self_v_run_stageHistory_0 = self.v.run.stageHistory
38265
38329
  ____self_v_run_stageHistory_0[#____self_v_run_stageHistory_0 + 1] = {stage, stageType}
38266
38330
  end
38267
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_LEVEL_REORDERED, {self.postNewLevelReordered}}}
38331
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_LEVEL_REORDERED, self.postNewLevelReordered}}
38268
38332
  end
38269
38333
  function StageHistory.prototype.getNextStageTypeWithHistory(self, upwards)
38270
38334
  if upwards == nil then
@@ -38587,8 +38651,8 @@ function CustomTrapdoors.prototype.____constructor(self, customGridEntities, dis
38587
38651
  ISCFeature.RUN_NEXT_ROOM,
38588
38652
  ISCFeature.STAGE_HISTORY
38589
38653
  }
38590
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
38591
- self.customCallbacksUsed = {{ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE, {self.postGridEntityCustomUpdateTrapdoor, GridEntityTypeCustom.TRAPDOOR_CUSTOM}}, {ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, {self.postPEffectUpdateReordered}}}
38654
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
38655
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE, self.postGridEntityCustomUpdateTrapdoor, {GridEntityTypeCustom.TRAPDOOR_CUSTOM}}, {ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, self.postPEffectUpdateReordered}}
38592
38656
  self.customGridEntities = customGridEntities
38593
38657
  self.disableInputs = disableInputs
38594
38658
  self.ponyDetection = ponyDetection
@@ -40959,7 +41023,7 @@ function DisableAllSound.prototype.____constructor(self)
40959
41023
  end
40960
41024
  stopAllSoundEffects(nil)
40961
41025
  end
40962
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
41026
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
40963
41027
  end
40964
41028
  function DisableAllSound.prototype.enableAllSound(self, key)
40965
41029
  if not self.v.run.disableSoundSet:has(key) then
@@ -41049,7 +41113,7 @@ function Pause.prototype.____constructor(self, disableInputs)
41049
41113
  self.v.run.shouldUnpause = false
41050
41114
  return 1
41051
41115
  end
41052
- self.callbacksUsed = {{ModCallback.POST_UPDATE, {self.postUpdate}}, {ModCallback.INPUT_ACTION, {self.inputActionGetActionValue, InputHook.GET_ACTION_VALUE}}}
41116
+ self.callbacksUsed = {{ModCallback.POST_UPDATE, self.postUpdate}, {ModCallback.INPUT_ACTION, self.inputActionGetActionValue, {InputHook.GET_ACTION_VALUE}}}
41053
41117
  self.disableInputs = disableInputs
41054
41118
  end
41055
41119
  function Pause.prototype.stopTearsAndProjectilesFromMoving(self)
@@ -41610,8 +41674,8 @@ function CustomStages.prototype.____constructor(self, customGridEntities, custom
41610
41674
  ISCFeature.PAUSE,
41611
41675
  ISCFeature.RUN_IN_N_FRAMES
41612
41676
  }
41613
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}, {ModCallback.POST_CURSE_EVAL, {self.postCurseEval}}, {ModCallback.GET_SHADER_PARAMS, {self.getShaderParams}}}
41614
- self.customCallbacksUsed = {{ModCallbackCustom.POST_GRID_ENTITY_BROKEN, {self.postGridEntityBrokenRockAlt, GridEntityType.ROCK_ALT}}, {ModCallbackCustom.POST_GRID_ENTITY_INIT, {self.postGridEntityInit}}, {ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
41677
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}, {ModCallback.POST_CURSE_EVAL, self.postCurseEval}, {ModCallback.GET_SHADER_PARAMS, self.getShaderParams}}
41678
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_GRID_ENTITY_BROKEN, self.postGridEntityBrokenRockAlt, {GridEntityType.ROCK_ALT}}, {ModCallbackCustom.POST_GRID_ENTITY_INIT, self.postGridEntityInit}, {ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
41615
41679
  self.customGridEntities = customGridEntities
41616
41680
  self.customTrapdoors = customTrapdoors
41617
41681
  self.disableAllSound = disableAllSound
@@ -41825,7 +41889,7 @@ function DebugDisplayBomb.prototype.____constructor(self)
41825
41889
  local text = self:textCallback(bomb)
41826
41890
  renderTextOnEntity(nil, bomb, text)
41827
41891
  end
41828
- self.callbacksUsed = {{ModCallback.POST_BOMB_RENDER, {self.postBombRender}}}
41892
+ self.callbacksUsed = {{ModCallback.POST_BOMB_RENDER, self.postBombRender}}
41829
41893
  end
41830
41894
  return ____exports
41831
41895
  end,
@@ -41852,7 +41916,7 @@ function DebugDisplayDoor.prototype.____constructor(self)
41852
41916
  local text = self:textCallback(door)
41853
41917
  renderTextOnEntity(nil, door, text)
41854
41918
  end
41855
- self.customCallbacksUsed = {{ModCallbackCustom.POST_DOOR_RENDER, {self.postDoorRender}}}
41919
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_DOOR_RENDER, self.postDoorRender}}
41856
41920
  end
41857
41921
  return ____exports
41858
41922
  end,
@@ -41879,7 +41943,7 @@ function DebugDisplayEffect.prototype.____constructor(self)
41879
41943
  local text = self:textCallback(effect)
41880
41944
  renderTextOnEntity(nil, effect, text)
41881
41945
  end
41882
- self.callbacksUsed = {{ModCallback.POST_EFFECT_RENDER, {self.postEffectRender}}}
41946
+ self.callbacksUsed = {{ModCallback.POST_EFFECT_RENDER, self.postEffectRender}}
41883
41947
  end
41884
41948
  return ____exports
41885
41949
  end,
@@ -41906,7 +41970,7 @@ function DebugDisplayFamiliar.prototype.____constructor(self)
41906
41970
  local text = self:textCallback(familiar)
41907
41971
  renderTextOnEntity(nil, familiar, text)
41908
41972
  end
41909
- self.callbacksUsed = {{ModCallback.POST_FAMILIAR_RENDER, {self.postFamiliarRender}}}
41973
+ self.callbacksUsed = {{ModCallback.POST_FAMILIAR_RENDER, self.postFamiliarRender}}
41910
41974
  end
41911
41975
  return ____exports
41912
41976
  end,
@@ -41933,7 +41997,7 @@ function DebugDisplayKnife.prototype.____constructor(self)
41933
41997
  local text = self:textCallback(knife)
41934
41998
  renderTextOnEntity(nil, knife, text)
41935
41999
  end
41936
- self.callbacksUsed = {{ModCallback.POST_KNIFE_RENDER, {self.postKnifeRender}}}
42000
+ self.callbacksUsed = {{ModCallback.POST_KNIFE_RENDER, self.postKnifeRender}}
41937
42001
  end
41938
42002
  return ____exports
41939
42003
  end,
@@ -41960,7 +42024,7 @@ function DebugDisplayLaser.prototype.____constructor(self)
41960
42024
  local text = self:textCallback(laser)
41961
42025
  renderTextOnEntity(nil, laser, text)
41962
42026
  end
41963
- self.callbacksUsed = {{ModCallback.POST_LASER_RENDER, {self.postLaserRender}}}
42027
+ self.callbacksUsed = {{ModCallback.POST_LASER_RENDER, self.postLaserRender}}
41964
42028
  end
41965
42029
  return ____exports
41966
42030
  end,
@@ -41987,7 +42051,7 @@ function DebugDisplayNPC.prototype.____constructor(self)
41987
42051
  local text = self:textCallback(npc)
41988
42052
  renderTextOnEntity(nil, npc, text)
41989
42053
  end
41990
- self.callbacksUsed = {{ModCallback.POST_NPC_RENDER, {self.postNPCRender}}}
42054
+ self.callbacksUsed = {{ModCallback.POST_NPC_RENDER, self.postNPCRender}}
41991
42055
  end
41992
42056
  return ____exports
41993
42057
  end,
@@ -42014,7 +42078,7 @@ function DebugDisplayPickup.prototype.____constructor(self)
42014
42078
  local text = self:textCallback(pickup)
42015
42079
  renderTextOnEntity(nil, pickup, text)
42016
42080
  end
42017
- self.callbacksUsed = {{ModCallback.POST_PICKUP_RENDER, {self.postPickupRender}}}
42081
+ self.callbacksUsed = {{ModCallback.POST_PICKUP_RENDER, self.postPickupRender}}
42018
42082
  end
42019
42083
  return ____exports
42020
42084
  end,
@@ -42041,7 +42105,7 @@ function DebugDisplayPit.prototype.____constructor(self)
42041
42105
  local text = self:textCallback(pit)
42042
42106
  renderTextOnEntity(nil, pit, text)
42043
42107
  end
42044
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PIT_RENDER, {self.postPitRender}}}
42108
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PIT_RENDER, self.postPitRender}}
42045
42109
  end
42046
42110
  return ____exports
42047
42111
  end,
@@ -42068,7 +42132,7 @@ function DebugDisplayPlayer.prototype.____constructor(self)
42068
42132
  local text = self:textCallback(player)
42069
42133
  renderTextOnEntity(nil, player, text)
42070
42134
  end
42071
- self.callbacksUsed = {{ModCallback.POST_PLAYER_RENDER, {self.postPlayerRender}}}
42135
+ self.callbacksUsed = {{ModCallback.POST_PLAYER_RENDER, self.postPlayerRender}}
42072
42136
  end
42073
42137
  return ____exports
42074
42138
  end,
@@ -42095,7 +42159,7 @@ function DebugDisplayPoop.prototype.____constructor(self)
42095
42159
  local text = self:textCallback(poop)
42096
42160
  renderTextOnEntity(nil, poop, text)
42097
42161
  end
42098
- self.customCallbacksUsed = {{ModCallbackCustom.POST_POOP_RENDER, {self.postPoopRender}}}
42162
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_POOP_RENDER, self.postPoopRender}}
42099
42163
  end
42100
42164
  return ____exports
42101
42165
  end,
@@ -42122,7 +42186,7 @@ function DebugDisplayPressurePlate.prototype.____constructor(self)
42122
42186
  local text = self:textCallback(pressurePlate)
42123
42187
  renderTextOnEntity(nil, pressurePlate, text)
42124
42188
  end
42125
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PRESSURE_PLATE_RENDER, {self.postPressurePlateRender}}}
42189
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PRESSURE_PLATE_RENDER, self.postPressurePlateRender}}
42126
42190
  end
42127
42191
  return ____exports
42128
42192
  end,
@@ -42149,7 +42213,7 @@ function DebugDisplayProjectile.prototype.____constructor(self)
42149
42213
  local text = self:textCallback(projectile)
42150
42214
  renderTextOnEntity(nil, projectile, text)
42151
42215
  end
42152
- self.callbacksUsed = {{ModCallback.POST_PROJECTILE_RENDER, {self.postProjectileRender}}}
42216
+ self.callbacksUsed = {{ModCallback.POST_PROJECTILE_RENDER, self.postProjectileRender}}
42153
42217
  end
42154
42218
  return ____exports
42155
42219
  end,
@@ -42176,7 +42240,7 @@ function DebugDisplayRock.prototype.____constructor(self)
42176
42240
  local text = self:textCallback(rock)
42177
42241
  renderTextOnEntity(nil, rock, text)
42178
42242
  end
42179
- self.customCallbacksUsed = {{ModCallbackCustom.POST_ROCK_RENDER, {self.postRockRender}}}
42243
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_ROCK_RENDER, self.postRockRender}}
42180
42244
  end
42181
42245
  return ____exports
42182
42246
  end,
@@ -42203,7 +42267,7 @@ function DebugDisplaySlot.prototype.____constructor(self)
42203
42267
  local text = self:textCallback(slot)
42204
42268
  renderTextOnEntity(nil, slot, text)
42205
42269
  end
42206
- self.customCallbacksUsed = {{ModCallbackCustom.POST_SLOT_RENDER, {self.postSlotRender}}}
42270
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_SLOT_RENDER, self.postSlotRender}}
42207
42271
  end
42208
42272
  return ____exports
42209
42273
  end,
@@ -42230,7 +42294,7 @@ function DebugDisplaySpikes.prototype.____constructor(self)
42230
42294
  local text = self:textCallback(spikes)
42231
42295
  renderTextOnEntity(nil, spikes, text)
42232
42296
  end
42233
- self.customCallbacksUsed = {{ModCallbackCustom.POST_SPIKES_RENDER, {self.postSpikesRender}}}
42297
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_SPIKES_RENDER, self.postSpikesRender}}
42234
42298
  end
42235
42299
  return ____exports
42236
42300
  end,
@@ -42257,7 +42321,7 @@ function DebugDisplayTear.prototype.____constructor(self)
42257
42321
  local text = self:textCallback(tear)
42258
42322
  renderTextOnEntity(nil, tear, text)
42259
42323
  end
42260
- self.callbacksUsed = {{ModCallback.POST_TEAR_RENDER, {self.postTearRender}}}
42324
+ self.callbacksUsed = {{ModCallback.POST_TEAR_RENDER, self.postTearRender}}
42261
42325
  end
42262
42326
  return ____exports
42263
42327
  end,
@@ -42284,7 +42348,7 @@ function DebugDisplayTNT.prototype.____constructor(self)
42284
42348
  local text = self:textCallback(tnt)
42285
42349
  renderTextOnEntity(nil, tnt, text)
42286
42350
  end
42287
- self.customCallbacksUsed = {{ModCallbackCustom.POST_TNT_RENDER, {self.postTNTRender}}}
42351
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_TNT_RENDER, self.postTNTRender}}
42288
42352
  end
42289
42353
  return ____exports
42290
42354
  end,
@@ -43244,8 +43308,8 @@ function PreventGridEntityRespawn.prototype.____constructor(self, runInNFrames)
43244
43308
  self:setDecorationsInvisible()
43245
43309
  end
43246
43310
  self.featuresUsed = {ISCFeature.RUN_IN_N_FRAMES}
43247
- self.callbacksUsed = {{ModCallback.PRE_USE_ITEM, {self.preUseItemWeNeedToGoDeeper, CollectibleType.WE_NEED_TO_GO_DEEPER}}}
43248
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
43311
+ self.callbacksUsed = {{ModCallback.PRE_USE_ITEM, self.preUseItemWeNeedToGoDeeper, {CollectibleType.WE_NEED_TO_GO_DEEPER}}}
43312
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
43249
43313
  self.runInNFrames = runInNFrames
43250
43314
  end
43251
43315
  function PreventGridEntityRespawn.prototype.setDecorationsInvisible(self)
@@ -43397,7 +43461,7 @@ function PreventCollectibleRotation.prototype.____constructor(self)
43397
43461
  local collectible = pickup
43398
43462
  self:checkCollectibleRotated(collectible)
43399
43463
  end
43400
- self.callbacksUsed = {{ModCallback.POST_USE_CARD, {self.useCardSoulOfIsaac, CardType.SOUL_ISAAC}}, {ModCallback.POST_PICKUP_UPDATE, {self.postPickupUpdateCollectible, PickupVariant.COLLECTIBLE}}}
43464
+ self.callbacksUsed = {{ModCallback.POST_USE_CARD, self.useCardSoulOfIsaac, {CardType.SOUL_ISAAC}}, {ModCallback.POST_PICKUP_UPDATE, self.postPickupUpdateCollectible, {PickupVariant.COLLECTIBLE}}}
43401
43465
  end
43402
43466
  function PreventCollectibleRotation.prototype.checkCollectibleRotated(self, collectible)
43403
43467
  if collectible.SubType == CollectibleType.NULL then
@@ -47152,12 +47216,13 @@ local ____exports = {}
47152
47216
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
47153
47217
  local CacheFlag = ____isaac_2Dtypescript_2Ddefinitions.CacheFlag
47154
47218
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
47155
- local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
47156
47219
  local LevelCurse = ____isaac_2Dtypescript_2Ddefinitions.LevelCurse
47157
47220
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
47158
47221
  local TearVariant = ____isaac_2Dtypescript_2Ddefinitions.TearVariant
47159
47222
  local ____decorators = require("src.decorators")
47160
47223
  local Exported = ____decorators.Exported
47224
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
47225
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
47161
47226
  local ____flag = require("src.functions.flag")
47162
47227
  local addFlag = ____flag.addFlag
47163
47228
  local bitFlags = ____flag.bitFlags
@@ -47205,12 +47270,6 @@ function ExtraConsoleCommands.prototype.____constructor(self)
47205
47270
  player.CanFly = true
47206
47271
  end
47207
47272
  end
47208
- self.entityTakeDmgPlayer = function(____, _entity, _damageAmount, _damageFlags, _damageSource, _damageCountdownFrames)
47209
- if self.v.persistent.spamBloodRights then
47210
- return false
47211
- end
47212
- return nil
47213
- end
47214
47273
  self.postCurseEval = function(____, curses)
47215
47274
  if self.v.persistent.disableCurses then
47216
47275
  return bitFlags(nil, LevelCurse.NONE)
@@ -47263,17 +47322,23 @@ function ExtraConsoleCommands.prototype.____constructor(self)
47263
47322
  tear:ChangeVariant(TearVariant.CHAOS_CARD)
47264
47323
  end
47265
47324
  end
47325
+ self.entityTakeDmgPlayer = function(____, _player, _damageAmount, _damageFlags, _damageSource, _damageCountdownFrames)
47326
+ if self.v.persistent.spamBloodRights then
47327
+ return false
47328
+ end
47329
+ return nil
47330
+ end
47266
47331
  self.callbacksUsed = {
47267
- {ModCallback.POST_UPDATE, {self.postUpdate}},
47268
- {ModCallback.EVALUATE_CACHE, {self.evaluateCacheDamage, CacheFlag.DAMAGE}},
47269
- {ModCallback.EVALUATE_CACHE, {self.evaluateCacheFireDelay, CacheFlag.FIRE_DELAY}},
47270
- {ModCallback.EVALUATE_CACHE, {self.evaluateCacheSpeed, CacheFlag.SPEED}},
47271
- {ModCallback.EVALUATE_CACHE, {self.evaluateCacheFlying, CacheFlag.FLYING}},
47272
- {ModCallback.ENTITY_TAKE_DMG, {self.entityTakeDmgPlayer, EntityType.PLAYER}},
47273
- {ModCallback.POST_CURSE_EVAL, {self.postCurseEval}},
47274
- {ModCallback.EXECUTE_CMD, {self.executeCmd}},
47275
- {ModCallback.POST_FIRE_TEAR, {self.postFireTear}}
47332
+ {ModCallback.POST_UPDATE, self.postUpdate},
47333
+ {ModCallback.EVALUATE_CACHE, self.evaluateCacheDamage, {CacheFlag.DAMAGE}},
47334
+ {ModCallback.EVALUATE_CACHE, self.evaluateCacheFireDelay, {CacheFlag.FIRE_DELAY}},
47335
+ {ModCallback.EVALUATE_CACHE, self.evaluateCacheSpeed, {CacheFlag.SPEED}},
47336
+ {ModCallback.EVALUATE_CACHE, self.evaluateCacheFlying, {CacheFlag.FLYING}},
47337
+ {ModCallback.POST_CURSE_EVAL, self.postCurseEval},
47338
+ {ModCallback.EXECUTE_CMD, self.executeCmd},
47339
+ {ModCallback.POST_FIRE_TEAR, self.postFireTear}
47276
47340
  }
47341
+ self.customCallbacksUsed = {{ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, self.entityTakeDmgPlayer}}
47277
47342
  for ____, ____value in ipairs(__TS__ObjectEntries(commands)) do
47278
47343
  local funcName = ____value[1]
47279
47344
  local func = ____value[2]
@@ -47326,7 +47391,7 @@ function FadeInRemover.prototype.____constructor(self)
47326
47391
  game:Fadein(FADE_IN_SPEED)
47327
47392
  end
47328
47393
  end
47329
- self.callbacksUsed = {{ModCallback.POST_GAME_STARTED, {self.postGameStarted}}}
47394
+ self.callbacksUsed = {{ModCallback.POST_GAME_STARTED, self.postGameStarted}}
47330
47395
  end
47331
47396
  function FadeInRemover.prototype.removeFadeIn(self)
47332
47397
  self.enabled = true
@@ -47387,7 +47452,7 @@ function FastReset.prototype.____constructor(self)
47387
47452
  end
47388
47453
  checkResetInput(nil)
47389
47454
  end
47390
- self.callbacksUsed = {{ModCallback.POST_RENDER, {self.postRender}}}
47455
+ self.callbacksUsed = {{ModCallback.POST_RENDER, self.postRender}}
47391
47456
  end
47392
47457
  function FastReset.prototype.enableFastReset(self)
47393
47458
  self.enabled = true
@@ -47494,7 +47559,7 @@ function PressInput.prototype.____constructor(self)
47494
47559
  end
47495
47560
  return nil
47496
47561
  end
47497
- self.callbacksUsed = {{ModCallback.INPUT_ACTION, {self.isActionTriggered, InputHook.IS_ACTION_TRIGGERED}}}
47562
+ self.callbacksUsed = {{ModCallback.INPUT_ACTION, self.isActionTriggered, {InputHook.IS_ACTION_TRIGGERED}}}
47498
47563
  end
47499
47564
  function PressInput.prototype.pressInput(self, player, buttonAction)
47500
47565
  local playerIndex = getPlayerIndex(nil, player)
@@ -47706,7 +47771,7 @@ function NoSirenSteal.prototype.____constructor(self)
47706
47771
  self.postNPCInitSirenHelper = function(____, npc)
47707
47772
  self:checkReturnFamiliarToPlayer(npc)
47708
47773
  end
47709
- self.callbacksUsed = {{ModCallback.POST_NPC_INIT, {self.postNPCInitSirenHelper, EntityType.SIREN_HELPER}}}
47774
+ self.callbacksUsed = {{ModCallback.POST_NPC_INIT, self.postNPCInitSirenHelper, {EntityType.SIREN_HELPER}}}
47710
47775
  end
47711
47776
  function NoSirenSteal.prototype.checkReturnFamiliarToPlayer(self, npc)
47712
47777
  if npc.Target == nil then
@@ -47820,8 +47885,8 @@ function PersistentEntities.prototype.____constructor(self, roomHistory)
47820
47885
  end
47821
47886
  end
47822
47887
  self.featuresUsed = {ISCFeature.ROOM_HISTORY}
47823
- self.callbacksUsed = {{ModCallback.POST_ENTITY_REMOVE, {self.postEntityRemove}}}
47824
- self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, {self.postNewRoomReordered}}}
47888
+ self.callbacksUsed = {{ModCallback.POST_ENTITY_REMOVE, self.postEntityRemove}}
47889
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_NEW_ROOM_REORDERED, self.postNewRoomReordered}}
47825
47890
  self.roomHistory = roomHistory
47826
47891
  end
47827
47892
  function PersistentEntities.prototype.trackDespawningPickupPosition(self, entity, index)
@@ -47940,7 +48005,7 @@ function PlayerInventory.prototype.____constructor(self)
47940
48005
  local inventory = defaultMapGetPlayer(nil, self.v.run.playersInventory, player, player)
47941
48006
  arrayRemoveInPlace(nil, inventory, collectibleType)
47942
48007
  end
47943
- self.customCallbacksUsed = {{ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED, {self.postCollectibleAdded}}, {ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED, {self.postCollectibleRemoved}}}
48008
+ self.customCallbacksUsed = {{ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED, self.postCollectibleAdded}, {ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED, self.postCollectibleRemoved}}
47944
48009
  end
47945
48010
  function PlayerInventory.prototype.getPlayerInventory(self, player, includeActiveCollectibles)
47946
48011
  if includeActiveCollectibles == nil then
@@ -47991,7 +48056,7 @@ function PreventChildEntities.prototype.____constructor(self)
47991
48056
  npc:Remove()
47992
48057
  end
47993
48058
  end
47994
- self.callbacksUsed = {{ModCallback.POST_NPC_INIT, {self.postNPCInit}}}
48059
+ self.callbacksUsed = {{ModCallback.POST_NPC_INIT, self.postNPCInit}}
47995
48060
  end
47996
48061
  function PreventChildEntities.prototype.preventChildEntities(self, entity)
47997
48062
  local ptrHash = GetPtrHash(entity)
@@ -48615,7 +48680,7 @@ function TaintedLazarusPlayers.prototype.____constructor(self)
48615
48680
  end
48616
48681
  self:checkDequeue()
48617
48682
  end
48618
- self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, {self.postPlayerInit}}}
48683
+ self.callbacksUsed = {{ModCallback.POST_PLAYER_INIT, self.postPlayerInit}}
48619
48684
  end
48620
48685
  function TaintedLazarusPlayers.prototype.checkDequeue(self)
48621
48686
  if #self.v.run.queuedTaintedLazarus == 0 or #self.v.run.queuedDeadTaintedLazarus == 0 then
@@ -48880,10 +48945,6 @@ function ____exports.getFeatures(self, mod, callbacks)
48880
48945
  }
48881
48946
  return features
48882
48947
  end
48883
- return ____exports
48884
- end,
48885
- ["src.types.AnyFunction"] = function(...)
48886
- local ____exports = {}
48887
48948
  return ____exports
48888
48949
  end,
48889
48950
  ["src.functions.debugFunctions"] = function(...)
@@ -49117,19 +49178,21 @@ function ModUpgradedBase.prototype.initFeature(self, feature)
49117
49178
  end
49118
49179
  if feature.callbacksUsed ~= nil then
49119
49180
  for ____, callbackTuple in ipairs(feature.callbacksUsed) do
49120
- local modCallback, callbackArgs = table.unpack(callbackTuple)
49181
+ local modCallback, callbackFunc, optionalArgs = table.unpack(callbackTuple)
49121
49182
  self:AddCallback(
49122
49183
  modCallback,
49123
- table.unpack(callbackArgs)
49184
+ callbackFunc,
49185
+ table.unpack(optionalArgs or ({}))
49124
49186
  )
49125
49187
  end
49126
49188
  end
49127
49189
  if feature.customCallbacksUsed ~= nil then
49128
49190
  for ____, callbackTuple in ipairs(feature.customCallbacksUsed) do
49129
- local modCallback, callbackArgs = table.unpack(callbackTuple)
49191
+ local modCallback, callbackFunc, optionalArgs = table.unpack(callbackTuple)
49130
49192
  self:AddCallbackCustom(
49131
49193
  modCallback,
49132
- table.unpack(callbackArgs)
49194
+ callbackFunc,
49195
+ table.unpack(optionalArgs or ({}))
49133
49196
  )
49134
49197
  end
49135
49198
  end
@@ -49164,16 +49227,14 @@ function ModUpgradedBase.prototype.uninitFeature(self, feature)
49164
49227
  end
49165
49228
  if feature.callbacksUsed ~= nil then
49166
49229
  for ____, callbackTuple in ipairs(feature.callbacksUsed) do
49167
- local modCallback, callbackArgs = table.unpack(callbackTuple)
49168
- local callback = callbackArgs[1]
49169
- self:RemoveCallback(modCallback, callback)
49230
+ local modCallback, callbackFunc = table.unpack(callbackTuple)
49231
+ self:RemoveCallback(modCallback, callbackFunc)
49170
49232
  end
49171
49233
  end
49172
49234
  if feature.customCallbacksUsed ~= nil then
49173
49235
  for ____, callbackTuple in ipairs(feature.customCallbacksUsed) do
49174
- local modCallback, callbackArgs = table.unpack(callbackTuple)
49175
- local callback = callbackArgs[1]
49176
- self:RemoveCallbackCustom(modCallback, callback)
49236
+ local modCallback, callbackFunc = table.unpack(callbackTuple)
49237
+ self:RemoveCallbackCustom(modCallback, callbackFunc)
49177
49238
  end
49178
49239
  end
49179
49240
  if feature.v ~= nil then
@@ -49218,8 +49279,6 @@ local ____exports = {}
49218
49279
  local initDecoratedCallbacks, addCallback, removeCallback, initSaveDataManager, WRAPPED_CALLBACK_METHODS_KEY, WRAPPED_CUSTOM_CALLBACK_METHODS_KEY
49219
49280
  local ____array = require("src.functions.array")
49220
49281
  local isArray = ____array.isArray
49221
- local ____deepCopy = require("src.functions.deepCopy")
49222
- local deepCopy = ____deepCopy.deepCopy
49223
49282
  local ____tstlClass = require("src.functions.tstlClass")
49224
49283
  local getTSTLClassConstructor = ____tstlClass.getTSTLClassConstructor
49225
49284
  local getTSTLClassName = ____tstlClass.getTSTLClassName
@@ -49229,26 +49288,29 @@ local isNumber = ____types.isNumber
49229
49288
  local isTable = ____types.isTable
49230
49289
  function initDecoratedCallbacks(self, modFeature, constructor, tstlClassName, vanilla, init)
49231
49290
  local modFeatureConstructor = constructor
49232
- local argsKey = vanilla and ____exports.ADD_CALLBACK_ARGS_KEY or ____exports.ADD_CALLBACK_CUSTOM_ARGS_KEY
49233
- local addCallbackArgs = modFeatureConstructor[argsKey]
49234
- if addCallbackArgs == nil then
49291
+ local callbackTuplesKey = vanilla and ____exports.MOD_FEATURE_CALLBACKS_KEY or ____exports.MOD_FEATURE_CUSTOM_CALLBACKS_KEY
49292
+ local callbackTuples = modFeatureConstructor[callbackTuplesKey]
49293
+ if callbackTuples == nil then
49235
49294
  return
49236
49295
  end
49237
- if not isArray(nil, addCallbackArgs) then
49238
- error(("Failed to initialize/uninitialize the decorated callbacks on a mod feature since the callback arguments on the key of \"" .. argsKey) .. "\" was not an array.")
49296
+ if not isArray(nil, callbackTuples) then
49297
+ error((("Failed to initialize/uninitialize the decorated callbacks on a mod feature since the callback arguments on the key of \"" .. callbackTuplesKey) .. "\" was not an array and was instead of type: ") .. type(callbackTuples))
49239
49298
  end
49240
- for ____, args in ipairs(addCallbackArgs) do
49241
- if not isArray(nil, args) then
49242
- error("Failed to initialize/uninitialize the decorated callbacks on a mod feature since one of the callback arguments was not an array.")
49299
+ for ____, callbackTuple in ipairs(callbackTuples) do
49300
+ if not isArray(nil, callbackTuple) then
49301
+ error((("Failed to initialize/uninitialize the decorated callbacks on a mod feature since one of the callback arguments on the key of \"" .. callbackTuplesKey) .. "\" was not an array and was instead of type: ") .. type(callbackTuple))
49243
49302
  end
49244
- local parameters = deepCopy(nil, args)
49245
- local modCallback = table.remove(parameters, 1)
49303
+ local modCallback = callbackTuple[1]
49246
49304
  if not isNumber(nil, modCallback) then
49247
- error("Failed to get the callback number from the parameters for class: " .. tstlClassName)
49305
+ error("Failed to get the callback number from the callback tuple for class: " .. tstlClassName)
49248
49306
  end
49249
- local callback = table.remove(parameters, 1)
49307
+ local callback = callbackTuple[2]
49250
49308
  if not isFunction(nil, callback) then
49251
- error("Failed to get the callback function from the parameters for class: " .. tstlClassName)
49309
+ error("Failed to get the callback function from the callback tuple for class: " .. tstlClassName)
49310
+ end
49311
+ local parameters = callbackTuple[3]
49312
+ if not isArray(nil, parameters, false) then
49313
+ error("Failed to get the callback parameters from the callback tuple for class: " .. tstlClassName)
49252
49314
  end
49253
49315
  local mod = modFeature.mod
49254
49316
  if init then
@@ -49359,8 +49421,8 @@ function initSaveDataManager(self, modFeature, tstlClassName, init)
49359
49421
  saveDataManagerMethod(nil, tstlClassName)
49360
49422
  end
49361
49423
  end
49362
- ____exports.ADD_CALLBACK_ARGS_KEY = "__addCallbackArgs"
49363
- ____exports.ADD_CALLBACK_CUSTOM_ARGS_KEY = "__addCallbackCustomArgs"
49424
+ ____exports.MOD_FEATURE_CALLBACKS_KEY = "__callbacks"
49425
+ ____exports.MOD_FEATURE_CUSTOM_CALLBACKS_KEY = "__customCallbacks"
49364
49426
  WRAPPED_CALLBACK_METHODS_KEY = "__wrappedCallbackMethods"
49365
49427
  WRAPPED_CUSTOM_CALLBACK_METHODS_KEY = "__wrappedCustomCallbacksMethods"
49366
49428
  ____exports.ModFeature = __TS__Class()
@@ -49792,19 +49854,13 @@ function ____exports.hasCurse(self, curse)
49792
49854
  local curses = level:GetCurses()
49793
49855
  return hasFlag(nil, curses, curse)
49794
49856
  end
49795
- return ____exports
49796
- end,
49797
- ["src.types.AllButFirst"] = function(...)
49798
- local ____exports = {}
49799
49857
  return ____exports
49800
49858
  end,
49801
49859
  ["src.functions.decorators"] = function(...)
49802
- local ____lualib = require("lualib_bundle")
49803
- local __TS__Spread = ____lualib.__TS__Spread
49804
49860
  local ____exports = {}
49805
49861
  local ____ModFeature = require("src.classes.ModFeature")
49806
- local ADD_CALLBACK_ARGS_KEY = ____ModFeature.ADD_CALLBACK_ARGS_KEY
49807
- local ADD_CALLBACK_CUSTOM_ARGS_KEY = ____ModFeature.ADD_CALLBACK_CUSTOM_ARGS_KEY
49862
+ local MOD_FEATURE_CALLBACKS_KEY = ____ModFeature.MOD_FEATURE_CALLBACKS_KEY
49863
+ local MOD_FEATURE_CUSTOM_CALLBACKS_KEY = ____ModFeature.MOD_FEATURE_CUSTOM_CALLBACKS_KEY
49808
49864
  local ____tstlClass = require("src.functions.tstlClass")
49809
49865
  local getTSTLClassName = ____tstlClass.getTSTLClassName
49810
49866
  function ____exports.Callback(self, modCallback, ...)
@@ -49812,21 +49868,17 @@ function ____exports.Callback(self, modCallback, ...)
49812
49868
  return function(____, target, propertyKey, _descriptor)
49813
49869
  local methodName = propertyKey
49814
49870
  local method = target[methodName]
49815
- local addCallbackArgs = {
49816
- modCallback,
49817
- method,
49818
- __TS__Spread(optionalArgs)
49819
- }
49871
+ local callbackTuple = {modCallback, method, optionalArgs}
49820
49872
  local constructor = target.constructor
49821
49873
  if constructor == nil then
49822
49874
  local tstlClassName = getTSTLClassName(nil, target) or "Unknown"
49823
49875
  error(("Failed to get the constructor for class \"" .. tstlClassName) .. "\". Did you decorate a static method? You can only decorate non-static class methods, because the \"Mod\" object is not present before the class is instantiated.")
49824
49876
  end
49825
- if not (constructor[ADD_CALLBACK_ARGS_KEY] ~= nil) then
49826
- constructor[ADD_CALLBACK_ARGS_KEY] = {}
49877
+ if not (constructor[MOD_FEATURE_CALLBACKS_KEY] ~= nil) then
49878
+ constructor[MOD_FEATURE_CALLBACKS_KEY] = {}
49827
49879
  end
49828
- local callbackTuples = constructor[ADD_CALLBACK_ARGS_KEY]
49829
- callbackTuples[#callbackTuples + 1] = addCallbackArgs
49880
+ local callbackTuples = constructor[MOD_FEATURE_CALLBACKS_KEY]
49881
+ callbackTuples[#callbackTuples + 1] = callbackTuple
49830
49882
  end
49831
49883
  end
49832
49884
  function ____exports.CallbackCustom(self, modCallbackCustom, ...)
@@ -49834,21 +49886,17 @@ function ____exports.CallbackCustom(self, modCallbackCustom, ...)
49834
49886
  return function(____, target, propertyKey, _descriptor)
49835
49887
  local methodName = propertyKey
49836
49888
  local method = target[methodName]
49837
- local addCallbackArgs = {
49838
- modCallbackCustom,
49839
- method,
49840
- __TS__Spread(optionalArgs)
49841
- }
49889
+ local callbackTuple = {modCallbackCustom, method, optionalArgs}
49842
49890
  local constructor = target.constructor
49843
49891
  if constructor == nil then
49844
49892
  local tstlClassName = getTSTLClassName(nil, target) or "Unknown"
49845
49893
  error(("Failed to get the constructor for class \"" .. tstlClassName) .. "\". Did you decorate a static method? You can only decorate non-static class methods, because the \"Mod\" object is not present before the class is instantiated.")
49846
49894
  end
49847
- if not (constructor[ADD_CALLBACK_CUSTOM_ARGS_KEY] ~= nil) then
49848
- constructor[ADD_CALLBACK_CUSTOM_ARGS_KEY] = {}
49895
+ if not (constructor[MOD_FEATURE_CUSTOM_CALLBACKS_KEY] ~= nil) then
49896
+ constructor[MOD_FEATURE_CUSTOM_CALLBACKS_KEY] = {}
49849
49897
  end
49850
- local callbackTuples = constructor[ADD_CALLBACK_CUSTOM_ARGS_KEY]
49851
- callbackTuples[#callbackTuples + 1] = addCallbackArgs
49898
+ local callbackTuples = constructor[MOD_FEATURE_CUSTOM_CALLBACKS_KEY]
49899
+ callbackTuples[#callbackTuples + 1] = callbackTuple
49852
49900
  end
49853
49901
  end
49854
49902
  return ____exports