UNPKG

isaac-typescript-definitions

Version:

TypeScript definitions for The Binding of Isaac: Repentance.

187 lines (167 loc) 5.7 kB
import type { PlayerType } from "../../enums/collections/subTypes"; import type { EncyclopediaItemPoolType } from "../../enums/mods/EncyclopediaItemPoolType"; declare global { const Encyclopedia: EncyclopediaInterface | undefined; /** @noSelf */ interface EncyclopediaInterface { AddCharacter: (args: { Class?: string; CloseFunc?: (vars: EncyclopediaItemVars) => void; CompletionRenderFuncs?: [ (vec: Vector, notes: EncyclopediaNotes, type: string) => void, ]; CompletionTrackerFuncs?: [() => EncyclopediaItemVars[]]; Description?: string; Hide?: boolean; ID: PlayerType; ModName?: string; Name?: string; Sprite?: Sprite; UnlockFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; WikiDesc?: EncyclopediaWikiDescription; }) => void; AddCharacterTainted: (args: { Class?: string; CloseFunc?: (vars: EncyclopediaItemVars) => void; CompletionRenderFuncs?: [ (vec: Vector, notes: EncyclopediaNotes, type: string) => void, ]; CompletionTrackerFuncs?: [() => EncyclopediaItemVars[]]; Description?: string; Hide?: boolean; ID: PlayerType; ModName?: string; Name?: string; Sprite?: Sprite; UnlockFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; WikiDesc?: EncyclopediaWikiDescription; }) => void; AddItem: (itemTab: { ActiveCharge?: number; Class?: string; CloseFunc?: (vars: EncyclopediaItemVars) => void; Desc?: string; Hide?: boolean; ID: number; ModName?: string; Name?: string; Pools?: EncyclopediaItemPoolType[]; Sprite?: Sprite; StatusFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; UnlockFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; WikiDesc?: EncyclopediaWikiDescription; }) => void; AddItemPoolSprite: (id: number, sprite: Sprite) => void; AddPocketItem: ( itemTab: { Class?: string; Desc?: string; Hide?: boolean; ID: number; ModName?: string; Name?: string; Sprite?: Sprite; StatusClose?: (vars: EncyclopediaItemVars) => void; StatusFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; UnlockFunc?: ( vars: EncyclopediaItemVars, ) => EncyclopediaItemVars | undefined; WikiDesc?: EncyclopediaWikiDescription; }, eType: string, ) => void; AddRune: (itemTab: { Class?: string; Desc?: string; ID: number; ModName?: string; Name?: string; RuneType?: number; Sprite?: Sprite; StatusClose?: (vars: EncyclopediaItemVars) => void; StatusFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; UnlockFunc?: ( vars: EncyclopediaItemVars, ) => EncyclopediaItemVars | undefined; WikiDesc?: EncyclopediaWikiDescription; }) => void; AddTrinket: (itemTab: { Class?: string; Desc?: string; Hide?: boolean; ID: number; ModName?: string; Name?: string; Sprite?: Sprite; StatusClose?: (vars: EncyclopediaItemVars) => void; StatusFunc?: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; UnlockFunc?: ( vars: EncyclopediaItemVars, ) => EncyclopediaItemVars | undefined; WikiDesc?: EncyclopediaWikiDescription; }) => void; EIDtoWiki: (desc: string, title?: string) => void; GetItemPoolIdByName: (name: string) => number; RegisterSprite: ( gfxRoot: string, anmToPlay: string, anmFrame: number, newSprite?: string, layer?: number, ) => Sprite; ItemPools: int; } /** * Contains Encyclopedia's custom item pool system. It uses custom item pools in order to allow * better compatibility with modded pools. The same as the ItemPoolType enum, but every pool is 1 * value higher, "to handle table indices better". */ type EncyclopediaItemPools = Record<string, number>; /** * A description for an item. Each object in the array is a category, containing a header and as * many paragraphs as are needed. */ interface EncyclopediaWikiDescriptionLine { clr?: number; fsize?: number; // cspell:ignore fsize halign?: number; // cspell:ignore halign str: string; } type EncyclopediaWikiDescription = EncyclopediaWikiDescriptionLine[][]; /** Encyclopedia's "General Item Variables" object. Used to store data about an item. */ interface EncyclopediaItemVars { CloseFunc: (vars: EncyclopediaItemVars) => void; StatusFunc: (vars: EncyclopediaItemVars) => EncyclopediaItemVars; AllIndex?: number; AllIntIndex: number; Class: string; Desc?: string; Index?: number; ItemID: number; Name?: string; Pools?: EncyclopediaItemPools; Spr: Sprite; Title?: string; WikiDesc?: EncyclopediaWikiDescription; typeString: string; } /** A single entry on the unlock Post-It. */ interface EncyclopediaPostItUnlock { Hard: boolean; Unlock: boolean; } /** Encyclopedia's "Post-It Notes" object. Used for rendering custom Post-Its. */ interface EncyclopediaNotes { Beast: EncyclopediaPostItUnlock; BlueBaby: EncyclopediaPostItUnlock; BossRush: EncyclopediaPostItUnlock; Delirium: EncyclopediaPostItUnlock; Hush: EncyclopediaPostItUnlock; Isaac: EncyclopediaPostItUnlock; Lamb: EncyclopediaPostItUnlock; MegaSatan: EncyclopediaPostItUnlock; MomsHeart: EncyclopediaPostItUnlock; Mother: EncyclopediaPostItUnlock; Satan: EncyclopediaPostItUnlock; } }