@randsum/salvageunion
Version:
A flexible, type-safe dice roller for the Salvage Union system
26 lines (25 loc) • 1.17 kB
TypeScript
type SUHit = "Nailed It" | "Success" | "Tough Choice" | "Failure" | "Cascade Failure";
type SUTableName = "NPC Action" | "Reaction" | "Morale" | "Core Mechanic" | "Group Initiative" | "Retreat" | "Critical Damage" | "Critical Injury" | "Reactor Overload" | "Area Salvage" | "Mech Salvage";
interface SUTableListing {
label: string;
description: string;
}
type SUTableResult = {
hit: SUHit
tableName: SUTableName
table: SUTableType
roll: number
} & SUTableListing;
type SUTableType = Record<SUHit, SUTableListing>;
declare function rollSU(tableName?: SUTableName): [SUTableResult, number];
declare const ReactorOverloadTable: SUTableType;
declare const MechSalvageTable: SUTableType;
declare const NPCTables: Partial<Record<SUTableName, SUTableType>>;
declare const PCTables: Partial<Record<SUTableName, SUTableType>>;
declare const RollTables: {
["Core Mechanic"]: SUTableType
pc: typeof PCTables
npc: typeof NPCTables
};
declare const AllRollTables: Record<SUTableName, SUTableType>;
export { rollSU, SUTableType, SUTableResult, SUTableName, SUTableListing, SUHit, RollTables, ReactorOverloadTable, PCTables, NPCTables, MechSalvageTable, AllRollTables };