isaacscript-common 30.12.11 → 31.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.
- package/dist/index.rollup.d.ts +141 -20
- package/dist/isaacscript-common.lua +139 -101
- package/dist/src/classes/features/other/customStages/backdrop.lua +3 -3
- package/dist/src/functions/levelGrid.d.ts +22 -13
- package/dist/src/functions/levelGrid.d.ts.map +1 -1
- package/dist/src/functions/levelGrid.lua +46 -23
- package/dist/src/functions/logMisc.d.ts.map +1 -1
- package/dist/src/functions/logMisc.lua +3 -7
- package/dist/src/functions/roomData.d.ts +1 -5
- package/dist/src/functions/roomData.d.ts.map +1 -1
- package/dist/src/functions/roomGrid.lua +6 -6
- package/dist/src/functions/roomShape.d.ts +1 -1
- package/dist/src/functions/roomShape.d.ts.map +1 -1
- package/dist/src/functions/roomShape.lua +1 -1
- package/dist/src/functions/roomShapeWalls.lua +2 -2
- package/dist/src/functions/rooms.d.ts +98 -1
- package/dist/src/functions/rooms.d.ts.map +1 -1
- package/dist/src/functions/rooms.lua +145 -68
- package/package.json +1 -1
- package/src/classes/features/other/customStages/backdrop.ts +3 -3
- package/src/functions/levelGrid.ts +51 -24
- package/src/functions/logMisc.ts +5 -9
- package/src/functions/roomData.ts +4 -0
- package/src/functions/roomGrid.ts +2 -2
- package/src/functions/roomShape.ts +1 -1
- package/src/functions/roomShapeWalls.ts +2 -2
- package/src/functions/rooms.ts +237 -118
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common
|
|
3
|
+
isaacscript-common 31.0.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -25336,7 +25336,7 @@ end
|
|
|
25336
25336
|
function ____exports.getRoomShapeWidth(self, roomShape)
|
|
25337
25337
|
return ROOM_SHAPE_TO_GRID_WIDTH[roomShape]
|
|
25338
25338
|
end
|
|
25339
|
-
function ____exports.
|
|
25339
|
+
function ____exports.isLRoomShape(self, roomShape)
|
|
25340
25340
|
return L_ROOM_SHAPES_SET:has(roomShape)
|
|
25341
25341
|
end
|
|
25342
25342
|
function ____exports.isNarrowRoom(self, roomShape)
|
|
@@ -27306,9 +27306,9 @@ local Map = ____lualib.Map
|
|
|
27306
27306
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
27307
27307
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
27308
27308
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
27309
|
+
local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
|
|
27309
27310
|
local __TS__StringIncludes = ____lualib.__TS__StringIncludes
|
|
27310
27311
|
local __TS__ArrayIncludes = ____lualib.__TS__ArrayIncludes
|
|
27311
|
-
local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
|
|
27312
27312
|
local ____exports = {}
|
|
27313
27313
|
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
27314
27314
|
local AngelRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.AngelRoomSubType
|
|
@@ -27318,7 +27318,6 @@ local DownpourRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.DownpourRoomSub
|
|
|
27318
27318
|
local DungeonSubType = ____isaac_2Dtypescript_2Ddefinitions.DungeonSubType
|
|
27319
27319
|
local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
|
|
27320
27320
|
local HomeRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.HomeRoomSubType
|
|
27321
|
-
local LevelStage = ____isaac_2Dtypescript_2Ddefinitions.LevelStage
|
|
27322
27321
|
local RoomDescriptorFlag = ____isaac_2Dtypescript_2Ddefinitions.RoomDescriptorFlag
|
|
27323
27322
|
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
|
|
27324
27323
|
local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
|
|
@@ -27357,9 +27356,8 @@ local getRoomData = ____roomData.getRoomData
|
|
|
27357
27356
|
local getRoomDescriptor = ____roomData.getRoomDescriptor
|
|
27358
27357
|
local getRoomDescriptorReadOnly = ____roomData.getRoomDescriptorReadOnly
|
|
27359
27358
|
local getRoomGridIndex = ____roomData.getRoomGridIndex
|
|
27360
|
-
local
|
|
27361
|
-
local
|
|
27362
|
-
local getRoomSubType = ____roomData.getRoomSubType
|
|
27359
|
+
local ____roomShape = require("src.functions.roomShape")
|
|
27360
|
+
local isLRoomShape = ____roomShape.isLRoomShape
|
|
27363
27361
|
local ____roomTransition = require("src.functions.roomTransition")
|
|
27364
27362
|
local reloadRoom = ____roomTransition.reloadRoom
|
|
27365
27363
|
local ____stage = require("src.functions.stage")
|
|
@@ -27413,6 +27411,61 @@ function ____exports.getRoomsOutsideGrid(self)
|
|
|
27413
27411
|
function(____, readOnlyRoomDescriptor) return getRoomDescriptor(nil, readOnlyRoomDescriptor.SafeGridIndex) end
|
|
27414
27412
|
)
|
|
27415
27413
|
end
|
|
27414
|
+
function ____exports.is2x1Room(self, roomData)
|
|
27415
|
+
return roomData.Shape == RoomShape.SHAPE_1x2 or roomData.Shape == RoomShape.SHAPE_2x1
|
|
27416
|
+
end
|
|
27417
|
+
function ____exports.isAngelShop(self, roomData)
|
|
27418
|
+
return roomData.Type == RoomType.ANGEL and roomData.Subtype == asNumber(nil, AngelRoomSubType.SHOP)
|
|
27419
|
+
end
|
|
27420
|
+
function ____exports.isBeastRoom(self, roomData)
|
|
27421
|
+
return roomData.Type == RoomType.DUNGEON and roomData.Subtype == asNumber(nil, DungeonSubType.BEAST_ROOM)
|
|
27422
|
+
end
|
|
27423
|
+
function ____exports.isBossRoomOf(self, roomData, bossID)
|
|
27424
|
+
return roomData.Type == RoomType.BOSS and roomData.StageID == StageID.SPECIAL_ROOMS and roomData.Subtype == asNumber(nil, bossID)
|
|
27425
|
+
end
|
|
27426
|
+
function ____exports.isCrawlSpace(self, roomData)
|
|
27427
|
+
return roomData.Type == RoomType.DUNGEON and roomData.Subtype == asNumber(nil, DungeonSubType.NORMAL)
|
|
27428
|
+
end
|
|
27429
|
+
function ____exports.isDeathCertificateArea(self, roomData)
|
|
27430
|
+
return roomData.StageID == StageID.HOME and (roomData.Subtype == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE) or roomData.Subtype == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ITEMS))
|
|
27431
|
+
end
|
|
27432
|
+
function ____exports.isDevilsCrownTreasureRoom(self, roomDescriptor)
|
|
27433
|
+
return hasFlag(nil, roomDescriptor.Flags, RoomDescriptorFlag.DEVIL_TREASURE)
|
|
27434
|
+
end
|
|
27435
|
+
function ____exports.isDoubleTrouble(self, roomData)
|
|
27436
|
+
return roomData.Type == RoomType.BOSS and __TS__StringIncludes(roomData.Name, "Double Trouble")
|
|
27437
|
+
end
|
|
27438
|
+
function ____exports.isGenesisRoom(self, roomDescriptor)
|
|
27439
|
+
return roomDescriptor.GridIndex == asNumber(nil, GridRoom.GENESIS)
|
|
27440
|
+
end
|
|
27441
|
+
function ____exports.isHomeCloset(self, roomData)
|
|
27442
|
+
return roomData.StageID == StageID.HOME and (roomData.Subtype == asNumber(nil, HomeRoomSubType.CLOSET_LEFT) or roomData.Subtype == asNumber(nil, HomeRoomSubType.CLOSET_RIGHT))
|
|
27443
|
+
end
|
|
27444
|
+
function ____exports.isLRoom(self, roomData)
|
|
27445
|
+
return isLRoomShape(nil, roomData.Shape)
|
|
27446
|
+
end
|
|
27447
|
+
function ____exports.isMegaSatanRoom(self, roomDescriptor)
|
|
27448
|
+
return roomDescriptor.GridIndex == asNumber(nil, GridRoom.MEGA_SATAN)
|
|
27449
|
+
end
|
|
27450
|
+
function ____exports.isMineShaft(self, roomData)
|
|
27451
|
+
return (roomData.StageID == StageID.MINES or roomData.StageID == StageID.ASHPIT) and MINE_SHAFT_ROOM_SUB_TYPE_SET:has(roomData.Subtype)
|
|
27452
|
+
end
|
|
27453
|
+
function ____exports.isMinibossRoomOf(self, roomData, minibossID)
|
|
27454
|
+
return roomData.Type == RoomType.MINI_BOSS and roomData.StageID == StageID.SPECIAL_ROOMS and roomData.Subtype == asNumber(nil, minibossID)
|
|
27455
|
+
end
|
|
27456
|
+
function ____exports.isMirrorRoom(self, roomData)
|
|
27457
|
+
return roomData.Type == RoomType.DEFAULT and (roomData.StageID == StageID.DOWNPOUR or roomData.StageID == StageID.DROSS) and roomData.Subtype == asNumber(nil, DownpourRoomSubType.MIRROR)
|
|
27458
|
+
end
|
|
27459
|
+
function ____exports.isRoomType(self, roomData, ...)
|
|
27460
|
+
local roomTypes = {...}
|
|
27461
|
+
return __TS__ArrayIncludes(roomTypes, roomData.Type)
|
|
27462
|
+
end
|
|
27463
|
+
function ____exports.isSecretExit(self, roomDescriptor)
|
|
27464
|
+
return roomDescriptor.GridIndex == asNumber(nil, GridRoom.SECRET_EXIT)
|
|
27465
|
+
end
|
|
27466
|
+
function ____exports.isSecretShop(self, roomDescriptor)
|
|
27467
|
+
return roomDescriptor.GridIndex == asNumber(nil, GridRoom.SECRET_SHOP)
|
|
27468
|
+
end
|
|
27416
27469
|
local SECRET_ROOM_TYPES = __TS__New(ReadonlySet, {RoomType.SECRET, RoomType.SUPER_SECRET, RoomType.ULTRA_SECRET})
|
|
27417
27470
|
function ____exports.changeRoom(self, roomGridIndex)
|
|
27418
27471
|
local level = game:GetLevel()
|
|
@@ -27478,101 +27531,76 @@ function ____exports.getRoomsOfDimension(self, dimension)
|
|
|
27478
27531
|
return {__TS__Spread(roomsMap:values())}
|
|
27479
27532
|
end
|
|
27480
27533
|
function ____exports.in2x1Room(self)
|
|
27481
|
-
local
|
|
27482
|
-
|
|
27483
|
-
return roomShape == RoomShape.SHAPE_1x2 or roomShape == RoomShape.SHAPE_2x1
|
|
27534
|
+
local roomData = getRoomData(nil)
|
|
27535
|
+
return ____exports.is2x1Room(nil, roomData)
|
|
27484
27536
|
end
|
|
27485
27537
|
function ____exports.inAngelShop(self)
|
|
27486
|
-
local
|
|
27487
|
-
|
|
27488
|
-
local roomSubType = getRoomSubType(nil)
|
|
27489
|
-
return roomType == RoomType.ANGEL and roomSubType == asNumber(nil, AngelRoomSubType.SHOP)
|
|
27538
|
+
local roomData = getRoomData(nil)
|
|
27539
|
+
return ____exports.isAngelShop(nil, roomData)
|
|
27490
27540
|
end
|
|
27491
27541
|
function ____exports.inBeastRoom(self)
|
|
27492
|
-
local
|
|
27493
|
-
|
|
27494
|
-
local roomSubType = getRoomSubType(nil)
|
|
27495
|
-
return roomType == RoomType.DUNGEON and roomSubType == asNumber(nil, DungeonSubType.BEAST_ROOM)
|
|
27542
|
+
local roomData = getRoomData(nil)
|
|
27543
|
+
return ____exports.isBeastRoom(nil, roomData)
|
|
27496
27544
|
end
|
|
27497
27545
|
function ____exports.inBossRoomOf(self, bossID)
|
|
27498
|
-
local
|
|
27499
|
-
|
|
27500
|
-
local roomStageID = getRoomStageID(nil)
|
|
27501
|
-
local roomSubType = getRoomSubType(nil)
|
|
27502
|
-
return roomType == RoomType.BOSS and roomStageID == StageID.SPECIAL_ROOMS and roomSubType == asNumber(nil, bossID)
|
|
27546
|
+
local roomData = getRoomData(nil)
|
|
27547
|
+
return ____exports.isBossRoomOf(nil, roomData, bossID)
|
|
27503
27548
|
end
|
|
27504
27549
|
function ____exports.inCrawlSpace(self)
|
|
27505
|
-
local
|
|
27506
|
-
|
|
27507
|
-
local roomSubType = getRoomSubType(nil)
|
|
27508
|
-
return roomType == RoomType.DUNGEON and roomSubType == asNumber(nil, DungeonSubType.NORMAL)
|
|
27550
|
+
local roomData = getRoomData(nil)
|
|
27551
|
+
return ____exports.isCrawlSpace(nil, roomData)
|
|
27509
27552
|
end
|
|
27510
27553
|
function ____exports.inDeathCertificateArea(self)
|
|
27511
|
-
local
|
|
27512
|
-
|
|
27513
|
-
return roomStageID == StageID.HOME and (roomSubType == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ENTRANCE) or roomSubType == asNumber(nil, HomeRoomSubType.DEATH_CERTIFICATE_ITEMS))
|
|
27554
|
+
local roomData = getRoomData(nil)
|
|
27555
|
+
return ____exports.isDeathCertificateArea(nil, roomData)
|
|
27514
27556
|
end
|
|
27515
27557
|
function ____exports.inDevilsCrownTreasureRoom(self)
|
|
27516
27558
|
local roomDescriptor = getRoomDescriptorReadOnly(nil)
|
|
27517
|
-
return
|
|
27559
|
+
return ____exports.isDevilsCrownTreasureRoom(nil, roomDescriptor)
|
|
27518
27560
|
end
|
|
27519
27561
|
function ____exports.inDoubleTrouble(self)
|
|
27520
|
-
local
|
|
27521
|
-
|
|
27522
|
-
local roomName = getRoomName(nil)
|
|
27523
|
-
return roomType == RoomType.BOSS and __TS__StringIncludes(roomName, "Double Trouble")
|
|
27562
|
+
local roomData = getRoomData(nil)
|
|
27563
|
+
return ____exports.isDoubleTrouble(nil, roomData)
|
|
27524
27564
|
end
|
|
27525
27565
|
function ____exports.inGenesisRoom(self)
|
|
27526
|
-
local
|
|
27527
|
-
return
|
|
27566
|
+
local roomDescriptor = getRoomDescriptorReadOnly(nil)
|
|
27567
|
+
return ____exports.isGenesisRoom(nil, roomDescriptor)
|
|
27528
27568
|
end
|
|
27529
27569
|
function ____exports.inHomeCloset(self)
|
|
27530
|
-
local
|
|
27531
|
-
|
|
27532
|
-
local roomSubType = getRoomSubType(nil)
|
|
27533
|
-
return stage == LevelStage.HOME and (roomSubType == asNumber(nil, HomeRoomSubType.CLOSET_LEFT) or roomSubType == asNumber(nil, HomeRoomSubType.CLOSET_RIGHT))
|
|
27570
|
+
local roomData = getRoomData(nil)
|
|
27571
|
+
return ____exports.isHomeCloset(nil, roomData)
|
|
27534
27572
|
end
|
|
27535
27573
|
function ____exports.inLRoom(self)
|
|
27536
|
-
local
|
|
27537
|
-
|
|
27538
|
-
return roomShape == RoomShape.LTL or roomShape == RoomShape.LTR or roomShape == RoomShape.LBL or roomShape == RoomShape.LBR
|
|
27574
|
+
local roomData = getRoomData(nil)
|
|
27575
|
+
return ____exports.isLRoom(nil, roomData)
|
|
27539
27576
|
end
|
|
27540
27577
|
function ____exports.inMegaSatanRoom(self)
|
|
27541
|
-
local
|
|
27542
|
-
return
|
|
27578
|
+
local roomDescriptor = getRoomDescriptorReadOnly(nil)
|
|
27579
|
+
return ____exports.isMegaSatanRoom(nil, roomDescriptor)
|
|
27543
27580
|
end
|
|
27544
27581
|
function ____exports.inMineShaft(self)
|
|
27545
|
-
local
|
|
27546
|
-
|
|
27547
|
-
return (roomStageID == StageID.MINES or roomStageID == StageID.ASHPIT) and MINE_SHAFT_ROOM_SUB_TYPE_SET:has(roomSubType)
|
|
27582
|
+
local roomData = getRoomData(nil)
|
|
27583
|
+
return ____exports.isMineShaft(nil, roomData)
|
|
27548
27584
|
end
|
|
27549
27585
|
function ____exports.inMinibossRoomOf(self, minibossID)
|
|
27550
|
-
local
|
|
27551
|
-
|
|
27552
|
-
local roomStageID = getRoomStageID(nil)
|
|
27553
|
-
local roomSubType = getRoomSubType(nil)
|
|
27554
|
-
return roomType == RoomType.MINI_BOSS and roomStageID == StageID.SPECIAL_ROOMS and roomSubType == asNumber(nil, minibossID)
|
|
27586
|
+
local roomData = getRoomData(nil)
|
|
27587
|
+
return ____exports.isMinibossRoomOf(nil, roomData, minibossID)
|
|
27555
27588
|
end
|
|
27556
27589
|
function ____exports.inMirrorRoom(self)
|
|
27557
|
-
local
|
|
27558
|
-
|
|
27559
|
-
local roomStageID = getRoomStageID(nil)
|
|
27560
|
-
local roomSubType = getRoomSubType(nil)
|
|
27561
|
-
return roomType == RoomType.DEFAULT and (roomStageID == StageID.DOWNPOUR or roomStageID == StageID.DROSS) and roomSubType == asNumber(nil, DownpourRoomSubType.MIRROR)
|
|
27590
|
+
local roomData = getRoomData(nil)
|
|
27591
|
+
return ____exports.isMirrorRoom(nil, roomData)
|
|
27562
27592
|
end
|
|
27563
27593
|
function ____exports.inRoomType(self, ...)
|
|
27564
|
-
local
|
|
27565
|
-
|
|
27566
|
-
local thisRoomType = room:GetType()
|
|
27567
|
-
return __TS__ArrayIncludes(roomTypes, thisRoomType)
|
|
27594
|
+
local roomData = getRoomData(nil)
|
|
27595
|
+
return ____exports.isRoomType(nil, roomData, ...)
|
|
27568
27596
|
end
|
|
27569
27597
|
function ____exports.inSecretExit(self)
|
|
27570
|
-
local
|
|
27571
|
-
return
|
|
27598
|
+
local roomDescriptor = getRoomDescriptorReadOnly(nil)
|
|
27599
|
+
return ____exports.isSecretExit(nil, roomDescriptor)
|
|
27572
27600
|
end
|
|
27573
27601
|
function ____exports.inSecretShop(self)
|
|
27574
|
-
local
|
|
27575
|
-
return
|
|
27602
|
+
local roomDescriptor = getRoomDescriptorReadOnly(nil)
|
|
27603
|
+
return ____exports.isSecretShop(nil, roomDescriptor)
|
|
27576
27604
|
end
|
|
27577
27605
|
function ____exports.inStartingRoom(self)
|
|
27578
27606
|
local level = game:GetLevel()
|
|
@@ -27641,12 +27669,12 @@ function ____exports.setRoomCleared(self)
|
|
|
27641
27669
|
for ____, door in ipairs(getDoors(nil)) do
|
|
27642
27670
|
do
|
|
27643
27671
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
27644
|
-
goto
|
|
27672
|
+
goto __continue77
|
|
27645
27673
|
end
|
|
27646
27674
|
openDoorFast(nil, door)
|
|
27647
27675
|
door.ExtraVisible = false
|
|
27648
27676
|
end
|
|
27649
|
-
::
|
|
27677
|
+
::__continue77::
|
|
27650
27678
|
end
|
|
27651
27679
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
27652
27680
|
game:ShakeScreen(0)
|
|
@@ -29498,13 +29526,9 @@ function ____exports.logRoom()
|
|
|
29498
29526
|
local roomListIndex = getRoomListIndex(nil)
|
|
29499
29527
|
local roomData = getRoomData(nil)
|
|
29500
29528
|
log("Logging room information:")
|
|
29501
|
-
|
|
29502
|
-
|
|
29503
|
-
|
|
29504
|
-
log("- Room stage ID: " .. tostring(roomData.StageID))
|
|
29505
|
-
log((((("- Type/variant/sub-type: " .. tostring(roomData.Type)) .. ".") .. tostring(roomData.Variant)) .. ".") .. tostring(roomData.Subtype))
|
|
29506
|
-
log("- Name: " .. roomData.Name)
|
|
29507
|
-
end
|
|
29529
|
+
log("- Room stage ID: " .. tostring(roomData.StageID))
|
|
29530
|
+
log((((("- Type/variant/sub-type: " .. tostring(roomData.Type)) .. ".") .. tostring(roomData.Variant)) .. ".") .. tostring(roomData.Subtype))
|
|
29531
|
+
log("- Name: " .. roomData.Name)
|
|
29508
29532
|
local roomGridIndexName = GridRoom[roomGridIndex]
|
|
29509
29533
|
if roomGridIndexName == nil then
|
|
29510
29534
|
log("- Grid index: " .. tostring(roomGridIndex))
|
|
@@ -42194,7 +42218,7 @@ local spawnEffectWithSeed = ____entitiesSpecific.spawnEffectWithSeed
|
|
|
42194
42218
|
local ____rng = require("src.functions.rng")
|
|
42195
42219
|
local newRNG = ____rng.newRNG
|
|
42196
42220
|
local ____roomShape = require("src.functions.roomShape")
|
|
42197
|
-
local
|
|
42221
|
+
local isLRoomShape = ____roomShape.isLRoomShape
|
|
42198
42222
|
local isNarrowRoom = ____roomShape.isNarrowRoom
|
|
42199
42223
|
local ____string = require("src.functions.string")
|
|
42200
42224
|
local removeCharactersBefore = ____string.removeCharactersBefore
|
|
@@ -42231,7 +42255,7 @@ function spawnWallEntity(self, customStage, rng, isExtraWall)
|
|
|
42231
42255
|
if numWallLayers == nil then
|
|
42232
42256
|
error("Failed to get the layers when creating the backdrop for custom stage: " .. customStage.name)
|
|
42233
42257
|
end
|
|
42234
|
-
if
|
|
42258
|
+
if isLRoomShape(nil, roomShape) then
|
|
42235
42259
|
local cornerPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.CORNER, rng)
|
|
42236
42260
|
sprite:ReplaceSpritesheet(0, cornerPNGPath)
|
|
42237
42261
|
end
|
|
@@ -42278,7 +42302,7 @@ function spawnFloorEntity(self, customStage, rng)
|
|
|
42278
42302
|
local wallPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.WALL, rng)
|
|
42279
42303
|
sprite:ReplaceSpritesheet(layerID, wallPNGPath)
|
|
42280
42304
|
end
|
|
42281
|
-
elseif
|
|
42305
|
+
elseif isLRoomShape(nil, roomShape) then
|
|
42282
42306
|
for ____, layerID in ipairs(L_FLOOR_ANM2_LAYERS) do
|
|
42283
42307
|
local LFloorPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.L_FLOOR, rng)
|
|
42284
42308
|
sprite:ReplaceSpritesheet(layerID, LFloorPNGPath)
|
|
@@ -45924,13 +45948,13 @@ local ____gridIndex = require("src.functions.gridIndex")
|
|
|
45924
45948
|
local getGridIndexesBetween = ____gridIndex.getGridIndexesBetween
|
|
45925
45949
|
local ____roomShape = require("src.functions.roomShape")
|
|
45926
45950
|
local getRoomShapeCorners = ____roomShape.getRoomShapeCorners
|
|
45927
|
-
local
|
|
45951
|
+
local isLRoomShape = ____roomShape.isLRoomShape
|
|
45928
45952
|
local ____rooms = require("src.functions.rooms")
|
|
45929
45953
|
local inBossRoomOf = ____rooms.inBossRoomOf
|
|
45930
45954
|
local inHomeCloset = ____rooms.inHomeCloset
|
|
45931
45955
|
function getVanillaWallGridIndexSetForRoomShape(self, roomShape)
|
|
45932
45956
|
local corners = getRoomShapeCorners(nil, roomShape)
|
|
45933
|
-
local lRoom =
|
|
45957
|
+
local lRoom = isLRoomShape(nil, roomShape)
|
|
45934
45958
|
if lRoom and #corners ~= 6 then
|
|
45935
45959
|
error(((("Failed to get the correct amount of corners for: RoomShape." .. RoomShape[roomShape]) .. " (") .. tostring(roomShape)) .. ")")
|
|
45936
45960
|
end
|
|
@@ -46456,7 +46480,7 @@ local ____roomShape = require("src.functions.roomShape")
|
|
|
46456
46480
|
local getRoomShapeBottomRightPosition = ____roomShape.getRoomShapeBottomRightPosition
|
|
46457
46481
|
local getRoomShapeTopLeftPosition = ____roomShape.getRoomShapeTopLeftPosition
|
|
46458
46482
|
local getRoomShapeWidth = ____roomShape.getRoomShapeWidth
|
|
46459
|
-
local
|
|
46483
|
+
local isLRoomShape = ____roomShape.isLRoomShape
|
|
46460
46484
|
function ____exports.gridPositionToWorldPosition(self, gridPosition)
|
|
46461
46485
|
local x = (gridPosition.X + 2) * 40
|
|
46462
46486
|
local y = (gridPosition.Y + 4) * 40
|
|
@@ -46489,13 +46513,13 @@ function ____exports.gridIndexToGridPosition(self, gridIndex, roomShape)
|
|
|
46489
46513
|
return Vector(x, y)
|
|
46490
46514
|
end
|
|
46491
46515
|
function ____exports.isValidGridPosition(self, gridPosition, roomShape)
|
|
46492
|
-
local
|
|
46493
|
-
if
|
|
46494
|
-
|
|
46516
|
+
local ____isLRoomShape_result_0
|
|
46517
|
+
if isLRoomShape(nil, roomShape) then
|
|
46518
|
+
____isLRoomShape_result_0 = isValidGridPositionLRoom(nil, gridPosition, roomShape)
|
|
46495
46519
|
else
|
|
46496
|
-
|
|
46520
|
+
____isLRoomShape_result_0 = isValidGridPositionNormal(nil, gridPosition, roomShape)
|
|
46497
46521
|
end
|
|
46498
|
-
return
|
|
46522
|
+
return ____isLRoomShape_result_0
|
|
46499
46523
|
end
|
|
46500
46524
|
function ____exports.worldPositionToGridPosition(self, worldPos)
|
|
46501
46525
|
local x = math.floor(worldPos.X / 40 - 2 + 0.5)
|
|
@@ -47652,9 +47676,7 @@ local ____exports = {}
|
|
|
47652
47676
|
local ADJACENT_ROOM_GRID_INDEX_DELTAS
|
|
47653
47677
|
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
47654
47678
|
local DisplayFlag = ____isaac_2Dtypescript_2Ddefinitions.DisplayFlag
|
|
47655
|
-
local DownpourRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.DownpourRoomSubType
|
|
47656
47679
|
local LevelStateFlag = ____isaac_2Dtypescript_2Ddefinitions.LevelStateFlag
|
|
47657
|
-
local MinesRoomSubType = ____isaac_2Dtypescript_2Ddefinitions.MinesRoomSubType
|
|
47658
47680
|
local RoomDescriptorFlag = ____isaac_2Dtypescript_2Ddefinitions.RoomDescriptorFlag
|
|
47659
47681
|
local RoomType = ____isaac_2Dtypescript_2Ddefinitions.RoomType
|
|
47660
47682
|
local ____cachedClasses = require("src.core.cachedClasses")
|
|
@@ -47690,9 +47712,9 @@ local getGridIndexDelta = ____roomShape.getGridIndexDelta
|
|
|
47690
47712
|
local ____rooms = require("src.functions.rooms")
|
|
47691
47713
|
local getRooms = ____rooms.getRooms
|
|
47692
47714
|
local getRoomsInsideGrid = ____rooms.getRoomsInsideGrid
|
|
47715
|
+
local isMineShaft = ____rooms.isMineShaft
|
|
47716
|
+
local isMirrorRoom = ____rooms.isMirrorRoom
|
|
47693
47717
|
local isSecretRoomType = ____rooms.isSecretRoomType
|
|
47694
|
-
local ____types = require("src.functions.types")
|
|
47695
|
-
local asNumber = ____types.asNumber
|
|
47696
47718
|
function ____exports.getAdjacentExistingRoomGridIndexes(self, roomGridIndex)
|
|
47697
47719
|
local adjacentRoomGridIndexes = ____exports.getAdjacentRoomGridIndexes(nil, roomGridIndex)
|
|
47698
47720
|
return __TS__ArrayFilter(
|
|
@@ -47714,7 +47736,10 @@ function ____exports.getAdjacentRoomGridIndexes(self, roomGridIndex)
|
|
|
47714
47736
|
function(____, adjacentRoomGridIndex) return ____exports.isRoomInsideGrid(nil, adjacentRoomGridIndex) end
|
|
47715
47737
|
)
|
|
47716
47738
|
end
|
|
47717
|
-
function ____exports.getNewRoomCandidatesBesideRoom(self, roomGridIndex)
|
|
47739
|
+
function ____exports.getNewRoomCandidatesBesideRoom(self, roomGridIndex, ensureDeadEnd)
|
|
47740
|
+
if ensureDeadEnd == nil then
|
|
47741
|
+
ensureDeadEnd = true
|
|
47742
|
+
end
|
|
47718
47743
|
local roomDescriptor = getRoomDescriptor(nil, roomGridIndex)
|
|
47719
47744
|
if not ____exports.isRoomInsideGrid(nil, roomDescriptor.SafeGridIndex) then
|
|
47720
47745
|
return {}
|
|
@@ -47733,7 +47758,7 @@ function ____exports.getNewRoomCandidatesBesideRoom(self, roomGridIndex)
|
|
|
47733
47758
|
if not hasFlag(nil, roomData.Doors, doorSlotFlag) then
|
|
47734
47759
|
goto __continue17
|
|
47735
47760
|
end
|
|
47736
|
-
if not ____exports.isDeadEnd(nil, adjacentRoomGridIndex) then
|
|
47761
|
+
if ensureDeadEnd and not ____exports.isDeadEnd(nil, adjacentRoomGridIndex) then
|
|
47737
47762
|
goto __continue17
|
|
47738
47763
|
end
|
|
47739
47764
|
roomCandidates[#roomCandidates + 1] = {doorSlot = doorSlot, roomGridIndex = adjacentRoomGridIndex}
|
|
@@ -47742,15 +47767,19 @@ function ____exports.getNewRoomCandidatesBesideRoom(self, roomGridIndex)
|
|
|
47742
47767
|
end
|
|
47743
47768
|
return roomCandidates
|
|
47744
47769
|
end
|
|
47745
|
-
function ____exports.getNewRoomCandidatesForLevel(self)
|
|
47770
|
+
function ____exports.getNewRoomCandidatesForLevel(self, ensureDeadEnd)
|
|
47771
|
+
if ensureDeadEnd == nil then
|
|
47772
|
+
ensureDeadEnd = true
|
|
47773
|
+
end
|
|
47746
47774
|
local rooms = getRoomsInsideGrid(nil)
|
|
47747
47775
|
local normalRooms = __TS__ArrayFilter(
|
|
47748
47776
|
rooms,
|
|
47749
|
-
function(____, room) return room.Data ~= nil and room.Data.Type == RoomType.DEFAULT and
|
|
47777
|
+
function(____, room) return room.Data ~= nil and room.Data.Type == RoomType.DEFAULT and not isMirrorRoom(nil, room.Data) and not isMineShaft(nil, room.Data) end
|
|
47750
47778
|
)
|
|
47779
|
+
local roomsToLookThrough = ensureDeadEnd and normalRooms or rooms
|
|
47751
47780
|
local newRoomCandidates = {}
|
|
47752
|
-
for ____, room in ipairs(
|
|
47753
|
-
local newRoomCandidatesBesideRoom = ____exports.getNewRoomCandidatesBesideRoom(nil, room.SafeGridIndex)
|
|
47781
|
+
for ____, room in ipairs(roomsToLookThrough) do
|
|
47782
|
+
local newRoomCandidatesBesideRoom = ____exports.getNewRoomCandidatesBesideRoom(nil, room.SafeGridIndex, ensureDeadEnd)
|
|
47754
47783
|
for ____, ____value in ipairs(newRoomCandidatesBesideRoom) do
|
|
47755
47784
|
local doorSlot = ____value.doorSlot
|
|
47756
47785
|
local roomGridIndex = ____value.roomGridIndex
|
|
@@ -47838,11 +47867,14 @@ function ____exports.getAllRoomGridIndexes(self)
|
|
|
47838
47867
|
function(____, roomDescriptor) return roomDescriptor.SafeGridIndex end
|
|
47839
47868
|
)
|
|
47840
47869
|
end
|
|
47841
|
-
function ____exports.getNewRoomCandidate(self, seedOrRNG)
|
|
47870
|
+
function ____exports.getNewRoomCandidate(self, seedOrRNG, ensureDeadEnd)
|
|
47842
47871
|
if seedOrRNG == nil then
|
|
47843
47872
|
seedOrRNG = getRandomSeed(nil)
|
|
47844
47873
|
end
|
|
47845
|
-
|
|
47874
|
+
if ensureDeadEnd == nil then
|
|
47875
|
+
ensureDeadEnd = true
|
|
47876
|
+
end
|
|
47877
|
+
local newRoomCandidatesForLevel = ____exports.getNewRoomCandidatesForLevel(nil, ensureDeadEnd)
|
|
47846
47878
|
if #newRoomCandidatesForLevel == 0 then
|
|
47847
47879
|
return nil
|
|
47848
47880
|
end
|
|
@@ -47899,13 +47931,16 @@ function ____exports.isRedKeyRoom(self, roomGridIndex)
|
|
|
47899
47931
|
local roomDescriptor = getRoomDescriptor(nil, roomGridIndex)
|
|
47900
47932
|
return hasFlag(nil, roomDescriptor.Flags, RoomDescriptorFlag.RED_ROOM)
|
|
47901
47933
|
end
|
|
47902
|
-
function ____exports.newRoom(self, seedOrRNG)
|
|
47934
|
+
function ____exports.newRoom(self, seedOrRNG, ensureDeadEnd, customRoomData)
|
|
47935
|
+
if ensureDeadEnd == nil then
|
|
47936
|
+
ensureDeadEnd = true
|
|
47937
|
+
end
|
|
47903
47938
|
local level = game:GetLevel()
|
|
47904
47939
|
if seedOrRNG == nil then
|
|
47905
47940
|
seedOrRNG = level:GetDungeonPlacementSeed()
|
|
47906
47941
|
end
|
|
47907
47942
|
local rng = isRNG(nil, seedOrRNG) and seedOrRNG or newRNG(nil, seedOrRNG)
|
|
47908
|
-
local newRoomCandidate = ____exports.getNewRoomCandidate(nil, rng)
|
|
47943
|
+
local newRoomCandidate = ____exports.getNewRoomCandidate(nil, rng, ensureDeadEnd)
|
|
47909
47944
|
if newRoomCandidate == nil then
|
|
47910
47945
|
return nil
|
|
47911
47946
|
end
|
|
@@ -47915,6 +47950,9 @@ function ____exports.newRoom(self, seedOrRNG)
|
|
|
47915
47950
|
level:MakeRedRoomDoor(adjacentRoomGridIndex, doorSlot)
|
|
47916
47951
|
local roomDescriptor = getRoomDescriptor(nil, newRoomGridIndex)
|
|
47917
47952
|
roomDescriptor.Flags = removeFlag(nil, roomDescriptor.Flags, RoomDescriptorFlag.RED_ROOM)
|
|
47953
|
+
if customRoomData ~= nil then
|
|
47954
|
+
roomDescriptor.Data = customRoomData
|
|
47955
|
+
end
|
|
47918
47956
|
local roomData = roomDescriptor.Data
|
|
47919
47957
|
if roomData ~= nil then
|
|
47920
47958
|
local hasFullMap = level:GetStateFlag(LevelStateFlag.FULL_MAP_EFFECT)
|
|
@@ -20,7 +20,7 @@ local spawnEffectWithSeed = ____entitiesSpecific.spawnEffectWithSeed
|
|
|
20
20
|
local ____rng = require("src.functions.rng")
|
|
21
21
|
local newRNG = ____rng.newRNG
|
|
22
22
|
local ____roomShape = require("src.functions.roomShape")
|
|
23
|
-
local
|
|
23
|
+
local isLRoomShape = ____roomShape.isLRoomShape
|
|
24
24
|
local isNarrowRoom = ____roomShape.isNarrowRoom
|
|
25
25
|
local ____string = require("src.functions.string")
|
|
26
26
|
local removeCharactersBefore = ____string.removeCharactersBefore
|
|
@@ -57,7 +57,7 @@ function spawnWallEntity(self, customStage, rng, isExtraWall)
|
|
|
57
57
|
if numWallLayers == nil then
|
|
58
58
|
error("Failed to get the layers when creating the backdrop for custom stage: " .. customStage.name)
|
|
59
59
|
end
|
|
60
|
-
if
|
|
60
|
+
if isLRoomShape(nil, roomShape) then
|
|
61
61
|
local cornerPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.CORNER, rng)
|
|
62
62
|
sprite:ReplaceSpritesheet(0, cornerPNGPath)
|
|
63
63
|
end
|
|
@@ -104,7 +104,7 @@ function spawnFloorEntity(self, customStage, rng)
|
|
|
104
104
|
local wallPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.WALL, rng)
|
|
105
105
|
sprite:ReplaceSpritesheet(layerID, wallPNGPath)
|
|
106
106
|
end
|
|
107
|
-
elseif
|
|
107
|
+
elseif isLRoomShape(nil, roomShape) then
|
|
108
108
|
for ____, layerID in ipairs(L_FLOOR_ANM2_LAYERS) do
|
|
109
109
|
local LFloorPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.L_FLOOR, rng)
|
|
110
110
|
sprite:ReplaceSpritesheet(layerID, LFloorPNGPath)
|
|
@@ -48,34 +48,41 @@ export declare function getAllRoomGridIndexes(): readonly int[];
|
|
|
48
48
|
*
|
|
49
49
|
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
50
50
|
* `RNG.Next` method will be called. Default is `getRandomSeed()`.
|
|
51
|
+
* @param ensureDeadEnd Optional. Whether to pick a valid dead end attached to a normal room. If
|
|
52
|
+
* false, the function will randomly pick from any valid location that would
|
|
53
|
+
* have a red door.
|
|
51
54
|
* @returns Either a tuple of adjacent room grid index, `DoorSlot`, and new room grid index, or
|
|
52
55
|
* undefined.
|
|
53
56
|
*/
|
|
54
|
-
export declare function getNewRoomCandidate(seedOrRNG?: Seed | RNG): {
|
|
57
|
+
export declare function getNewRoomCandidate(seedOrRNG?: Seed | RNG, ensureDeadEnd?: boolean): {
|
|
55
58
|
readonly adjacentRoomGridIndex: int;
|
|
56
59
|
readonly doorSlot: DoorSlot;
|
|
57
60
|
readonly newRoomGridIndex: int;
|
|
58
61
|
} | undefined;
|
|
59
62
|
/**
|
|
60
63
|
* Helper function to iterate through the possible doors for a room and see if any of them would be
|
|
61
|
-
* a valid spot to insert a brand new room on the floor.
|
|
62
|
-
* connected to any other existing rooms on the floor.)
|
|
64
|
+
* a valid spot to insert a brand new room on the floor.
|
|
63
65
|
*
|
|
64
66
|
* @param roomGridIndex Optional. Default is the current room index.
|
|
67
|
+
* @param ensureDeadEnd Optional. Whether to only include doors that lead to a valid dead end
|
|
68
|
+
* attached to a normal room. If false, the function will include all doors
|
|
69
|
+
* that would have a red door.
|
|
65
70
|
* @returns A array of tuples of `DoorSlot` and room grid index.
|
|
66
71
|
*/
|
|
67
|
-
export declare function getNewRoomCandidatesBesideRoom(roomGridIndex?: int): ReadonlyArray<{
|
|
72
|
+
export declare function getNewRoomCandidatesBesideRoom(roomGridIndex?: int, ensureDeadEnd?: boolean): ReadonlyArray<{
|
|
68
73
|
readonly doorSlot: DoorSlot;
|
|
69
74
|
readonly roomGridIndex: int;
|
|
70
75
|
}>;
|
|
71
76
|
/**
|
|
72
|
-
* Helper function to
|
|
73
|
-
* room.
|
|
77
|
+
* Helper function to get all of the spots on the floor to insert a brand new room.
|
|
74
78
|
*
|
|
79
|
+
* @param ensureDeadEnd Optional. Whether to only include spots that are a valid dead end attached
|
|
80
|
+
* to a normal room. If false, the function will include all valid spots that
|
|
81
|
+
* have a red door.
|
|
75
82
|
* @returns A array of tuples containing the adjacent room grid index, the `DoorSlot`, and the new
|
|
76
83
|
* room grid index.
|
|
77
84
|
*/
|
|
78
|
-
export declare function getNewRoomCandidatesForLevel(): ReadonlyArray<{
|
|
85
|
+
export declare function getNewRoomCandidatesForLevel(ensureDeadEnd?: boolean): ReadonlyArray<{
|
|
79
86
|
readonly adjacentRoomGridIndex: int;
|
|
80
87
|
readonly doorSlot: DoorSlot;
|
|
81
88
|
readonly newRoomGridIndex: int;
|
|
@@ -177,23 +184,25 @@ export declare function isRedKeyRoom(roomGridIndex?: int): boolean;
|
|
|
177
184
|
*/
|
|
178
185
|
export declare function isRoomInsideGrid(roomGridIndex?: int): boolean;
|
|
179
186
|
/**
|
|
180
|
-
* Helper function to generate a new room on the floor
|
|
181
|
-
* room.
|
|
187
|
+
* Helper function to generate a new room on the floor.
|
|
182
188
|
*
|
|
183
189
|
* Under the hood, this function uses the `Level.MakeRedRoomDoor` method to create the room.
|
|
184
190
|
*
|
|
185
|
-
* The newly created room will have data corresponding to the game's randomly generated red room. If
|
|
186
|
-
* you want to modify this, use the `setRoomData` helper function.
|
|
187
|
-
*
|
|
188
191
|
* @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
|
|
189
192
|
* `RNG.Next` method will be called. Default is `Level.GetDungeonPlacementSeed`.
|
|
190
193
|
* Note that the RNG is only used to select the random location to put the room on
|
|
191
194
|
* the floor; it does not influence the randomly chosen room contents. (That is
|
|
192
195
|
* performed by the game and can not be manipulated prior to its generation.)
|
|
196
|
+
* @param ensureDeadEnd Optional. Whether to place the room at a valid dead end attached to a normal
|
|
197
|
+
* room. If false, it will randomly appear at any valid location that would
|
|
198
|
+
* have a red door.
|
|
199
|
+
* @param customRoomData Optional. By default, the newly created room will have data corresponding
|
|
200
|
+
* to the game's randomly generated red room. If you provide this function
|
|
201
|
+
* with room data, it will be used to override the vanilla data.
|
|
193
202
|
* @returns The room grid index of the new room or undefined if the floor had no valid dead ends to
|
|
194
203
|
* place a room.
|
|
195
204
|
*/
|
|
196
|
-
export declare function newRoom(seedOrRNG?: Seed | RNG): int | undefined;
|
|
205
|
+
export declare function newRoom(seedOrRNG?: Seed | RNG, ensureDeadEnd?: boolean, customRoomData?: RoomConfig): int | undefined;
|
|
197
206
|
/**
|
|
198
207
|
* Helper function to check if a room exists at the given room grid index. (A room will exist if it
|
|
199
208
|
* has non-undefined data in the room descriptor.)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../../src/functions/levelGrid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../../src/functions/levelGrid.ts"],"names":[],"mappings":"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"}
|