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,7 +1,6 @@
1
1
  import {
2
2
  CollectibleType,
3
3
  DamageFlag,
4
- EntityType,
5
4
  ModCallback,
6
5
  PlayerVariant,
7
6
  RoomType,
@@ -39,47 +38,82 @@ export class PostCursedTeleport extends CustomCallback<ModCallbackCustom.POST_CU
39
38
  super();
40
39
 
41
40
  this.callbacksUsed = [
42
- // 11
43
- [
44
- ModCallback.ENTITY_TAKE_DMG,
45
- [this.entityTakeDmgPlayer, EntityType.PLAYER],
46
- ],
47
-
48
41
  // 32
49
42
  [
50
43
  ModCallback.POST_PLAYER_RENDER,
51
44
  // Co-op babies cannot perform Cursed Eye teleports.
52
- [this.postPlayerRenderPlayer, PlayerVariant.PLAYER],
45
+ this.postPlayerRenderPlayer,
46
+ [PlayerVariant.PLAYER],
53
47
  ],
54
48
  ];
49
+
50
+ this.customCallbacksUsed = [
51
+ [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, this.entityTakeDmgPlayer],
52
+ ];
55
53
  }
56
54
 
57
- // ModCallback.ENTITY_TAKE_DMG (11)
58
- // EntityType.PLAYER (1)
55
+ // ModCallback.POST_PLAYER_RENDER (32)
56
+ // PlayerVariant.PLAYER (0)
57
+ private postPlayerRenderPlayer = (
58
+ player: EntityPlayer,
59
+ _renderOffset: Vector,
60
+ ): void => {
61
+ // Retrieve information about this player.
62
+ const trackingArray = mapGetPlayer(
63
+ this.v.run.playersDamageFrameMap,
64
+ player,
65
+ );
66
+ if (trackingArray === undefined) {
67
+ return;
68
+ }
69
+ const [lastDamageFrame, callbackActivatedOnThisFrame] = trackingArray;
70
+
71
+ if (!playerIsTeleportingFromCursedTeleport(player, lastDamageFrame)) {
72
+ return;
73
+ }
74
+
75
+ // Do nothing if the callback already fired on this frame.
76
+ if (callbackActivatedOnThisFrame) {
77
+ return;
78
+ }
79
+
80
+ const gameFrameCount = game.GetFrameCount();
81
+ const newTrackingArray = [gameFrameCount, true];
82
+ mapSetPlayer(this.v.run.playersDamageFrameMap, player, newTrackingArray);
83
+
84
+ this.fire(player);
85
+ };
86
+
87
+ // ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER
59
88
  private entityTakeDmgPlayer = (
60
- entity: Entity,
89
+ player: EntityPlayer,
61
90
  _amount: float,
62
91
  damageFlags: BitFlags<DamageFlag>,
63
92
  _source: EntityRef,
64
93
  _countdownFrames: int,
65
94
  ): boolean | undefined => {
66
95
  this.incrementNumSacrifices(damageFlags); // Has to be before setting the damage frame.
67
- this.setDamageFrame(entity, damageFlags);
96
+ this.setDamageFrame(player, damageFlags);
68
97
 
69
98
  return undefined;
70
99
  };
71
100
 
101
+ private incrementNumSacrifices(damageFlags: BitFlags<DamageFlag>): void {
102
+ const room = game.GetRoom();
103
+ const roomType = room.GetType();
104
+ const isSpikeDamage = hasFlag(damageFlags, DamageFlag.SPIKES);
105
+
106
+ if (roomType === RoomType.SACRIFICE && isSpikeDamage) {
107
+ this.v.level.numSacrifices++;
108
+ }
109
+ }
110
+
72
111
  private setDamageFrame(
73
- entity: Entity,
112
+ player: EntityPlayer,
74
113
  damageFlags: BitFlags<DamageFlag>,
75
114
  ): void {
76
115
  const gameFrameCount = game.GetFrameCount();
77
116
 
78
- const player = entity.ToPlayer();
79
- if (player === undefined) {
80
- return;
81
- }
82
-
83
117
  // Don't do anything if we already activated the callback on this frame.
84
118
  const trackingArray = mapGetPlayer(
85
119
  this.v.run.playersDamageFrameMap,
@@ -116,48 +150,6 @@ export class PostCursedTeleport extends CustomCallback<ModCallbackCustom.POST_CU
116
150
  (this.v.level.numSacrifices === 6 || this.v.level.numSacrifices >= 12)
117
151
  );
118
152
  }
119
-
120
- private incrementNumSacrifices(damageFlags: BitFlags<DamageFlag>): void {
121
- const room = game.GetRoom();
122
- const roomType = room.GetType();
123
- const isSpikeDamage = hasFlag(damageFlags, DamageFlag.SPIKES);
124
-
125
- if (roomType === RoomType.SACRIFICE && isSpikeDamage) {
126
- this.v.level.numSacrifices++;
127
- }
128
- }
129
-
130
- // ModCallback.POST_PLAYER_RENDER (32)
131
- // PlayerVariant.PLAYER (0)
132
- private postPlayerRenderPlayer = (
133
- player: EntityPlayer,
134
- _renderOffset: Vector,
135
- ): void => {
136
- // Retrieve information about this player.
137
- const trackingArray = mapGetPlayer(
138
- this.v.run.playersDamageFrameMap,
139
- player,
140
- );
141
- if (trackingArray === undefined) {
142
- return;
143
- }
144
- const [lastDamageFrame, callbackActivatedOnThisFrame] = trackingArray;
145
-
146
- if (!playerIsTeleportingFromCursedTeleport(player, lastDamageFrame)) {
147
- return;
148
- }
149
-
150
- // Do nothing if the callback already fired on this frame.
151
- if (callbackActivatedOnThisFrame) {
152
- return;
153
- }
154
-
155
- const gameFrameCount = game.GetFrameCount();
156
- const newTrackingArray = [gameFrameCount, true];
157
- mapSetPlayer(this.v.run.playersDamageFrameMap, player, newTrackingArray);
158
-
159
- this.fire(player);
160
- };
161
153
  }
162
154
 
163
155
  function playerIsTeleportingFromCursedTeleport(
@@ -28,7 +28,8 @@ export class PostDiceRoomActivated extends CustomCallback<T> {
28
28
  // 55
29
29
  [
30
30
  ModCallback.POST_EFFECT_UPDATE,
31
- [this.postEffectUpdateDiceFloor, EffectVariant.DICE_FLOOR],
31
+ this.postEffectUpdateDiceFloor,
32
+ [EffectVariant.DICE_FLOOR],
32
33
  ],
33
34
  ];
34
35
  }
@@ -10,7 +10,7 @@ export class PostDoorRender extends CustomCallback<ModCallbackCustom.POST_DOOR_R
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 2
13
- [ModCallback.POST_RENDER, [this.postRender]],
13
+ [ModCallback.POST_RENDER, this.postRender],
14
14
  ];
15
15
  }
16
16
 
@@ -10,7 +10,7 @@ export class PostDoorUpdate extends CustomCallback<ModCallbackCustom.POST_DOOR_U
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 1
13
- [ModCallback.POST_UPDATE, [this.postUpdate]],
13
+ [ModCallback.POST_UPDATE, this.postUpdate],
14
14
  ];
15
15
  }
16
16
 
@@ -15,7 +15,7 @@ export class PostEffectInitLate extends CustomCallback<ModCallbackCustom.POST_EF
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 55
18
- [ModCallback.POST_EFFECT_UPDATE, [this.postEffectUpdate]],
18
+ [ModCallback.POST_EFFECT_UPDATE, this.postEffectUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -16,7 +16,7 @@ export class PostEffectStateChanged extends CustomCallback<ModCallbackCustom.POS
16
16
 
17
17
  this.callbacksUsed = [
18
18
  // 55
19
- [ModCallback.POST_EFFECT_UPDATE, [this.postEffectUpdate]],
19
+ [ModCallback.POST_EFFECT_UPDATE, this.postEffectUpdate],
20
20
  ];
21
21
  }
22
22
 
@@ -15,7 +15,7 @@ export class PostFamiliarInitLate extends CustomCallback<ModCallbackCustom.POST_
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 6
18
- [ModCallback.POST_FAMILIAR_UPDATE, [this.postFamiliarUpdate]],
18
+ [ModCallback.POST_FAMILIAR_UPDATE, this.postFamiliarUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -16,7 +16,7 @@ export class PostFamiliarStateChanged extends CustomCallback<ModCallbackCustom.P
16
16
 
17
17
  this.callbacksUsed = [
18
18
  // 6
19
- [ModCallback.POST_FAMILIAR_UPDATE, [this.postFamiliarUpdate]],
19
+ [ModCallback.POST_FAMILIAR_UPDATE, this.postFamiliarUpdate],
20
20
  ];
21
21
  }
22
22
 
@@ -16,7 +16,7 @@ export class PostGreedModeWave extends CustomCallback<ModCallbackCustom.POST_GRE
16
16
 
17
17
  this.callbacksUsed = [
18
18
  // 1
19
- [ModCallback.POST_UPDATE, [this.postUpdate]],
19
+ [ModCallback.POST_UPDATE, this.postUpdate],
20
20
  ];
21
21
  }
22
22
 
@@ -22,7 +22,7 @@ export class PostHolyMantleRemoved extends CustomCallback<ModCallbackCustom.POST
22
22
  this.customCallbacksUsed = [
23
23
  [
24
24
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
25
- [this.postPEffectUpdateReordered],
25
+ this.postPEffectUpdateReordered,
26
26
  ],
27
27
  ];
28
28
  }
@@ -55,14 +55,15 @@ export class PostItemDischarge extends CustomCallback<T> {
55
55
  // 30
56
56
  [
57
57
  ModCallback.PRE_NPC_COLLISION,
58
- [this.preNPCCollisionSucker, EntityType.SUCKER],
58
+ this.preNPCCollisionSucker,
59
+ [EntityType.SUCKER],
59
60
  ],
60
61
  ];
61
62
 
62
63
  this.customCallbacksUsed = [
63
64
  [
64
65
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
65
- [this.postPEffectUpdateReordered],
66
+ this.postPEffectUpdateReordered,
66
67
  ],
67
68
  ];
68
69
  }
@@ -15,7 +15,7 @@ export class PostKnifeInitLate extends CustomCallback<ModCallbackCustom.POST_KNI
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 51
18
- [ModCallback.POST_KNIFE_UPDATE, [this.postKnifeUpdate]],
18
+ [ModCallback.POST_KNIFE_UPDATE, this.postKnifeUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -15,7 +15,7 @@ export class PostLaserInitLate extends CustomCallback<ModCallbackCustom.POST_LAS
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 48
18
- [ModCallback.POST_LASER_UPDATE, [this.postLaserUpdate]],
18
+ [ModCallback.POST_LASER_UPDATE, this.postLaserUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -9,7 +9,7 @@ export class PostNPCDeathFilter extends CustomCallback<ModCallbackCustom.POST_NP
9
9
 
10
10
  this.callbacksUsed = [
11
11
  // 29
12
- [ModCallback.POST_NPC_DEATH, [this.postNPCDeath]],
12
+ [ModCallback.POST_NPC_DEATH, this.postNPCDeath],
13
13
  ];
14
14
  }
15
15
 
@@ -9,7 +9,7 @@ export class PostNPCInitFilter extends CustomCallback<ModCallbackCustom.POST_NPC
9
9
 
10
10
  this.callbacksUsed = [
11
11
  // 27
12
- [ModCallback.POST_NPC_INIT, [this.postNPCInit]],
12
+ [ModCallback.POST_NPC_INIT, this.postNPCInit],
13
13
  ];
14
14
  }
15
15
 
@@ -15,7 +15,7 @@ export class PostNPCInitLate extends CustomCallback<ModCallbackCustom.POST_NPC_I
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 0
18
- [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]],
18
+ [ModCallback.POST_NPC_UPDATE, this.postNPCUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -9,7 +9,7 @@ export class PostNPCRenderFilter extends CustomCallback<ModCallbackCustom.POST_N
9
9
 
10
10
  this.callbacksUsed = [
11
11
  // 28
12
- [ModCallback.POST_NPC_RENDER, [this.postNPCRender]],
12
+ [ModCallback.POST_NPC_RENDER, this.postNPCRender],
13
13
  ];
14
14
  }
15
15
 
@@ -18,7 +18,7 @@ export class PostNPCStateChanged extends CustomCallback<ModCallbackCustom.POST_N
18
18
 
19
19
  this.callbacksUsed = [
20
20
  // 0
21
- [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]],
21
+ [ModCallback.POST_NPC_UPDATE, this.postNPCUpdate],
22
22
  ];
23
23
  }
24
24
 
@@ -9,7 +9,7 @@ export class PostNPCUpdateFilter extends CustomCallback<ModCallbackCustom.POST_N
9
9
 
10
10
  this.callbacksUsed = [
11
11
  // 0
12
- [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]],
12
+ [ModCallback.POST_NPC_UPDATE, this.postNPCUpdate],
13
13
  ];
14
14
  }
15
15
 
@@ -23,10 +23,10 @@ export class PostNewRoomEarly extends CustomCallback<ModCallbackCustom.POST_NEW_
23
23
 
24
24
  this.callbacksUsed = [
25
25
  // 19
26
- [ModCallback.POST_NEW_ROOM, [this.postNewRoom]],
26
+ [ModCallback.POST_NEW_ROOM, this.postNewRoom],
27
27
 
28
28
  // 24
29
- [ModCallback.PRE_ENTITY_SPAWN, [this.preEntitySpawn]],
29
+ [ModCallback.PRE_ENTITY_SPAWN, this.preEntitySpawn],
30
30
  ];
31
31
  }
32
32
 
@@ -16,7 +16,7 @@ export class PostPickupCollect extends CustomCallback<ModCallbackCustom.POST_PIC
16
16
 
17
17
  this.callbacksUsed = [
18
18
  // 36
19
- [ModCallback.POST_PICKUP_RENDER, [this.postPickupRender]],
19
+ [ModCallback.POST_PICKUP_RENDER, this.postPickupRender],
20
20
  ];
21
21
  }
22
22
 
@@ -17,7 +17,7 @@ export class PostPickupInitFirst extends CustomCallback<ModCallbackCustom.POST_P
17
17
 
18
18
  this.callbacksUsed = [
19
19
  // 34
20
- [ModCallback.POST_PICKUP_INIT, [this.postPickupInit]],
20
+ [ModCallback.POST_PICKUP_INIT, this.postPickupInit],
21
21
  ];
22
22
  }
23
23
 
@@ -15,7 +15,7 @@ export class PostPickupInitLate extends CustomCallback<ModCallbackCustom.POST_PI
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 35
18
- [ModCallback.POST_PICKUP_UPDATE, [this.postPickupUpdate]],
18
+ [ModCallback.POST_PICKUP_UPDATE, this.postPickupUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -16,7 +16,7 @@ export class PostPickupStateChanged extends CustomCallback<ModCallbackCustom.POS
16
16
 
17
17
  this.callbacksUsed = [
18
18
  // 35
19
- [ModCallback.POST_PICKUP_UPDATE, [this.postPickupUpdate]],
19
+ [ModCallback.POST_PICKUP_UPDATE, this.postPickupUpdate],
20
20
  ];
21
21
  }
22
22
 
@@ -10,7 +10,7 @@ export class PostPitRender extends CustomCallback<ModCallbackCustom.POST_PIT_REN
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 2
13
- [ModCallback.POST_RENDER, [this.postRender]],
13
+ [ModCallback.POST_RENDER, this.postRender],
14
14
  ];
15
15
  }
16
16
 
@@ -10,7 +10,7 @@ export class PostPitUpdate extends CustomCallback<ModCallbackCustom.POST_PIT_UPD
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 1
13
- [ModCallback.POST_UPDATE, [this.postUpdate]],
13
+ [ModCallback.POST_UPDATE, this.postUpdate],
14
14
  ];
15
15
  }
16
16
 
@@ -23,7 +23,7 @@ export class PostPlayerChangeHealth extends CustomCallback<ModCallbackCustom.POS
23
23
  this.customCallbacksUsed = [
24
24
  [
25
25
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
26
- [this.postPEffectReordered],
26
+ this.postPEffectReordered,
27
27
  ],
28
28
  ];
29
29
  }
@@ -29,7 +29,7 @@ export class PostPlayerChangeStat extends CustomCallback<ModCallbackCustom.POST_
29
29
  this.customCallbacksUsed = [
30
30
  [
31
31
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
32
- [this.postPEffectReordered],
32
+ this.postPEffectReordered,
33
33
  ],
34
34
  ];
35
35
  }
@@ -26,7 +26,7 @@ export class PostPlayerChangeType extends CustomCallback<ModCallbackCustom.POST_
26
26
  this.customCallbacksUsed = [
27
27
  [
28
28
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
29
- [this.postPEffectReordered],
29
+ this.postPEffectReordered,
30
30
  ],
31
31
  ];
32
32
  }
@@ -4,7 +4,6 @@ import {
4
4
  CollectibleType,
5
5
  DamageFlag,
6
6
  DamageFlagZero,
7
- EntityType,
8
7
  ModCallback,
9
8
  UseFlag,
10
9
  } from "isaac-typescript-definitions";
@@ -36,33 +35,57 @@ export class PostPlayerFatalDamage extends CustomCallback<ModCallbackCustom.POST
36
35
  super();
37
36
 
38
37
  this.callbacksUsed = [
39
- // 11
40
- [
41
- ModCallback.ENTITY_TAKE_DMG,
42
- [this.entityTakeDmgPlayer, EntityType.PLAYER],
43
- ],
44
-
45
38
  // 23
46
- [ModCallback.PRE_USE_ITEM, [this.preUseItemBible, CollectibleType.BIBLE]],
39
+ [ModCallback.PRE_USE_ITEM, this.preUseItemBible, [CollectibleType.BIBLE]],
40
+ ];
41
+
42
+ this.customCallbacksUsed = [
43
+ [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER, this.entityTakeDmgPlayer],
47
44
  ];
48
45
  }
49
46
 
50
47
  protected override shouldFire = shouldFirePlayer;
51
48
 
52
- // ModCallback.ENTITY_TAKE_DMG (11)
53
- // EntityType.PLAYER (1)
49
+ // ModCallback.PRE_USE_ITEM (23)
50
+ // CollectibleType.BIBLE (33)
51
+ private preUseItemBible = (
52
+ _collectibleType: CollectibleType,
53
+ _rng: RNG,
54
+ player: EntityPlayer,
55
+ _useFlags: BitFlags<UseFlag>,
56
+ _activeSlot: ActiveSlot,
57
+ _customVarData: int,
58
+ ): boolean | undefined => {
59
+ // Using The Bible on Satan is one of the few ways to die without taking damage, so we need to
60
+ // handle this case.
61
+ if (!inBossRoomOf(BossID.SATAN)) {
62
+ return undefined;
63
+ }
64
+
65
+ const shouldSustainDeath = this.fire(
66
+ player,
67
+ 0,
68
+ DamageFlagZero,
69
+ EntityRef(player),
70
+ 0,
71
+ );
72
+ if (shouldSustainDeath !== undefined) {
73
+ // End-users will return false to stop the damage from being fatal. We have to return true to
74
+ // prevent the Bible from firing.
75
+ return !shouldSustainDeath;
76
+ }
77
+
78
+ return undefined;
79
+ };
80
+
81
+ // ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER
54
82
  private entityTakeDmgPlayer = (
55
- entity: Entity,
83
+ player: EntityPlayer,
56
84
  amount: float,
57
85
  damageFlags: BitFlags<DamageFlag>,
58
86
  source: EntityRef,
59
87
  countdownFrames: int,
60
88
  ): boolean | undefined => {
61
- const player = entity.ToPlayer();
62
- if (player === undefined) {
63
- return undefined;
64
- }
65
-
66
89
  // This callback should not trigger for the Strawman Keeper and other players that are "child"
67
90
  // players.
68
91
  if (isChildPlayer(player)) {
@@ -98,36 +121,4 @@ export class PostPlayerFatalDamage extends CustomCallback<ModCallbackCustom.POST
98
121
 
99
122
  return undefined;
100
123
  };
101
-
102
- // ModCallback.PRE_USE_ITEM (23)
103
- // CollectibleType.BIBLE (33)
104
- private preUseItemBible = (
105
- _collectibleType: CollectibleType,
106
- _rng: RNG,
107
- player: EntityPlayer,
108
- _useFlags: BitFlags<UseFlag>,
109
- _activeSlot: ActiveSlot,
110
- _customVarData: int,
111
- ): boolean | undefined => {
112
- // Using The Bible on Satan is one of the few ways to die without taking damage, so we need to
113
- // handle this case.
114
- if (!inBossRoomOf(BossID.SATAN)) {
115
- return undefined;
116
- }
117
-
118
- const shouldSustainDeath = this.fire(
119
- player,
120
- 0,
121
- DamageFlagZero,
122
- EntityRef(player),
123
- 0,
124
- );
125
- if (shouldSustainDeath !== undefined) {
126
- // End-users will return false to stop the damage from being fatal. We have to return true to
127
- // prevent the Bible from firing.
128
- return !shouldSustainDeath;
129
- }
130
-
131
- return undefined;
132
- };
133
124
  }
@@ -9,8 +9,8 @@ export class PostPlayerInitFirst extends CustomCallback<ModCallbackCustom.POST_P
9
9
  super();
10
10
 
11
11
  this.customCallbacksUsed = [
12
- [ModCallbackCustom.POST_NEW_ROOM_REORDERED, [this.postNewRoomReordered]],
13
- [ModCallbackCustom.POST_PLAYER_INIT_LATE, [this.postPlayerInitLate]],
12
+ [ModCallbackCustom.POST_NEW_ROOM_REORDERED, this.postNewRoomReordered],
13
+ [ModCallbackCustom.POST_PLAYER_INIT_LATE, this.postPlayerInitLate],
14
14
  ];
15
15
  }
16
16
 
@@ -20,7 +20,7 @@ export class PostPlayerInitLate extends CustomCallback<ModCallbackCustom.POST_PL
20
20
  this.customCallbacksUsed = [
21
21
  [
22
22
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
23
- [this.postPEffectUpdateReordered],
23
+ this.postPEffectUpdateReordered,
24
24
  ],
25
25
  ];
26
26
  }
@@ -10,7 +10,7 @@ export class PostPoopRender extends CustomCallback<ModCallbackCustom.POST_POOP_R
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 2
13
- [ModCallback.POST_RENDER, [this.postRender]],
13
+ [ModCallback.POST_RENDER, this.postRender],
14
14
  ];
15
15
  }
16
16
 
@@ -10,7 +10,7 @@ export class PostPoopUpdate extends CustomCallback<ModCallbackCustom.POST_POOP_U
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 1
13
- [ModCallback.POST_UPDATE, [this.postUpdate]],
13
+ [ModCallback.POST_UPDATE, this.postUpdate],
14
14
  ];
15
15
  }
16
16
 
@@ -10,7 +10,7 @@ export class PostPressurePlateRender extends CustomCallback<ModCallbackCustom.PO
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 2
13
- [ModCallback.POST_RENDER, [this.postRender]],
13
+ [ModCallback.POST_RENDER, this.postRender],
14
14
  ];
15
15
  }
16
16
 
@@ -10,7 +10,7 @@ export class PostPressurePlateUpdate extends CustomCallback<ModCallbackCustom.PO
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 1
13
- [ModCallback.POST_UPDATE, [this.postUpdate]],
13
+ [ModCallback.POST_UPDATE, this.postUpdate],
14
14
  ];
15
15
  }
16
16
 
@@ -15,7 +15,7 @@ export class PostProjectileInitLate extends CustomCallback<ModCallbackCustom.POS
15
15
 
16
16
  this.callbacksUsed = [
17
17
  // 44
18
- [ModCallback.POST_PROJECTILE_UPDATE, [this.postProjectileUpdate]],
18
+ [ModCallback.POST_PROJECTILE_UPDATE, this.postProjectileUpdate],
19
19
  ];
20
20
  }
21
21
 
@@ -29,7 +29,7 @@ export class PostPurchase extends CustomCallback<T> {
29
29
  this.customCallbacksUsed = [
30
30
  [
31
31
  ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
32
- [this.postPEffectUpdateReordered],
32
+ this.postPEffectUpdateReordered,
33
33
  ],
34
34
  ];
35
35
  }
@@ -10,7 +10,7 @@ export class PostRockRender extends CustomCallback<ModCallbackCustom.POST_ROCK_R
10
10
 
11
11
  this.callbacksUsed = [
12
12
  // 2
13
- [ModCallback.POST_RENDER, [this.postRender]],
13
+ [ModCallback.POST_RENDER, this.postRender],
14
14
  ];
15
15
  }
16
16