isaac-typescript-definitions
Version:
TypeScript definitions for The Binding of Isaac: Repentance.
394 lines (362 loc) • 8.98 kB
text/typescript
/* eslint-disable sort-exports/sort-exports */
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.SHOP` (2).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum ShopSubType {
LEVEL_1 = 0,
LEVEL_2 = 1,
LEVEL_3 = 2,
LEVEL_4 = 3,
LEVEL_5 = 4,
RARE_GOOD = 10,
RARE_BAD = 11,
TAINTED_KEEPER_LEVEL_1 = 100,
TAINTED_KEEPER_LEVEL_2 = 101,
TAINTED_KEEPER_LEVEL_3 = 102,
TAINTED_KEEPER_LEVEL_4 = 103,
TAINTED_KEEPER_LEVEL_5 = 104,
TAINTED_KEEPER_RARE_GOOD = 110,
TAINTED_KEEPER_RARE_BAD = 111,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.TREASURE` (4).
*
* This matches the sub-type in the "00.special rooms.stb" file and elsewhere.
*/
export enum TreasureRoomSubType {
NORMAL = 0,
MORE_OPTIONS = 1,
PAY_TO_WIN = 2,
MORE_OPTIONS_AND_PAY_TO_WIN = 3,
KNIFE_PIECE = 34,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.BOSS` (5).
*
* This matches the "bossID" attribute in the "entities2.xml" file. It also matches the sub-type in
* the "00.special rooms.stb" file.
*
* The enum is named `BossID` instead of `BossRoomSubType` in order to match the `Entity.GetBossID`,
* `Room.GetBossID` and `Room.GetSecondBossID` methods.
*
* There is no BossID with a value of 0 because this is the default return value for "no boss ID"
* when using the `Room.GetBossID` method.
*
* This enum is contiguous. (Every value is satisfied between 1 and 102, inclusive.)
*
* Also see the `MinibossID` enum.
*/
export enum BossID {
MONSTRO = 1,
LARRY_JR = 2,
CHUB = 3,
GURDY = 4,
MONSTRO_2 = 5,
MOM = 6,
SCOLEX = 7,
MOMS_HEART = 8,
FAMINE = 9,
PESTILENCE = 10,
WAR = 11,
DEATH = 12,
DUKE_OF_FLIES = 13,
PEEP = 14,
LOKI = 15,
BLASTOCYST = 16,
GEMINI = 17,
FISTULA = 18,
GISH = 19,
STEVEN = 20,
CHAD = 21,
HEADLESS_HORSEMAN = 22,
FALLEN = 23,
SATAN = 24,
IT_LIVES = 25,
HOLLOW = 26,
CARRION_QUEEN = 27,
GURDY_JR = 28,
HUSK = 29,
BLOAT = 30,
LOKII = 31,
BLIGHTED_OVUM = 32,
TERATOMA = 33,
WIDOW = 34,
MASK_OF_INFAMY = 35,
WRETCHED = 36,
PIN = 37,
CONQUEST = 38,
ISAAC = 39,
/** Also known as "???". */
BLUE_BABY = 40,
DADDY_LONG_LEGS = 41,
TRIACHNID = 42,
HAUNT = 43,
DINGLE = 44,
MEGA_MAW = 45,
GATE = 46,
MEGA_FATTY = 47,
CAGE = 48,
MAMA_GURDY = 49,
DARK_ONE = 50,
ADVERSARY = 51,
POLYCEPHALUS = 52,
MR_FRED = 53,
LAMB = 54,
MEGA_SATAN = 55,
GURGLING = 56,
STAIN = 57,
BROWNIE = 58,
FORSAKEN = 59,
LITTLE_HORN = 60,
RAG_MAN = 61,
ULTRA_GREED = 62,
HUSH = 63,
DANGLE = 64,
TURDLING = 65,
FRAIL = 66,
RAG_MEGA = 67,
SISTERS_VIS = 68,
BIG_HORN = 69,
DELIRIUM = 70,
/**
* Ultra Greedier does not have its own boss room; it appears in the normal Ultra Greed room. The
* `Room.GetBossID` function returns `BossID.ULTRA_GREED` (62) when fighting Ultra Greedier, but
* the boss ID can be successfully retrieved from the `Entity.GetBossID` method.
*/
ULTRA_GREEDIER = 71,
MATRIARCH = 72,
PILE = 73,
REAP_CREEP = 74,
LIL_BLUB = 75,
WORMWOOD = 76,
RAINMAKER = 77,
VISAGE = 78,
SIREN = 79,
TUFF_TWINS = 80,
HERETIC = 81,
HORNFEL = 82,
GREAT_GIDEON = 83,
BABY_PLUM = 84,
SCOURGE = 85,
CHIMERA = 86,
ROTGUT = 87,
MOTHER = 88,
MAUSOLEUM_MOM = 89,
MAUSOLEUM_MOMS_HEART = 90,
MIN_MIN = 91,
CLOG = 92,
SINGE = 93,
BUMBINO = 94,
COLOSTOMIA = 95,
SHELL = 96,
TURDLET = 97,
/**
* Raglich is currently unfinished and there are no boss rooms for it. However, the boss ID can be
* successfully retrieved from the `Entity.GetBossID` method. This works for all variants of
* `EntityType.RAGLICH` (919).
*/
RAGLICH = 98,
/**
* Dogma does not have its own boss rooms; it appears in a normal room. The `Room.GetBossID`
* function returns 0 inside of the Dogma Boss Room. However, the boss ID can be successfully
* retrieved from the `Entity.GetBossID` method. This works for all variants of `EntityType.DOGMA`
* (950).
*/
DOGMA = 99,
/**
* The Beast does not have its own boss rooms; it appears in a crawl space. The `Room.GetBossID`
* function returns 0 inside of The Beast Boss Room. However, the boss ID can be successfully
* retrieved from the `Entity.GetBossID` method, but only if the variant is `BeastVariant.BEAST`
* (0) or `BeastVariant.STALACTITE` (1).
*/
BEAST = 100,
HORNY_BOYS = 101,
CLUTCH = 102,
/**
* There is an entry for "Cadavra" in the "bossportraits.xml" file, but it is not present in the
* game.
*
* @see https://bindingofisaacrebirth.fandom.com/wiki/Cut_Content
*/
// CADAVRA = 103,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.MINI_BOSS` (6).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*
* The enum is named `MinibossID` instead of` MinibossRoomSubType` in order to match the `BossID`
* enum.
*
* Also see the `BossID` enum.
*/
export enum MinibossID {
SLOTH = 0,
LUST = 1,
WRATH = 2,
GLUTTONY = 3,
GREED = 4,
ENVY = 5,
PRIDE = 6,
SUPER_SLOTH = 7,
SUPER_LUST = 8,
SUPER_WRATH = 9,
SUPER_GLUTTONY = 10,
SUPER_GREED = 11,
SUPER_ENVY = 12,
SUPER_PRIDE = 13,
ULTRA_PRIDE = 14,
KRAMPUS = 15,
}
// For `StageID.SPECIAL_ROOMS` (0), `RoomType.SUPER_SECRET` (8), the sub-type corresponds to the
// `BackdropType` enum.
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.CURSE` (10).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum CurseRoomSubType {
NORMAL = 0,
VOODOO_HEAD = 1,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.CHALLENGE` (11).
*
* This matches the sub-type in the "00.special rooms.stb" file and elsewhere.
*/
export enum ChallengeRoomSubType {
NORMAL = 0,
BOSS = 1,
NORMAL_WAVE = 10,
BOSS_WAVE = 11,
GREAT_GIDEON_WAVE = 12,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.LIBRARY` (12).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum LibrarySubType {
LEVEL_1 = 0,
LEVEL_2 = 1,
LEVEL_3 = 2,
LEVEL_4 = 3,
LEVEL_5 = 4,
EXTRA_GOOD = 10,
EXTRA_BAD = 11,
TAINTED_KEEPER_LEVEL_1 = 100,
TAINTED_KEEPER_LEVEL_2 = 101,
TAINTED_KEEPER_LEVEL_3 = 102,
TAINTED_KEEPER_LEVEL_4 = 103,
TAINTED_KEEPER_LEVEL_5 = 104,
TAINTED_KEEPER_EXTRA_GOOD = 110,
TAINTED_KEEPER_EXTRA_BAD = 111,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.DEVIL` (14).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum DevilRoomSubType {
NORMAL = 0,
NUMBER_SIX_TRINKET = 1,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.ANGEL` (15).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum AngelRoomSubType {
NORMAL = 0,
/** This is the kind of Angel Room that appears when players have The Stairway collectible. */
SHOP = 1,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.DUNGEON` (16).
*
* This matches the sub-type in the "00.special rooms.stb" file and elsewhere.
*/
export enum DungeonSubType {
NORMAL = 0,
/** This is the room uncovered by throwing a Chaos Card at Great Gideon. */
GIDEONS_GRAVE = 1,
/** This is the room for the second phase of Rotgut. */
ROTGUT_MAGGOT = 2,
/** This is the room for the third phase of Rotgut. */
ROTGUT_HEART = 3,
BEAST_ROOM = 4,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.CLEAN_BEDROOM` (18).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum IsaacsRoomSubType {
NORMAL = 0,
GENESIS = 99,
}
/**
* For `StageID.SPECIAL_ROOMS` (0), `RoomType.SECRET_EXIT` (27).
*
* This matches the sub-type in the "00.special rooms.stb" file.
*/
export enum SecretExitSubType {
DOWNPOUR = 1,
MINES = 2,
MAUSOLEUM = 3,
}
/**
* For `StageID.DOWNPOUR` (27) and `StageID.DROSS` (28), `RoomType.DEFAULT` (1).
*
* This matches the sub-type in the "27.downpour.stb" and "28.dross.stb" files.
*/
export enum DownpourRoomSubType {
NORMAL = 0,
WHITE_FIRE = 1,
MIRROR = 34,
}
/**
* For `StageID.MINES` (29) and `StageID.ASHPIT` (30), `RoomType.DEFAULT` (1).
*
* This matches the sub-type in the "29.mines.stb" and "30.ashpit.stb" files.
*/
export enum MinesRoomSubType {
NORMAL = 0,
BUTTON_ROOM = 1,
MINESHAFT_ENTRANCE = 10,
MINESHAFT_LOBBY = 11,
MINESHAFT_KNIFE_PIECE = 20,
MINESHAFT_ROOM_PRE_CHASE = 30,
MINESHAFT_ROOM_POST_CHASE = 31,
}
/**
* For `StageID.HOME` (35), `RoomType.DEFAULT` (1).
*
* This matches the sub-type in the "35.home.stb" file.
*/
export enum HomeRoomSubType {
ISAACS_BEDROOM = 0,
HALLWAY = 1,
MOMS_BEDROOM = 2,
LIVING_ROOM = 3,
CLOSET_RIGHT = 10,
CLOSET_LEFT = 11,
DEATH_CERTIFICATE_ENTRANCE = 33,
DEATH_CERTIFICATE_ITEMS = 34,
}
/**
* For `StageID.BACKWARDS` (36), `RoomType.DEFAULT` (1).
*
* This matches the sub-type in the "36.backwards.stb" file.
*/
export enum BackwardsRoomSubType {
EXIT = 0,
BASEMENT = 1,
CAVES = 4,
DEPTHS = 7,
DOWNPOUR = 27,
MINES = 29,
MAUSOLEUM = 31,
}