isaac-typescript-definitions
Version:
TypeScript definitions for The Binding of Isaac: Repentance.
74 lines (73 loc) • 1.83 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.LevelCurseZero = exports.LevelCurse = void 0;
const CurseID_1 = require("../CurseID");
/**
* This is represented as an object instead of an enum due to limitations with TypeScript enums. (We
* want this type to be a child of the `BitFlag` type.)
*
* @enum
* @notExported
* @rename LevelCurse
*/
const LevelCurseInternal = {
/** 1 << -1 (0) */
NONE: 0,
/**
* 1 << 0 (1)
*
* Corresponds to `CurseID.DARKNESS` (1).
*/
DARKNESS: getLevelCurse(CurseID_1.CurseID.DARKNESS),
/**
* 1 << 1 (2)
*
* Corresponds to `CurseID.LABYRINTH` (2).
*/
LABYRINTH: getLevelCurse(CurseID_1.CurseID.LABYRINTH),
/**
* 1 << 2 (4)
*
* Corresponds to `CurseID.LOST` (3).
*/
LOST: getLevelCurse(CurseID_1.CurseID.LOST),
/**
* 1 << 3 (8)
*
* Corresponds to `CurseID.UNKNOWN` (4).
*/
UNKNOWN: getLevelCurse(CurseID_1.CurseID.UNKNOWN),
/**
* 1 << 4 (16)
*
* Corresponds to `CurseID.CURSED` (5).
*/
CURSED: getLevelCurse(CurseID_1.CurseID.CURSED),
/**
* 1 << 5 (32)
*
* Corresponds to `CurseID.MAZE` (6).
*/
MAZE: getLevelCurse(CurseID_1.CurseID.MAZE),
/**
* 1 << 6 (64)
*
* Corresponds to `CurseID.BLIND` (7).
*/
BLIND: getLevelCurse(CurseID_1.CurseID.BLIND),
/**
* 1 << 7 (128)
*
* Corresponds to `CurseID.GIANT` (8).
*/
GIANT: getLevelCurse(CurseID_1.CurseID.GIANT),
};
exports.LevelCurse = LevelCurseInternal;
exports.LevelCurseZero = 0;
/**
* In the "enums.lua" file, the values of the `LevelCurse` enum are hardcoded. We compute them here
* to have cleaner code.
*/
function getLevelCurse(curseID) {
return 1 << (curseID - 1);
}
;