isaacscript-common 51.11.3 → 52.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5742,6 +5742,9 @@ export declare function getGridEntitiesInRadius(targetPosition: Vector, radius:
5742
5742
  */
5743
5743
  export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[]): Map<int, GridEntity>;
5744
5744
 
5745
+ /** Helper function to get the ANM2 path for a grid entity type. */
5746
+ export declare function getGridEntityANM2Path(gridEntityType: GridEntityType): string | undefined;
5747
+
5745
5748
  /** Helper function to get the top left and bottom right corners of a given grid entity. */
5746
5749
  export declare function getGridEntityCollisionPoints(gridEntity: GridEntity): {
5747
5750
  topLeft: Vector;
@@ -6939,6 +6942,14 @@ export declare function getReversedMap<K, V>(map: ReadonlyMap<K, V>): ReadonlyMa
6939
6942
  */
6940
6943
  export declare function getRockAltType(): RockAltType;
6941
6944
 
6945
+ /**
6946
+ * Helper function to get the PNG path for a rock. This depends on the current room's backdrop. The
6947
+ * values are taken from the "backdrops.xml" file.
6948
+ *
6949
+ * All of the rock PNGs are in the "gfx/grid" directory.
6950
+ */
6951
+ export declare function getRockPNGPath(): string;
6952
+
6942
6953
  /**
6943
6954
  * Helper function to get all of the `GridEntityRock` in the room.
6944
6955
  *
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 51.11.3
3
+ isaacscript-common 52.0.1
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -15448,8 +15448,8 @@ ____exports.BackdropType.BASEMENT = 1
15448
15448
  ____exports.BackdropType[____exports.BackdropType.BASEMENT] = "BASEMENT"
15449
15449
  ____exports.BackdropType.CELLAR = 2
15450
15450
  ____exports.BackdropType[____exports.BackdropType.CELLAR] = "CELLAR"
15451
- ____exports.BackdropType.BURNT_BASEMENT = 3
15452
- ____exports.BackdropType[____exports.BackdropType.BURNT_BASEMENT] = "BURNT_BASEMENT"
15451
+ ____exports.BackdropType.BURNING_BASEMENT = 3
15452
+ ____exports.BackdropType[____exports.BackdropType.BURNING_BASEMENT] = "BURNING_BASEMENT"
15453
15453
  ____exports.BackdropType.CAVES = 4
15454
15454
  ____exports.BackdropType[____exports.BackdropType.CAVES] = "CAVES"
15455
15455
  ____exports.BackdropType.CATACOMBS = 5
@@ -27060,39 +27060,39 @@ ____exports.ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP = __TS__New(ReadonlyMap,
27060
27060
  })
27061
27061
  return ____exports
27062
27062
  end,
27063
- ["src.objects.gridEntityTypeToANM2Path"] = function(...)
27063
+ ["src.objects.gridEntityTypeToANM2Name"] = function(...)
27064
27064
  local ____exports = {}
27065
27065
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
27066
27066
  local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
27067
- ____exports.GRID_ENTITY_TYPE_TO_ANM2_PATH = {
27067
+ ____exports.GRID_ENTITY_TYPE_TO_ANM2_NAME = {
27068
27068
  [GridEntityType.NULL] = nil,
27069
- [GridEntityType.DECORATION] = "gfx/grid/Props_01_Basement.anm2",
27070
- [GridEntityType.ROCK] = "gfx/grid/grid_rock.anm2",
27071
- [GridEntityType.BLOCK] = "gfx/grid/grid_rock.anm2",
27072
- [GridEntityType.ROCK_TINTED] = "gfx/grid/grid_rock.anm2",
27073
- [GridEntityType.ROCK_BOMB] = "gfx/grid/grid_rock.anm2",
27074
- [GridEntityType.ROCK_ALT] = "gfx/grid/grid_rock.anm2",
27075
- [GridEntityType.PIT] = "gfx/grid/grid_pit.anm2",
27076
- [GridEntityType.SPIKES] = "gfx/grid/grid_spikes.anm2",
27077
- [GridEntityType.SPIKES_ON_OFF] = "gfx/grid/grid_spikes.anm2",
27078
- [GridEntityType.SPIDER_WEB] = "gfx/grid/grid_web.anm2",
27079
- [GridEntityType.LOCK] = "gfx/grid/grid_locks.anm2",
27080
- [GridEntityType.TNT] = "gfx/grid/grid_tnt.anm2",
27081
- [GridEntityType.FIREPLACE] = "gfx/grid/grid_fireplace.anm2",
27082
- [GridEntityType.POOP] = "gfx/grid/grid_poop.anm2",
27069
+ [GridEntityType.DECORATION] = "Props_01_Basement.anm2",
27070
+ [GridEntityType.ROCK] = "grid_rock.anm2",
27071
+ [GridEntityType.BLOCK] = "grid_rock.anm2",
27072
+ [GridEntityType.ROCK_TINTED] = "grid_rock.anm2",
27073
+ [GridEntityType.ROCK_BOMB] = "grid_rock.anm2",
27074
+ [GridEntityType.ROCK_ALT] = "grid_rock.anm2",
27075
+ [GridEntityType.PIT] = "grid_pit.anm2",
27076
+ [GridEntityType.SPIKES] = "grid_spikes.anm2",
27077
+ [GridEntityType.SPIKES_ON_OFF] = "grid_spikes.anm2",
27078
+ [GridEntityType.SPIDER_WEB] = "grid_web.anm2",
27079
+ [GridEntityType.LOCK] = "grid_locks.anm2",
27080
+ [GridEntityType.TNT] = "grid_tnt.anm2",
27081
+ [GridEntityType.FIREPLACE] = "grid_fireplace.anm2",
27082
+ [GridEntityType.POOP] = "grid_poop.anm2",
27083
27083
  [GridEntityType.WALL] = nil,
27084
27084
  [GridEntityType.DOOR] = nil,
27085
- [GridEntityType.TRAPDOOR] = "gfx/grid/Door_11_TrapDoor.anm2",
27086
- [GridEntityType.CRAWL_SPACE] = "gfx/grid/door_20_secrettrapdoor.anm2",
27085
+ [GridEntityType.TRAPDOOR] = "Door_11_TrapDoor.anm2",
27086
+ [GridEntityType.CRAWL_SPACE] = "door_20_secrettrapdoor.anm2",
27087
27087
  [GridEntityType.GRAVITY] = nil,
27088
- [GridEntityType.PRESSURE_PLATE] = "gfx/grid/grid_pressureplate.anm2",
27088
+ [GridEntityType.PRESSURE_PLATE] = "grid_pressureplate.anm2",
27089
27089
  [GridEntityType.STATUE] = nil,
27090
- [GridEntityType.ROCK_SUPER_SPECIAL] = "gfx/grid/grid_rock.anm2",
27091
- [GridEntityType.TELEPORTER] = "gfx/grid/grid_teleporter.anm2",
27092
- [GridEntityType.PILLAR] = "gfx/grid/grid_rock.anm2",
27093
- [GridEntityType.ROCK_SPIKED] = "gfx/grid/grid_rock.anm2",
27094
- [GridEntityType.ROCK_ALT_2] = "gfx/grid/grid_rock.anm2",
27095
- [GridEntityType.ROCK_GOLD] = "gfx/grid/grid_rock.anm2"
27090
+ [GridEntityType.ROCK_SUPER_SPECIAL] = "grid_rock.anm2",
27091
+ [GridEntityType.TELEPORTER] = "grid_teleporter.anm2",
27092
+ [GridEntityType.PILLAR] = "grid_rock.anm2",
27093
+ [GridEntityType.ROCK_SPIKED] = "grid_rock.anm2",
27094
+ [GridEntityType.ROCK_ALT_2] = "grid_rock.anm2",
27095
+ [GridEntityType.ROCK_GOLD] = "grid_rock.anm2"
27096
27096
  }
27097
27097
  return ____exports
27098
27098
  end,
@@ -28435,8 +28435,9 @@ local __TS__StringSplit = ____lualib.__TS__StringSplit
28435
28435
  local Set = ____lualib.Set
28436
28436
  local Map = ____lualib.Map
28437
28437
  local ____exports = {}
28438
- local getAllGridEntities
28438
+ local getAllGridEntities, getGridEntityANM2Name, getGridEntityANM2NameDecoration, getRockPNGName
28439
28439
  local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
28440
+ local BackdropType = ____isaac_2Dtypescript_2Ddefinitions.BackdropType
28440
28441
  local EffectVariant = ____isaac_2Dtypescript_2Ddefinitions.EffectVariant
28441
28442
  local GridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.GridCollisionClass
28442
28443
  local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
@@ -28457,8 +28458,8 @@ local GRID_ENTITY_XML_MAP = ____gridEntityXMLMap.GRID_ENTITY_XML_MAP
28457
28458
  local ____roomShapeToTopLeftWallGridIndexMap = require("src.maps.roomShapeToTopLeftWallGridIndexMap")
28458
28459
  local DEFAULT_TOP_LEFT_WALL_GRID_INDEX = ____roomShapeToTopLeftWallGridIndexMap.DEFAULT_TOP_LEFT_WALL_GRID_INDEX
28459
28460
  local ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP = ____roomShapeToTopLeftWallGridIndexMap.ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP
28460
- local ____gridEntityTypeToANM2Path = require("src.objects.gridEntityTypeToANM2Path")
28461
- local GRID_ENTITY_TYPE_TO_ANM2_PATH = ____gridEntityTypeToANM2Path.GRID_ENTITY_TYPE_TO_ANM2_PATH
28461
+ local ____gridEntityTypeToANM2Name = require("src.objects.gridEntityTypeToANM2Name")
28462
+ local GRID_ENTITY_TYPE_TO_ANM2_NAME = ____gridEntityTypeToANM2Name.GRID_ENTITY_TYPE_TO_ANM2_NAME
28462
28463
  local ____poopGridEntityXMLTypesSet = require("src.sets.poopGridEntityXMLTypesSet")
28463
28464
  local POOP_GRID_ENTITY_XML_TYPES_SET = ____poopGridEntityXMLTypesSet.POOP_GRID_ENTITY_XML_TYPES_SET
28464
28465
  local ____ReadonlySet = require("src.types.ReadonlySet")
@@ -28497,11 +28498,273 @@ function getAllGridEntities(self)
28497
28498
  end
28498
28499
  return gridEntities
28499
28500
  end
28501
+ function getGridEntityANM2Name(self, gridEntityType)
28502
+ repeat
28503
+ local ____switch33 = gridEntityType
28504
+ local ____cond33 = ____switch33 == GridEntityType.DECORATION
28505
+ if ____cond33 then
28506
+ do
28507
+ return getGridEntityANM2NameDecoration(nil)
28508
+ end
28509
+ end
28510
+ do
28511
+ do
28512
+ return GRID_ENTITY_TYPE_TO_ANM2_NAME[gridEntityType]
28513
+ end
28514
+ end
28515
+ until true
28516
+ end
28517
+ function getGridEntityANM2NameDecoration(self)
28518
+ local room = game:GetRoom()
28519
+ local backdropType = room:GetBackdropType()
28520
+ repeat
28521
+ local ____switch37 = backdropType
28522
+ local ____cond37 = ____switch37 == BackdropType.BASEMENT or ____switch37 == BackdropType.CELLAR or ____switch37 == BackdropType.BURNING_BASEMENT or ____switch37 == BackdropType.DOWNPOUR_ENTRANCE or ____switch37 == BackdropType.ISAACS_BEDROOM or ____switch37 == BackdropType.CLOSET
28523
+ if ____cond37 then
28524
+ do
28525
+ return "Props_01_Basement.anm2"
28526
+ end
28527
+ end
28528
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.CAVES or ____switch37 == BackdropType.CATACOMBS or ____switch37 == BackdropType.FLOODED_CAVES or ____switch37 == BackdropType.MINES_ENTRANCE)
28529
+ if ____cond37 then
28530
+ do
28531
+ return "Props_03_Caves.anm2"
28532
+ end
28533
+ end
28534
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.DEPTHS or ____switch37 == BackdropType.NECROPOLIS or ____switch37 == BackdropType.DANK_DEPTHS or ____switch37 == BackdropType.SACRIFICE or ____switch37 == BackdropType.MAUSOLEUM or ____switch37 == BackdropType.MAUSOLEUM_ENTRANCE or ____switch37 == BackdropType.CORPSE_ENTRANCE or ____switch37 == BackdropType.MAUSOLEUM_2 or ____switch37 == BackdropType.MAUSOLEUM_3 or ____switch37 == BackdropType.MAUSOLEUM_4 or ____switch37 == BackdropType.CLOSET_B or ____switch37 == BackdropType.DARK_CLOSET)
28535
+ if ____cond37 then
28536
+ do
28537
+ return "Props_05_Depths.anm2"
28538
+ end
28539
+ end
28540
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.WOMB or ____switch37 == BackdropType.SCARRED_WOMB)
28541
+ if ____cond37 then
28542
+ do
28543
+ return "Props_07_The Womb.anm2"
28544
+ end
28545
+ end
28546
+ ____cond37 = ____cond37 or ____switch37 == BackdropType.UTERO
28547
+ if ____cond37 then
28548
+ do
28549
+ return "Props_07_Utero.anm2"
28550
+ end
28551
+ end
28552
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.BLUE_WOMB or ____switch37 == BackdropType.BLUE_WOMB_PASS)
28553
+ if ____cond37 then
28554
+ do
28555
+ return "Props_07_The Womb_blue.anm2"
28556
+ end
28557
+ end
28558
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.SHEOL or ____switch37 == BackdropType.GEHENNA)
28559
+ if ____cond37 then
28560
+ do
28561
+ return "Props_09_Sheol.anm2"
28562
+ end
28563
+ end
28564
+ ____cond37 = ____cond37 or ____switch37 == BackdropType.CATHEDRAL
28565
+ if ____cond37 then
28566
+ do
28567
+ return "Props_10_Cathedral.anm2"
28568
+ end
28569
+ end
28570
+ ____cond37 = ____cond37 or ____switch37 == BackdropType.CHEST
28571
+ if ____cond37 then
28572
+ do
28573
+ return "Props_11_The Chest.anm2"
28574
+ end
28575
+ end
28576
+ ____cond37 = ____cond37 or ____switch37 == BackdropType.GREED_SHOP
28577
+ if ____cond37 then
28578
+ do
28579
+ return "Props_12_Greed.anm2"
28580
+ end
28581
+ end
28582
+ ____cond37 = ____cond37 or ____switch37 == BackdropType.DOWNPOUR
28583
+ if ____cond37 then
28584
+ do
28585
+ return "props_01x_downpour.anm2"
28586
+ end
28587
+ end
28588
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.MINES or ____switch37 == BackdropType.ASHPIT or ____switch37 == BackdropType.MINES_SHAFT or ____switch37 == BackdropType.ASHPIT_SHAFT)
28589
+ if ____cond37 then
28590
+ do
28591
+ return "props_03x_mines.anm2"
28592
+ end
28593
+ end
28594
+ ____cond37 = ____cond37 or (____switch37 == BackdropType.CORPSE or ____switch37 == BackdropType.CORPSE_2 or ____switch37 == BackdropType.CORPSE_3 or ____switch37 == BackdropType.MORTIS)
28595
+ if ____cond37 then
28596
+ do
28597
+ return "props_07_the corpse.anm2"
28598
+ end
28599
+ end
28600
+ ____cond37 = ____cond37 or ____switch37 == BackdropType.DROSS
28601
+ if ____cond37 then
28602
+ do
28603
+ return "props_02x_dross.anm2"
28604
+ end
28605
+ end
28606
+ do
28607
+ do
28608
+ return "Props_01_Basement.anm2"
28609
+ end
28610
+ end
28611
+ until true
28612
+ end
28500
28613
  function ____exports.getGridEntityCollisionPoints(self, gridEntity)
28501
28614
  local topLeft = Vector(gridEntity.Position.X - DISTANCE_OF_GRID_TILE / 2, gridEntity.Position.Y - DISTANCE_OF_GRID_TILE / 2)
28502
28615
  local bottomRight = Vector(gridEntity.Position.X + DISTANCE_OF_GRID_TILE / 2, gridEntity.Position.Y + DISTANCE_OF_GRID_TILE / 2)
28503
28616
  return {topLeft = topLeft, bottomRight = bottomRight}
28504
28617
  end
28618
+ function getRockPNGName(self)
28619
+ local room = game:GetRoom()
28620
+ local backdropType = room:GetBackdropType()
28621
+ repeat
28622
+ local ____switch60 = backdropType
28623
+ local ____cond60 = ____switch60 == BackdropType.BASEMENT or ____switch60 == BackdropType.CHEST
28624
+ if ____cond60 then
28625
+ do
28626
+ return "rocks_basement.png"
28627
+ end
28628
+ end
28629
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.CELLAR
28630
+ if ____cond60 then
28631
+ do
28632
+ return "rocks_cellar.png"
28633
+ end
28634
+ end
28635
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.BURNING_BASEMENT
28636
+ if ____cond60 then
28637
+ do
28638
+ return "rocks_burningbasement.png"
28639
+ end
28640
+ end
28641
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.CAVES
28642
+ if ____cond60 then
28643
+ do
28644
+ return "rocks_caves.png"
28645
+ end
28646
+ end
28647
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.CATACOMBS
28648
+ if ____cond60 then
28649
+ do
28650
+ return "rocks_catacombs.png"
28651
+ end
28652
+ end
28653
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.FLOODED_CAVES
28654
+ if ____cond60 then
28655
+ do
28656
+ return "rocks_drownedcaves.png"
28657
+ end
28658
+ end
28659
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.DEPTHS or ____switch60 == BackdropType.NECROPOLIS or ____switch60 == BackdropType.DANK_DEPTHS or ____switch60 == BackdropType.SACRIFICE or ____switch60 == BackdropType.DARK_CLOSET)
28660
+ if ____cond60 then
28661
+ do
28662
+ return "rocks_depths.png"
28663
+ end
28664
+ end
28665
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.WOMB
28666
+ if ____cond60 then
28667
+ do
28668
+ return "rocks_womb.png"
28669
+ end
28670
+ end
28671
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.UTERO
28672
+ if ____cond60 then
28673
+ do
28674
+ return "rocks_utero.png"
28675
+ end
28676
+ end
28677
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.SCARRED_WOMB
28678
+ if ____cond60 then
28679
+ do
28680
+ return "rocks_scarredwomb.png"
28681
+ end
28682
+ end
28683
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.BLUE_WOMB or ____switch60 == BackdropType.BLUE_WOMB_PASS)
28684
+ if ____cond60 then
28685
+ do
28686
+ return "rocks_bluewomb.png"
28687
+ end
28688
+ end
28689
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.SHEOL or ____switch60 == BackdropType.DARK_ROOM)
28690
+ if ____cond60 then
28691
+ do
28692
+ return "rocks_sheol.png"
28693
+ end
28694
+ end
28695
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.CATHEDRAL or ____switch60 == BackdropType.PLANETARIUM)
28696
+ if ____cond60 then
28697
+ do
28698
+ return "rocks_cathedral.png"
28699
+ end
28700
+ end
28701
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.SECRET or ____switch60 == BackdropType.MINES or ____switch60 == BackdropType.MINES_ENTRANCE or ____switch60 == BackdropType.MINES_SHAFT)
28702
+ if ____cond60 then
28703
+ do
28704
+ return "rocks_secretroom.png"
28705
+ end
28706
+ end
28707
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.DOWNPOUR or ____switch60 == BackdropType.DOWNPOUR_ENTRANCE)
28708
+ if ____cond60 then
28709
+ do
28710
+ return "rocks_downpour.png"
28711
+ end
28712
+ end
28713
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.MAUSOLEUM or ____switch60 == BackdropType.MAUSOLEUM_ENTRANCE or ____switch60 == BackdropType.MAUSOLEUM_2 or ____switch60 == BackdropType.MAUSOLEUM_3 or ____switch60 == BackdropType.MAUSOLEUM_4)
28714
+ if ____cond60 then
28715
+ do
28716
+ return "rocks_mausoleum.png"
28717
+ end
28718
+ end
28719
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.CORPSE or ____switch60 == BackdropType.MORTIS)
28720
+ if ____cond60 then
28721
+ do
28722
+ return "rocks_corpse.png"
28723
+ end
28724
+ end
28725
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.CORPSE_ENTRANCE
28726
+ if ____cond60 then
28727
+ do
28728
+ return "rocks_corpseentrance.png"
28729
+ end
28730
+ end
28731
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.CORPSE_2
28732
+ if ____cond60 then
28733
+ do
28734
+ return "rocks_corpse2.png"
28735
+ end
28736
+ end
28737
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.CORPSE_3
28738
+ if ____cond60 then
28739
+ do
28740
+ return "rocks_corpse3.png"
28741
+ end
28742
+ end
28743
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.DROSS
28744
+ if ____cond60 then
28745
+ do
28746
+ return "rocks_dross.png"
28747
+ end
28748
+ end
28749
+ ____cond60 = ____cond60 or (____switch60 == BackdropType.ASHPIT or ____switch60 == BackdropType.ASHPIT_SHAFT)
28750
+ if ____cond60 then
28751
+ do
28752
+ return "rocks_ashpit.png"
28753
+ end
28754
+ end
28755
+ ____cond60 = ____cond60 or ____switch60 == BackdropType.GEHENNA
28756
+ if ____cond60 then
28757
+ do
28758
+ return "rocks_gehenna.png"
28759
+ end
28760
+ end
28761
+ do
28762
+ do
28763
+ return "rocks_basement.png"
28764
+ end
28765
+ end
28766
+ until true
28767
+ end
28505
28768
  function ____exports.getTopLeftWallGridIndex(self)
28506
28769
  local room = game:GetRoom()
28507
28770
  local roomShape = room:GetRoomShape()
@@ -28727,6 +28990,10 @@ function ____exports.getGridEntitiesMap(self, ...)
28727
28990
  end
28728
28991
  return gridEntityMap
28729
28992
  end
28993
+ function ____exports.getGridEntityANM2Path(self, gridEntityType)
28994
+ local gridEntityANM2Name = getGridEntityANM2Name(nil, gridEntityType)
28995
+ return "gfx/grid/" .. tostring(gridEntityANM2Name)
28996
+ end
28730
28997
  function ____exports.getGridEntityID(self, gridEntity)
28731
28998
  local gridEntityType = gridEntity:GetType()
28732
28999
  local variant = gridEntity:GetVariant()
@@ -28742,6 +29009,10 @@ function ____exports.getMatchingGridEntities(self, gridEntityType, variant)
28742
29009
  function(____, gridEntity) return gridEntity:GetVariant() == variant end
28743
29010
  )
28744
29011
  end
29012
+ function ____exports.getRockPNGPath(self)
29013
+ local rockPNGName = getRockPNGName(nil)
29014
+ return "gfx/grid/" .. rockPNGName
29015
+ end
28745
29016
  function ____exports.getSurroundingGridEntities(self, gridEntity)
28746
29017
  local room = game:GetRoom()
28747
29018
  local gridWidth = room:GetGridWidth()
@@ -28850,12 +29121,18 @@ end
28850
29121
  function ____exports.setGridEntityType(self, gridEntity, gridEntityType)
28851
29122
  gridEntity:SetType(gridEntityType)
28852
29123
  local sprite = gridEntity:GetSprite()
28853
- local anm2Path = GRID_ENTITY_TYPE_TO_ANM2_PATH[gridEntityType]
28854
- if anm2Path ~= nil then
28855
- sprite:Load(anm2Path, true)
28856
- local defaultAnimation = sprite:GetDefaultAnimation()
28857
- sprite:Play(defaultAnimation, true)
29124
+ local anm2Path = ____exports.getGridEntityANM2Path(nil, gridEntityType)
29125
+ if anm2Path == nil then
29126
+ return
28858
29127
  end
29128
+ sprite:Load(anm2Path, false)
29129
+ if gridEntityType == GridEntityType.ROCK then
29130
+ local pngPath = ____exports.getRockPNGPath(nil)
29131
+ sprite:ReplaceSpritesheet(0, pngPath)
29132
+ end
29133
+ sprite:LoadGraphics()
29134
+ local defaultAnimation = sprite:GetDefaultAnimation()
29135
+ sprite:Play(defaultAnimation, true)
28859
29136
  end
28860
29137
  function ____exports.spawnGiantPoop(self, topLeftGridIndex)
28861
29138
  local room = game:GetRoom()
@@ -41241,7 +41518,7 @@ local RockAltType = ____RockAltType.RockAltType
41241
41518
  ____exports.BACKDROP_TYPE_TO_ROCK_ALT_TYPE = {
41242
41519
  [BackdropType.BASEMENT] = RockAltType.URN,
41243
41520
  [BackdropType.CELLAR] = RockAltType.URN,
41244
- [BackdropType.BURNT_BASEMENT] = RockAltType.URN,
41521
+ [BackdropType.BURNING_BASEMENT] = RockAltType.URN,
41245
41522
  [BackdropType.CAVES] = RockAltType.MUSHROOM,
41246
41523
  [BackdropType.CATACOMBS] = RockAltType.MUSHROOM,
41247
41524
  [BackdropType.FLOODED_CAVES] = RockAltType.MUSHROOM,
@@ -81,6 +81,8 @@ export declare function getGridEntitiesInRadius(targetPosition: Vector, radius:
81
81
  * @allowEmptyVariadic
82
82
  */
83
83
  export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[]): Map<int, GridEntity>;
84
+ /** Helper function to get the ANM2 path for a grid entity type. */
85
+ export declare function getGridEntityANM2Path(gridEntityType: GridEntityType): string | undefined;
84
86
  /** Helper function to get the top left and bottom right corners of a given grid entity. */
85
87
  export declare function getGridEntityCollisionPoints(gridEntity: GridEntity): {
86
88
  topLeft: Vector;
@@ -100,6 +102,13 @@ export declare function getGridEntityIDFromConstituents(gridEntityType: GridEnti
100
102
  * If you want to match every variant, use the `getGridEntities` function instead.
101
103
  */
102
104
  export declare function getMatchingGridEntities(gridEntityType: GridEntityType, variant: int): GridEntity[];
105
+ /**
106
+ * Helper function to get the PNG path for a rock. This depends on the current room's backdrop. The
107
+ * values are taken from the "backdrops.xml" file.
108
+ *
109
+ * All of the rock PNGs are in the "gfx/grid" directory.
110
+ */
111
+ export declare function getRockPNGPath(): string;
103
112
  /**
104
113
  * Helper function to get the grid entities on the surrounding tiles from the provided grid entity.
105
114
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gridEntities.d.ts","sourceRoot":"","sources":["../../../src/functions/gridEntities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gridEntities.d.ts","sourceRoot":"","sources":["../../../src/functions/gridEntities.ts"],"names":[],"mappings":"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"}