*save_checkpoint ch2
*set checkpoint2 true
*set fight_opponent_name "Katie"
*set current_month "May"
Chapter 2: Katie "Pressure Point" Reynolds

Monday, 29 April 2024

Your muscles go slack as you reach the entrance to your flat. Your hand shakes and you can't quite get the key into the lock. You get it in, twist, shove the door open, then collapse onto your mattress. Your shirt presses into your back, cold and wet. You click the button and the fan whirs overhead, doing nothing against the April heat.

It's not much. A fold-up bed, desk, pull-up bar, a tiny bathroom and a hotplate. Ten floors below, a truck honks, then a taxi blares, sharper. Half your salary goes to the landlord, and the rest goes to wraps, gloves, coaching. But the gym's five minutes away, and the MTR's even closer. Good enough.

*page_break
Tuesday, 30 April 2024

You catch yourself tracking your team leader's hand movements. Tells. Her hand tensed, just now, so she's going to lunge at you with a cross —

You shake your head. The fight's over, but your mind hasn't caught up. You try to focus again, listen to what she's saying, but it arrives as a jumble of static.

You still see it: Eric's [i]Energy Wave[/i], violent, sudden, real. Your first clean hit in a real match. You keep replaying it.
*if record_losses = 0
    The crowd cheered like it shouldn't have happened. Like they couldn't believe it.
*elseif record_losses = 1
    You lost. No surprise in the crowd. No shame in the ring.
*else
    *bug Invalid fight record

Your colleague's mouth moves. Something about industry analysis, market segments. It keeps moving. The muscles in your neck tighten, expecting something that never comes.

*page_break
Wednesday, 1 May 2024

Your phone buzzes with a message from Coach Lam: "Heard about Monday night."

Word gets around. You grab buttered bread and wonton noodles from a [i]cha chaan teng[/i], then make your way to MK Fight. This early on Labour Day, the gym's empty.

Coach Lam watches you move through your warm-up, but doesn't say anything. Stands with his arms behind his back as you hit the heavy bag. Holds the pads for you — combination work today.

He comes over as you cool down. "You're serious about this," he says finally.

He passes you a slip of paper: Katie "Pressure Point" Reynolds.

"Remember, people fight for different reasons."

He turns away, wiping down the bench with a fraying towel.

*page_break
*gosub_scene utils show_stats

The next day, you munch on crayfish mayonnaise sandwiches at your desk, and search for information about Katie. Oddly enough, you can't find any videos. Instead, there's page after page of comments:

[i]"Scariest fight of my life."[/i]
*line_break
[i]"She was smiling the whole time."[/i]
*line_break
[i]"Sheer terror."[/i]

At last, you find a grainy video, hosted on a questionable file-sharing site. A tall brunette woman in mismatched aerobics gear faces off against a larger man. The fight starts normally, both of them in cautious guards. Then the woman dashes in and presses her fingers into his arm. He screams, drops to the floor, cradling his elbow. She smiles brightly and says something you can't make out. He tries to crawl away. She takes her time closing in, still smiling.

Click. The tab closes. Your leg won't stop bouncing. This looks a bit different from energy waves and flaming uppercuts.

You stare at the monitor. A smiling brunette and a screaming man. No — you blink, and now it's a marketing campaign spreadsheet. Looks like the client's FANCL. FAN-kel.

*gosub_scene utils fortnight_choice
*gosub_scene utils show_stats

Eric invited you to train with him at Eastside. Now is as good a time as any.

*if (tutorial_mode)
    You can check in with one person each fortnight. A visit may unlock additional training options, deepen your relationship, improve your stats, or grant [i]Boxing Insights[/i].

*gosub_scene utils character_visit_choice
Thursday, 16 May 2024
*gosub_scene utils show_stats

You've found three more photos of Katie online, all showing the same bright smile and mismatched aerobics gear. You print one out at the office — a colour copy that you slip in behind a pitch deck cover. 600 dpi.

Back home, you tape it up next to your workout schedule. Her fingers are slender and manicured, the tips round. The kind you'd see on a yoga teacher.

You touch your elbow.

Two more weeks. You still don't know what you're up against.

*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
Thursday, 30 May 2024
*gosub_scene utils show_stats
*set epithet "family dinner attender"

*if (boxing_insights_unspent > 0)
    *gosub_scene upgrades spend_insight_choices

You leave at 6pm sharp, saying you have a family dinner to attend. Your team leader smiles and says, "Good, good, it's so rare to see filial piety in the younger generation!"

The train rumbles along. Someone in the carriage stifles a sneeze, then puts on a mask and looks down at the floor. You shift your weight as the strap of your gym bag bites into your shoulder. The speakers crackle out something in Cantonese, and it sounds like someone mumbling into a walkie-talkie underwater. Then Putonghua, then English. No one pays any attention.

Pitt Street, Yau Ma Tei. Your heart pulses, deep and quick. A drab high-rise looms over the side street, paint peeling, its windows blacked out. Your sneaker sticks to old chewing gum on the pavement. You ignore it. Each step drags. A moustachioed man at the side entrance nods you through when you give your name.

An old lift, with dimpled plastic buttons that creak when you push them. It rattles its way to the basement, opening into what looks like a former nightclub. On the wall, a row of posters for some DJ, ripped and peeling off. A bar counter in the corner, stale beer souring the air. Where the dance floor used to be, there's now a full-size ring, the top rope dipping in the middle. A small crowd, maybe three dozen strong. Two uneven rows of fold-out metal chairs. Thin wooden partitions walling off space for the fighters.

A man waves you towards one of the partitions. You drop your bag, change, stretch. Breathe. Breathe. Then you wrap your hands and step back out.

The bookmaker's here, the same one from your match with Eric, near the ropes, hunched over his tablet. He glances at you, nods, then looks back down and taps hard on the screen, rattling it.

You catch a fragment of conversation from two fighters by the folding chairs. "... too many new faces lately," one says. They see you looking and fall silent.

You turn to the ring. Mouthguard in. Gloves on.

*page_break Katie "Pressure Point" Reynolds.
*gosub katie_fight
*gosub_scene utils first_loss_notification
*finish End of Chapter 2.



*label katie_fight
*temp dc_easy 10
*temp dc_medium 14
*temp dc_hard 19
*set fight_momentum 5
*set trait_bonus_amount 2
*set upgrade_multiplier 4
*gosub_scene utils calc_adj_stats
*comment If the player trains three times and rests once, and visits Eric both times, they'll be at effective stats of 9 for untrained stats, 14 for trained-once, 20 for trained-twice
*comment 1 = loss, 2 = win
*temp match_result 0
"Hi! Are you ${first_name}?" A cheerful voice, too bright for the mood, makes you jump.

You turn to see a tall woman in neon pink Jazzercise leggings, a teal headband, leg warmers and a "Pressure Point Basics" T-shirt. Her long brunette ponytail is bound with a purple scrunchie, and she cradles an anatomy textbook under her left arm. She adjusts her fingerless gloves, the black leather accentuating her long fingers.

"Yeah, that's me...?" you reply.

"I'm Katie! They call me 'Pressure Point' in the ring." She smiles and extends her hand, ponytail swishing. "We're up next. I've been looking forward to fighting a boxer. Boxers have such interesting upper-body nerve points!"

You hesitate before shaking her hand. Her grip is firm, and her fingers press into the back of your hand.

"I'm a pressure point fighter. I try to win by finding nerve points and inflicting debilitating pain," she announces. "But don't worry! Everything's temporary. There's no actual damage at all!"

She smiles and pats your shoulder lightly. "I'm investigating pain responses for my kinesiology research. Your feedback after the match would be super helpful."

You try to respond, but the announcer calls your names before you can gather your words. Katie waves cheerfully and bounds towards the ring. You follow her slowly, your brain still trying to process the situation.

No cheering, no chanting from the crowd. Feels like everyone's holding their breath.

*choice
    #Wonder why she's so interested in causing pain.
        *gosub_scene utils increase_empathy
        She's extremely upbeat, that's for sure. You're not yet sure why.

    #Think about nerve point attacks and what adjustment you should make.
        *gosub_scene utils increase_analysis
        If she's telling the truth, one strategy suggests itself: don't let her get close to you. You need to keep her at range, somehow.

    #Settle yourself and square up.
        *gosub_scene utils increase_composure
        Her fighting style may be unconventional, even frightening. Fine. You let the thought settle. You get ready to fight.

You ease into your boxing stance, find your footing on the firm canvas, and wait for the referee to start the match. Katie stretches her fingers and enters what appears to be a Jazzercise pose that also incorporates three or four clashing martial arts styles.

"Remember, your joints aren't actually going to be damaged, even if it feels like it!" she calls across to you.

You swallow.

The ref stares at the canvas as he rushes out the standard instructions. He chops his hand down for "Begin!" and leaps back out of the way.

*page_break
You advance with careful steps, eyes fixed on her long fingers, and test her with a few tentative jabs. Katie bobs and weaves past all of them, anticipating your punches before they're fully extended.

"Good punching form," she says, slipping yet another of your punches. "You're using your muscle chains well!"

You advance more aggressively, landing a solid jab to Katie's right shoulder with a hefty thud. She absorbs the hit, not showing any reaction, the relaxed smile still on her face. But as you move in for another combination, Katie tightens up. She slips inside your guard. Her fingers press a point on your elbow as she applies leverage to your wrist with her other hand.

A thunderbolt of silver pain crashes through your arm. It pulses from the elbow, down to the fingertips, up to the shoulder. You can't move, can't bend, can't do anything but experience the agony.

"AARGH!" you scream. The pain is so intense that black spots appear on the edges of your vision.
*set fight_momentum -1

*gosub_scene utils show_fight_momentum

*choice
    #Fight to stay functional.
        *gosub_scene utils increase_composure
        No time for diagnosis. You brace and adapt.
    #Assess the pain and triage.
        *gosub_scene utils increase_analysis
        The pain is intense. But your elbow is bent, not hyperextended.
    #Glance at Katie and search for malice.
        *gosub_scene utils increase_empathy
        She's watching you like she's logging the results. No malice, at least none that you can sense.

"This is totally normal," Katie says, her palm still pressing on your wrist. "Your nerves are sending the wrong signals to your brain. It only [i]feels[/i] like your elbow's bending backwards."

She lets go. The pain vanishes instantly. Your elbow moves normally.

"As good as new! Neat, right?"

You flex your elbow, prod it with your other hand.

The crowd cheers.

*choice
    #Steady your breath and reset.
        *gosub_scene utils increase_composure
        You don't look at your arm. Don't ask questions. Just breathe, reset, and bring your gloves back up. The pain is gone. That's enough for now.

        You tighten your positioning and keep close track of how her hands move.

    #Watch her, not your arm.
        *gosub_scene utils increase_empathy
        She's still watching you. Whatever happened just now, it seemed important to her.

    #Ask her how it works.
        *gosub_scene utils increase_analysis
        *set katie_friendship +1
        "What did you just do?" you ask.

        Katie's eyes sparkle. "Nerve manipulation. I'm writing my thesis on it!"

        The referee clears his throat loudly, and you square up and focus on the fight again.

A brief lull. You maintain distance with quick jabs, buying time while you work out what to do. The crowd grumbles. Katie waits for you to make the next move.

*gosub_scene utils show_fight_momentum

*choice
    #Try your ${flurry} to overwhelm her defences.@{fight_vision  [i](Power, Technique)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * flurry_level)
        *if (((adj_power * 0.6) + (adj_technique * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= dc_medium
            *set fight_momentum +2
            You burst forward with your ${flurry}, catching Katie with her arms lowered. Two punches land before she can react, knocking her off-balance. Katie retreats, fewer dodges, instead taking more of it on her arms.

        *else
            *set fight_momentum -1
            You burst forward with your ${flurry}, hoping it will overwhelm Katie's defences. She sidesteps it all. As you lose your positioning, her fingers find a nerve junction at your rib cage. Your lungs refuse to breathe, and you fall back.

    #Continue to probe with cautious jabs.@{fight_vision  [i](Technique, Mental)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * jab_level)
        *if (((adj_technique * 0.6) + (adj_mental * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.9) + (dc_easy * 0.1))
            *set fight_momentum +1
            You maintain distance with well-timed jabs. You shut down her approach angles. She lunges, one arm extended, but you tag her with a clean ${jab} that sends her back with a subdued "Oof."

            Guard up, jab ready.

            The crowd leans in to see how Katie will adjust her approach.

        *else
            *set fight_momentum -1
            You try to maintain distance with jabs, and to shut down her approach angles. Katie comes in close, sidesteps twice, and then ducks forward inside your hands. Before you can recover, her fingers find a nerve cluster at your shoulder as her other hand presses on your biceps. Your lead arm becomes numb. It stays in front of your face, refusing your request to go out and jab.

            "Transient motor inhibition," Katie explains, helpfully.

    *selectable_if (counter_level > 0) #Wait for her approach and attempt a 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))
            *set fight_momentum +2
            You await Katie's advance, looking for her tells. When she finally commits to an attack, your legs have already begun to move. You sidestep her approach and deliver a ${counter} that completely stops her forward momentum with a thwack.

        *else
            *set fight_momentum -1
            You await Katie's advance while looking for her tells. She circles to your left, her hands moving in patterns. You're a beat behind, still decoding her hand patterns, when her fingers find pressure points on your forearm and she applies leverage to your wrist.

            The counter never comes out. Your arm stays there, frozen in place.

            "Fascinating," she whispers to herself. 

*if fight_momentum <= 4
    Katie keeps getting inside, freezing your arms and collapsing your legs. Your jab doesn't jab, your weave doesn't weave.

*elseif fight_momentum = 5
    Katie occasionally gets inside, freezing your arms and collapsing your legs. But you box around it: if the jab's down, send out a cross. If you can't circle, pivot.

*else
    Katie attempts to get inside to freeze your arms and collapse your legs. But you control the range with well-timed jabs and pivots. She finds nothing.

*page_break
The fight continues, a whirlwind of punches, holds, and Katie's cheerful commentary. Time blurs into a series of frozen limbs and dull impacts.

Between rounds, Katie stretches her fingers, bends them. You sit, your T-shirt soaked with sweat, watching her bounce in place. She glances over with the same bright smile.

Your muscles tire. But Katie's movements seem more familiar now. Whenever she comes in, her fingers spread out and flex, or there's a quick hip twist, or a weight shift.

*if fight_momentum >= 6
    Your guard's intact and you have enough in the tank. Every time Katie tries to find a pressure point, you block it or twist clear. Then, when she over-commits, you punish with a ${jab} or a quick combination.

    You counter another deflected strike with a fast hook. Her left hand drops. An opening.

*elseif fight_momentum > 4
    You manage to prevent Katie from landing any decisive attacks. But no matter what you try — combinations, jabs, flurries — you struggle to land anything clean.

    She doesn't show any sign of tiring, her hands high and her footwork still light. But now, after blocking your cross, she's leaning too far back. An opening.

*else
    Katie circles you relentlessly. She peppers your forearms and gloves with fast strikes, pinpricks that numb your arms. You try to reset, but you can't cover all the angles. You're barely landing anything.

    She lets out a short breath and her arms drop slightly as she studies your guard. An opening.

*gosub_scene utils show_fight_momentum

*choice
    #Tag her with a ${jab}.@{fight_vision  [i](Technique, Mental)[/i]|}
        *set upgrade_bonus (upgrade_multiplier * jab_level)
        *if (((adj_technique * 0.7) + (adj_mental * 0.3)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_easy * 0.5) + (dc_medium * 0.5))
            *set fight_momentum +1
            You step forward, a jab flicking out, then snapping back to guard. It catches Katie right on the nose before she can twist away.

            "Oof! That was fast!"

            Her hands come up and she springs to the left. She feints in, and you rock back on your heels, gloves tight to your face.

            You recover your footing. She doesn't advance. Instead, she steps back slowly, blinking hard. Around you, the crowd sits up straight.

        *else
            You step forward, a jab flicking out, then snapping back to guard. Katie barely slips it, your glove grazing her ear.

            "That was fast!"

            Her hands come up and she springs to the left. She feints in, and you rock back on your heels, gloves tight to your face.

            You recover your footing. She doesn't advance. Instead, she steps back slowly, blinking hard. Around you, the crowd sits up straight.

    #Launch a ${flurry} to pressure her.@{fight_vision  [i](Power, Toughness)[/i]|}
        *set upgrade_bonus (upgrade_multiplier * flurry_level)
        *if (((adj_power * 0.6) + (adj_toughness * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= dc_medium
            *set fight_momentum +2
            You spring forward, unleashing a rapid flurry of distance-closing punches. You focus on punch quantity, directing them vaguely at Katie's upper body.

            Katie ducks under your first punch, then sidesteps the second. She jerks her head away from your hook. She opens her mouth to speak, but only a breath escapes as she twists away from another jab. Her hands fly up to shield her face. Her feet shuffle backwards. The crowd erupts in applause. You tire quickly and don't press further.

            She takes another step back, blinking hard. Around you, the crowd sits up straight.

        *else
            *set fight_momentum -1
            You spring forward, unleashing a rapid flurry of distance-closing punches. You focus on punch quantity, directing them vaguely at Katie's upper body.

            She ducks under your first punch, then sidesteps the second. She jerks her head away from your hook. She's unable to find any pressure points through your constant movement and barrage of punches. But your shoulders start to burn. Your punches become slow, weak. She crouches and stabs for a nerve cluster at your inner thigh. Your leg buckles.

            You recover your footing. She doesn't advance. Instead, she steps back slowly, blinking hard. Around you, the crowd sits up straight.

    #Attempt your ${combo}.@{fight_vision  [i](Technique, Power)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * combo_level)
        *if (((adj_technique * 0.5) + (adj_power * 0.5)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.9) + (dc_easy * 0.1))
            *set fight_momentum +2
            You recall Coach Lam's advice: stick to what you've practised. You launch into your ${combo}. The jab sticks Katie in place. The cross forces her to block. The hook connects with the side of her head, the pressure on your fist muffled.

            She staggers from the impact of the hook. The crowd erupts in applause, some now clapping with inflatable plastic tubes. Katie retreats into a low crouch.

            Then she straightens slowly and blinks hard. Around you, the crowd sits up straight.

        *else
            *set fight_momentum -1
            You recall Coach Lam's advice: stick to what you've practised. You launch into your ${combo}. The jab sticks Katie in place. But she slips the cross and weaves under your hook.

            You're open. Staying low, she darts in and stabs for a nerve cluster at your inner thigh. Your leg buckles.

            You recover your footing. She doesn't advance. Instead, she steps back slowly, blinking hard. Around you, the crowd sits up straight.

*page_break
Katie's pupils dilate. She begins a bizarre wave-like [i]kata[/i], arms flapping in wide jumping-jack arcs, knees pumping high in Jazzercise bursts.

"Okay, pulling out the [i]big[/i] one now! [i]Total Sensory Override[/i]. Brace yourself!" she announces.

She keeps shifting side to side, wrists rotating, fingers flexing. Her breath deepens into a slow, meditative rhythm. Then she starts hyperventilating. All the while, her face is plastered with a cheerful grin. Droplets of sweat appear on her forehead.

"Let's go!" she says, charging forward.

A final check: hips low, guard high, weight even. Every muscle ready.

*gosub_scene utils show_fight_momentum

*choice
    #Raise your guard and weather the attack.@{fight_vision  [i](Toughness, Mental)[/i]|}
        You plant your feet firmly, bringing both gloves high and tucking your elbows in. Katie lurches towards you. The crowd's collective intake of breath tells you all you need to know about what's coming.

        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * block_level)
        *if (((adj_toughness * 0.7) + (adj_mental * 0.3)) + (trait_bonus_applied + upgrade_bonus)) >= ((dc_medium * 0.8) + (dc_easy * 0.2))
            Katie's fingers dart towards you at oblique angles. You tuck your chin fully. Your arms tighten in a compact guard. You hunch your back to reduce your profile. Katie can't find any exposed nerves, her fingers hovering and darting ineffectually.

            "Oh! Good defence," she says.

            You feel her fingers brush against you repeatedly, each near-miss raising the hairs on your skin. Her probes abruptly stop as she lets out a long breath, her pupils contracting to their normal size. The crowd exhales.

        *else
            You tuck your chin fully. Your arms tighten in a compact guard. You hunch your back to reduce your profile. But it's not enough. Katie is too fast, coming from all directions, your turtle defence allowing her to focus entirely on offence.

            *goto total_sensory_override
    #Time a desperate counter-attack.@{fight_vision  [i](Mental, Technique)[/i]|}
        You wait for the split-second commitment. You feel the slight tension in her shoulders, the minute adjustment of her fingers, the shift in her breathing pattern. 

        *gosub_scene utils calculate_trait_bonus "analysis"
        *if (((adj_mental * 0.5) + (adj_technique * 0.5)) + trait_bonus_applied) >= ((dc_medium * 0.5) + (dc_hard * 0.5))
            Katie shifts her weight, a tell in her right heel. There. The base of your neck. Her hands lunge for the nerve cluster.

            You launch forward and crash into her. Your uppercut connects with Katie's chin with a thud that vibrates through your arm. Her head snaps back as she crumples to the floor.
            
            The crowd erupts as the referee reaches ten. Then, Katie rises. She tilts her head, gazing at a spot on the floor. After a few seconds, she brightens.

            "Wow! That was an AMAZING uppercut! I didn't see it coming at all!"

            *set match_result 2
            *page_break
            *goto match_conclusion
        *elseif (((adj_mental * 0.5) + (adj_technique * 0.5)) + trait_bonus_applied) >= dc_medium
            You shift your weight to your back foot and take a sharp breath as Katie charges. Then you drive forward, your jab aimed at her chest. But she twists impossibly fast. You graze her shoulder, disrupting her technique but not stopping it completely. Her fingers land on your extended arm, sparking a burst of electric pain.
            
            "Excellent counter-timing!"
            
            You weave to the side. Katie's calmed down, her breathing back to normal.
            *set fight_momentum -1
        *else
            You lunge forward with a body jab just as Katie starts her charge. It's a critical miscalculation. You miss completely as Katie twists to one side.

            *goto total_sensory_override
    #Dodge and create distance.@{fight_vision  [i](Toughness, Mental)[/i]|}
        Your legs tense as she charges forwards. Everything goes silent. All that reaches you is the squeak of shoes on the canvas.
        
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * dodge_level)
        *if (((adj_toughness * 0.6) + (adj_mental * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= dc_medium
            The split second when she extends her arms, you leap backwards. Katie misses completely, and her momentum carries her forward. She stumbles and recovers her balance, but you don't advance. You stay out of her reach.

            Her breathing returns to normal, and her movements slow. You spot the opening and capitalise with a ${flurry}, landing several clean hits that rock her head back.
            *set fight_momentum +2
        *else
            You attempt to create distance, but Katie adjusts her angle as she advances. She reaches you before you can reset, her fingers already extending.
            
            *goto total_sensory_override
*page_break

*if fight_momentum >= 5
    The bell cuts through the air. Three rounds, supposedly. It felt like one long blur. You drop your gloves a little. Katie straightens her posture, rolling her shoulders with a satisfied smile.

    "So fun! You compensated for nerve interference while maintaining strategic control. That's [i]really[/i] rare!"

    The judges tally their scores. You and Katie step to the centre as the referee raises his hand.

    "Winner by unanimous decision: ${first_name} ${last_name}!"
    *set match_result 2
*else
    The bell cuts through the air. Three rounds, supposedly. It felt like one long blur. You drop your gloves a little. Katie straightens her posture, letting out a contented sigh.

    "So fun! You compensated for nerve interference while maintaining strategic control. That's [i]really[/i] rare!"

    The judges tally their scores. You and Katie step to the centre as the referee raises his hand.

    "Winner by unanimous decision: Katie Reynolds!"
    *set match_result 1
*page_break
*goto match_conclusion

*label total_sensory_override
Katie methodically strikes points all over your body. Light taps, all of them. No fire. Maybe you've adapted?

You extend your arm in a jab. Or you try to. Instead, your arm shoots straight up over your head. Katie's standing in front of you, hands on hips, as she leans in to look at your shoulders.

You try to step back to maintain range, but your leg pushes off sideways, and then the canvas is under your back and you're staring at the rafters.

"It's really more of a motor scramble, but they said Total Sensory Override sounds cooler!" Every word reaches your ears clean. You thrash around, arms and legs swinging, none of it helping.

Katie stands over you, eyes bright, jotting down notes on the scratchpad she's conjured from somewhere.

"...seven... eight..."

Forget it. You just lie there.

"...ten!"

The referee waves his arms. "Winner by knockout: Katie Reynolds!"

Katie taps a few points on your body. Something releases. You roll your shoulders, turn your ankles, raise your arms. All good.

*page_break
*set match_result 1
*goto match_conclusion

*label match_conclusion
*if match_result = 1
    You check: feet, knees, hips, shoulders, neck. Eyesight. Hearing. All normal.

    Katie scans you with her eyes, from your legs to your hands to your face. Then away.

    "That... might have been too much," she stammers. "I was too —"

    She exhales sharply. "No, I shouldn't make excuses. I got carried away. Forget the data. Are you okay?"

    She presses a foil packet into your glove. "Chew, don't swallow," she adds, managing a smile. "Electrolytes. Works best if you hydrate soon, too."

    She lingers, biting her lip, eyes staring at you slightly too long before she looks away.

    "You know..." she starts, then trails off. She brushes her ponytail, wipes a hand over her headband.

    "I can show you how to build resistance. How to process pain. The university lab's quiet on weekends."

    She's walking towards the officials, but she glances back one last time.

    "Text me if your limbs don't listen," she calls out. "Although that usually fades in, like, two hours tops."

    Then she's gone.
    *set record_losses +1
    *set katie_result "loss"
*elseif match_result = 2
    Katie straightens unsteadily. A bruise is forming along her jaw, but she has a huge grin on her face, eyes crinkling.

    "Wow! You're an amazing fighter! You instinctively knew what to do. And your proprioceptive awareness is extraordinary!"

    She bounds over to her gym bag and pulls out a flyer, half-crumpling it in her enthusiasm. "Okay, listen. This might sound weird, but I [i]need[/i] you to come to my lab. I'm running a research study on neural adaptation and your resilience is [i]off the charts[/i]."

    She takes a deep breath and then rushes out more words. "I made some notes during our fight, but if you came in, then... look, just trust me, you'll love it."

    Katie's practically vibrating, bouncing on her toes, fidgeting with her headband. She presses the flyer into your hand. "PAIN: IT'S ALL IN THE MIND" in Comic Sans, anatomical sketches, tiny footnotes, and a glittering unicorn sticker in the corner.

    "No obligation. Except, you know, you would really benefit, too, because I can help you increase your pain thresholds. My thesis is on this stuff!"

    She cuts herself off. Looks down at the floor, biting her lip.

    Noticing that you haven't moved yet, she slowly raises her eyes. "You're... still here. Still listening to me."

    She smiles for a second, then it fades. "Thanks for not walking away."

    The grin reappears. "Anyway! See you soon! Bring snacks if you can. The lab vending machine only has bottled water."

    Then she's gone.
    *set record_wins +1
    *set katie_result "win"
*else
    *bug Unknown match result
*set katie_subplot_status "available"
*set katie_unvisited_timer 0
*return