isaacscript-common
Version:
Helper functions and features for IsaacScript mods.
52 lines • 2.92 kB
TypeScript
import { TrinketType } from "isaac-typescript-definitions";
import type { TrinketSituation } from "../interfaces/TrinketSituation";
/**
* Helper function to restore the player's trinkets back to the way they were before the
* `temporarilyRemoveTrinket` function was used. It will re-smelt any smelted trinkets that were
* removed.
*/
export declare function giveTrinketsBack(player: EntityPlayer, trinketSituation: TrinketSituation | undefined): void;
/**
* Helper function to smelt a trinket. Before smelting, this function will automatically remove the
* trinkets that the player is holding, if any, and then give them back after the new trinket is
* smelted.
*
* @param player The player to smelt the trinkets to.
* @param trinketType The trinket type to smelt.
* @param numTrinkets Optional. If specified, will smelt the given number of trinkets. Use this to
* avoid calling this function multiple times. Default is 1.
*/
export declare function smeltTrinket(player: EntityPlayer, trinketType: TrinketType, numTrinkets?: number): void;
/**
* Helper function to smelt two or more different trinkets. If you want to smelt one trinket (or
* multiple copies of one trinket), then use the `smeltTrinket` helper function instead.
*
* This function is variadic, meaning that you can pass as many trinket types as you want to smelt.
*
* Before smelting, this function will automatically remove the trinkets that the player is holding,
* if any, and then give them back after the new trinket is smelted.
*
* @param player The player to smelt the trinkets to.
* @param trinketTypes The trinket types to smelt.
*/
export declare function smeltTrinkets(player: EntityPlayer, ...trinketTypes: readonly TrinketType[]): void;
/**
* Helper function to temporarily remove a specific kind of trinket from the player. Use this in
* combination with the `giveTrinketsBack` function to take away and give back a trinket on the same
* frame. This function correctly handles multiple trinket slots and ensures that all copies of the
* trinket are removed, including smelted trinkets.
*
* Note that one smelted golden trinket is the same as two smelted normal trinkets.
*
* @returns Undefined if the player does not have the trinket, or TrinketSituation if they do.
*/
export declare function temporarilyRemoveTrinket(player: EntityPlayer, trinketType: TrinketType): TrinketSituation | undefined;
/**
* Helper function to temporarily removes a player's held trinkets, if any. This will not remove any
* smelted trinkets. Use this in combination with the `giveTrinketsBack` function to take away and
* give back trinkets on the same frame.
*
* @returns Undefined if the player does not have any trinkets, or TrinketSituation if they do.
*/
export declare function temporarilyRemoveTrinkets(player: EntityPlayer): TrinketSituation | undefined;
//# sourceMappingURL=trinketGive.d.ts.map