aboutsummaryrefslogtreecommitdiff
path: root/engine/economics/affordability.ts
blob: 827ccd8a6c18a040feb707a2fcddb996d700dc1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * The "What you could afford" surface on the Money screen. Hidden numbers
 * resolve into qualitative feasibility labels so the player answers
 * "can I afford this?" without ever seeing a number.
 */
export type Feasibility =
  | 'comfortable'
  | 'with_some_sacrifice'
  | 'only_by_stretching'
  | 'not_without_changing_careers'
  | 'not_realistically'

export interface PossiblePurchase {
  readonly description: string
  readonly feasibility: Feasibility
  readonly contextual: boolean
}

export interface AffordabilityContext {
  readonly possiblePurchases: readonly PossiblePurchase[]
}