@randsum/salvageunion
Version:
A flexible, type-safe dice roller for the Salvage Union system
40 lines (39 loc) • 2.62 kB
TypeScript
type SalvageUnionHit = "Nailed It" | "Success" | "Tough Choice" | "Failure" | "Cascade Failure";
type SalvageUnionTableName = "NPC Action" | "Reaction" | "Morale" | "Core Mechanic" | "Group Initiative" | "Retreat" | "Critical Damage" | "Critical Injury" | "Reactor Overload" | "Area Salvage" | "Mech Salvage" | "Crawler Deterioration" | "Crawler Damage" | "Crawler Destruction" | "Keepsake" | "Motto" | "Pilot Appearance" | "AI Personality" | "Quirks" | "Mech Appearance" | "Mech Pattern Names" | "Crawler Name" | "Mechapult";
interface SalvageUnionTableListing {
label: string;
description: string;
hit: SalvageUnionHit;
}
type SalvageUnionTableType = Record<SalvageUnionHit, SalvageUnionTableListing>;
type SalvageUnionNumericTable = Record<number, string>;
interface SalvageUnionRollRecord {
hit: string;
label: SalvageUnionTableListing["label"];
description: SalvageUnionTableListing["description"];
tableName: SalvageUnionTableName;
table: SalvageUnionTableType | SalvageUnionNumericTable;
roll: number;
}
import { RollRecord, RollResult } from "@randsum/roller";
declare function rollTable(tableName?: SalvageUnionTableName): RollResult<SalvageUnionRollRecord, RollRecord<SalvageUnionTableListing | string>>;
declare const NPCActionTable: SalvageUnionTableType;
declare const NPCReactionTable: SalvageUnionTableType;
declare const NPMoraleTable: SalvageUnionTableType;
declare const NPCTables: Partial<Record<SalvageUnionTableName, SalvageUnionTableType>>;
declare const GroupInitiativeTable: SalvageUnionTableType;
declare const RetreatTable: SalvageUnionTableType;
declare const CriticalDamageTable: SalvageUnionTableType;
declare const CriticalInjuryTable: SalvageUnionTableType;
declare const ReactorOverloadTable: SalvageUnionTableType;
declare const AreaSalvageTable: SalvageUnionTableType;
declare const MechSalvageTable: SalvageUnionTableType;
declare const PCTables: Partial<Record<SalvageUnionTableName, SalvageUnionTableType>>;
declare const CoreMechanicTable: SalvageUnionTableType;
declare const RollTables: {
["Core Mechanic"]: SalvageUnionTableType
pc: typeof PCTables
npc: typeof NPCTables
};
declare const AllRollTables: Record<SalvageUnionTableName, SalvageUnionTableType | SalvageUnionNumericTable>;
export { rollTable, SalvageUnionTableType, SalvageUnionTableName, SalvageUnionTableListing, SalvageUnionRollRecord, SalvageUnionHit, RollTables, RetreatTable, ReactorOverloadTable, PCTables, NPMoraleTable, NPCTables, NPCReactionTable, NPCActionTable, MechSalvageTable, GroupInitiativeTable, CriticalInjuryTable, CriticalDamageTable, CoreMechanicTable, AreaSalvageTable, AllRollTables };