106 lines
3.6 KiB
TypeScript
106 lines
3.6 KiB
TypeScript
declare interface Level {
|
|
AddAngelRoomChance(chance: float): void;
|
|
AddCurse(levelCurse: LevelCurse | int, showName: boolean): void;
|
|
ApplyBlueMapEffect(): void;
|
|
ApplyCompassEffect(persistent: boolean): void;
|
|
ApplyMapEffect(): void;
|
|
CanOpenChallengeRoom(roomIndex: int): boolean;
|
|
CanSpawnDevilRoom(): boolean;
|
|
CanStageHaveCurseOfLabyrinth(levelStage: LevelStage): boolean;
|
|
/**
|
|
* @param roomIndex
|
|
* @param dimension Default is Dimension.CURRENT.
|
|
*/
|
|
ChangeRoom(roomIndex: int, dimension?: Dimension): void;
|
|
DisableDevilRoom(): void;
|
|
ForceHorsemanBoss(seed: int): boolean;
|
|
GetAbsoluteStage(): LevelStage;
|
|
GetAngelRoomChance(): float;
|
|
GetCanSeeEverything(): boolean;
|
|
GetCurrentRoom(): Room;
|
|
/**
|
|
* Note that this returns a read-only copy of the RoomDescriptor object and writing to any of its
|
|
* properties will fail. If you need to update anything in this object, use the
|
|
* `GetRoomByIdx(currentRoomIndex)` method instead.
|
|
*/
|
|
GetCurrentRoomDesc(): RoomDescriptorReadOnly;
|
|
GetCurrentRoomIndex(): int;
|
|
GetCurseName(): string;
|
|
GetCurses(): LevelCurse | int;
|
|
GetDevilAngelRoomRNG(): RNG;
|
|
GetDungeonPlacementSeed(): int;
|
|
GetEnterPosition(): Vector;
|
|
GetHeartPicked(): boolean;
|
|
GetLastBossRoomListIndex(): int;
|
|
GetLastRoomDesc(): RoomDescriptorReadOnly;
|
|
/**
|
|
* @param levelStage Default value is the current stage.
|
|
* @param stageType Default value is the current stage type.
|
|
* @param curses Default value is the current curses.
|
|
* @param infiniteLevel Default value is the current infinite level setting.
|
|
* @param dyslexia Default value is the current dyslexia setting.
|
|
*/
|
|
GetName(
|
|
levelStage?: LevelStage,
|
|
stageType?: StageType,
|
|
curses?: int,
|
|
infiniteLevel?: int,
|
|
dyslexia?: boolean,
|
|
): string;
|
|
GetNonCompleteRoomIndex(): int;
|
|
GetPreviousRoomIndex(): int;
|
|
GetRandomRoomIndex(IAmErrorRoom: boolean, seed: int): int;
|
|
/**
|
|
* @param roomIdx
|
|
* @param dimension Default is Dimension.CURRENT.
|
|
*/
|
|
GetRoomByIdx(roomIndex: int, dimension?: Dimension): RoomDescriptor;
|
|
GetRoomCount(): int;
|
|
GetRooms(): RoomList;
|
|
GetStage(): LevelStage;
|
|
GetStageType(): StageType;
|
|
GetStartingRoomIndex(): int;
|
|
GetStateFlag(levelStateFlag: LevelStateFlag): boolean;
|
|
HasBossChallenge(): boolean;
|
|
InitializeDevilAngelRoom(forceAngel: boolean, forceDevil: boolean): void;
|
|
IsAltStage(): boolean;
|
|
IsDevilRoomDisabled(): boolean;
|
|
IsNextStageAvailable(): boolean;
|
|
/**
|
|
* @param roomType
|
|
* @param visited
|
|
* @param rng
|
|
* @param ignoreGroup If set to true, includes rooms that do not have the same group ID as the
|
|
* current room. Default is false.
|
|
*/
|
|
QueryRoomTypeIndex(
|
|
roomType: RoomType,
|
|
visited: boolean,
|
|
rng: RNG,
|
|
ignoreGroup?: boolean,
|
|
): int;
|
|
RemoveCompassEffect(): void;
|
|
/** This is currently bugged and maps internally to "RemoveCurse()". The old "RemoveCurses()" is not currently accessible. */
|
|
RemoveCurses(levelCurse: LevelCurse | int): void;
|
|
SetCanSeeEverything(value: boolean): void;
|
|
SetHeartPicked(): void;
|
|
SetNextStage(): void;
|
|
SetRedHeartDamage(): void;
|
|
SetStage(levelStage: LevelStage, stageType: StageType): void;
|
|
SetStateFlag(levelStateFlag: LevelStateFlag, val: boolean): void;
|
|
ShowMap(): void;
|
|
ShowName(sticky: boolean): void;
|
|
UncoverHiddenDoor(currentRoomIdx: int, doorSlot: DoorSlot): void;
|
|
Update(): void;
|
|
/**
|
|
* Call this method to update the mini-map after changing the `DisplayFlags` property of a room.
|
|
*/
|
|
UpdateVisibility(): void;
|
|
|
|
DungeonReturnPosition: Vector;
|
|
DungeonReturnRoomIndex: int;
|
|
EnterDoor: int;
|
|
GreedModeWave: int;
|
|
LeaveDoor: int;
|
|
}
|