*save_checkpoint ch9
*set checkpoint9 true
*set fight_opponent_name "Bob"
*set current_month "December"
*set current_season "winter"
Chapter 9: Bob "Ichigeki" Chow

Sunday, 1 December 2024

Lights are going up on all the office towers: a Santa on a sleigh, its hand jerking up and down in a two-frame loop; "Merry Christmas and Season's Greetings 2024" in red, white and green; a looping LED of snowmen and toboggans.

Christmas carols seep out of the open glass doors of the malls. The Landmark already has its Christmas display up, the entire atrium swaddled in fine ribbons and sculpted bows, one enormous parcel sucking up all the spare space. Even the management at your humble Mong Kok building has stuck an oversized plastic wreath to the mirrored back wall of the lift.

*if (chapter_8_fight)
    It's been two days since the fight against Queenie. Almost the entire match, your fists met air. You keep turning it over: maybe the perfect fight is one where nobody ever gets hit.

*else
    It's been two days since you had fun in Causeway Bay. Rest and relaxation can't hurt. Supposed to bring a new perspective, but you're still waiting.

You do your morning sprints in the cold Central air. Then it's back to Mong Kok. Coach Lam says, "They're putting something on this month. See out the year, at least."

You nod and wrap your hands.

*page_break
Monday, 2 December 2024

Christmas has been activated in the office as well. The receptionist is wearing a felt Santa hat, and there's a ten-pack of candy canes in the pantry, all untouched. Two colleagues, both from accounting, have been volunteered to organise this year's annual party. They wave you over and stick a sheet of paper into your hand.

You look more closely:

"PROPOSED: The 2024 Annual Christmas Party shall be held at the prestigious U-Banquet. Please indicate whether you support this option or oppose it by ticking the respective box. If you oppose it, please describe your proposed alternative in around 500-1,000 words."

Below that are two checkboxes, one labelled "I support the choice of U-Banquet", and the other "I oppose the choice of U-Banquet", followed by a dozen ruled lines. There's an arrow at the bottom-right corner. You flip the page over to see another two dozen blank lines.

*fake_choice
    #Support the choice of U-Banquet.
        *set epithet "U-Banquet supporter"
        *gosub_scene utils show_stats

        You gesture for a pen, and they hand you a pencil. You tick the box and hand it back.

        You're tempted to nap. Ate too much at lunch — baked pork chop with rice again — and no one's chasing you for anything.

    #Oppose the choice of U-Banquet.
        *set epithet "U-Banquet opposer"
        *gosub_scene utils show_stats

        You say you'll write out the essay in the afternoon. They look at each other, then back at you, as you take the sheet back to your desk.

        You're tempted to nap. Ate too much at lunch — baked pork chop with rice again — so the blank sheet can wait.

Then your promoter sends you this month's fight card. Bob "Ichigeki" Chow.

"Martial Arts Demonstration at Kwun Tong Ferry Pier. 22 December, 7pm. Held early to avoid conflict with Christmas and New Year's festivities."

*if (not(chapter_8_fight))
    Last month, you declined to fight. But this month, the promoter didn't offer you the choice to decline. Safe, now? Regardless, you confirm that you'll show up.

You look him up. The forums have barely any new posts, the last one appearing three days ago. Not even anything from the all-caps guy who flamed everyone but never turned up in person. But there's one thread, started by someone calling themselves Ichigeki, a few weeks back. The avatar is a photograph of a young man with side-parted short hair.

"Hi all, excited to be here! I train karate at Causeway Bay Shotokan Karate. I'm prepping for my first match, can anyone tell me what it's like?"

After work, you head to MK Fight. There's a newcomer you've seen a few times, and she raises a hand, then asks about her form. You show her a standard jab. She copies it, but the weight transfer is all wrong, the hip rotation not there. You show her again, slower. "It'll come," you say.

Almost a year. You find yourself wondering what all this training has done to you.

*fake_choice
    #You're more disciplined than you used to be.
        *gosub_scene utils show_stats
        You're more disciplined than you used to be. You've proved to yourself that you can stick with something hard.

        Worth it? Probably. Bruises fade. The discipline remains.

    #You can handle things that you couldn't before.
        *gosub_scene utils show_stats
        You can handle things that you couldn't before. Boxing pushed you out of your comfort zone.

        Did it make you wiser? Happier? You're not sure. But you feel more confident, at least.

    #You're not sure if you're better.
        *gosub_scene utils show_stats
        You're definitely better at boxing. That's not the same thing as being better.

        You've seen a lot. Things that you would never have seen. But you can't say what, if anything, changed underneath.

Enough. Time to get to work.

*gosub_scene utils tick_character_cooldowns
*gosub_scene utils character_unvisited_check
*gosub_scene utils fortnight_choice
*gosub_scene utils show_stats
*gosub_scene utils character_visit_options
*gosub_scene utils character_visit_choice
*gosub_scene utils check_and_show_achievements
Friday, 13 December 2024
*gosub_scene utils update_highest_friendship

You're in your business finest today — @{gender_num black midi dress, beige cardigan, black patent flats.|white dress shirt, grey blazer and chinos, scuffed leather shoes.|collarless shirt, slim black trousers, leather ankle boots.} Everyone packs up at 6pm on the dot, and files onto the waiting coaches. You take a window seat as the bus wheezes along to the Kwun Tong U-Banquet.

The company's reserved one end of the hall, with ten banquet tables, each seating twelve. Mirrors and glass decorations dangle on wires attached to ceiling panels. Wheeled partition screens divide your tables from the rest, but noise seeps through: raised voices and plates slammed onto tables. There's a stage set against the wall, a foot above the floor, with a lectern at one side, though no one is there. Classic pop songs loop, pumped from speakers set into the ceiling.

You're at a table with the rest of your team, everyone leaning in, words going nowhere. The CEO takes the stage, hiding behind the lectern, and recites the year's results. It was a good year, or a bad year, you can't tell. Everyone applauds. Your manager, Janet, is three seats away and is holding up her wine glass for more.

Waiters march out in single file, one to each table. Ten plates land at once, then the waiters retreat. Roasted suckling pig, real maraschino cherries for eyes instead of those plastic red bulbs. They return: stir-fried prawns with sugar snap peas, glistening in oil. Then fish maw and bamboo pith soup, thicker than a broth. Crispy chicken, steamed grouper, braised e-fu noodles, fried rice.

As the noodles and rice are cleared, the recorded music dies down. A drumroll as the emcee — some guy from sales — announces the raffle draw. The guy on the soundboard has it cranked all the way up, and every drawn number gets its own flourish: a drumroll, a laugh track, a sad trumpet, now a sitcom bass lick. Janet's cheeks are flushed, and she leans towards the man next to her, saying, "Nobody better mess with our team. ${first_name} will beat them up!"

One person laughs along. Others reach for the petits fours on the table.

*fake_choice
    #Play along, miming a one-two.
        *set epithet "annual dinner champion"
        You throw a slow one-two at the air, grinning.
    #Smile and nod.
        *set epithet "annual dinner attender"
        You smile and nod.
Janet laughs, head buried in the tablecloth, then straightens up. She's already moved on to some complaint about the office downgrading to 75gsm paper.

The red-bean dessert soup arrives. You didn't win a prize.

*page_break
*gosub_scene utils show_stats

Sunday, 15 December 2024

The annual dinner ended at midnight, so no training on Saturday. Instead, you read up on the dojo mentioned in the forums. They emphasise direct, linear, explosive strikes. Nothing else comes up. Looks like this Bob really is a newcomer.

One last week of training, and one last visit.

*gosub_scene utils tick_character_cooldowns
*gosub_scene utils character_unvisited_check
*gosub_scene utils fortnight_choice
*gosub_scene utils show_stats
*gosub_scene utils character_visit_options
*gosub_scene utils character_visit_choice
*gosub_scene utils check_and_show_achievements
Sunday, 22 December 2024
*gosub_scene utils update_highest_friendship
*gosub_scene utils show_stats

*if (boxing_insights_unspent > 0)
    *gosub_scene upgrades spend_insight_choices

The train surfaces after Choi Hung, your reflection in the window washed out by the lights outside. Kwun Tong arrives a few stops later. The "apm" mall glued to the station is still crowded, families flowing both ways. You take the escalator down to street level, the narrow towers giving way to old industrial buildings. A truck beeps as it backs into a loading bay.

The noise fades as you approach the pier, the buildings replaced by an expanse of open concrete. You pull your jacket tighter. Three men are on the promenade, their fishing rods propped against the railing, lines out into the dark. At the pier, there are a few passengers waiting for the ferry, cloth shopping bags at their feet.

You walk past the ferry terminal to the abandoned hall. A lanky guy at the door checks a printed list and nods you in.

It's the old ferry waiting room, now stripped bare, the windows at the far end cracked and grimy. There are around two dozen people here already. A rope circle is in the centre of the hall, six metres across. A man wearing a baseball cap pulled low, his face obscured by the brim, is taking bets on a notepad.

Bob "Ichigeki" Chow is there, white gi, orange belt, sneakers. Your height, with broader shoulders. Thick forearms, sleeves tight against his upper arms. Each step lands heavy.

He's skipping rope, fast enough that the rope blurs and hums. He sees you, smiles, and waves.

He misses his next jump and grins. You grin back. You wave back to him and drop your gym bag by the wall.

*page_break Bob "Ichigeki" Chow.
*gosub bob_fight
*gosub_scene utils first_loss_notification
*page_break
*set epithet "office worker"
Monday, 23 December 2024

You reach for your phone before your eyes are open. There's a message from your promoter:

"No fight next month. Restructuring in progress. Will be in contact once new operations are finalised."

*if highest_trait = "analysis"
    There's no date or deadline mentioned. This could last indefinitely.
*elseif highest_trait = "composure"
    She'll be in contact once they're ready. Nothing to do but accept the situation.
*elseif highest_trait = "empathy"
    Three sentences, and nothing's named in any of them. Did she write this?
*else
    *bug Invalid highest_trait

You type a reply, delete it, then set the phone back down.

*if (record_draws = 1)
    *if (record_wins = 1)
        One win,
    *elseif (record_wins = 2)
        Two wins,
    *elseif (record_wins = 3)
        Three wins,
    *elseif (record_wins = 4)
        Four wins,
    *elseif (record_wins = 5)
        Five wins,
    *elseif (record_wins = 6)
        Six wins,
    *elseif (record_wins = 7)
        Seven wins,
    *else
        *bug Wins should only range from 1 to 7 inclusive
    *if (record_losses = 0)
        no losses,
    *elseif (record_losses = 1)
        one loss,
    *elseif (record_losses = 2)
        two losses,
    *elseif (record_losses = 3)
        three losses,
    *elseif (record_losses = 4)
        four losses,
    *elseif (record_losses = 5)
        five losses,
    *elseif (record_losses = 6)
        six losses,
    *else
        *bug Losses should only range from 1 to 6 inclusive
    and one draw, then. 
*elseif (record_draws = 0)
    *if (record_wins = 1)
        One win and
    *elseif (record_wins = 2)
        Two wins and
    *elseif (record_wins = 3)
        Three wins and
    *elseif (record_wins = 4)
        Four wins and
    *elseif (record_wins = 5)
        Five wins and
    *elseif (record_wins = 6)
        Six wins and
    *elseif (record_wins = 7)
        Seven wins and
    *elseif (record_wins = 8)
        Eight wins and
    *else
        *bug Wins should only range from 1 to 8 inclusive
    *if (record_losses = 0)
        no losses, then.
    *elseif (record_losses = 1)
        one loss, then.
    *elseif (record_losses = 2)
        two losses, then.
    *elseif (record_losses = 3)
        three losses, then.
    *elseif (record_losses = 4)
        four losses, then.
    *elseif (record_losses = 5)
        five losses, then.
    *elseif (record_losses = 6)
        six losses, then.
    *elseif (record_losses = 7)
        seven losses, then.
    *else
        *bug Losses should only range from 1 to 7 inclusive
*else
    *bug Shouldn't be able to have more than 1 draw

You get dressed and take the lift down. The oversized wreath is still stuck to the back wall.

*page_break
Monday, 30 December 2024

Mid-evening. The ceiling fans rattle, and the only other noise is the thump of your pad work with Coach Lam. Everyone else has gone home.

You end with a jab-cross-hook, and Coach Lam says to finish on the speed bag. "I'll leave early today," he adds, and asks you to turn the lights off when you leave. He tosses you the key. You catch it. The key's still warm.

You work the bag until your rhythm falters. Then a few minutes of slow shadowboxing, followed by mat stretches. You remove your hand wraps and cross to your gym bag. It's under the corkboard on the wall, where the fight cards used to be. You pack your wraps, gloves, mouthguard and towel. You pull on your windbreaker and zip it up.

You flick the switches by the entrance. The lights cut out. The fans slow, rattle, then stop. Silence for a moment, broken by an argument in the street below.

You lock the gate, give it a pull, and go down the three flights. Out onto Tung Choi Street.

*page_break
You walk. All the way from Mong Kok to Yau Ma Tei, down a half-empty Reclamation Street. You reach the fruit market, corrugated awnings hanging over the pavement, stalls waiting for dawn, wooden pallets stacked against the walls, cartons and polystyrene boxes printed with images of durians, pineapples, oranges.

Then down Shanghai Street to Jordan. One stretch sells only cleavers, bamboo steamers, woks, wooden chopping boards, big ones for restaurant use, all the stores shuttered. There's a concrete sitting-out area with two old banyan trees bending overhead. A single taxi loiters at the stand.

Shanghai Street ends, and you cross Austin Road to Kowloon Park. Inside, a playground, young couples sitting on the undersized equipment. A Chinese Garden with a pond, water running over artificial rocks. A procession of figures and sculptures, artist plaques too dark to make out. You take the Haiphong Road exit into Tsim Sha Tsui, the traffic coming back.

You slide your phone out of your pocket. It's been almost an hour. You duck into a 7-Eleven to get a tray of [i]siu mai[/i] at the hot food counter, a dozen of the inadequate lumps. iSQUARE. You think about going in, but can only picture luxury handbags, vanilla perfume, cold marble. Almost at the waterfront, the Peninsula hotel. You go down through the subway under Salisbury Road.

Victoria Harbour. Barricades are stacked up in places, for tomorrow. You walk the promenade. A tourist couple ask you to take their photo. You take the photo, then walk on. A passing Star Ferry blares its horn, low and flat.

*page_break
You stop walking. Tourists throng the rest of the promenade, but the lamps stop here, and only a few people are around. You clamber onto the concrete railing and sit on it, facing out. You rest the [i]siu mai[/i] in your lap, and stretch your arms above your head.

Across the harbour, a thousand tiny lights gleam. Waves brush against the concrete.

You skewer a [i]siu mai[/i], put it in your mouth and chew.
*finish End.


*label bob_fight
*temp dc_easy 20
*temp dc_medium 27
*temp dc_hard 35
*set fight_momentum 5
*set trait_bonus_amount 2
*set upgrade_multiplier 5
*gosub_scene utils calc_adj_stats

You stretch and wrap your hands. Mouthguard in. You pull on your red 10 oz gloves and stand. The referee gestures you towards the rope circle, where Bob is already waiting, hands wrapped, no gloves, shoes off.

You take a slow breath. In through the nose. Out through the mouth. Bob's stance is relaxed, but the bounce in his rear foot suggests aggression out of the gate. You tune out the crowd.

You touch gloves, a firm tap of leather on hand wraps. The referee nods, steps back, and chops his hand downward. "Fight!"

You start cautiously, arms tight to your centreline. His stance gives it away: weight back, rear hand cocked at his hip, palm turned up. He's going for a big punch.

He steps through, driving off his rear leg as his arm straightens, bringing his fist to chest height.

"HYAH!"

Very loud. There's time. You can see the snap of his sleeve, the fist corkscrewing.

*choice
    #Take the punch head-on with your ${block}.@{fight_vision  [i](Toughness, Power)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * block_level)
        *if ((((adj_toughness * 0.7) + (adj_power * 0.3)) + trait_bonus_applied) + upgrade_bonus) >= dc_medium
            His fist closes the remaining distance and your arms move by themselves into a tight guard. Your gloves meet his punch, your hands driven back into your chest, your body folding around it as you take a step back.

            Nothing hurts. Bob is back where he started, his fist at his hip.

        *else
            *set fight_momentum -1
            His fist closes the remaining distance and your arms move by themselves into a tight guard. All his weight is behind the punch, and your elbows buckle as you're driven back. Your forearms go dead.

            Bob is back where he started, his fist at his hip. You shake your arms loose, open and close your fists.

    *selectable_if (dodge_level > 0) #Slip outside with your ${dodge}.@{fight_vision  [i](Technique, Mental)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * dodge_level)
        *if (((adj_technique * 0.6) + (adj_mental * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= dc_medium
            *set fight_momentum +1
            His fist closes the remaining distance, left of your breastbone. You shift right and it passes you by. There's time to spare. You tag him on the cheek with a jab.

            Bob's head turns with the jab, and he steps back, his fist returned to his hip. You hold the range.

        *else
            His fist closes the remaining distance, and you shift left. You're a fraction slow, and it clips you on the shoulder, turning you.

            It's nothing much. But by the time you've squared up, Bob is back where he started, his fist at his hip. The window's shut.

    *selectable_if (counter_level > 0) #Intercept him with your ${counter}.@{fight_vision  [i](Mental, Technique)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * counter_level)
        *if (((adj_mental * 0.6) + (adj_technique * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= dc_medium
            *set fight_momentum +1
            As his fist closes the remaining distance, you step in with a jab. You're faster, and your jab catches him in the chest. His straight keeps coming, but the power's gone, and it stops on your forearm.

            He steps back to reset the range, and you give him the space.

        *else
            As his fist closes the remaining distance, you step in with a jab. It catches him in the chest and blunts his straight, but it still finds your ribs.

            Both of you fall back, giving ground, resetting.

*if fight_momentum >= 6
    He hasn't found the opening he wants yet.
    *if highest_trait = "analysis"
        No setup, no feint, just a single punch. Interesting idea.
    *elseif highest_trait = "composure"
        No immediate threat. You shift your weight forward.
    *elseif highest_trait = "empathy"
        And getting hit hasn't slowed him. He expected something like it.
    *else
        *bug Invalid highest_trait
*elseif fight_momentum = 5
    No one has the better of it yet.
    *if highest_trait = "analysis"
        No setup, no feint, just a single punch. Interesting idea.
    *elseif highest_trait = "composure"
        No immediate threat. You shift your weight forward.
    *elseif highest_trait = "empathy"
        He's bouncing on the balls of his feet, waiting for the next contact.
    *else
        *bug Invalid highest_trait
*else
    You blocked his punch, and it didn't help that much.
    *if highest_trait = "analysis"
        No setup, no feint, just a single punch. Interesting idea.
    *elseif highest_trait = "composure"
        Your hands go up and stay up.
    *elseif highest_trait = "empathy"
        He's bouncing on the balls of his feet, waiting for the next contact.
    *else
        *bug Invalid highest_trait

*page_break
Someone in the crowd coughs, and a few others talk amongst themselves. You step forward, peppering Bob with jabs. He parries them with hard blocks and punches back down the middle, with the occasional front kick.

None of it lands. He shows you the same four blocks and never moves his head. You step in, step out, circle.

Another minute and you clock it. Powerful straight punches, kicks when you get close, then back to the same distance every time.

So you walk him down until you're well inside. He backs up to find room for the straight punch, and you follow.

*gosub_scene utils show_fight_momentum

*choice
    #Stay on him with your ${jab}.@{fight_vision  [i](Technique, Toughness)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * jab_level)
        *if (((adj_technique * 0.6) + (adj_toughness * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.6) + (dc_easy * 0.4))
            *set fight_momentum +1
            Jab, jab, jab. A step left. Half a step right. He squares up and you're not there. He backs away and you're already inside. Bob blocks. He blocks again. A jab gets through, then another. Your rear hand stays at your cheek the entire time.

            He keeps trying to step back, giving ground in straight lines, but you stick close. Another step back, and his heel catches the rope. The referee steps in as he stumbles out of the circle. You walk to the centre.

        *else
            Jab, jab, jab. A step left. Half a step right. He squares up and you're not there. He backs away and you're already inside. Bob blocks. He blocks again. Your rear hand stays at your cheek the entire time.

            He keeps trying to step back, giving ground in straight lines, but you stick close. Then the knee comes up and the front kick drives into your guard. His fist is back at his hip.

    #Pressure him with your ${flurry}.@{fight_vision  [i](Power, Toughness)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * flurry_level)
        *if (((adj_power * 0.6) + (adj_toughness * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.9) + (dc_hard * 0.1))
            *set fight_momentum +2
            You go at him with your ${flurry}. He blocks the punches one at a time, so some of them land: shoulder, temple, chin. Eventually he covers up, forearms against his head.

            Three more times you go at him. Your arms heavy, you stop to breathe, and he steps out of range, hands still up.

        *else
            You go at him with your ${flurry}. He blocks the punches one at a time, all of them landing on his forearms. Each punch comes back up your arms.

            Three more times you go at him. Your arms heavy, you stop to breathe, and he steps out of range, his fist at his hip.

    #Break his guard with a ${combo}.@{fight_vision  [i](Technique, Power)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * combo_level)
        *if (((adj_technique * 0.6) + (adj_power * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.8) + (dc_easy * 0.2))
            *set fight_momentum +2
            You start with a jab-cross-hook, each one answered with a block. Then you throw a jab-hook-jab-uppercut, the uppercut grazing his chin. You stay inside and go to the body. Left, right, left. A hook comes outside his block, then a cross down the middle finds his mouth.

            He gives ground, one foot crossing behind the other, but he keeps backing off until there's room again.

        *else
            *set fight_momentum +1
            You start with a jab-cross-hook, each one answered with a block. Then you throw a jab-hook-jab-uppercut, but he gets his elbow down in time. You stay inside and go to the body. Left, right, left. A hook comes outside his block, then a cross down the middle onto his guard.

            He gives ground, backing off until there's room again.

*if fight_momentum >= 7
    Bob's breathing through his mouth now, his arms slow and heavy after each block. Then he nods to himself and sinks into a deep stance, front knee bent, rear leg straight.
*elseif fight_momentum >= 6
    Bob's breathing through his mouth now, his fist going back to his hip. Then he nods to himself and sinks into a deep stance, front knee bent, rear leg straight.
*else
    Bob takes deep breaths through his nose as he waits for you to close in. Then he nods to himself and sinks into a deep stance, front knee bent, rear leg straight.
*if (unlocked_eric_training)
    The air shimmers around him.
    *if (unlocked_danny_training)
        The crowd freezes, and the dust in the air stops moving.
*elseif (unlocked_danny_training)
    The crowd freezes, and the dust in the air stops moving.
*else
    His arms harden, and his rear heel presses into the floor.

He's ending it here, win or lose.

The rear leg drives. There's time to spare.

*gosub_scene utils show_fight_momentum

*choice
    #Interrupt him with a ${flurry}.@{fight_vision  [i](Power, Mental)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * flurry_level)
        *if (((adj_power * 0.6) + (adj_mental * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.9) + (dc_hard * 0.1))
            *if flurry_level = 0
                You're already on him, both hands working, uncaring about where they land. Jabs, hooks, crosses, uppercuts, anything you can get. His fist never leaves his hip.

            *else
                You're already on him, both hands working, finding the gaps. Jabs, hooks, crosses, uppercuts. His fist never leaves his hip.

            *if fight_momentum >= 6
                *set fight_momentum 10
                You keep punching. His guard stays up, but his feet give ground, then give out. You stop punching before he hits the floor.

            *else
                *set fight_momentum +2
                You keep punching. His guard stays up, but his feet give ground. You back off with nothing left in your arms.

        *else
            *if flurry_level = 0
                You're already on him, both hands working, uncaring about where they land. Jabs, hooks, crosses, uppercuts, anything you can get. A jab finds his chin...

                "HYAH!"

            *else
                You're already on him, both hands working, finding the gaps. Jabs, hooks, crosses, uppercuts. A jab finds his chin...

                "HYAH!"

            *if fight_momentum >= 6
                *set fight_momentum -2
                He still gets the punch off. It hits you on the sternum, your hands still out. You stumble back, arms flailing, and end up bent over your knees.

                That's going to hurt tomorrow.

            *else
                *set fight_momentum 0
                He still gets the punch off, hip turning, fist corkscrewing. Bare knuckles and hand wraps. It hits you on the sternum, your hands still out. You're lifted off your feet and you land on your back.

                That's going to hurt tomorrow.

    #Meet him with a ${combo}.@{fight_vision  [i](Technique, Toughness)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * combo_level)
        *if (((adj_technique * 0.6) + (adj_toughness * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.7) + (dc_hard * 0.3))
            He's going for one punch, but you're going for four. Jab, cross, jab, hook. Three of them land. His fist never leaves his hip.

            *if fight_momentum >= 6
                *set fight_momentum 10
                You keep punching. Jab, cross, jab. His guard stays up, but his feet give ground, then give out. You stop punching before he hits the floor.
            *else
                *set fight_momentum +2
                You keep punching. Jab, cross, jab. He staggers, but gets his hands up and keeps them there.

        *else
            *set fight_momentum -3
            He's going for one punch, but you're going for four: jab, cross, jab, hook. The jab finds his chin...

            "HYAH!"

            He still gets the punch off. It hits you on the sternum, your hands still out. You stumble back, arms flailing, and end up bent over your knees.

            That's going to hurt tomorrow.

    *selectable_if (counter_level > 0) #Twist away and strike back with your ${counter}.@{fight_vision  [i](Mental, Technique)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * counter_level)
        *if (((adj_mental * 0.6) + (adj_technique * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.7) + (dc_hard * 0.3))
            It's coming. Hip turning, arm corkscrewing, fist coming at your sternum.

            You turn off the line, your left forearm against his arm. His fist goes past your ribs and his shoulder follows. Before he can recover, you step in and dig a shovel hook into his chin. The jolt runs back to your shoulder.

            *if fight_momentum >= 6
                *set fight_momentum 10
                He goes down, and you step back.
            *else
                *set fight_momentum +2
                He staggers back. One knee gives, then his hands come up, late.

        *else
            *set fight_momentum 0
            It's coming. Hip rotating, arm turning, fist coming at your sternum.

            You turn off the line, your left forearm against his arm. It doesn't slow him at all. The punch catches you in the side, bare knuckles and hand wraps. It spins you off your feet and you land on your back.

            That's going to hurt tomorrow.

*page_break
*if fight_momentum = 10
    *set record_wins +1
    *set bob_result "win"
    Bob pushes himself up at the count of six and sinks back into his stance. He nods at the referee. The referee's hand is up, about to chop down, when the lanky doorman crosses the floor in a hurry. He whispers in the referee's ear, and goes back to the entrance.

    The referee blows the whistle.

    "Fight over!"

    Some murmurs come from the crowd. You look around. No one objects. Bob shuffles his feet and says, "Not the full three rounds?"

    The referee shrugs and says that an "inspection" will be coming soon. "Better than last time."

    As people pack up their things, the referee announces: "Knockdown stands. Winner is ${last_name}!"

    Scattered applause. The man in the baseball cap is already moving, checking his notepad, peeling off hundred-dollar and five-hundred-dollar notes.

    Bob turns to you, still catching his breath. He's grinning.

    "Thank you for the instruction today. I learned a lot. I could tell you knew what I was going to do."

    *choice
        #"You shout as the big punch comes out."
            "You shout as the big punch comes out. I have time to prepare."

            Bob laughs as he drops his eyes. "Yeah, force of habit. They teach us to do that."

            "Still, you fought well."

            Bob bows from the waist, and you incline your head.

        #"How long have you been fighting?"
            "How long have you been fighting?"

            Bob laughs as he drops his eyes. "Half a year of karate. But I did bodybuilding for years."

            "Six months? That's fast."

            "You think so? Thank you."

            Bob bows from the waist, and you incline your head.

        #"This might be the last one."
            "This might be the last one."

            Bob's grin vanishes. "What do you mean?"

            "This whole thing... I don't know if there will be another card."

            Bob stands there. "Oh..."

*elseif fight_momentum = 0
    *set record_losses +1
    *set bob_result "loss"
    You wait for your breath to come back, and then push yourself up at the count of eight. The referee's hand is up, about to chop down, when the lanky doorman crosses the floor in a hurry. He whispers in the referee's ear, and goes back to the entrance.

    The referee blows the whistle.

    "Fight over!"

    Some murmurs come from the crowd. You look around. No one objects. Bob shuffles his feet and says, "Not the full three rounds?"

    The referee shrugs and says that an "inspection" will be coming soon. "Better than last time."

    As people pack up their things, the referee announces: "Knockdown stands. Winner is Chow!"

    *page_break
    Scattered applause. The man in the baseball cap checks his notepad twice, then he's moving, peeling off hundred-dollar and five-hundred-dollar notes.

    Bob looks at the referee, then turns to you.

    "Were you going easy on me? I can't believe I won..."

    You reply, "No, I wasn't. And you fought well."

    Bob bows from the waist, and you do the same.
*else
    *set record_draws +1
    *set bob_result "draw"
    The bell rings, ending the round, and the referee waves both of you back. Then the lanky doorman crosses the floor in a hurry. He whispers in the referee's ear and goes back to the entrance.

    The referee blows the whistle.

    "Fight over!"

    Some murmurs come from the crowd. You look around. No one objects. Bob shuffles his feet and says, "Not the full three rounds?"

    The referee shrugs and says that an "inspection" will be coming soon. "Better than last time."

    As people pack up their things, the referee announces: "It's a draw!"

    Scattered applause. The man in the baseball cap is already moving, checking his notepad, peeling off hundred-dollar and five-hundred-dollar notes.

    Bob turns to you, still catching his breath. He's grinning.

    "Thank you for the instruction today. I learned a lot."

    *choice
        #"You've got a good punch."
            "You've got a good punch."

            Bob laughs as he drops his eyes. "Thanks. They teach us to finish it with one strike."

            "You've got the strike."

            Bob bows from the waist, and you incline your head.

        #"How long have you been fighting?"
            "How long have you been fighting?"

            Bob laughs as he drops his eyes. "Half a year of karate. But I did bodybuilding for years."

            "Six months? That's fast."

            "You think so? Thank you."

            Bob bows from the waist, and you incline your head.

        #"This might be the last one."
            "This might be the last one."

            Bob's grin vanishes. "What do you mean?"

            "This whole thing... I don't know if there will be another card."

            Bob stands there. "Oh..."

The doorman holds the door open with his shoulder. The hall empties towards the entrance. Voices low, phones out.

The referee's heaving the rope into a pile by the wall, leaving you and Bob in the middle of the hall.

Bob unwinds the last of his hand wraps. "Well, I guess this is it, then?"

You shake his hand. "See you around."

*return
