isaacscript-common 75.2.0 → 76.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 (42) hide show
  1. package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -1
  2. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  3. package/dist/classes/features/other/DeployJSONRoom.lua +6 -4
  4. package/dist/classes/features/other/SpawnRockAltRewards.lua +14 -14
  5. package/dist/classes/features/other/extraConsoleCommands/commands.lua +3 -3
  6. package/dist/enums/ISCFeature.d.ts +12 -14
  7. package/dist/enums/ISCFeature.d.ts.map +1 -1
  8. package/dist/enums/ISCFeature.lua +12 -16
  9. package/dist/features.d.ts +12 -18
  10. package/dist/features.d.ts.map +1 -1
  11. package/dist/features.lua +1 -9
  12. package/dist/functions/collectibles.d.ts +8 -0
  13. package/dist/functions/collectibles.d.ts.map +1 -1
  14. package/dist/functions/collectibles.lua +19 -0
  15. package/dist/functions/spawnCollectible.d.ts +28 -6
  16. package/dist/functions/spawnCollectible.d.ts.map +1 -1
  17. package/dist/functions/spawnCollectible.lua +50 -7
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.lua +8 -0
  21. package/dist/index.rollup.d.ts +73 -104
  22. package/dist/indexLua.d.ts +1 -0
  23. package/dist/indexLua.d.ts.map +1 -1
  24. package/dist/indexLua.lua +8 -0
  25. package/dist/isaacscript-common.lua +213 -329
  26. package/package.json +1 -1
  27. package/src/classes/features/other/DeployJSONRoom.ts +4 -12
  28. package/src/classes/features/other/SpawnRockAltRewards.ts +14 -14
  29. package/src/classes/features/other/extraConsoleCommands/commands.ts +3 -3
  30. package/src/enums/ISCFeature.ts +0 -2
  31. package/src/features.ts +1 -15
  32. package/src/functions/collectibles.ts +25 -0
  33. package/src/functions/spawnCollectible.ts +58 -8
  34. package/src/index.ts +1 -0
  35. package/dist/classes/features/other/PreventCollectibleRotation.d.ts +0 -28
  36. package/dist/classes/features/other/PreventCollectibleRotation.d.ts.map +0 -1
  37. package/dist/classes/features/other/PreventCollectibleRotation.lua +0 -112
  38. package/dist/classes/features/other/SpawnCollectible.d.ts +0 -58
  39. package/dist/classes/features/other/SpawnCollectible.d.ts.map +0 -1
  40. package/dist/classes/features/other/SpawnCollectible.lua +0 -68
  41. package/src/classes/features/other/PreventCollectibleRotation.ts +0 -205
  42. package/src/classes/features/other/SpawnCollectible.ts +0 -124
@@ -4,7 +4,6 @@ import type { JSONRoom } from "../../../interfaces/JSONRoomsFile";
4
4
  import { Feature } from "../../private/Feature";
5
5
  export declare class DeployJSONRoom extends Feature {
6
6
  private readonly preventGridEntityRespawn;
7
- private readonly spawnCollectible;
8
7
  private spawnAllEntities;
9
8
  private spawnNormalEntityForJSONRoom;
10
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DeployJSONRoom.d.ts","sourceRoot":"","sources":["../../../../src/classes/features/other/DeployJSONRoom.ts"],"names":[],"mappings":";;AA+BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQhD,qBAAa,cAAe,SAAQ,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IACpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAkBpD,OAAO,CAAC,gBAAgB;IA+FxB,OAAO,CAAC,4BAA4B;IAyCpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IAEI,cAAc,CACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EACvC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,OAAO,UAAQ,GACd,IAAI;CAwBR"}
1
+ {"version":3,"file":"DeployJSONRoom.d.ts","sourceRoot":"","sources":["../../../../src/classes/features/other/DeployJSONRoom.ts"],"names":[],"mappings":";;AAgCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOhD,qBAAa,cAAe,SAAQ,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IAWpE,OAAO,CAAC,gBAAgB;IA+FxB,OAAO,CAAC,4BAA4B;IAyCpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IAEI,cAAc,CACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EACvC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,OAAO,UAAQ,GACd,IAAI;CAwBR"}
@@ -44,6 +44,8 @@ local gridCoordinatesToWorldPosition = ____roomGrid.gridCoordinatesToWorldPositi
44
44
  local ____rooms = require("functions.rooms")
45
45
  local setRoomCleared = ____rooms.setRoomCleared
46
46
  local setRoomUncleared = ____rooms.setRoomUncleared
47
+ local ____spawnCollectible = require("functions.spawnCollectible")
48
+ local spawnCollectible = ____spawnCollectible.spawnCollectible
47
49
  local ____types = require("functions.types")
48
50
  local asCollectibleType = ____types.asCollectibleType
49
51
  local asNumber = ____types.asNumber
@@ -188,11 +190,10 @@ ____exports.DeployJSONRoom = __TS__Class()
188
190
  local DeployJSONRoom = ____exports.DeployJSONRoom
189
191
  DeployJSONRoom.name = "DeployJSONRoom"
190
192
  __TS__ClassExtends(DeployJSONRoom, Feature)
191
- function DeployJSONRoom.prototype.____constructor(self, preventGridEntityRespawn, spawnCollectible)
193
+ function DeployJSONRoom.prototype.____constructor(self, preventGridEntityRespawn)
192
194
  Feature.prototype.____constructor(self)
193
- self.featuresUsed = {ISCFeature.PREVENT_GRID_ENTITY_RESPAWN, ISCFeature.SPAWN_COLLECTIBLE}
195
+ self.featuresUsed = {ISCFeature.PREVENT_GRID_ENTITY_RESPAWN}
194
196
  self.preventGridEntityRespawn = preventGridEntityRespawn
195
- self.spawnCollectible = spawnCollectible
196
197
  end
197
198
  function DeployJSONRoom.prototype.spawnAllEntities(self, jsonRoom, rng, verbose)
198
199
  if verbose == nil then
@@ -274,7 +275,8 @@ function DeployJSONRoom.prototype.spawnNormalEntityForJSONRoom(self, entityType,
274
275
  local entity
275
276
  if entityType == EntityType.PICKUP and variant == asNumber(nil, PickupVariant.COLLECTIBLE) then
276
277
  local options = roomType == RoomType.ANGEL
277
- entity = self.spawnCollectible:spawnCollectible(
278
+ entity = spawnCollectible(
279
+ nil,
278
280
  asCollectibleType(nil, subType),
279
281
  position,
280
282
  seed,
@@ -41,7 +41,7 @@ local ____rng = require("functions.rng")
41
41
  local isRNG = ____rng.isRNG
42
42
  local newRNG = ____rng.newRNG
43
43
  local ____spawnCollectible = require("functions.spawnCollectible")
44
- local spawnCollectibleUnsafe = ____spawnCollectible.spawnCollectibleUnsafe
44
+ local spawnCollectible = ____spawnCollectible.spawnCollectible
45
45
  local ____utils = require("functions.utils")
46
46
  local ____repeat = ____utils["repeat"]
47
47
  local ____vector = require("functions.vector")
@@ -149,7 +149,7 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardUrn(self, position, rng
149
149
  if chance < totalChance then
150
150
  local stillInPools = self.itemPoolDetection:isCollectibleInItemPool(CollectibleType.QUARTER, ItemPoolType.DEVIL)
151
151
  if stillInPools then
152
- spawnCollectibleUnsafe(nil, CollectibleType.QUARTER, position, rng)
152
+ spawnCollectible(nil, CollectibleType.QUARTER, position, rng)
153
153
  return true
154
154
  end
155
155
  return false
@@ -199,7 +199,7 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardMushroom(self, position
199
199
  if wavyCapChance < 0.0272 then
200
200
  local stillInPools = self.itemPoolDetection:isCollectibleInItemPool(CollectibleType.WAVY_CAP, ItemPoolType.SECRET)
201
201
  if stillInPools then
202
- spawnCollectibleUnsafe(nil, CollectibleType.WAVY_CAP, position, rng)
202
+ spawnCollectible(nil, CollectibleType.WAVY_CAP, position, rng)
203
203
  return true
204
204
  end
205
205
  end
@@ -209,15 +209,15 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardMushroom(self, position
209
209
  if magicMushroomStillInPools and miniMushStillInPools then
210
210
  local collectibleChance = getRandom(nil, rng)
211
211
  local collectibleType = collectibleChance < 0.5 and CollectibleType.MAGIC_MUSHROOM or CollectibleType.MINI_MUSH
212
- spawnCollectibleUnsafe(nil, collectibleType, position, rng)
212
+ spawnCollectible(nil, collectibleType, position, rng)
213
213
  return true
214
214
  end
215
215
  if magicMushroomStillInPools then
216
- spawnCollectibleUnsafe(nil, CollectibleType.MINI_MUSH, position, rng)
216
+ spawnCollectible(nil, CollectibleType.MINI_MUSH, position, rng)
217
217
  return true
218
218
  end
219
219
  if miniMushStillInPools then
220
- spawnCollectibleUnsafe(nil, CollectibleType.MAGIC_MUSHROOM, position, rng)
220
+ spawnCollectible(nil, CollectibleType.MAGIC_MUSHROOM, position, rng)
221
221
  return true
222
222
  end
223
223
  return false
@@ -251,15 +251,15 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardSkull(self, position, r
251
251
  if ghostBabyStillInPools and dryBabyStillInPools then
252
252
  local collectibleChance = getRandom(nil, rng)
253
253
  local collectibleType = collectibleChance < 0.5 and CollectibleType.GHOST_BABY or CollectibleType.DRY_BABY
254
- spawnCollectibleUnsafe(nil, collectibleType, position, rng)
254
+ spawnCollectible(nil, collectibleType, position, rng)
255
255
  return true
256
256
  end
257
257
  if ghostBabyStillInPools then
258
- spawnCollectibleUnsafe(nil, CollectibleType.DRY_BABY, position, rng)
258
+ spawnCollectible(nil, CollectibleType.DRY_BABY, position, rng)
259
259
  return true
260
260
  end
261
261
  if dryBabyStillInPools then
262
- spawnCollectibleUnsafe(nil, CollectibleType.GHOST_BABY, position, rng)
262
+ spawnCollectible(nil, CollectibleType.GHOST_BABY, position, rng)
263
263
  return true
264
264
  end
265
265
  return false
@@ -299,15 +299,15 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardPolyp(self, position, r
299
299
  if placentaStillInPools and bloodClotStillInPools then
300
300
  local collectibleChance = getRandom(nil, rng)
301
301
  local collectibleType = collectibleChance < 0.5 and CollectibleType.PLACENTA or CollectibleType.BLOOD_CLOT
302
- spawnCollectibleUnsafe(nil, collectibleType, position, rng)
302
+ spawnCollectible(nil, collectibleType, position, rng)
303
303
  return true
304
304
  end
305
305
  if placentaStillInPools then
306
- spawnCollectibleUnsafe(nil, CollectibleType.PLACENTA, position, rng)
306
+ spawnCollectible(nil, CollectibleType.PLACENTA, position, rng)
307
307
  return true
308
308
  end
309
309
  if bloodClotStillInPools then
310
- spawnCollectibleUnsafe(nil, CollectibleType.BLOOD_CLOT, position, rng)
310
+ spawnCollectible(nil, CollectibleType.BLOOD_CLOT, position, rng)
311
311
  return true
312
312
  end
313
313
  return false
@@ -367,7 +367,7 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardBucketDownpour(self, po
367
367
  if chance < totalChance then
368
368
  local stillInPools = self.itemPoolDetection:isCollectibleInItemPool(CollectibleType.LEECH, ItemPoolType.TREASURE)
369
369
  if stillInPools then
370
- spawnCollectibleUnsafe(nil, CollectibleType.LEECH, position, rng)
370
+ spawnCollectible(nil, CollectibleType.LEECH, position, rng)
371
371
  return true
372
372
  end
373
373
  return false
@@ -434,7 +434,7 @@ function SpawnRockAltRewards.prototype.spawnRockAltRewardBucketDross(self, posit
434
434
  if chance < totalChance then
435
435
  local stillInPools = self.itemPoolDetection:isCollectibleInItemPool(CollectibleType.POOP, ItemPoolType.TREASURE)
436
436
  if stillInPools then
437
- spawnCollectibleUnsafe(nil, CollectibleType.POOP, position, rng)
437
+ spawnCollectible(nil, CollectibleType.POOP, position, rng)
438
438
  return true
439
439
  end
440
440
  return false
@@ -99,7 +99,7 @@ local onSetSeed = ____run.onSetSeed
99
99
  local restart = ____run.restart
100
100
  local setUnseeded = ____run.setUnseeded
101
101
  local ____spawnCollectible = require("functions.spawnCollectible")
102
- local spawnCollectibleUnsafe = ____spawnCollectible.spawnCollectibleUnsafe
102
+ local spawnCollectibleFunc = ____spawnCollectible.spawnCollectible
103
103
  local ____stage = require("functions.stage")
104
104
  local onStage = ____stage.onStage
105
105
  local setStage = ____stage.setStage
@@ -258,7 +258,7 @@ function ____exports.spawnCollectible(self, params)
258
258
  end
259
259
  local roomClass = game:GetRoom()
260
260
  local centerPos = roomClass:GetCenterPos()
261
- spawnCollectibleUnsafe(nil, collectibleType, centerPos, nil)
261
+ spawnCollectibleFunc(nil, collectibleType, centerPos, nil)
262
262
  end
263
263
  --- The same thing as the `spawnTrinket` command but spawns a golden version of the specified
264
264
  -- trinket.
@@ -1309,7 +1309,7 @@ function ____exports.spawnCollectibleAt(self, params)
1309
1309
  return
1310
1310
  end
1311
1311
  local collectibleType = asCollectibleType(nil, collectibleTypeNumber)
1312
- spawnCollectibleUnsafe(nil, collectibleType, gridIndex, nil)
1312
+ spawnCollectibleFunc(nil, collectibleType, gridIndex, nil)
1313
1313
  end
1314
1314
  --- Alias for the `spawnGoldenTrinket` command.
1315
1315
  function ____exports.spawnGoldTrinket(self, params)
@@ -43,19 +43,17 @@ export declare enum ISCFeature {
43
43
  PONY_DETECTION = 41,
44
44
  PRESS_INPUT = 42,
45
45
  PREVENT_CHILD_ENTITIES = 43,
46
- PREVENT_COLLECTIBLE_ROTATION = 44,
47
- PREVENT_GRID_ENTITY_RESPAWN = 45,
48
- ROOM_CLEAR_FRAME = 46,
49
- ROOM_HISTORY = 47,
50
- RUN_IN_N_FRAMES = 48,
51
- RUN_NEXT_ROOM = 49,
52
- RUN_NEXT_RUN = 50,
53
- SAVE_DATA_MANAGER = 51,
54
- SPAWN_ALT_ROCK_REWARDS = 52,
55
- SPAWN_COLLECTIBLE = 53,
56
- STAGE_HISTORY = 54,
57
- START_AMBUSH = 55,
58
- TAINTED_LAZARUS_PLAYERS = 56,
59
- UNLOCK_ACHIEVEMENTS_DETECTION = 57
46
+ PREVENT_GRID_ENTITY_RESPAWN = 44,
47
+ ROOM_CLEAR_FRAME = 45,
48
+ ROOM_HISTORY = 46,
49
+ RUN_IN_N_FRAMES = 47,
50
+ RUN_NEXT_ROOM = 48,
51
+ RUN_NEXT_RUN = 49,
52
+ SAVE_DATA_MANAGER = 50,
53
+ SPAWN_ALT_ROCK_REWARDS = 51,
54
+ STAGE_HISTORY = 52,
55
+ START_AMBUSH = 53,
56
+ TAINTED_LAZARUS_PLAYERS = 54,
57
+ UNLOCK_ACHIEVEMENTS_DETECTION = 55
60
58
  }
61
59
  //# sourceMappingURL=ISCFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ISCFeature.d.ts","sourceRoot":"","sources":["../../src/enums/ISCFeature.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,cAAc,IAAA;IACd,+BAA+B,IAAA;IAC/B,4BAA4B,IAAA;IAC5B,4BAA4B,IAAA;IAC5B,wBAAwB,IAAA;IACxB,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,4BAA4B,IAAA;IAC5B,0BAA0B,KAAA;IAC1B,wBAAwB,KAAA;IACxB,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IAGrB,2BAA2B,KAAA;IAC3B,eAAe,KAAA;IACf,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,0BAA0B,KAAA;IAC1B,eAAe,KAAA;IACf,UAAU,KAAA;IACV,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,cAAc,KAAA;IACd,KAAK,KAAA;IACL,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,2BAA2B,KAAA;IAC3B,cAAc,KAAA;IACd,WAAW,KAAA;IACX,sBAAsB,KAAA;IACtB,4BAA4B,KAAA;IAC5B,2BAA2B,KAAA;IAC3B,gBAAgB,KAAA;IAChB,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,iBAAiB,KAAA;IACjB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,uBAAuB,KAAA;IACvB,6BAA6B,KAAA;CAC9B"}
1
+ {"version":3,"file":"ISCFeature.d.ts","sourceRoot":"","sources":["../../src/enums/ISCFeature.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,cAAc,IAAA;IACd,+BAA+B,IAAA;IAC/B,4BAA4B,IAAA;IAC5B,4BAA4B,IAAA;IAC5B,wBAAwB,IAAA;IACxB,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,4BAA4B,IAAA;IAC5B,0BAA0B,KAAA;IAC1B,wBAAwB,KAAA;IACxB,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IAGrB,2BAA2B,KAAA;IAC3B,eAAe,KAAA;IACf,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,cAAc,KAAA;IACd,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,gBAAgB,KAAA;IAChB,iBAAiB,KAAA;IACjB,cAAc,KAAA;IACd,0BAA0B,KAAA;IAC1B,eAAe,KAAA;IACf,UAAU,KAAA;IACV,gBAAgB,KAAA;IAChB,gBAAgB,KAAA;IAChB,sBAAsB,KAAA;IACtB,mBAAmB,KAAA;IACnB,wBAAwB,KAAA;IACxB,mBAAmB,KAAA;IACnB,cAAc,KAAA;IACd,KAAK,KAAA;IACL,mBAAmB,KAAA;IACnB,qBAAqB,KAAA;IACrB,2BAA2B,KAAA;IAC3B,cAAc,KAAA;IACd,WAAW,KAAA;IACX,sBAAsB,KAAA;IACtB,2BAA2B,KAAA;IAC3B,gBAAgB,KAAA;IAChB,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,iBAAiB,KAAA;IACjB,sBAAsB,KAAA;IACtB,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,uBAAuB,KAAA;IACvB,6BAA6B,KAAA;CAC9B"}
@@ -88,32 +88,28 @@ ____exports.ISCFeature.PRESS_INPUT = 42
88
88
  ____exports.ISCFeature[____exports.ISCFeature.PRESS_INPUT] = "PRESS_INPUT"
89
89
  ____exports.ISCFeature.PREVENT_CHILD_ENTITIES = 43
90
90
  ____exports.ISCFeature[____exports.ISCFeature.PREVENT_CHILD_ENTITIES] = "PREVENT_CHILD_ENTITIES"
91
- ____exports.ISCFeature.PREVENT_COLLECTIBLE_ROTATION = 44
92
- ____exports.ISCFeature[____exports.ISCFeature.PREVENT_COLLECTIBLE_ROTATION] = "PREVENT_COLLECTIBLE_ROTATION"
93
- ____exports.ISCFeature.PREVENT_GRID_ENTITY_RESPAWN = 45
91
+ ____exports.ISCFeature.PREVENT_GRID_ENTITY_RESPAWN = 44
94
92
  ____exports.ISCFeature[____exports.ISCFeature.PREVENT_GRID_ENTITY_RESPAWN] = "PREVENT_GRID_ENTITY_RESPAWN"
95
- ____exports.ISCFeature.ROOM_CLEAR_FRAME = 46
93
+ ____exports.ISCFeature.ROOM_CLEAR_FRAME = 45
96
94
  ____exports.ISCFeature[____exports.ISCFeature.ROOM_CLEAR_FRAME] = "ROOM_CLEAR_FRAME"
97
- ____exports.ISCFeature.ROOM_HISTORY = 47
95
+ ____exports.ISCFeature.ROOM_HISTORY = 46
98
96
  ____exports.ISCFeature[____exports.ISCFeature.ROOM_HISTORY] = "ROOM_HISTORY"
99
- ____exports.ISCFeature.RUN_IN_N_FRAMES = 48
97
+ ____exports.ISCFeature.RUN_IN_N_FRAMES = 47
100
98
  ____exports.ISCFeature[____exports.ISCFeature.RUN_IN_N_FRAMES] = "RUN_IN_N_FRAMES"
101
- ____exports.ISCFeature.RUN_NEXT_ROOM = 49
99
+ ____exports.ISCFeature.RUN_NEXT_ROOM = 48
102
100
  ____exports.ISCFeature[____exports.ISCFeature.RUN_NEXT_ROOM] = "RUN_NEXT_ROOM"
103
- ____exports.ISCFeature.RUN_NEXT_RUN = 50
101
+ ____exports.ISCFeature.RUN_NEXT_RUN = 49
104
102
  ____exports.ISCFeature[____exports.ISCFeature.RUN_NEXT_RUN] = "RUN_NEXT_RUN"
105
- ____exports.ISCFeature.SAVE_DATA_MANAGER = 51
103
+ ____exports.ISCFeature.SAVE_DATA_MANAGER = 50
106
104
  ____exports.ISCFeature[____exports.ISCFeature.SAVE_DATA_MANAGER] = "SAVE_DATA_MANAGER"
107
- ____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS = 52
105
+ ____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS = 51
108
106
  ____exports.ISCFeature[____exports.ISCFeature.SPAWN_ALT_ROCK_REWARDS] = "SPAWN_ALT_ROCK_REWARDS"
109
- ____exports.ISCFeature.SPAWN_COLLECTIBLE = 53
110
- ____exports.ISCFeature[____exports.ISCFeature.SPAWN_COLLECTIBLE] = "SPAWN_COLLECTIBLE"
111
- ____exports.ISCFeature.STAGE_HISTORY = 54
107
+ ____exports.ISCFeature.STAGE_HISTORY = 52
112
108
  ____exports.ISCFeature[____exports.ISCFeature.STAGE_HISTORY] = "STAGE_HISTORY"
113
- ____exports.ISCFeature.START_AMBUSH = 55
109
+ ____exports.ISCFeature.START_AMBUSH = 53
114
110
  ____exports.ISCFeature[____exports.ISCFeature.START_AMBUSH] = "START_AMBUSH"
115
- ____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS = 56
111
+ ____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS = 54
116
112
  ____exports.ISCFeature[____exports.ISCFeature.TAINTED_LAZARUS_PLAYERS] = "TAINTED_LAZARUS_PLAYERS"
117
- ____exports.ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION = 57
113
+ ____exports.ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION = 55
118
114
  ____exports.ISCFeature[____exports.ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION] = "UNLOCK_ACHIEVEMENTS_DETECTION"
119
115
  return ____exports
@@ -43,7 +43,6 @@ import { PlayerCollectibleTracking } from "./classes/features/other/PlayerCollec
43
43
  import { PonyDetection } from "./classes/features/other/PonyDetection";
44
44
  import { PressInput } from "./classes/features/other/PressInput";
45
45
  import { PreventChildEntities } from "./classes/features/other/PreventChildEntities";
46
- import { PreventCollectibleRotation } from "./classes/features/other/PreventCollectibleRotation";
47
46
  import { PreventGridEntityRespawn } from "./classes/features/other/PreventGridEntityRespawn";
48
47
  import { RoomClearFrame } from "./classes/features/other/RoomClearFrame";
49
48
  import { RoomHistory } from "./classes/features/other/RoomHistory";
@@ -51,7 +50,6 @@ import { RunInNFrames } from "./classes/features/other/RunInNFrames";
51
50
  import { RunNextRoom } from "./classes/features/other/RunNextRoom";
52
51
  import { RunNextRun } from "./classes/features/other/RunNextRun";
53
52
  import { SaveDataManager } from "./classes/features/other/SaveDataManager";
54
- import { SpawnCollectible } from "./classes/features/other/SpawnCollectible";
55
53
  import { SpawnRockAltRewards } from "./classes/features/other/SpawnRockAltRewards";
56
54
  import { StageHistory } from "./classes/features/other/StageHistory";
57
55
  import { StartAmbush } from "./classes/features/other/StartAmbush";
@@ -104,7 +102,6 @@ export interface ISCFeatureToClass {
104
102
  [ISCFeature.PONY_DETECTION]: PonyDetection;
105
103
  [ISCFeature.PRESS_INPUT]: PressInput;
106
104
  [ISCFeature.PREVENT_CHILD_ENTITIES]: PreventChildEntities;
107
- [ISCFeature.PREVENT_COLLECTIBLE_ROTATION]: PreventCollectibleRotation;
108
105
  [ISCFeature.PREVENT_GRID_ENTITY_RESPAWN]: PreventGridEntityRespawn;
109
106
  [ISCFeature.ROOM_CLEAR_FRAME]: RoomClearFrame;
110
107
  [ISCFeature.ROOM_HISTORY]: RoomHistory;
@@ -113,7 +110,6 @@ export interface ISCFeatureToClass {
113
110
  [ISCFeature.RUN_NEXT_RUN]: RunNextRun;
114
111
  [ISCFeature.SAVE_DATA_MANAGER]: SaveDataManager;
115
112
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: SpawnRockAltRewards;
116
- [ISCFeature.SPAWN_COLLECTIBLE]: SpawnCollectible;
117
113
  [ISCFeature.STAGE_HISTORY]: StageHistory;
118
114
  [ISCFeature.START_AMBUSH]: StartAmbush;
119
115
  [ISCFeature.TAINTED_LAZARUS_PLAYERS]: TaintedLazarusPlayers;
@@ -164,19 +160,17 @@ export declare function getFeatures(mod: ModUpgradedInterface, callbacks: ModCal
164
160
  readonly 41: PonyDetection;
165
161
  readonly 42: PressInput;
166
162
  readonly 43: PreventChildEntities;
167
- readonly 44: PreventCollectibleRotation;
168
- readonly 45: PreventGridEntityRespawn;
169
- readonly 46: RoomClearFrame;
170
- readonly 47: RoomHistory;
171
- readonly 48: RunInNFrames;
172
- readonly 49: RunNextRoom;
173
- readonly 50: RunNextRun;
174
- readonly 51: SaveDataManager;
175
- readonly 52: SpawnRockAltRewards;
176
- readonly 53: SpawnCollectible;
177
- readonly 54: StageHistory;
178
- readonly 55: StartAmbush;
179
- readonly 56: TaintedLazarusPlayers;
180
- readonly 57: UnlockAchievementsDetection;
163
+ readonly 44: PreventGridEntityRespawn;
164
+ readonly 45: RoomClearFrame;
165
+ readonly 46: RoomHistory;
166
+ readonly 47: RunInNFrames;
167
+ readonly 48: RunNextRoom;
168
+ readonly 49: RunNextRun;
169
+ readonly 50: SaveDataManager;
170
+ readonly 51: SpawnRockAltRewards;
171
+ readonly 52: StageHistory;
172
+ readonly 53: StartAmbush;
173
+ readonly 54: TaintedLazarusPlayers;
174
+ readonly 55: UnlockAchievementsDetection;
181
175
  };
182
176
  //# sourceMappingURL=features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
package/dist/features.lua CHANGED
@@ -89,8 +89,6 @@ local ____PressInput = require("classes.features.other.PressInput")
89
89
  local PressInput = ____PressInput.PressInput
90
90
  local ____PreventChildEntities = require("classes.features.other.PreventChildEntities")
91
91
  local PreventChildEntities = ____PreventChildEntities.PreventChildEntities
92
- local ____PreventCollectibleRotation = require("classes.features.other.PreventCollectibleRotation")
93
- local PreventCollectibleRotation = ____PreventCollectibleRotation.PreventCollectibleRotation
94
92
  local ____PreventGridEntityRespawn = require("classes.features.other.PreventGridEntityRespawn")
95
93
  local PreventGridEntityRespawn = ____PreventGridEntityRespawn.PreventGridEntityRespawn
96
94
  local ____RoomClearFrame = require("classes.features.other.RoomClearFrame")
@@ -105,8 +103,6 @@ local ____RunNextRun = require("classes.features.other.RunNextRun")
105
103
  local RunNextRun = ____RunNextRun.RunNextRun
106
104
  local ____SaveDataManager = require("classes.features.other.SaveDataManager")
107
105
  local SaveDataManager = ____SaveDataManager.SaveDataManager
108
- local ____SpawnCollectible = require("classes.features.other.SpawnCollectible")
109
- local SpawnCollectible = ____SpawnCollectible.SpawnCollectible
110
106
  local ____SpawnRockAltRewards = require("classes.features.other.SpawnRockAltRewards")
111
107
  local SpawnRockAltRewards = ____SpawnRockAltRewards.SpawnRockAltRewards
112
108
  local ____StageHistory = require("classes.features.other.StageHistory")
@@ -144,13 +140,11 @@ function ____exports.getFeatures(self, mod, callbacks)
144
140
  local stageHistory = __TS__New(StageHistory)
145
141
  local runInNFrames = __TS__New(RunInNFrames, roomHistory)
146
142
  local pickupIndexCreation = __TS__New(PickupIndexCreation, roomHistory, saveDataManager)
147
- local preventCollectibleRotation = __TS__New(PreventCollectibleRotation, pickupIndexCreation, runInNFrames)
148
143
  local customGridEntities = __TS__New(CustomGridEntities, runInNFrames)
149
144
  local moddedElementSets = __TS__New(ModdedElementSets, moddedElementDetection)
150
145
  local itemPoolDetection = __TS__New(ItemPoolDetection, moddedElementSets)
151
146
  local pause = __TS__New(Pause, disableInputs)
152
147
  local preventGridEntityRespawn = __TS__New(PreventGridEntityRespawn, runInNFrames)
153
- local spawnCollectible = __TS__New(SpawnCollectible, preventCollectibleRotation)
154
148
  local customTrapdoors = __TS__New(
155
149
  CustomTrapdoors,
156
150
  customGridEntities,
@@ -213,7 +207,7 @@ function ____exports.getFeatures(self, mod, callbacks)
213
207
  ),
214
208
  [ISCFeature.CUSTOM_TRAPDOORS] = customTrapdoors,
215
209
  [ISCFeature.DEBUG_DISPLAY] = __TS__New(DebugDisplay, mod),
216
- [ISCFeature.DEPLOY_JSON_ROOM] = __TS__New(DeployJSONRoom, preventGridEntityRespawn, spawnCollectible),
210
+ [ISCFeature.DEPLOY_JSON_ROOM] = __TS__New(DeployJSONRoom, preventGridEntityRespawn),
217
211
  [ISCFeature.DISABLE_ALL_SOUND] = disableAllSound,
218
212
  [ISCFeature.DISABLE_INPUTS] = disableInputs,
219
213
  [ISCFeature.EDEN_STARTING_STATS_HEALTH] = __TS__New(EdenStartingStatsHealth),
@@ -233,7 +227,6 @@ function ____exports.getFeatures(self, mod, callbacks)
233
227
  [ISCFeature.PONY_DETECTION] = ponyDetection,
234
228
  [ISCFeature.PRESS_INPUT] = pressInput,
235
229
  [ISCFeature.PREVENT_CHILD_ENTITIES] = __TS__New(PreventChildEntities),
236
- [ISCFeature.PREVENT_COLLECTIBLE_ROTATION] = preventCollectibleRotation,
237
230
  [ISCFeature.PREVENT_GRID_ENTITY_RESPAWN] = preventGridEntityRespawn,
238
231
  [ISCFeature.ROOM_CLEAR_FRAME] = roomClearFrame,
239
232
  [ISCFeature.ROOM_HISTORY] = roomHistory,
@@ -242,7 +235,6 @@ function ____exports.getFeatures(self, mod, callbacks)
242
235
  [ISCFeature.RUN_NEXT_RUN] = __TS__New(RunNextRun),
243
236
  [ISCFeature.SAVE_DATA_MANAGER] = saveDataManager,
244
237
  [ISCFeature.SPAWN_ALT_ROCK_REWARDS] = __TS__New(SpawnRockAltRewards, itemPoolDetection),
245
- [ISCFeature.SPAWN_COLLECTIBLE] = spawnCollectible,
246
238
  [ISCFeature.STAGE_HISTORY] = stageHistory,
247
239
  [ISCFeature.START_AMBUSH] = __TS__New(StartAmbush, runInNFrames),
248
240
  [ISCFeature.TAINTED_LAZARUS_PLAYERS] = __TS__New(TaintedLazarusPlayers),
@@ -140,6 +140,14 @@ export declare function isVanillaCollectibleType(collectibleType: CollectibleTyp
140
140
  * If you intentionally want a question mark sprite, pass -1 as the collectible type.
141
141
  */
142
142
  export declare function newCollectibleSprite(collectibleType: CollectibleType | -1): Sprite;
143
+ /**
144
+ * Helper function to remove the rotation behavior from a collectible. This will happen by default
145
+ * when collectibles are spawned when playing as Tainted Isaac or when having Binge Eater.
146
+ *
147
+ * Under the hood, this is accomplished by morphing the collectible with the `ignoreModifiers`
148
+ * argument set to true.
149
+ */
150
+ export declare function preventCollectibleRotation(collectible: EntityPickup): void;
143
151
  /**
144
152
  * Helper function to remove all pickup delay on a collectible. By default, collectibles have a 20
145
153
  * frame delay before they can be picked up by a player.
@@ -1 +1 @@
1
- {"version":3,"file":"collectibles.d.ts","sourceRoot":"","sources":["../../src/functions/collectibles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectibles.d.ts","sourceRoot":"","sources":["../../src/functions/collectibles.ts"],"names":[],"mappings":"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"}
@@ -438,6 +438,25 @@ function ____exports.newCollectibleSprite(self, collectibleType)
438
438
  sprite:Play(defaultAnimation, true)
439
439
  return sprite
440
440
  end
441
+ --- Helper function to remove the rotation behavior from a collectible. This will happen by default
442
+ -- when collectibles are spawned when playing as Tainted Isaac or when having Binge Eater.
443
+ --
444
+ -- Under the hood, this is accomplished by morphing the collectible with the `ignoreModifiers`
445
+ -- argument set to true.
446
+ function ____exports.preventCollectibleRotation(self, collectible)
447
+ if not isCollectible(nil, collectible) then
448
+ local entityID = getEntityID(nil, collectible)
449
+ error("The \"preventCollectibleRotation\" function was given a non-collectible: " .. entityID)
450
+ end
451
+ collectible:Morph(
452
+ collectible.Type,
453
+ collectible.Variant,
454
+ collectible.SubType,
455
+ true,
456
+ true,
457
+ true
458
+ )
459
+ end
441
460
  --- Helper function to remove all pickup delay on a collectible. By default, collectibles have a 20
442
461
  -- frame delay before they can be picked up by a player.
443
462
  function ____exports.removeCollectiblePickupDelay(self, collectible)
@@ -1,13 +1,11 @@
1
+ import type { ItemPoolType } from "isaac-typescript-definitions";
1
2
  import { CollectibleType } from "isaac-typescript-definitions";
2
3
  /**
3
4
  * Helper function to spawn a collectible.
4
5
  *
5
6
  * Use this instead of the `Game.Spawn` method because it handles the cases of Tainted Keeper
6
- * collectibles costing coins.
7
- *
8
- * This function is unsafe because it will not correctly handle quest items being rotated by Tainted
9
- * Isaac's rotation mechanic. To handle that, use the `spawnCollectible` helper function instead
10
- * (which is provided by `ISCFeature.SPAWN_COLLECTIBLE`).
7
+ * collectibles costing coins and prevents quest items from being rotated by Tainted Isaac's
8
+ * rotation mechanic.
11
9
  *
12
10
  * If you want to spawn an unseeded collectible, you must explicitly pass `undefined` to the
13
11
  * `seedOrRNG` parameter.
@@ -23,7 +21,31 @@ import { CollectibleType } from "isaac-typescript-definitions";
23
21
  * Tainted Keeper. Default is false.
24
22
  * @param spawner Optional.
25
23
  */
26
- export declare function spawnCollectibleUnsafe(collectibleType: CollectibleType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG | undefined, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
24
+ export declare function spawnCollectible(collectibleType: CollectibleType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG | undefined, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
25
+ /**
26
+ * Helper function to spawn a collectible from a specific item pool.
27
+ *
28
+ * Use this instead of the `Game.Spawn` method because it handles the cases of Tainted Keeper
29
+ * collectibles costing coins and prevents quest items from being rotated by Tainted Isaac's
30
+ * rotation mechanic.
31
+ *
32
+ * If you want to spawn an unseeded collectible, you must explicitly pass `undefined` to the
33
+ * `seedOrRNG` parameter.
34
+ *
35
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SPAWN_COLLECTIBLE`.
36
+ *
37
+ * @param itemPoolType The item pool to draw the collectible type from.
38
+ * @param positionOrGridIndex The position or grid index to spawn the collectible at.
39
+ * @param seedOrRNG The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
40
+ * `RNG.Next` method will be called. If `undefined` is provided, it will default to
41
+ * a random seed.
42
+ * @param options Optional. Set to true to make the collectible a "There's Options" style
43
+ * collectible. Default is false.
44
+ * @param forceFreeItem Optional. Set to true to disable the logic that gives the item a price for
45
+ * Tainted Keeper. Default is false.
46
+ * @param spawner Optional.
47
+ */
48
+ export declare function spawnCollectibleFromPool(itemPoolType: ItemPoolType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG | undefined, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
27
49
  /**
28
50
  * Helper function to spawn an empty collectible. Doing this is tricky since spawning a collectible
29
51
  * with `CollectibleType.NULL` will result in spawning a collectible with a random type from the
@@ -1 +1 @@
1
- {"version":3,"file":"spawnCollectible.d.ts","sourceRoot":"","sources":["../../src/functions/spawnCollectible.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAGhB,MAAM,8BAA8B,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,eAAe,EAChC,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,OAAO,UAAQ,EACf,aAAa,UAAQ,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,uBAAuB,CAqCzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,GAChC,YAAY,CAWd"}
1
+ {"version":3,"file":"spawnCollectible.d.ts","sourceRoot":"","sources":["../../src/functions/spawnCollectible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,eAAe,EAGhB,MAAM,8BAA8B,CAAC;AAYtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,eAAe,EAChC,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,OAAO,UAAQ,EACf,aAAa,UAAQ,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,uBAAuB,CAyCzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,OAAO,UAAQ,EACf,aAAa,UAAQ,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,uBAAuB,CAYzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,GAChC,YAAY,CAWd"}
@@ -3,11 +3,14 @@ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitio
3
3
  local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
4
4
  local PickupVariant = ____isaac_2Dtypescript_2Ddefinitions.PickupVariant
5
5
  local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
6
+ local ____cachedClasses = require("core.cachedClasses")
7
+ local game = ____cachedClasses.game
6
8
  local ____constants = require("core.constants")
7
9
  local VectorZero = ____constants.VectorZero
8
10
  local ____collectibleTag = require("functions.collectibleTag")
9
11
  local isQuestCollectible = ____collectibleTag.isQuestCollectible
10
12
  local ____collectibles = require("functions.collectibles")
13
+ local preventCollectibleRotation = ____collectibles.preventCollectibleRotation
11
14
  local setCollectibleEmpty = ____collectibles.setCollectibleEmpty
12
15
  local ____entitiesSpecific = require("functions.entitiesSpecific")
13
16
  local spawnPickupWithSeed = ____entitiesSpecific.spawnPickupWithSeed
@@ -19,11 +22,8 @@ local isRNG = ____rng.isRNG
19
22
  --- Helper function to spawn a collectible.
20
23
  --
21
24
  -- Use this instead of the `Game.Spawn` method because it handles the cases of Tainted Keeper
22
- -- collectibles costing coins.
23
- --
24
- -- This function is unsafe because it will not correctly handle quest items being rotated by Tainted
25
- -- Isaac's rotation mechanic. To handle that, use the `spawnCollectible` helper function instead
26
- -- (which is provided by `ISCFeature.SPAWN_COLLECTIBLE`).
25
+ -- collectibles costing coins and prevents quest items from being rotated by Tainted Isaac's
26
+ -- rotation mechanic.
27
27
  --
28
28
  -- If you want to spawn an unseeded collectible, you must explicitly pass `undefined` to the
29
29
  -- `seedOrRNG` parameter.
@@ -38,7 +38,7 @@ local isRNG = ____rng.isRNG
38
38
  -- @param forceFreeItem Optional. Set to true to disable the logic that gives the item a price for
39
39
  -- Tainted Keeper. Default is false.
40
40
  -- @param spawner Optional.
41
- function ____exports.spawnCollectibleUnsafe(self, collectibleType, positionOrGridIndex, seedOrRNG, options, forceFreeItem, spawner)
41
+ function ____exports.spawnCollectible(self, collectibleType, positionOrGridIndex, seedOrRNG, options, forceFreeItem, spawner)
42
42
  if options == nil then
43
43
  options = false
44
44
  end
@@ -58,6 +58,9 @@ function ____exports.spawnCollectibleUnsafe(self, collectibleType, positionOrGri
58
58
  VectorZero,
59
59
  spawner
60
60
  )
61
+ if isQuestCollectible(nil, collectible) then
62
+ preventCollectibleRotation(nil, collectible)
63
+ end
61
64
  if options then
62
65
  collectible.OptionsPickupIndex = 1
63
66
  end
@@ -67,6 +70,46 @@ function ____exports.spawnCollectibleUnsafe(self, collectibleType, positionOrGri
67
70
  end
68
71
  return collectible
69
72
  end
73
+ --- Helper function to spawn a collectible from a specific item pool.
74
+ --
75
+ -- Use this instead of the `Game.Spawn` method because it handles the cases of Tainted Keeper
76
+ -- collectibles costing coins and prevents quest items from being rotated by Tainted Isaac's
77
+ -- rotation mechanic.
78
+ --
79
+ -- If you want to spawn an unseeded collectible, you must explicitly pass `undefined` to the
80
+ -- `seedOrRNG` parameter.
81
+ --
82
+ -- In order to use this function, you must upgrade your mod with `ISCFeature.SPAWN_COLLECTIBLE`.
83
+ --
84
+ -- @param itemPoolType The item pool to draw the collectible type from.
85
+ -- @param positionOrGridIndex The position or grid index to spawn the collectible at.
86
+ -- @param seedOrRNG The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
87
+ -- `RNG.Next` method will be called. If `undefined` is provided, it will default to
88
+ -- a random seed.
89
+ -- @param options Optional. Set to true to make the collectible a "There's Options" style
90
+ -- collectible. Default is false.
91
+ -- @param forceFreeItem Optional. Set to true to disable the logic that gives the item a price for
92
+ -- Tainted Keeper. Default is false.
93
+ -- @param spawner Optional.
94
+ function ____exports.spawnCollectibleFromPool(self, itemPoolType, positionOrGridIndex, seedOrRNG, options, forceFreeItem, spawner)
95
+ if options == nil then
96
+ options = false
97
+ end
98
+ if forceFreeItem == nil then
99
+ forceFreeItem = false
100
+ end
101
+ local itemPool = game:GetItemPool()
102
+ local collectibleType = itemPool:GetCollectible(itemPoolType)
103
+ return ____exports.spawnCollectible(
104
+ nil,
105
+ collectibleType,
106
+ positionOrGridIndex,
107
+ seedOrRNG,
108
+ options,
109
+ forceFreeItem,
110
+ spawner
111
+ )
112
+ end
70
113
  --- Helper function to spawn an empty collectible. Doing this is tricky since spawning a collectible
71
114
  -- with `CollectibleType.NULL` will result in spawning a collectible with a random type from the
72
115
  -- current room's item pool.
@@ -84,7 +127,7 @@ end
84
127
  -- `RNG.Next` method will be called. If `undefined` is provided, it will default to
85
128
  -- a random seed.
86
129
  function ____exports.spawnEmptyCollectible(self, positionOrGridIndex, seedOrRNG)
87
- local collectible = ____exports.spawnCollectibleUnsafe(
130
+ local collectible = ____exports.spawnCollectible(
88
131
  nil,
89
132
  CollectibleType.BROKEN_SHOVEL_1,
90
133
  positionOrGridIndex,