UNPKG

@randsum/salvageunion

Version:

A flexible, type-safe dice roller for the Salvage Union system

40 lines (39 loc) 2.62 kB
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 };