*save_checkpoint ch4
*set checkpoint4 true
*set fight_opponent_name "Chloe"
*set current_month "July"
*set epithet "barbecue attender"
Chapter 4: Chloe "Wildcard" Wong

Saturday, 29 June 2024

Your flat feels small this morning. You stay in bed, letting the weight of yesterday's fight press down.

*if (highest_trait = "analysis")
    It was technically a victory, but there's still one variable you couldn't calculate. Danny's serenity wasn't fear, showmanship, or discipline. An outlier that doesn't fit any pattern.
*elseif (highest_trait = "composure")
    It was technically a victory, but you're still off balance. Danny was calm, too calm. It wasn't defensive. It had nothing to do with victory or defeat. Just a quiet presence. You can't reduce it to a single aspect, like Eric's fire or Katie's precision.
*elseif (highest_trait = "empathy")
    It was technically a victory, but it didn't feel like one. One moment stands out: how Danny welcomed it. He wasn't stoic, wasn't proud. He was just there, his presence unchanged by victory or defeat.
*else
    *bug Invalid trait

Danny hits the canvas from your combination. He rises. Again and again he rises, undisturbed by the punishment. The scene keeps replaying throughout the day, pushing aside memories of Eric's blazing techniques and Katie's pressure point manipulation.

*page_break
Monday, 1 July 2024

Today is your office team barbecue. Someone's cousin got to Tai Mei Tuk Barbecue Area early and claimed a pit for the July 1 holiday. Now, twenty of your colleagues are sweating under a metal roof, half-heartedly waving paper fans as they crouch over glowing charcoal. The weather is oppressively humid, but the charcoal pit radiates dry heat, a sauna and steam bath at once. Sweat seeps through your clothes.

Fishballs shrivel on bamboo skewers, pineapple rings char at the edges, foil-wrapped corn cobs hiss, salty steam mixes with clouds of soot. Hot dogs in plain buns, slathered with sweet chilli sauce. A woman hands you a skewer of honey-drizzled white bread, the edges charred black. "You have to try this," she says, like it's a normal thing to eat. Charcoal, sugar, meat juice, citrus.

"Nice, ${first_name}," someone says, glancing at your arms. "Still keeping up the boxing?"

"Looking strong," another adds, with a half-laugh that trails off. You smile, say something about early mornings and discipline, and they nod. Impressed, maybe, or just not sure what to say. It's not unfriendly. Just a small gap that didn't use to be there. 

After a moment, someone asks if all the training still leaves you much time to see people.

*fake_choice
    #"I should catch up with my old friends sometime."
        "I should catch up with my old friends sometime."

        "Yeah, always good to see old friends."

        "Yeah."

    #"I don't mind. I've always liked keeping to myself."
        "I don't mind. I've always liked keeping to myself."

        "Don't we all! Always need some of that alone time."

        "Yeah."

    #"I still see everyone at work."
        "I still see everyone at work."

        "Exactly! And you know what they say, there's no 'I' in 'team'. So true."

        "So true."

Someone calls you over to help toast more bread, and the moment passes.

*page_break

Tuesday, 2 July 2024
*gosub_scene utils show_stats

"July card scheduled. Chloe 'Wildcard' Wong at The Cauldron. 27th, 9pm."
*if (eric_subplot_scene > 2)
    The name rings a bell. You remember a woman named Chloe barging into Eastside and provoking Eric.

Coach Lam frowns. "Chloe Wong? They say she's a rich kid playing at being a fighter. But she's complicated. Dangerous in her own way."

"How so?" you ask.

He pauses. "She might look like a wild one, but she's technically skilled. And she particularly enjoys fighting at The Cauldron. Be prepared for anything to happen." He breaks eye contact and looks out the window.

You search online but find few details about Chloe. There are a few clips showing a young woman wearing designer athletic gear that looks worn and dirty. You can't tell if she's untrained, improvising, or baiting mistakes from her opponent. The forums describe her as the "forgotten child of some property tycoon", someone with something to prove, who fights recklessly and isn't afraid to cross lines. She's "erratic but effective", a "chaotic performer" who hides solid Muay Thai fundamentals. You scribble a few of the phrases on your wall calendar.

*if highest_trait = "analysis"
    You review the clips. Her timing is wrong on purpose. Strikes landing too early or too late, to disrupt the opponent's rhythm.
*elseif highest_trait = "composure"
    You can see it on her face. She's trying to unsettle the opponent, to provoke a flinch, a hesitation. To sow doubt.
*elseif highest_trait = "empathy"
    She fights like she wants to throw the opponent off balance, physically and emotionally. Not going for a straight-line route to victory.
*else
    *bug Invalid trait

*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
Monday, 15 July 2024
*gosub_scene utils show_stats

Two weeks left. It's frustratingly hard to picture what this fight will be like. You come across another video, this time of a gym session. Chloe leans back for a wild haymaker, grin plastered on her face, arm windmilling in exaggerated circles. Her eyebrows narrow and she swings forward, but the haymaker transforms into an elbow slash. Just before it reaches her sparring partner's face, she pulls back and laughs.

It's hard to square the image of a spoiled rich kid with what you see of her Muay Thai training. In another fight, you see her start with clean teeps and roundhouses, before devolving into haymakers, ineffective knees, and stumbling around. Serious fighting, and also performance art. Maybe that's how you should approach this too.

And despite your efforts to find out more, The Cauldron remains a mystery. One forum post notes, "Fights at The Cauldron always feel like they're about to spiral out of control."

You finish your drills and notice that the gym feels different today. The usual smacks and thuds have been replaced by quiet, broken only by the whirring of the overhead fan. Even your own breathing sounds too loud. As you pack up, Coach Lam lingers by the equipment rack, adjusting hand wraps that don't need adjusting.

"Names are disappearing from the fight sheets," he mutters. "Happening in a few places. No one's talking."

He doesn't say anything more as he winds the hand wraps into a neat roll.

*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
Saturday, 27 July 2024
*gosub_scene utils show_stats

*if (boxing_insights_unspent > 0)
    *gosub_scene upgrades spend_insight_choices

Tonight's card: Chloe "Wildcard" Wong. A chaotic Muay Thai fighter, impossible to read. Maybe an heiress. And you're fighting her at The Cauldron.

You've drilled the fundamentals, rehearsed the fight from every angle. Nothing helps.

The ride to Sheung Wan is short tonight, the carriage less crowded. At the station, the escalators stretch up and up and up. Wing Lok Street opens out to the roadside, the night suffocating with its wet heat, the air tasting of salt and dried squid as the last of the seafood shops close for the day. Heat radiates from the pavement. You check your reflection in a metal nameplate. Ready for battle.

You follow the directions down a side street, then into a small alley. No signs, just a grey door, thick and uneven with splotched paint. Bass leaks out from under the door and up through your bones. A whiff of cigarette smoke. Your hand rests lightly on the handle, the metal still warm.

You already know this fight won't go according to plan.
*if highest_trait = "analysis"
    Too many variables.
*elseif highest_trait = "composure"
    But the point is to outlast the chaos and stay standing.
*elseif highest_trait = "empathy"
    Everything feels off.
*else
    *bug Invalid trait
You step through anyway.

*page_break Chloe "Wildcard" Wong.
*gosub chloe_fight
*gosub_scene utils first_loss_notification
*finish End of Chapter 4.



*label chloe_fight
*temp dc_easy 13
*temp dc_medium 17
*temp dc_hard 23
*temp struggle_physical 0
*temp struggle_emotional 0
*temp struggle_insight 0
*temp struggle_total 0
*temp struggle_time 0
*temp struggle_trait_bonus 0
*temp difficulty_check 0
*temp no_quarter_state "unaffected"
*set fight_momentum 5
*set trait_bonus_amount 2
*set upgrade_multiplier 4

The door clicks shut behind you, deadening the street noise. The Cauldron. It looks like it was once a yoga studio, with a waxed wooden floor and tall mirrors along one wall. Now, the mirrors are cracked and pasted over with promotional flyers and fight cards, while the floor is gouged and scarred. Noisy, rusting tower fans churn at the corners, and below each one is a battered speaker that thumps bass through your ribs.

At the centre is a Muay Thai ring, seven metres square. Worn canvas, four rows of ropes in red and blue, corner posts wrapped in dirty padding. A row of thin metal barricades separates the ring from the crowd, the kind the city stockpiled and never quite put away. The air conditioner wheezes from a single ceiling unit, losing to the July heat and the crowd of about a hundred spectators. Cantonese fills the air, expletives and banter tossed back and forth.

The referee's at a folding table set against the far wall. He's glued to his phone as he shoves the last bite of a [i]char siu bao[/i] into his mouth. His official T-shirt sports a name badge with "REFEREE" printed on it, and hangs untucked over his food-stained jeans.

*choice
    #Sense the energy in the room. See what the crowd is looking for.
        *gosub_scene utils increase_empathy
        You survey the crowd from your corner. They're on edge, more than you'd expect. Their eyes dart around. A few of them size you up.

    #Shut out the noise. Concentrate on the fight.
        *gosub_scene utils increase_composure
        You straighten up in your corner of the ring, ignoring the commotion. Cracked mirrors, casual refereeing, metal barricades. Different, but it doesn't change what you're here to do. You breathe out and centre yourself.

    #Review the arena: the crowd, acoustics, layout.
        *gosub_scene utils increase_analysis
        The crowd shouts and jostles, but they're separated from the ring by the barricades. The music is excessive, but it won't matter after the opening bell. The referee's table is far from ringside.

Heads turn towards the entrance. Voices yell and scream, but it sounds more like habit than surprise.

Chloe "Wildcard" Wong bounces through the doorway, her footsteps landing hard and loud on the wooden floor. She's around 5'4", maybe early twenties, lean but solid. Her hair's in a blunt bob, sections clipped back with black snaps, the rest stiff with gel that reflects the harsh white light.

She's wearing a beige Lululemon sports bra, the logo ripped off with just the outline visible. The leather on her MMA gloves is flaking off. Her Muay Thai trunks are real silk, but they're frayed and worn.

She spots you. "Someone new! This will be fun." Her Cantonese sounds too clean, like she learnt it from TV.

She shadowboxes in place, exhaling loud "Sshh sshh! Soo soo!" sounds with her punches. The crowd cheers. Someone yells her name. She blows a kiss at the ceiling above them.

You slip through the ropes. Chloe vaults over them and lands awkwardly, tripping over her own feet before snapping upright. She flashes you a smile.

The referee's made his way to ringside. He taps his microphone, which makes the speakers squeal painfully. Sighing loudly, he switches off the mic and mumbles at the floor. "Okay. Wong versus ${last_name}."

He waves his hand once, barely lifting it past his waist. "Fight."

*page_break
*if (eric_subplot_scene > 2)
    Chloe bounces on her toes, hands loose at her sides. "Wait, wait, wait," she says, switching to English. "You're Eric's star pupil."

    She throws a wild haymaker without even trying to close the distance. You don't bother responding.

    "Did he teach you that meditation crap yet?" She launches an elbow strike, again at empty air, then steps back and grins. "Harmony this, harmony that. Like, please."
*else
    Chloe bounces on her toes, hands loose at her sides, then switches to English. "You're that office drone who beat Danny Chan last month? Wow, standards have really dropped."

    She throws a wild haymaker without even trying to close the distance. You don't bother responding.

    "Let me guess, you found your inner peace after beating him?" She launches an elbow strike, again at empty air, then steps back and grins. "So spiritual now."

You circle, guard up. Her stance shifts from orthodox to southpaw and back, the weight distribution all wrong. You advance, lead hand ready, but she drifts to the side and the angle closes.

*gosub_scene utils show_fight_momentum

*choice
    #Establish your ${jab} and control the range.@{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.7) + (dc_easy * 0.3))
            *set fight_momentum +1
            Your ${jab} snaps out as she saunters into range. She twists away at the last second and it barely clips her face. She wipes her mouth with the back of her glove, grinning.

            *if eric_subplot_scene > 2
                "Textbook jab. Eric would be so proud."
            *else
                "Jab. So interesting. Show me the one-two next!"

            She fires a quick, lazy elbow that you absorb on your guard, then skips back out. Still bouncing, still talking.
        *else
            *set fight_momentum -1
            Your ${jab} snaps out as she ambles forward, but she isn't where you expected her to be. Her sloppy footwork carries her inside, and a knee drives up. You lean back, but it still lands on your ribs with a dull thud.

            "Whoops!" she laughs, skipping back out. "Lucky shot!"

    #Pressure her with your ${flurry} and force her to respond.@{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 wait until she switches her stance again, and rush forward with your ${flurry}. Caught square, she backpedals, her guard snapping tight. Your shots land on her arms and shoulders, one of them finding her ribs. She's no longer laughing.

            She stumbles, foot snagging on nothing. You advance —

            And her rear foot plants hard. The stumble flows into a forward drop. Arms wrap around your neck. She shoves you to the side, creating space again.

            "Easy with the punches there, champ," she calls out. Her eyes remain sharp.
        *else
            *set fight_momentum -1
            You rush forward with your ${flurry}, but she slips one way, dodges another, bobs and weaves. You can't pin her down, and she's throwing out wild counters that somehow make it past your guard.

            "Easy with the punches there, champ," she calls out. You launch another flurry, but she's already gone, dancing to the side as she tags you with a careless hook. A teep catches you in the stomach, pushing you back. She winks at you with a crooked grin on her face.
    #Study her patterns, reading what's bait and what's real.@{fight_vision  [i](Mental, Technique)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *if (((adj_mental * 0.7) + (adj_technique * 0.3)) + trait_bonus_applied) >= dc_medium
            *set fight_momentum +1
            You hang back, watching. There. She moves her weight back when showboating, pushing the distance. But it locks her in place.

            She turns her head and shoulder for an exaggerated spinning backfist. All show — her back leg is rooted. You dart in and land a clean body hook.

            "Oof!" She winces, breath hissing out. Then she beams at you. "You can read!"

        *else
            *set fight_momentum -1
            You hang back, watching. You can't spot any pattern. Roundhouse kicks, low kicks, she doesn't let you maintain range.

            "Try to keep up!" she laughs, mixing in punches and elbows from all angles as she advances. The barrage forces your arms up. As you're watching high, a teep catches you in the stomach, pushing you back and forcing out your breath.

"You're fun," she says during a brief separation. She's not even breathing hard. Her gaze flicks to your midsection before she looks back up.

She flashes you a grin, eyes too bright to match the smile. But low kicks keep peppering you, chopping at your thigh. You're forced to square up, losing your natural angles. The grin is still there, like she forgot to drop it, even as the kicks keep coming.

*gosub_scene utils show_fight_momentum

*choice
    #Read her mood. "You're enjoying this."
        *gosub_scene utils increase_empathy
        Chloe pauses, eyebrows narrowed. A flash in her eyes.

        Then the grin returns. "Of course I enjoy fighting against such a worthy opponent!"

        Hard to tell if she's mocking you.

    #Stay silent and adapt.
        *gosub_scene utils increase_composure
        *set chloe_friendship +1
        You adjust: tighter guard, careful distance management, controlled pressure. Chloe notices.

        "Switching gears? Good." She bounces on her toes, hands out in a long guard.

    #Wait for her to show off, and exploit the openings.
        *gosub_scene utils increase_analysis
        *set fight_momentum +1
        You hang back, reading her movements. Chloe shuffles forward — you tag her with a step jab.
        
        "Hey! That's not fair?" Her voice pitches higher.

        She drops for a low kick, but retreats the moment you move in. She's already adjusted.

She comes at you again, jab into roundhouse, guard snapping into place to receive your counterpunch. She slips your cross, peppers you with two body shots that you barely block.

Clean, sharp strikes. She closes in and floats away. You can see it happen, but your feet can't keep up.

Then the bell rings, ending the round.

*page_break

You exhale out of habit. Your arms relax by your sides.

Then you notice Chloe hasn't moved.

Slow, quiet steps in your direction.

The referee's untangling a pair of over-ear headphones. He slips them on and bops to an invisible beat. From his trouser pocket, he pulls out a cardboard "Do Not Disturb" sign and slips it over his microphone like it's a hotel doorknob.

You don't register the sweep until you're already down.

Your back hits the mat and the air goes out of you. The canvas smells of sweat and disinfectant. Then she steps up. [i]Onto[/i] you.

*page_break
One foot across your stomach, the other lengthways up the centre of your chest. Her knees are bent, ready.
*if (highest_trait = "composure")
    *set struggle_trait_bonus 2
*else
    *set struggle_trait_bonus 0
*if ((adj_toughness * 0.6) + ((adj_mental * 0.4) + struggle_trait_bonus)) >= ((dc_medium * 0.6) + (dc_hard * 0.4))
    *set struggle_physical +1
    *set struggle_emotional +1
    You brace in time. You can still breathe, but not deeply.
*else
    You don't brace in time, and her foot sinks in. It takes several breaths before your abdomen tightens.

You're pinned to the canvas. The crowd doesn't cheer. Silence. The only sound is the rattle of the air conditioning and your breathing.

It's not a crushing weight; it just doesn't let up. You don't know what's going on. Is it punishment? Performance?
*set fight_momentum -1

*label struggle
*set struggle_time +10
*if (struggle_time <= 10)
    *page_break Pinned.
    Chloe's weight presses down into you. Most of it stays over your stomach, but when you get ready to move, she presses onto your chest as well.

    You draw in a breath, and only get half.

    "You're feeling something," she says.

    You should throw her off. But you're flat on the canvas. You have nothing to push against.

    *gosub_scene utils show_fight_momentum

*elseif (struggle_time <= 20)
    *page_break Still pinned.
    Chloe looks down at you, and a small smile forms on her lips. She's looking through you.

    Your limbs feel heavy. Your abdomen shakes.

    She shifts forward and the pressure evens out. Your muscles relax. She nods, then her weight settles back. Your abdomen stops shaking. Maybe there's enough for one more attempt. Why did she do that?

    *if (struggle_emotional >= 2)
        You catch a glimpse of her face, her eyes looking straight into yours.
    *else
        Despite your efforts, she remains on top of you.

    Out of the corner of your eye, you see the referee fumbling with his headphones, like he's trying to remember why he's here.

    *gosub_scene utils show_fight_momentum

*elseif (struggle_time <= 30)
    *page_break Time passes.
    Sweat slicks your back. You're still pinned. So you stay like this? Just lie here, with a woman using you like a doormat, a silent crowd watching, a referee doing his own thing?

    She's had plenty of time to step off. She hasn't.

    Chloe's stopped adjusting. Her smile is flat now, closer to a frown.

    The referee has finally removed his headphones. He's staring blankly at the "Do Not Disturb" sign on his microphone like he's trying to remember what it's for.

    You could try one last time.

    *gosub_scene utils show_fight_momentum

*else

    *gosub_scene utils show_fight_momentum

    *page_break Move on.
    *goto round_2

*choice
    *hide_reuse #Focus. Steady yourself first.@{fight_vision  [i](Toughness, Mental)[/i]|}
        *if (highest_trait = "composure")
            *set struggle_trait_bonus 2
        *else
            *set struggle_trait_bonus 0
        *if (((adj_mental * 0.5) + (adj_toughness * 0.5)) + struggle_trait_bonus) >= ((dc_easy * 0.5) + (dc_medium * 0.5))
            *set struggle_emotional +2
            You take the breath you can get. Again. And again.

            You're not getting up. But you can feel your breath, feel your muscles.

            Chloe notices.

            "Most people panic. They thrash around," she says.

        *else
            *set fight_momentum -1
            You take the breath you can get. You reach for the next one.

            But your body won't wait. Quick, shallow breaths, each one coming before the last has left. Your hips load for a bridge, nothing else ready. Your calves are burning and you haven't moved.

            Chloe notices.

            "That's the right idea. You should relax," she says.

        *goto struggle

    *hide_reuse #Try to understand why she's doing this.@{fight_vision  [i](Mental, Technique)[/i]|}
        *if (highest_trait = "analysis")
            *set struggle_trait_bonus 2
        *elseif (highest_trait = "empathy")
            *set struggle_trait_bonus 1
        *else
            *set struggle_trait_bonus 0
        *if (((adj_mental * 0.6) + (adj_technique * 0.4)) + struggle_trait_bonus) >= ((dc_easy * 0.4) + (dc_medium * 0.6))
            *set struggle_insight +2
            Chloe settles, adjusting her position. Keeping the pressure steady, not driving it in.

            She's tracking your responses, her weight riding your hips, going where they go. She's reading you through her feet, shifting when you load, not when you fire.

        *else
            *set struggle_insight +1
            Chloe settles, adjusting her position. Keeping the pressure steady, not driving it in.

            Her weight shifts when yours does. There's nothing for you to push against.

            What is she looking for? You can't be sure. 

        *goto struggle

    *hide_reuse *if (struggle_time >= 20) #Let her get comfortable. Then try to disrupt her balance.@{fight_vision  [i](Power, Toughness)[/i]|}
        *if (highest_trait = "empathy")
            *set struggle_trait_bonus 2
        *else
            *set struggle_trait_bonus 0
        *if ((adj_power * 0.6) + ((adj_toughness * 0.4) + struggle_trait_bonus)) >= ((dc_medium * 0.9) + (dc_hard * 0.1))
            *set struggle_insight +1
            *set struggle_physical +1
            You go still, just shallow breaths, nothing else. Her weight eases back.

            That's when you move. A quick jerk of your hips to one side, the most you can manage under her weight.

            The foot on your stomach skids off. She drops into a crouch, one glove flat on the canvas.

            Your abdomen unclenches and you breathe in deep. But the foot on your chest hasn't moved, and you haven't moved either. Then she plants her foot across your stomach again and rises.

            "Oh wow, didn't see that one coming. Sneaky." Her arms come out to the sides.

        *else
            *set fight_momentum -1
            You go still, just shallow breaths, nothing else. Then you move. You try for a quick jerk of your hips to one side, the most you can manage under her weight.

            Nothing. Your hips are still gathering when Chloe's knees drop.

            "I'm paying attention," she says. Just stating a fact.

        *goto struggle

    *hide_reuse #Try to push her off with your hands.
        *set fight_momentum -1
        Your hands go up before you decide anything. Gloves pressing against her shins, trying to shove her off, elbows locking, shoulders pushing.

        But there's nothing behind your arms. Chloe bends her knees, and your gloves slide down her shins.

        "Really..." she says, watching your arms tremble with exertion.
        
        Your strength fades. Your arms come down, and no one makes a sound.

        *goto struggle

    *hide_reuse *if (struggle_emotional >= 1) #Go limp and feign surrender. Maybe she'll lose interest.@{fight_vision  [i](Toughness, Mental)[/i]|}
        *if (highest_trait = "empathy")
            *set struggle_trait_bonus 2
        *elseif (highest_trait = "analysis")
            *set struggle_trait_bonus 1
        *else
            *set struggle_trait_bonus 0
        *if (((adj_mental * 0.5) + (adj_toughness * 0.5)) + struggle_trait_bonus) >= ((dc_easy * 0.4) + (dc_medium * 0.6))
            *set struggle_emotional +1
            *set struggle_insight +1
            You let everything go slack. Your eyes lose focus, your limbs sag. Chloe notices. Her weight shifts, testing if you'll respond. You don't react. 

            "Still there?" she says. She doesn't sound satisfied.

            She stands straighter and stops moving. The pressure spreads out.

        *else
            *set struggle_emotional +1
            *set fight_momentum -1
            You let everything go slack. Your eyes lose focus, your limbs sag. Chloe notices. Her weight shifts, testing if you'll respond. You don't react. 

            "Still there?" she says. She doesn't sound satisfied.

            She stands straighter and stops moving, and the pressure eases. But the pretending becomes real. You sink into the canvas and stay there.

        *goto struggle

    *hide_reuse #Thrash around blindly. Just get her off you.
        *set struggle_emotional -1
        *set fight_momentum -1
        Arms flail. Legs jerk.

        Chloe's ready for everything you throw. Your breaths get shorter and your legs start to burn. She stays exactly where she was.

        "No," she says, her voice flat. "That won't work."

        *goto struggle

*label round_2
*set struggle_total (struggle_physical + (struggle_emotional + struggle_insight))
*if (struggle_total >= 4)
    *set no_quarter_state "unaffected"
*elseif (struggle_total >= 2)
    *set no_quarter_state "holding"
*else
    *set no_quarter_state "rattled"
The referee heaves himself up from his seat and shuffles over to the ring. Chloe steps off without looking down, one foot after the other.

"Don't rush it," she says, as she strolls back to her corner.

You don't move yet. Sensation comes back: hands, forearms, feet, calves. Your stomach is tender. A flash of pain in your chest, then it's gone.

The referee ambles over and sees you splayed out on the canvas. "Cannot lie down. House rules ah."

He sighs wearily and motions with his hand for you to get up. Then he turns away, walking back to the referee table, without bothering to see if you obey.

You slowly stand up. A brief dizziness that fades in seconds.

A few people clap. The applause dies out. You wonder if they were even watching.

*page_break
The bell rings. Round two.

*if (no_quarter_state = "rattled")
    Your breaths come short, your hands clench and unclench. You try to focus, but your eyes keep going to her corner.
*elseif (no_quarter_state = "holding")
    You test your body. Everything's working, but your body responds late. You roll your shoulders, trying to shrug it off.
*elseif (no_quarter_state = "unaffected")
    You test your body. Breath steady, core functional. It's not slowing you down. Time to process it later. Right now, it's time to fight.
*else
    *bug Invalid no_quarter_state

Chloe bounces on her toes, shifting her weight from side to side, hips loose, as she moves forward. She watches you, eyebrows raised, smiling slightly.

She's almost within range, and her arms are still down by her sides.

*choice
    #Tag her with a ${combo}. Punish her overconfidence.@{fight_vision  [i](Technique, Power)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * combo_level)
        *if (no_quarter_state = "rattled")
            *set difficulty_check ((dc_medium * 0.9) + (dc_hard * 0.1))
        *elseif (no_quarter_state = "holding")
            *set difficulty_check ((dc_medium * 0.9) + (dc_easy * 0.1))
        *elseif (no_quarter_state = "unaffected")
            *set difficulty_check ((dc_medium * 0.8) + (dc_easy * 0.2))
        *else
            *bug Invalid no_quarter_state
        *if (((adj_technique * 0.6) + (adj_power * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= difficulty_check
            *set fight_momentum +1
            You seize the chance, your ${combo} snapping out on reflex. The snap jab catches her clean on the cheek, although the cross glances off her shoulder as she weaves. Your final hook lands on her ribs with a thud.

            Her hands are back up now. Her eyes brighten as the corners of her mouth twitch up.

        *else
            You seize the chance, your ${combo} snapping out on reflex. The snap jab skids off her cheek, the cross glances off her shoulder as she weaves, and your final hook thumps into her forearm.

            Her hands are back up now. The corners of her mouth twitch up, then flatten again. She lets out a short breath through her nose.

    #Launch into a ${flurry}, taking the initiative.@{fight_vision  [i](Power, Toughness)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *set upgrade_bonus (upgrade_multiplier * flurry_level)
        *if (no_quarter_state = "rattled")
            *set difficulty_check ((dc_medium * 0.9) + (dc_hard * 0.1))
        *elseif (no_quarter_state = "holding")
            *set difficulty_check ((dc_medium * 0.9) + (dc_easy * 0.1))
        *elseif (no_quarter_state = "unaffected")
            *set difficulty_check ((dc_medium * 0.7) + (dc_easy * 0.3))
        *else
            *bug Invalid no_quarter_state
        *if (((adj_power * 0.6) + (adj_toughness * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= difficulty_check
            *set fight_momentum +2
            You seize the opening and unleash with your ${flurry}. Your punches fly fast and find her ribs, her chest, her shoulder. She absorbs the blows, her stance loose, watching your face more than the punches. She takes her time raising her guard.

            Eventually she shells up, elbows tight, waiting. You summon the strength for another flurry that pounds against her arms.

            Your energy spent for the moment, you back away. She resets, and her eyes brighten as the corners of her mouth twitch up.

        *else
            You seize the opening and unleash with your ${flurry}. Sloppy punches, but a few land on her chest and shoulder. She absorbs the blows, her stance loose, watching your face more than the punches. She takes her time raising her guard.

            Eventually she shells up, elbows tight, waiting. Your energy spent for now, you back away. She resets, and the corners of her mouth twitch up, then flatten again. She lets out a short breath through her nose.

    *selectable_if (counter_level > 0) #Watch for a trap and prepare your ${counter}.@{fight_vision  [i](Mental, Technique)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *set upgrade_bonus (upgrade_multiplier * counter_level)
        *if (no_quarter_state = "rattled")
            *set difficulty_check ((dc_medium * 0.9) + (dc_hard * 0.1))
        *elseif (no_quarter_state = "holding")
            *set difficulty_check (dc_medium)
        *elseif (no_quarter_state = "unaffected")
            *set difficulty_check ((dc_medium * 0.9) + (dc_easy * 0.1))
        *else
            *bug Invalid no_quarter_state
        *if (((adj_mental * 0.6) + (adj_technique * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= difficulty_check
            *set fight_momentum +2
            You scan her limbs, eyes flicking from arms to legs, looking for a trap. Chloe leans forward, her right arm beginning to rise from her hip. A clinch attempt?

            You drive forward with a single, sharp body cross. It hits her square, landing on her upper chest with a solid thud. She rocks back half a step. You reset.

            She raises her guard slowly. Her eyes brighten as the corners of her mouth twitch up.

        *else
            You scan her limbs, eyes flicking from arms to legs, looking for a trap. Chloe sways slightly, then it looks like her right arm is starting to lift. You're not sure if it's a strike, a clinch attempt, or something else.

            You snap out with a jab. No power, but fast, ready to respond to whatever she does.

            It grazes her in the temple, then slides off as she twists away. She steps back and raises her guard. The corners of her mouth twitch up, then flatten again, and she lets out a short breath through her nose.

*if (no_quarter_state = "rattled")
    Chloe's eyes lock on to your feet. It seems like she can read your tension in your footwork, and a hint of a smile appears. Yet she doesn't capitalise. She rises onto her tiptoes, calf muscles taut, and then she pats her ribs with one hand. 

    Seeing you hesitate, she advances with slow steps, watching you steadily.

*elseif (no_quarter_state = "holding")
    Chloe's eyes lock on to your feet. It seems like she can read the lingering stiffness in your footwork, and a hint of a smile appears. 

    Yet she makes no move to close in, instead looking at your chest, observing the cadence of your breath. She advances with the same loose posture as before.

*elseif (no_quarter_state = "unaffected")
    Chloe's eyes lock on to your feet, reading your footwork. Her eyebrows rise as a smile flashes for a moment.

    "Impressive. Good control."

    She tucks her chin and raises her guard as she advances. Careful steps forward.

*else
    *bug Invalid no_quarter_state

The referee trudges over to ringside, glaring at his phone and cursing at it. The spectators at the front lean over the barricades. The air conditioner catches and rattles, then stops completely. You can hear your breath.

*gosub_scene utils show_fight_momentum

*choice
    #Stay tight, waiting for her to overreach.@{fight_vision  [i](Toughness, Mental)[/i]|}
        *gosub_scene utils calculate_trait_bonus "composure"
        *if (no_quarter_state = "rattled")
            *set difficulty_check ((dc_medium * 0.9) + (dc_hard * 0.1))
        *elseif (no_quarter_state = "holding")
            *set difficulty_check (dc_medium)
        *elseif (no_quarter_state = "unaffected")
            *set difficulty_check ((dc_medium * 0.8) + (dc_easy * 0.2))
        *else
            *bug Invalid no_quarter_state
        *set upgrade_bonus (upgrade_multiplier * ((block_level + (dodge_level + counter_level)) * 0.33))
        *if (((adj_toughness * 0.7) + (adj_mental * 0.3)) + (trait_bonus_applied + upgrade_bonus)) >= difficulty_check
            *set fight_momentum +1
            *if (no_quarter_state = "rattled")
                A tightness lingers in your chest. But you remain focused. You block the kicks, slip the punches. Tag her with a jab when she tries for an elbow. Nothing flashy.
            
            *else
                Your defence answers her attempts. Block the kicks, slip the punches. You tag her with a jab when she tries for an elbow, fire a cross counter when she goes for a clinch. Not flashy, but it works.
                        
            She steps back, then fires off a flurry of roundhouse kicks. A dozen of them, quick and repetitive, like a pad drill. They thud against your guard, easily absorbed. You don't respond further.

        *else
            *set fight_momentum -1
            *if (no_quarter_state = "rattled")
                A tightness lingers in your chest. Your forearms take her strikes instead of your gloves. Nothing catastrophic, but she's putting you under pressure.

            *else
                Your forearms take her strikes instead of your gloves. Nothing catastrophic, but she's putting you under pressure.

            She steps back, smiles, then fires off a flurry of roundhouse kicks. A dozen of them, quick and repetitive, like a pad drill. They thud against your guard, easily absorbed, but you're stuck in place.

    #Close in and seize this last moment.@{fight_vision  [i](Technique, Power)[/i]|}
        *gosub_scene utils calculate_trait_bonus "analysis"
        *if (no_quarter_state = "rattled")
            *set difficulty_check ((dc_medium * 0.7) + (dc_hard * 0.3))
        *elseif (no_quarter_state = "holding")
            *set difficulty_check ((dc_medium * 0.9) + (dc_hard * 0.1))
        *elseif (no_quarter_state = "unaffected")
            *set difficulty_check (dc_medium)
        *else
            *bug Invalid no_quarter_state
        *set upgrade_bonus (upgrade_multiplier * ((dodge_level + counter_level) * 0.5))
        *if (((adj_technique * 0.6) + (adj_power * 0.4)) + (trait_bonus_applied + upgrade_bonus)) >= difficulty_check
            *set fight_momentum +2
            *if (no_quarter_state = "unaffected")
                You slip her probes and create angles she doesn't expect. Your shoulders brush the ropes as you pivot out. Each time she thinks she has your timing, you've already shifted. You move efficiently, making her work for every attack.
                
                "Slippery," she spits. You catch her with a hook as she tries to cut off your movement, glove landing with a thud on her cheek. She stumbles back, grinning even as she winces.

                You intercept her with a ${jab}, tagging her before she even starts her counterattack, following it with a hook to the ribs. The glove sinks in, driving a gasp of air from her lungs. "Oof," she coughs, backpedalling before you can capitalise.

            *else
                You force your body to move despite your shallow breath. Sidesteps, pivots, dodges. As much unpredictability as you can muster, making her work for every hit. Her attacks find empty air.
                
                She misses yet another elbow. Kicks become sloppy, punches overextend.
                
                An opportunity. Your cross lands clean on her cheek as she rebalances from a roundhouse, the impact vibrating up your arm.

        *else
            *set fight_momentum -1
            You try to create angles, but your weight doesn't move with your footwork. Your steps land heavy, planting into the canvas. You pivot until you're facing the wrong way. Chloe doesn't even pursue. She just waits for you to stumble into range.
                
            "Interesting boxing," she mutters, shaking her head. She steers you into the corner with basic teeps.
                            
            Ropes press into your back. Another roundhouse thuds into your thigh. Her close-range elbows and knees punish your forearms.

The referee cups his phone closer to his ear, yelling to make himself heard. "Tung Loi Lane, right side. You know the one with the... What do you mean which building? The one next to the 7-Eleven! No, the [i]other[/i] 7-Eleven near the roast goose! Forget it, I'm coming down."

The bell clangs. Then again.

*page_break
The referee finally looks up at the fight, crumbs of [i]char siu bao[/i] still on his shirt. He ambles to the centre of the ring, taps the mic once, decides it isn't worth fixing, and just talks over the house PA hiss.

"Okay la, enough fighting. [i]Aiya[/i], better than last time. Call it a day."

He squints at both of you, flips over a crumpled sheet of paper.

*if fight_momentum >= 6
    *set chloe_result "win"
*else
    *set chloe_result "loss"
*if chloe_result = "win"
    "Winner is... ${last_name}." He reaches for your hand, but then decides it's too much effort. "If you want a photo, hurry up. Air-con expensive."
*elseif chloe_result = "loss"
    "Winner is... Wong." He reaches for her hand, but then decides it's too much effort. "If you want a photo, hurry up. Air-con expensive."
*else
    *bug Invalid chloe_result

He nods to himself, then walks off, engrossed in his food delivery logistics. Chloe is already in her corner, wiping her face with a towel.

You stay standing in the middle of the ring. The canvas feels solid under your feet again. A smattering of applause.

You assumed there'd be another round. But apparently two was enough for the referee.

*choice
    #Accept what happened, then work on recovery.
        *gosub_scene utils increase_composure
        There's no point dwelling on the referee's negligence, Chloe's violation, the crowd's passivity. The damage is superficial: bruised stomach, sore muscles.

        You now know that some opponents will bend the rules. But that's for another day.

    #Wonder why Chloe needed to do that.
        *gosub_scene utils increase_empathy
        The physical damage is superficial: bruised stomach, sore muscles. You remember her intense concentration, how she moved with you.

        The question nags at you. Why does Chloe need this?

    #Analyse what happened here. The fight, the referee, the venue.
        *gosub_scene utils increase_analysis
        The referee's casual indifference, checking his phone before the fight. The perfunctory introductions. The crowd reaction to Chloe's entrance, the nervous laughter. All of this should have triggered more caution. 

Metal chairs scrape the floor as people turn in betting slips. The air conditioning kicks into life. People pick up empty drink cans and food wrappers. Chloe approaches you, expression completely blank, like a security guard at a housing estate.

*if chloe_result = "win"
    *set record_wins +1
    Her shoulders are relaxed. She wipes her mouth with the back of her glove.

    "Congratulations on your win," she says. "You still came back for round two. Most people lose it."
*elseif chloe_result = "loss"
    *set record_losses +1
    She doesn't taunt you. She just nods and wipes her mouth with the back of her glove.

    "You still came back for round two," she says. "Most people lose it."
*else
    *bug Invalid match result

Her eyes refocus on you, and she notices your expression. "I didn't break the rules. You knew where you were fighting."

She steps closer, close enough that you can see a vein in her neck pulsing rapidly.

*choice
    #"That crossed a line. It wasn't fighting any more."
        *set chloe_friendship +1
        You keep your voice level. "That crossed a line. It wasn't fighting any more."

        Her jaw tightens. "You didn't like it."

    #Maintain eye contact. Say nothing.
        *gosub_scene utils increase_composure
        You don't reply. You let the silence stretch. Chloe fidgets with her hair clips, then purses her lips.

        "I know what you're thinking," she starts, but doesn't complete the sentence.

    *selectable_if (struggle_insight >= 1) #"You wanted to see how I'd react under pressure."
        *gosub_scene utils increase_analysis
        *set chloe_friendship +1
        "You were tracking my responses and adjusting to what I did."

        Her eyes widen slightly before she can catch herself. She pauses before she responds. "Maybe." A small frown.

    *selectable_if (struggle_emotional >= 2) #"You kept watching my face."
        *gosub_scene utils increase_empathy
        *set chloe_friendship +1
        "You kept watching my face. More than you'd need to."

        Her eyebrows pull down and her lips press together. "I —"

        She stops, takes a moment to gather herself. "You don't know what you're talking about."


For ten seconds, maybe fifteen, she just watches you. She takes in your stance, your breathing, your hands.

Her fingers fumble with the strap on her right glove. She looks past you towards the exit, where the last stragglers are escaping.

Then she turns back to you. "We should talk. At the Upper House. Not here. I thought maybe —"

She stops.

"I could tell you more."

She pulls a name card from her waistband, slips it to you. "6pm. Text me the day before."

She strides past you to the exit, not looking back to see your reaction.
*if no_quarter_state = "rattled"
    *set chloe_trauma 2
*elseif no_quarter_state = "holding"
    *set chloe_trauma 1
*elseif no_quarter_state = "unaffected"
    *set chloe_trauma 0
*else
    *bug Invalid no_quarter_state
*set chloe_subplot_status "available"
*set chloe_unvisited_timer 0
*return