isaacscript-common 9.19.1 → 9.20.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 (33) hide show
  1. package/dist/index.d.ts +44 -3
  2. package/dist/isaacscript-common.lua +114 -11
  3. package/dist/package.lua +2 -2
  4. package/dist/src/callbacks/preGetPedestal.d.ts +3 -0
  5. package/dist/src/callbacks/preGetPedestal.d.ts.map +1 -0
  6. package/dist/src/callbacks/preGetPedestal.lua +40 -0
  7. package/dist/src/callbacks/subscriptions/preGetPedestal.d.ts +10 -0
  8. package/dist/src/callbacks/subscriptions/preGetPedestal.d.ts.map +1 -0
  9. package/dist/src/callbacks/subscriptions/preGetPedestal.lua +32 -0
  10. package/dist/src/enums/ModCallbackCustom.d.ts +21 -2
  11. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  12. package/dist/src/enums/ModCallbackCustom.lua +4 -2
  13. package/dist/src/functions/arrayLua.d.ts +13 -0
  14. package/dist/src/functions/arrayLua.d.ts.map +1 -1
  15. package/dist/src/functions/arrayLua.lua +15 -0
  16. package/dist/src/functions/positionVelocity.d.ts +1 -1
  17. package/dist/src/functions/positionVelocity.d.ts.map +1 -1
  18. package/dist/src/functions/positionVelocity.lua +7 -1
  19. package/dist/src/initCustomCallbacks.d.ts.map +1 -1
  20. package/dist/src/initCustomCallbacks.lua +3 -0
  21. package/dist/src/interfaces/private/AddCallbackParameterCustom.d.ts +2 -0
  22. package/dist/src/interfaces/private/AddCallbackParameterCustom.d.ts.map +1 -1
  23. package/dist/src/objects/callbackRegisterFunctions.d.ts.map +1 -1
  24. package/dist/src/objects/callbackRegisterFunctions.lua +3 -0
  25. package/package.json +2 -2
  26. package/src/callbacks/preGetPedestal.ts +60 -0
  27. package/src/callbacks/subscriptions/preGetPedestal.ts +55 -0
  28. package/src/enums/ModCallbackCustom.ts +20 -0
  29. package/src/functions/arrayLua.ts +25 -0
  30. package/src/functions/positionVelocity.ts +8 -0
  31. package/src/initCustomCallbacks.ts +2 -0
  32. package/src/interfaces/private/AddCallbackParameterCustom.ts +2 -0
  33. package/src/objects/callbackRegisterFunctions.ts +2 -0
package/dist/index.d.ts CHANGED
@@ -170,6 +170,7 @@ declare interface AddCallbackParameterCustom {
170
170
  [ModCallbackCustom.POST_TRINKET_BREAK]: PostTrinketBreakRegisterParameters;
171
171
  [ModCallbackCustom.PRE_BERSERK_DEATH]: PreBerserkDeathRegisterParameters;
172
172
  [ModCallbackCustom.PRE_CUSTOM_REVIVE]: PreCustomReviveRegisterParameters;
173
+ [ModCallbackCustom.PRE_GET_PEDESTAL]: PreGetPedestalRegisterParameters;
173
174
  [ModCallbackCustom.PRE_ITEM_PICKUP]: PreItemPickupRegisterParameters;
174
175
  [ModCallbackCustom.PRE_NEW_LEVEL]: PreNewLevelRegisterParameters;
175
176
  }
@@ -2157,7 +2158,7 @@ export declare function find<T>(array: T[], func: (value: T, index: number, arra
2157
2158
  * with anything, then it will be returned.
2158
2159
  * @param avoidActiveEntities Optional. Default is false.
2159
2160
  */
2160
- export declare function findFreePosition(startingPosition: Vector, avoidActiveEntities?: boolean): Vector;
2161
+ export declare function findFreePosition(startingPosition: Vector, avoidActiveEntities?: boolean, minimumDistance?: float): Vector;
2161
2162
 
2162
2163
  /**
2163
2164
  * Helper function to make an NPC fire one or more projectiles. Returns the fired projectile(s).
@@ -2261,6 +2262,13 @@ export declare function forceNewLevelCallback(): void;
2261
2262
  */
2262
2263
  export declare function forceNewRoomCallback(): void;
2263
2264
 
2265
+ /**
2266
+ * Helper function for non-TypeScript users to iterate over an array.
2267
+ *
2268
+ * Internally, this just calls `array.forEach`.
2269
+ */
2270
+ export declare function forEach<T>(array: T[], func: (value: T, index: number, array: T[]) => void): void;
2271
+
2264
2272
  /**
2265
2273
  * When used on The Forgotten, switches to The Soul. When used on The Soul, switches to The
2266
2274
  * Forgotten. This takes 1 game frame to take effect.
@@ -8331,6 +8339,25 @@ export declare enum ModCallbackCustom {
8331
8339
  * ```
8332
8340
  */
8333
8341
  PRE_CUSTOM_REVIVE = 90,
8342
+ /**
8343
+ * Fires from the `PRE_PICKUP_COLLISION` callback when a player touches a collectible pedestal and
8344
+ * meets all of the conditions to pick it up.
8345
+ *
8346
+ * The return values of this callback are the same as the `PRE_PICKUP_COLLISION` callback. For
8347
+ * example, you can prevent a player from picking up the collectible by returning false. (However,
8348
+ * note that this callback will continue to fire for every frame that the player touches the
8349
+ * pedestal, so you would need to continue returning false.)
8350
+ *
8351
+ * - When registering the callback, takes an optional second argument that will make the callback
8352
+ * only fire if the player matches the `PlayerVariant` provided.
8353
+ * - When registering the callback, takes an optional third argument that will make the callback
8354
+ * only fire if the player matches the `PlayerType` provided.
8355
+ *
8356
+ * ```ts
8357
+ * function preGetPedestal(player: EntityPlayer, collectible: EntityPickupCollectible): void {}
8358
+ * ```
8359
+ */
8360
+ PRE_GET_PEDESTAL = 91,
8334
8361
  /**
8335
8362
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the player
8336
8363
  * begins to hold the item above their head).
@@ -8349,7 +8376,7 @@ export declare enum ModCallbackCustom {
8349
8376
  * ): void {}
8350
8377
  * ```
8351
8378
  */
8352
- PRE_ITEM_PICKUP = 91,
8379
+ PRE_ITEM_PICKUP = 92,
8353
8380
  /**
8354
8381
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
8355
8382
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -8363,7 +8390,7 @@ export declare enum ModCallbackCustom {
8363
8390
  * function preNewLevel(player: EntityPlayer): void {}
8364
8391
  * ```
8365
8392
  */
8366
- PRE_NEW_LEVEL = 92
8393
+ PRE_NEW_LEVEL = 93
8367
8394
  }
8368
8395
 
8369
8396
  /**
@@ -9203,6 +9230,12 @@ playerVariant?: PlayerVariant,
9203
9230
  character?: PlayerType
9204
9231
  ];
9205
9232
 
9233
+ declare type PreGetPedestalRegisterParameters = [
9234
+ callback: (player: EntityPlayer, collectible: EntityPickupCollectible) => boolean | undefined,
9235
+ playerVariant?: PlayerVariant,
9236
+ character?: PlayerType
9237
+ ];
9238
+
9206
9239
  declare type PreItemPickupRegisterParameters = [callback: (player: EntityPlayer, pickingUpItem: PickingUpItem) => void] | [
9207
9240
  callback: (player: EntityPlayer, pickingUpItem: PickingUpItemCollectible) => void,
9208
9241
  itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR,
@@ -11024,6 +11057,14 @@ export declare function smeltTrinket(player: EntityPlayer, trinketType: TrinketT
11024
11057
  */
11025
11058
  export declare function smeltTrinkets(player: EntityPlayer, ...trinketTypes: TrinketType[]): void;
11026
11059
 
11060
+ /**
11061
+ * Helper function for non-TypeScript users to check if one or more elements in the array is equal
11062
+ * to a condition.
11063
+ *
11064
+ * Internally, this just calls `array.some`.
11065
+ */
11066
+ export declare function some<T>(array: T[], func: (value: T, index: number, array: T[]) => boolean): boolean;
11067
+
11027
11068
  export declare type SoulHeartType = HeartSubType.SOUL | HeartSubType.BLACK | HeartSubType.BONE;
11028
11069
 
11029
11070
  /**
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 9.19.1
3
+ isaacscript-common 9.20.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -20,10 +20,8 @@ Please open bug reports and pull requests on GitHub. You can also ask questions
20
20
  server: https://discord.gg/KapmKQ2gUD
21
21
 
22
22
  Note that if you are writing your mod in TypeScript, using this file is unnecessary, as every
23
- "isaacscript-common" feature will be automatically bundled with your mod as needed. Programming in
24
- TypeScript also has the advantage of the compiler automatically preventing you from misusing
25
- anything in this library. For more information, see the website:
26
- https://isaacscript.github.io/main/features
23
+ "isaacscript-common" feature will be automatically bundled with your mod as needed. For more
24
+ information about using TypeScript, see the website: https://isaacscript.github.io/main/features
27
25
 
28
26
  --]]
29
27
 
@@ -3046,9 +3044,11 @@ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 89
3046
3044
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
3047
3045
  ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 90
3048
3046
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
3049
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 91
3047
+ ____exports.ModCallbackCustom.PRE_GET_PEDESTAL = 91
3048
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_GET_PEDESTAL] = "PRE_GET_PEDESTAL"
3049
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 92
3050
3050
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
3051
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 92
3051
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 93
3052
3052
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
3053
3053
  return ____exports
3054
3054
  end,
@@ -4837,7 +4837,7 @@ return ____exports
4837
4837
  ["lua_modules.isaac-typescript-definitions.dist.package"] = function(...)
4838
4838
  return {
4839
4839
  name = "isaac-typescript-definitions",
4840
- version = "5.0.4",
4840
+ version = "6.0.0",
4841
4841
  description = "TypeScript definitions for The Binding of Isaac: Repentance.",
4842
4842
  keywords = {"isaac", "rebirth", "afterbirth", "repentance"},
4843
4843
  homepage = "https://isaacscript.github.io/",
@@ -17668,6 +17668,40 @@ function ____exports.preCustomReviveFire(self, player)
17668
17668
  end
17669
17669
  return nil
17670
17670
  end
17671
+ return ____exports
17672
+ end,
17673
+ ["src.callbacks.subscriptions.preGetPedestal"] = function(...)
17674
+ local ____exports = {}
17675
+ local subscriptions = {}
17676
+ function ____exports.preGetPedestalHasSubscriptions(self)
17677
+ return #subscriptions > 0
17678
+ end
17679
+ function ____exports.preGetPedestalRegister(self, ...)
17680
+ local args = {...}
17681
+ subscriptions[#subscriptions + 1] = args
17682
+ end
17683
+ function ____exports.preGetPedestalFire(self, player, collectible)
17684
+ local character = player:GetPlayerType()
17685
+ for ____, ____value in ipairs(subscriptions) do
17686
+ local callback = ____value[1]
17687
+ local callbackPlayerVariant = ____value[2]
17688
+ local callbackCharacter = ____value[3]
17689
+ do
17690
+ if callbackPlayerVariant ~= nil and callbackPlayerVariant ~= player.Variant then
17691
+ goto __continue5
17692
+ end
17693
+ if callbackCharacter ~= nil and callbackCharacter ~= character then
17694
+ goto __continue5
17695
+ end
17696
+ local returnValue = callback(nil, player, collectible)
17697
+ if returnValue ~= nil then
17698
+ return returnValue
17699
+ end
17700
+ end
17701
+ ::__continue5::
17702
+ end
17703
+ return nil
17704
+ end
17671
17705
  return ____exports
17672
17706
  end,
17673
17707
  ["src.callbacks.subscriptions.preItemPickup"] = function(...)
@@ -17907,6 +17941,8 @@ local ____preBerserkDeath = require("src.callbacks.subscriptions.preBerserkDeath
17907
17941
  local preBerserkDeathRegister = ____preBerserkDeath.preBerserkDeathRegister
17908
17942
  local ____preCustomRevive = require("src.callbacks.subscriptions.preCustomRevive")
17909
17943
  local preCustomReviveRegister = ____preCustomRevive.preCustomReviveRegister
17944
+ local ____preGetPedestal = require("src.callbacks.subscriptions.preGetPedestal")
17945
+ local preGetPedestalRegister = ____preGetPedestal.preGetPedestalRegister
17910
17946
  local ____preItemPickup = require("src.callbacks.subscriptions.preItemPickup")
17911
17947
  local preItemPickupRegister = ____preItemPickup.preItemPickupRegister
17912
17948
  local ____preNewLevel = require("src.callbacks.subscriptions.preNewLevel")
@@ -18005,6 +18041,7 @@ ____exports.CALLBACK_REGISTER_FUNCTIONS = {
18005
18041
  [ModCallbackCustom.POST_TRINKET_BREAK] = postTrinketBreakRegister,
18006
18042
  [ModCallbackCustom.PRE_BERSERK_DEATH] = preBerserkDeathRegister,
18007
18043
  [ModCallbackCustom.PRE_CUSTOM_REVIVE] = preCustomReviveRegister,
18044
+ [ModCallbackCustom.PRE_GET_PEDESTAL] = preGetPedestalRegister,
18008
18045
  [ModCallbackCustom.PRE_ITEM_PICKUP] = preItemPickupRegister,
18009
18046
  [ModCallbackCustom.PRE_NEW_LEVEL] = preNewLevelRegister
18010
18047
  }
@@ -26691,7 +26728,7 @@ end
26691
26728
  -- @param startingPosition The position to start searching from. If this position is not overlapping
26692
26729
  -- with anything, then it will be returned.
26693
26730
  -- @param avoidActiveEntities Optional. Default is false.
26694
- function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities)
26731
+ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities, minimumDistance)
26695
26732
  if avoidActiveEntities == nil then
26696
26733
  avoidActiveEntities = false
26697
26734
  end
@@ -26710,6 +26747,12 @@ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntitie
26710
26747
  if isCloseHeavenDoor then
26711
26748
  goto __continue7
26712
26749
  end
26750
+ if minimumDistance ~= nil then
26751
+ local distance = startingPosition:Distance(position)
26752
+ if distance < minimumDistance then
26753
+ goto __continue7
26754
+ end
26755
+ end
26713
26756
  return position
26714
26757
  end
26715
26758
  ::__continue7::
@@ -37937,6 +37980,48 @@ end
37937
37980
  function ____exports.preBerserkDeathInit(self, mod)
37938
37981
  mod:AddCallbackCustom(ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED, postPEffectUpdateReordered)
37939
37982
  end
37983
+ return ____exports
37984
+ end,
37985
+ ["src.callbacks.preGetPedestal"] = function(...)
37986
+ local ____exports = {}
37987
+ local hasSubscriptions, prePickupCollision
37988
+ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
37989
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
37990
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
37991
+ local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
37992
+ local ____preGetPedestal = require("src.callbacks.subscriptions.preGetPedestal")
37993
+ local preGetPedestalFire = ____preGetPedestal.preGetPedestalFire
37994
+ local preGetPedestalHasSubscriptions = ____preGetPedestal.preGetPedestalHasSubscriptions
37995
+ function hasSubscriptions(self)
37996
+ return preGetPedestalHasSubscriptions(nil)
37997
+ end
37998
+ function prePickupCollision(self, pickup, collider, _low)
37999
+ if not hasSubscriptions(nil) then
38000
+ return nil
38001
+ end
38002
+ local collectible = pickup
38003
+ if collectible.SubType == CollectibleType.NULL then
38004
+ return nil
38005
+ end
38006
+ local player = collider:ToPlayer()
38007
+ if player == nil then
38008
+ return nil
38009
+ end
38010
+ local numCoins = player:GetNumCoins()
38011
+ if collectible.Price > numCoins then
38012
+ return nil
38013
+ end
38014
+ if collectible.Wait > 0 or player.ItemHoldCooldown > 0 then
38015
+ return nil
38016
+ end
38017
+ if player:IsHoldingItem() then
38018
+ return nil
38019
+ end
38020
+ return preGetPedestalFire(nil, player, collectible)
38021
+ end
38022
+ function ____exports.preGetPedestalInit(self, mod)
38023
+ mod:AddCallback(ModCallback.PRE_PICKUP_COLLISION, prePickupCollision, PickupVariant.COLLECTIBLE)
38024
+ end
37940
38025
  return ____exports
37941
38026
  end,
37942
38027
  ["src.callbacks.preNewLevel"] = function(...)
@@ -38227,6 +38312,8 @@ local ____postTrinketBreak = require("src.callbacks.postTrinketBreak")
38227
38312
  local postTrinketBreakInit = ____postTrinketBreak.postTrinketBreakInit
38228
38313
  local ____preBerserkDeath = require("src.callbacks.preBerserkDeath")
38229
38314
  local preBerserkDeathInit = ____preBerserkDeath.preBerserkDeathInit
38315
+ local ____preGetPedestal = require("src.callbacks.preGetPedestal")
38316
+ local preGetPedestalInit = ____preGetPedestal.preGetPedestalInit
38230
38317
  local ____preNewLevel = require("src.callbacks.preNewLevel")
38231
38318
  local preNewLevelInit = ____preNewLevel.preNewLevelInit
38232
38319
  local ____reorderedCallbacks = require("src.callbacks.reorderedCallbacks")
@@ -38301,6 +38388,7 @@ function ____exports.initCustomCallbacks(self, mod)
38301
38388
  postTransformationInit(nil, mod)
38302
38389
  postTrinketBreakInit(nil, mod)
38303
38390
  preBerserkDeathInit(nil, mod)
38391
+ preGetPedestalInit(nil, mod)
38304
38392
  preNewLevelInit(nil, mod)
38305
38393
  reorderedCallbacksInit(nil, mod)
38306
38394
  end
@@ -46736,7 +46824,7 @@ return ____exports
46736
46824
  ["package"] = function(...)
46737
46825
  return {
46738
46826
  name = "isaacscript-common",
46739
- version = "9.19.1",
46827
+ version = "9.20.0",
46740
46828
  description = "Helper functions and features for IsaacScript mods.",
46741
46829
  keywords = {"isaac", "rebirth", "afterbirth", "repentance"},
46742
46830
  homepage = "https://isaacscript.github.io/",
@@ -46747,7 +46835,7 @@ return {
46747
46835
  type = "commonjs",
46748
46836
  main = "dist/src/index",
46749
46837
  types = "dist/src/index.d.ts",
46750
- dependencies = {["isaac-typescript-definitions"] = "^5.0.4"}
46838
+ dependencies = {["isaac-typescript-definitions"] = "^6.0.0"}
46751
46839
  }
46752
46840
  end,
46753
46841
  ["src.functions.map"] = function(...)
@@ -52408,9 +52496,11 @@ local ____lualib = require("lualib_bundle")
52408
52496
  local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
52409
52497
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
52410
52498
  local __TS__ArrayFind = ____lualib.__TS__ArrayFind
52499
+ local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
52411
52500
  local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
52412
52501
  local __TS__ArrayJoin = ____lualib.__TS__ArrayJoin
52413
52502
  local __TS__ArrayMap = ____lualib.__TS__ArrayMap
52503
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
52414
52504
  local ____exports = {}
52415
52505
  --- Helper function for non-TypeScript users to check if every element in the array is equal to a
52416
52506
  -- condition.
@@ -52432,6 +52522,12 @@ end
52432
52522
  function ____exports.find(self, array, func)
52433
52523
  return __TS__ArrayFind(array, func)
52434
52524
  end
52525
+ --- Helper function for non-TypeScript users to iterate over an array.
52526
+ --
52527
+ -- Internally, this just calls `array.forEach`.
52528
+ function ____exports.forEach(self, array, func)
52529
+ __TS__ArrayForEach(array, func)
52530
+ end
52435
52531
  --- Helper function for non-TypeScript users to check if an element is in an array.
52436
52532
  --
52437
52533
  -- Since this takes O(N) time, using this function is usually a mistake, since you can use a `Map`
@@ -52455,6 +52551,13 @@ end
52455
52551
  function ____exports.map(self, array, func)
52456
52552
  return __TS__ArrayMap(array, func)
52457
52553
  end
52554
+ --- Helper function for non-TypeScript users to check if one or more elements in the array is equal
52555
+ -- to a condition.
52556
+ --
52557
+ -- Internally, this just calls `array.some`.
52558
+ function ____exports.some(self, array, func)
52559
+ return __TS__ArraySome(array, func)
52560
+ end
52458
52561
  return ____exports
52459
52562
  end,
52460
52563
  ["src.functions.benchmark"] = function(...)
package/dist/package.lua CHANGED
@@ -1,6 +1,6 @@
1
1
  return {
2
2
  name = "isaacscript-common",
3
- version = "9.19.1",
3
+ version = "9.20.0",
4
4
  description = "Helper functions and features for IsaacScript mods.",
5
5
  keywords = {"isaac", "rebirth", "afterbirth", "repentance"},
6
6
  homepage = "https://isaacscript.github.io/",
@@ -11,5 +11,5 @@ return {
11
11
  type = "commonjs",
12
12
  main = "dist/src/index",
13
13
  types = "dist/src/index.d.ts",
14
- dependencies = {["isaac-typescript-definitions"] = "^5.0.4"}
14
+ dependencies = {["isaac-typescript-definitions"] = "^6.0.0"}
15
15
  }
@@ -0,0 +1,3 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare function preGetPedestalInit(mod: Mod): void;
3
+ //# sourceMappingURL=preGetPedestal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preGetPedestal.d.ts","sourceRoot":"","sources":["../../../src/callbacks/preGetPedestal.ts"],"names":[],"mappings":";AAUA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAMjD"}
@@ -0,0 +1,40 @@
1
+ local ____exports = {}
2
+ local hasSubscriptions, prePickupCollision
3
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
4
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
5
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
6
+ local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
7
+ local ____preGetPedestal = require("src.callbacks.subscriptions.preGetPedestal")
8
+ local preGetPedestalFire = ____preGetPedestal.preGetPedestalFire
9
+ local preGetPedestalHasSubscriptions = ____preGetPedestal.preGetPedestalHasSubscriptions
10
+ function hasSubscriptions(self)
11
+ return preGetPedestalHasSubscriptions(nil)
12
+ end
13
+ function prePickupCollision(self, pickup, collider, _low)
14
+ if not hasSubscriptions(nil) then
15
+ return nil
16
+ end
17
+ local collectible = pickup
18
+ if collectible.SubType == CollectibleType.NULL then
19
+ return nil
20
+ end
21
+ local player = collider:ToPlayer()
22
+ if player == nil then
23
+ return nil
24
+ end
25
+ local numCoins = player:GetNumCoins()
26
+ if collectible.Price > numCoins then
27
+ return nil
28
+ end
29
+ if collectible.Wait > 0 or player.ItemHoldCooldown > 0 then
30
+ return nil
31
+ end
32
+ if player:IsHoldingItem() then
33
+ return nil
34
+ end
35
+ return preGetPedestalFire(nil, player, collectible)
36
+ end
37
+ function ____exports.preGetPedestalInit(self, mod)
38
+ mod:AddCallback(ModCallback.PRE_PICKUP_COLLISION, prePickupCollision, PickupVariant.COLLECTIBLE)
39
+ end
40
+ return ____exports
@@ -0,0 +1,10 @@
1
+ import { PlayerType, PlayerVariant } from "isaac-typescript-definitions";
2
+ export declare type PreGetPedestalRegisterParameters = [
3
+ callback: (player: EntityPlayer, collectible: EntityPickupCollectible) => boolean | undefined,
4
+ playerVariant?: PlayerVariant,
5
+ character?: PlayerType
6
+ ];
7
+ export declare function preGetPedestalHasSubscriptions(): boolean;
8
+ export declare function preGetPedestalRegister(...args: PreGetPedestalRegisterParameters): void;
9
+ export declare function preGetPedestalFire(player: EntityPlayer, collectible: EntityPickupCollectible): boolean | undefined;
10
+ //# sourceMappingURL=preGetPedestal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preGetPedestal.d.ts","sourceRoot":"","sources":["../../../../src/callbacks/subscriptions/preGetPedestal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEzE,oBAAY,gCAAgC,GAAG;IAC7C,QAAQ,EAAE,CACR,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,uBAAuB,KACjC,OAAO,GAAG,SAAS;IACxB,aAAa,CAAC,EAAE,aAAa;IAC7B,SAAS,CAAC,EAAE,UAAU;CACvB,CAAC;AAIF,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAED,wBAAgB,sBAAsB,CACpC,GAAG,IAAI,EAAE,gCAAgC,GACxC,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,uBAAuB,GACnC,OAAO,GAAG,SAAS,CA4BrB"}
@@ -0,0 +1,32 @@
1
+ local ____exports = {}
2
+ local subscriptions = {}
3
+ function ____exports.preGetPedestalHasSubscriptions(self)
4
+ return #subscriptions > 0
5
+ end
6
+ function ____exports.preGetPedestalRegister(self, ...)
7
+ local args = {...}
8
+ subscriptions[#subscriptions + 1] = args
9
+ end
10
+ function ____exports.preGetPedestalFire(self, player, collectible)
11
+ local character = player:GetPlayerType()
12
+ for ____, ____value in ipairs(subscriptions) do
13
+ local callback = ____value[1]
14
+ local callbackPlayerVariant = ____value[2]
15
+ local callbackCharacter = ____value[3]
16
+ do
17
+ if callbackPlayerVariant ~= nil and callbackPlayerVariant ~= player.Variant then
18
+ goto __continue5
19
+ end
20
+ if callbackCharacter ~= nil and callbackCharacter ~= character then
21
+ goto __continue5
22
+ end
23
+ local returnValue = callback(nil, player, collectible)
24
+ if returnValue ~= nil then
25
+ return returnValue
26
+ end
27
+ end
28
+ ::__continue5::
29
+ end
30
+ return nil
31
+ end
32
+ return ____exports
@@ -1392,6 +1392,25 @@ export declare enum ModCallbackCustom {
1392
1392
  * ```
1393
1393
  */
1394
1394
  PRE_CUSTOM_REVIVE = 90,
1395
+ /**
1396
+ * Fires from the `PRE_PICKUP_COLLISION` callback when a player touches a collectible pedestal and
1397
+ * meets all of the conditions to pick it up.
1398
+ *
1399
+ * The return values of this callback are the same as the `PRE_PICKUP_COLLISION` callback. For
1400
+ * example, you can prevent a player from picking up the collectible by returning false. (However,
1401
+ * note that this callback will continue to fire for every frame that the player touches the
1402
+ * pedestal, so you would need to continue returning false.)
1403
+ *
1404
+ * - When registering the callback, takes an optional second argument that will make the callback
1405
+ * only fire if the player matches the `PlayerVariant` provided.
1406
+ * - When registering the callback, takes an optional third argument that will make the callback
1407
+ * only fire if the player matches the `PlayerType` provided.
1408
+ *
1409
+ * ```ts
1410
+ * function preGetPedestal(player: EntityPlayer, collectible: EntityPickupCollectible): void {}
1411
+ * ```
1412
+ */
1413
+ PRE_GET_PEDESTAL = 91,
1395
1414
  /**
1396
1415
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the player
1397
1416
  * begins to hold the item above their head).
@@ -1410,7 +1429,7 @@ export declare enum ModCallbackCustom {
1410
1429
  * ): void {}
1411
1430
  * ```
1412
1431
  */
1413
- PRE_ITEM_PICKUP = 91,
1432
+ PRE_ITEM_PICKUP = 92,
1414
1433
  /**
1415
1434
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
1416
1435
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -1424,6 +1443,6 @@ export declare enum ModCallbackCustom {
1424
1443
  * function preNewLevel(player: EntityPlayer): void {}
1425
1444
  * ```
1426
1445
  */
1427
- PRE_NEW_LEVEL = 92
1446
+ PRE_NEW_LEVEL = 93
1428
1447
  }
1429
1448
  //# sourceMappingURL=ModCallbackCustom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModCallbackCustom.d.ts","sourceRoot":"","sources":["../../../src/enums/ModCallbackCustom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModCallbackCustom.d.ts","sourceRoot":"","sources":["../../../src/enums/ModCallbackCustom.ts"],"names":[],"mappings":"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"}
@@ -188,8 +188,10 @@ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 89
188
188
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
189
189
  ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 90
190
190
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
191
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 91
191
+ ____exports.ModCallbackCustom.PRE_GET_PEDESTAL = 91
192
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_GET_PEDESTAL] = "PRE_GET_PEDESTAL"
193
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 92
192
194
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
193
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 92
195
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 93
194
196
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
195
197
  return ____exports
@@ -27,6 +27,12 @@ export declare function filter<T>(array: T[], func: (value: T, index: number, ar
27
27
  * Internally, this just calls `array.find`.
28
28
  */
29
29
  export declare function find<T>(array: T[], func: (value: T, index: number, array: T[]) => boolean): T | undefined;
30
+ /**
31
+ * Helper function for non-TypeScript users to iterate over an array.
32
+ *
33
+ * Internally, this just calls `array.forEach`.
34
+ */
35
+ export declare function forEach<T>(array: T[], func: (value: T, index: number, array: T[]) => void): void;
30
36
  /**
31
37
  * Helper function for non-TypeScript users to check if an element is in an array.
32
38
  *
@@ -50,4 +56,11 @@ export declare function join<T>(array: T[], separator: string): string;
50
56
  * Internally, this just calls `array.map`.
51
57
  */
52
58
  export declare function map<T, U>(array: T[], func: (value: T, index: number, array: T[]) => U): U[];
59
+ /**
60
+ * Helper function for non-TypeScript users to check if one or more elements in the array is equal
61
+ * to a condition.
62
+ *
63
+ * Internally, this just calls `array.some`.
64
+ */
65
+ export declare function some<T>(array: T[], func: (value: T, index: number, array: T[]) => boolean): boolean;
53
66
  //# sourceMappingURL=arrayLua.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrayLua.d.ts","sourceRoot":"","sources":["../../../src/functions/arrayLua.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,CAAC,EAAE,CAEL;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,CAAC,GAAG,SAAS,CAEf;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAC/C,CAAC,EAAE,CAEL"}
1
+ {"version":3,"file":"arrayLua.d.ts","sourceRoot":"","sources":["../../../src/functions/arrayLua.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,CAAC,EAAE,CAEL;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,CAAC,GAAG,SAAS,CAEf;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,GAClD,IAAI,CAEN;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAC/C,CAAC,EAAE,CAEL;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,GACrD,OAAO,CAET"}
@@ -2,9 +2,11 @@ local ____lualib = require("lualib_bundle")
2
2
  local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
3
3
  local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
4
4
  local __TS__ArrayFind = ____lualib.__TS__ArrayFind
5
+ local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
5
6
  local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
6
7
  local __TS__ArrayJoin = ____lualib.__TS__ArrayJoin
7
8
  local __TS__ArrayMap = ____lualib.__TS__ArrayMap
9
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
8
10
  local ____exports = {}
9
11
  --- Helper function for non-TypeScript users to check if every element in the array is equal to a
10
12
  -- condition.
@@ -26,6 +28,12 @@ end
26
28
  function ____exports.find(self, array, func)
27
29
  return __TS__ArrayFind(array, func)
28
30
  end
31
+ --- Helper function for non-TypeScript users to iterate over an array.
32
+ --
33
+ -- Internally, this just calls `array.forEach`.
34
+ function ____exports.forEach(self, array, func)
35
+ __TS__ArrayForEach(array, func)
36
+ end
29
37
  --- Helper function for non-TypeScript users to check if an element is in an array.
30
38
  --
31
39
  -- Since this takes O(N) time, using this function is usually a mistake, since you can use a `Map`
@@ -49,4 +57,11 @@ end
49
57
  function ____exports.map(self, array, func)
50
58
  return __TS__ArrayMap(array, func)
51
59
  end
60
+ --- Helper function for non-TypeScript users to check if one or more elements in the array is equal
61
+ -- to a condition.
62
+ --
63
+ -- Internally, this just calls `array.some`.
64
+ function ____exports.some(self, array, func)
65
+ return __TS__ArraySome(array, func)
66
+ end
52
67
  return ____exports
@@ -21,7 +21,7 @@ export declare function anyPlayerCloserThan(position: Vector, distance: float):
21
21
  * with anything, then it will be returned.
22
22
  * @param avoidActiveEntities Optional. Default is false.
23
23
  */
24
- export declare function findFreePosition(startingPosition: Vector, avoidActiveEntities?: boolean): Vector;
24
+ export declare function findFreePosition(startingPosition: Vector, avoidActiveEntities?: boolean, minimumDistance?: float): Vector;
25
25
  /**
26
26
  * Helper function to get a map containing the positions of every entity in the current room.
27
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"positionVelocity.d.ts","sourceRoot":"","sources":["../../../src/functions/positionVelocity.ts"],"names":[],"mappings":";;;;AAaA,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,GACZ,OAAO,CAIT;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,KAAK,GACd,OAAO,CAKT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,UAAQ,GAC1B,MAAM,CAiCR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAY5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAY7E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,IAAI,CAYN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,IAAI,CAYN"}
1
+ {"version":3,"file":"positionVelocity.d.ts","sourceRoot":"","sources":["../../../src/functions/positionVelocity.ts"],"names":[],"mappings":";;;;AAaA,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,GACZ,OAAO,CAIT;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,KAAK,GACd,OAAO,CAKT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,UAAQ,EAC3B,eAAe,CAAC,EAAE,KAAK,GACtB,MAAM,CAwCR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAY5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAY7E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,IAAI,CAYN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,IAAI,CAYN"}
@@ -45,7 +45,7 @@ end
45
45
  -- @param startingPosition The position to start searching from. If this position is not overlapping
46
46
  -- with anything, then it will be returned.
47
47
  -- @param avoidActiveEntities Optional. Default is false.
48
- function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities)
48
+ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities, minimumDistance)
49
49
  if avoidActiveEntities == nil then
50
50
  avoidActiveEntities = false
51
51
  end
@@ -64,6 +64,12 @@ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntitie
64
64
  if isCloseHeavenDoor then
65
65
  goto __continue7
66
66
  end
67
+ if minimumDistance ~= nil then
68
+ local distance = startingPosition:Distance(position)
69
+ if distance < minimumDistance then
70
+ goto __continue7
71
+ end
72
+ end
67
73
  return position
68
74
  end
69
75
  ::__continue7::
@@ -1 +1 @@
1
- {"version":3,"file":"initCustomCallbacks.d.ts","sourceRoot":"","sources":["../../src/initCustomCallbacks.ts"],"names":[],"mappings":"AAuEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAwE1D"}
1
+ {"version":3,"file":"initCustomCallbacks.d.ts","sourceRoot":"","sources":["../../src/initCustomCallbacks.ts"],"names":[],"mappings":"AAwEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAyE1D"}
@@ -137,6 +137,8 @@ local ____postTrinketBreak = require("src.callbacks.postTrinketBreak")
137
137
  local postTrinketBreakInit = ____postTrinketBreak.postTrinketBreakInit
138
138
  local ____preBerserkDeath = require("src.callbacks.preBerserkDeath")
139
139
  local preBerserkDeathInit = ____preBerserkDeath.preBerserkDeathInit
140
+ local ____preGetPedestal = require("src.callbacks.preGetPedestal")
141
+ local preGetPedestalInit = ____preGetPedestal.preGetPedestalInit
140
142
  local ____preNewLevel = require("src.callbacks.preNewLevel")
141
143
  local preNewLevelInit = ____preNewLevel.preNewLevelInit
142
144
  local ____reorderedCallbacks = require("src.callbacks.reorderedCallbacks")
@@ -211,6 +213,7 @@ function ____exports.initCustomCallbacks(self, mod)
211
213
  postTransformationInit(nil, mod)
212
214
  postTrinketBreakInit(nil, mod)
213
215
  preBerserkDeathInit(nil, mod)
216
+ preGetPedestalInit(nil, mod)
214
217
  preNewLevelInit(nil, mod)
215
218
  reorderedCallbacksInit(nil, mod)
216
219
  end
@@ -89,6 +89,7 @@ import { PostTransformationRegisterParameters } from "../../callbacks/subscripti
89
89
  import { PostTrinketBreakRegisterParameters } from "../../callbacks/subscriptions/postTrinketBreak";
90
90
  import { PreBerserkDeathRegisterParameters } from "../../callbacks/subscriptions/preBerserkDeath";
91
91
  import { PreCustomReviveRegisterParameters } from "../../callbacks/subscriptions/preCustomRevive";
92
+ import { PreGetPedestalRegisterParameters } from "../../callbacks/subscriptions/preGetPedestal";
92
93
  import { PreItemPickupRegisterParameters } from "../../callbacks/subscriptions/preItemPickup";
93
94
  import { PreNewLevelRegisterParameters } from "../../callbacks/subscriptions/preNewLevel";
94
95
  import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
@@ -184,6 +185,7 @@ export interface AddCallbackParameterCustom {
184
185
  [ModCallbackCustom.POST_TRINKET_BREAK]: PostTrinketBreakRegisterParameters;
185
186
  [ModCallbackCustom.PRE_BERSERK_DEATH]: PreBerserkDeathRegisterParameters;
186
187
  [ModCallbackCustom.PRE_CUSTOM_REVIVE]: PreCustomReviveRegisterParameters;
188
+ [ModCallbackCustom.PRE_GET_PEDESTAL]: PreGetPedestalRegisterParameters;
187
189
  [ModCallbackCustom.PRE_ITEM_PICKUP]: PreItemPickupRegisterParameters;
188
190
  [ModCallbackCustom.PRE_NEW_LEVEL]: PreNewLevelRegisterParameters;
189
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AddCallbackParameterCustom.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/private/AddCallbackParameterCustom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddCallbackParameterCustom.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/private/AddCallbackParameterCustom.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"callbackRegisterFunctions.d.ts","sourceRoot":"","sources":["../../../src/objects/callbackRegisterFunctions.ts"],"names":[],"mappings":"AA6FA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,eAAO,MAAM,2BAA2B,EAAE;IACxC,QAAQ,EAAE,GAAG,IAAI,iBAAiB,GAAG,CACnC,GAAG,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACrC,IAAI;CAoHD,CAAC"}
1
+ {"version":3,"file":"callbackRegisterFunctions.d.ts","sourceRoot":"","sources":["../../../src/objects/callbackRegisterFunctions.ts"],"names":[],"mappings":"AA8FA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,eAAO,MAAM,2BAA2B,EAAE;IACxC,QAAQ,EAAE,GAAG,IAAI,iBAAiB,GAAG,CACnC,GAAG,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACrC,IAAI;CAqHD,CAAC"}
@@ -181,6 +181,8 @@ local ____preBerserkDeath = require("src.callbacks.subscriptions.preBerserkDeath
181
181
  local preBerserkDeathRegister = ____preBerserkDeath.preBerserkDeathRegister
182
182
  local ____preCustomRevive = require("src.callbacks.subscriptions.preCustomRevive")
183
183
  local preCustomReviveRegister = ____preCustomRevive.preCustomReviveRegister
184
+ local ____preGetPedestal = require("src.callbacks.subscriptions.preGetPedestal")
185
+ local preGetPedestalRegister = ____preGetPedestal.preGetPedestalRegister
184
186
  local ____preItemPickup = require("src.callbacks.subscriptions.preItemPickup")
185
187
  local preItemPickupRegister = ____preItemPickup.preItemPickupRegister
186
188
  local ____preNewLevel = require("src.callbacks.subscriptions.preNewLevel")
@@ -279,6 +281,7 @@ ____exports.CALLBACK_REGISTER_FUNCTIONS = {
279
281
  [ModCallbackCustom.POST_TRINKET_BREAK] = postTrinketBreakRegister,
280
282
  [ModCallbackCustom.PRE_BERSERK_DEATH] = preBerserkDeathRegister,
281
283
  [ModCallbackCustom.PRE_CUSTOM_REVIVE] = preCustomReviveRegister,
284
+ [ModCallbackCustom.PRE_GET_PEDESTAL] = preGetPedestalRegister,
282
285
  [ModCallbackCustom.PRE_ITEM_PICKUP] = preItemPickupRegister,
283
286
  [ModCallbackCustom.PRE_NEW_LEVEL] = preNewLevelRegister
284
287
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "9.19.1",
3
+ "version": "9.20.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -22,6 +22,6 @@
22
22
  "main": "dist/src/index",
23
23
  "types": "dist/src/index.d.ts",
24
24
  "dependencies": {
25
- "isaac-typescript-definitions": "^5.0.4"
25
+ "isaac-typescript-definitions": "^6.0.0"
26
26
  }
27
27
  }
@@ -0,0 +1,60 @@
1
+ import {
2
+ CollectibleType,
3
+ ModCallback,
4
+ PickupVariant,
5
+ } from "isaac-typescript-definitions";
6
+ import {
7
+ preGetPedestalFire,
8
+ preGetPedestalHasSubscriptions,
9
+ } from "./subscriptions/preGetPedestal";
10
+
11
+ export function preGetPedestalInit(mod: Mod): void {
12
+ mod.AddCallback(
13
+ ModCallback.PRE_PICKUP_COLLISION,
14
+ prePickupCollision,
15
+ PickupVariant.COLLECTIBLE,
16
+ ); // 38
17
+ }
18
+
19
+ function hasSubscriptions() {
20
+ return preGetPedestalHasSubscriptions();
21
+ }
22
+
23
+ // ModCallback.PRE_PICKUP_COLLISION (35)
24
+ function prePickupCollision(
25
+ pickup: EntityPickup,
26
+ collider: Entity,
27
+ _low: boolean,
28
+ ): boolean | undefined {
29
+ if (!hasSubscriptions()) {
30
+ return undefined;
31
+ }
32
+
33
+ const collectible = pickup as EntityPickupCollectible;
34
+
35
+ if (collectible.SubType === CollectibleType.NULL) {
36
+ return undefined;
37
+ }
38
+
39
+ const player = collider.ToPlayer();
40
+ if (player === undefined) {
41
+ return undefined;
42
+ }
43
+
44
+ const numCoins = player.GetNumCoins();
45
+ if (collectible.Price > numCoins) {
46
+ return undefined;
47
+ }
48
+
49
+ // Collectibles have a special variable to prevent them from being picked up for a certain time.
50
+ // Players have special variable to prevent them from picking up a collectible for a certain time.
51
+ if (collectible.Wait > 0 || player.ItemHoldCooldown > 0) {
52
+ return undefined;
53
+ }
54
+
55
+ if (player.IsHoldingItem()) {
56
+ return undefined;
57
+ }
58
+
59
+ return preGetPedestalFire(player, collectible);
60
+ }
@@ -0,0 +1,55 @@
1
+ import { PlayerType, PlayerVariant } from "isaac-typescript-definitions";
2
+
3
+ export type PreGetPedestalRegisterParameters = [
4
+ callback: (
5
+ player: EntityPlayer,
6
+ collectible: EntityPickupCollectible,
7
+ ) => boolean | undefined,
8
+ playerVariant?: PlayerVariant,
9
+ character?: PlayerType,
10
+ ];
11
+
12
+ const subscriptions: PreGetPedestalRegisterParameters[] = [];
13
+
14
+ export function preGetPedestalHasSubscriptions(): boolean {
15
+ return subscriptions.length > 0;
16
+ }
17
+
18
+ export function preGetPedestalRegister(
19
+ ...args: PreGetPedestalRegisterParameters
20
+ ): void {
21
+ subscriptions.push(args);
22
+ }
23
+
24
+ export function preGetPedestalFire(
25
+ player: EntityPlayer,
26
+ collectible: EntityPickupCollectible,
27
+ ): boolean | undefined {
28
+ const character = player.GetPlayerType();
29
+
30
+ for (const [
31
+ callback,
32
+ callbackPlayerVariant,
33
+ callbackCharacter,
34
+ ] of subscriptions) {
35
+ // Handle the optional 2nd callback argument.
36
+ if (
37
+ callbackPlayerVariant !== undefined &&
38
+ callbackPlayerVariant !== player.Variant
39
+ ) {
40
+ continue;
41
+ }
42
+
43
+ // Handle the optional 3rd callback argument.
44
+ if (callbackCharacter !== undefined && callbackCharacter !== character) {
45
+ continue;
46
+ }
47
+
48
+ const returnValue = callback(player, collectible);
49
+ if (returnValue !== undefined) {
50
+ return returnValue;
51
+ }
52
+ }
53
+
54
+ return undefined;
55
+ }
@@ -1492,6 +1492,26 @@ export enum ModCallbackCustom {
1492
1492
  */
1493
1493
  PRE_CUSTOM_REVIVE,
1494
1494
 
1495
+ /**
1496
+ * Fires from the `PRE_PICKUP_COLLISION` callback when a player touches a collectible pedestal and
1497
+ * meets all of the conditions to pick it up.
1498
+ *
1499
+ * The return values of this callback are the same as the `PRE_PICKUP_COLLISION` callback. For
1500
+ * example, you can prevent a player from picking up the collectible by returning false. (However,
1501
+ * note that this callback will continue to fire for every frame that the player touches the
1502
+ * pedestal, so you would need to continue returning false.)
1503
+ *
1504
+ * - When registering the callback, takes an optional second argument that will make the callback
1505
+ * only fire if the player matches the `PlayerVariant` provided.
1506
+ * - When registering the callback, takes an optional third argument that will make the callback
1507
+ * only fire if the player matches the `PlayerType` provided.
1508
+ *
1509
+ * ```ts
1510
+ * function preGetPedestal(player: EntityPlayer, collectible: EntityPickupCollectible): void {}
1511
+ * ```
1512
+ */
1513
+ PRE_GET_PEDESTAL,
1514
+
1495
1515
  /**
1496
1516
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the player
1497
1517
  * begins to hold the item above their head).
@@ -46,6 +46,18 @@ export function find<T>(
46
46
  return array.find(func);
47
47
  }
48
48
 
49
+ /**
50
+ * Helper function for non-TypeScript users to iterate over an array.
51
+ *
52
+ * Internally, this just calls `array.forEach`.
53
+ */
54
+ export function forEach<T>(
55
+ array: T[],
56
+ func: (value: T, index: number, array: T[]) => void,
57
+ ): void {
58
+ array.forEach(func);
59
+ }
60
+
49
61
  /**
50
62
  * Helper function for non-TypeScript users to check if an element is in an array.
51
63
  *
@@ -80,3 +92,16 @@ export function map<T, U>(
80
92
  ): U[] {
81
93
  return array.map(func);
82
94
  }
95
+
96
+ /**
97
+ * Helper function for non-TypeScript users to check if one or more elements in the array is equal
98
+ * to a condition.
99
+ *
100
+ * Internally, this just calls `array.some`.
101
+ */
102
+ export function some<T>(
103
+ array: T[],
104
+ func: (value: T, index: number, array: T[]) => boolean,
105
+ ): boolean {
106
+ return array.some(func);
107
+ }
@@ -51,6 +51,7 @@ export function anyPlayerCloserThan(
51
51
  export function findFreePosition(
52
52
  startingPosition: Vector,
53
53
  avoidActiveEntities = false,
54
+ minimumDistance?: float,
54
55
  ): Vector {
55
56
  const room = game.GetRoom();
56
57
  const heavenDoors = getEffects(
@@ -79,6 +80,13 @@ export function findFreePosition(
79
80
  continue;
80
81
  }
81
82
 
83
+ if (minimumDistance !== undefined) {
84
+ const distance = startingPosition.Distance(position);
85
+ if (distance < minimumDistance) {
86
+ continue;
87
+ }
88
+ }
89
+
82
90
  return position;
83
91
  }
84
92
 
@@ -67,6 +67,7 @@ import { postTNTUpdateInit } from "./callbacks/postTNTUpdate";
67
67
  import { postTransformationInit } from "./callbacks/postTransformation";
68
68
  import { postTrinketBreakInit } from "./callbacks/postTrinketBreak";
69
69
  import { preBerserkDeathInit } from "./callbacks/preBerserkDeath";
70
+ import { preGetPedestalInit } from "./callbacks/preGetPedestal";
70
71
  import { preNewLevelInit } from "./callbacks/preNewLevel";
71
72
  import { reorderedCallbacksInit } from "./callbacks/reorderedCallbacks";
72
73
  import { ModUpgraded } from "./classes/ModUpgraded";
@@ -141,6 +142,7 @@ export function initCustomCallbacks(mod: ModUpgraded): void {
141
142
  postTransformationInit(mod);
142
143
  postTrinketBreakInit(mod);
143
144
  preBerserkDeathInit(mod);
145
+ preGetPedestalInit(mod);
144
146
  preNewLevelInit(mod);
145
147
  reorderedCallbacksInit(mod);
146
148
  }
@@ -89,6 +89,7 @@ import { PostTransformationRegisterParameters } from "../../callbacks/subscripti
89
89
  import { PostTrinketBreakRegisterParameters } from "../../callbacks/subscriptions/postTrinketBreak";
90
90
  import { PreBerserkDeathRegisterParameters } from "../../callbacks/subscriptions/preBerserkDeath";
91
91
  import { PreCustomReviveRegisterParameters } from "../../callbacks/subscriptions/preCustomRevive";
92
+ import { PreGetPedestalRegisterParameters } from "../../callbacks/subscriptions/preGetPedestal";
92
93
  import { PreItemPickupRegisterParameters } from "../../callbacks/subscriptions/preItemPickup";
93
94
  import { PreNewLevelRegisterParameters } from "../../callbacks/subscriptions/preNewLevel";
94
95
  import { ModCallbackCustom } from "../../enums/ModCallbackCustom";
@@ -185,6 +186,7 @@ export interface AddCallbackParameterCustom {
185
186
  [ModCallbackCustom.POST_TRINKET_BREAK]: PostTrinketBreakRegisterParameters;
186
187
  [ModCallbackCustom.PRE_BERSERK_DEATH]: PreBerserkDeathRegisterParameters;
187
188
  [ModCallbackCustom.PRE_CUSTOM_REVIVE]: PreCustomReviveRegisterParameters;
189
+ [ModCallbackCustom.PRE_GET_PEDESTAL]: PreGetPedestalRegisterParameters;
188
190
  [ModCallbackCustom.PRE_ITEM_PICKUP]: PreItemPickupRegisterParameters;
189
191
  [ModCallbackCustom.PRE_NEW_LEVEL]: PreNewLevelRegisterParameters;
190
192
  }
@@ -89,6 +89,7 @@ import { postTransformationRegister } from "../callbacks/subscriptions/postTrans
89
89
  import { postTrinketBreakRegister } from "../callbacks/subscriptions/postTrinketBreak";
90
90
  import { preBerserkDeathRegister } from "../callbacks/subscriptions/preBerserkDeath";
91
91
  import { preCustomReviveRegister } from "../callbacks/subscriptions/preCustomRevive";
92
+ import { preGetPedestalRegister } from "../callbacks/subscriptions/preGetPedestal";
92
93
  import { preItemPickupRegister } from "../callbacks/subscriptions/preItemPickup";
93
94
  import { preNewLevelRegister } from "../callbacks/subscriptions/preNewLevel";
94
95
  import { ModCallbackCustom } from "../enums/ModCallbackCustom";
@@ -211,6 +212,7 @@ export const CALLBACK_REGISTER_FUNCTIONS: {
211
212
  [ModCallbackCustom.POST_TRINKET_BREAK]: postTrinketBreakRegister,
212
213
  [ModCallbackCustom.PRE_BERSERK_DEATH]: preBerserkDeathRegister,
213
214
  [ModCallbackCustom.PRE_CUSTOM_REVIVE]: preCustomReviveRegister,
215
+ [ModCallbackCustom.PRE_GET_PEDESTAL]: preGetPedestalRegister,
214
216
  [ModCallbackCustom.PRE_ITEM_PICKUP]: preItemPickupRegister,
215
217
  [ModCallbackCustom.PRE_NEW_LEVEL]: preNewLevelRegister,
216
218
  } as const;