Skip to main content

Room Shape

Functions

getGridIndexDelta

getGridIndexDelta(roomShape, doorSlot): int | undefined

Helper function to get the grid index delta that a door out of the given room shape would lead to. For example, if you went through the bottom door in a room of RoomShape.SHAPE_1x2, you would end up in a room with a grid index that is +26 units from the SafeGridIndex of where you started.

Parameters

NameType
roomShapeRoomShape
doorSlotDoorSlot

Returns

int | undefined

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:22


getRoomShapeBottomRightPosition

getRoomShapeBottomRightPosition(roomShape): Readonly<Vector>

Helper function to see if a given room shape will grant a single charge or a double charge to the player's active item(s).

For example, RoomShape.SHAPE_2x2 will return 2.

Parameters

NameType
roomShapeRoomShape

Returns

Readonly<Vector>

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:37


getRoomShapeBounds

getRoomShapeBounds(roomShape): readonly [width: int, height: int]

Helper function to get the grid position of the bottom-right tile of a given room shape.

"Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left wall would be at "Vector(-1, -1)".)

Parameters

NameType
roomShapeRoomShape

Returns

readonly [width: int, height: int]

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:49


getRoomShapeCharges

getRoomShapeCharges(roomShape): int

Helper function to get the number of charges that a given room shape will grant to a player upon clearing it.

For example, RoomShape.SHAPE_2x2 will return 2.

Parameters

NameType
roomShapeRoomShape

Returns

int

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:61


getRoomShapeCorners

getRoomShapeCorners(roomShape): readonly Corner[]

Helper function to get the corners that exist in the given room shape.

Note that these corner locations are not accurate for the Mother Boss Room and the Home closet rooms. (Those rooms have custom shapes.)

Parameters

NameType
roomShapeRoomShape

Returns

readonly Corner[]

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:71


getRoomShapeLayoutSize

getRoomShapeLayoutSize(roomShape): readonly [width: int, height: int]

Helper function to get the dimensions of a room shape's layout. This is NOT the size of the room's actual contents! For that, use the getRoomShapeBounds function.

For example, a horizontal narrow room has a layout size of equal to that of a 1x1 room.

Parameters

NameType
roomShapeRoomShape

Returns

readonly [width: int, height: int]

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:81


getRoomShapeTopLeftPosition

getRoomShapeTopLeftPosition(roomShape): Readonly<Vector>

Helper function to get the grid position of the top-left tile of a given room shape.

"Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left wall would be at "Vector(-1, -1)".)

Parameters

NameType
roomShapeRoomShape

Returns

Readonly<Vector>

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:93


getRoomShapeVolume

getRoomShapeVolume(roomShape): int

Helper function to get the volume of a room shape, which is the amount of tiles that are inside the room.

(This cannot be directly calculated from the bounds since L rooms are a special case.)

Parameters

NameType
roomShapeRoomShape

Returns

int

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:105


getRoomShapeWidth

getRoomShapeWidth(roomShape): int

Parameters

NameType
roomShapeRoomShape

Returns

int

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:109


is2x1RoomShape

is2x1RoomShape(roomShape): boolean

Helper function to determine if the provided room is equal to RoomShape.1x2 (4) or RoomShape.2x1 (6).

Parameters

NameType
roomShapeRoomShape

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:117


isBigRoomShape

isBigRoomShape(roomShape): boolean

Helper function to detect if the provided room shape is big. Specifically, this is all 1x2 rooms, 2x2 rooms, and L rooms.

Parameters

NameType
roomShapeRoomShape

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:125


isLRoomShape

isLRoomShape(roomShape): boolean

Helper function to determine if the provided room is equal to RoomShape.LTL (9), RoomShape.LTR (10), RoomShape.LBL (11), or RoomShape.LBR (12).

Parameters

NameType
roomShapeRoomShape

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:133


isNarrowRoom

isNarrowRoom(roomShape): boolean

Helper function to determine if the provided room is equal to RoomShape.IH (2), RoomShape.IV (3), RoomShape.IIV (5), or RoomShape.IIH (7).

Parameters

NameType
roomShapeRoomShape

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:141


isRoomShapeDoubleCharge

isRoomShapeDoubleCharge(roomShape): boolean

Helper function to see if a given room shape will grant a single charge or a double charge to the player's active item(s).

For example, RoomShape.SHAPE_2x2 will return true.

Parameters

NameType
roomShapeRoomShape

Returns

boolean

Defined in

packages/isaacscript-common/src/functions/roomShape.ts:151