isaacscript-common 17.2.0 → 17.3.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 (38) hide show
  1. package/dist/index.d.ts +63 -56
  2. package/dist/isaacscript-common.lua +109 -97
  3. package/dist/src/classes/features/other/CustomHotkeys.d.ts +4 -0
  4. package/dist/src/classes/features/other/CustomHotkeys.d.ts.map +1 -1
  5. package/dist/src/classes/features/other/SpawnCollectible.d.ts +4 -4
  6. package/dist/src/classes/features/other/SpawnCollectible.d.ts.map +1 -1
  7. package/dist/src/classes/features/other/SpawnCollectible.lua +4 -4
  8. package/dist/src/classes/features/other/SpawnRockAltRewards.d.ts +3 -2
  9. package/dist/src/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
  10. package/dist/src/classes/features/other/SpawnRockAltRewards.lua +4 -1
  11. package/dist/src/functions/bosses.d.ts +2 -2
  12. package/dist/src/functions/bosses.d.ts.map +1 -1
  13. package/dist/src/functions/bosses.lua +5 -5
  14. package/dist/src/functions/entities.d.ts +5 -5
  15. package/dist/src/functions/entities.d.ts.map +1 -1
  16. package/dist/src/functions/entities.lua +10 -8
  17. package/dist/src/functions/entitiesSpecific.d.ts +20 -20
  18. package/dist/src/functions/entitiesSpecific.d.ts.map +1 -1
  19. package/dist/src/functions/entitiesSpecific.lua +40 -40
  20. package/dist/src/functions/pickupsSpecific.d.ts +18 -18
  21. package/dist/src/functions/pickupsSpecific.d.ts.map +1 -1
  22. package/dist/src/functions/pickupsSpecific.lua +36 -36
  23. package/dist/src/functions/spawnCollectible.d.ts +4 -4
  24. package/dist/src/functions/spawnCollectible.d.ts.map +1 -1
  25. package/dist/src/functions/spawnCollectible.lua +6 -6
  26. package/dist/src/functions/stage.d.ts +4 -1
  27. package/dist/src/functions/stage.d.ts.map +1 -1
  28. package/dist/src/functions/stage.lua +10 -0
  29. package/package.json +1 -1
  30. package/src/classes/features/other/CustomHotkeys.ts +4 -0
  31. package/src/classes/features/other/SpawnCollectible.ts +6 -6
  32. package/src/classes/features/other/SpawnRockAltRewards.ts +7 -3
  33. package/src/functions/bosses.ts +13 -5
  34. package/src/functions/entities.ts +14 -8
  35. package/src/functions/entitiesSpecific.ts +40 -40
  36. package/src/functions/pickupsSpecific.ts +84 -36
  37. package/src/functions/spawnCollectible.ts +6 -6
  38. package/src/functions/stage.ts +15 -2
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 17.2.0
3
+ isaacscript-common 17.3.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -19504,7 +19504,7 @@ function ____exports.setEntityRandomColor(self, entity)
19504
19504
  false
19505
19505
  )
19506
19506
  end
19507
- function ____exports.spawn(self, entityType, variant, subType, position, velocity, spawner, seedOrRNG)
19507
+ function ____exports.spawn(self, entityType, variant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
19508
19508
  if velocity == nil then
19509
19509
  velocity = VectorZero
19510
19510
  end
@@ -19514,7 +19514,8 @@ function ____exports.spawn(self, entityType, variant, subType, position, velocit
19514
19514
  if seedOrRNG == nil then
19515
19515
  seedOrRNG = nil
19516
19516
  end
19517
- if position == nil then
19517
+ local room = game:GetRoom()
19518
+ if positionOrGridIndex == nil then
19518
19519
  local entityID = ____exports.getEntityIDFromConstituents(nil, entityType, variant, subType)
19519
19520
  error(("Failed to spawn entity " .. entityID) .. " since an undefined position was passed to the \"spawn\" function.")
19520
19521
  end
@@ -19522,6 +19523,7 @@ function ____exports.spawn(self, entityType, variant, subType, position, velocit
19522
19523
  local entityID = ____exports.getEntityIDFromConstituents(nil, entityType, variant, subType)
19523
19524
  error(("Failed to spawn entity " .. entityID) .. " since an undefined velocity was passed to the \"spawn\" function.")
19524
19525
  end
19526
+ local position = isVector(nil, positionOrGridIndex) and positionOrGridIndex or room:GetGridPosition(positionOrGridIndex)
19525
19527
  if seedOrRNG == nil then
19526
19528
  return Isaac.Spawn(
19527
19529
  entityType,
@@ -19543,7 +19545,7 @@ function ____exports.spawn(self, entityType, variant, subType, position, velocit
19543
19545
  seed
19544
19546
  )
19545
19547
  end
19546
- function ____exports.spawnEntityID(self, entityID, position, velocity, spawner, seedOrRNG)
19548
+ function ____exports.spawnEntityID(self, entityID, positionOrGridIndex, velocity, spawner, seedOrRNG)
19547
19549
  if velocity == nil then
19548
19550
  velocity = VectorZero
19549
19551
  end
@@ -19559,13 +19561,13 @@ function ____exports.spawnEntityID(self, entityID, position, velocity, spawner,
19559
19561
  entityType,
19560
19562
  variant,
19561
19563
  subType,
19562
- position,
19564
+ positionOrGridIndex,
19563
19565
  velocity,
19564
19566
  spawner,
19565
19567
  seedOrRNG
19566
19568
  )
19567
19569
  end
19568
- function ____exports.spawnWithSeed(self, entityType, variant, subType, position, seedOrRNG, velocity, spawner)
19570
+ function ____exports.spawnWithSeed(self, entityType, variant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
19569
19571
  if velocity == nil then
19570
19572
  velocity = VectorZero
19571
19573
  end
@@ -19577,7 +19579,7 @@ function ____exports.spawnWithSeed(self, entityType, variant, subType, position,
19577
19579
  entityType,
19578
19580
  variant,
19579
19581
  subType,
19580
- position,
19582
+ positionOrGridIndex,
19581
19583
  velocity,
19582
19584
  spawner,
19583
19585
  seedOrRNG
@@ -22788,7 +22790,7 @@ function ____exports.removeAllTears(self, tearVariant, subType, cap)
22788
22790
  local tears = ____exports.getTears(nil, tearVariant, subType)
22789
22791
  return removeEntities(nil, tears, cap)
22790
22792
  end
22791
- function ____exports.spawnBomb(self, bombVariant, subType, position, velocity, spawner, seedOrRNG)
22793
+ function ____exports.spawnBomb(self, bombVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
22792
22794
  if velocity == nil then
22793
22795
  velocity = VectorZero
22794
22796
  end
@@ -22803,7 +22805,7 @@ function ____exports.spawnBomb(self, bombVariant, subType, position, velocity, s
22803
22805
  EntityType.BOMB,
22804
22806
  bombVariant,
22805
22807
  subType,
22806
- position,
22808
+ positionOrGridIndex,
22807
22809
  velocity,
22808
22810
  spawner,
22809
22811
  seedOrRNG
@@ -22814,7 +22816,7 @@ function ____exports.spawnBomb(self, bombVariant, subType, position, velocity, s
22814
22816
  end
22815
22817
  return bomb
22816
22818
  end
22817
- function ____exports.spawnBombWithSeed(self, bombVariant, subType, position, seedOrRNG, velocity, spawner)
22819
+ function ____exports.spawnBombWithSeed(self, bombVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
22818
22820
  if velocity == nil then
22819
22821
  velocity = VectorZero
22820
22822
  end
@@ -22825,13 +22827,13 @@ function ____exports.spawnBombWithSeed(self, bombVariant, subType, position, see
22825
22827
  nil,
22826
22828
  bombVariant,
22827
22829
  subType,
22828
- position,
22830
+ positionOrGridIndex,
22829
22831
  velocity,
22830
22832
  spawner,
22831
22833
  seedOrRNG
22832
22834
  )
22833
22835
  end
22834
- function ____exports.spawnEffect(self, effectVariant, subType, position, velocity, spawner, seedOrRNG)
22836
+ function ____exports.spawnEffect(self, effectVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
22835
22837
  if velocity == nil then
22836
22838
  velocity = VectorZero
22837
22839
  end
@@ -22846,7 +22848,7 @@ function ____exports.spawnEffect(self, effectVariant, subType, position, velocit
22846
22848
  EntityType.EFFECT,
22847
22849
  effectVariant,
22848
22850
  subType,
22849
- position,
22851
+ positionOrGridIndex,
22850
22852
  velocity,
22851
22853
  spawner,
22852
22854
  seedOrRNG
@@ -22857,7 +22859,7 @@ function ____exports.spawnEffect(self, effectVariant, subType, position, velocit
22857
22859
  end
22858
22860
  return effect
22859
22861
  end
22860
- function ____exports.spawnEffectWithSeed(self, effectVariant, subType, position, seedOrRNG, velocity, spawner)
22862
+ function ____exports.spawnEffectWithSeed(self, effectVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
22861
22863
  if velocity == nil then
22862
22864
  velocity = VectorZero
22863
22865
  end
@@ -22868,13 +22870,13 @@ function ____exports.spawnEffectWithSeed(self, effectVariant, subType, position,
22868
22870
  nil,
22869
22871
  effectVariant,
22870
22872
  subType,
22871
- position,
22873
+ positionOrGridIndex,
22872
22874
  velocity,
22873
22875
  spawner,
22874
22876
  seedOrRNG
22875
22877
  )
22876
22878
  end
22877
- function ____exports.spawnFamiliar(self, familiarVariant, subType, position, velocity, spawner, seedOrRNG)
22879
+ function ____exports.spawnFamiliar(self, familiarVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
22878
22880
  if velocity == nil then
22879
22881
  velocity = VectorZero
22880
22882
  end
@@ -22889,7 +22891,7 @@ function ____exports.spawnFamiliar(self, familiarVariant, subType, position, vel
22889
22891
  EntityType.FAMILIAR,
22890
22892
  familiarVariant,
22891
22893
  subType,
22892
- position,
22894
+ positionOrGridIndex,
22893
22895
  velocity,
22894
22896
  spawner,
22895
22897
  seedOrRNG
@@ -22900,7 +22902,7 @@ function ____exports.spawnFamiliar(self, familiarVariant, subType, position, vel
22900
22902
  end
22901
22903
  return familiar
22902
22904
  end
22903
- function ____exports.spawnFamiliarWithSeed(self, familiarVariant, subType, position, seedOrRNG, velocity, spawner)
22905
+ function ____exports.spawnFamiliarWithSeed(self, familiarVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
22904
22906
  if velocity == nil then
22905
22907
  velocity = VectorZero
22906
22908
  end
@@ -22911,13 +22913,13 @@ function ____exports.spawnFamiliarWithSeed(self, familiarVariant, subType, posit
22911
22913
  nil,
22912
22914
  familiarVariant,
22913
22915
  subType,
22914
- position,
22916
+ positionOrGridIndex,
22915
22917
  velocity,
22916
22918
  spawner,
22917
22919
  seedOrRNG
22918
22920
  )
22919
22921
  end
22920
- function ____exports.spawnKnife(self, knifeVariant, subType, position, velocity, spawner, seedOrRNG)
22922
+ function ____exports.spawnKnife(self, knifeVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
22921
22923
  if velocity == nil then
22922
22924
  velocity = VectorZero
22923
22925
  end
@@ -22932,7 +22934,7 @@ function ____exports.spawnKnife(self, knifeVariant, subType, position, velocity,
22932
22934
  EntityType.KNIFE,
22933
22935
  knifeVariant,
22934
22936
  subType,
22935
- position,
22937
+ positionOrGridIndex,
22936
22938
  velocity,
22937
22939
  spawner,
22938
22940
  seedOrRNG
@@ -22943,7 +22945,7 @@ function ____exports.spawnKnife(self, knifeVariant, subType, position, velocity,
22943
22945
  end
22944
22946
  return knife
22945
22947
  end
22946
- function ____exports.spawnKnifeWithSeed(self, knifeVariant, subType, position, seedOrRNG, velocity, spawner)
22948
+ function ____exports.spawnKnifeWithSeed(self, knifeVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
22947
22949
  if velocity == nil then
22948
22950
  velocity = VectorZero
22949
22951
  end
@@ -22954,13 +22956,13 @@ function ____exports.spawnKnifeWithSeed(self, knifeVariant, subType, position, s
22954
22956
  nil,
22955
22957
  knifeVariant,
22956
22958
  subType,
22957
- position,
22959
+ positionOrGridIndex,
22958
22960
  velocity,
22959
22961
  spawner,
22960
22962
  seedOrRNG
22961
22963
  )
22962
22964
  end
22963
- function ____exports.spawnLaser(self, laserVariant, subType, position, velocity, spawner, seedOrRNG)
22965
+ function ____exports.spawnLaser(self, laserVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
22964
22966
  if velocity == nil then
22965
22967
  velocity = VectorZero
22966
22968
  end
@@ -22975,7 +22977,7 @@ function ____exports.spawnLaser(self, laserVariant, subType, position, velocity,
22975
22977
  EntityType.LASER,
22976
22978
  laserVariant,
22977
22979
  subType,
22978
- position,
22980
+ positionOrGridIndex,
22979
22981
  velocity,
22980
22982
  spawner,
22981
22983
  seedOrRNG
@@ -22986,7 +22988,7 @@ function ____exports.spawnLaser(self, laserVariant, subType, position, velocity,
22986
22988
  end
22987
22989
  return laser
22988
22990
  end
22989
- function ____exports.spawnLaserWithSeed(self, laserVariant, subType, position, seedOrRNG, velocity, spawner)
22991
+ function ____exports.spawnLaserWithSeed(self, laserVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
22990
22992
  if velocity == nil then
22991
22993
  velocity = VectorZero
22992
22994
  end
@@ -22997,13 +22999,13 @@ function ____exports.spawnLaserWithSeed(self, laserVariant, subType, position, s
22997
22999
  nil,
22998
23000
  laserVariant,
22999
23001
  subType,
23000
- position,
23002
+ positionOrGridIndex,
23001
23003
  velocity,
23002
23004
  spawner,
23003
23005
  seedOrRNG
23004
23006
  )
23005
23007
  end
23006
- function ____exports.spawnNPC(self, entityType, variant, subType, position, velocity, spawner, seedOrRNG)
23008
+ function ____exports.spawnNPC(self, entityType, variant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
23007
23009
  if velocity == nil then
23008
23010
  velocity = VectorZero
23009
23011
  end
@@ -23018,7 +23020,7 @@ function ____exports.spawnNPC(self, entityType, variant, subType, position, velo
23018
23020
  entityType,
23019
23021
  variant,
23020
23022
  subType,
23021
- position,
23023
+ positionOrGridIndex,
23022
23024
  velocity,
23023
23025
  spawner,
23024
23026
  seedOrRNG
@@ -23029,7 +23031,7 @@ function ____exports.spawnNPC(self, entityType, variant, subType, position, velo
23029
23031
  end
23030
23032
  return npc
23031
23033
  end
23032
- function ____exports.spawnNPCWithSeed(self, entityType, variant, subType, position, seedOrRNG, velocity, spawner)
23034
+ function ____exports.spawnNPCWithSeed(self, entityType, variant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
23033
23035
  if velocity == nil then
23034
23036
  velocity = VectorZero
23035
23037
  end
@@ -23041,13 +23043,13 @@ function ____exports.spawnNPCWithSeed(self, entityType, variant, subType, positi
23041
23043
  entityType,
23042
23044
  variant,
23043
23045
  subType,
23044
- position,
23046
+ positionOrGridIndex,
23045
23047
  velocity,
23046
23048
  spawner,
23047
23049
  seedOrRNG
23048
23050
  )
23049
23051
  end
23050
- function ____exports.spawnPickup(self, pickupVariant, subType, position, velocity, spawner, seedOrRNG)
23052
+ function ____exports.spawnPickup(self, pickupVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
23051
23053
  if velocity == nil then
23052
23054
  velocity = VectorZero
23053
23055
  end
@@ -23062,7 +23064,7 @@ function ____exports.spawnPickup(self, pickupVariant, subType, position, velocit
23062
23064
  EntityType.PICKUP,
23063
23065
  pickupVariant,
23064
23066
  subType,
23065
- position,
23067
+ positionOrGridIndex,
23066
23068
  velocity,
23067
23069
  spawner,
23068
23070
  seedOrRNG
@@ -23073,7 +23075,7 @@ function ____exports.spawnPickup(self, pickupVariant, subType, position, velocit
23073
23075
  end
23074
23076
  return pickup
23075
23077
  end
23076
- function ____exports.spawnPickupWithSeed(self, pickupVariant, subType, position, seedOrRNG, velocity, spawner)
23078
+ function ____exports.spawnPickupWithSeed(self, pickupVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
23077
23079
  if velocity == nil then
23078
23080
  velocity = VectorZero
23079
23081
  end
@@ -23084,13 +23086,13 @@ function ____exports.spawnPickupWithSeed(self, pickupVariant, subType, position,
23084
23086
  nil,
23085
23087
  pickupVariant,
23086
23088
  subType,
23087
- position,
23089
+ positionOrGridIndex,
23088
23090
  velocity,
23089
23091
  spawner,
23090
23092
  seedOrRNG
23091
23093
  )
23092
23094
  end
23093
- function ____exports.spawnProjectile(self, projectileVariant, subType, position, velocity, spawner, seedOrRNG)
23095
+ function ____exports.spawnProjectile(self, projectileVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
23094
23096
  if velocity == nil then
23095
23097
  velocity = VectorZero
23096
23098
  end
@@ -23105,7 +23107,7 @@ function ____exports.spawnProjectile(self, projectileVariant, subType, position,
23105
23107
  EntityType.PROJECTILE,
23106
23108
  projectileVariant,
23107
23109
  subType,
23108
- position,
23110
+ positionOrGridIndex,
23109
23111
  velocity,
23110
23112
  spawner,
23111
23113
  seedOrRNG
@@ -23116,7 +23118,7 @@ function ____exports.spawnProjectile(self, projectileVariant, subType, position,
23116
23118
  end
23117
23119
  return projectile
23118
23120
  end
23119
- function ____exports.spawnProjectileWithSeed(self, projectileVariant, subType, position, seedOrRNG, velocity, spawner)
23121
+ function ____exports.spawnProjectileWithSeed(self, projectileVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
23120
23122
  if velocity == nil then
23121
23123
  velocity = VectorZero
23122
23124
  end
@@ -23127,13 +23129,13 @@ function ____exports.spawnProjectileWithSeed(self, projectileVariant, subType, p
23127
23129
  nil,
23128
23130
  projectileVariant,
23129
23131
  subType,
23130
- position,
23132
+ positionOrGridIndex,
23131
23133
  velocity,
23132
23134
  spawner,
23133
23135
  seedOrRNG
23134
23136
  )
23135
23137
  end
23136
- function ____exports.spawnSlot(self, slotVariant, subType, position, velocity, spawner, seedOrRNG)
23138
+ function ____exports.spawnSlot(self, slotVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
23137
23139
  if velocity == nil then
23138
23140
  velocity = VectorZero
23139
23141
  end
@@ -23148,13 +23150,13 @@ function ____exports.spawnSlot(self, slotVariant, subType, position, velocity, s
23148
23150
  EntityType.SLOT,
23149
23151
  slotVariant,
23150
23152
  subType,
23151
- position,
23153
+ positionOrGridIndex,
23152
23154
  velocity,
23153
23155
  spawner,
23154
23156
  seedOrRNG
23155
23157
  )
23156
23158
  end
23157
- function ____exports.spawnSlotWithSeed(self, slotVariant, subType, position, seedOrRNG, velocity, spawner)
23159
+ function ____exports.spawnSlotWithSeed(self, slotVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
23158
23160
  if velocity == nil then
23159
23161
  velocity = VectorZero
23160
23162
  end
@@ -23165,13 +23167,13 @@ function ____exports.spawnSlotWithSeed(self, slotVariant, subType, position, see
23165
23167
  nil,
23166
23168
  slotVariant,
23167
23169
  subType,
23168
- position,
23170
+ positionOrGridIndex,
23169
23171
  velocity,
23170
23172
  spawner,
23171
23173
  seedOrRNG
23172
23174
  )
23173
23175
  end
23174
- function ____exports.spawnTear(self, tearVariant, subType, position, velocity, spawner, seedOrRNG)
23176
+ function ____exports.spawnTear(self, tearVariant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG)
23175
23177
  if velocity == nil then
23176
23178
  velocity = VectorZero
23177
23179
  end
@@ -23186,7 +23188,7 @@ function ____exports.spawnTear(self, tearVariant, subType, position, velocity, s
23186
23188
  EntityType.TEAR,
23187
23189
  tearVariant,
23188
23190
  subType,
23189
- position,
23191
+ positionOrGridIndex,
23190
23192
  velocity,
23191
23193
  spawner,
23192
23194
  seedOrRNG
@@ -23197,7 +23199,7 @@ function ____exports.spawnTear(self, tearVariant, subType, position, velocity, s
23197
23199
  end
23198
23200
  return tear
23199
23201
  end
23200
- function ____exports.spawnTearWithSeed(self, tearVariant, subType, position, seedOrRNG, velocity, spawner)
23202
+ function ____exports.spawnTearWithSeed(self, tearVariant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner)
23201
23203
  if velocity == nil then
23202
23204
  velocity = VectorZero
23203
23205
  end
@@ -23208,7 +23210,7 @@ function ____exports.spawnTearWithSeed(self, tearVariant, subType, position, see
23208
23210
  nil,
23209
23211
  tearVariant,
23210
23212
  subType,
23211
- position,
23213
+ positionOrGridIndex,
23212
23214
  velocity,
23213
23215
  spawner,
23214
23216
  seedOrRNG
@@ -25313,6 +25315,13 @@ function ____exports.getEffectiveStage(self)
25313
25315
  return stage
25314
25316
  end
25315
25317
  function ____exports.getEnglishLevelName(self, stage, stageType)
25318
+ local level = game:GetLevel()
25319
+ if stage == nil then
25320
+ stage = level:GetStage()
25321
+ end
25322
+ if stageType == nil then
25323
+ stageType = level:GetStageType()
25324
+ end
25316
25325
  local stageNames = ENGLISH_LEVEL_NAMES[stage]
25317
25326
  return stageNames[stageType]
25318
25327
  end
@@ -33722,7 +33731,7 @@ end
33722
33731
  function ____exports.removeAllTrinkets(self, trinketType, cap)
33723
33732
  return removeAllPickups(nil, PickupVariant.TRINKET, trinketType, cap)
33724
33733
  end
33725
- function ____exports.spawnBattery(self, batterySubType, position, velocity, spawner, seedOrRNG)
33734
+ function ____exports.spawnBattery(self, batterySubType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33726
33735
  if velocity == nil then
33727
33736
  velocity = VectorZero
33728
33737
  end
@@ -33736,13 +33745,13 @@ function ____exports.spawnBattery(self, batterySubType, position, velocity, spaw
33736
33745
  nil,
33737
33746
  PickupVariant.LIL_BATTERY,
33738
33747
  batterySubType,
33739
- position,
33748
+ positionOrGridIndex,
33740
33749
  velocity,
33741
33750
  spawner,
33742
33751
  seedOrRNG
33743
33752
  )
33744
33753
  end
33745
- function ____exports.spawnBatteryWithSeed(self, batterySubType, position, seedOrRNG, velocity, spawner)
33754
+ function ____exports.spawnBatteryWithSeed(self, batterySubType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33746
33755
  if velocity == nil then
33747
33756
  velocity = VectorZero
33748
33757
  end
@@ -33752,13 +33761,13 @@ function ____exports.spawnBatteryWithSeed(self, batterySubType, position, seedOr
33752
33761
  return ____exports.spawnBattery(
33753
33762
  nil,
33754
33763
  batterySubType,
33755
- position,
33764
+ positionOrGridIndex,
33756
33765
  velocity,
33757
33766
  spawner,
33758
33767
  seedOrRNG
33759
33768
  )
33760
33769
  end
33761
- function ____exports.spawnBombPickup(self, bombSubType, position, velocity, spawner, seedOrRNG)
33770
+ function ____exports.spawnBombPickup(self, bombSubType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33762
33771
  if velocity == nil then
33763
33772
  velocity = VectorZero
33764
33773
  end
@@ -33772,13 +33781,13 @@ function ____exports.spawnBombPickup(self, bombSubType, position, velocity, spaw
33772
33781
  nil,
33773
33782
  PickupVariant.BOMB,
33774
33783
  bombSubType,
33775
- position,
33784
+ positionOrGridIndex,
33776
33785
  velocity,
33777
33786
  spawner,
33778
33787
  seedOrRNG
33779
33788
  )
33780
33789
  end
33781
- function ____exports.spawnBombPickupWithSeed(self, bombSubType, position, seedOrRNG, velocity, spawner)
33790
+ function ____exports.spawnBombPickupWithSeed(self, bombSubType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33782
33791
  if velocity == nil then
33783
33792
  velocity = VectorZero
33784
33793
  end
@@ -33788,13 +33797,13 @@ function ____exports.spawnBombPickupWithSeed(self, bombSubType, position, seedOr
33788
33797
  return ____exports.spawnBombPickup(
33789
33798
  nil,
33790
33799
  bombSubType,
33791
- position,
33800
+ positionOrGridIndex,
33792
33801
  velocity,
33793
33802
  spawner,
33794
33803
  seedOrRNG
33795
33804
  )
33796
33805
  end
33797
- function ____exports.spawnCard(self, cardType, position, velocity, spawner, seedOrRNG)
33806
+ function ____exports.spawnCard(self, cardType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33798
33807
  if velocity == nil then
33799
33808
  velocity = VectorZero
33800
33809
  end
@@ -33808,13 +33817,13 @@ function ____exports.spawnCard(self, cardType, position, velocity, spawner, seed
33808
33817
  nil,
33809
33818
  PickupVariant.TAROT_CARD,
33810
33819
  cardType,
33811
- position,
33820
+ positionOrGridIndex,
33812
33821
  velocity,
33813
33822
  spawner,
33814
33823
  seedOrRNG
33815
33824
  )
33816
33825
  end
33817
- function ____exports.spawnCardWithSeed(self, cardType, position, seedOrRNG, velocity, spawner)
33826
+ function ____exports.spawnCardWithSeed(self, cardType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33818
33827
  if velocity == nil then
33819
33828
  velocity = VectorZero
33820
33829
  end
@@ -33824,13 +33833,13 @@ function ____exports.spawnCardWithSeed(self, cardType, position, seedOrRNG, velo
33824
33833
  return ____exports.spawnCard(
33825
33834
  nil,
33826
33835
  cardType,
33827
- position,
33836
+ positionOrGridIndex,
33828
33837
  velocity,
33829
33838
  spawner,
33830
33839
  seedOrRNG
33831
33840
  )
33832
33841
  end
33833
- function ____exports.spawnCoin(self, coinSubType, position, velocity, spawner, seedOrRNG)
33842
+ function ____exports.spawnCoin(self, coinSubType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33834
33843
  if velocity == nil then
33835
33844
  velocity = VectorZero
33836
33845
  end
@@ -33844,13 +33853,13 @@ function ____exports.spawnCoin(self, coinSubType, position, velocity, spawner, s
33844
33853
  nil,
33845
33854
  PickupVariant.COIN,
33846
33855
  coinSubType,
33847
- position,
33856
+ positionOrGridIndex,
33848
33857
  velocity,
33849
33858
  spawner,
33850
33859
  seedOrRNG
33851
33860
  )
33852
33861
  end
33853
- function ____exports.spawnCoinWithSeed(self, coinSubType, position, seedOrRNG, velocity, spawner)
33862
+ function ____exports.spawnCoinWithSeed(self, coinSubType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33854
33863
  if velocity == nil then
33855
33864
  velocity = VectorZero
33856
33865
  end
@@ -33860,13 +33869,13 @@ function ____exports.spawnCoinWithSeed(self, coinSubType, position, seedOrRNG, v
33860
33869
  return ____exports.spawnCoin(
33861
33870
  nil,
33862
33871
  coinSubType,
33863
- position,
33872
+ positionOrGridIndex,
33864
33873
  velocity,
33865
33874
  spawner,
33866
33875
  seedOrRNG
33867
33876
  )
33868
33877
  end
33869
- function ____exports.spawnHeart(self, heartSubType, position, velocity, spawner, seedOrRNG)
33878
+ function ____exports.spawnHeart(self, heartSubType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33870
33879
  if velocity == nil then
33871
33880
  velocity = VectorZero
33872
33881
  end
@@ -33880,13 +33889,13 @@ function ____exports.spawnHeart(self, heartSubType, position, velocity, spawner,
33880
33889
  nil,
33881
33890
  PickupVariant.HEART,
33882
33891
  heartSubType,
33883
- position,
33892
+ positionOrGridIndex,
33884
33893
  velocity,
33885
33894
  spawner,
33886
33895
  seedOrRNG
33887
33896
  )
33888
33897
  end
33889
- function ____exports.spawnHeartWithSeed(self, heartSubType, position, seedOrRNG, velocity, spawner)
33898
+ function ____exports.spawnHeartWithSeed(self, heartSubType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33890
33899
  if velocity == nil then
33891
33900
  velocity = VectorZero
33892
33901
  end
@@ -33896,13 +33905,13 @@ function ____exports.spawnHeartWithSeed(self, heartSubType, position, seedOrRNG,
33896
33905
  return ____exports.spawnHeart(
33897
33906
  nil,
33898
33907
  heartSubType,
33899
- position,
33908
+ positionOrGridIndex,
33900
33909
  velocity,
33901
33910
  spawner,
33902
33911
  seedOrRNG
33903
33912
  )
33904
33913
  end
33905
- function ____exports.spawnKey(self, keySubType, position, velocity, spawner, seedOrRNG)
33914
+ function ____exports.spawnKey(self, keySubType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33906
33915
  if velocity == nil then
33907
33916
  velocity = VectorZero
33908
33917
  end
@@ -33916,13 +33925,13 @@ function ____exports.spawnKey(self, keySubType, position, velocity, spawner, see
33916
33925
  nil,
33917
33926
  PickupVariant.KEY,
33918
33927
  keySubType,
33919
- position,
33928
+ positionOrGridIndex,
33920
33929
  velocity,
33921
33930
  spawner,
33922
33931
  seedOrRNG
33923
33932
  )
33924
33933
  end
33925
- function ____exports.spawnKeyWithSeed(self, keySubType, position, seedOrRNG, velocity, spawner)
33934
+ function ____exports.spawnKeyWithSeed(self, keySubType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33926
33935
  if velocity == nil then
33927
33936
  velocity = VectorZero
33928
33937
  end
@@ -33932,13 +33941,13 @@ function ____exports.spawnKeyWithSeed(self, keySubType, position, seedOrRNG, vel
33932
33941
  return ____exports.spawnKey(
33933
33942
  nil,
33934
33943
  keySubType,
33935
- position,
33944
+ positionOrGridIndex,
33936
33945
  velocity,
33937
33946
  spawner,
33938
33947
  seedOrRNG
33939
33948
  )
33940
33949
  end
33941
- function ____exports.spawnPill(self, pillColor, position, velocity, spawner, seedOrRNG)
33950
+ function ____exports.spawnPill(self, pillColor, positionOrGridIndex, velocity, spawner, seedOrRNG)
33942
33951
  if velocity == nil then
33943
33952
  velocity = VectorZero
33944
33953
  end
@@ -33952,13 +33961,13 @@ function ____exports.spawnPill(self, pillColor, position, velocity, spawner, see
33952
33961
  nil,
33953
33962
  PickupVariant.PILL,
33954
33963
  pillColor,
33955
- position,
33964
+ positionOrGridIndex,
33956
33965
  velocity,
33957
33966
  spawner,
33958
33967
  seedOrRNG
33959
33968
  )
33960
33969
  end
33961
- function ____exports.spawnPillWithSeed(self, pillColor, position, seedOrRNG, velocity, spawner)
33970
+ function ____exports.spawnPillWithSeed(self, pillColor, positionOrGridIndex, seedOrRNG, velocity, spawner)
33962
33971
  if velocity == nil then
33963
33972
  velocity = VectorZero
33964
33973
  end
@@ -33968,13 +33977,13 @@ function ____exports.spawnPillWithSeed(self, pillColor, position, seedOrRNG, vel
33968
33977
  return ____exports.spawnPill(
33969
33978
  nil,
33970
33979
  pillColor,
33971
- position,
33980
+ positionOrGridIndex,
33972
33981
  velocity,
33973
33982
  spawner,
33974
33983
  seedOrRNG
33975
33984
  )
33976
33985
  end
33977
- function ____exports.spawnSack(self, sackSubType, position, velocity, spawner, seedOrRNG)
33986
+ function ____exports.spawnSack(self, sackSubType, positionOrGridIndex, velocity, spawner, seedOrRNG)
33978
33987
  if velocity == nil then
33979
33988
  velocity = VectorZero
33980
33989
  end
@@ -33988,13 +33997,13 @@ function ____exports.spawnSack(self, sackSubType, position, velocity, spawner, s
33988
33997
  nil,
33989
33998
  PickupVariant.SACK,
33990
33999
  sackSubType,
33991
- position,
34000
+ positionOrGridIndex,
33992
34001
  velocity,
33993
34002
  spawner,
33994
34003
  seedOrRNG
33995
34004
  )
33996
34005
  end
33997
- function ____exports.spawnSackWithSeed(self, sackSubType, position, seedOrRNG, velocity, spawner)
34006
+ function ____exports.spawnSackWithSeed(self, sackSubType, positionOrGridIndex, seedOrRNG, velocity, spawner)
33998
34007
  if velocity == nil then
33999
34008
  velocity = VectorZero
34000
34009
  end
@@ -34004,13 +34013,13 @@ function ____exports.spawnSackWithSeed(self, sackSubType, position, seedOrRNG, v
34004
34013
  return ____exports.spawnSack(
34005
34014
  nil,
34006
34015
  sackSubType,
34007
- position,
34016
+ positionOrGridIndex,
34008
34017
  velocity,
34009
34018
  spawner,
34010
34019
  seedOrRNG
34011
34020
  )
34012
34021
  end
34013
- function ____exports.spawnTrinket(self, trinketType, position, velocity, spawner, seedOrRNG)
34022
+ function ____exports.spawnTrinket(self, trinketType, positionOrGridIndex, velocity, spawner, seedOrRNG)
34014
34023
  if velocity == nil then
34015
34024
  velocity = VectorZero
34016
34025
  end
@@ -34024,13 +34033,13 @@ function ____exports.spawnTrinket(self, trinketType, position, velocity, spawner
34024
34033
  nil,
34025
34034
  PickupVariant.TRINKET,
34026
34035
  trinketType,
34027
- position,
34036
+ positionOrGridIndex,
34028
34037
  velocity,
34029
34038
  spawner,
34030
34039
  seedOrRNG
34031
34040
  )
34032
34041
  end
34033
- function ____exports.spawnTrinketWithSeed(self, trinketType, position, seedOrRNG, velocity, spawner)
34042
+ function ____exports.spawnTrinketWithSeed(self, trinketType, positionOrGridIndex, seedOrRNG, velocity, spawner)
34034
34043
  if velocity == nil then
34035
34044
  velocity = VectorZero
34036
34045
  end
@@ -34040,7 +34049,7 @@ function ____exports.spawnTrinketWithSeed(self, trinketType, position, seedOrRNG
34040
34049
  return ____exports.spawnTrinket(
34041
34050
  nil,
34042
34051
  trinketType,
34043
- position,
34052
+ positionOrGridIndex,
34044
34053
  velocity,
34045
34054
  spawner,
34046
34055
  seedOrRNG
@@ -38519,7 +38528,7 @@ end
38519
38528
  function ____exports.isSin(self, npc)
38520
38529
  return SIN_ENTITY_TYPES_SET:has(npc.Type)
38521
38530
  end
38522
- function ____exports.spawnBoss(self, entityType, variant, subType, position, velocity, spawner, seedOrRNG, numSegments)
38531
+ function ____exports.spawnBoss(self, entityType, variant, subType, positionOrGridIndex, velocity, spawner, seedOrRNG, numSegments)
38523
38532
  if velocity == nil then
38524
38533
  velocity = VectorZero
38525
38534
  end
@@ -38535,7 +38544,7 @@ function ____exports.spawnBoss(self, entityType, variant, subType, position, vel
38535
38544
  entityType,
38536
38545
  variant,
38537
38546
  subType,
38538
- position,
38547
+ positionOrGridIndex,
38539
38548
  velocity,
38540
38549
  spawner,
38541
38550
  seed
@@ -38552,7 +38561,7 @@ function ____exports.spawnBoss(self, entityType, variant, subType, position, vel
38552
38561
  entityType,
38553
38562
  variant,
38554
38563
  subType,
38555
- position,
38564
+ positionOrGridIndex,
38556
38565
  velocity,
38557
38566
  spawner,
38558
38567
  seed
@@ -38562,7 +38571,7 @@ function ____exports.spawnBoss(self, entityType, variant, subType, position, vel
38562
38571
  end
38563
38572
  return npc
38564
38573
  end
38565
- function ____exports.spawnBossWithSeed(self, entityType, variant, subType, position, seedOrRNG, velocity, spawner, numSegments)
38574
+ function ____exports.spawnBossWithSeed(self, entityType, variant, subType, positionOrGridIndex, seedOrRNG, velocity, spawner, numSegments)
38566
38575
  if velocity == nil then
38567
38576
  velocity = VectorZero
38568
38577
  end
@@ -38575,7 +38584,7 @@ function ____exports.spawnBossWithSeed(self, entityType, variant, subType, posit
38575
38584
  entityType,
38576
38585
  variant,
38577
38586
  subType,
38578
- position,
38587
+ positionOrGridIndex,
38579
38588
  velocity,
38580
38589
  spawner,
38581
38590
  seed,
@@ -41376,7 +41385,7 @@ local anyPlayerIs = ____players.anyPlayerIs
41376
41385
  local ____rng = require("src.functions.rng")
41377
41386
  local getRandomSeed = ____rng.getRandomSeed
41378
41387
  local isRNG = ____rng.isRNG
41379
- function ____exports.spawnCollectibleUnsafe(self, collectibleType, position, seedOrRNG, options, forceFreeItem, spawner)
41388
+ function ____exports.spawnCollectibleUnsafe(self, collectibleType, positionOrGridIndex, seedOrRNG, options, forceFreeItem, spawner)
41380
41389
  if seedOrRNG == nil then
41381
41390
  seedOrRNG = getRandomSeed(nil)
41382
41391
  end
@@ -41391,7 +41400,7 @@ function ____exports.spawnCollectibleUnsafe(self, collectibleType, position, see
41391
41400
  nil,
41392
41401
  PickupVariant.COLLECTIBLE,
41393
41402
  collectibleType,
41394
- position,
41403
+ positionOrGridIndex,
41395
41404
  seed,
41396
41405
  VectorZero,
41397
41406
  spawner
@@ -41405,14 +41414,14 @@ function ____exports.spawnCollectibleUnsafe(self, collectibleType, position, see
41405
41414
  end
41406
41415
  return collectible
41407
41416
  end
41408
- function ____exports.spawnEmptyCollectible(self, position, seedOrRNG)
41417
+ function ____exports.spawnEmptyCollectible(self, positionOrGridIndex, seedOrRNG)
41409
41418
  if seedOrRNG == nil then
41410
41419
  seedOrRNG = getRandomSeed(nil)
41411
41420
  end
41412
41421
  local collectible = ____exports.spawnCollectibleUnsafe(
41413
41422
  nil,
41414
41423
  CollectibleType.SAD_ONION,
41415
- position,
41424
+ positionOrGridIndex,
41416
41425
  seedOrRNG,
41417
41426
  false,
41418
41427
  true
@@ -41520,7 +41529,7 @@ function SpawnCollectible.prototype.____constructor(self, preventCollectibleRota
41520
41529
  self.featuresUsed = {ISCFeature.PREVENT_COLLECTIBLE_ROTATION}
41521
41530
  self.preventCollectibleRotation = preventCollectibleRotation
41522
41531
  end
41523
- function SpawnCollectible.prototype.spawnCollectible(self, collectibleType, position, seedOrRNG, options, forceFreeItem, spawner)
41532
+ function SpawnCollectible.prototype.spawnCollectible(self, collectibleType, positionOrGridIndex, seedOrRNG, options, forceFreeItem, spawner)
41524
41533
  if seedOrRNG == nil then
41525
41534
  seedOrRNG = getRandomSeed(nil)
41526
41535
  end
@@ -41533,7 +41542,7 @@ function SpawnCollectible.prototype.spawnCollectible(self, collectibleType, posi
41533
41542
  local collectible = spawnCollectibleUnsafe(
41534
41543
  nil,
41535
41544
  collectibleType,
41536
- position,
41545
+ positionOrGridIndex,
41537
41546
  seedOrRNG,
41538
41547
  options,
41539
41548
  forceFreeItem,
@@ -41544,7 +41553,7 @@ function SpawnCollectible.prototype.spawnCollectible(self, collectibleType, posi
41544
41553
  end
41545
41554
  return collectible
41546
41555
  end
41547
- function SpawnCollectible.prototype.spawnCollectibleFromPool(self, itemPoolType, position, seedOrRNG, options, forceFreeItem, spawner)
41556
+ function SpawnCollectible.prototype.spawnCollectibleFromPool(self, itemPoolType, positionOrGridIndex, seedOrRNG, options, forceFreeItem, spawner)
41548
41557
  if seedOrRNG == nil then
41549
41558
  seedOrRNG = getRandomSeed(nil)
41550
41559
  end
@@ -41558,7 +41567,7 @@ function SpawnCollectible.prototype.spawnCollectibleFromPool(self, itemPoolType,
41558
41567
  local collectibleType = itemPool:GetCollectible(itemPoolType)
41559
41568
  return self:spawnCollectible(
41560
41569
  collectibleType,
41561
- position,
41570
+ positionOrGridIndex,
41562
41571
  seedOrRNG,
41563
41572
  options,
41564
41573
  forceFreeItem,
@@ -47985,6 +47994,7 @@ local ____utils = require("src.functions.utils")
47985
47994
  local ____repeat = ____utils["repeat"]
47986
47995
  local ____vector = require("src.functions.vector")
47987
47996
  local getRandomVector = ____vector.getRandomVector
47997
+ local isVector = ____vector.isVector
47988
47998
  local ____Feature = require("src.classes.private.Feature")
47989
47999
  local Feature = ____Feature.Feature
47990
48000
  local ROCK_ALT_CHANCES = {NOTHING = 0.68, BASIC_DROP = 0.0967, TRINKET = 0.025, COLLECTIBLE = 0.005}
@@ -48002,10 +48012,12 @@ function SpawnRockAltRewards.prototype.____constructor(self, itemPoolDetection)
48002
48012
  self.featuresUsed = {ISCFeature.ITEM_POOL_DETECTION}
48003
48013
  self.itemPoolDetection = itemPoolDetection
48004
48014
  end
48005
- function SpawnRockAltRewards.prototype.spawnRockAltReward(self, position, rockAltType, seedOrRNG)
48015
+ function SpawnRockAltRewards.prototype.spawnRockAltReward(self, positionOrGridIndex, rockAltType, seedOrRNG)
48006
48016
  if seedOrRNG == nil then
48007
48017
  seedOrRNG = getRandomSeed(nil)
48008
48018
  end
48019
+ local room = game:GetRoom()
48020
+ local position = isVector(nil, positionOrGridIndex) and positionOrGridIndex or room:GetGridPosition(positionOrGridIndex)
48009
48021
  local rng = isRNG(nil, seedOrRNG) and seedOrRNG or newRNG(nil, seedOrRNG)
48010
48022
  repeat
48011
48023
  local ____switch4 = rockAltType