isaacscript-common 18.1.0 → 18.2.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 (136) hide show
  1. package/dist/index.d.ts +163 -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 +158 -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 +60 -0
  136. package/src/interfaces/private/AddCallbackParametersCustom.ts +12 -0
@@ -30,9 +30,41 @@ export enum ModCallbackCustom {
30
30
  * matches the variant provided.
31
31
  * - You can provide an optional fifth argument that will make the callback only fire if it
32
32
  * matches the sub-type provided.
33
+ *
34
+ * ```ts
35
+ * function entityTakeDmgFilter(
36
+ * entity: Entity,
37
+ * amount: float,
38
+ * damageFlags: BitFlags<DamageFlag>,
39
+ * source: EntityRef,
40
+ * countdownFrames: int,
41
+ * ): boolean | undefined {}
42
+ * ```
33
43
  */
34
44
  ENTITY_TAKE_DMG_FILTER,
35
45
 
46
+ /**
47
+ * The exact same thing as the vanilla `ENTITY_TAKE_DMG` callback, except this callback
48
+ * automatically filters for `EntityType.ENTITY_PLAYER` and casts the `Entity` object to a
49
+ * `EntityPlayer`.
50
+ *
51
+ * - You can provide an optional third argument that will make the callback only fire if it
52
+ * matches the `PlayerVariant` provided.
53
+ * - You can provide an optional fourth argument that will make the callback only fire if it
54
+ * matches the `PlayerType` provided.
55
+ *
56
+ * ```ts
57
+ * function entityTakeDmgPlayer(
58
+ * player: EntityPlayer,
59
+ * amount: float,
60
+ * damageFlags: BitFlags<DamageFlag>,
61
+ * source: EntityRef,
62
+ * countdownFrames: int,
63
+ * ): boolean | undefined {}
64
+ * ```
65
+ */
66
+ ENTITY_TAKE_DMG_PLAYER,
67
+
36
68
  /**
37
69
  * Fires from the `POST_UPDATE` callback when a Challenge Room or Boss Rush is started.
38
70
  * Specifically, this happens on the first frame that `Room.IsAmbushDone` is true.
@@ -836,6 +868,10 @@ export enum ModCallbackCustom {
836
868
  * matches the variant provided.
837
869
  * - You can provide an optional fifth argument that will make the callback only fire if it
838
870
  * matches the sub-type provided.
871
+ *
872
+ * ```ts
873
+ * function postNPCDeathFilter(npc: EntityNPC): void {}
874
+ * ```
839
875
  */
840
876
  POST_NPC_DEATH_FILTER,
841
877
 
@@ -850,6 +886,10 @@ export enum ModCallbackCustom {
850
886
  * matches the variant provided.
851
887
  * - You can provide an optional fifth argument that will make the callback only fire if it
852
888
  * matches the sub-type provided.
889
+ *
890
+ * ```ts
891
+ * function postNPCInitFilter(npc: EntityNPC): void {}
892
+ * ```
853
893
  */
854
894
  POST_NPC_INIT_FILTER,
855
895
 
@@ -884,6 +924,10 @@ export enum ModCallbackCustom {
884
924
  * matches the variant provided.
885
925
  * - You can provide an optional fifth argument that will make the callback only fire if it
886
926
  * matches the sub-type provided.
927
+ *
928
+ * ```ts
929
+ * function postNPCRenderFilter(npc: EntityNPC, renderOffset: Vector): void {}
930
+ * ```
887
931
  */
888
932
  POST_NPC_RENDER_FILTER,
889
933
 
@@ -920,6 +964,10 @@ export enum ModCallbackCustom {
920
964
  * matches the variant provided.
921
965
  * - You can provide an optional fifth argument that will make the callback only fire if it
922
966
  * matches the sub-type provided.
967
+ *
968
+ * ```ts
969
+ * function postNPCUpdateFilter(npc: EntityNPC): void {}
970
+ * ```
923
971
  */
924
972
  POST_NPC_UPDATE_FILTER,
925
973
 
@@ -1767,6 +1815,14 @@ export enum ModCallbackCustom {
1767
1815
  * matches the variant provided.
1768
1816
  * - You can provide an optional fifth argument that will make the callback only fire if it
1769
1817
  * matches the sub-type provided.
1818
+ *
1819
+ * ```ts
1820
+ * function preNPCCollisionFilter(
1821
+ * npc: EntityNPC,
1822
+ * collider: Entity,
1823
+ * low: boolean,
1824
+ * ): boolean | undefined {}
1825
+ * ```
1770
1826
  */
1771
1827
  PRE_NPC_COLLISION_FILTER,
1772
1828
 
@@ -1781,6 +1837,10 @@ export enum ModCallbackCustom {
1781
1837
  * matches the variant provided.
1782
1838
  * - You can provide an optional fifth argument that will make the callback only fire if it
1783
1839
  * matches the sub-type provided.
1840
+ *
1841
+ * ```ts
1842
+ * function preNPCUpdateFilter(entity: Entity): boolean | undefined {}
1843
+ * ```
1784
1844
  */
1785
1845
  PRE_NPC_UPDATE_FILTER,
1786
1846
  }
@@ -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,