isaacscript-common 71.0.2 → 71.2.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 +15 -6
- package/dist/isaacscript-common.lua +26 -11
- package/dist/src/classes/features/other/DisableInputs.d.ts +2 -2
- package/dist/src/functions/curses.d.ts +9 -1
- package/dist/src/functions/curses.d.ts.map +1 -1
- package/dist/src/functions/curses.lua +15 -3
- package/dist/src/functions/rooms.d.ts +4 -3
- package/dist/src/functions/rooms.d.ts.map +1 -1
- package/dist/src/functions/rooms.lua +19 -9
- package/package.json +1 -1
- package/src/classes/features/other/DisableInputs.ts +2 -2
- package/src/functions/curses.ts +12 -3
- package/src/functions/rooms.ts +14 -5
package/dist/index.rollup.d.ts
CHANGED
|
@@ -3749,8 +3749,8 @@ declare class DisableInputs extends Feature {
|
|
|
3749
3749
|
/**
|
|
3750
3750
|
* Helper function to disable specific inputs, like opening the console.
|
|
3751
3751
|
*
|
|
3752
|
-
* This function is variadic, meaning that you can
|
|
3753
|
-
* disable all inputs, see the `disableAllInputs` function.
|
|
3752
|
+
* This function is variadic, meaning that you can specify as many inputs as you want to disable.
|
|
3753
|
+
* (To disable all inputs, see the `disableAllInputs` function.
|
|
3754
3754
|
*
|
|
3755
3755
|
* Use the `enableAllInputs` helper function to set things back to normal.
|
|
3756
3756
|
*
|
|
@@ -8082,7 +8082,15 @@ export declare function hasCollectible(player: EntityPlayer, ...collectibleTypes
|
|
|
8082
8082
|
*/
|
|
8083
8083
|
export declare function hasCollectibleInActiveSlot(player: EntityPlayer, collectibleType: CollectibleType, ...activeSlots: ActiveSlot[]): boolean;
|
|
8084
8084
|
|
|
8085
|
-
|
|
8085
|
+
/**
|
|
8086
|
+
* Helper function to check if the current floor has a particular curse.
|
|
8087
|
+
*
|
|
8088
|
+
* This function is variadic, meaning that you can specify as many curses as you want. The function
|
|
8089
|
+
* will return true if the level has one or more of the curses.
|
|
8090
|
+
*
|
|
8091
|
+
* Under the hood, this function uses the `Level.GetCurses` method.
|
|
8092
|
+
*/
|
|
8093
|
+
export declare function hasCurse(...curses: LevelCurse[]): boolean;
|
|
8086
8094
|
|
|
8087
8095
|
/**
|
|
8088
8096
|
* Helper function to check if the current room has one or more doors that lead to the given room
|
|
@@ -8654,13 +8662,14 @@ export declare function isAllPressurePlatesPushed(): boolean;
|
|
|
8654
8662
|
* @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
|
|
8655
8663
|
* the array will be ignored. If not specified, then all rooms will be
|
|
8656
8664
|
* checked. Undefined by default.
|
|
8657
|
-
* @param
|
|
8658
|
-
*
|
|
8665
|
+
* @param includeSecretRoom Optional. Whether to include the Secret Room. Default is false.
|
|
8666
|
+
* @param includeSuperSecretRoom Optional. Whether to include the Super Secret Room. Default is
|
|
8667
|
+
* false.
|
|
8659
8668
|
* @param includeUltraSecretRoom Optional. Whether to include the Ultra Secret Room. Default is
|
|
8660
8669
|
* false.
|
|
8661
8670
|
* @allowEmptyVariadic
|
|
8662
8671
|
*/
|
|
8663
|
-
export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[] | readonly RoomType[],
|
|
8672
|
+
export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[] | readonly RoomType[], includeSecretRoom?: boolean, includeSuperSecretRoom?: boolean, includeUltraSecretRoom?: boolean): boolean;
|
|
8664
8673
|
|
|
8665
8674
|
export declare function isAngelRoomDoor(door: GridEntityDoor): boolean;
|
|
8666
8675
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 71.0
|
|
3
|
+
isaacscript-common 71.2.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -28479,9 +28479,12 @@ function ____exports.inStartingRoom(self)
|
|
|
28479
28479
|
local roomGridIndex = getRoomGridIndex(nil)
|
|
28480
28480
|
return roomGridIndex == startingRoomGridIndex and inDimension(nil, Dimension.MAIN)
|
|
28481
28481
|
end
|
|
28482
|
-
function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes,
|
|
28483
|
-
if
|
|
28484
|
-
|
|
28482
|
+
function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes, includeSecretRoom, includeSuperSecretRoom, includeUltraSecretRoom)
|
|
28483
|
+
if includeSecretRoom == nil then
|
|
28484
|
+
includeSecretRoom = false
|
|
28485
|
+
end
|
|
28486
|
+
if includeSuperSecretRoom == nil then
|
|
28487
|
+
includeSuperSecretRoom = false
|
|
28485
28488
|
end
|
|
28486
28489
|
if includeUltraSecretRoom == nil then
|
|
28487
28490
|
includeUltraSecretRoom = false
|
|
@@ -28497,10 +28500,16 @@ function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes, includeSecretAndS
|
|
|
28497
28500
|
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomTypeWhitelist:has(roomDescriptor.Data.Type) end
|
|
28498
28501
|
)
|
|
28499
28502
|
end
|
|
28500
|
-
if not
|
|
28503
|
+
if not includeSecretRoom then
|
|
28504
|
+
matchingRooms = __TS__ArrayFilter(
|
|
28505
|
+
matchingRooms,
|
|
28506
|
+
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomDescriptor.Data.Type ~= RoomType.SECRET end
|
|
28507
|
+
)
|
|
28508
|
+
end
|
|
28509
|
+
if not includeSuperSecretRoom then
|
|
28501
28510
|
matchingRooms = __TS__ArrayFilter(
|
|
28502
28511
|
matchingRooms,
|
|
28503
|
-
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomDescriptor.Data.Type ~= RoomType.
|
|
28512
|
+
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomDescriptor.Data.Type ~= RoomType.SUPER_SECRET end
|
|
28504
28513
|
)
|
|
28505
28514
|
end
|
|
28506
28515
|
if not includeUltraSecretRoom then
|
|
@@ -28567,12 +28576,12 @@ function ____exports.setRoomCleared(self)
|
|
|
28567
28576
|
for ____, door in ipairs(getDoors(nil)) do
|
|
28568
28577
|
do
|
|
28569
28578
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
28570
|
-
goto
|
|
28579
|
+
goto __continue93
|
|
28571
28580
|
end
|
|
28572
28581
|
openDoorFast(nil, door)
|
|
28573
28582
|
door.ExtraVisible = false
|
|
28574
28583
|
end
|
|
28575
|
-
::
|
|
28584
|
+
::__continue93::
|
|
28576
28585
|
end
|
|
28577
28586
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
28578
28587
|
game:ShakeScreen(0)
|
|
@@ -55077,6 +55086,8 @@ end
|
|
|
55077
55086
|
return ____exports
|
|
55078
55087
|
end,
|
|
55079
55088
|
["src.functions.curses"] = function(...)
|
|
55089
|
+
local ____lualib = require("lualib_bundle")
|
|
55090
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
55080
55091
|
local ____exports = {}
|
|
55081
55092
|
local ____cachedClasses = require("src.core.cachedClasses")
|
|
55082
55093
|
local game = ____cachedClasses.game
|
|
@@ -55089,10 +55100,14 @@ function ____exports.getCurseIDByName(self, name)
|
|
|
55089
55100
|
end
|
|
55090
55101
|
return 1 << curseID - 1
|
|
55091
55102
|
end
|
|
55092
|
-
function ____exports.hasCurse(self,
|
|
55103
|
+
function ____exports.hasCurse(self, ...)
|
|
55104
|
+
local curses = {...}
|
|
55093
55105
|
local level = game:GetLevel()
|
|
55094
|
-
local
|
|
55095
|
-
return
|
|
55106
|
+
local levelCurses = level:GetCurses()
|
|
55107
|
+
return __TS__ArraySome(
|
|
55108
|
+
curses,
|
|
55109
|
+
function(____, curse) return hasFlag(nil, levelCurses, curse) end
|
|
55110
|
+
)
|
|
55096
55111
|
end
|
|
55097
55112
|
return ____exports
|
|
55098
55113
|
end,
|
|
@@ -27,8 +27,8 @@ export declare class DisableInputs extends Feature {
|
|
|
27
27
|
/**
|
|
28
28
|
* Helper function to disable specific inputs, like opening the console.
|
|
29
29
|
*
|
|
30
|
-
* This function is variadic, meaning that you can
|
|
31
|
-
* disable all inputs, see the `disableAllInputs` function.
|
|
30
|
+
* This function is variadic, meaning that you can specify as many inputs as you want to disable.
|
|
31
|
+
* (To disable all inputs, see the `disableAllInputs` function.
|
|
32
32
|
*
|
|
33
33
|
* Use the `enableAllInputs` helper function to set things back to normal.
|
|
34
34
|
*
|
|
@@ -8,5 +8,13 @@ import type { LevelCurse } from "isaac-typescript-definitions";
|
|
|
8
8
|
* a bit flag.
|
|
9
9
|
*/
|
|
10
10
|
export declare function getCurseIDByName(name: string): LevelCurse;
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Helper function to check if the current floor has a particular curse.
|
|
13
|
+
*
|
|
14
|
+
* This function is variadic, meaning that you can specify as many curses as you want. The function
|
|
15
|
+
* will return true if the level has one or more of the curses.
|
|
16
|
+
*
|
|
17
|
+
* Under the hood, this function uses the `Level.GetCurses` method.
|
|
18
|
+
*/
|
|
19
|
+
export declare function hasCurse(...curses: LevelCurse[]): boolean;
|
|
12
20
|
//# sourceMappingURL=curses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curses.d.ts","sourceRoot":"","sources":["../../../src/functions/curses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAWzD;AAED,wBAAgB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"curses.d.ts","sourceRoot":"","sources":["../../../src/functions/curses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAWzD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAKzD"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
1
3
|
local ____exports = {}
|
|
2
4
|
local ____cachedClasses = require("src.core.cachedClasses")
|
|
3
5
|
local game = ____cachedClasses.game
|
|
@@ -16,9 +18,19 @@ function ____exports.getCurseIDByName(self, name)
|
|
|
16
18
|
end
|
|
17
19
|
return 1 << curseID - 1
|
|
18
20
|
end
|
|
19
|
-
function
|
|
21
|
+
--- Helper function to check if the current floor has a particular curse.
|
|
22
|
+
--
|
|
23
|
+
-- This function is variadic, meaning that you can specify as many curses as you want. The function
|
|
24
|
+
-- will return true if the level has one or more of the curses.
|
|
25
|
+
--
|
|
26
|
+
-- Under the hood, this function uses the `Level.GetCurses` method.
|
|
27
|
+
function ____exports.hasCurse(self, ...)
|
|
28
|
+
local curses = {...}
|
|
20
29
|
local level = game:GetLevel()
|
|
21
|
-
local
|
|
22
|
-
return
|
|
30
|
+
local levelCurses = level:GetCurses()
|
|
31
|
+
return __TS__ArraySome(
|
|
32
|
+
curses,
|
|
33
|
+
function(____, curse) return hasFlag(nil, levelCurses, curse) end
|
|
34
|
+
)
|
|
23
35
|
end
|
|
24
36
|
return ____exports
|
|
@@ -249,13 +249,14 @@ export declare function is2x1Room(roomData: RoomConfig): boolean;
|
|
|
249
249
|
* @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
|
|
250
250
|
* the array will be ignored. If not specified, then all rooms will be
|
|
251
251
|
* checked. Undefined by default.
|
|
252
|
-
* @param
|
|
253
|
-
*
|
|
252
|
+
* @param includeSecretRoom Optional. Whether to include the Secret Room. Default is false.
|
|
253
|
+
* @param includeSuperSecretRoom Optional. Whether to include the Super Secret Room. Default is
|
|
254
|
+
* false.
|
|
254
255
|
* @param includeUltraSecretRoom Optional. Whether to include the Ultra Secret Room. Default is
|
|
255
256
|
* false.
|
|
256
257
|
* @allowEmptyVariadic
|
|
257
258
|
*/
|
|
258
|
-
export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[] | readonly RoomType[],
|
|
259
|
+
export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[] | readonly RoomType[], includeSecretRoom?: boolean, includeSuperSecretRoom?: boolean, includeUltraSecretRoom?: boolean): boolean;
|
|
259
260
|
/**
|
|
260
261
|
* Helper function to check to see if the current room is an angel shop.
|
|
261
262
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../../src/functions/rooms.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../../src/functions/rooms.ts"],"names":[],"mappings":"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"}
|
|
@@ -571,14 +571,18 @@ end
|
|
|
571
571
|
-- @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
|
|
572
572
|
-- the array will be ignored. If not specified, then all rooms will be
|
|
573
573
|
-- checked. Undefined by default.
|
|
574
|
-
-- @param
|
|
575
|
-
-- Secret Room. Default is
|
|
574
|
+
-- @param includeSecretRoom Optional. Whether to include the Secret Room. Default is false.
|
|
575
|
+
-- @param includeSuperSecretRoom Optional. Whether to include the Super Secret Room. Default is
|
|
576
|
+
-- false.
|
|
576
577
|
-- @param includeUltraSecretRoom Optional. Whether to include the Ultra Secret Room. Default is
|
|
577
578
|
-- false.
|
|
578
579
|
-- @allowEmptyVariadic
|
|
579
|
-
function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes,
|
|
580
|
-
if
|
|
581
|
-
|
|
580
|
+
function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes, includeSecretRoom, includeSuperSecretRoom, includeUltraSecretRoom)
|
|
581
|
+
if includeSecretRoom == nil then
|
|
582
|
+
includeSecretRoom = false
|
|
583
|
+
end
|
|
584
|
+
if includeSuperSecretRoom == nil then
|
|
585
|
+
includeSuperSecretRoom = false
|
|
582
586
|
end
|
|
583
587
|
if includeUltraSecretRoom == nil then
|
|
584
588
|
includeUltraSecretRoom = false
|
|
@@ -594,10 +598,16 @@ function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes, includeSecretAndS
|
|
|
594
598
|
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomTypeWhitelist:has(roomDescriptor.Data.Type) end
|
|
595
599
|
)
|
|
596
600
|
end
|
|
597
|
-
if not
|
|
601
|
+
if not includeSecretRoom then
|
|
602
|
+
matchingRooms = __TS__ArrayFilter(
|
|
603
|
+
matchingRooms,
|
|
604
|
+
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomDescriptor.Data.Type ~= RoomType.SECRET end
|
|
605
|
+
)
|
|
606
|
+
end
|
|
607
|
+
if not includeSuperSecretRoom then
|
|
598
608
|
matchingRooms = __TS__ArrayFilter(
|
|
599
609
|
matchingRooms,
|
|
600
|
-
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomDescriptor.Data.Type ~= RoomType.
|
|
610
|
+
function(____, roomDescriptor) return roomDescriptor.Data ~= nil and roomDescriptor.Data.Type ~= RoomType.SUPER_SECRET end
|
|
601
611
|
)
|
|
602
612
|
end
|
|
603
613
|
if not includeUltraSecretRoom then
|
|
@@ -679,12 +689,12 @@ function ____exports.setRoomCleared(self)
|
|
|
679
689
|
for ____, door in ipairs(getDoors(nil)) do
|
|
680
690
|
do
|
|
681
691
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
682
|
-
goto
|
|
692
|
+
goto __continue93
|
|
683
693
|
end
|
|
684
694
|
openDoorFast(nil, door)
|
|
685
695
|
door.ExtraVisible = false
|
|
686
696
|
end
|
|
687
|
-
::
|
|
697
|
+
::__continue93::
|
|
688
698
|
end
|
|
689
699
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
690
700
|
game:ShakeScreen(0)
|
package/package.json
CHANGED
|
@@ -146,8 +146,8 @@ export class DisableInputs extends Feature {
|
|
|
146
146
|
/**
|
|
147
147
|
* Helper function to disable specific inputs, like opening the console.
|
|
148
148
|
*
|
|
149
|
-
* This function is variadic, meaning that you can
|
|
150
|
-
* disable all inputs, see the `disableAllInputs` function.
|
|
149
|
+
* This function is variadic, meaning that you can specify as many inputs as you want to disable.
|
|
150
|
+
* (To disable all inputs, see the `disableAllInputs` function.
|
|
151
151
|
*
|
|
152
152
|
* Use the `enableAllInputs` helper function to set things back to normal.
|
|
153
153
|
*
|
package/src/functions/curses.ts
CHANGED
|
@@ -23,8 +23,17 @@ export function getCurseIDByName(name: string): LevelCurse {
|
|
|
23
23
|
return (1 << (curseID - 1)) as LevelCurse;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Helper function to check if the current floor has a particular curse.
|
|
28
|
+
*
|
|
29
|
+
* This function is variadic, meaning that you can specify as many curses as you want. The function
|
|
30
|
+
* will return true if the level has one or more of the curses.
|
|
31
|
+
*
|
|
32
|
+
* Under the hood, this function uses the `Level.GetCurses` method.
|
|
33
|
+
*/
|
|
34
|
+
export function hasCurse(...curses: LevelCurse[]): boolean {
|
|
27
35
|
const level = game.GetLevel();
|
|
28
|
-
const
|
|
29
|
-
|
|
36
|
+
const levelCurses = level.GetCurses();
|
|
37
|
+
|
|
38
|
+
return curses.some((curse) => hasFlag(levelCurses, curse));
|
|
30
39
|
}
|
package/src/functions/rooms.ts
CHANGED
|
@@ -539,15 +539,17 @@ export function is2x1Room(roomData: RoomConfig): boolean {
|
|
|
539
539
|
* @param onlyCheckRoomTypes Optional. A whitelist of room types. If specified, room types not in
|
|
540
540
|
* the array will be ignored. If not specified, then all rooms will be
|
|
541
541
|
* checked. Undefined by default.
|
|
542
|
-
* @param
|
|
543
|
-
*
|
|
542
|
+
* @param includeSecretRoom Optional. Whether to include the Secret Room. Default is false.
|
|
543
|
+
* @param includeSuperSecretRoom Optional. Whether to include the Super Secret Room. Default is
|
|
544
|
+
* false.
|
|
544
545
|
* @param includeUltraSecretRoom Optional. Whether to include the Ultra Secret Room. Default is
|
|
545
546
|
* false.
|
|
546
547
|
* @allowEmptyVariadic
|
|
547
548
|
*/
|
|
548
549
|
export function isAllRoomsClear(
|
|
549
550
|
onlyCheckRoomTypes?: RoomType[] | readonly RoomType[],
|
|
550
|
-
|
|
551
|
+
includeSecretRoom = false,
|
|
552
|
+
includeSuperSecretRoom = false,
|
|
551
553
|
includeUltraSecretRoom = false,
|
|
552
554
|
): boolean {
|
|
553
555
|
const roomsInsideGrid = getRoomsInsideGrid();
|
|
@@ -564,11 +566,18 @@ export function isAllRoomsClear(
|
|
|
564
566
|
);
|
|
565
567
|
}
|
|
566
568
|
|
|
567
|
-
if (!
|
|
569
|
+
if (!includeSecretRoom) {
|
|
570
|
+
matchingRooms = matchingRooms.filter(
|
|
571
|
+
(roomDescriptor) =>
|
|
572
|
+
roomDescriptor.Data !== undefined &&
|
|
573
|
+
roomDescriptor.Data.Type !== RoomType.SECRET,
|
|
574
|
+
);
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
if (!includeSuperSecretRoom) {
|
|
568
578
|
matchingRooms = matchingRooms.filter(
|
|
569
579
|
(roomDescriptor) =>
|
|
570
580
|
roomDescriptor.Data !== undefined &&
|
|
571
|
-
roomDescriptor.Data.Type !== RoomType.SECRET &&
|
|
572
581
|
roomDescriptor.Data.Type !== RoomType.SUPER_SECRET,
|
|
573
582
|
);
|
|
574
583
|
}
|