isaacscript-common 9.19.2 → 10.0.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 (58) hide show
  1. package/dist/index.d.ts +49 -6
  2. package/dist/isaacscript-common.lua +173 -47
  3. package/dist/lualib_bundle.lua +53 -37
  4. package/dist/package.lua +2 -2
  5. package/dist/src/callbacks/preGetPedestal.d.ts +3 -0
  6. package/dist/src/callbacks/preGetPedestal.d.ts.map +1 -0
  7. package/dist/src/callbacks/preGetPedestal.lua +40 -0
  8. package/dist/src/callbacks/subscriptions/preGetPedestal.d.ts +10 -0
  9. package/dist/src/callbacks/subscriptions/preGetPedestal.d.ts.map +1 -0
  10. package/dist/src/callbacks/subscriptions/preGetPedestal.lua +32 -0
  11. package/dist/src/enums/ModCallbackCustom.d.ts +21 -2
  12. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  13. package/dist/src/enums/ModCallbackCustom.lua +4 -2
  14. package/dist/src/features/saveDataManager/load.d.ts +1 -1
  15. package/dist/src/features/saveDataManager/maps.d.ts +1 -1
  16. package/dist/src/features/saveDataManager/merge.d.ts +1 -1
  17. package/dist/src/features/saveDataManager/save.d.ts +1 -1
  18. package/dist/src/functions/arrayLua.d.ts +13 -0
  19. package/dist/src/functions/arrayLua.d.ts.map +1 -1
  20. package/dist/src/functions/arrayLua.lua +15 -0
  21. package/dist/src/functions/bitSet128.d.ts +1 -1
  22. package/dist/src/functions/color.d.ts +1 -1
  23. package/dist/src/functions/entities.d.ts +1 -1
  24. package/dist/src/functions/globals.d.ts +1 -1
  25. package/dist/src/functions/jsonHelpers.d.ts +1 -1
  26. package/dist/src/functions/kColor.d.ts +1 -1
  27. package/dist/src/functions/log.d.ts +2 -2
  28. package/dist/src/functions/log.d.ts.map +1 -1
  29. package/dist/src/functions/positionVelocity.d.ts +3 -1
  30. package/dist/src/functions/positionVelocity.d.ts.map +1 -1
  31. package/dist/src/functions/positionVelocity.lua +9 -1
  32. package/dist/src/functions/rng.d.ts +1 -1
  33. package/dist/src/functions/table.d.ts +2 -2
  34. package/dist/src/functions/table.d.ts.map +1 -1
  35. package/dist/src/functions/table.lua +5 -2
  36. package/dist/src/functions/tstlClass.d.ts +1 -1
  37. package/dist/src/functions/types.d.ts +1 -1
  38. package/dist/src/functions/vector.d.ts +1 -1
  39. package/dist/src/initCustomCallbacks.d.ts.map +1 -1
  40. package/dist/src/initCustomCallbacks.lua +3 -0
  41. package/dist/src/interfaces/private/AddCallbackParameterCustom.d.ts +2 -0
  42. package/dist/src/interfaces/private/AddCallbackParameterCustom.d.ts.map +1 -1
  43. package/dist/src/interfaces/private/TSTLClassMetatable.d.ts +1 -1
  44. package/dist/src/objects/callbackRegisterFunctions.d.ts.map +1 -1
  45. package/dist/src/objects/callbackRegisterFunctions.lua +3 -0
  46. package/dist/src/types/SerializedIsaacAPIClass.d.ts +1 -1
  47. package/dist/src/types/TSTLClass.d.ts +1 -1
  48. package/package.json +2 -2
  49. package/src/callbacks/preGetPedestal.ts +60 -0
  50. package/src/callbacks/subscriptions/preGetPedestal.ts +55 -0
  51. package/src/enums/ModCallbackCustom.ts +20 -0
  52. package/src/functions/arrayLua.ts +25 -0
  53. package/src/functions/log.ts +8 -6
  54. package/src/functions/positionVelocity.ts +10 -0
  55. package/src/functions/table.ts +10 -4
  56. package/src/initCustomCallbacks.ts +2 -0
  57. package/src/interfaces/private/AddCallbackParameterCustom.ts +2 -0
  58. package/src/objects/callbackRegisterFunctions.ts +2 -0
@@ -45,7 +45,9 @@ 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
+ -- @param minimumDistance Optional. If specified, will ensure that the randomly generated position
49
+ -- is equal to or greater than the distance provided.
50
+ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntities, minimumDistance)
49
51
  if avoidActiveEntities == nil then
50
52
  avoidActiveEntities = false
51
53
  end
@@ -64,6 +66,12 @@ function ____exports.findFreePosition(self, startingPosition, avoidActiveEntitie
64
66
  if isCloseHeavenDoor then
65
67
  goto __continue7
66
68
  end
69
+ if minimumDistance ~= nil then
70
+ local distance = startingPosition:Distance(position)
71
+ if distance < minimumDistance then
72
+ goto __continue7
73
+ end
74
+ end
67
75
  return position
68
76
  end
69
77
  ::__continue7::
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  /// <reference types="isaac-typescript-definitions" />
3
3
  /// <reference types="isaac-typescript-definitions" />
4
4
  export declare type SerializedRNG = LuaMap<string, unknown> & {
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  /**
3
3
  * In a `Map`, you can use the `clear` method to delete every element. However, in a `LuaMap`, the
4
4
  * `clear` method does not exist. Use this helper function as a drop-in replacement for this.
@@ -42,7 +42,7 @@ export declare function getStringsFromTable(luaMap: LuaMap<string, unknown>, obj
42
42
  * false in situations where iterating randomly would not matter and you need the
43
43
  * extra performance.
44
44
  */
45
- export declare function iterateTableInOrder<K, V>(luaMap: LuaMap<K, V>, func: (key: K, value: V) => void, inOrder?: boolean): void;
45
+ export declare function iterateTableInOrder<K extends AnyNotNil, V>(luaMap: LuaMap<K, V>, func: (key: K, value: V) => void, inOrder?: boolean): void;
46
46
  /**
47
47
  * Helper function to check if a Lua table has all of the provided keys.
48
48
  *
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/functions/table.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAInE;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,EAAE,CAoBX;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CA4BV;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CAmBV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,EAChC,OAAO,UAAO,GACb,IAAI,CA6BN;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAClC,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAET"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/functions/table.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAInE;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAaN;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,EAAE,CAoBX;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CA4BV;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CAmBV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACxD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,EAChC,OAAO,UAAO,GACb,IAAI,CA6BN;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAClC,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAET"}
@@ -8,6 +8,7 @@ local ____types = require("src.functions.types")
8
8
  local isBoolean = ____types.isBoolean
9
9
  local isNumber = ____types.isNumber
10
10
  local isString = ____types.isString
11
+ local isTable = ____types.isTable
11
12
  --- In a `Map`, you can use the `clear` method to delete every element. However, in a `LuaMap`, the
12
13
  -- `clear` method does not exist. Use this helper function as a drop-in replacement for this.
13
14
  function ____exports.clearTable(self, luaMap)
@@ -17,9 +18,11 @@ function ____exports.clearTable(self, luaMap)
17
18
  end
18
19
  --- Helper function to copy specific values from a object to a table.
19
20
  function ____exports.copyValuesToTable(self, object, keys, luaMap)
20
- local otherTable = object
21
+ if not isTable(nil, object) then
22
+ error("Failed to copy an object values to a table, since the object was of type: " .. type(object))
23
+ end
21
24
  for ____, key in ipairs(keys) do
22
- local value = otherTable[key]
25
+ local value = object[key]
23
26
  luaMap[key] = value
24
27
  end
25
28
  end
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  import { DefaultMap } from "../classes/DefaultMap";
3
3
  import { TSTLClass } from "../types/TSTLClass";
4
4
  /**
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  /// <reference types="lua-types/5.3" />
3
3
  import { CardType, CollectibleType, LevelStage, NpcState, PillColor, PillEffect, PlayerType, TrinketType } from "isaac-typescript-definitions";
4
4
  /**
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  import { Direction } from "isaac-typescript-definitions";
3
3
  export declare type SerializedVector = LuaMap<string, unknown> & {
4
4
  readonly __serializedVectorBrand: symbol;
@@ -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,7 +1,7 @@
1
1
  /// <reference types="lua-types/5.3" />
2
2
  /// <reference types="lua-types/5.3" />
3
3
  /// <reference types="lua-types/5.3" />
4
- /// <reference types="typescript-to-lua/language-extensions" />
4
+ /// <reference types="@typescript-to-lua/language-extensions" />
5
5
  export interface TSTLClassMetatable {
6
6
  ____constructor: () => void;
7
7
  __index: unknown;
@@ -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
  }
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  /**
3
3
  * This is a type representing an Isaac API class like `Color` or `RNG` that has been written to the
4
4
  * "save#.dat" file. It is used by the save data manager when reading and writing to that file.
@@ -1,4 +1,4 @@
1
- /// <reference types="typescript-to-lua/language-extensions" />
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
2
  /**
3
3
  * This is a type representing a user-created class from TypeScript code.
4
4
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "9.19.2",
3
+ "version": "10.0.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.5"
25
+ "isaac-typescript-definitions": "^7.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
+ }
@@ -402,7 +402,7 @@ export function logTable(luaTable: unknown, parentTables = 0): void {
402
402
  * Helper function to print out the differences between the entries of two tables. Note that this
403
403
  * will only do a shallow comparison.
404
404
  */
405
- export function logTableDifferences<K, V>(
405
+ export function logTableDifferences<K extends AnyNotNil, V>(
406
406
  table1: LuaMap<K, V>,
407
407
  table2: LuaMap<K, V>,
408
408
  ): void {
@@ -420,13 +420,17 @@ export function logTableDifferences<K, V>(
420
420
 
421
421
  for (const key of keys) {
422
422
  if (!table1KeysSet.has(key)) {
423
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
423
424
  log(` Table 1 is missing key: ${key}`);
424
425
  } else if (!table2KeysSet.has(key)) {
426
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
425
427
  log(` Table 2 is missing key: ${key}`);
426
428
  } else {
427
- const value1 = table1.get(key as unknown as K);
428
- const value2 = table2.get(key as unknown as K);
429
+ const value1 = table1.get(key);
430
+
431
+ const value2 = table2.get(key);
429
432
  if (value1 !== value2) {
433
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
430
434
  log(` ${key} --> "${value1}" versus "${value2}"`);
431
435
  }
432
436
  }
@@ -453,9 +457,7 @@ export function logUserdata(userdata: unknown): void {
453
457
  return;
454
458
  }
455
459
 
456
- const metatable = getmetatable(userdata) as
457
- | LuaMap<AnyNotNil, unknown>
458
- | undefined;
460
+ const metatable = getmetatable(userdata);
459
461
  if (metatable === undefined) {
460
462
  log("Userdata: [no metatable]");
461
463
  return;
@@ -47,10 +47,13 @@ export function anyPlayerCloserThan(
47
47
  * @param startingPosition The position to start searching from. If this position is not overlapping
48
48
  * with anything, then it will be returned.
49
49
  * @param avoidActiveEntities Optional. Default is false.
50
+ * @param minimumDistance Optional. If specified, will ensure that the randomly generated position
51
+ * is equal to or greater than the distance provided.
50
52
  */
51
53
  export function findFreePosition(
52
54
  startingPosition: Vector,
53
55
  avoidActiveEntities = false,
56
+ minimumDistance?: float,
54
57
  ): Vector {
55
58
  const room = game.GetRoom();
56
59
  const heavenDoors = getEffects(
@@ -79,6 +82,13 @@ export function findFreePosition(
79
82
  continue;
80
83
  }
81
84
 
85
+ if (minimumDistance !== undefined) {
86
+ const distance = startingPosition.Distance(position);
87
+ if (distance < minimumDistance) {
88
+ continue;
89
+ }
90
+ }
91
+
82
92
  return position;
83
93
  }
84
94
 
@@ -1,4 +1,4 @@
1
- import { isBoolean, isNumber, isString } from "./types";
1
+ import { isBoolean, isNumber, isString, isTable } from "./types";
2
2
 
3
3
  /**
4
4
  * In a `Map`, you can use the `clear` method to delete every element. However, in a `LuaMap`, the
@@ -16,10 +16,16 @@ export function copyValuesToTable(
16
16
  keys: string[],
17
17
  luaMap: LuaMap<string, unknown>,
18
18
  ): void {
19
- const otherTable = object as LuaMap<string, string | number>;
19
+ if (!isTable(object)) {
20
+ error(
21
+ `Failed to copy an object values to a table, since the object was of type: ${type(
22
+ object,
23
+ )}`,
24
+ );
25
+ }
20
26
 
21
27
  for (const key of keys) {
22
- const value = otherTable.get(key);
28
+ const value = object.get(key);
23
29
  luaMap.set(key, value);
24
30
  }
25
31
  }
@@ -142,7 +148,7 @@ export function getStringsFromTable(
142
148
  * false in situations where iterating randomly would not matter and you need the
143
149
  * extra performance.
144
150
  */
145
- export function iterateTableInOrder<K, V>(
151
+ export function iterateTableInOrder<K extends AnyNotNil, V>(
146
152
  luaMap: LuaMap<K, V>,
147
153
  func: (key: K, value: V) => void,
148
154
  inOrder = true,
@@ -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;