isaacscript-common 27.7.0 → 27.9.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 +9 -0
- package/dist/isaacscript-common.lua +15 -5
- package/dist/src/classes/features/other/extraConsoleCommands/commands.d.ts +2 -0
- package/dist/src/classes/features/other/extraConsoleCommands/commands.d.ts.map +1 -1
- package/dist/src/classes/features/other/extraConsoleCommands/commands.lua +6 -0
- package/dist/src/functions/doors.d.ts +3 -0
- package/dist/src/functions/doors.d.ts.map +1 -1
- package/dist/src/functions/doors.lua +3 -0
- package/dist/src/functions/levelGrid.d.ts.map +1 -1
- package/dist/src/functions/levelGrid.lua +2 -1
- package/dist/src/functions/rooms.d.ts +5 -0
- package/dist/src/functions/rooms.d.ts.map +1 -1
- package/dist/src/functions/rooms.lua +9 -3
- package/package.json +1 -1
- package/src/classes/features/other/extraConsoleCommands/commands.ts +7 -0
- package/src/functions/doors.ts +3 -0
- package/src/functions/levelGrid.ts +2 -3
- package/src/functions/rooms.ts +14 -0
package/dist/index.rollup.d.ts
CHANGED
|
@@ -8167,9 +8167,18 @@ export declare function isSack(pickup: EntityPickup): pickup is EntityPickupSack
|
|
|
8167
8167
|
* This refers to the hole in the wall that appears after bombing the entrance to a secret room.
|
|
8168
8168
|
* Note that the door still exists before it has been bombed open. It has a sprite filename of
|
|
8169
8169
|
* "gfx/grid/door_08_holeinwall.anm2".
|
|
8170
|
+
*
|
|
8171
|
+
* Note that since Ultra Secret Rooms do not use holes, this function will not detect an Ultra
|
|
8172
|
+
* Secret Room door.
|
|
8170
8173
|
*/
|
|
8171
8174
|
export declare function isSecretRoomDoor(door: GridEntityDoor): boolean;
|
|
8172
8175
|
|
|
8176
|
+
/**
|
|
8177
|
+
* Helper function to detect if a room type is a Secret Room, a Super Secret Room, or an Ultra
|
|
8178
|
+
* Secret Room.
|
|
8179
|
+
*/
|
|
8180
|
+
export declare function isSecretRoomType(roomType: RoomType): boolean;
|
|
8181
|
+
|
|
8173
8182
|
/**
|
|
8174
8183
|
* Helper function to determine whether damage to a player in the `ENTITY_TAKE_DMG` callback was
|
|
8175
8184
|
* self-inflicted. For example, damage from a Curse Room door, a Razor, or a Blood Donation Machine
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 27.
|
|
3
|
+
isaacscript-common 27.9.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -26614,11 +26614,11 @@ return ____exports
|
|
|
26614
26614
|
end,
|
|
26615
26615
|
["src.functions.rooms"] = function(...)
|
|
26616
26616
|
local ____lualib = require("lualib_bundle")
|
|
26617
|
+
local __TS__New = ____lualib.__TS__New
|
|
26617
26618
|
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
26618
26619
|
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
26619
26620
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
26620
26621
|
local Map = ____lualib.Map
|
|
26621
|
-
local __TS__New = ____lualib.__TS__New
|
|
26622
26622
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
26623
26623
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
26624
26624
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
@@ -26729,6 +26729,7 @@ function ____exports.getRoomsOutsideGrid(self)
|
|
|
26729
26729
|
function(____, readOnlyRoomDescriptor) return getRoomDescriptor(nil, readOnlyRoomDescriptor.SafeGridIndex) end
|
|
26730
26730
|
)
|
|
26731
26731
|
end
|
|
26732
|
+
local SECRET_ROOM_TYPES = __TS__New(ReadonlySet, {RoomType.SECRET, RoomType.SUPER_SECRET, RoomType.ULTRA_SECRET})
|
|
26732
26733
|
function ____exports.changeRoom(self, roomGridIndex)
|
|
26733
26734
|
local level = game:GetLevel()
|
|
26734
26735
|
local roomData = getRoomData(nil, roomGridIndex)
|
|
@@ -26915,6 +26916,9 @@ function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes)
|
|
|
26915
26916
|
function(____, roomDescriptor) return roomDescriptor.Clear end
|
|
26916
26917
|
)
|
|
26917
26918
|
end
|
|
26919
|
+
function ____exports.isSecretRoomType(self, roomType)
|
|
26920
|
+
return SECRET_ROOM_TYPES:has(roomType)
|
|
26921
|
+
end
|
|
26918
26922
|
function ____exports.roomUpdateSafe(self)
|
|
26919
26923
|
local room = game:GetRoom()
|
|
26920
26924
|
local entities = getEntities(nil)
|
|
@@ -26938,12 +26942,12 @@ function ____exports.setRoomCleared(self)
|
|
|
26938
26942
|
for ____, door in ipairs(getDoors(nil)) do
|
|
26939
26943
|
do
|
|
26940
26944
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
26941
|
-
goto
|
|
26945
|
+
goto __continue56
|
|
26942
26946
|
end
|
|
26943
26947
|
openDoorFast(nil, door)
|
|
26944
26948
|
door.ExtraVisible = false
|
|
26945
26949
|
end
|
|
26946
|
-
::
|
|
26950
|
+
::__continue56::
|
|
26947
26951
|
end
|
|
26948
26952
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
26949
26953
|
game:ShakeScreen(0)
|
|
@@ -45862,6 +45866,7 @@ local getRoomShape = ____roomData.getRoomShape
|
|
|
45862
45866
|
local ____rooms = require("src.functions.rooms")
|
|
45863
45867
|
local getRooms = ____rooms.getRooms
|
|
45864
45868
|
local getRoomsInsideGrid = ____rooms.getRoomsInsideGrid
|
|
45869
|
+
local isSecretRoomType = ____rooms.isSecretRoomType
|
|
45865
45870
|
local ____roomShape = require("src.functions.roomShape")
|
|
45866
45871
|
local getGridIndexDelta = ____roomShape.getGridIndexDelta
|
|
45867
45872
|
local ____types = require("src.functions.types")
|
|
@@ -46091,7 +46096,7 @@ function ____exports.newRoom(self, seedOrRNG)
|
|
|
46091
46096
|
local hasCompass = level:GetStateFlag(LevelStateFlag.COMPASS_EFFECT)
|
|
46092
46097
|
local hasBlueMap = level:GetStateFlag(LevelStateFlag.BLUE_MAP_EFFECT)
|
|
46093
46098
|
local roomType = roomData.Type
|
|
46094
|
-
local isSecretRoom =
|
|
46099
|
+
local isSecretRoom = isSecretRoomType(nil, roomType)
|
|
46095
46100
|
if hasFullMap then
|
|
46096
46101
|
roomDescriptor.DisplayFlags = ALL_DISPLAY_FLAGS
|
|
46097
46102
|
elseif not isSecretRoom and hasCompass then
|
|
@@ -47652,6 +47657,7 @@ local sfxManager = ____cachedClasses.sfxManager
|
|
|
47652
47657
|
local ____constants = require("src.core.constants")
|
|
47653
47658
|
local DOGMA_ROOM_GRID_INDEX = ____constants.DOGMA_ROOM_GRID_INDEX
|
|
47654
47659
|
local MAX_LEVEL_GRID_INDEX = ____constants.MAX_LEVEL_GRID_INDEX
|
|
47660
|
+
local MAX_NUM_FAMILIARS = ____constants.MAX_NUM_FAMILIARS
|
|
47655
47661
|
local ____constantsFirstLast = require("src.core.constantsFirstLast")
|
|
47656
47662
|
local FIRST_CARD_TYPE = ____constantsFirstLast.FIRST_CARD_TYPE
|
|
47657
47663
|
local FIRST_CHARACTER = ____constantsFirstLast.FIRST_CHARACTER
|
|
@@ -48114,6 +48120,10 @@ end
|
|
|
48114
48120
|
function ____exports.eternalHearts(self, params)
|
|
48115
48121
|
addHeart(nil, params, HealthType.ETERNAL)
|
|
48116
48122
|
end
|
|
48123
|
+
function ____exports.flies(self)
|
|
48124
|
+
local player = Isaac.GetPlayer()
|
|
48125
|
+
player:AddBlueFlies(MAX_NUM_FAMILIARS, player.Position, nil)
|
|
48126
|
+
end
|
|
48117
48127
|
function ____exports.flight(self, params)
|
|
48118
48128
|
local player = Isaac.GetPlayer()
|
|
48119
48129
|
v.persistent.flight = not v.persistent.flight
|
|
@@ -140,6 +140,8 @@ export declare function errorRoom(): void;
|
|
|
140
140
|
* numbers to remove hearts.)
|
|
141
141
|
*/
|
|
142
142
|
export declare function eternalHearts(params: string): void;
|
|
143
|
+
/** Grants the maximum amount of blue flies to the player. */
|
|
144
|
+
export declare function flies(): void;
|
|
143
145
|
/** Toggles flight for the player. */
|
|
144
146
|
export declare function flight(params: string): void;
|
|
145
147
|
/** Alias for the "startingRoom" command. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/features/other/extraConsoleCommands/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/features/other/extraConsoleCommands/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ local sfxManager = ____cachedClasses.sfxManager
|
|
|
25
25
|
local ____constants = require("src.core.constants")
|
|
26
26
|
local DOGMA_ROOM_GRID_INDEX = ____constants.DOGMA_ROOM_GRID_INDEX
|
|
27
27
|
local MAX_LEVEL_GRID_INDEX = ____constants.MAX_LEVEL_GRID_INDEX
|
|
28
|
+
local MAX_NUM_FAMILIARS = ____constants.MAX_NUM_FAMILIARS
|
|
28
29
|
local ____constantsFirstLast = require("src.core.constantsFirstLast")
|
|
29
30
|
local FIRST_CARD_TYPE = ____constantsFirstLast.FIRST_CARD_TYPE
|
|
30
31
|
local FIRST_CHARACTER = ____constantsFirstLast.FIRST_CHARACTER
|
|
@@ -568,6 +569,11 @@ end
|
|
|
568
569
|
function ____exports.eternalHearts(self, params)
|
|
569
570
|
addHeart(nil, params, HealthType.ETERNAL)
|
|
570
571
|
end
|
|
572
|
+
--- Grants the maximum amount of blue flies to the player.
|
|
573
|
+
function ____exports.flies(self)
|
|
574
|
+
local player = Isaac.GetPlayer()
|
|
575
|
+
player:AddBlueFlies(MAX_NUM_FAMILIARS, player.Position, nil)
|
|
576
|
+
end
|
|
571
577
|
--- Toggles flight for the player.
|
|
572
578
|
function ____exports.flight(self, params)
|
|
573
579
|
local player = Isaac.GetPlayer()
|
|
@@ -135,6 +135,9 @@ export declare function isRepentanceDoor(door: GridEntityDoor): boolean;
|
|
|
135
135
|
* This refers to the hole in the wall that appears after bombing the entrance to a secret room.
|
|
136
136
|
* Note that the door still exists before it has been bombed open. It has a sprite filename of
|
|
137
137
|
* "gfx/grid/door_08_holeinwall.anm2".
|
|
138
|
+
*
|
|
139
|
+
* Note that since Ultra Secret Rooms do not use holes, this function will not detect an Ultra
|
|
140
|
+
* Secret Room door.
|
|
138
141
|
*/
|
|
139
142
|
export declare function isSecretRoomDoor(door: GridEntityDoor): boolean;
|
|
140
143
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doors.d.ts","sourceRoot":"","sources":["../../../src/functions/doors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doors.d.ts","sourceRoot":"","sources":["../../../src/functions/doors.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,6 +104,9 @@ end
|
|
|
104
104
|
--- This refers to the hole in the wall that appears after bombing the entrance to a secret room.
|
|
105
105
|
-- Note that the door still exists before it has been bombed open. It has a sprite filename of
|
|
106
106
|
-- "gfx/grid/door_08_holeinwall.anm2".
|
|
107
|
+
--
|
|
108
|
+
-- Note that since Ultra Secret Rooms do not use holes, this function will not detect an Ultra
|
|
109
|
+
-- Secret Room door.
|
|
107
110
|
function ____exports.isSecretRoomDoor(self, door)
|
|
108
111
|
local sprite = door:GetSprite()
|
|
109
112
|
local fileName = sprite:GetFilename()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../../src/functions/levelGrid.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"levelGrid.d.ts","sourceRoot":"","sources":["../../../src/functions/levelGrid.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ local getRoomShape = ____roomData.getRoomShape
|
|
|
45
45
|
local ____rooms = require("src.functions.rooms")
|
|
46
46
|
local getRooms = ____rooms.getRooms
|
|
47
47
|
local getRoomsInsideGrid = ____rooms.getRoomsInsideGrid
|
|
48
|
+
local isSecretRoomType = ____rooms.isSecretRoomType
|
|
48
49
|
local ____roomShape = require("src.functions.roomShape")
|
|
49
50
|
local getGridIndexDelta = ____roomShape.getGridIndexDelta
|
|
50
51
|
local ____types = require("src.functions.types")
|
|
@@ -394,7 +395,7 @@ function ____exports.newRoom(self, seedOrRNG)
|
|
|
394
395
|
local hasCompass = level:GetStateFlag(LevelStateFlag.COMPASS_EFFECT)
|
|
395
396
|
local hasBlueMap = level:GetStateFlag(LevelStateFlag.BLUE_MAP_EFFECT)
|
|
396
397
|
local roomType = roomData.Type
|
|
397
|
-
local isSecretRoom =
|
|
398
|
+
local isSecretRoom = isSecretRoomType(nil, roomType)
|
|
398
399
|
if hasFullMap then
|
|
399
400
|
roomDescriptor.DisplayFlags = ALL_DISPLAY_FLAGS
|
|
400
401
|
elseif not isSecretRoom and hasCompass then
|
|
@@ -190,6 +190,11 @@ export declare function inStartingRoom(): boolean;
|
|
|
190
190
|
* checked. Undefined by default.
|
|
191
191
|
*/
|
|
192
192
|
export declare function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[]): boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Helper function to detect if a room type is a Secret Room, a Super Secret Room, or an Ultra
|
|
195
|
+
* Secret Room.
|
|
196
|
+
*/
|
|
197
|
+
export declare function isSecretRoomType(roomType: RoomType): boolean;
|
|
193
198
|
/**
|
|
194
199
|
* If the `Room.Update` method is called in a `POST_NEW_ROOM` callback, then some entities will
|
|
195
200
|
* slide around (such as the player). Since those entity velocities are already at zero, setting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../../src/functions/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,MAAM,EACN,SAAS,EAMT,YAAY,EAEZ,UAAU,EAGV,QAAQ,EAGT,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../../src/functions/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,MAAM,EACN,SAAS,EAMT,YAAY,EAEZ,UAAU,EAGV,QAAQ,EAGT,MAAM,8BAA8B,CAAC;AAyCtC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI,CAenD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAGjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAiBlE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,GAAG,EAChB,oBAAoB,UAAO,EAC3B,iCAAiC,UAAQ,GACxC,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAclC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAOlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,4BAA4B,UAAQ,GACnC,cAAc,EAAE,CAOlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,4BAA4B,UAAQ,GACnC,cAAc,EAAE,CAqBlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,EAAE,CAe1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAWtD;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAKnC;AAED,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAWpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAStC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAShD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD;AAED,wBAAgB,eAAe,IAAI,OAAO,CAMzC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAIvC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAUtC;AAED,+FAA+F;AAC/F,wBAAgB,OAAO,IAAI,OAAO,CAUjC;AAED,gGAAgG;AAChG,wBAAgB,eAAe,IAAI,OAAO,CAIzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAWhE;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAWtC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAI5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAItC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAItC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAgBxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAWrC;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA8BrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
2
3
|
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
3
4
|
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
4
5
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
5
6
|
local Map = ____lualib.Map
|
|
6
|
-
local __TS__New = ____lualib.__TS__New
|
|
7
7
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
8
8
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
9
9
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
@@ -136,6 +136,7 @@ function ____exports.getRoomsOutsideGrid(self)
|
|
|
136
136
|
function(____, readOnlyRoomDescriptor) return getRoomDescriptor(nil, readOnlyRoomDescriptor.SafeGridIndex) end
|
|
137
137
|
)
|
|
138
138
|
end
|
|
139
|
+
local SECRET_ROOM_TYPES = __TS__New(ReadonlySet, {RoomType.SECRET, RoomType.SUPER_SECRET, RoomType.ULTRA_SECRET})
|
|
139
140
|
--- Helper function for quickly switching to a new room without playing a particular animation. Use
|
|
140
141
|
-- this helper function over invoking the `Game.ChangeRoom` method directly to ensure that you do
|
|
141
142
|
-- not forget to set the `LeaveDoor` field and to prevent crashing on invalid room grid indexes.
|
|
@@ -415,6 +416,11 @@ function ____exports.isAllRoomsClear(self, onlyCheckRoomTypes)
|
|
|
415
416
|
function(____, roomDescriptor) return roomDescriptor.Clear end
|
|
416
417
|
)
|
|
417
418
|
end
|
|
419
|
+
--- Helper function to detect if a room type is a Secret Room, a Super Secret Room, or an Ultra
|
|
420
|
+
-- Secret Room.
|
|
421
|
+
function ____exports.isSecretRoomType(self, roomType)
|
|
422
|
+
return SECRET_ROOM_TYPES:has(roomType)
|
|
423
|
+
end
|
|
418
424
|
--- If the `Room.Update` method is called in a `POST_NEW_ROOM` callback, then some entities will
|
|
419
425
|
-- slide around (such as the player). Since those entity velocities are already at zero, setting
|
|
420
426
|
-- them to zero will have no effect. Thus, a generic solution is to record all of the entity
|
|
@@ -446,12 +452,12 @@ function ____exports.setRoomCleared(self)
|
|
|
446
452
|
for ____, door in ipairs(getDoors(nil)) do
|
|
447
453
|
do
|
|
448
454
|
if isHiddenSecretRoomDoor(nil, door) then
|
|
449
|
-
goto
|
|
455
|
+
goto __continue56
|
|
450
456
|
end
|
|
451
457
|
openDoorFast(nil, door)
|
|
452
458
|
door.ExtraVisible = false
|
|
453
459
|
end
|
|
454
|
-
::
|
|
460
|
+
::__continue56::
|
|
455
461
|
end
|
|
456
462
|
sfxManager:Stop(SoundEffect.DOOR_HEAVY_OPEN)
|
|
457
463
|
game:ShakeScreen(0)
|
package/package.json
CHANGED
|
@@ -56,6 +56,7 @@ import { game, sfxManager } from "../../../../core/cachedClasses";
|
|
|
56
56
|
import {
|
|
57
57
|
DOGMA_ROOM_GRID_INDEX,
|
|
58
58
|
MAX_LEVEL_GRID_INDEX,
|
|
59
|
+
MAX_NUM_FAMILIARS,
|
|
59
60
|
} from "../../../../core/constants";
|
|
60
61
|
import {
|
|
61
62
|
FIRST_CARD_TYPE,
|
|
@@ -616,6 +617,12 @@ export function eternalHearts(params: string): void {
|
|
|
616
617
|
addHeart(params, HealthType.ETERNAL);
|
|
617
618
|
}
|
|
618
619
|
|
|
620
|
+
/** Grants the maximum amount of blue flies to the player. */
|
|
621
|
+
export function flies(): void {
|
|
622
|
+
const player = Isaac.GetPlayer();
|
|
623
|
+
player.AddBlueFlies(MAX_NUM_FAMILIARS, player.Position, undefined);
|
|
624
|
+
}
|
|
625
|
+
|
|
619
626
|
/** Toggles flight for the player. */
|
|
620
627
|
export function flight(params: string): void {
|
|
621
628
|
const player = Isaac.GetPlayer();
|
package/src/functions/doors.ts
CHANGED
|
@@ -430,6 +430,9 @@ export function isRepentanceDoor(door: GridEntityDoor): boolean {
|
|
|
430
430
|
* This refers to the hole in the wall that appears after bombing the entrance to a secret room.
|
|
431
431
|
* Note that the door still exists before it has been bombed open. It has a sprite filename of
|
|
432
432
|
* "gfx/grid/door_08_holeinwall.anm2".
|
|
433
|
+
*
|
|
434
|
+
* Note that since Ultra Secret Rooms do not use holes, this function will not detect an Ultra
|
|
435
|
+
* Secret Room door.
|
|
433
436
|
*/
|
|
434
437
|
export function isSecretRoomDoor(door: GridEntityDoor): boolean {
|
|
435
438
|
const sprite = door.GetSprite();
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
getRoomGridIndex,
|
|
37
37
|
getRoomShape,
|
|
38
38
|
} from "./roomData";
|
|
39
|
-
import { getRooms, getRoomsInsideGrid } from "./rooms";
|
|
39
|
+
import { getRooms, getRoomsInsideGrid, isSecretRoomType } from "./rooms";
|
|
40
40
|
import { getGridIndexDelta } from "./roomShape";
|
|
41
41
|
import { asNumber } from "./types";
|
|
42
42
|
|
|
@@ -512,8 +512,7 @@ export function newRoom(seedOrRNG?: Seed | RNG): int | undefined {
|
|
|
512
512
|
const hasCompass = level.GetStateFlag(LevelStateFlag.COMPASS_EFFECT);
|
|
513
513
|
const hasBlueMap = level.GetStateFlag(LevelStateFlag.BLUE_MAP_EFFECT);
|
|
514
514
|
const roomType = roomData.Type;
|
|
515
|
-
const isSecretRoom =
|
|
516
|
-
roomType === RoomType.SECRET || roomType === RoomType.SUPER_SECRET;
|
|
515
|
+
const isSecretRoom = isSecretRoomType(roomType);
|
|
517
516
|
|
|
518
517
|
if (hasFullMap) {
|
|
519
518
|
roomDescriptor.DisplayFlags = ALL_DISPLAY_FLAGS;
|
package/src/functions/rooms.ts
CHANGED
|
@@ -51,6 +51,12 @@ import { getGotoCommand } from "./stage";
|
|
|
51
51
|
import { asNumber } from "./types";
|
|
52
52
|
import { iRange } from "./utils";
|
|
53
53
|
|
|
54
|
+
const SECRET_ROOM_TYPES = new ReadonlySet([
|
|
55
|
+
RoomType.SECRET,
|
|
56
|
+
RoomType.SUPER_SECRET,
|
|
57
|
+
RoomType.ULTRA_SECRET,
|
|
58
|
+
]);
|
|
59
|
+
|
|
54
60
|
/**
|
|
55
61
|
* Helper function for quickly switching to a new room without playing a particular animation. Use
|
|
56
62
|
* this helper function over invoking the `Game.ChangeRoom` method directly to ensure that you do
|
|
@@ -547,6 +553,14 @@ export function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[]): boolean {
|
|
|
547
553
|
return matchingRooms.every((roomDescriptor) => roomDescriptor.Clear);
|
|
548
554
|
}
|
|
549
555
|
|
|
556
|
+
/**
|
|
557
|
+
* Helper function to detect if a room type is a Secret Room, a Super Secret Room, or an Ultra
|
|
558
|
+
* Secret Room.
|
|
559
|
+
*/
|
|
560
|
+
export function isSecretRoomType(roomType: RoomType): boolean {
|
|
561
|
+
return SECRET_ROOM_TYPES.has(roomType);
|
|
562
|
+
}
|
|
563
|
+
|
|
550
564
|
/**
|
|
551
565
|
* If the `Room.Update` method is called in a `POST_NEW_ROOM` callback, then some entities will
|
|
552
566
|
* slide around (such as the player). Since those entity velocities are already at zero, setting
|