// A clerk's days at Harrow & Pike. // // Every situation here comes from the story-to-pack catalogue (tools/ // story-to-pack/probe/catalogue/v3), where it recurred across public-domain // office fiction: Torchy's door, Keefe's pay talk, Pooter's cheeky juniors, // Lorimer's hard boss. The id names the catalogue entry where one fits. // // This pack exists to try checks and a drawn cast (DECISIONS #41). Most options // test one of the four attributes, against a named person or against a set // difficulty, and say what happens either way; the player sees only the odds // in words. Names are written as `{partner}`, `{chief}` and `{clerk}` and filled // from whoever this run drew. An event about "a clerk" lists `clerk` in // `involves`, and the engine picks one present clerk for the turn. const moment = (text) => ({ path: 'notable', op: 'push', value: text }); export const events = [ { id: 'first_day', stage: 'desk', weight: 1000, once: true, involves: ['clerk'], description: 'Your first morning at Harrow & Pike. {chief} shows you a stool, a pen, a ' + 'blotter and the clock, in that order, and leaves you to draw your own ' + 'conclusions about which matters most.', options: [ { id: 'before_the_clock', label: 'Be on the stool before the clock is.', result: '{chief} notices, and writes something down. It may even be good.', effects: [ { path: 'relationships.chief.regard', op: 'add', value: 4 }, moment('Began at Harrow & Pike, early.'), ], }, { id: 'meet_the_floor', label: 'Go round and introduce yourself to {clerk}.', result: '{clerk} shakes your hand and tells you which of the pens leak.', effects: [ { path: 'relationships.{clerk}.regard', op: 'add', value: 5 }, moment('Began at Harrow & Pike, and met {clerk} first.'), ], }, ], }, // The floor: the one event nothing can exclude. { id: 'the_ledgers', stage: 'desk', weight: 40, description: 'The ledgers are the same as last week\'s, only longer. {chief} has left a ' + 'note on your blotter about the width of your margins.', options: [ { id: 'head_down', label: 'Keep your head down and work.', result: 'The day goes into the columns, as days here do.', effects: [ { path: 'standing', op: 'add', value: 1 }, { path: 'relationships.chief.trust', op: 'add', value: 1 }, ], }, { id: 'stay_late', label: 'Stay on after six to finish the day book.', result: 'Overtime is paid, at the rate the firm thinks overtime is worth.', effects: [ { path: 'money', op: 'add', value: 2 }, { path: 'relationships.chief.regard', op: 'add', value: 1 }, ], }, { id: 'ease_off', label: 'Make the day last.', result: 'Nobody notices, today.', effects: [{ path: 'standing', op: 'add', value: -1 }], }, ], }, { id: 'ask_for_more', stage: 'desk', weight: 25, cooldown: 12, requires: [ { path: 'turn', op: '>=', value: 10 }, { path: 'rises', op: '<', value: 3 }, ], description: 'You have been at the desk long enough to know what the work is worth, and ' + 'your lodgings have not got any cheaper. {partner} is in, and alone.', options: [ { id: 'ask', label: 'Knock, and ask {partner} for a rise.', check: { attribute: 'charm', against: 'partner', opposedBy: 'wits', relationship: 'trust' }, success: { result: '{partner} looks at you for a long moment and says the firm can manage something.', effects: [ { path: 'rises', op: 'add', value: 1 }, { path: 'standing', op: 'add', value: 3 }, moment('Asked {partner} for a rise, and got it.'), ], }, failure: { result: '{partner} asks whether you have any idea what a clerk is worth. You find you do not.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: -5 }, { path: 'standing', op: 'add', value: -2 }, ], }, }, { id: 'hint', label: 'Say nothing directly; mention the price of lodgings.', check: { attribute: 'wits', difficulty: 5 }, success: { result: '{partner} takes the point and, better, thinks it was a delicate one.', effects: [{ path: 'relationships.partner.regard', op: 'add', value: 4 }], }, failure: { result: '{partner} agrees that lodgings are very dear and goes back to the post.', effects: [], }, }, { id: 'not_yet', label: 'Wait for a better moment.', result: 'There will be one. There usually is.', effects: [], }, ], }, { id: 'called_in', stage: 'desk', weight: 30, cooldown: 8, involves: ['clerk'], description: '{chief} has found a column that does not add up, and it is in your hand. You ' + 'are to explain it, standing, in front of the high desk.', options: [ { id: 'own_up', label: 'Say plainly that it was your mistake.', check: { attribute: 'resolve', difficulty: 4 }, success: { result: 'It is noted, and then, which is rarer, it is let go.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: 4 }, { path: 'attributes.resolve', op: 'add', value: 1 }, ], }, failure: { result: 'You start well and finish apologising for the weather.', effects: [{ path: 'standing', op: 'add', value: -2 }], }, }, { id: 'argue', label: 'Argue that the figures were right.', check: { attribute: 'wits', against: 'chief' }, success: { result: 'They were. {chief} checks twice and hands the page back without a word.', effects: [ { path: 'standing', op: 'add', value: 3 }, { path: 'relationships.chief.regard', op: 'add', value: -4 }, ], }, failure: { result: 'They were not, and now everybody knows you thought they were.', effects: [ { path: 'standing', op: 'add', value: -4 }, { path: 'relationships.partner.trust', op: 'add', value: -3 }, ], }, }, { id: 'blame', label: 'Say the figures came from {clerk}\'s desk.', check: { attribute: 'wits', against: 'chief' }, success: { result: '{chief} goes to find {clerk}. You do not watch.', effects: [ { path: 'standing', op: 'add', value: 1 }, { path: 'relationships.{clerk}.trust', op: 'add', value: -8 }, ], }, failure: { result: '{chief} has the day book open at your page before you finish the sentence.', effects: [ { path: 'standing', op: 'add', value: -5 }, { path: 'relationships.{clerk}.trust', op: 'add', value: -10 }, { path: 'relationships.partner.trust', op: 'add', value: -5 }, moment('Tried to put a mistake on {clerk}, and was found out.'), ], }, }, ], }, { id: 'the_door', stage: 'desk', weight: 30, cooldown: 6, description: 'A caller in a good coat wants {partner} and will not give his name. You ' + 'were told the partner was not to be disturbed before three.', options: [ { id: 'turn_away', label: 'Tell him the partner is out.', check: { attribute: 'nerve', difficulty: 5 }, success: { result: 'He goes. {partner} hears of it later and approves of the lie.', effects: [{ path: 'relationships.partner.trust', op: 'add', value: 3 }], }, failure: { result: 'He sits down to wait, and {partner} comes out at a quarter past and finds him there.', effects: [ { path: 'relationships.partner.regard', op: 'add', value: -3 }, { path: 'standing', op: 'add', value: -1 }, ], }, }, { id: 'size_him_up', label: 'Size him up and decide for yourself.', check: { attribute: 'wits', difficulty: 6 }, success: { result: 'You read him right. He mattered, and he got in, and {partner} knows who let him.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: 5 }, { path: 'standing', op: 'add', value: 2 }, moment('Judged a caller at the door, and judged him right.'), ], }, failure: { result: 'He was selling encyclopaedias, and {partner} bought one to get rid of him.', effects: [{ path: 'relationships.partner.trust', op: 'add', value: -4 }], }, }, { id: 'pass_it_on', label: 'Fetch {chief} and let it be somebody else\'s decision.', result: '{chief} deals with it, and with you, briefly.', effects: [{ path: 'standing', op: 'add', value: -1 }], }, ], }, { id: 'needled', stage: 'desk', weight: 40, cooldown: 4, involves: ['clerk'], description: '{clerk} reads your last letter aloud in a voice meant to be yours, and the ' + 'floor laughs, and keeps laughing longer than it deserves.', options: [ { id: 'let_it_go', label: 'Let it pass.', result: 'It passes. They will remember that you let it.', effects: [ { path: 'relationships.{clerk}.regard', op: 'add', value: 1 }, { path: 'standing', op: 'add', value: -1 }, ], }, { id: 'retort', label: 'Answer {clerk} back, with the floor listening.', check: { attribute: 'wits', against: '{clerk}', relationship: 'regard' }, success: { result: 'It gets a bigger laugh than the letter did, and {clerk} laughs too.', effects: [ { path: 'standing', op: 'add', value: 2 }, { path: 'relationships.{clerk}.regard', op: 'add', value: 3 }, ], }, failure: { result: 'It comes out too sharp, and the laugh turns on you.', effects: [ { path: 'standing', op: 'add', value: -2 }, { path: 'relationships.{clerk}.regard', op: 'add', value: -3 }, ], }, }, { id: 'report', label: 'Mention it to {chief}.', result: '{chief} has a word. {clerk} knows where it came from.', effects: [ { path: 'relationships.chief.trust', op: 'add', value: 2 }, { path: 'relationships.{clerk}.trust', op: 'add', value: -6 }, { path: 'standing', op: 'add', value: -1 }, ], }, ], }, { id: 'red_ink', stage: 'desk', weight: 30, cooldown: 6, description: '{chief} has gone over your morning\'s work in red ink, and left the page ' + 'open on the high desk where the whole floor can see it.', options: [ { id: 'swallow_it', label: 'Take it, and do the page again.', result: 'You do it again. {chief} initials it without looking up.', effects: [ { path: 'relationships.chief.regard', op: 'add', value: 2 }, { path: 'standing', op: 'add', value: -1 }, ], }, { id: 'answer_back', label: 'Point out that the red ink is wrong.', check: { attribute: 'wits', against: 'chief' }, success: { result: 'It is, in two places. {chief} says nothing, which from {chief.first} is a concession.', effects: [ { path: 'standing', op: 'add', value: 2 }, { path: 'relationships.chief.regard', op: 'add', value: 3 }, ], }, failure: { result: 'The red ink is right. It usually is.', effects: [ { path: 'standing', op: 'add', value: -2 }, { path: 'relationships.chief.regard', op: 'add', value: -5 }, ], }, }, { id: 'over_the_head', label: 'Take the page to {partner}.', check: { attribute: 'charm', against: 'partner', opposedBy: 'resolve', relationship: 'trust' }, success: { result: '{partner} reads it, and has a word with {chief}, and {chief} has one with you.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: 3 }, { path: 'relationships.chief.regard', op: 'add', value: -8 }, { path: 'standing', op: 'add', value: 2 }, moment('Went over {chief}\'s head, and it worked.'), ], }, failure: { result: '{partner} says the chief clerk runs the floor, and asks whether there was anything else.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: -4 }, { path: 'relationships.chief.regard', op: 'add', value: -8 }, { path: 'standing', op: 'add', value: -3 }, ], }, }, ], }, { id: 'sure_thing', stage: 'desk', weight: 15, cooldown: 20, description: 'A pleasant man at the chop-house has a share in a tramway in Brazil going ' + 'begging. Twelve dollars today, he says, will be forty by Christmas.', options: [ { id: 'buy_in', label: 'Put in twelve dollars.', effects: [{ path: 'money', op: 'add', value: -12 }], check: { attribute: 'wits', difficulty: 7 }, success: { result: 'Against every expectation, including his, it pays.', effects: [{ path: 'money', op: 'add', value: 30 }, moment('Bought a share in a tramway, and it paid.')], }, failure: { result: 'There is no tramway. There is, briefly, a man.', effects: [moment('Bought a share in a tramway that did not exist.')], }, }, { id: 'see_through', label: 'Ask him the one question he cannot answer.', check: { attribute: 'wits', difficulty: 6 }, success: { result: 'He finds he has an appointment. You find you are sharper than you were.', effects: [{ path: 'attributes.wits', op: 'add', value: 1 }, moment('Saw through a tramway in Brazil.')], }, failure: { result: 'He answers it smoothly, and you are left not knowing.', effects: [], }, }, { id: 'decline', label: 'Keep your money in your pocket.', result: 'He is sorry for you, he says, and goes to find someone less careful.', effects: [], }, ], }, { id: 'the_round', stage: 'desk', weight: 30, cooldown: 5, involves: ['clerk'], description: '{clerk} and the others are going to the chop-house after work, and they ' + 'have kept you a place. The round there is not cheap.', options: [ { id: 'go', label: 'Go, and stand your round.', result: 'A good evening, and a dear one.', effects: [ { path: 'money', op: 'add', value: -5 }, { path: 'relationships.{clerk}.regard', op: 'add', value: 4 }, { path: 'standing', op: 'add', value: 1 }, ], }, { id: 'talk_your_way', label: 'Go, and talk your way out of the round.', check: { attribute: 'charm', against: '{clerk}', opposedBy: 'wits' }, success: { result: 'Nobody notices you never reached for your purse, and {clerk} laughs at all your jokes.', effects: [{ path: 'relationships.{clerk}.regard', op: 'add', value: 3 }], }, failure: { result: '{clerk} notices, and says so, and you pay for the round and the remark.', effects: [ { path: 'money', op: 'add', value: -5 }, { path: 'relationships.{clerk}.regard', op: 'add', value: -2 }, ], }, }, { id: 'excuse', label: 'Make an excuse and go home.', result: 'They go without you. They will ask again, perhaps.', effects: [{ path: 'relationships.{clerk}.regard', op: 'add', value: -2 }], }, ], }, { id: 'night_school', stage: 'desk', weight: 25, cooldown: 5, requires: [{ path: 'money', op: '>=', value: 3 }], description: 'A card in the tram window: evening classes in bookkeeping, in the art of ' + 'address, and at the boxing club behind the Institute. Three dollars a course.', options: [ { id: 'bookkeeping', label: 'Take the bookkeeping course.', result: 'Double entry, twice a week. Your columns begin to add up before you do.', effects: [{ path: 'money', op: 'add', value: -3 }, { path: 'attributes.wits', op: 'add', value: 1 }], }, { id: 'address', label: 'Take the art of address.', result: 'You learn when to say nothing, which is most of it.', effects: [{ path: 'money', op: 'add', value: -3 }, { path: 'attributes.charm', op: 'add', value: 1 }], }, { id: 'boxing', label: 'Join the boxing club.', result: 'You are hit in the face by a draper. It does you a world of good.', effects: [{ path: 'money', op: 'add', value: -3 }, { path: 'attributes.nerve', op: 'add', value: 1 }], }, { id: 'not_this_term', label: 'Not this term.', result: 'The card is still there next week.', effects: [], }, ], }, { id: 'stand_in', stage: 'desk', weight: 15, cooldown: 10, requires: [{ path: 'standing', op: '>=', value: 45 }], description: '{partner} is laid up and sends you, of all people, to sit in on the meeting ' + 'with the shipping agents. You are to listen, and to say as little as possible.', options: [ { id: 'listen', label: 'Listen, and take good notes.', result: 'Your notes are better than the minutes. {partner} keeps them.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: 2 }, { path: 'standing', op: 'add', value: 1 }, ], }, { id: 'speak_up', label: 'Say the thing you noticed in their figures.', check: { attribute: 'wits', difficulty: 7 }, success: { result: 'You were right, the agents know it, and so, by the afternoon, does {partner}.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: 6 }, { path: 'standing', op: 'add', value: 5 }, moment('Spoke up at the agents\' meeting in {partner}\'s place, and was right.'), ], }, failure: { result: 'You were wrong in front of people who were paid to be right.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: -4 }, { path: 'standing', op: 'add', value: -3 }, ], }, }, { id: 'charm_them', label: 'Charm the agents over lunch.', check: { attribute: 'charm', difficulty: 6 }, success: { result: 'They like you. They say so to {partner}, which is the point.', effects: [ { path: 'relationships.partner.regard', op: 'add', value: 5 }, { path: 'standing', op: 'add', value: 3 }, ], }, failure: { result: 'The lunch is long, and you pay for it.', effects: [ { path: 'money', op: 'add', value: -4 }, { path: 'standing', op: 'add', value: -1 }, ], }, }, ], }, { id: 'lost_bill', stage: 'desk', weight: 20, cooldown: 12, involves: ['clerk'], description: '{clerk} has lost a bill of lading, and {chief} is talking about a letter to ' + 'the partner. {clerk} has not looked up from the desk all morning.', options: [ { id: 'speak_for', label: 'Put {clerk}\'s case to {partner} yourself.', check: { attribute: 'charm', against: 'partner', opposedBy: 'resolve', relationship: 'trust' }, success: { result: '{partner} hears you out and lets it go. {clerk} does not forget who spoke.', effects: [ { path: 'relationships.{clerk}.trust', op: 'add', value: 10 }, { path: 'relationships.partner.regard', op: 'add', value: 2 }, moment('Spoke up for {clerk}, and it held.'), ], }, failure: { result: '{partner} asks whether you would like to share the letter.', effects: [ { path: 'relationships.partner.trust', op: 'add', value: -3 }, { path: 'relationships.{clerk}.trust', op: 'add', value: 4 }, ], }, }, { id: 'help_look', label: 'Stay late and help look for it.', check: { attribute: 'resolve', difficulty: 5 }, success: { result: 'It is in the wrong drawer, under the right one. You find it at nine.', effects: [ { path: 'relationships.{clerk}.trust', op: 'add', value: 8 }, { path: 'relationships.{clerk}.regard', op: 'add', value: 4 }, ], }, failure: { result: 'It is not found, but {clerk} saw you look.', effects: [{ path: 'relationships.{clerk}.regard', op: 'add', value: 2 }], }, }, { id: 'keep_out', label: 'Keep out of it.', result: 'The letter goes. So, very nearly, does {clerk}.', effects: [{ path: 'relationships.{clerk}.trust', op: 'add', value: -3 }], }, ], }, { id: 'the_butt', stage: 'desk', weight: 20, cooldown: 8, involves: ['clerk'], description: 'Somebody has pinned a card to your back, and you have walked the length of ' + 'the floor to {chief}\'s desk wearing it. {clerk} cannot keep a straight face.', options: [ { id: 'laugh_along', label: 'Laugh louder than anybody.', check: { attribute: 'charm', difficulty: 4 }, success: { result: 'It becomes your joke instead of theirs.', effects: [ { path: 'standing', op: 'add', value: 1 }, { path: 'relationships.{clerk}.regard', op: 'add', value: 3 }, ], }, failure: { result: 'The laugh comes out wrong, and everyone hears that it did.', effects: [{ path: 'standing', op: 'add', value: -2 }], }, }, { id: 'dignity', label: 'Take it off and say nothing at all.', check: { attribute: 'resolve', difficulty: 4 }, success: { result: 'It is not funny for long, when nobody is laughing at the front.', effects: [{ path: 'standing', op: 'add', value: 1 }], }, failure: { result: 'Your ears give you away.', effects: [ { path: 'standing', op: 'add', value: -1 }, { path: 'relationships.{clerk}.regard', op: 'add', value: -2 }, ], }, }, { id: 'get_even', label: 'Resolve to do something about {clerk} tomorrow.', result: 'You do. It is not as funny, and {clerk} knows exactly who it was.', effects: [ { path: 'relationships.{clerk}.regard', op: 'add', value: -2 }, { path: 'relationships.{clerk}.trust', op: 'add', value: -3 }, ], }, ], }, { id: 'saturday', stage: 'desk', weight: 60, cooldown: 5, requires: [{ path: 'calendar.name', op: '==', value: 'Saturday' }], description: 'Saturday, and the office shuts at one. The pay envelope is in your inside ' + 'pocket, and the whole of the afternoon is in front of you.', options: [ { id: 'new_collar', label: 'Buy the collar the senior clerks wear.', result: 'It pinches, and it is noticed.', effects: [ { path: 'money', op: 'add', value: -5 }, { path: 'standing', op: 'add', value: 2 }, ], }, { id: 'good_dinner', label: 'Dine somewhere with a tablecloth.', result: 'A dinner you will describe, later, to people who were not there.', effects: [{ path: 'money', op: 'add', value: -4 }], }, { id: 'pay_back', label: 'Pay back what you owe the floor.', requires: [{ path: 'owed', op: '>', value: 0 }], whenLocked: 'hide', result: 'Squared, or nearer it. It is a better feeling than the dinner would have been.', // The money is read from the balance before either moves, so a small // debt costs what it is and no more (DECISIONS #38). effects: [ { path: 'money', op: 'add', value: { from: 'owed', times: -1, cap: 10 } }, { path: 'owed', op: 'add', value: { from: 'owed', times: -1, cap: 10 } }, ], }, { id: 'straight_home', label: 'Straight home, envelope sealed.', result: 'The envelope is lighter than it was in your imagination, but it is all there.', effects: [], }, ], }, { id: 'family_errand', stage: 'desk', weight: 20, cooldown: 8, involves: ['clerk'], description: 'A parcel for {partner}\'s sister has to cross the city before four, in the ' + 'rain, and {partner} has asked for you by name. It is not in the job.', options: [ { id: 'take_it', label: 'Take it yourself, and pay your own tram.', result: 'The sister gives you tea, and a message for {partner} that is more about you than the parcel.', effects: [ { path: 'money', op: 'add', value: -1 }, { path: 'relationships.partner.regard', op: 'add', value: 4 }, { path: 'standing', op: 'add', value: -1 }, ], }, { id: 'make_an_impression', label: 'Take it, and make yourself agreeable when you get there.', check: { attribute: 'charm', difficulty: 5 }, success: { result: 'The sister writes to {partner} that evening. You are mentioned warmly.', effects: [ { path: 'relationships.partner.regard', op: 'add', value: 6 }, { path: 'relationships.partner.trust', op: 'add', value: 2 }, moment('Carried a parcel for {partner}\'s sister, and made a friend of her.'), ], }, failure: { result: 'You drip on the carpet and say something about the weather twice.', effects: [{ path: 'relationships.partner.regard', op: 'add', value: 1 }], }, }, { id: 'hand_it_on', label: 'Hand it on to {clerk}, who is going that way.', result: '{clerk} goes, and gets the tea, and does not say whose errand it was.', effects: [ { path: 'relationships.{clerk}.regard', op: 'add', value: -3 }, { path: 'relationships.partner.regard', op: 'add', value: -2 }, ], }, ], }, { id: 'window_desk', stage: 'desk', weight: 20, cooldown: 10, involves: ['clerk'], description: 'The desk by the window has come free. {chief} says it will go to whoever ' + 'deserves it, and {clerk} has been in before the clock all week.', options: [ { id: 'outwork', label: 'Come in earlier than {clerk} does.', check: { attribute: 'resolve', against: '{clerk}' }, success: { result: 'You are there before the cleaners. The desk is yours, and so is the draught.', effects: [ { path: 'standing', op: 'add', value: 4 }, { path: 'relationships.{clerk}.regard', op: 'add', value: -3 }, moment('Won the desk by the window from {clerk}.'), ], }, failure: { result: '{clerk} was there before you, every morning, and has the desk.', effects: [{ path: 'standing', op: 'add', value: -1 }], }, }, { id: 'word_with_chief', label: 'Have a quiet word with {chief}.', check: { attribute: 'charm', against: 'chief', opposedBy: 'wits', relationship: 'regard' }, success: { result: '{chief} decides the matter in your favour, and makes sure {clerk} knows why.', effects: [ { path: 'standing', op: 'add', value: 3 }, { path: 'relationships.{clerk}.trust', op: 'add', value: -6 }, ], }, failure: { result: '{chief} writes your name down, next to the word "canvassing".', effects: [ { path: 'relationships.chief.trust', op: 'add', value: -4 }, { path: 'standing', op: 'add', value: -2 }, ], }, }, { id: 'let_them_have_it', label: 'Let {clerk} have it.', result: '{clerk} takes the desk and, to your surprise, remembers who did not fight for it.', effects: [ { path: 'relationships.{clerk}.regard', op: 'add', value: 5 }, { path: 'relationships.{clerk}.trust', op: 'add', value: 3 }, ], }, ], }, { id: 'hard_times', stage: 'desk', weight: 400, cooldown: 2, requires: [{ path: 'money', op: '<', value: 0 }], involves: ['clerk'], description: 'The landlady has knocked twice about the week, and the purse under your ' + 'pillow is empty. It is a long walk to Saturday.', options: [ { id: 'copying', label: 'Take in copying work to do at night.', result: 'Law papers, by lamp, at a halfpenny a folio. It keeps the landlady quiet.', effects: [ { path: 'money', op: 'add', value: 8 }, { path: 'attributes.resolve', op: 'add', value: 1 }, ], }, { id: 'borrow', label: 'Ask {clerk} for the loan of ten dollars.', check: { attribute: 'charm', against: '{clerk}', opposedBy: 'resolve', relationship: 'trust' }, success: { result: '{clerk} lends it, and tells you not to mention it, and you will not forget.', effects: [ { path: 'money', op: 'add', value: 10 }, { path: 'owed', op: 'add', value: 10 }, { path: 'relationships.{clerk}.trust', op: 'add', value: -2 }, ], }, failure: { result: '{clerk} is short too, but finds you three, and makes a face about it.', effects: [ { path: 'money', op: 'add', value: 3 }, { path: 'owed', op: 'add', value: 3 }, { path: 'relationships.{clerk}.regard', op: 'add', value: -3 }, ], }, }, { id: 'pawn_the_watch', label: 'Pawn your father\'s watch.', requires: [{ path: 'flags.pawned_watch', op: '==', value: false }], whenLocked: 'hide', result: 'Twelve dollars and a ticket. You will get it back. Everybody says that.', effects: [ { path: 'money', op: 'add', value: 12 }, { path: 'flags.pawned_watch', op: 'set', value: true }, moment('Pawned your father\'s watch to pay the landlady.'), ], }, ], }, ]; export default events;