// Running out of money. // // There is no game over here and no separate failure mode in the engine — this // is an ordinary event whose conditions happen to be "your money is negative", // carrying enough weight to crowd out an ordinary day. Every route out costs // something other than money, and every one of them leaves you still playing. // // Both events always offer at least one ungated option, so a player with no // skills and no friends is never stuck. export const hardTimes = [ { id: 'rent_bounced', stage: 'mailroom', weight: 5000, requires: [{ path: 'money', op: '<', value: 0 }], description: 'Rent came out and did not clear. The letter uses the word ' + '"unfortunately" four times and encloses a form.', options: [ { id: 'take_loan', label: 'Take the loan the letter suggests.', // They stop lending eventually, which is when the spiral gets real: // past this, the only ways out cost standing rather than interest. requires: [{ path: 'debt', op: '<', value: 2000 }], result: 'The money arrives the same afternoon, which tells you something about ' + 'the rate.', effects: [ { path: 'money', op: 'add', value: 500 }, { path: 'debt', op: 'add', value: 500 }, { path: 'flags.took_loan', op: 'set', value: true }, { path: 'reputation', op: 'add', value: -2 }, { path: 'notable', op: 'push', value: 'Took the loan.' }, ], }, { id: 'ask_trevor', label: 'Ask Trevor for a float.', requires: [{ path: 'relationships.trevor.likes_you', op: '>=', value: 40 }], result: 'He lends it without making a thing of it, and from then on he is a ' + 'man who lent you money.', effects: [ { path: 'money', op: 'add', value: 150 }, { path: 'reputation', op: 'add', value: -3 }, { path: 'relationships.trevor.fears_you', op: 'add', value: -8 }, { path: 'relationships.trevor.wants_to_help_you', op: 'add', value: -5 }, { path: 'notable', op: 'push', value: 'Borrowed money from Trevor.' }, ], }, { id: 'ask_marlene', label: 'Ask Marlene for an advance.', requires: [{ path: 'relationships.marlene.wants_to_help_you', op: '>=', value: 55 }], result: 'She processes it herself and does not put it through the system. ' + 'Neither of you mentions it again.', effects: [ { path: 'money', op: 'add', value: 200 }, { path: 'relationships.marlene.wants_to_help_you', op: 'add', value: -10 }, { path: 'relationships.marlene.likes_you', op: 'add', value: -3 }, ], }, { id: 'extra_shifts', label: 'Take every shift going.', result: 'You do eleven days without one off. The bins stop being individual ' + 'bins after a while.', effects: [ { path: 'money', op: 'add', value: 120 }, { path: 'skills.logistics', op: 'add', value: 2 }, { path: 'reputation', op: 'add', value: -1 }, ], }, ], }, { id: 'debt_collector', stage: 'mailroom', weight: 25, cooldown: 4, requires: [{ path: 'debt', op: '>', value: 0 }], description: 'A man from the lender calls the mailroom phone. Marlene answers it. She ' + 'hands it to you without expression and then, notably, without leaving.', options: [ { id: 'pay_chunk', label: 'Pay a real chunk of it down.', requires: [{ path: 'money', op: '>=', value: 350 }], result: 'He is audibly disappointed.', effects: [ { path: 'money', op: 'add', value: -350 }, { path: 'debt', op: 'add', value: -350 }, { path: 'reputation', op: 'add', value: 1 }, ], }, { id: 'pay_minimum', label: 'Pay what you can.', requires: [{ path: 'money', op: '>=', value: 60 }], result: 'Sixty dollars, fifty of which is the loan.', effects: [ { path: 'money', op: 'add', value: -60 }, { path: 'debt', op: 'add', value: -50 }, ], }, { id: 'stall', label: 'Tell him next month.', result: 'He says next month. Marlene goes back to her desk.', effects: [ { path: 'debt', op: 'add', value: 25 }, { path: 'reputation', op: 'add', value: -3 }, { path: 'relationships.marlene.likes_you', op: 'add', value: -4 }, ], }, ], }, ]; export default hardTimes;