isaacscript-common 28.6.0 → 28.7.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 (40) hide show
  1. package/dist/index.rollup.d.ts +213 -129
  2. package/dist/isaacscript-common.lua +259 -129
  3. package/dist/src/callbackClasses.d.ts +4 -0
  4. package/dist/src/callbackClasses.d.ts.map +1 -1
  5. package/dist/src/callbackClasses.lua +20 -0
  6. package/dist/src/callbacks.d.ts +131 -127
  7. package/dist/src/callbacks.d.ts.map +1 -1
  8. package/dist/src/callbacks.lua +4 -0
  9. package/dist/src/classes/callbacks/PostBombInitFilter.d.ts +9 -0
  10. package/dist/src/classes/callbacks/PostBombInitFilter.d.ts.map +1 -0
  11. package/dist/src/classes/callbacks/PostBombInitFilter.lua +23 -0
  12. package/dist/src/classes/callbacks/PostBombRenderFilter.d.ts +9 -0
  13. package/dist/src/classes/callbacks/PostBombRenderFilter.d.ts.map +1 -0
  14. package/dist/src/classes/callbacks/PostBombRenderFilter.lua +23 -0
  15. package/dist/src/classes/callbacks/PostBombUpdateFilter.d.ts +9 -0
  16. package/dist/src/classes/callbacks/PostBombUpdateFilter.d.ts.map +1 -0
  17. package/dist/src/classes/callbacks/PostBombUpdateFilter.lua +23 -0
  18. package/dist/src/classes/callbacks/PreBombCollisionFilter.d.ts +9 -0
  19. package/dist/src/classes/callbacks/PreBombCollisionFilter.d.ts.map +1 -0
  20. package/dist/src/classes/callbacks/PreBombCollisionFilter.lua +21 -0
  21. package/dist/src/core/constants.d.ts +2 -2
  22. package/dist/src/core/constants.lua +2 -2
  23. package/dist/src/enums/ModCallbackCustom.d.ts +191 -127
  24. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  25. package/dist/src/enums/ModCallbackCustom.lua +135 -127
  26. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +20 -0
  27. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  28. package/dist/src/shouldFire.d.ts +1 -1
  29. package/dist/src/shouldFire.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/callbackClasses.ts +4 -0
  32. package/src/callbacks.ts +4 -0
  33. package/src/classes/callbacks/PostBombInitFilter.ts +22 -0
  34. package/src/classes/callbacks/PostBombRenderFilter.ts +22 -0
  35. package/src/classes/callbacks/PostBombUpdateFilter.ts +22 -0
  36. package/src/classes/callbacks/PreBombCollisionFilter.ts +24 -0
  37. package/src/core/constants.ts +2 -2
  38. package/src/enums/ModCallbackCustom.ts +68 -0
  39. package/src/interfaces/private/AddCallbackParametersCustom.ts +28 -0
  40. package/src/shouldFire.ts +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"shouldFire.d.ts","sourceRoot":"","sources":["../../src/shouldFire.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAClC,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,GACtC,OAAO,CAKT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAC5B,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACvD,OAAO,CAST;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAC5B,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GACpC,OAAO,CAKT;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAChD,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,GAChD,OAAO,CAQT;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EAClE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,GAChD,OAAO,CAQT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAChC,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GACxC,OAAO,CAST;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EACJ,CAAC,MAAM,EAAE,YAAY,CAAC,GACtB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,GAC5C,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EACjE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GAC3D,OAAO,CAST;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EACJ,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB;IACE,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IACjC,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,MAAM;CACxB,EACL,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACpE,OAAO,CAST;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EACJ,CAAC,QAAQ,EAAE,cAAc,CAAC,GAC1B,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,GAChD,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAC1D,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EACrE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GAC/D,OAAO,CAST;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EACJ,CAAC,UAAU,EAAE,UAAU,CAAC,GACxB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAC1D,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GAC7D,OAAO,CAYT;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EACJ,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,CAAC,GAC9D;IACE,UAAU,EAAE,UAAU;IACtB,oBAAoB,EAAE,cAAc;IACpC,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;CACd,EACL,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAAC,GACpD,OAAO,CAQT;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,EAC9D,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACjD,OAAO,CAUT;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EACJ,CAAC,KAAK,EAAE,WAAW,CAAC,GACpB,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,GAC1C,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EACxD,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACzD,OAAO,CAST;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,EAC3E,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACzD,OAAO,CAST;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,EACnD,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,GACxD,OAAO,CAQT;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EACJ,CAAC,GAAG,EAAE,SAAS,CAAC,GAChB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,GACvD,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,GACtC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EACpD,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACpE,OAAO,CAST;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EACJ,CAAC,MAAM,EAAE,YAAY,CAAC,GACtB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,GAC5C,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,GAC5C,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,GAC7D;IACE,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,GAAG;CAChB,EACL,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GAC3D,OAAO,CAUT;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,EAC9B,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,GACtC,OAAO,CAOT;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EACJ,CAAC,MAAM,EAAE,YAAY,CAAC,GACtB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,GAC5C,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,GAC1C,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,uBAAuB,CAAC,GAC5D,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,GAC1E;IACE,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;CACd,GACD;IACE,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IACjC,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,GAAG;CACrB,GACD;IACE,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,gBAAgB;CAC3B,EACL,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,GACpE,OAAO,CAWT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,GAC5D,OAAO,CAUT;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,CAAC,aAAa,EAAE,uBAAuB,CAAC,EAClD,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,GAC1D,OAAO,CAUT;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EACJ,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAC9B,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC,GACpD,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAClE,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACnE,OAAO,CAST;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAChC,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GAC7D,OAAO,CAYT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC9B,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAClC,OAAO,CAKT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EACJ,CAAC,IAAI,EAAE,UAAU,CAAC,GAClB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,GACxC,CAAC,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,GAC5D,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAC3E,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACvD,OAAO,CAST;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACpC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAC5B,OAAO,CAOT;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,EAC9B,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAC5B,OAAO,CAOT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EACJ,CAAC,IAAI,EAAE,UAAU,CAAC,GAClB,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GACxC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EACtD,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,GACvD,OAAO,CAST;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,EAC1D,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GACxC,OAAO,CAOT"}
1
+ {"version":3,"file":"shouldFire.d.ts","sourceRoot":"","sources":["../../src/shouldFire.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "28.6.0",
3
+ "version": "28.7.1",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -8,7 +8,10 @@ export { InputActionPlayer } from "./classes/callbacks/InputActionPlayer";
8
8
  export { PostAmbushFinished } from "./classes/callbacks/PostAmbushFinished";
9
9
  export { PostAmbushStarted } from "./classes/callbacks/PostAmbushStarted";
10
10
  export { PostBombExploded } from "./classes/callbacks/PostBombExploded";
11
+ export { PostBombInitFilter } from "./classes/callbacks/PostBombInitFilter";
11
12
  export { PostBombInitLate } from "./classes/callbacks/PostBombInitLate";
13
+ export { PostBombRenderFilter } from "./classes/callbacks/PostBombRenderFilter";
14
+ export { PostBombUpdateFilter } from "./classes/callbacks/PostBombUpdateFilter";
12
15
  export { PostBoneSwing } from "./classes/callbacks/PostBoneSwing";
13
16
  export { PostCollectibleEmpty } from "./classes/callbacks/PostCollectibleEmpty";
14
17
  export { PostCollectibleInitFirst } from "./classes/callbacks/PostCollectibleInitFirst";
@@ -123,6 +126,7 @@ export { PostTNTUpdate } from "./classes/callbacks/PostTNTUpdate";
123
126
  export { PostTransformation } from "./classes/callbacks/PostTransformation";
124
127
  export { PostTrinketBreak } from "./classes/callbacks/PostTrinketBreak";
125
128
  export { PreBerserkDeath } from "./classes/callbacks/PreBerserkDeath";
129
+ export { PreBombCollisionFilter } from "./classes/callbacks/PreBombCollisionFilter";
126
130
  export { PreCustomRevive } from "./classes/callbacks/PreCustomRevive";
127
131
  export { PreEntitySpawnFilter } from "./classes/callbacks/PreEntitySpawnFilter";
128
132
  export { PreFamiliarCollisionFilter } from "./classes/callbacks/PreFamiliarCollisionFilter";
package/src/callbacks.ts CHANGED
@@ -11,7 +11,10 @@ const MOD_CALLBACK_CUSTOM_TO_CLASS = {
11
11
  [ModCallbackCustom.POST_AMBUSH_FINISHED]: cc.PostAmbushFinished,
12
12
  [ModCallbackCustom.POST_AMBUSH_STARTED]: cc.PostAmbushStarted,
13
13
  [ModCallbackCustom.POST_BOMB_EXPLODED]: cc.PostBombExploded,
14
+ [ModCallbackCustom.POST_BOMB_INIT_FILTER]: cc.PostBombInitFilter,
14
15
  [ModCallbackCustom.POST_BOMB_INIT_LATE]: cc.PostBombInitLate,
16
+ [ModCallbackCustom.POST_BOMB_RENDER_FILTER]: cc.PostBombRenderFilter,
17
+ [ModCallbackCustom.POST_BOMB_UPDATE_FILTER]: cc.PostBombUpdateFilter,
15
18
  [ModCallbackCustom.POST_BONE_SWING]: cc.PostBoneSwing,
16
19
  [ModCallbackCustom.POST_COLLECTIBLE_EMPTY]: cc.PostCollectibleEmpty,
17
20
  [ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST]: cc.PostCollectibleInitFirst,
@@ -142,6 +145,7 @@ const MOD_CALLBACK_CUSTOM_TO_CLASS = {
142
145
  [ModCallbackCustom.POST_TRANSFORMATION]: cc.PostTransformation,
143
146
  [ModCallbackCustom.POST_TRINKET_BREAK]: cc.PostTrinketBreak,
144
147
  [ModCallbackCustom.PRE_BERSERK_DEATH]: cc.PreBerserkDeath,
148
+ [ModCallbackCustom.PRE_BOMB_COLLISION_FILTER]: cc.PreBombCollisionFilter,
145
149
  [ModCallbackCustom.PRE_CUSTOM_REVIVE]: cc.PreCustomRevive,
146
150
  [ModCallbackCustom.PRE_ENTITY_SPAWN_FILTER]: cc.PreEntitySpawnFilter,
147
151
  [ModCallbackCustom.PRE_FAMILIAR_COLLISION_FILTER]:
@@ -0,0 +1,22 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { shouldFireBomb } from "../../shouldFire";
4
+ import { CustomCallback } from "../private/CustomCallback";
5
+
6
+ export class PostBombInitFilter extends CustomCallback<ModCallbackCustom.POST_BOMB_INIT_FILTER> {
7
+ constructor() {
8
+ super();
9
+
10
+ this.callbacksUsed = [
11
+ // 57
12
+ [ModCallback.POST_BOMB_INIT, this.postBombInit],
13
+ ];
14
+ }
15
+
16
+ protected override shouldFire = shouldFireBomb;
17
+
18
+ // ModCallback.POST_BOMB_INIT (57)
19
+ private postBombInit = (bomb: EntityBomb) => {
20
+ this.fire(bomb);
21
+ };
22
+ }
@@ -0,0 +1,22 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { shouldFireBomb } from "../../shouldFire";
4
+ import { CustomCallback } from "../private/CustomCallback";
5
+
6
+ export class PostBombRenderFilter extends CustomCallback<ModCallbackCustom.POST_BOMB_RENDER_FILTER> {
7
+ constructor() {
8
+ super();
9
+
10
+ this.callbacksUsed = [
11
+ // 59
12
+ [ModCallback.POST_BOMB_RENDER, this.postBombUpdate],
13
+ ];
14
+ }
15
+
16
+ protected override shouldFire = shouldFireBomb;
17
+
18
+ // ModCallback.POST_BOMB_RENDER (59)
19
+ private postBombUpdate = (bomb: EntityBomb, renderOffset: Vector) => {
20
+ this.fire(bomb, renderOffset);
21
+ };
22
+ }
@@ -0,0 +1,22 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { shouldFireBomb } from "../../shouldFire";
4
+ import { CustomCallback } from "../private/CustomCallback";
5
+
6
+ export class PostBombUpdateFilter extends CustomCallback<ModCallbackCustom.POST_BOMB_UPDATE_FILTER> {
7
+ constructor() {
8
+ super();
9
+
10
+ this.callbacksUsed = [
11
+ // 58
12
+ [ModCallback.POST_BOMB_UPDATE, this.postBombUpdate],
13
+ ];
14
+ }
15
+
16
+ protected override shouldFire = shouldFireBomb;
17
+
18
+ // ModCallback.POST_BOMB_UPDATE (58)
19
+ private postBombUpdate = (bomb: EntityBomb) => {
20
+ this.fire(bomb);
21
+ };
22
+ }
@@ -0,0 +1,24 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { shouldFireBomb } from "../../shouldFire";
4
+ import { CustomCallback } from "../private/CustomCallback";
5
+
6
+ export class PreBombCollisionFilter extends CustomCallback<ModCallbackCustom.PRE_BOMB_COLLISION_FILTER> {
7
+ constructor() {
8
+ super();
9
+
10
+ this.callbacksUsed = [
11
+ // 60
12
+ [ModCallback.PRE_BOMB_COLLISION, this.preBombCollision],
13
+ ];
14
+ }
15
+
16
+ protected override shouldFire = shouldFireBomb;
17
+
18
+ // ModCallback.PRE_BOMB_COLLISION (60)
19
+ private preBombCollision = (
20
+ bomb: EntityBomb,
21
+ collider: Entity,
22
+ low: boolean,
23
+ ): boolean | undefined => this.fire(bomb, collider, low);
24
+ }
@@ -108,9 +108,9 @@ export const LEVEL_GRID_ROW_WIDTH = 13;
108
108
  * All of the collectibles that grant vision on the map.
109
109
  *
110
110
  * Note that:
111
- * - Book of Shadows is included, which is an "active mapping" instead of passive.
112
111
  * - Spelunker Hat is included. Historically, Spelunker Hat was not considered to be mapping, but it
113
112
  * was buffed in Repentance to show rooms two or more away.
113
+ * - Book of Secrets is included, which is an "active mapping" instead of passive.
114
114
  * - Luna is included, even though it is not a very powerful mapping item.
115
115
  * - Cracked Orb is included, even though it requires the player to be damaged in order for it to be
116
116
  * activated.
@@ -118,10 +118,10 @@ export const LEVEL_GRID_ROW_WIDTH = 13;
118
118
  export const MAPPING_COLLECTIBLES = [
119
119
  CollectibleType.COMPASS, // 21
120
120
  CollectibleType.TREASURE_MAP, // 54
121
- CollectibleType.BOOK_OF_SHADOWS, // 58
122
121
  CollectibleType.SPELUNKER_HAT, // 91
123
122
  CollectibleType.CRYSTAL_BALL, // 158
124
123
  CollectibleType.BLUE_MAP, // 246
124
+ CollectibleType.BOOK_OF_SECRETS, // 287
125
125
  CollectibleType.MIND, // 333
126
126
  CollectibleType.SOL, // 588
127
127
  CollectibleType.LUNA, // 589
@@ -152,6 +152,22 @@ export enum ModCallbackCustom {
152
152
  */
153
153
  POST_BOMB_EXPLODED,
154
154
 
155
+ /**
156
+ * The exact same thing as the vanilla `POST_BOMB_INIT` callback, except this callback allows you
157
+ * to specify extra arguments for additional filtration.
158
+ *
159
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
160
+ * - You can provide an optional third argument that will make the callback only fire if it
161
+ * matches the `BombVariant` provided.
162
+ * - You can provide an optional fourth argument that will make the callback only fire if it
163
+ * matches the sub-type provided.
164
+ *
165
+ * ```ts
166
+ * function postBombInitFilter(bomb: EntityBomb): void {}
167
+ * ```
168
+ */
169
+ POST_BOMB_INIT_FILTER,
170
+
155
171
  /**
156
172
  * Fires on the first `POST_BOMB_UPDATE` frame for each bomb.
157
173
  *
@@ -170,6 +186,38 @@ export enum ModCallbackCustom {
170
186
  */
171
187
  POST_BOMB_INIT_LATE,
172
188
 
189
+ /**
190
+ * The exact same thing as the vanilla `POST_BOMB_RENDER` callback, except this callback allows
191
+ * you to specify extra arguments for additional filtration.
192
+ *
193
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
194
+ * - You can provide an optional third argument that will make the callback only fire if it
195
+ * matches the `BombVariant` provided.
196
+ * - You can provide an optional fourth argument that will make the callback only fire if it
197
+ * matches the sub-type provided.
198
+ *
199
+ * ```ts
200
+ * function postBombRenderFilter(bomb: EntityBomb, renderOffset: Vector): void {}
201
+ * ```
202
+ */
203
+ POST_BOMB_RENDER_FILTER,
204
+
205
+ /**
206
+ * The exact same thing as the vanilla `POST_BOMB_UPDATE` callback, except this callback allows
207
+ * you to specify extra arguments for additional filtration.
208
+ *
209
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
210
+ * - You can provide an optional third argument that will make the callback only fire if it
211
+ * matches the `BombVariant` provided.
212
+ * - You can provide an optional fourth argument that will make the callback only fire if it
213
+ * matches the sub-type provided.
214
+ *
215
+ * ```ts
216
+ * function postBombUpdateFilter(bomb: EntityBomb): void {}
217
+ * ```
218
+ */
219
+ POST_BOMB_UPDATE_FILTER,
220
+
173
221
  /**
174
222
  * Fires from the `POST_RENDER` callback when one of Forgotten's bone clubs is swung or thrown.
175
223
  *
@@ -2252,6 +2300,26 @@ export enum ModCallbackCustom {
2252
2300
  */
2253
2301
  PRE_BERSERK_DEATH,
2254
2302
 
2303
+ /**
2304
+ * The exact same thing as the vanilla `PRE_BOMB_COLLISION` callback, except this callback allows
2305
+ * you to specify extra arguments for additional filtration.
2306
+ *
2307
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
2308
+ * - You can provide an optional third argument that will make the callback only fire if it
2309
+ * matches the `BombVariant` provided.
2310
+ * - You can provide an optional fourth argument that will make the callback only fire if it
2311
+ * matches the sub-type provided.
2312
+ *
2313
+ * ```ts
2314
+ * function preBombCollisionFilter(
2315
+ * bomb: EntityBomb,
2316
+ * collider: Entity,
2317
+ * low: boolean,
2318
+ * ): void {}
2319
+ * ```
2320
+ */
2321
+ PRE_BOMB_COLLISION_FILTER,
2322
+
2255
2323
  /**
2256
2324
  * Fires from the `POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you want
2257
2325
  * to initiate a custom revival, return an integer that corresponds to the item or type of revival
@@ -108,12 +108,30 @@ export interface AddCallbackParametersCustom {
108
108
  subType?: int,
109
109
  ];
110
110
 
111
+ [ModCallbackCustom.POST_BOMB_INIT_FILTER]: [
112
+ callback: (bomb: EntityBomb) => void,
113
+ bombVariant?: BombVariant,
114
+ subType?: int,
115
+ ];
116
+
111
117
  [ModCallbackCustom.POST_BOMB_INIT_LATE]: [
112
118
  callback: (bomb: EntityBomb) => void,
113
119
  bombVariant?: BombVariant,
114
120
  subType?: int,
115
121
  ];
116
122
 
123
+ [ModCallbackCustom.POST_BOMB_RENDER_FILTER]: [
124
+ callback: (bomb: EntityBomb, renderOffset: Vector) => void,
125
+ bombVariant?: BombVariant,
126
+ subType?: int,
127
+ ];
128
+
129
+ [ModCallbackCustom.POST_BOMB_UPDATE_FILTER]: [
130
+ callback: (bomb: EntityBomb) => void,
131
+ bombVariant?: BombVariant,
132
+ subType?: int,
133
+ ];
134
+
117
135
  [ModCallbackCustom.POST_BONE_SWING]: [callback: (knife: EntityKnife) => void];
118
136
 
119
137
  [ModCallbackCustom.POST_COLLECTIBLE_EMPTY]: [
@@ -877,6 +895,16 @@ export interface AddCallbackParametersCustom {
877
895
  character?: PlayerType,
878
896
  ];
879
897
 
898
+ [ModCallbackCustom.PRE_BOMB_COLLISION_FILTER]: [
899
+ callback: (
900
+ bomb: EntityBomb,
901
+ collider: Entity,
902
+ low: boolean,
903
+ ) => boolean | undefined,
904
+ bombVariant?: BombVariant,
905
+ subtype?: int,
906
+ ];
907
+
880
908
  [ModCallbackCustom.PRE_CUSTOM_REVIVE]: [
881
909
  callback: (player: EntityPlayer) => int | undefined,
882
910
  playerVariant?: PlayerVariant,
package/src/shouldFire.ts CHANGED
@@ -58,7 +58,10 @@ export function shouldFireAmbush(
58
58
  }
59
59
 
60
60
  export function shouldFireBomb(
61
- fireArgs: [bomb: EntityBomb],
61
+ fireArgs:
62
+ | [bomb: EntityBomb]
63
+ | [bomb: EntityBomb, renderOffset: Vector]
64
+ | [bomb: EntityBomb, collider: Entity, low: boolean],
62
65
  optionalArgs: [bombVariant?: BombVariant, subType?: int],
63
66
  ): boolean {
64
67
  const [bomb] = fireArgs;