isaac-typescript-definitions
Version:
TypeScript definitions for The Binding of Isaac: Repentance.
81 lines (65 loc) • 2.87 kB
TypeScript
import type { Challenge } from "../../enums/Challenge";
import type { LevelStage } from "../../enums/LevelStage";
import type { SeedEffect } from "../../enums/SeedEffect";
declare global {
interface Seeds extends IsaacAPIClass {
AddSeedEffect: (seedEffect: SeedEffect) => void;
CanAddSeedEffect: (seedEffect: SeedEffect) => boolean;
ClearSeedEffects: () => void;
ClearStartSeed: () => void;
CountSeedEffects: () => int;
ForgetStageSeed: (levelStage: LevelStage) => void;
GetNextSeed: () => Seed;
GetPlayerInitSeed: () => Seed;
GetStageSeed: (levelStage: LevelStage) => Seed;
/**
* The "start seed" is a number between 1 and (2^32 - 1) that is used to generate the random
* elements for the current run. The seed displayed in the pause menu is this number represented
* in string form.
*
* This method will return 0 if it is run in the main menu.
*/
GetStartSeed: () => Seed;
// cspell:ignore ABCD EFGH
/**
* The "start seed" is a number between 1 and (2^32 - 1) that is used to generate the random
* elements for the current run. When converted to a string, it looks like "ABCD EFGH". (This is
* the form that is displayed on the pause menu.)
*
* This method will return "B911 99JA" if it is run in the main menu.
*/
GetStartSeedString: () => string;
HasSeedEffect: (seedEffect: SeedEffect) => boolean;
/** Returns true if the player is in a challenge run or a seeded run. */
IsCustomRun: () => boolean;
IsInitialized: () => boolean;
IsSeedComboBanned: (
seedEffect1: SeedEffect,
seedEffect2: SeedEffect,
) => boolean;
/** Removes seed effects that are banned in conjunction with the given seed. */
RemoveBlockingSeedEffects: (seedEffect: SeedEffect) => void;
RemoveSeedEffect: (seedEffect: SeedEffect) => void;
/** Removes all seed effects. Only takes effect when the run is restarted. */
Reset: () => void;
/** Re-selects a random start seed, but only if the start seed was not custom. */
Restart: (challenge: Challenge) => void;
/** Passing an empty string will cause the game to pick a new random seed. */
SetStartSeed: (startSeed: string) => void;
}
/** @noSelf */
namespace Seeds {
function CountUnlockedSeedEffects(): int;
function GetSeedEffect(str: string): SeedEffect;
function InitSeedInfo(): void;
function IsSpecialSeed(str: string): boolean;
function IsStringValidSeed(str: string): boolean;
/**
* Converts a numerical seed into the format used in the in-game pause menu. For example,
* converts 0 to "B911 99JA".
*/
function Seed2String(seed: int): string;
/** Converts a seed string into a number. For example, converts "B911 99JA" to 0. */
function String2Seed(str: string): Seed;
}
}