isaacscript-common 1.2.225 → 1.2.226
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/functions/roomShape.d.ts +9 -0
- package/dist/functions/roomShape.lua +18 -0
- package/dist/functions/rooms.d.ts +0 -7
- package/dist/functions/rooms.lua +6 -13
- package/dist/functions/utils.d.ts +9 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.lua +8 -0
- package/dist/objects/roomShapeToBottomRightPosition.d.ts +8 -0
- package/dist/objects/roomShapeToBottomRightPosition.lua +20 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to get the grid index delta that a door out of the given room shape would lead
|
|
4
|
+
* to. For example, if you went through the bottom door in a room of `RoomShape.ROOMSHAPE_1x2`, you
|
|
5
|
+
* would end up in a room with a grid index that is +26 units from the `SafeGridIndex` of where you
|
|
6
|
+
* started.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getGridIndexDelta(roomShape: RoomShape, doorSlot: DoorSlot): int | undefined;
|
|
9
|
+
export declare function getRoomShapeBottomRightPosition(roomShape: RoomShape): Vector;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Map = ____lualib.Map
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____roomShapeToBottomRightPosition = require("objects.roomShapeToBottomRightPosition")
|
|
5
|
+
local ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION = ____roomShapeToBottomRightPosition.ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION
|
|
6
|
+
local ____roomShapeToGridIndexDelta = require("objects.roomShapeToGridIndexDelta")
|
|
7
|
+
local ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = ____roomShapeToGridIndexDelta.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA
|
|
8
|
+
function ____exports.getGridIndexDelta(self, roomShape, doorSlot)
|
|
9
|
+
local doorSlotToGridIndexMap = ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA[roomShape]
|
|
10
|
+
if doorSlotToGridIndexMap == nil then
|
|
11
|
+
return nil
|
|
12
|
+
end
|
|
13
|
+
return doorSlotToGridIndexMap:get(doorSlot)
|
|
14
|
+
end
|
|
15
|
+
function ____exports.getRoomShapeBottomRightPosition(self, roomShape)
|
|
16
|
+
return ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION[roomShape]
|
|
17
|
+
end
|
|
18
|
+
return ____exports
|
|
@@ -15,13 +15,6 @@ export declare function getAllRoomGridIndexes(): int[];
|
|
|
15
15
|
* tricky to properly detect.
|
|
16
16
|
*/
|
|
17
17
|
export declare function getCurrentDimension(): Dimension;
|
|
18
|
-
/**
|
|
19
|
-
* Helper function to get the grid index delta that a door out of the given room shape would lead
|
|
20
|
-
* to. For example, if you went through the bottom door in a room of `RoomShape.ROOMSHAPE_1x2`, you
|
|
21
|
-
* would end up in a room with a grid index that is +26 units from the `SafeGridIndex` of where you
|
|
22
|
-
* started.
|
|
23
|
-
*/
|
|
24
|
-
export declare function getGridIndexDelta(roomShape: RoomShape, doorSlot: DoorSlot): int | undefined;
|
|
25
18
|
/**
|
|
26
19
|
* Helper function to get an array of all of the safe grid indexes for rooms that match the
|
|
27
20
|
* specified room type.
|
package/dist/functions/rooms.lua
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
3
|
-
local Map = ____lualib.Map
|
|
4
3
|
local Set = ____lualib.Set
|
|
5
4
|
local __TS__New = ____lualib.__TS__New
|
|
6
5
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
7
6
|
local __TS__ArrayPush = ____lualib.__TS__ArrayPush
|
|
8
7
|
local __TS__ArrayEvery = ____lualib.__TS__ArrayEvery
|
|
8
|
+
local Map = ____lualib.Map
|
|
9
9
|
local ____exports = {}
|
|
10
10
|
local ____cachedClasses = require("cachedClasses")
|
|
11
11
|
local game = ____cachedClasses.game
|
|
@@ -13,8 +13,6 @@ local sfxManager = ____cachedClasses.sfxManager
|
|
|
13
13
|
local ____constants = require("constants")
|
|
14
14
|
local MAX_ROOM_INDEX = ____constants.MAX_ROOM_INDEX
|
|
15
15
|
local NUM_DIMENSIONS = ____constants.NUM_DIMENSIONS
|
|
16
|
-
local ____roomShapeToGridIndexDelta = require("objects.roomShapeToGridIndexDelta")
|
|
17
|
-
local ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA = ____roomShapeToGridIndexDelta.ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA
|
|
18
16
|
local ____doors = require("functions.doors")
|
|
19
17
|
local closeAllDoors = ____doors.closeAllDoors
|
|
20
18
|
local getDoors = ____doors.getDoors
|
|
@@ -40,6 +38,8 @@ local getRoomGridIndex = ____roomData.getRoomGridIndex
|
|
|
40
38
|
local getRoomShape = ____roomData.getRoomShape
|
|
41
39
|
local getRoomStageID = ____roomData.getRoomStageID
|
|
42
40
|
local getRoomSubType = ____roomData.getRoomSubType
|
|
41
|
+
local ____roomShape = require("functions.roomShape")
|
|
42
|
+
local getGridIndexDelta = ____roomShape.getGridIndexDelta
|
|
43
43
|
function ____exports.getRooms(self, includeExtraDimensionalRooms)
|
|
44
44
|
if includeExtraDimensionalRooms == nil then
|
|
45
45
|
includeExtraDimensionalRooms = false
|
|
@@ -114,13 +114,6 @@ function ____exports.getCurrentDimension(self)
|
|
|
114
114
|
end
|
|
115
115
|
return error("Failed to get the current dimension using the starting room index of: " .. tostring(startingRoomGridIndex))
|
|
116
116
|
end
|
|
117
|
-
function ____exports.getGridIndexDelta(self, roomShape, doorSlot)
|
|
118
|
-
local doorSlotToGridIndexMap = ROOM_SHAPE_TO_DOOR_SLOTS_TO_GRID_INDEX_DELTA[roomShape]
|
|
119
|
-
if doorSlotToGridIndexMap == nil then
|
|
120
|
-
return nil
|
|
121
|
-
end
|
|
122
|
-
return doorSlotToGridIndexMap:get(doorSlot)
|
|
123
|
-
end
|
|
124
117
|
function ____exports.getRoomGridIndexesForType(self, ...)
|
|
125
118
|
local roomTypesSet = __TS__New(Set, {...})
|
|
126
119
|
local rooms = ____exports.getRooms(nil)
|
|
@@ -245,7 +238,7 @@ function ____exports.isDoorSlotValidAtGridIndexForRedRoom(self, doorSlot, roomGr
|
|
|
245
238
|
if roomShape == nil then
|
|
246
239
|
return false
|
|
247
240
|
end
|
|
248
|
-
local delta =
|
|
241
|
+
local delta = getGridIndexDelta(nil, roomShape, doorSlot)
|
|
249
242
|
if delta == nil then
|
|
250
243
|
return false
|
|
251
244
|
end
|
|
@@ -281,12 +274,12 @@ function ____exports.setRoomCleared(self)
|
|
|
281
274
|
for ____, door in ipairs(getDoors(nil)) do
|
|
282
275
|
do
|
|
283
276
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
284
|
-
goto
|
|
277
|
+
goto __continue52
|
|
285
278
|
end
|
|
286
279
|
openDoorFast(nil, door)
|
|
287
280
|
door.ExtraVisible = false
|
|
288
281
|
end
|
|
289
|
-
::
|
|
282
|
+
::__continue52::
|
|
290
283
|
end
|
|
291
284
|
sfxManager:Stop(SoundEffect.SOUND_DOOR_HEAVY_OPEN)
|
|
292
285
|
game:ShakeScreen(0)
|
|
@@ -122,5 +122,14 @@ export declare function repeat(n: int, func: (i: int) => void): void;
|
|
|
122
122
|
/**
|
|
123
123
|
* Helper function to check every value of a custom enum for -1. This is helpful as a run-time check
|
|
124
124
|
* because many methods of the Isaac class return -1 if they fail.
|
|
125
|
+
*
|
|
126
|
+
* Example:
|
|
127
|
+
* ```ts
|
|
128
|
+
* enum EntityTypeCustom {
|
|
129
|
+
* FOO = Isaac.GetEntityTypeByName("Foo"),
|
|
130
|
+
* }
|
|
131
|
+
*
|
|
132
|
+
* validateCustomEnum("EntityTypeCustom", EntityTypeCustom);
|
|
133
|
+
* ```
|
|
125
134
|
*/
|
|
126
135
|
export declare function validateCustomEnum(transpiledEnumName: string, transpiledEnum: unknown): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ export * from "./functions/revive";
|
|
|
74
74
|
export * from "./functions/rng";
|
|
75
75
|
export * from "./functions/roomData";
|
|
76
76
|
export * from "./functions/rooms";
|
|
77
|
+
export * from "./functions/roomShape";
|
|
77
78
|
export * from "./functions/run";
|
|
78
79
|
export * from "./functions/seeds";
|
|
79
80
|
export * from "./functions/serialization";
|
package/dist/index.lua
CHANGED
|
@@ -592,6 +592,14 @@ do
|
|
|
592
592
|
end
|
|
593
593
|
end
|
|
594
594
|
end
|
|
595
|
+
do
|
|
596
|
+
local ____export = require("functions.roomShape")
|
|
597
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
598
|
+
if ____exportKey ~= "default" then
|
|
599
|
+
____exports[____exportKey] = ____exportValue
|
|
600
|
+
end
|
|
601
|
+
end
|
|
602
|
+
end
|
|
595
603
|
do
|
|
596
604
|
local ____export = require("functions.run")
|
|
597
605
|
for ____exportKey, ____exportValue in pairs(____export) do
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* "Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left
|
|
4
|
+
* wall would be at "Vector(-1, -1)".)
|
|
5
|
+
*/
|
|
6
|
+
export declare const ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION: {
|
|
7
|
+
readonly [key in RoomShape]: Vector;
|
|
8
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____exports = {}
|
|
3
|
+
local TWO_BY_TWO_BOTTOM_RIGHT_POSITION = Vector(25, 13)
|
|
4
|
+
local ONE_BY_TWO_VERTICAL_BOTTOM_RIGHT_POSITION = Vector(12, 13)
|
|
5
|
+
____exports.ROOM_SHAPE_TO_BOTTOM_RIGHT_POSITION = {
|
|
6
|
+
[RoomShape.ROOMSHAPE_1x1] = Vector(12, 6),
|
|
7
|
+
[RoomShape.ROOMSHAPE_IH] = Vector(12, 4),
|
|
8
|
+
[RoomShape.ROOMSHAPE_IV] = Vector(8, 6),
|
|
9
|
+
[RoomShape.ROOMSHAPE_1x2] = ONE_BY_TWO_VERTICAL_BOTTOM_RIGHT_POSITION,
|
|
10
|
+
[RoomShape.ROOMSHAPE_IIV] = Vector(8, 13),
|
|
11
|
+
[RoomShape.ROOMSHAPE_2x1] = Vector(25, 6),
|
|
12
|
+
[RoomShape.ROOMSHAPE_IIH] = Vector(25, 4),
|
|
13
|
+
[RoomShape.ROOMSHAPE_2x2] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
|
|
14
|
+
[RoomShape.ROOMSHAPE_LTL] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
|
|
15
|
+
[RoomShape.ROOMSHAPE_LTR] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
|
|
16
|
+
[RoomShape.ROOMSHAPE_LBL] = TWO_BY_TWO_BOTTOM_RIGHT_POSITION,
|
|
17
|
+
[RoomShape.ROOMSHAPE_LBR] = ONE_BY_TWO_VERTICAL_BOTTOM_RIGHT_POSITION,
|
|
18
|
+
[RoomShape.NUM_ROOMSHAPES] = Vector.Zero
|
|
19
|
+
}
|
|
20
|
+
return ____exports
|