isaacscript-common 18.1.0 → 18.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/index.d.ts +115 -99
  2. package/dist/isaacscript-common.lua +146 -102
  3. package/dist/src/callbackClasses.d.ts +1 -0
  4. package/dist/src/callbackClasses.d.ts.map +1 -1
  5. package/dist/src/callbackClasses.lua +5 -0
  6. package/dist/src/callbacks.d.ts +100 -99
  7. package/dist/src/callbacks.d.ts.map +1 -1
  8. package/dist/src/callbacks.lua +1 -0
  9. package/dist/src/classes/callbacks/EntityTakeDmgFilter.d.ts.map +1 -1
  10. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.d.ts +9 -0
  11. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.d.ts.map +1 -0
  12. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.lua +34 -0
  13. package/dist/src/classes/callbacks/PostAmbushFinished.d.ts.map +1 -1
  14. package/dist/src/classes/callbacks/PostAmbushStarted.d.ts.map +1 -1
  15. package/dist/src/classes/callbacks/PostBombExploded.d.ts.map +1 -1
  16. package/dist/src/classes/callbacks/PostBombInitLate.d.ts.map +1 -1
  17. package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
  18. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  19. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -1
  20. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
  21. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  22. package/dist/src/classes/callbacks/PostDoorRender.d.ts.map +1 -1
  23. package/dist/src/classes/callbacks/PostDoorUpdate.d.ts.map +1 -1
  24. package/dist/src/classes/callbacks/PostEffectInitLate.d.ts.map +1 -1
  25. package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -1
  26. package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -1
  27. package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -1
  28. package/dist/src/classes/callbacks/PostGreedModeWave.d.ts.map +1 -1
  29. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  30. package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -1
  31. package/dist/src/classes/callbacks/PostLaserInitLate.d.ts.map +1 -1
  32. package/dist/src/classes/callbacks/PostNPCDeathFilter.d.ts +1 -1
  33. package/dist/src/classes/callbacks/PostNPCDeathFilter.d.ts.map +1 -1
  34. package/dist/src/classes/callbacks/PostNPCDeathFilter.lua +2 -2
  35. package/dist/src/classes/callbacks/PostNPCInitFilter.d.ts.map +1 -1
  36. package/dist/src/classes/callbacks/PostNPCInitLate.d.ts.map +1 -1
  37. package/dist/src/classes/callbacks/PostNPCRenderFilter.d.ts.map +1 -1
  38. package/dist/src/classes/callbacks/PostNPCStateChanged.d.ts.map +1 -1
  39. package/dist/src/classes/callbacks/PostNPCUpdateFilter.d.ts.map +1 -1
  40. package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -1
  41. package/dist/src/classes/callbacks/PostPickupCollect.d.ts.map +1 -1
  42. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -1
  43. package/dist/src/classes/callbacks/PostPickupInitLate.d.ts.map +1 -1
  44. package/dist/src/classes/callbacks/PostPickupStateChanged.d.ts.map +1 -1
  45. package/dist/src/classes/callbacks/PostPitRender.d.ts.map +1 -1
  46. package/dist/src/classes/callbacks/PostPitUpdate.d.ts.map +1 -1
  47. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
  48. package/dist/src/classes/callbacks/PostPoopRender.d.ts.map +1 -1
  49. package/dist/src/classes/callbacks/PostPoopUpdate.d.ts.map +1 -1
  50. package/dist/src/classes/callbacks/PostPressurePlateRender.d.ts.map +1 -1
  51. package/dist/src/classes/callbacks/PostPressurePlateUpdate.d.ts.map +1 -1
  52. package/dist/src/classes/callbacks/PostProjectileInitLate.d.ts.map +1 -1
  53. package/dist/src/classes/callbacks/PostRockRender.d.ts.map +1 -1
  54. package/dist/src/classes/callbacks/PostRockUpdate.d.ts.map +1 -1
  55. package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
  56. package/dist/src/classes/callbacks/PostSacrifice.d.ts.map +1 -1
  57. package/dist/src/classes/callbacks/PostSlotCollision.d.ts.map +1 -1
  58. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -1
  59. package/dist/src/classes/callbacks/PostSpikesRender.d.ts.map +1 -1
  60. package/dist/src/classes/callbacks/PostSpikesUpdate.d.ts.map +1 -1
  61. package/dist/src/classes/callbacks/PostTNTRender.d.ts.map +1 -1
  62. package/dist/src/classes/callbacks/PostTNTUpdate.d.ts.map +1 -1
  63. package/dist/src/classes/callbacks/PostTearInitLate.d.ts.map +1 -1
  64. package/dist/src/classes/callbacks/PostTearInitVeryLate.d.ts.map +1 -1
  65. package/dist/src/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  66. package/dist/src/classes/callbacks/PreGetPedestal.d.ts.map +1 -1
  67. package/dist/src/classes/callbacks/PreNPCCollisionFilter.d.ts.map +1 -1
  68. package/dist/src/classes/callbacks/PreNPCUpdateFilter.d.ts.map +1 -1
  69. package/dist/src/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  70. package/dist/src/enums/ModCallbackCustom.d.ts +110 -99
  71. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  72. package/dist/src/enums/ModCallbackCustom.lua +101 -99
  73. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +5 -0
  74. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  75. package/package.json +1 -1
  76. package/src/callbackClasses.ts +1 -0
  77. package/src/callbacks.ts +1 -0
  78. package/src/classes/callbacks/EntityTakeDmgFilter.ts +2 -1
  79. package/src/classes/callbacks/EntityTakeDmgPlayer.ts +40 -0
  80. package/src/classes/callbacks/PostAmbushFinished.ts +2 -1
  81. package/src/classes/callbacks/PostAmbushStarted.ts +2 -1
  82. package/src/classes/callbacks/PostBombExploded.ts +2 -1
  83. package/src/classes/callbacks/PostBombInitLate.ts +2 -1
  84. package/src/classes/callbacks/PostBoneSwing.ts +2 -1
  85. package/src/classes/callbacks/PostCollectibleEmpty.ts +2 -1
  86. package/src/classes/callbacks/PostCollectibleInitFirst.ts +2 -1
  87. package/src/classes/callbacks/PostCursedTeleport.ts +5 -2
  88. package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -1
  89. package/src/classes/callbacks/PostDoorRender.ts +4 -1
  90. package/src/classes/callbacks/PostDoorUpdate.ts +4 -1
  91. package/src/classes/callbacks/PostEffectInitLate.ts +2 -1
  92. package/src/classes/callbacks/PostEffectStateChanged.ts +2 -1
  93. package/src/classes/callbacks/PostFamiliarInitLate.ts +2 -1
  94. package/src/classes/callbacks/PostFamiliarStateChanged.ts +2 -1
  95. package/src/classes/callbacks/PostGreedModeWave.ts +2 -1
  96. package/src/classes/callbacks/PostItemDischarge.ts +2 -1
  97. package/src/classes/callbacks/PostKnifeInitLate.ts +2 -1
  98. package/src/classes/callbacks/PostLaserInitLate.ts +2 -1
  99. package/src/classes/callbacks/PostNPCDeathFilter.ts +3 -2
  100. package/src/classes/callbacks/PostNPCInitFilter.ts +2 -1
  101. package/src/classes/callbacks/PostNPCInitLate.ts +2 -1
  102. package/src/classes/callbacks/PostNPCRenderFilter.ts +2 -1
  103. package/src/classes/callbacks/PostNPCStateChanged.ts +2 -1
  104. package/src/classes/callbacks/PostNPCUpdateFilter.ts +2 -1
  105. package/src/classes/callbacks/PostNewRoomEarly.ts +5 -2
  106. package/src/classes/callbacks/PostPickupCollect.ts +2 -1
  107. package/src/classes/callbacks/PostPickupInitFirst.ts +2 -1
  108. package/src/classes/callbacks/PostPickupInitLate.ts +2 -1
  109. package/src/classes/callbacks/PostPickupStateChanged.ts +2 -1
  110. package/src/classes/callbacks/PostPitRender.ts +2 -1
  111. package/src/classes/callbacks/PostPitUpdate.ts +2 -1
  112. package/src/classes/callbacks/PostPlayerFatalDamage.ts +5 -2
  113. package/src/classes/callbacks/PostPoopRender.ts +2 -1
  114. package/src/classes/callbacks/PostPoopUpdate.ts +2 -1
  115. package/src/classes/callbacks/PostPressurePlateRender.ts +2 -1
  116. package/src/classes/callbacks/PostPressurePlateUpdate.ts +2 -1
  117. package/src/classes/callbacks/PostProjectileInitLate.ts +2 -1
  118. package/src/classes/callbacks/PostRockRender.ts +2 -1
  119. package/src/classes/callbacks/PostRockUpdate.ts +2 -1
  120. package/src/classes/callbacks/PostRoomClearChanged.ts +2 -1
  121. package/src/classes/callbacks/PostSacrifice.ts +2 -1
  122. package/src/classes/callbacks/PostSlotCollision.ts +2 -1
  123. package/src/classes/callbacks/PostSlotDestroyed.ts +1 -0
  124. package/src/classes/callbacks/PostSpikesRender.ts +2 -1
  125. package/src/classes/callbacks/PostSpikesUpdate.ts +2 -1
  126. package/src/classes/callbacks/PostTNTRender.ts +2 -1
  127. package/src/classes/callbacks/PostTNTUpdate.ts +2 -1
  128. package/src/classes/callbacks/PostTearInitLate.ts +2 -1
  129. package/src/classes/callbacks/PostTearInitVeryLate.ts +2 -1
  130. package/src/classes/callbacks/PostTrinketBreak.ts +2 -1
  131. package/src/classes/callbacks/PreGetPedestal.ts +2 -1
  132. package/src/classes/callbacks/PreNPCCollisionFilter.ts +2 -1
  133. package/src/classes/callbacks/PreNPCUpdateFilter.ts +2 -1
  134. package/src/classes/callbacks/PreNewLevel.ts +2 -1
  135. package/src/enums/ModCallbackCustom.ts +12 -0
  136. package/src/interfaces/private/AddCallbackParametersCustom.ts +12 -0
@@ -25,10 +25,11 @@ export class PostDiceRoomActivated extends CustomCallback<T> {
25
25
  super();
26
26
 
27
27
  this.callbacksUsed = [
28
+ // 55
28
29
  [
29
30
  ModCallback.POST_EFFECT_UPDATE,
30
31
  [this.postEffectUpdateDiceFloor, EffectVariant.DICE_FLOOR],
31
- ], // 55
32
+ ],
32
33
  ];
33
34
  }
34
35
 
@@ -8,7 +8,10 @@ export class PostDoorRender extends CustomCallback<ModCallbackCustom.POST_DOOR_R
8
8
  constructor() {
9
9
  super();
10
10
 
11
- this.callbacksUsed = [[ModCallback.POST_RENDER, [this.postRender]]]; // 2
11
+ this.callbacksUsed = [
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
14
+ ];
12
15
  }
13
16
 
14
17
  protected override shouldFire = shouldFireDoor;
@@ -8,7 +8,10 @@ export class PostDoorUpdate extends CustomCallback<ModCallbackCustom.POST_DOOR_U
8
8
  constructor() {
9
9
  super();
10
10
 
11
- this.callbacksUsed = [[ModCallback.POST_UPDATE, [this.postUpdate]]]; // 1
11
+ this.callbacksUsed = [
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
14
+ ];
12
15
  }
13
16
 
14
17
  protected override shouldFire = shouldFireDoor;
@@ -14,8 +14,9 @@ export class PostEffectInitLate extends CustomCallback<ModCallbackCustom.POST_EF
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
+ // 55
17
18
  [ModCallback.POST_EFFECT_UPDATE, [this.postEffectUpdate]],
18
- ]; // 55
19
+ ];
19
20
  }
20
21
 
21
22
  protected override shouldFire = shouldFireEffect;
@@ -15,8 +15,9 @@ export class PostEffectStateChanged extends CustomCallback<ModCallbackCustom.POS
15
15
  super();
16
16
 
17
17
  this.callbacksUsed = [
18
+ // 55
18
19
  [ModCallback.POST_EFFECT_UPDATE, [this.postEffectUpdate]],
19
- ]; // 55
20
+ ];
20
21
  }
21
22
 
22
23
  protected override shouldFire = shouldFireEffect;
@@ -14,8 +14,9 @@ export class PostFamiliarInitLate extends CustomCallback<ModCallbackCustom.POST_
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
+ // 6
17
18
  [ModCallback.POST_FAMILIAR_UPDATE, [this.postFamiliarUpdate]],
18
- ]; // 6
19
+ ];
19
20
  }
20
21
 
21
22
  protected override shouldFire = shouldFireFamiliar;
@@ -15,8 +15,9 @@ export class PostFamiliarStateChanged extends CustomCallback<ModCallbackCustom.P
15
15
  super();
16
16
 
17
17
  this.callbacksUsed = [
18
+ // 6
18
19
  [ModCallback.POST_FAMILIAR_UPDATE, [this.postFamiliarUpdate]],
19
- ]; // 6
20
+ ];
20
21
  }
21
22
 
22
23
  protected override shouldFire = shouldFireFamiliar;
@@ -15,7 +15,8 @@ export class PostGreedModeWave extends CustomCallback<ModCallbackCustom.POST_GRE
15
15
  super();
16
16
 
17
17
  this.callbacksUsed = [
18
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
18
+ // 1
19
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
19
20
  ];
20
21
  }
21
22
 
@@ -52,10 +52,11 @@ export class PostItemDischarge extends CustomCallback<T> {
52
52
  super();
53
53
 
54
54
  this.callbacksUsed = [
55
+ // 30
55
56
  [
56
57
  ModCallback.PRE_NPC_COLLISION,
57
58
  [this.preNPCCollisionSucker, EntityType.SUCKER],
58
- ], // 30
59
+ ],
59
60
  ];
60
61
 
61
62
  this.customCallbacksUsed = [
@@ -14,7 +14,8 @@ export class PostKnifeInitLate extends CustomCallback<ModCallbackCustom.POST_KNI
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_KNIFE_UPDATE, [this.postKnifeUpdate]], // 51
17
+ // 51
18
+ [ModCallback.POST_KNIFE_UPDATE, [this.postKnifeUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -14,7 +14,8 @@ export class PostLaserInitLate extends CustomCallback<ModCallbackCustom.POST_LAS
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_LASER_UPDATE, [this.postLaserUpdate]], // 51
17
+ // 48
18
+ [ModCallback.POST_LASER_UPDATE, [this.postLaserUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -8,14 +8,15 @@ export class PostNPCDeathFilter extends CustomCallback<ModCallbackCustom.POST_NP
8
8
  super();
9
9
 
10
10
  this.callbacksUsed = [
11
- [ModCallback.POST_NPC_DEATH, [this.postNPCRender]], // 29
11
+ // 29
12
+ [ModCallback.POST_NPC_DEATH, [this.postNPCDeath]],
12
13
  ];
13
14
  }
14
15
 
15
16
  protected override shouldFire = shouldFireNPC;
16
17
 
17
18
  // ModCallback.POST_NPC_DEATH (29)
18
- private postNPCRender = (npc: EntityNPC) => {
19
+ private postNPCDeath = (npc: EntityNPC) => {
19
20
  this.fire(npc);
20
21
  };
21
22
  }
@@ -8,7 +8,8 @@ export class PostNPCInitFilter extends CustomCallback<ModCallbackCustom.POST_NPC
8
8
  super();
9
9
 
10
10
  this.callbacksUsed = [
11
- [ModCallback.POST_NPC_INIT, [this.postNPCInit]], // 27
11
+ // 27
12
+ [ModCallback.POST_NPC_INIT, [this.postNPCInit]],
12
13
  ];
13
14
  }
14
15
 
@@ -14,7 +14,8 @@ export class PostNPCInitLate extends CustomCallback<ModCallbackCustom.POST_NPC_I
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]], // 0
17
+ // 0
18
+ [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -8,7 +8,8 @@ export class PostNPCRenderFilter extends CustomCallback<ModCallbackCustom.POST_N
8
8
  super();
9
9
 
10
10
  this.callbacksUsed = [
11
- [ModCallback.POST_NPC_RENDER, [this.postNPCRender]], // 28
11
+ // 28
12
+ [ModCallback.POST_NPC_RENDER, [this.postNPCRender]],
12
13
  ];
13
14
  }
14
15
 
@@ -17,7 +17,8 @@ export class PostNPCStateChanged extends CustomCallback<ModCallbackCustom.POST_N
17
17
  super();
18
18
 
19
19
  this.callbacksUsed = [
20
- [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]], // 0
20
+ // 0
21
+ [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]],
21
22
  ];
22
23
  }
23
24
 
@@ -8,7 +8,8 @@ export class PostNPCUpdateFilter extends CustomCallback<ModCallbackCustom.POST_N
8
8
  super();
9
9
 
10
10
  this.callbacksUsed = [
11
- [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]], // 0
11
+ // 0
12
+ [ModCallback.POST_NPC_UPDATE, [this.postNPCUpdate]],
12
13
  ];
13
14
  }
14
15
 
@@ -22,8 +22,11 @@ export class PostNewRoomEarly extends CustomCallback<ModCallbackCustom.POST_NEW_
22
22
  super();
23
23
 
24
24
  this.callbacksUsed = [
25
- [ModCallback.POST_NEW_ROOM, [this.postNewRoom]], // 19
26
- [ModCallback.PRE_ENTITY_SPAWN, [this.preEntitySpawn]], // 24
25
+ // 19
26
+ [ModCallback.POST_NEW_ROOM, [this.postNewRoom]],
27
+
28
+ // 24
29
+ [ModCallback.PRE_ENTITY_SPAWN, [this.preEntitySpawn]],
27
30
  ];
28
31
  }
29
32
 
@@ -15,7 +15,8 @@ export class PostPickupCollect extends CustomCallback<ModCallbackCustom.POST_PIC
15
15
  super();
16
16
 
17
17
  this.callbacksUsed = [
18
- [ModCallback.POST_PICKUP_RENDER, [this.postPickupRender]], // 36
18
+ // 36
19
+ [ModCallback.POST_PICKUP_RENDER, [this.postPickupRender]],
19
20
  ];
20
21
  }
21
22
 
@@ -16,7 +16,8 @@ export class PostPickupInitFirst extends CustomCallback<ModCallbackCustom.POST_P
16
16
  super();
17
17
 
18
18
  this.callbacksUsed = [
19
- [ModCallback.POST_PICKUP_INIT, [this.postPickupInit]], // 34
19
+ // 34
20
+ [ModCallback.POST_PICKUP_INIT, [this.postPickupInit]],
20
21
  ];
21
22
  }
22
23
 
@@ -14,7 +14,8 @@ export class PostPickupInitLate extends CustomCallback<ModCallbackCustom.POST_PI
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_PICKUP_UPDATE, [this.postPickupUpdate]], // 35
17
+ // 35
18
+ [ModCallback.POST_PICKUP_UPDATE, [this.postPickupUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -15,7 +15,8 @@ export class PostPickupStateChanged extends CustomCallback<ModCallbackCustom.POS
15
15
  super();
16
16
 
17
17
  this.callbacksUsed = [
18
- [ModCallback.POST_PICKUP_UPDATE, [this.postPickupUpdate]], // 35
18
+ // 35
19
+ [ModCallback.POST_PICKUP_UPDATE, [this.postPickupUpdate]],
19
20
  ];
20
21
  }
21
22
 
@@ -9,7 +9,8 @@ export class PostPitRender extends CustomCallback<ModCallbackCustom.POST_PIT_REN
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_RENDER, [this.postRender]], // 2
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostPitUpdate extends CustomCallback<ModCallbackCustom.POST_PIT_UPD
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
13
14
  ];
14
15
  }
15
16
 
@@ -36,11 +36,14 @@ export class PostPlayerFatalDamage extends CustomCallback<ModCallbackCustom.POST
36
36
  super();
37
37
 
38
38
  this.callbacksUsed = [
39
+ // 11
39
40
  [
40
41
  ModCallback.ENTITY_TAKE_DMG,
41
42
  [this.entityTakeDmgPlayer, EntityType.PLAYER],
42
- ], // 11
43
- [ModCallback.PRE_USE_ITEM, [this.preUseItemBible, CollectibleType.BIBLE]], // 23
43
+ ],
44
+
45
+ // 23
46
+ [ModCallback.PRE_USE_ITEM, [this.preUseItemBible, CollectibleType.BIBLE]],
44
47
  ];
45
48
  }
46
49
 
@@ -9,7 +9,8 @@ export class PostPoopRender extends CustomCallback<ModCallbackCustom.POST_POOP_R
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_RENDER, [this.postRender]], // 2
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostPoopUpdate extends CustomCallback<ModCallbackCustom.POST_POOP_U
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostPressurePlateRender extends CustomCallback<ModCallbackCustom.PO
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_RENDER, [this.postRender]], // 2
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostPressurePlateUpdate extends CustomCallback<ModCallbackCustom.PO
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
13
14
  ];
14
15
  }
15
16
 
@@ -14,7 +14,8 @@ export class PostProjectileInitLate extends CustomCallback<ModCallbackCustom.POS
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_PROJECTILE_UPDATE, [this.postProjectileUpdate]], // 44
17
+ // 44
18
+ [ModCallback.POST_PROJECTILE_UPDATE, [this.postProjectileUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -9,7 +9,8 @@ export class PostRockRender extends CustomCallback<ModCallbackCustom.POST_ROCK_R
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_RENDER, [this.postRender]], // 2
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostRockUpdate extends CustomCallback<ModCallbackCustom.POST_ROCK_U
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
13
14
  ];
14
15
  }
15
16
 
@@ -20,7 +20,8 @@ export class PostRoomClearChanged extends CustomCallback<T> {
20
20
  super();
21
21
 
22
22
  this.callbacksUsed = [
23
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
23
+ // 1
24
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
24
25
  ];
25
26
 
26
27
  this.customCallbacksUsed = [
@@ -21,10 +21,11 @@ export class PostSacrifice extends CustomCallback<ModCallbackCustom.POST_SACRIFI
21
21
  super();
22
22
 
23
23
  this.callbacksUsed = [
24
+ // 11
24
25
  [
25
26
  ModCallback.ENTITY_TAKE_DMG,
26
27
  [this.entityTakeDmgPlayer, EntityType.PLAYER],
27
- ], // 11
28
+ ],
28
29
  ];
29
30
  }
30
31
 
@@ -9,7 +9,8 @@ export class PostSlotCollision extends CustomCallback<ModCallbackCustom.POST_SLO
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.PRE_PLAYER_COLLISION, [this.prePlayerCollision]], // 33
12
+ // 33
13
+ [ModCallback.PRE_PLAYER_COLLISION, [this.prePlayerCollision]],
13
14
  ];
14
15
  }
15
16
 
@@ -23,6 +23,7 @@ export class PostSlotDestroyed extends CustomCallback<ModCallbackCustom.POST_SLO
23
23
  super();
24
24
 
25
25
  this.callbacksUsed = [
26
+ // 67
26
27
  [
27
28
  ModCallback.POST_ENTITY_REMOVE,
28
29
  [this.postEntityRemoveSlot, EntityType.SLOT],
@@ -9,7 +9,8 @@ export class PostSpikesRender extends CustomCallback<ModCallbackCustom.POST_SPIK
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_RENDER, [this.postRender]], // 2
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostSpikesUpdate extends CustomCallback<ModCallbackCustom.POST_SPIK
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostTNTRender extends CustomCallback<ModCallbackCustom.POST_TNT_REN
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_RENDER, [this.postRender]], // 2
12
+ // 2
13
+ [ModCallback.POST_RENDER, [this.postRender]],
13
14
  ];
14
15
  }
15
16
 
@@ -9,7 +9,8 @@ export class PostTNTUpdate extends CustomCallback<ModCallbackCustom.POST_TNT_UPD
9
9
  super();
10
10
 
11
11
  this.callbacksUsed = [
12
- [ModCallback.POST_UPDATE, [this.postUpdate]], // 1
12
+ // 1
13
+ [ModCallback.POST_UPDATE, [this.postUpdate]],
13
14
  ];
14
15
  }
15
16
 
@@ -14,7 +14,8 @@ export class PostTearInitLate extends CustomCallback<ModCallbackCustom.POST_TEAR
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_TEAR_UPDATE, [this.postTearUpdate]], // 40
17
+ // 40
18
+ [ModCallback.POST_TEAR_UPDATE, [this.postTearUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -14,7 +14,8 @@ export class PostTearInitVeryLate extends CustomCallback<ModCallbackCustom.POST_
14
14
  super();
15
15
 
16
16
  this.callbacksUsed = [
17
- [ModCallback.POST_TEAR_UPDATE, [this.postTearUpdate]], // 40
17
+ // 40
18
+ [ModCallback.POST_TEAR_UPDATE, [this.postTearUpdate]],
18
19
  ];
19
20
  }
20
21
 
@@ -31,10 +31,11 @@ export class PostTrinketBreak extends CustomCallback<ModCallbackCustom.POST_TRIN
31
31
  super();
32
32
 
33
33
  this.callbacksUsed = [
34
+ // 11
34
35
  [
35
36
  ModCallback.ENTITY_TAKE_DMG,
36
37
  [this.entityTakeDmgPlayer, EntityType.PLAYER],
37
- ], // 11
38
+ ],
38
39
  ];
39
40
 
40
41
  this.customCallbacksUsed = [
@@ -12,10 +12,11 @@ export class PreGetPedestal extends CustomCallback<ModCallbackCustom.PRE_GET_PED
12
12
  super();
13
13
 
14
14
  this.callbacksUsed = [
15
+ // 38
15
16
  [
16
17
  ModCallback.PRE_PICKUP_COLLISION,
17
18
  [this.prePickupCollision, PickupVariant.COLLECTIBLE],
18
- ], // 38
19
+ ],
19
20
  ];
20
21
  }
21
22
 
@@ -8,7 +8,8 @@ export class PreNPCCollisionFilter extends CustomCallback<ModCallbackCustom.PRE_
8
8
  super();
9
9
 
10
10
  this.callbacksUsed = [
11
- [ModCallback.PRE_NPC_COLLISION, [this.preNPCCollision]], // 30
11
+ // 30
12
+ [ModCallback.PRE_NPC_COLLISION, [this.preNPCCollision]],
12
13
  ];
13
14
  }
14
15
 
@@ -8,7 +8,8 @@ export class PreNPCUpdateFilter extends CustomCallback<ModCallbackCustom.PRE_NPC
8
8
  super();
9
9
 
10
10
  this.callbacksUsed = [
11
- [ModCallback.PRE_NPC_UPDATE, [this.preNPCUpdate]], // 69
11
+ // 69
12
+ [ModCallback.PRE_NPC_UPDATE, [this.preNPCUpdate]],
12
13
  ];
13
14
  }
14
15
 
@@ -20,7 +20,8 @@ export class PreNewLevel extends CustomCallback<ModCallbackCustom.PRE_NEW_LEVEL>
20
20
  super();
21
21
 
22
22
  this.callbacksUsed = [
23
- [ModCallback.POST_PLAYER_RENDER, [this.postPlayerRender]], // 32
23
+ // 32
24
+ [ModCallback.POST_PLAYER_RENDER, [this.postPlayerRender]],
24
25
  ];
25
26
  }
26
27
 
@@ -33,6 +33,18 @@ export enum ModCallbackCustom {
33
33
  */
34
34
  ENTITY_TAKE_DMG_FILTER,
35
35
 
36
+ /**
37
+ * The exact same thing as the vanilla `ENTITY_TAKE_DMG` callback, except this callback
38
+ * automatically filters for `EntityType.ENTITY_PLAYER` and casts the `Entity` object to a
39
+ * `EntityPlayer`.
40
+ *
41
+ * - You can provide an optional third argument that will make the callback only fire if it
42
+ * matches the `PlayerVariant` provided.
43
+ * - You can provide an optional fourth argument that will make the callback only fire if it
44
+ * matches the `PlayerType` provided.
45
+ */
46
+ ENTITY_TAKE_DMG_PLAYER,
47
+
36
48
  /**
37
49
  * Fires from the `POST_UPDATE` callback when a Challenge Room or Boss Rush is started.
38
50
  * Specifically, this happens on the first frame that `Room.IsAmbushDone` is true.
@@ -51,6 +51,18 @@ export interface AddCallbackParametersCustom {
51
51
  subType?: number,
52
52
  ];
53
53
 
54
+ [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER]: [
55
+ callback: (
56
+ player: EntityPlayer,
57
+ amount: float,
58
+ damageFlags: BitFlags<DamageFlag>,
59
+ source: EntityRef,
60
+ countdownFrames: int,
61
+ ) => boolean | undefined,
62
+ playerVariant?: PlayerVariant,
63
+ character?: PlayerType,
64
+ ];
65
+
54
66
  [ModCallbackCustom.POST_AMBUSH_FINISHED]: [
55
67
  callback: (ambushType: AmbushType) => void,
56
68
  ambushType?: AmbushType,