<p>You head to the gloryholes after the bartender informs you about "the lady waiting." Knowing that behind the wall, there is a less-stable almost-crazy chick is concerning, but you put your dick in a hole anyway, hoping for the better.</p>
<<speech "Adriana" "Finally, you here... it is you, right?">>
<p>You're not in the mood for talking and simply nod - with your massive dick that quickly gets enveloped by Adriana's cock-hungry mouth.</p>
<<video "img/adriana/gloryhole/1_bj.webm" >>
<<speech "Adriana" "Glog, glog, glog!">>
<p>You can recognize this mouth already and assume that Adriana can identify you by your dick as well. Not wasting much time, she switches from a blowjob to a full-on deepthroat you practiced a lot at her place. You trained to be such a good cocksucker that she could become a pretty popular girl in this establishment...</p>
<<video "img/adriana/gloryhole/2_ff.webm" >>
<<speech "Adriana" "Oh fuck... I'm so full... OH MY GAWD! YES, YES, YES!">>
<p>Something changes, and you feel how your dick slides into something hot, tight, and very wet - finally, you've untapped this pussy. Adriana was right to properly stretch herself before attempting to fit your monster cock inside - now, she can easily take your full length while still being comfortable and tight. She has complete control over how deep and fast she can go, but it seems unnecessary - next time, you'll be balls deep inside her cunt, and she will beg for more.</p>
<<video "img/adriana/gloryhole/3_pussy.webm" >>
<<speech "Adriana" "Yeah, I'm cumming, cumming, ughhh!">>
<p>This is new - after an intense fucking Adriana pulls your dick out and squirts right on it, abundantly cumming all over your manhood and the wall. She THAT much enjoys proper pussy fucking, and you have a suspicion she'll be booty calling you often from now on.</p>
<<video "img/adriana/gloryhole/4_squirt.webm" >>
<p>You warn Adriana that you're about to cum, and she gets on her knees and jerks off your dick - covered in her smelly squirt and slimy pussy juices - until you unload your semen on her tongue. Bratty hacker could not be happier, but you also had your best visit to the gloryhole so far.</p>
<<video "img/adriana/gloryhole/5_cum.webm" >>
<p>You give Adriana some time alone to take a breather and return to the bar. On your way out, you meet some white dude heading to the gloryhole:</p>
<<speech "White dude" "Hey bro, is there someone behind the wall today?" "default_male">>
<<nobr>><<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "No">>
<<set _choiceMade = true>>
<<set $hacker_gh_stage = 4>>
<<replace "#output">>
<<speech "White dude" "Fuck, I'm so unlucky. Well, next time, then." "default_male">><br>
<p>You get back to the bar and wait for Adriana.</p><br>
[[Leave|AdrianaGloryholeEnd]]<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>><br>
<<linkreplace "Yes">>
<<set _choiceMade = true>>
<<set $hacker_gh_stage = 2>>
<<replace "#output">>
<<speech "White dude" "Nice! Let's hope she knows something about pleasing a man!" "default_male">><br>
<p>Dude is excited to check out the gloryhole, manned by Adriana.</p><br>
[[Watch for a bit|AdrianaGloryholeShare]]<br>
[[Leave|AdrianaGloryholeEnd]]<</replace>>
<<replace "#choice-container">><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<<linkreplace "Maybe(pimp Adriana)">>
<<set _choiceMade = true>>
<<set $hacker_gh_stage = 3>>
<<replace "#output">>
<p>You're unsure where this is coming from, but fighting this impulse is too hard.</p><br>
<<speech "White dude" "What do you mean, maybe?" "default_male">><br>
<<speech "You" "It's my girl behind the wall. Give me $10, and she can serve you, too." "default_male">><br>
<<speech "White dude" "But I've paid on the bar already!" "default_male">><br>
<<speech "You" "Believe me, she's worth every penny." "default_male">><br>
<p>The dude is hesitant but too horny to decline your offer.</p><br>
<<speech "White dude" "Fuck you, pimp, here's your cash! Now fuck off!" "default_male">><br>
<<statchange "money" 10>>
<p>He throws some cash at you and goes to the gloryhole.</p><br>
[[Watch for a bit|AdrianaGloryholeShare]]<br>
[[Leave|AdrianaGloryholeEnd]]<</replace>>
<<replace "#choice-container">><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><p>It's not that you don't enjoy the occasional blowjob from Adriana - on the contrary, the girl knows her way around a dick. Rather, you are taunted by her staunch desire to keep it oral only.</p>
<<speech "You" "Hey, are you sure you don't want to do something more? I can be gentle, and if you get uncomfortable, I'll stop right away.">>
<<speech "Adriana" "You'll ruin me with that massive thing of yours! I don't want to have a massive gaping hole between my legs. Besides, my mouth can do everything my other holes do, even better.">>
<<speech "You" "Oh really? Are you sure?">>
<<speech "Adriana" "Of course I am sure...">>
<p>You get tired of this constant cockblocking, and decide to hold Adriana to her word.</p>
<<speech "You" "OK then, let's test what your mouth can really do.">>
<p>Adriana snorts, confident that she stood her ground, and reaches for your penis.</p>
<<speech "You" "Wait. Did I tell you you can suck my cock yet?">>
<<speech "Adriana" "Eh... No?">>
<<speech "You" "You can start with my ass today. Show me, is your mouth that versatile, as you say?">>
<<video "img/adriana/facefuck/1_rimming.webm" >>
<p>She giggles and accepts the game you play. You must say, not only she looks at her place when her face is buried in your ass, but her tongue is really doing good work stimulating your sensitive parts. You feel surprisingly great from her rimjob but get even more enjoyment degrading this over-confident brat.</p>
<<speech "You" "Hey, you look like you're enjoying eating my ass a little too much.">>
<<speech "Adriana" "Mmmm, you're right... Can I suck your cock now, please?">>
<<speech "You" "Not yet. My balls are very curious about what your mouth can do to them.">>
<<video "img/adriana/facefuck/2_balls.mp4" >>
<p>Fully in submissive mode, Adriana switches to playing with your ballsack. A gamer girl, she all too well knows what teabagging means. She's so eager to gobble your nuts that you're almost afraid for your jewels; it's better to move forward, at last.</p>
<<speech "You" "You can suck my dick now, slut.">>
<<speech "Adriana" "Finally!">>
<<video "img/adriana/facefuck/3_blowjob.mp4" >>
<p>You can see that she's hungry for your black meat, but she shows incredible restraint by slowly licking your shaft and carefully sucking your tip - but then succumbing to the desire to stuff her mouth thoroughly with your dick.</p>
<<video "img/adriana/facefuck/4_deep_throat.webm" >>
<p>She won't get away with a simple blowjob. Today, you are going to test how deep she can take you in her mouth. First, you just shove your dick deeper into her throat; it's a mess of saliva and your pre-cum, but Adriana loves the way you almost choke her with your dick. That easy, huh? Let's try something else then.</p>
<<speech "You" "If you say your mouth is better than your pussy, I'll fuck it like it's a pussy.">>
<<video "img/adriana/facefuck/5_facefuck.mp4" >>
<p>You turn Adriana around and slam your cock inside her mouth. Well-lubed after a very sloppy blowjob, it does feel like a pussy that you could just slam balls-deep; you have to remind yourself that you can choke the poor girl with your monster cock, but it just feels so good!</p>
<<speech "Adriana" "*gag-gag-gag* I'm... If you continue like that, I'll puke...">>
<<nobr>><<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Then puke, bitch!">>
<<set _choiceMade = true>>
<<replace "#output">>
<<video "img/adriana/facefuck/6_puke.mp4" >>
<p>You don't really care what's happening down there; if anything, the counterflow of vomit feels great on your dick. Occasionally, you give Adriana a breather before slamming your dick back down her throat, making her puke some more. Her face is a mess; there is a puddle of vomit below her, and this whole scene would gross you out if you didn't enjoy dominating Adriana so much.</p>
<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>><br>
<<linkreplace "Slow down">>
<<set _choiceMade = true>>
<<replace "#output">>
<<video "img/adriana/facefuck/7_breather.mp4" >>
<p>Not wanting to make a mess, you pull out your dick from her throat and slap her face with it. It's all slimy and gooey, and now her face is too; if she can't handle a facefuck, she'll have to endure being your cumrag.</p><</replace>>
<<replace "#choice-container">><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>>
<<video "img/adriana/facefuck/8_cum.webm" >>
<p>You can't continue like that for long - threatening Adriana's mouth like a fuckhole is too much, and eventually, you pull out and cum at her messy face. Your semen mixes up with the slimy mix of fluids on her face, adding some proteins to the weird facial mask.</p>
<<speech "Adriana" "Fuck... My throat is sore.">>
<<speech "You" "Maybe your mouth is not good for everything, after all?">>
<<speech "Adriana" "Hey, didn't I do good?">>
<<speech "You" "Very good. But one day, I might choke you with my dick like that.">>
<<speech "Adriana""Haha, what a nice way to go... But yes, you're right. I'll start training my other holes for your monster cock~">>
<<set $hacker_level = 4>>
<<set $hacked_had_sex_today += 1>>
<<statchange "energy" -3>>
<<return>>/* Charged once at the head of the chain, not per passage inside it. */
<<set $hacked_had_sex_today += 1>>
<<statchange "energy" -3>>
<<speech "You" "So... why are we doing this?">>
<<pic "img/adriana/gloryhole/what.jpg">>
<<speech "Adriana" "Excuse me? You don't like my blowjobs?">>
<<speech "You" "It's nice, but... what do you get from it?">>
<p>Adriana takes a deep breath and raises her voice:</p>
<<speech "Adriana" "I get to satisfy my progressive obsession with interracial porn that I consume unhealthy amounts of, in part because of working for you guys! So it's kinda your responsibility to keep me satisfied with your big black cocks, you know!">>
<<speech "You" "Wait, so Jamal is visiting you too?">>
<p>She frowns.</p>
<<speech "Adriana" "Nah... He intends to keep it professional... Anyway...">>
<p>You have no desire to get into Adriana's head further. Keep her entertained and, in exchange, receive favors from her - good enough.</p>
<<speech "Adriana" "I think my little pussy is ready for your monster, yay! But I'm kinda still afraid. I'd like to have total control, just in case... Can I tie you up?">>
<<speech "You" "Fuck no. You're too crazy.">>
<<speech "Adriana" "Fair. Well... got any other ideas?">>
<<if $gloryhole_ulocked == 1>>
<<speech "You" "I know a place with a gloryhole. A wall will separate us, and you can play with my dick in any way you wish.">>
<<speech "Adriana" "Look at you go, you kinky bastard! Inviting a lady to the gloryhole, of course I'm in!">>
<div class="req">Meet Adriana in the bar's gloryhole.</div>
<<set $hacker_gh_stage = 1>>
<<else>>
<<speech "You" "Nothing comes to mind right now... I'll get back to you.">>
<div class="req">Maybe you can find a gloryhole somewhere?</div>
<<endif>>
[[Leave|The Hood]]<<pic "img/general/bar_1.jpg" "location">>
<<if $hacker_gh_stage == 4>>
<p>Adriana joins your booth shortly after.</p>
<<speech "Adriana" "That was fun! I'd say I would visit the gloryhole often, but I might just got addicted to your black monster today.">>
<<speech "You" "Let's hope rehab can fix that.">>
<<speech "Adriana" "Haha, you wish! See you next time, black daddy!">>
<<else>>
<p>It takes some time before Adriana joins you in the bar. Her face is plastered with the stranger's cum, but no one in the bar seems to notice that.</p>
<<speech "Adriana" "What, is there little something on my face?">>
<<pic "img/adriana/gloryhole/facial.webp">>
<<speech "You" "I'd offer you a napkin, but you clearly prefer the 'hands-free' approach.">>
<<speech "Adriana" "Hey, I do use my hands during the blowjob! Anyway... You seem awfully calm about your girl being violated in the bar backrooms!">>
<<speech "You" "Just because I know that slut like you would enjoy the opportunity to suck on some stranger's cock.">>
<<speech "Adriana" "And I did... But it's true that once you go black, you never go back. It was fun, but serving your massive black monster is way more enjoyable.">>
<<pic "img/adriana/gloryhole/cleanup.webp">>
<p>Adriana pauses to clean her face by collecting cum with her fingers and then licking them spotless. Now she gets some attention from the bar patrons, who wish they visited the gloryhole while she was there.</p>
<<if $hacker_gh_stage == 2>>
<<speech "Adriana" "If you don't mind sharing... We could have a lot of fun here. Just look at them, gazing over the body of your hot slut.">>
<<speech "You" "Let's think about it.">>
<p>After some time, you leave the bar and part ways.</p>
<<else>>
<<speech "Adriana" "One more thing before we go. The dude was talking something about money - do you know anything about it?">>
<<speech "You" "Oh yes, sure. Here's your cut.">>
<p>You take out two folded 5-dollar bills, demonstratively keep one for yourself, and give another to Adriana.</p>
<<statchange "money" -5>>
<<speech "Adriana" "So you're telling me that I just sucked someone's dick for a fiver? That's too cheap!">>
<<pic "img/adriana/gloryhole/disgust.jpg">>
<<speech "You" "I love the fact that you're grossed out not because I sold your oral services but because of the price I set.">>
<<speech "Adriana" "Well, that's too! I guess... I'm not sure... Why do I like the fact you made me a cheap cock-sucking whore?">>
<p>You're saying things you would never say, but you weirdly enjoy taking control of this strange dynamic between you and Adriana.</p>
<<speech "You" "Because brats like you enjoy making their daddies happy. I'm your daddy, and I liked pimpin' you out.">>
<p>Adriana bites her lip. She did not expect that from you when she playfully called you daddy or teased you with her bratty attitude.</p>
<<speech "Adriana" "You know... For someone who dislikes racial stereotypes, you're an awfully good pimp. I'm ready to go back working that dollar for you, you bastard.">>
<<speech "You" "Next time, when I'll get my Cadillac and fur coat.">>
<<speech "Adriana" "Haha, I'd love to see you in that!">>
<div class="text">Well, that was fun. You spend some more time in the bar and then part ways. Have you gone too far?
Oh yes.</div><</if>><</if>>
<<if $school_unlocked == 1>>
<<speech "Adriana" "Before we go, you still need that ID? Come to my place and I'll fix you up.">><</if>>
<<set $hacker_level = 6>>
<div class="req">This is all Adriana's content for the current update.</div>
[[Leave|The Hood]]<div class="text">You find a spot where you can peek at what's happening without anyone noticing. Adriana was getting dressed and ready to leave when she saw the next dick appearing in the hole. For a moment, she looks confused - but in a blink of an eye, she gets her mouth to work on a stranger's cock.</div>
<<video "img/adriana/gloryhole/6_dress.webm" >>
<<if $hacker_gh_stage == 2>>
<<speech "White dude" "So fucking deep!" "default_male">><<else>>
<<speech "White dude" "Take it deeper, whore! Earn your pay!" "default_male">><</if>>
<<video "img/adriana/gloryhole/7_ff.webm" >>
<p>Adriana has no problem deepthroating the white guy after extensive practice with your black cock. It's a bit sloppy, though, and the saliva ropes join the squirt puddle on the floor under the hole. You've seen enough - time to grab a cold one at the bar.</p>
[[Leave|AdrianaGloryholeEnd]]/* <img src="img/adriana/pose.jpg"/> */
<<speech "Adriana" "Fuck, I'm all wet just thinking about what you could pack down there in your pants...">>
<p>Somehow, Adriana has already lost most of her clothing except for overly sexy lingerie and is now seductively showing off her slender body. You feel blood starts pumping down in your manhood.</p>
<<video "img/adriana/blowjob_1.webm" >>
<<speech "Adriana" "But you should know that I'm a nice girl, and nice girls don't fuck with someone they just met. So it's only a blowjob today.">>
<p>Her hands gently caress the visible bulge forming on your pants. You don't feel particularly attracted to the weird, out-of-your-world hacker, but you can't deny she's seductive as hell; you can agree to a lot of things as long as she keeps squeezing your dick.</p>
<<video "img/adriana/blowjob_2.webm" >>
<p>Adriana kneels and slowly pulls off your pants, revealing your semi-hard dick. Even in its flaccid state, it impresses the girl; everything seems tiny compared to your massive, gargantuan cock. Adriana takes some time to worship it: squeezing, sniffing, kissing. When her lips finally wrap around your shaft, you're ready to melt.</p>
<<video "img/adriana/blowjob_3.webm" >>
<p>Adriana gives her best, trying to please you, but you're just too big for her tiny mouth. She's excellent at sucking your glans, and you can't deny her tongue work is pleasant, but you want to go deeper.</p>
<<video "img/adriana/blowjob_4.webm" >>
<p>Your hand grasps the back of her head and pushes Adriana deeper on your big black cock. It repeatedly hits her throat, and you manage to face-fuck this slut for some time, to the surprise of both of you. One day, she'll be ready for bbc deepthroat, but not today. It's time to finish.</p>
<<video "img/adriana/blowjob_5.webm" >>
<p>You finish it yourself, working your fist while she kneels there getting her breath back, her hand cupping your balls, thumb moving in slow circles. Her voice has gone hoarse and she is still talking, telling you where she wants it, bossy even now.</p>
<<video "img/adriana/blowjob_6.webm" >>
<p>You had been aiming for her face. She sticks her tongue out flat and waits for it instead, eyes up, absolutely shameless, and you give her what she asked for and watch her swallow. Adriana, faithful to her nice-girl demeanor, finishes every last drop.</p>
<<speech "Adriana" "~Looking forward to working with you~">>
<<speech "You" "That's mutual.">>
<<set $hacker_level to 2>>
<<set $hacked_had_sex_today += 1>>
<<statchange "energy" -3>>
<<if $target1 == 2>>
<<link "Now, I have a job to do" "The hideout">>
<<set $target1 to 3>>
<</link>>
<<else>><<return>><</if>><<set _line = either("I've missed your taste","How can it fit inside my mouth?","Hope I won't dislocate my jaw...", "I love wrapping my lips around your girthy black meat~","I love the way you fill my mouth.","Let me worship you like you deserve.","I'm going to savor every inch.")>>
<<speech "Adriana" _line>><br>
<<sayit "Adriana [gets on her knees|kneels|goes down] and [quickly puts her lips to work|starts sucking your dick|immediately starts to blow]. [Hacker with a sharp tongue|Bratty hacker], she's much more tolerable when [her mouth is stuffed|she is busy|her mouth is fully occupied] with your big black cock, and you enjoy the silence that is interrupted only by loud [slurping|gagging] from a very sloppy blowjob. Still, Adriana is [becoming a great cocksucker|doing a great job with her mouth|handles your cock extremely well], and you reward her with a [load of your semen|cumshot straight|protein load delivered] into her [throat|mouth|face].">><br>
<<set _randomvid = either("img/adriana/bj_common_1.webm","img/adriana/bj_common_2.webm","img/adriana/bj_common_3.webm","img/adriana/blowjob_3.webm","img/adriana/blowjob_4.webm")>>
<<video _randomvid >><br>
<<set $hacker_bj_level += 1>>
<<set $hacked_had_sex_today += 1>>
<<statchange "energy" -3>>
<<if $hacker_bj_level < 3>>
Keep training her mouth to unlock new scenes: $hacker_bj_level/3
<<elseif $hacker_bj_level ==3 >>
New scenes unlocked! Number of blowjobs from Adriana: $hacker_bj_level
<<set $hacker_level to 3>>
<<else>>
Number of blowjobs from Adriana: $hacker_bj_level
<<endif>><br>
<br>
[[Go back|AdrianaSex]]<<set _line = either("*gag-gag-gag*","I've almost puked, fuck","Choke me with your big black cock!", "My throat needs some stretching","I love when you use my mouth like a hole to fuck!","Try to push it balls deep this time, OK?","Use my mouthpussy as you please, daddy~","The only fucks I give is facefucks, OMG I'm so lame")>>
<<speech "Adriana" _line>><br>
<<sayit "You [go wild|don't hold yourself up|resist the temptations] when Adriana wraps her lips around your [big black cock|massive penis|monster dick], and start [deepthroating|facefucking|skullfucking] this [slut|bitch|brat] without mercy. It's [loud and messy|wet and sloppy|rough and messy], but the girl takes it deeper with every thrust until [you're cumming while balls-deep in her mouth|you cum straight down her throat|she can lick your balls while you cum in her mouth]. ">><br>
<<set _randomvid = either (1,2,3,4)>>
<<if _randomvid == 1>>
<<pic "img/adriana/ff_common_1.webp">>
<<elseif _randomvid == 2>>
<<pic "img/adriana/ff_common_2.webp">>
<<elseif _randomvid == 3>>
<<video "img/adriana/ff_common_3.webm">>
<<else>>
<<video "img/adriana/ff_common_4.webm">>
<</if>><br>
<<set $hacker_ff_level += 1>>
<<set $hacked_had_sex_today += 1>>
<<statchange "energy" -3>>
<<if $hacker_ff_level < 3>>
Keep facefucking her mouth to unlock new scenes: $hacker_ff_level/3
<<elseif $hacker_ff_level ==3 >>
New opportunities unlocked! Times facefucked: $hacker_ff_level
<<set $hacker_level to 5>>
<<elseif $hacker_ff_level <= 6>>
<em>Her gag reflex gave up arguing a while ago. She times her breathing to you now.</em>
<<elseif $hacker_ff_level <= 10>>
<em>She keeps a towel on the desk for this. Not for you - she hates redoing her eyeliner.</em>
<<else>>
<em>You've taken more from that mouth than most men get from a whole marriage, and she still opens it grinning.</em>
<</if>><br>
<br>
[[Go back|AdrianaSex]]<<pic "img/adriana/pose.jpg">>
/* Two scenes a day, 3 energy each: her arc used to cost nothing but calendar
days, so it competed with nothing and could only be waited out. */
<<if $hacked_had_sex_today < 2>>
<<set _line = either("All work and no play makes Adriana a dull girl","Finally!","I need something black in my life...", "Let's have some fun!")>>
<<speech "Adriana" _line>>
<<set _canPlay = $energy >= 3>>
<<if $hacker_level == 1>>
<<if _canPlay>>[[So, about that skill practice...|AdrianaQuestBJ]]<</if>>
<<else>>
<<if _canPlay>>[[Blowjob|AdrianaRegularBJ]]<</if>>
<</if>>
<<if $hacker_level == 3>>
<<if _canPlay>>[[I REALLY want to try something else|AdrianaFirstFF]]<</if>>
<<elseif $hacker_level == 2>>
<<speech "You" "Hey, maybe we can try something else?">>
<<speech "Adriana" "Lol what, there is no way I'm taking your monster dick anywhere but my mouth, sry!">>
<<elseif $hacker_level>=4 >>
<<if _canPlay>>[[Facefuck|AdrianaRegularFF]]<</if>>
<</if>>
<<if $hacker_level == 5>>
<<if _canPlay>>[[It's time to talk|AdrianaGloryHole]]<</if>>
<<elseif $hacker_level == 4>>
<<linkreplace "Still only oral stuff?">>
<<speech "Adriana" "I'm training my other hole so one day you can fuck me properly~">>
<<set _randomvid = either(1,2,3)>>
<<if _randomvid == 1>>
<<video "img/adriana/pussy_practice_1.webm">>
<<elseif _randomvid == 2>>
<<video "img/adriana/pussy_practice_2.webm">>
<<else>>
<<pic "img/adriana/pussy_practice_3.jpg">>
<</if>>
<</linkreplace>>
<<elseif $hacker_level == 6>>
This is the end of content for Adriana, stay tuned for updates!
<</if>>
<<if not _canPlay>>
<<speech "Adriana" "You look like the bus chewed you up on the way over. Go sleep, daddy - I'll still be here.">>
<div class="req">Whatever she has in mind takes more out of you than you've got left. (3 energy, you have $energy.)</div>
<<elseif $hacked_had_sex_today == 1>>
<div class="req">She's good for one more round today if you've got it in you.</div>
<</if>>
<<else>>
<<speech "Adriana" "Hey, it was fun, but I need to recover... And you too. Come back tomorrow, black daddy~">>
<</if>>
[[Back|Hacker]]<<nobr>>
<<if setup.cheatsUnlocked()>>
<div class="text">Help yourself!</div>
<h3>General</h3>
<<link "+ $200 money">><<set $money += 200>><<goto "Cheat">><</link>> (now: <<print "$" + $money>>)<br>
<<link "+ 50 physical">><<set $physical += 50>><<goto "Cheat">><</link>> (now: $physical)<br>
<<link "Refill energy">><<set $energy = 10>><<goto "Cheat">><</link>> (now: $energy)<br>
<<link "+ 50 respect">><<set $respect += 50>><<goto "Cheat">><</link>> (now: $respect)<br>
<<link "+ 25 knowledge">><<set $knowledge += 25>><<goto "Cheat">><</link>> (now: $knowledge)<br>
<<link "Clear heat">><<set $heat = 0>><<set $laying_low = 0>><<goto "Cheat">><</link>> (now: $heat)<br>
<h3>Characters</h3>
<<link "Adriana: unlock all sex options">><<set $hacker_level = 5>><<goto "Cheat">><</link>> (now: $hacker_level/6)<br>
<<link "Adriana: skip to end of her content">><<set $hacker_level = 6>><<set $hacker_gh_stage = 2>><<goto "Cheat">><</link>> (level 6 - required for the fake ID)<br>
<<link "Savannah: max both corruption paths">><<set $savannah_blacked = 10>><<set $savannah_cheating = 10>><<goto "Cheat">><</link>> (now: $savannah_blacked / $savannah_cheating)<br>
<h3>School</h3>
<<link "+ 25 school reputation">><<set $school_rep += 25>><<goto "Cheat">><</link>> (now: $school_rep)<br>
<<link "Pollock: max leverage">><<set $pollock_leverage = 10>><<goto "Cheat">><</link>> (now: $pollock_leverage/10)<br>
<<link "Master key: complete">><<set $master_key = 3>><<goto "Cheat">><</link>> (now: $master_key/3)<br>
<br>
<<else>>
Enter the code here: <<textbox "$code" "" "PatreonCode" autofocus>>
[[Confirm|PatreonCode]]<br>
<br>
Enter the code to unlock the cheat menu. You can find the current code on my patreon page: https://patreon.com/TimJRebel <br>
<</if>>
[[Return to the game|The hideout]]
<</nobr>>Chemist who can synthesise drugs for sale or help advance on target.
Either for money or Heat/Manpower (steal chemicals from facility)<div class="text" style="font-size: 1.5em; font-weight: bold;">Democracy is Dead, and now you too?</div>
<div class="text">Your physical stat has dropped below zero, meaning you should not wake up the following day.
However, at least at this stage, you get a second chance. Please pay more attention to your physical stat: eat more, hit the gym, touch the grass.</div>
<<statchange "physical" 20>>
[[Try better|Sleep]]<<if visited() == 1>>
<p>Another habit from your service that is hard to shake off is to note every door in every room you're in. And since you've started visiting this bar, you kept thinking about the purpose of one unremarkable door behind the bartender. Occasionally, suspicious men were seen coming in and out; could it be a gang hideout there? You decide to ask the bartender.</p>
<<speech "Earl" "Gloryhole, kid. Want your dick sucked? Throw me a fiver and keep your mouth shut.">>
<div class="text">Oh, that explains a lot. Not that you really want to put your genitalia in a hole in the wall, but you need to inspect the building - to spot possible escape routes, etc.
You find yourself in a small room, more like a closet or a booth, with a screen that shows you the feed from the other side of the wall. There, a well-groomed brunette is waiting for a dick to appear. She does not look like someone who sucks cocks for a couple of bucks, but who are you to judge. Anyway, let's not keep the lady waiting...</div>
<<video "img/bar/first_1.webm" >>
<p>You push your big black cock through the hole in the wall and steer it into the lady's mouth. The poor girl is flabbergasted! She did not expect to be choked by a black monster tonight, it seems.</p>
<<video "img/bar/first_2.webm" >>
<p>Nevertheless, she quickly gets her shit together and starts intensively sucking your cock. She's really good, definitely not a novice at the gloryhole duty.</p>
<<video "img/bar/first_3.webm" >>
<div class="text">Your expectations are surpassed when the lady switches from her mouth to her pussy. Now THAT we're talking! Her tight pussy is so good you just close your eyes and unload your cum inside the stranger behind the wall...
***
On your way back, the bartender returns you the money.</div>
<<speech "Earl" "It's free for you, kid. With your natural gifts, the girls should pay you.">>
<<set $gloryhole_ulocked to 1>>
<<else>>
You put your impressive manhood through the wall and relax. For the next short time, you are going to be pleased by anonymous white girls with BBC fetish - a good way to unwind after a long day.
<<set _randomvid = either("img/bar/glory_1.webm","img/bar/glory_2.webm","img/bar/glory_3.webm","img/bar/glory_4.webm","img/bar/glory_5.webm",)>> <<video _randomvid >>
<<statchange "energy" -2>>
<<statchange "physical" 1>>
<</if>>
<<return>><<pic "img/gym/gym.jpg" "location">>
<<if visited() == 1>>
<p>You used to exercise regularly during your service and decided to look for a place to lift some weights to get into your routine. You end up in a basement gym that feels like a relic from another era. Rusted weight machines creak ominously with every rep, their padded seats cracked and leaking stuffing. Free weights, mismatched and coated in a thin layer of grime, sit piled in haphazard stacks along the walls. The stale air is thick, tinged with the sharp tang of metal and the sour musk of bodies long gone. A single flickering fluorescent light casts an uneven glow, throwing jagged shadows across faded posters of muscle-bound heroes from decades past. It's a far cry from the polished facilities you once knew, but it's enough.</p><<else>>
<p>The basement gym smells of mildew and stale air. Old, cracked free weights are piled haphazardly, their surfaces coated in grime. A flickering fluorescent light casts uneven shadows, illuminating faded posters of muscle-bound icons from a forgotten era.</p><</if>>
<<nobr>>
<<set _exlabel = $gym_assist == 0 ? "Exercise ($5)" : "Exercise">>
<<linkreplace _exlabel>>
<<if $energy < 3>>You don't have enough energy to workout! Get some rest first.
<<elseif $gym_assist == 0 && $money < 5>><div class="req">Five bucks at the door. The owner doesn't run a charity, and today you don't have it.</div>
<<else>>
<<album "img/gym/training_" 5 "webp">>
<<print either("Feels good!", "Lightweight, baby!", "Great workout today.", "Could be better.", "You feel alive again.")>>
<<statchange "energy" -3>>
<<if $gym_assist == 0>>
<<statchange "money" -5>>
<</if>>
<<if $physical >= 100>>
<p>Your body is as hard as this neighborhood lets it get. The workout keeps the edge, nothing more.</p>
<<else>>
<<statchange "physical" 3>>
<</if>>
<</if>><</linkreplace>><br>
<<if $gym_assist == 0 && $physical >=50>>
<<linkreplace "Gym owner wants to talk with you">>
<p>The gym owner, a grizzled man with a thick mustache and hands like gnarled tree roots, leans against the counter, eyeing you up and down.</p>
<<speech "Gym owner" "You've got the look of someone who knows their way around a weight rack." "default_male">>
<<speech "Gym owner" "Train here for free - on one condition. You help out with the rookies now and then." "default_male">>
<p>You shake hands, and the old man's grip still almost crushes you.</p>
<<set $gym_assist to 1>>
<</linkreplace>><br>
<<elseif $gym_assist == 0>><div class="req">The old gym owner needs someone to help with coaching rookies - you gotta lift harder to make him consider you. This job pays respect and provides free gym access. (50 physical, you have $physical.)</div><</if>>
<<if $gym_assist == 1>>
<<if $day > $gym_rookies_day>>
<<linkreplace "Train rookies">>
<<if $energy >= 2>>
<<set $gym_rookies_day = $day>>
<div class="text"><<set _event=random(1,5)>><<switch _event>>
<<case 1>>You guide a scrawny teenager through his first set of bench presses, your firm encouragement keeping him steady as the bar wobbles in his grip.
<<case 2>>A middle-aged man struggles through push-ups, and you drop down beside him, counting each rep aloud until he finds his rhythm.
<<case 3>>You adjust the stance of a woman at the squat rack, her determined nod showing she's ready to push past her limits.
<<case 4>>A young boxer shadowboxes awkwardly in the corner, and you step in, showing him how to throw a proper jab with power and precision.
<<case 5>>You spot a beginner struggling with a deadlift and step over to correct their form before they hurt themselves.
<</switch>></div>
<<if $physical < 100>><<statchange "physical" 1>><</if>>
<<statchange "energy" -2>>
<<statchange "respect" 5>>
<<else>>You don't have enough energy for that.<</if>>
<</linkreplace>><br>
<<else>>
<div class="req">The rookies got their coaching for today. Tomorrow brings a fresh batch of shaky elbows.</div>
<</if>><</if>>
[[Return|The Hood]]
<</nobr>><<pic "img/general/hackerlair.jpg" "location">><br>
<<if visited() == 1>><div class="text">Finding the hacker's lair feels like stepping into a different world. The address leads you to a forgotten industrial district, block after block of abandoned warehouses with their windows knocked out. One building stands out - a crumbling structure with boarded windows and graffiti marking its walls. You knock on a rusted side door, and after a tense moment, it creaks open just enough for a single wary eye to appraise you.<br>
Inside, the air is thick with the hum of machinery and the faint ozone tang of overheated electronics. The space is dimly lit by a patchwork of monitors casting shifting glows of green and blue onto concrete walls. Wires run tangled across the floor to makeshift workstations cluttered with keyboards, circuit boards, and empty energy drink cans. One corner of the room, in contrast, is well-lit with a daylight lamp and provides the impression of normalcy, with some salvaged furniture and bright-colored walls.<br>
The hacker is younger than you expected, with sharp eyes that keep flicking from screen to screen even while she talks to you. Her fingers drum impatiently on the desk as she sizes you up.</div><<else>><p>You step inside the hacker lair and are welcomed with the hum of machinery and dim lights from a patchwork of monitors casting shifting glows of green and blue onto concrete walls. Adriana is sitting behind them, looking busy.</p><br><</if>>
<<if $target1 >=1 && $target1 < 3>>[[Talk business|Target1]]<br><</if>>
<<if $target1 == 4 && $school_unlocked == 1>><<linkreplace "Talk business">>
<<if $hacker_level >= 6>>
<p>You ask for a false ID.</p><br>
<<speech "Adriana" "I'm doing this just because you're so fun to play with...">><br>
<p>Adriana gets to work. The whole thing looks relatively easy, as she already has connections to most state databases and a supply of pre-fabricated cards.</p><br>
<<speech "Adriana" "Got any preferences on your name? I already have a 'Tyron Williams' in the database, so it's less work for me and less work for anybody trying to guess your ethnicity, lol.">><br>
<<set $player_name to "Tyron">><<set $player_surame to "Williams">>
<<textbox "$player_name" "Tyron" autofocus>><<textbox "$player_surame" "Williams">><br>
<<linkreplace "Go with this one">>
<<replace "#name">><<speech "Adriana" "Anything you wish, daddy~">><br>
<p>You take a freshly printed ID in your hands. It looks real, it has your face on it - and a name that you need to get used to.</p><br>
<<speech "You" "Thanks. You can call me that, I guess. I'm not your dad anyway.">><br>
<<speech "Adriana" "Awww, you don't want to be my daddy, Mr. $player_surame? Am I too hot to handle?">><br>
<<speech "You" "I just need to get familiar with it, that's all.">><br>
<<speech "Adriana" "Fine, I'll be screaming your fake name next time you'll smash my pussy with your big black cock, $player_name!">><br>
<<set $school_unlocked = 2>>
<div class="req">You can now text Jamal and inform him about the ID.</div><br>
<</replace>>
<</linkreplace>>
<div id="name"></div>
<<else>>
<<speech "Adriana" "You want a fake ID? It's such a simple and boring task you'll have to entertain me first.">><br>
<div class="req">Unlock more sex options with Adriana to proceed.</div><br>
<</if>>
<</linkreplace>><br><</if>>
<<if $hacker_level > 0>>[[Do pleasure|AdrianaSex]]<</if>><br>
<<if $hacker_level >= 2>>
<<if $heat >= 25 && $day >= $scrub_next_day>>
<<if $heat >= 75>><<set _scrub_price = 100>><<set _scrub_relief = 35>>
<<elseif $heat >= 50>><<set _scrub_price = 60>><<set _scrub_relief = 25>>
<<else>><<set _scrub_price = 30>><<set _scrub_relief = 15>><</if>>
<<if $hacker_level >= 5>><<set _scrub_price = Math.trunc(_scrub_price * 0.75)>><</if>>
<<set _scrub_label = "Ask her to scrub your heat ($" + _scrub_price + ")">>
<<linkreplace _scrub_label>>
<<if $money >= _scrub_price>>
<p>You describe your problem. Adriana doesn't even look away from her screens - she's already pulling up the precinct's shared drive like it's her own downloads folder.</p><br>
<<speech "Adriana" "Field reports, patrol notes, informant tips... it's all just files, baby. Files get corrupted. Faces in drone footage get... smudged. Watch this.">><br>
<p>Her fingers blur over the keyboard. Somewhere in a precinct database, the man the patrols keep flagging stops matching your face. A tip sheet loses a page. A drone log develops a gap where your block used to be.</p><br>
<<if $hacker_level >= 5>><<speech "Adriana" "Girlfriend prices, by the way. Don't tell my other clients I have a heart.">><br><</if>>
<<set _scrub_cost = -_scrub_price>><<set _scrub_drop = -_scrub_relief>>
<<statchange "money" _scrub_cost>>
<<statchange "heat" _scrub_drop>>
<<set $scrub_next_day = $day + 3>>
<<speech "Adriana" "Now get out and stay boring for a few days. If I scrub the same face twice in a week, the pattern I'm erasing becomes ME.">><br>
<<else>>
<<speech "Adriana" "Sweetie, I love you, but the darknet doesn't run on affection. Come back with cash.">><br>
<</if>>
<</linkreplace>><br>
<<elseif $heat >= 25 && $day < $scrub_next_day>>
<div class="req">Adriana won't touch the precinct systems again yet. "Same face twice in a week makes a pattern." (Available on day $scrub_next_day)</div>
<<elseif $heat < 25 && $heat > 0>>
<div class="req">"Scrub WHAT? You're a nobody in their systems right now. Congratulations. Not worth logging in for."</div>
<</if>>
<</if>>
<<if $ella_end_quest == 1 && $ella_end_hacker == 0>><<linkreplace "[Ella]Pick up some electronics">>When Adriana is not looking, you pocket some of the equipment lying around. It doesn't look like she needs it, and you can sell it for scraps. Should you say goodbye? Probably not.<<set $ella_end_hacker = 1>><</linkreplace>><br><</if>>
[[Leave|The Hood]]<<pic "img/general/laptop.jpg" "location">><br>
<p>You plug in a USB drive with your encryption key and boot up the system. Not much fun to do here...</p><br>
<<if $nextday == 0 && $target1 == 4 && $school_unlocked == 0>>
<<linkreplace "You receive a message from Jamal">>
<<speech "Jamal" "Morning, soldier! I'm out here hunting new targets. Bond was low-hanging fruit - the next ones all sit higher up the tree. But I might have a plan. Either way, you gon' need a fake ID - Adriana can hook you up. Drop me a line here when you got it.">><<set $school_unlocked = 1>>
<</linkreplace>><br>
<</if>>
<<if $school_unlocked == 2>><<linkreplace "Text Jamal">>
<p>You drop a message to Jamal informing him that you got the fake ID.</p><br>
<<speech "Jamal" "Good work. You got somewhere safe we can meet?">><br>
<<set _choiceMade = false>> <!-- Flag to track if a choice is made -->
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Bar is as good a place as any">>
<<set _choiceMade = true>>
<<set $school_intro_location = "bar">>
<<set $school_unlocked = 3>>
<<replace "#output">><<speech "Jamal" "Roger that, soldier. Meet me there.">><br>
<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>><br>
<<if $ella_stage>=11>> <<linkreplace "The community library is the safest option">>
<<set _choiceMade = true>>
<<set $school_intro_location = "library">>
<<set $school_unlocked = 3>>
<<replace "#output">><<speech "Jamal" "Roger that, soldier. Meet me there.">><br><</replace>>
<<replace "#choice-container">><</replace>> <!-- Hides both choices -->
<</linkreplace>><<else>><div class="req">If you decide on your future with Ella, you can meet in the library.</div><br><</if>>
<</if>>
</div>
<div id="output"></div>
<</linkreplace>><br>
<</if>>
<<if $ella_mmf_stage == 2>><<if $nextday == 0>>[[Text Jamal about threesome with Ella|EllaJamalThreesome_1]]<br><<else>><div class="req">Wait until tomorrow to text Jamal about Ella.</div><br><</if>><</if>>
<<if $target1 == 3>>[[Corrupt Mrs. Bond|Target1Laptop]]<br><</if>>
[[Close the laptop|The hideout]]Support me on <a href="https://patreon.com/TimJRebel" target="_blank">[Patreon]</a>
Visit my website to check out my other games <a href="https://timjrebel.neocities.org/" target="_blank">[TimJRebel]</a>
Leave a review and subscribe to F95zone <a href="https://f95zone.to/threads/justice-is-black-v0-1-timjrebel.241575/" target="_blank">[thread]</a>
<<return>><<pic "img/general/job_search.png" "location">>
<div class="text"><<if visited() == 1>>You need money - something that wasn't a problem for you during all your military years. You ask around and end up on the outskirts near the highway exit, where a line of weary men desperate for jobs wait for an occasional pickup truck looking for some workers. In the current economy, this is your best chance at making some buck.
<<else>>No matter when you come here, there is always someone waiting for the opportunity to exchange hard manual labour for some cash.<</if>></div>
<<nobr>>
/* The day's board is rolled once and remembered ($jobs_day), so leaving and
coming back can't be used to reroll which trucks showed up. */
<<if $jobs_day != $day>>
<<set $jobs_day = $day>>
/* Regulars (rep 5+) get picked off the line first - the foreman knows your face */
<<if $construction_rep >= 5>><<set _constructionOdds = 80>><<else>><<set _constructionOdds = 60>><</if>>
<<if random(1, 100) <= _constructionOdds>><<set $construction_open = 1>><<else>><<set $construction_open = 0>><</if>>
<<if random(1, 100) <= 60>><<set $warehouse_open = 1>><<else>><<set $warehouse_open = 0>><</if>>
<</if>>
<<set _constructionAvailable = $construction_open == 1 && $day >= $construction_banned>>
<<set _warehouseAvailable = $warehouse_open == 1 && $day >= $warehouse_banned>>
<<if $day < $construction_banned>>The construction trucks slow down, see your face, and keep rolling. The client's word travels faster than you do.<br><</if>>
<<if $day < $warehouse_banned>>The warehouse van doesn't stop for you - your badge photo is taped inside their windshield now.<br><</if>>
<<if $energy < 5>>
<div class="req">You don't have enough energy to work! Get some rest first.</div>
<<elseif _constructionAvailable or _warehouseAvailable>>
Choose your job:<br>
<<if _constructionAvailable>>
Nearby construction site needs some extra hands today.<<if $construction_rep >= 5>> The foreman points at you before the truck even stops.<</if>><br>
[[Go work on construction site|Construction work]]<br>
<</if>>
<<if _warehouseAvailable>>
Marketplace warehouse looks for cheap labour.<br>
[[Go work in warehouse|Warehouse work]]<br>
<</if>>
<<else>>
<div class="req">No opportunity appeared today. The trucks came and went without stopping, and the line thins out around you.</div>
<</if>>
<br>
[[Go back|The Hood]]
<</nobr>><<nobr>>
<<if setup.checkCheatCode($code)>>
<<run setup.unlockCheats()>>
<<set $code = "">>
<div class="text">Ah shit, here we go again... The cheat menu is unlocked.</div>
[[Open the cheat menu|Cheat]]<br>
<<else>>
Wrong code. Try [[again|Cheat]]?<br>
<</if>>
[[Return to the game|The hideout]]
<</nobr>>Manage your operations
Your second in command, helping you with managing the org
Regular ops:
Heist (money+, heat+)
Assault?
After accepting crime jobs:
Manage prostitutes
Drugs
Unique ops:
Main missions for NTRing the spokesmen of the state<<if $school_intro_location == "bar">>
<p>You find Jamal in a corner booth, back to the wall. He seems a bit anxious.</p>
<<speech "Jamal" "Meeting where you drink is lazy tradecraft. Once, fine. But I don't care how safe this place feel - next time, you better have alternatives.">>
<<elseif $school_intro_location == "library" && $ella_mmf_stage >=0>>
<<speech "Jamal" "Nigga, you one lucky bastard - what a smoking-hot babe you got here!" "jamal_happy">>
<<set _choiceMade = false>><div id="choice-container"><<if not _choiceMade>>
<<linkreplace "Encourage">><<set _choiceMade = true>>
<<replace "#output">><<speech "You" "Haha, have you got a chance to check out her ass?">>
Mental image appears in your mind when you speak about Ella:
<<pic "img/ella/jamal/encourage.jpg">>
<<speech "Jamal" "Oh yeah, bro. Pretty good for a white girl.">>
<<speech "You" "That's what I said!">>
<<set $ella_mmf_stage = 1>>
<</replace>> <<replace "#choice-container">><</replace>> <</linkreplace>><br>
<<linkreplace "Discourage">> <<set _choiceMade = true>>
<<replace "#output">><<speech "You" "Don't talk about her like that, OK?">>
<<speech "Jamal" "Aight, brother. Say no more.">>
<</replace>>
<<replace "#choice-container">><</replace>><</linkreplace>><</if>>
</div><div id="output"></div><</if>>
<<speech "Jamal" "Anyway...">>
<p>First, you show Jamal your new ID.</p>
<<speech "Jamal" "Well hello, Mr. $player_surame! I got a job just for an unfortunate motherfucker like you. How you feel about working with kids?">>
<<speech "You" "WHAT the fuck?">>
<<speech "Jamal" "Not literal kids, man - rich kids. Grown-ass brats. Eighteen-plus high schoolers from money.">>
<<speech "You" "Daughters again.">>
<<speech "Jamal" "Daughters again. That's the play that put us in business, brother - one daughter, one bedroom, and Renner was done by breakfast. A wife wounds a man. His little girl finish him.">>
<<speech "You""Can't say I'm surprised. So you what, you want me to become a teacher of some sort and seduce my student?">>
<<speech "Jamal" "Bro, why not go for principal while you at it? You forgot what world you living in? You think rich WASPs gon' let a black man tutor their kids?">>
<<speech "You" "Not even PE?">>
<<speech "Jamal" "Not even PE. You gon' be a janitor.">>
<p>You say nothing, but Jamal can read your face.</p>
<<speech "Jamal" "Listen, brother, this gon' be rough. Hard, dirty work, and them spoiled brats gon' hate you and clown you every day. But one - ain't no other way inside that school. And two - when the time come to black some daughters, the hit gon' land even harder.">>
<p>You sigh.</p>
<<speech "You" "You didn't tell me anything about the school and who you are looking for.">>
<p>Jamal explains his plan from the beginning. It starts with his search through the personnel of the prison where your brother is held. Turning the man inside the prison perimeter to your side would be crucial - from communicating or smuggling items to planning escape. However, this personal information is highly safeguarded. The best lead Jamal found is that the 18-year-old daughter of one of the wardens is in her final year in a prestigious high school - Thatcher-Ellison School of Excellence. However, he doesn't even have her name or photo.</p>
<<speech "Jamal" "But when I saw what school she going to, the stars aligned.">>
<p>The facility's principal, Mrs. Shannon Pollock, was long on the radars because of electoral fraud. The high school serves as a polling station during the election period, and the school principal is also an election judge, overseeing the voting at her precinct. During her time, Mrs. Pollock obstructed the work of independent poll watchers, interfered with counting, and produced results vastly different from the exit polls.</p>
<<linkreplace "Shannon Pollock? That name doesn't ring any bells">><br>
<<speech "Jamal" "Why would it? But since you asking, here's a picture of her:">>
<<pic "img/school/syren/new_intro.jpg">>
<</linkreplace>>
<<speech "Jamal" "School sits in a rich neighborhood, but the district covers a lot of not-so-fortunate parts of the city too. All them votes, thrown away.">>
<p>Criminal prosecution was dismissed when the current ruling party regime was established - thanks to the many school principals nationwide who have chosen personal gain over public duty.</p>
<<speech "Jamal" "So we hit two birds with one stone. You punish this bitch for what she done, and from her you get the name of the girl who leads us to your brother.">>
<<speech "You" "That's... a lot to unfold.">>
<<speech "Jamal" "I bet. Just start working there, get to know people, build trust. Ain't gon' be no set plan on this one - you gon' have to read the room and adapt.">>
<<speech "You" "So you're telling me to fuck around and find out.">>
<<speech "Jamal" "Exactly!" "jamal_happy">>
<p>You can now work in a high school. Take a bus there and look for opportunities.</p>
<<set $school_unlocked = 4>>
[[Leave|The Hood]]<<pic "img/general/community_stage4.jpg" "location">>
<<speech "Jamal" "Hey, nice work you done here. Locals been praising it - a place to study, hold meetings, leave the kids after school. A neighborhood got a better chance surviving when something holds the people together.">>
<<speech "You" "This was not possible without Ella - I just fixed several things here and there, but she is doing the actual work here.">>
<p>Speaking of that, should you introduce Jamal to Ella?</p>
<<set _choiceMade = false>> <!-- Flag to track if a choice is made -->
<div id="choice-container"><<if not _choiceMade>> <<linkreplace "Sure!"><<set _choiceMade = true>><<replace "#output">><p>Ella is busy creating event schedule for the upcoming month. You give her a kiss and then introduce her to Jamal:</p>
<<speech "You" "Ella, this is Jamal, we... we work together.">>
<<speech "Ella" "A colleague, huh? Nice to meet you.">>
<<pic "img/ella/jamal/introduction.jpg">>
<<if $savannah_approach == 2>>
<<speech "Ella" "Wait... I recognize you. You DO work together! Oh shit, you double-teamed that bimbo on tape!">>
<<speech "Jamal" "Shh. Let's keep it between us, ok?">>
<<speech "Ella" "I can keep secrets. Tell me, what crimes should I commit for you two appear at my doorstep? I'm joking, of course!">>
<<speech "Jamal" "Heh, maybe we run some crime prevention events... if everybody agrees.">>
<<speech "You" "Maybe... But for now, we all have work to do, right? See you soon, babe.">>
<<set $ella_mmf_stage = 1>>
<<else>>
<<speech "Jamal" "Nice to meet you too. What you're doing here is vital for the community - but you probably know that already.">>
<<speech "Ella" "Thanks. If you want to help, we always need volunteers.">>
<<speech "Jamal" "I'll keep that in mind!" "jamal_happy">>
<<set $ella_mmf_stage = 0>>
<</if>>
[[You find a quiet place to talk.|SchoolIntro]]
<</replace>><<replace "#choice-container">><</replace>>
<</linkreplace>>
<<linkreplace "Better not.">>
<<set _choiceMade = true>>
<<replace "#output">>[[You find a quiet place to talk.|SchoolIntro]] <</replace>>
<<replace "#choice-container">><</replace>> <!-- Hides both choices -->
<</linkreplace>><br><</if>>
</div>
<div id="output"></div><<if $physical < 0>>
<<goto "Game over">><<else>>
<<if random(1, 100) <= 95>>
<p>You lie on the uncomfortable mattress and quickly fall asleep - a good habit you picked up in the military. Your energy is restored.</p><br>
<<set $energy = 10>>
<<else>>
<<pic "img/general/ptsd.webp">><br>
<p>The dream comes in flashes, fragmented and disjointed. Sand and smoke fill the air, choking your lungs as gunfire crackles like distant fireworks. You're running, boots sinking into uneven ground, the weight of your gear dragging you down. A face - young, terrified - appears in front of you for a split second before disappearing in a deafening explosion. The screams are muted, swallowed by a ringing in your ears that grows louder until it's all you can hear. You wake with a start, drenched in sweat, the echoes of the battlefield still pulsing in your chest.</p>
<div class="req">Your energy for the day is halved.</div><br>
<<set $energy = 5>>
<</if>>
<</if>>
<<newday>>
<<schoolpay>>
<<if _rent_due>>
<p>An envelope has been slipped under the door overnight - empty, with a week's date pencilled on it. The hood keeps this room off every list - the bolt on the door, the neighbors incurious. It isn't free.</p><br>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<if $money >= 20>>
<<linkreplace "Put a twenty inside ($20)">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You fold a twenty into the envelope and leave it where you found it. By the time you come back down the stairs it's gone, and nobody says a word about it - which is the whole point of paying.</p><br>
<<statchange "money" -20>>
<br>
[[Wake up|The hideout]]<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>><br>
<</if>>
<<linkreplace "Leave the envelope empty">>
<<set _choiceMade = true>>
<<replace "#output">>
<<if $money >= 20>>
<p>You have the twenty. It stays in your pocket - you have other plans for it. Nobody knocks. But by evening the corner store owner takes your money without looking up, and the kid on the step who used to nod turns his whole body away as you pass. Somebody spits on the stairwell landing before you get to it. Nobody down here is confused about whether you had the money.</p><br>
<<statchange "respect" -20>>
<<else>>
<p>The envelope stays empty this week - you don't have the twenty to put in it. Nobody knocks about it. But by evening the corner store owner doesn't nod back, and the kid on the step looks through you. Word travels fast about a man who takes shelter and doesn't put in.</p><br>
<<statchange "respect" -10>>
<</if>>
<br>
[[Wake up|The hideout]]<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>>
<</if>>
</div>
<div id="output"></div>
<<else>>
<br>
[[Wake up|The hideout]]
<</if>><<pic "img/general/logo.jpg">>
<div class="text">An ex-special forces operative comes home to find his country remade into a far-right authoritarian nightmare. When the regime throws his brother in a cell, he starts a war of his own - one fought in bedrooms, bringing down the wives and daughters of the men who help run it.
Also, he's black.</div>
<div class="text">DISCLAIMER:
This game contains heavy pornographic content, all characters are 18 years old or older. And so should be you to play it.
All encounters are consensual even in this setting. Consent is sexy.</div>
<div class="text">DISCLAIMER II:
This game runs on the deeply controversial premise that racism and fascism are, in fact, bad. If you can't handle that, this isn't your game.</div>
If you like the game, consider supporting it: https://patreon.com/TimJRebel
[[Start|Character Setup]]<<nobr>><div id="stat-panel">
<div class="stat"><span class="stat-label">Money</span><span class="stat-value money"><<print "$" + $money>></span></div>
<div class="stat"><span class="stat-label">Energy</span><span class="stat-value">$energy</span></div>
<div class="stat-bar"><div class="stat-bar-fill energy" @style="'width:' + Math.max(0, Math.min(100, $energy * 10)) + '%'"></div></div>
<div class="stat"><span class="stat-label">Physical</span><span class="stat-value">$physical</span></div>
<div class="stat"><span class="stat-label">Respect</span><span class="stat-value">$respect</span></div>
<<if $target1 >= 4>><div class="stat"><span class="stat-label">Knowledge</span><span class="stat-value">$knowledge</span></div><</if>>
<<if $heat > 0>>
<div class="stat"><span class="stat-label">Heat</span><span class="stat-value">$heat</span></div>
<div class="stat-bar"><div @class="'stat-bar-fill ' + ($heat < 25 ? 'heat-low' : $heat < 60 ? 'heat-mid' : 'heat-high')" @style="'width:' + Math.min(100, $heat) + '%'"></div></div>
<</if>>
<div class="stat day"><span class="stat-label">Day $day</span></div>
</div>
<button id="music-mute" type="button" title="Toggle background music" @aria-pressed="String(!settings.musicOn)"><span class="music-icon"><<print settings.musicOn ? "🔊" : "🔇">></span><span class="music-label"><<print settings.musicOn ? "Mute music" : "Unmute music">></span></button><</nobr>><<if visited("The hideout")>>[[Return to the hideout|The hideout]]
[[Walkthrough]]
[[Cheat]]
[[Links]]<</if>>Version: $version<<album "img/general/library_" 2 "jpg" "story">>
<<statchange "knowledge" 3>>
<<statchange "energy" -5>>
[[Return|Community Center]]<<nobr>><<if $heat >= 75>><<goto "The Hood">><</if>><</nobr>>
<<pic "img/general/bus_stop.jpg" "location">><br>
<p>It's a miracle that public transport is still available in this god-forsaken place. Uncomfortable, infrequent, but functional. The bus is the easy part. The blockpost is not.</p><br>
<<if $school_unlocked == 4>>
<p>You have papers now. $player_name $player_surame, custodial staff, employed on the far side of the wall. The card goes up at chest height with everyone else's in the shift queue and the boom comes up without a second look.</p><br>
<p>The card only covers the school run, so anywhere else still gets you read. But they read you faster now. A man they've waved through fifty mornings is a man they've stopped being curious about.</p><br>
<<else>>
<p>No work pass means no labor queue. You get the other one, the one that moves when the man at the boom decides it moves. He goes through your bag, asks the same three questions until the answers stop matching, and holds a flashlight on your face longer than he needs to. He takes whatever he finds and lets you through anyway, because keeping you in was never the job. But the notebook comes out every time.</p><br>
<</if>>
<<set _hackerHeat = $school_unlocked == 4 ? 2 : 3>>
<<if $energy >=2 && $money>=2>><<link `"Take the bus to the hacker: $2, 2 energy, " + _hackerHeat + " heat"` "Hacker">>
<<statchange "money" -2>>
<<statchange "energy" -2>>
<<statchange "heat" _hackerHeat>>
<</link>><<else>>You need 2 energy and 2 money for a bus ride.<</if>><br>
<<if $school_unlocked == 4>><<if $energy >=2 && $money>=2>><<link "Take the bus to the Thatcher-Ellison School of Excellence: $2, 2 energy, 1 heat" "School">>
<<statchange "money" -2>>
<<statchange "energy" -2>>
<<statchange "heat" 1>>
<</link>><<else>>You need 2 energy and 2 money for a bus ride.<</if>><br>
<</if>>
/* CUT: brothel arc (Dre's sedan) is not going into the next release.
<<if $escort_car == 1 && $day >= $car_suspended>>
<p>Dre's gray sedan idles across from the bus stop where you left it. The queue at the blockpost watches you walk past them to a car with your kind of plates. Nobody says anything. The wall has a hierarchy even on the way out.</p>
<<if $energy >= 1>><<link "Drive to the hacker: 1 energy" "Hacker">>
<<statchange "energy" -1>>
<</link>>
<<if $school_unlocked == 4>><<link "Drive to the Thatcher-Ellison School of Excellence: 1 energy" "School">>
<<statchange "energy" -1>>
<</link>><</if>>
<<else>>Even driving takes something out of you. (1 energy needed)<</if>>
<</if>>
*/
[[Go back to the hood|The Hood]]<<nobr>><<if $laying_low > 0>><<goto "Hood Locked Down">><</if>><</nobr>>
<<album "img/general/hood_" 2 "jpg" "location">>
<<if visited() == 1>>
<p>The neighborhood is a desolate grid of cracked asphalt and crumbling concrete, where rusted streetlights flicker weakly, casting pale pools of light that do little to dispel the gloom. There is exactly one road in, and it wears a militia blockpost like a tourniquet: sandbags, wire, a queue of residents holding work passes out for inspection on their way to jobs the city keeps on its side of the wall. Boarded-up storefronts with faded graffiti line the streets, windows broken where they aren't boarded. The air smells of oil, damp brick, and something faintly metallic like blood long dried. The few people outside move quickly, heads down, avoiding eye contact; you expected this to be a black hood, but no, it's just a place where poor people live. Very poor.</p>
<p>And yet - walled off, written off, raided at dawn whenever a precinct needs its numbers - this is the one place in the country where nobody will come looking for you politely. The police enter in force or not at all. Between their visits, everything forbidden out there quietly lives in here. The wall keeps the neighborhood in. It also, you're beginning to understand, keeps you hidden.</p>
<<else>><p>The neighborhood is still as ruined as it was at your first visit. Cracked asphalt, flickering streetlights, the blockpost queue inching forward at the end of the main road; most of the windows are boarded up, with the exception of a neon-green bar down the street and the distant thump of Club Babylon, where the outsiders go slumming. The few people outside move quickly, heads down, avoiding eye contact.</p><</if>>
<div class="text"><<nobr>><<set _event=random(1,26)>><<switch _event>>
<<case 1>>
A police car cruises slowly down the street, its engine barely audible, as officers inside scan the sidewalks with cold, practiced stares. You dash into the side alley before you're seen.
<<case 2>>
A pickup truck packed with Oath Boys roars by - surplus camo, homemade armbands, a flag with their torch insignia snapping over the cab - shouts and laughter cutting through the tense quiet like a blade. Several shots are made, hopefully in the air.
<<case 3>>
A beggar sits slumped against a wall, clutching a faded cardboard sign that reads, "Will work for food," his eyes avoiding yours.
<<case 4>>
Overhead, a surveillance drone hovers silently, its blinking red light tracking every move below.
<<case 5>>
A small group of teenagers spray-paints over hateful graffiti, glancing nervously at every passing shadow. You nod to them.
<<case 6>>
A stray dog sniffs at a trash can, its ribs visible under matted fur, before darting off at the sound of a distant shout.
<<case 7>>
A man in a stained coat leans against a lamppost, lighting a cigarette with trembling hands, his eyes darting to every passing vehicle.
<<case 8>>
An Oath Boys checkpoint materializes at the corner, a makeshift barricade of sandbags and armed men waving cars to a stop for "random inspections." Simple racketeering, nothing serious - the iron-cross patches are just the uniform of the toll booth.
<<case 9>>
Two neighbors argue in hushed tones near a boarded-up store; their voices tense, but they fall silent as a patrol car approaches.
<<case 10>>
A drunk stumbles out of the bar, swearing loudly at no one in particular, his shouts echoing eerily through the empty street.
<<case 11>>
A single flickering streetlight goes out completely, leaving half the block in shadows as footsteps echo ominously from somewhere unseen.
<<case 12>>
Dawn-raid aftermath: three doors on the block hang off their hinges, and neighbors sweep glass off the sidewalk in silence. Nobody asks who was taken. Asking is how you get on the next list.
<<case 13>>
Shift change at the blockpost. The queue of residents with work passes stretches half a block, exact and unmoving, everyone holding their papers at the same practiced angle. On the other lane, a catering van for Club Babylon is waved through without stopping.
<<case 14>>
An Oath Boys truck idles in the middle of the street with its engine running, going nowhere, doing nothing. That's the point. Everyone on the block does their errands around it like water around a stone.
<<case 15>>
Two kids are playing on a rooftop - except they're not playing. One watches the blockpost, one watches the avenue, and when a cruiser turns in, a bicycle bell rings three times somewhere below and the street quietly rearranges itself.
<<case 16>>
A food line has formed outside the community center - folding tables, donated cans, someone's grandmother ladling soup. Mutual aid is technically "unregistered assembly" now, so a teenager stands at the corner, watching for uniforms.
<<case 17>>
A convoy of black sedans glides through toward Club Babylon, windows up, waved past the checkpoint that made a nurse empty her handbag this morning. Inside the cars, the outside world is coming to visit the zoo.
<<default>>
It's quiet here today. Nothing unusual happens.
<</switch>><</nobr>></div>
<<heatpatrol>>
<<hooddilemma>>
<<nobr>>
<<if $community_quest > 0>>[[Library|Community Center]]<br><</if>>
[[Gym]]<br>
[[Bar]]<br>
/* ARCHIVED: the nightclub is not going into the next release.
[[Nightclub]]<br>
*/
[[Look for work]]<br>
/* CUT: street corner + brothel are not going into the next release.
<<if $respect >= 10>><<if $heat < 50>>[[Street corner|Street Corner]] <span class="statchange">(the corner is working tonight)</span><br><<else>><div class="req">The corner is empty - with the heat you're carrying, everyone who sees you coming lays low.</div><</if>><</if>>
<<if $brothel_unlocked == 1>><<if $heat < 60>>[[The basement door|Brothel]] <span class="statchange">(under the dead laundromat)</span><br><<else>><div class="req">Two knocks at the basement door get you nothing. With your heat, Dre's peephole stays dark.</div><</if>><</if>>
*/
<<if $ella_end_quest == 1 && $ella_end_car == 0>><<linkreplace "[Ella]Find a car">>You need a car that can reliably cover long distances and be inconspicuous enough not to get much attention. You mentally note one well-maintained SUV that is always in the parking near the gym; when the time comes, you will hijack it. <<set $ella_end_car = 1>><</linkreplace>><br><</if>>
<<if $target1 > 0>><<if $heat < 75>>[[Take the bus]]<br><<else>><div class="req">The blockpost is out of the question. With the heat on your name, handing your papers to a militiaman at the only road out is the same as turning yourself in - you're not leaving the hood until it cools down.</div><br><</if>><</if>>
/* CUT: brothel arc (Dre's sedan) is not going into the next release.
<<if $escort_car == 1>><<if $day >= $car_suspended>>[[Drive out of the hood|Outside the Wall]] <span class="statchange">(Dre's gray sedan - the blockpost knows it)</span><br><<else>><div class="req">Dre still has the keys. The sedan sits behind the laundromat until day $car_suspended, and you walk like everybody else.</div><</if>><</if>>
*/
<br>[[Go to hideout|The hideout]]
<</nobr>><<pic "img/general/hideout.jpg" "location">>
<<nobr>>
<p>Your safe house, a hideout from the outside world - only Jamal knows you are here.</p> <<if visited() == 1>><div class="text">It is a grim, claustrophobic room above a run-down corner store. Viewed from above, it's a bare rectangle of cracked plaster walls and peeling paint. A single, grimy window offers a view of the alley below, its blinds permanently tilted at odd angles.
A thin mattress lies on the floor, pushed against one corner, covered by a worn, mismatched blanket. Besides this, the only furniture is a metal chair and a rickety folding table. The table holds a cheap lamp with a flickering bulb and a scattering of odd items - a half-empty water bottle, a pack of smokes, a lighter.
The door is reinforced with a thick bolt lock, the kind that screams desperation over security. In another corner, a small pile of canned food and a dented electric kettle sit on the floor next to an outlet with exposed wiring. The faint hum of the city leaks through the walls, a reminder that the world outside is no safer than this cramped refuge.</div><div class="req">You have a safe place to live - now it's time to explore. Look for ways to earn some money and gain the respect of the people of this neighborhood.</div>
<<else>>
<<linkreplace "Look around again">><div class="text">It is a grim, claustrophobic room above a run-down corner store. Viewed from above, it's a bare rectangle of cracked plaster walls and peeling paint. A single, grimy window offers a view of the alley below, its blinds permanently tilted at odd angles.
A thin mattress lies on the floor, pushed against one corner, covered by a worn, mismatched blanket. Besides this, the only furniture is a metal chair and a rickety folding table. The table holds a cheap lamp with a flickering bulb and a scattering of odd items - a half-empty water bottle, a pack of smokes, a lighter.
The door is reinforced with a thick bolt lock, the kind that screams desperation over security. In another corner, a small pile of canned food and a dented electric kettle sit on the floor next to an outlet with exposed wiring. The faint hum of the city leaks through the walls, a reminder that the world outside is no safer than this cramped refuge.</div><</linkreplace>><</if>>
<<rentinfo>>
[[Sleep]]<br>
<<if $eat_today == 0 >>
<<linkreplace "Buy some healthy food($3)">>
<<if $money >= 3>>
<<statchange "energy" 2>>
<<statchange "money" -3>>
<<statchange "physical" 1>>
<<set $eat_today to 1>>
<p>You are able to sustain yourself, but from time to time you need to get your hands on fresh vegetables and fruits to stay healthy.</p>
<<else>>
<p>You don't have enough money for fresh food. Don't worry, you can survive on cheap cans and ramens no problem.</p>
<</if>><</linkreplace>><br><</if>>
<<if $heat >= 25 && $energy > 0>>
<<linkreplace "Lay low for the day">>
<p>You kill the lights, bolt the door, and let the street forget your face for a day. You clean your one pot twice, count ceiling cracks, listen to the patrol rhythms through the wall. By evening the ache in your ribs has backed off a little. Doing nothing is its own kind of work.</p>
<<statchange "heat" -10>>
<<statchange "physical" 1>>
<<set $energy = 0>>
<div class="req">The day is spent. Better get some sleep.</div>
<</linkreplace>><br>
<</if>>
<br>
[[Go out|The Hood]]
<br>
<<if $respect >= 50 && $target1 == 0>>
<p>A manila folder is on the floor near the door - thin enough to slip over the threshold.</p> <<linkreplace "Open it">>
<div class="text"><span style="font-style: italic;">Burn after reading<br>
Brother,<br>
Been a minute. I ain't gon' apologize for it, but I figure you been sitting up there wondering if I was dead in a ditch somewhere. I wasn't. Most days.<br>
I been hearing your name, though. That's the thing about a name, it travel whether you want it to or not, and yours been walking around that neighborhood without you. <br>
So all them days you was hauling somebody's groceries and thinking it wasn't the war - that was the war, young blood. Now it's paid off, and I can put real work in your hands.<br>
<<pic "img/savannah/husband.jpg">><br>
That's Sergeant Nikolas Bond. Low rank, and low rank don't usually make my list. He made it for what he do in the basement of the city police department. Iraq vet. Came home and found out the one thing he good at pays over here too. They call it advanced interrogation. He gets confessions. Whether the man giving one done anything, that ain't never been the point.<br>
Here's the part I sat on for two days before I wrote it down. This the sadist who had your brother before they moved him to the state facility. Ain't a single photo of Jeremy released to the press since. I figure they waiting on him to heal.<br>
First, chill. Sit with it a second, then think on this instead: you put a bullet in that man, he gets a folded flag and a wall of speeches about the animals who did it. But you take his wife, and every man in his precinct look at him different for the rest of his life. Meet Mrs. Bond. Trophy wife. He think them bombshell looks make him bigger than he is, which mean she the wall holding the whole man up. Pull her out, he come down.<br>
<<pic "img/savannah/wife_potrait.jpg">><br>
You remember what we pulled off with Renner. One night, one camera, and a police chief finished for good. That was luck, brother, and I been chewing on that ever since. Luck ain't a strategy. So I spent all this quiet tryna build it into something we can aim on purpose, and I think I found the way.<br>
Name's Adriana. Hacker for hire, young, mercenary, and very, very good. She paid, she deniable, and she ain't got no cause but her own, which is exactly why I trust her more than I'd trust a believer. While you was out earning your name, she been living inside Mrs. Bond's devices, softening that bored housewife up until she almost ready to go black.<br>
This the first one we do on purpose. It land the way it landed in Renner's bedroom, it won't be the last. Adriana gon' give you the details. You also gon' need a second payment for her service, $100, and she'll haggle if you got the stomach for it. Her address on the card. Take the bus.<br>
One thing, since you new to how it work out here. You ain't got a work pass, so you ain't getting the shift queue at the blockpost. You gon' get the slow lane, and the slow lane cost you. Let 'em take what they find. Answer what they ask, twice if they ask twice. A man with nothing to hide ain't interesting, and interesting is the only thing out there that can kill you. Papers come later, brother. That's a whole other conversation.<br>
Good luck, soldier.</span></div><<set $target1 to 1>><</linkreplace>>
<<elseif $target1 == 0>><div class="req">Jamal asked to gain respect, 50 would be enough</div><</if>>
<<if $target1 >= 3>>
<br><<if $nextday == 0 && $target1 == 4 && $school_unlocked == 0>>[[(NEW MESSAGE) Use laptop|Laptop]]
<<else>>[[Use laptop|Laptop]]<</if>>
<</if>>
<<if $target1 == 3 && $savannah_approach == 1>>
<br>[[Fuck the police(man's wife)|Target1]]
<<elseif $target1 == 3 && $savannah_approach == 2>>
<br>[[Fuck the police(man's wife)|Target1_2]]
<</if>>
<</nobr>>/* Save-migration gate: runs on every passage render, so an old save is caught
the moment it's loaded, wherever it was saved (not just on visiting the Hood).
The Update passage itself is excluded to avoid a redirect loop. */
<<if $version isnot "1.1" && passage() isnot "Update">><<goto "Update">><</if>>
/* Mid-1.1 backfill: Version13 school vars for saves made on 1.1 before they existed
(the Update gate above can't catch these - the version string didn't change). */
<<if ndef $network_day>>
<<set $network_day = 0>>
<<set $leverage_dry = 0>>
<<set $marcello_next_day = 0>>
<</if>>
/* Mid-1.1 backfill: Version14 school task board vars, same reason as above. */
<<if ndef $school_tasks_day>>
<<set $school_tasks_day = 0>>
<<set $school_task_safe = 1>>
<<set $school_task_risky = 1>>
<<set $school_task_dirty = 1>>
<</if>>Savefile from previous version found.<br>
<<if $version == "0.2">>
/* 0.2 -> 0.3 (both were public releases) */
<<set $school_unlocked = 0>>
<<set $school_intro_location = "">>
<<set $ella_mmf_stage = -1>>
<<set $hacker_ff_level = 0>>
<<set $hacker_gh_stage = 0>>
<<set $version = "0.3">>
<</if>>
<<if $version == "0.3">>
/* Ella arc renumbering (happened in the 0.4 dev build): three new beats were
inserted after the old stage 2 trigger point. Only pre-renumber saves shift. */
<<if $ella_stage >= 3>><<set $ella_stage += 3>><</if>>
<</if>>
<<if $version isnot "1.1">>
/* 0.3 -> 1.1: everything the 0.4-0.8 dev builds introduced, collapsed into one
step. Every block is ndef-guarded on its sentinel variable, so a mid-chain
dev save (0.4-0.8) also lands here safely - only its missing blocks get
initialized, everything it already tracks is left untouched. */
/* Backfills for early-0.3 saves that predate the Version4 vars */
<<if ndef $school_time>>
<<set $school_time = "morning">>
<<set $school_rep = 0>>
<<set $closet_unlocked = false>>
<<set $incel_club = false>>
<<set $player_name = "">>
<<set $player_surame = "">>
<<set $code = "">>
<</if>>
<<if ndef $heat>><<set $heat = 0>><</if>>
<<if ndef $manpower>><<set $manpower = 1>><</if>>
/* Version5: day counter, lay-low lockdown, Ella day-gating, street dilemmas */
<<if ndef $day>>
<<set $day = 1>>
<<set $laying_low = 0>>
<<set $ella_next_day = 0>>
<<set $last_dilemma_day = 0>>
<</if>>
/* Luna Star arc tracker (Version5, but missing from the old 0.3->0.4 step) */
<<if ndef $lawyer_stage>><<set $lawyer_stage = 0>><</if>>
/* Version6: the school arc */
<<if ndef $school_job>>
<<set $school_job = 0>>
<<set $detention_job = false>>
<<set $school_tasks_done = 0>>
<<set $school_pay_day = 0>>
<<set $last_school_event_day = 0>>
<<set $pollock_stage = 0>>
<<set $pollock_leverage = 0>>
<<set $amber_stage = 0>>
<<set $amber_next_day = 0>>
<<set $incel_stage = 0>>
<<set $detention_day = 0>>
<<set $gunn_trust = 0>>
<<set $gunn_case = 0>>
<<set $albright_heat = 0>>
<<set $master_key = 0>>
<<set $closet_bed = false>>
<</if>>
/* Version7: money sinks & heat management */
<<if ndef $scrub_next_day>>
<<set $scrub_next_day = 0>>
<<set $rent_day = 0>>
<<set $rent_waived = false>>
<</if>>
/* Version8: warehouse/construction reworks */
<<if ndef $warehouse_streak>>
<<set $warehouse_streak = 0>>
<<set $warehouse_last_day = 0>>
<<set $warehouse_banned = 0>>
<<set $warehouse_manager_stage = 0>>
<<set $warehouse_manager_favor = 0>>
<<set $construction_banned = 0>>
<<set $construction_wife = 0>>
<</if>>
/* Version9: the bar rework */
<<if ndef $bar_last_day>>
<<set $bar_last_day = 0>>
<<set $bartender_stage = 0>>
<<set $bar_dice_day = 0>>
<</if>>
/* Version10: library rework (folded in from the old <<libraryinit>> guard) */
<<if ndef $library_find>>
<<set $library_materials = 0>>
<<set $library_find = 0>>
<<set $last_library_event_day = 0>>
<<set $library_standoff = 0>>
<<set $backroom_unlocked = 0>>
<<set $reading_hour_day = 0>>
<</if>>
/* Version10 daily-limit trackers (were never in libraryinit either) */
<<if ndef $gym_rookies_day>><<set $gym_rookies_day = 0>><</if>>
<<if ndef $warehouse_manager_day>><<set $warehouse_manager_day = 0>><</if>>
/* Version11: Marcello Pollock + sharing Britney with Tommy */
<<if ndef $pollock_husband>>
<<set $pollock_husband = 0>>
<<set $amber_shared = 0>>
<</if>>
/* Version11 character setup (missing from the old 0.7->0.8 step) */
<<if ndef $avatar>><<set $avatar = 1>><</if>>
<<if ndef $real_name>><<set $real_name = "Marcus">><</if>>
/* Version12 daily-limit trackers */
<<if ndef $gym_wing_day>><<set $gym_wing_day = 0>><</if>>
<<set $version = "1.1">>
<</if>>
<p><strong>Notice:</strong> Updated the save to version $version.</p><br>
[[Get back to the game|The Hood]]<<widget sayit>><<=$args[0].sayIt()>><</widget>>Variables
Character:
Money
Physical (strength etc)
Theory (intelligence)
Energy (Limits number of actions before sleep)
<<set $energy to 10>>
<<set $money to 80>>
<<set $physical to 50>>
<<set $respect to 0>>
<<set $knowledge to 0>>
<<set $eat_today to 0>>
<<set $nextday to 0>>
<<set $ella_stage to 0>>
<<set $community_quest to 0>>
<<set $library_progress to 0>>
<<set $foreman_help to 0>>
<<set $gym_assist to 0>>
<<set $gloryhole_ulocked to 0>>
<<set $target1 to 0>>
<<set $construction_rep to 0>>
<<set $manpower to 1>>
<<set $heat to 0>>
<<set $hacker_level to 0>>
<<set $hacker_bj_level to 0>>
<<set $hacked_had_sex_today to 0>>
<<set $version = "1.1">>
<<set $savannah_blacked to 0>>
<<set $savannah_cheating to 0>>
<<set $savannah_dildo_sent to 0>>
<<set $savannah_action_made to 0>>
<<set $savannah_observation_made to 0>>
<<set $savannah_approach to 0>>
<<set $savannah_pill to 0>>
<<set $ella_end_quest = 0>>
<<set $ella_end_car = 0>>
<<set $ella_end_construction = 0>>
<<set $ella_end_warehouse = 0>>
<<set $ella_end_bar = 0>>
<<set $ella_end_hacker = 0>>
====Version3====
<<set $school_unlocked = 0>>
<<set $school_intro_location = "">>
<<set $ella_mmf_stage = -1>>
<<set $hacker_ff_level = 0>>
<<set $hacker_gh_stage = 0>>
====Version4====
<<set $school_time = "morning">> ("lunch, "afternoon","evening")
<<set $school_rep = 0>>
<<set $closet_unlocked = false>>
<<set $incel_club = false>>
/* Player identity (set later via the fake-ID textboxes) and cheat/patreon code */
<<set $player_name = "">>
<<set $player_surame = "">>
<<set $code = "">>
====Version5====
/* Day counter - increments on Sleep; used for day-gated story beats */
<<set $day = 1>>
/* Heat system: $heat (0-100, declared above) is now live. $laying_low = forced lay-low days remaining.
$heat >= 75 also locks the blockpost - no leaving the hood until it decays. */
<<set $laying_low = 0>>
/* ARCHIVED: the nightclub is not going into the next release.
Nightclub:
<<set $nightclub_job = 0>> (0 = none, 1 = bouncer)
<<set $nightclub_stage = 0>>
*/
/* CUT: street dealers + brothel are not going into the next release.
<<set $dealer_stage = 0>> (0 = unknown, 1 = buyer, 2 = trusted worker)
<<set $drug_stash = 0>> (units carried, cap 5)
Brothel:
<<set $brothel_unlocked = 0>>
<<set $brothel_stage = 0>>
*/
/* Ella day-gating: earliest $day her arc can advance again */
<<set $ella_next_day = 0>>
/* Last day a street moral-dilemma event fired (one per day, plus a 2-day cooldown before the next roll) */
<<set $last_dilemma_day = 0>>
/* Luna Star, the lawyer from the reworked intro - future love-interest arc tracker */
<<set $lawyer_stage = 0>>
====Version6====
/* School arc: janitor job, task board, staff/student arcs */
<<set $school_job = 0>> (0 = not hired, 1 = janitor, 2 = janitor + detention supervisor)
<<set $detention_job = false>>
<<set $school_tasks_done = 0>> (morning tasks done today, reset on sleep)
<<set $school_pay_day = 0>> (last day the weekly pittance was paid)
<<set $last_school_event_day = 0>> (one random school event per day)
/* Principal Shannon Pollock: leverage gathered + corruption stage machine */
<<set $pollock_stage = 0>>
<<set $pollock_leverage = 0>> (0-10, dirt collected on her)
/* Britney Amber, the counselor - fast Ella-style arc, day-gated */
<<set $amber_stage = 0>>
<<set $amber_next_day = 0>>
/* Incel club (detention kids): DeShawn, Marcus, Tyrell */
<<set $incel_stage = 0>>
<<set $detention_day = 0>> (last day detention was run - one session per day)
/* Coach Tommy Gunn: trust counter + false-accusation case (0 none, 1 helped, -1 stayed out) */
<<set $gunn_trust = 0>>
<<set $gunn_case = 0>>
/* Mrs. Albright, Pollock's attack dog - annoyance counter for later payback */
<<set $albright_heat = 0>>
/* Master key progress (0-3); at 3 the basement records open */
<<set $master_key = 0>>
/* Closet upgrades */
<<set $closet_bed = false>>
====Version7====
/* Adriana's heat-scrub service: earliest $day she'll run it again (3-day cooldown) */
<<set $scrub_next_day = 0>>
/* CUT: street corner is not going into the next release.
Corner protection pact: patrol odds reduced while $day < $protection_until
<<set $protection_until = 0>>
*/
/* Weekly rent to the hood: last day it was collected (starts biting at day 15) */
<<set $rent_day = 0>>
/* Cheat-code waiver ("squatter") that turns rent off permanently */
<<set $rent_waived = false>>
====Version8====
/* Warehouse rework: shift streak (worked yesterday), last day worked, ban after getting caught pilfering */
<<set $warehouse_streak = 0>>
<<set $warehouse_last_day = 0>>
<<set $warehouse_banned = 0>> (banned until this $day)
/* Floor manager arc (0 nothing, 1 bottle seen, 2 she circles, 3 the cage, 4 her office) + one-time pilfer save */
<<set $warehouse_manager_stage = 0>>
<<set $warehouse_manager_favor = 0>>
/* Construction: ban after the trophy-wife incident; wife scene is one-off */
<<set $construction_banned = 0>> (banned until this $day)
<<set $construction_wife = 0>>
/* ARCHIVED: the nightclub is not going into the next release.
Door Rope minigame: bad shifts collected; 3 = fired
<<set $door_strikes = 0>>
*/
/* CUT: brothel/escort arc is not going into the next release.
Escort progression: $brothel_stage now live (0 local runs, 1 outside runs, 2 Dre's car)
<<set $escort_runs = 0>>
<<set $escort_intimacy = 0>> (hidden: en-route intimacy with the girls, vouches for the keys)
<<set $escort_car = 0>>
<<set $car_suspended = 0>> (Dre took the keys back until this $day)
*/
====Version9====
/* Bar rework: last day you worked the room (one event roll per day) */
<<set $bar_last_day = 0>>
/* Earl the bartender: 0 stranger, 1 knows your name, 2 trusted, 3 favor owed (free round + back-table dice) */
<<set $bartender_stage = 0>>
/* Last day you played the back-table dice game (stage 3 perk, one game per day) */
<<set $bar_dice_day = 0>>
====Version10====
/* Library rework (backfilled for old saves by the Update passage migration) */
/* One-time purchase of window glass and frames; gates work in the Windows phase (progress 50-69) */
<<set $library_materials = 0>>
/* Next one-time rebuild discovery to show (0-4), one per renovation phase */
<<set $library_find = 0>>
/* Last day a random library event fired (one per day) */
<<set $last_library_event_day = 0>>
/* Oath Boys standoff at 90% progress: 0 not fired, 1 pending, 2 resolved (they keep away from the library) */
<<set $library_standoff = 0>>
/* Banned-books back room built behind the poetry shelf */
<<set $backroom_unlocked = 0>>
/* Last day you hosted reading hour (one per day) */
<<set $reading_hour_day = 0>>
/* Gym: last day you coached the rookies (one respect session per day) */
<<set $gym_rookies_day = 0>>
/* Vittoria: last day a floor-manager scene fired (one per day) */
<<set $warehouse_manager_day = 0>>
====Version11====
/* Marcello Pollock, the principal's husband: 0 unmet, 1 intro seen, 2 voyeur scene witnessed */
<<set $pollock_husband = 0>>
/* Sharing Britney with Tommy: 0 none, 1 Tommy agreed, 2 Britney consented, 3 threesome had (repeatable) */
<<set $amber_shared = 0>>
/* Character setup (pre-intro): avatar index 1-4 (img/misc/avatar_N.jpg, drives the "You"
speech portrait) and the player's REAL name - almost nobody in-game is supposed to know
it ($player_name/$player_surame above are the fake ID from Adriana) */
<<set $avatar = 1>>
<<set $real_name = "Marcus">>
====Version12====
/* Britney's ass-to-mouth kink: counts how many times the player has indulged it
(solo anal scene, threesome, ...). Never reset; the threesome's dirtiest route needs 2. */
<<set $amber_atm = 0>>
/* Cheat menu: holds the hash of the code the player unlocked with (empty = locked).
Each release ships a new code/hash, so old saves re-lock on update. */
<<set $cheats_unlocked = "">>
/* Heat patrol cooldown: day the last patrol event (toll/shakedown/sweep) fired.
At most one patrol event every two days (earliest day 2), library-event style
like $last_dilemma_day. */
<<set $last_patrol_day = 0>>
/* School gym wing: last day you swung by Tommy's gym (one visit per day) */
<<set $gym_wing_day = 0>>
====Version13====
/* Below-decks favor network: last day school rep was traded for Pollock leverage
(one trade per day, 5 rep + 2 energy, buys +1 up to leverage 8 - the last two
points must come from the arcs/office search) */
<<set $network_day = 0>>
/* Leverage pity counter: risky/extra work orders since the last leverage drop.
Each dry order adds +15% to the next roll's leverage band; resets on a hit. */
<<set $leverage_dry = 0>>
/* Marcello lunch voyeur scene: earliest $day it can fire again (3-day cooldown, repeatable) */
<<set $marcello_next_day = 0>>
/* Gunn's bumper sticker talk (beer night): 0 not had, 1 pressed him (payoff pending), 2 sticker gone, -1 let it be */
<<set $gunn_sticker = 0>>
/* Day-labor board: which trucks showed up today. Rolled once per $day in
"Look for work" and remembered, so re-entering the passage can't reroll it. */
<<set $jobs_day = 0>>
<<set $construction_open = 0>>
<<set $warehouse_open = 0>>
====Version14====
/* School work-order board: which three jobs the cork board offered today.
Rolled once per $day in "School Tasks" and remembered, mirroring $jobs_day,
so bouncing to the hallway and back can't reroll the morning's orders. */
<<set $school_tasks_day = 0>>
<<set $school_task_safe = 1>>
<<set $school_task_risky = 1>>
<<set $school_task_dirty = 1>>
====Audio (track cache, not state)====
/* Background music, driven by "music-*" passage tags (see StoryScript.js).
"theme" plays on the session's first entry to a music-theme passage; any
cached "theme_2", "theme_3", ... (numbered, no gaps) then shuffle after it.
Adding a rotation track = dropping the mp3 in audio/ + one line here.
Audio files are NOT bundled by tweego - they load from audio/ next to index.html,
so release zips must include the audio/ folder. */
<<cacheaudio "theme" "audio/theme.mp3">>
<<cacheaudio "theme_2" "audio/theme_2.mp3">>
<<cacheaudio "theme_3" "audio/theme_3.mp3">>
<<cacheaudio "theme_4" "audio/theme_4.mp3">>
<<cacheaudio "theme_5" "audio/theme_5.mp3">>
/* School zone: tagged "music-school_theme" on the School passage. */
<<cacheaudio "school_theme" "audio/school_theme.mp3">>
<<cacheaudio "school_theme_2" "audio/school_theme_2.mp3">>
<<cacheaudio "school_theme_3" "audio/school_theme_3.mp3">><<album "img/general/bar_" 2 "jpg" "location">>
<<if visited() == 1>>
<div class="text">The neon-green bar down the street reeks of beer and piss. Lights are dim, and all surfaces are disgustingly sticky. Despite apparent neglect, it seems there are always at least a handful of patrons sipping their drinks in an effort to forget about the outside world.</div>
<<pic "img/bar/earl_fullbody.jpg" "story">>
<div class="text">Behind the counter stands the same heavyset man who has probably been polishing the same glass since before the wall went up. The regulars call him Earl. He waters the whiskey, keeps a bat under the register, and remembers everything anyone has ever said in this room. In a neighborhood with no lawyer and no priest anyone trusts, Earl is both.</div>
<<else>>
<p>The bar greets you with its usual perfume of beer and piss. Earl gives you the flat once-over he gives everyone, the neon flickers, and somewhere in the back a jukebox plays a song older than the wall.</p>
<</if>>
<<nobr>>
<<if $day > $bar_last_day>>
<<if $energy >= 2>>
<<if $bartender_stage == 3>>
<<linkreplace "Work the room (on the house)">>
<<set $bar_last_day = $day>>
<<statchange "energy" -2>>
<p>Earl slides one across before you reach the counter and waves off your money like it's an insult. Your credit is good here now. Around here that's worth more than the drink.</p>
<<include "BarRoomEvents">>
<</linkreplace>><br>
<<elseif $money >= 5>>
<<linkreplace "Work the room ($5)">>
<<set $bar_last_day = $day>>
<<statchange "energy" -2>>
<<statchange "money" -5>>
<<include "BarRoomEvents">>
<</linkreplace>><br>
<<else>>
<div class="req">Working the room starts with buying a round. (a round costs $5)</div>
<</if>>
<<else>>
<div class="req">Faces blur, names slide off. You're too worn out to work the room tonight. (2 energy needed)</div>
<</if>>
<<else>>
<div class="req">You've already made your rounds today. The bar has a memory, and so does its patience.</div>
<</if>>
<<if $bartender_stage == 2 && $physical >= 50>>
<<linkreplace "Help Earl with the problem at the corner booth">>
<p>The problem is two hundred and forty pounds of connected drunk who hasn't paid since Tuesday and has started explaining, loudly, whose cousin he is. Earl catches your eye and tips his head a quarter inch, which from Earl is a formal written request.</p>
<p>You walk over, lean in close, and have a short conversation consisting mostly of geometry - where his arm is, where the door is, where his cousin isn't. He does the math and leaves vertical. The room pretends it saw nothing, which means everyone saw everything.</p>
<<statchange "respect" 3>>
<<statchange "heat" 2>>
<<set $bartender_stage = 3>>
<<speech "Earl" "That man's people run half the towing rackets on the east side, and you moved him like furniture. Your money's no good here anymore. And the back table plays dice after ten, if you've got the stomach for it.">>
<</linkreplace>><br>
<<elseif $bartender_stage == 2>>
<div class="req">Earl keeps glancing at the corner booth like it owes him money. He could use a hand with something, but you'd need to be able to back it up. (50 physical)</div>
<<elseif $bartender_stage == 1>>
<div class="req">Earl's been shorthanded lately. Keep showing your face - a bar like this only trusts a face it's tired of seeing.</div>
<</if>>
<<if $bartender_stage == 3>>
<<if $day > $bar_dice_day>>
<<linkreplace "Buy into the back-table dice game ($20)">>
<<if $money >= 20>>
<<set $bar_dice_day = $day>>
<<statchange "money" -20>>
<p>The back table lives behind a curtain that used to be a tablecloth. Four players, a cigar box bank, and house rules older than anyone at the table.</p>
<<set _dice = random(1, 100)>>
<<if _dice <= 40>>
<<statchange "money" 45>>
<p>The dice like you tonight. You ride a hot streak just long enough to quit before it turns - the only real skill the game has. The cigar box pays out with poor grace.</p>
<<elseif _dice <= 70>>
<p>The dice are honest, which is the problem. Your twenty migrates across the table in four polite installments while an old man in a transit jacket takes your money without even seeming to enjoy it.</p>
<<elseif _dice <= 90>>
<<statchange "money" 70>>
<<statchange "heat" 2>>
<p>You clean out the table, including a wiry man with prison ink who takes losing the way some men take a diagnosis. He settles up, but on his way out he talks to somebody on the corner and points back at the bar. Word of your luck travels, and not all of it to friendly ears.</p>
<<else>>
<p>Halfway through the night the game acquires a spectator: a dancer from Club Babylon, still in her makeup, off shift and out of cash. She watches two rounds, then slides into the seat across from you and puts nothing on the table.</p>
<<speech "Stripper" "I'm light. But I'll cover the bet another way - you win, we take a walk to the ladies' room and you get twenty dollars' worth of my very best work. I win, you cover my buy-in. Deal?" "default_female">>
<div id="dice-choice">
<<linkreplace "Take the bet">>
<<replace "#dice-output">>
<p>You win. She's a good loser - takes your hand and walks you past Earl, who studies the ceiling with great professional interest. The ladies' room lock is broken, so she braces a boot against the door, wastes no time and no words, and drops to her knees on a folded coat with the efficiency of a woman who dances for money and negotiates for a living.</p>
<<video "img/bar/stripper_restroom_bj.webm">>
<p>She spits, checks her makeup in the cracked mirror, and pats your cheek on the way out. "Better than Babylon," she says, "at least you tipped with your luck." Twenty dollars' worth was underselling it.</p>
<</replace>>
<<replace "#dice-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Keep it cash only">>
<<replace "#dice-output">>
<<statchange "money" 20>>
<p>"Cash game," you say, and mean it. She shrugs, unbothered - it was a business offer, not a compliment - and the old man in the transit jacket covers her buy-in instead. She loses it in three rounds and you take a slice of it on your way out. The table respects a man who keeps the game simple.</p>
<</replace>>
<<replace "#dice-choice">><</replace>>
<</linkreplace>>
</div>
<div id="dice-output"></div>
<</if>>
<<else>><p>The back table plays for real money, and twenty is the ante. Come back heavier.</p><</if>>
<</linkreplace>><br>
<<else>>
<div class="req">The back table has seen enough of you for one night. The dice will still be crooked tomorrow.</div>
<</if>>
<</if>>
<<if $ella_stage ==7>>
<p>Is that Ella you see? Back at her favorite high chair, it seems she returned to the drunk state you've met her the first time. <<link "Approach Ella" "Ella Hughes">>
<<set $ella_stage to 8>>
<</link>></p>
<</if>>
<<if $community_quest > 1 && $community_quest < 4 && $ella_stage == 1>>
<p>You notice Ella in her familiar place - only this time, she has been drowning her sorrows for much longer than usual. [[Approach her|Ella Hughes]]</p>
<</if>>
<<if $community_quest == 0 && visited() != 1>>
<<pic "img/ella/ella_smoking.jpg" "story">>
<p>Sitting on the high bar chair, one visitor looks foreign in a place like this. A young, attractive redhead who looks too good to be in this shit hole sips her beer and enjoys her cigarette, protected from advances by an aura of deep sadness emitting from her. You're no stranger to that, so why not approach her? Meet [[Ella|Ella Hughes]].</p><</if>>
<<if $respect >= 20 && $gloryhole_ulocked == 0>>
[[Ask bartender about the backrooms|Gloryhole]]<br>
<<elseif $gloryhole_ulocked == 1 && $hacker_gh_stage == 1>>
[[Adriana gloryhole]]<br>
<<elseif $gloryhole_ulocked == 1 && $energy >= 2>>
[[Gloryhole]]<br>
<<elseif $gloryhole_ulocked == 1>>
<div class="req">The booth takes more out of you than you've got left tonight. (2 energy needed)</div>
<<else>><div class="req">There's a door behind the bar that regulars pretend not to see. Earl won't tell a stranger what's back there, and right now that's what you are. (20 respect, you have $respect.)</div><</if>>
<<if $ella_stage == 9 && $day < $ella_next_day>><div class="req">You told Ella you'd meet her here tomorrow - and she's not the type to appreciate you jumping the gun.</div><br><<elseif $ella_stage == 9 && $money >=50 && $respect >=60>>[[Go on a date with Ella|EllaDate_1]]<br><<elseif $ella_stage == 9>><div class="req">You need $50 and 60 respect for Ella's date.</div><</if>>
/* CUT: brothel is not going into the next release.
<<if $brothel_unlocked == 0>>
<<if $respect >= 40>>
<<linkreplace "Ask the bartender about the working girls ($20)">>
<<if $money >= 20>>
<<statchange "money" -20>>
<p>The bartender polishes the same glass for a long moment, deciding what you're worth. The twenty helps him decide.</p>
<<speech "Earl" "Basement under the dead laundromat, end of the block. Man named Dre. Careful with him - he sells the neighborhood's daughters to the people who built the wall, and sleeps fine. But he pays serious men serious money. Knock twice.">>
<<set $brothel_unlocked = 1>>
<<else>><p>The bartender's memory works on a strict cash basis, and you're $20 short of a recollection.</p><</if>>
<</linkreplace>><br>
<</if>>
<</if>>
*/
<<if $ella_end_quest == 1 && $ella_end_bar == 0>><<linkreplace "[Ella]Rob the bar">>The owner keeps cash in the safe but leaves some overnight in the cash register and office. You break in at night and gather what little you can find. <<set $ella_end_bar = 1>><</linkreplace>><br><</if>>
<<if $school_unlocked == 3 && $school_intro_location == "bar">>[[Meet with Jamal|SchoolIntro]]<br><</if>>
[[Go out|The Hood]]
<</nobr>><<nobr>>
<<set _bar = random(1, 100)>>
<<if _bar <= 10>>
<p>The domino table by the window has been running the same game since the Nixon administration, and tonight there's an open chair. You buy the round, lose gracefully, and listen. Between slams of the tiles you get the neighborhood's real newspaper: who got picked up at the checkpoint, whose boy came home, which landlord is selling to the people beyond the wall. </p>
<<statchange "respect" 3>>
<<elseif _bar <= 20>>
<<if $bartender_stage == 0>>
<p>A slow stretch at the counter. Earl works his way down the bar and ends up across from you, glass and rag in hand.</p>
<<speech "Earl" "You're new here. What do they call you when they're not calling you trouble?">>
<p>You give him some fake-ass name, the first one that comes to mind. Earl files it away behind those flat eyes without blinking. Man's tended bar in this neighborhood long enough to know a bought name when he hears one, and to not care. Your next beer arrives a shade less watered than the last.</p>
<<set $bartender_stage = 1>>
<<elseif $bartender_stage == 1>>
<p>Your glass is empty for exactly four seconds before a fresh one lands in front of you, your usual, unasked. Earl doesn't say anything about it, but you just got promoted in his eyes to a regular.</p>
<<set $bartender_stage = 2>>
<<else>>
<p>Earl leans in while pulling your beer, voice pitched under the jukebox.</p>
<<speech "Earl" "Word to the wise - patrols are working the blocks by the laundromat this week. Somebody downtown wants numbers before the quarter ends. Keep your business on the other end of the neighborhood.">>
<<if $heat > 0>><<statchange "heat" -5>><</if>>
<</if>>
<<elseif _bar <= 28>>
<<switch random(1, 3)>>
<<case 1>>
<p>Nobody bites tonight. You drink alone under the dying neon while the rain draws bars down the front window, which feels a little on the nose. Even the jukebox plays to itself.</p>
<<case 2>>
<p>The room is all closed circles tonight - grief in one booth, business in another, and no seat at either.</p>
<<case 3>>
<p>You catch your own reflection behind the bottles: a man on the neverending run. You toast him. He toasts back.</p>
<</switch>>
<<elseif _bar <= 36>>
<p>It starts at the pool table, the way it always does: a doubled bet, a slow reracking, two voices dropping into that register men use right before furniture gets involved. Then a cue clatters and the argument comes to you, whether you want it or not.</p>
<div class="req">Physical check of 55...</div>
<<if $physical >= 55>>
<p>You put the loud one against the cigarette machine before he finishes his swing, hold him there while the fight leaks out of him, and set him back down like a returned drink. The bar exhales. Earl's bat goes back under the register, unused, and somebody you've never met sends a beer down the rail to your elbow.</p>
<<statchange "respect" 5>>
<<statchange "heat" 2>>
<<else>>
<p>You get between them and mostly succeed, if you don't count the bottle that clips your ear on its way past. The fight dies, the room settles, and you spend the rest of the night pressing bar ice wrapped in a rag to the side of your head.</p>
<<statchange "physical" -5>>
<<statchange "heat" 2>>
<</if>>
<<elseif _bar <= 44>>
<p>A stranger in a good coat - too good for this room - sets three bottle caps on the bar and starts moving them with the easy patter of a man who's done this in a hundred bars just like yours. "Simple game," he says. "Eyes against hands. Ten says you can't follow the cap."</p>
/* Straight 35% roll - the shell game is a con, so the house usually wins */
<<if random(1, 100) <= 35>>
<p>Halfway through the shuffle his little finger does something it shouldn't, and the whole trick comes apart in front of you: the cap was palmed before the first pass, and the game was over before it started. So you bet on the empty one, name the move out loud, and watch his patter die. He pays the ten with a professional's grace and moves on to a softer room. The regulars saw the whole thing, and word gets around that you're nobody's mark.</p>
<<statchange "money" 10>>
<<statchange "respect" 2>>
<<else>>
<p>You follow the cap perfectly. That's the trick - there's nothing under any of them by the time he's done shuffling. Your ten disappears with the same sleight of hand, and you buy the lesson every mark buys: in this economy, even the crime is small business.</p>
<<statchange "money" -10>>
<<if $money < 0>><<set $money = 0>><</if>>
<</if>>
<<elseif _bar <= 52>>
<p>Three men in the corner booth are drinking like they're being paid to, which they are. Off-duty cops - you can tell by the haircuts, the way they sit facing the door, and the fact that nobody within two tables of them is speaking above a whisper.</p>
<<if $heat >= 40>>
<p>One of them looks up from his glass, and his eyes stop on you a beat too long. You've been on somebody's board recently, and his face says he's trying to remember which one.</p>
<div id="cops-choice">
<<if $money >= 15>>
<<linkreplace "Send their table a round ($15)">>
<<replace "#cops-output">>
<<statchange "money" -15>>
<<statchange "heat" -5>>
<p>Earl ferries three whiskeys over with your compliments. The one who was staring raises his glass a lazy inch - the neighborhood's oldest sacrament, the small bribe accepted. When they talk about tonight back at the precinct, you'll be "some local," not a face. Cheap at the price.</p>
<</replace>>
<<replace "#cops-choice">><</replace>>
<</linkreplace>><br>
<</if>>
<<linkreplace "Finish up and slip out">>
<<replace "#cops-output">>
<<statchange "heat" 1>>
<p>You drain the glass at a civilian's pace and take the long way past the jukebox to the door. Nobody follows. But in the window's reflection you see him lean over to his partner, and his mouth makes the shape of a question with your description in it.</p>
<</replace>>
<<replace "#cops-choice">><</replace>>
<</linkreplace>>
</div>
<div id="cops-output"></div>
<<else>>
<p>You keep your glass between you and their sightline and drink at the speed of a man with nothing on his conscience. They're not here for anybody tonight - just three tired uniforms out of uniform, drinking off the same city everyone else is. The tension at your table leaves with them.</p>
<</if>>
<<elseif _bar <= 60>>
<p>She's at the dark end of the bar with a drink she isn't drinking - whore-working clothes under a civilian coat, makeup half surrendered, the posture of a bad shift that ended early. When you settle nearby she looks you over with a professional's speed and a tired woman's honesty.</p>
/* CUT: brothel is not going into the next release - Dre variant of this line disabled.
<<if $brothel_unlocked == 1>>
<<speech "Working Girl" "I know you - you're around Dre's place. Good. Then you know the rules and I don't have to say a price out loud like an amateur. Tonight was ugly and I want to end it on something I chose. Bathroom's in the back. Coming?" "default_female">>
<<else>>
*/
<<speech "Working Girl" "You've got the look of a man whose night went as bad as mine. I do this for money, usually. Right now I'd settle for doing it on my own terms. Bathroom's in the back. Coming?" "default_female">>
/*
<</if>>
*/
<div id="girl-choice">
<<linkreplace "Follow her">>
<<replace "#girl-output">>
<p>The bathroom is one flickering bulb and a door that locks if you lean on it. She leans on it, pulls you in by the belt, and takes charge the way only a professional off the clock can - no performance, no clock running, just appetite with expert hands. She gets your cock out before your jacket's off, strokes you hard with a spit-slick fist, then turns and braces against the sink, skirt shoved up over her ass, watching you in the cracked mirror.</p>
<<video "img/bar/whore_restroom_doggy.webm">>
<p>You fuck her the way she tells you to - slow until she stops saying slow, then hard enough that the pipes knock and somebody in the bar turns the jukebox up out of courtesy. </p>
<<speech "Working Girl" "Better. You're all right, you know that? I'll say so, to people it counts with." "default_female">>
<<statchange "respect" 1>>
<</replace>>
<<replace "#girl-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Decline politely">>
<<replace "#girl-output">>
<p>You tip your glass to her and stay on your stool. She shrugs - no offense taken where none was traded - finishes her drink in one economical motion, and leaves alone. Maybe that was the point all along.</p>
<</replace>>
<<replace "#girl-choice">><</replace>>
<</linkreplace>>
</div>
<div id="girl-output"></div>
<<elseif _bar <= 68>>
<p>She has the corner stool the way a general has a hill: mid-fifties, gold on every finger, drinking bourbon that Earl keeps under the bar just for her. Rumor says she owns some real estate outside the Hood and comes because the men there bore her. Tonight your glass keeps refilling and you're not the one paying.</p>
<<speech "Cougar" "Don't look so suspicious, sweetheart. At my age you learn to skip the part of the evening where we both pretend. I like them young, broke, and grateful, and you're at least two of the three. My car's out front and my building has an elevator. Well?" "default_female">>
<div id="cougar-choice">
<<linkreplace "Leave with her">>
<<replace "#cougar-output">>
<p>Her room is on the neighborhood's one good street, and she doesn't waste any of it on a tour. She takes what she paid all those drinks for - unhurried, exacting, riding you with her rings still on and her eyes open, correcting your pace like a woman conducting an orchestra she funds. She comes twice with total confidence, and by the end you've stopped being the one who thinks he's in charge. She finds that adorable.</p>
<<video "img/bar/cougar_night.webm">>
<p>After, she watches you dress with proprietary satisfaction and tucks folded bills into your jacket pocket without asking.</p>
<<speech "Cougar" "Cab money, sugar. Take the long way home - you've earned the scenery. And come drink at my end of the bar sometime. I tip better than the neighborhood does." "default_female">>
<<statchange "money" 15>>
<</replace>>
<<replace "#cougar-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Decline">>
<<replace "#cougar-output">>
<p>You thank her for the drinks and stay put. She takes it like a market fluctuation - noted, unbothered, already scanning the room for the next investment.</p>
<</replace>>
<<replace "#cougar-choice">><</replace>>
<</linkreplace>>
</div>
<div id="cougar-output"></div>
<<elseif _bar <= 76>>
<p>The door bangs open and the nightclub spills in - or one glittering piece of it does: a party girl in a dress built for a different building, mascara gone abstract, phone dead, friends lost somewhere between Club Babylon's velvet rope and here. She surveys the bar, decides you're the least alarming thing in it, and when the jukebox turns over she's suddenly grinding against you like the night depends on it, all warm skin and spilled vodka and zero sense of geography.</p>
<div id="stray-choice">
<<linkreplace "Take it to the alley">>
<<replace "#stray-output">>
<p>She's the one who pulls you toward the back door, giggling into your neck. The alley is cold and she doesn't care - hikes the dress that barely needed hiking, hooks a heel on a crate, and pulls you into her with a gasp that echoes off the brick. It's fast and greedy and completely without dignity for either of you, her nails in your shoulders, your hand over her mouth when a patrol light sweeps the alley mouth and you both freeze mid-stroke, shaking with adrenaline and something dangerously close to laughter.</p>
<<video "img/bar/stray_alley.webm">>
<p>The light passes. You finish like fugitives. She kisses you once, badly, calls you a name that is definitely not yours, and totters off toward Babylon to find her friends.</p>
<<statchange "heat" 1>>
<</replace>>
<<replace "#stray-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Pour her into a cab">>
<<replace "#stray-output">>
<p>You peel her off gently, park her on a stool, and have Earl call the one cab company that still crosses the wall. You feed her water until it arrives and tell the driver her stop like you're handing off cargo. Earl watches the whole operation and gives you the nod.</p>
<<statchange "respect" 4>>
<</replace>>
<<replace "#stray-choice">><</replace>>
<</linkreplace>>
</div>
<div id="stray-output"></div>
<<elseif _bar <= 84>>
<p>A birthday party has annexed the pool table - four women, one sash, and a body count of empty pitchers coupled with a birthday cake. The one in the sash is losing a dare negotiation with her friends, and losing it in your direction: strip stakes, one game of eight ball, and the whole bar is suddenly very invested in the sporting integrity of the occasion. She points her cue at you.</p>
<<speech "Birthday Girl" "You. You look like you can hold a cue straight. One game. I win, you're buying pitchers all night. You win... well, the girls already decided what I'm in for, and apparently it's you. No pressure." "default_female">>
<div class="req">Physical check of 40 or 40% chance...</div>
<<if $physical >= 40 || random(1, 100) <= 40>>
<p>You shoot a clean, mean game while her friends heckle both of you indiscriminately, and sink the eight with the whole bar watching. She pays up past the terms - drops to her knees behind a wall of her shrieking, cheering friends, and takes you in her mouth with the sloppy, laughing enthusiasm of a woman who is going to remember this birthday in fragments. The sash stays on, and the whipped cream for the birthday cake gets on your cock. Her friends narrate. Earl turns the jukebox up.</p>
<<video "img/bar/birthdaygirl.webm">>
<<statchange "respect" 2>>
<p>By closing time you're a minor local legend, and somebody has written the score on the chalkboard where the specials used to be.</p>
<<else>>
<p>You scratch on the eight ball like an amateur while the entire bar groans in unison. Her friends collect with glee: your ten dollars for the pitchers and, by a house amendment you never agreed to, your shirt, which the birthday girl wears out the door as a trophy. You drink the rest of your beer topless and dignified. Mostly dignified.</p>
<<statchange "money" -10>>
<</if>>
<<elseif _bar <= 92>>
<<if $ella_stage >= 5 && $ella_stage != 7>>
<p>A familiar shape at the end of the bar: Ella, at her old high chair, but different than the wreck you first met there - sitting straighter, drinking slower. She spots you before you decide whether to approach, which settles it, and pats the stool beside her.</p>
<<if $ella_stage >= 9>>
<<speech "Ella" "Of course it's you. It's just one beer I'm having, and you can keep me company.">>
<p>She's so relaxed around you now that she even strikes some poses, not minding the attention.</p>
<<else>>
<<speech "Ella" "Look who it is. Sit down before someone worse does. I'm having exactly one drink tonight, and you're going to witness it so I can prove it happened.">>
<p>She's making sure you can see her single drink - and her upskirt as a bonus.</p>
<</if>>
<<pic "img/ella/bar_random.jpg" "story">>
<p>Half the bar clocks that she knows you. Around here, being known by someone is the whole résumé.</p>
<<statchange "respect" 1>>
<<else>>
<p>The city feed cuts into the ballgame with breaking news: the checkpoint program is expanding, three new walls going up around three new neighborhoods, a state mouthpiece on a podium calling it "the model that works". The bar goes quiet. Earl reaches up without a word and changes the channel to static, and somehow the static is an improvement. Everyone drinks a little faster after that.</p>
<</if>>
<<else>>
<p>He's been in the corner booth all night - camel coat, two phones, the kind of man who visits the neighborhood but keeps the car running. Near midnight he takes a call, goes pale, and leaves practically running. It takes the booth ten minutes to stop radiating him. It takes you two to notice the envelope wedged behind the napkin dispenser: fat, sealed, and heavy.</p>
<div id="envelope-choice">
<<linkreplace "Pocket it">>
<<replace "#envelope-output">>
<<statchange "money" 40>>
<<statchange "heat" 5>>
<p>The envelope disappears into your jacket between one sip and the next. Forty dollars and no name on it - except money like this always has a name on it somewhere, and men in camel coats retrace their steps.</p>
<</replace>>
<<replace "#envelope-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Hand it to Earl">>
<<replace "#envelope-output">>
<p>You slide it across the counter. Earl weighs it in one hand, and something almost expressive crosses his face - a man recalculating a ledger entry. He stows it under the register next to the bat.</p>
<<speech "Earl" "He'll be back for this tonight, sweating, and he'll remember whose bar didn't rob him. And I'll remember who handed it over when nobody was counting. That's worth more than what's in it, if you're planning on drinking here a while.">>
<<statchange "respect" 3>>
<<if $bartender_stage < 2>><<set $bartender_stage = 2>><</if>>
<</replace>>
<<replace "#envelope-choice">><</replace>>
<</linkreplace>>
</div>
<div id="envelope-output"></div>
<</if>>
<</nobr>>/* CUT: brothel arc is not going into the next release - whole passage commented out.
<!-- IMAGE: basement brothel - bare bulbs, couches against concrete, a pegboard of car keys, a man with a ledger -->
<<if visited() == 1>>
<div class="text">The stairs under the dead laundromat go down further than they should. At the bottom: a steel door, a peephole, and then a long concrete room dressed up with rugs and lamps that only make the concrete more honest. Girls wait on two couches with their coats on - coats on, because most of the work isn't here. It's out there, past the checkpoints, in hotel rooms and gated houses where the wall is something you order delivery from.</div>
<div class="text">The man with the ledger is called Dre. Gold ring, dead eyes, arithmetic where his sentiment should be. He doesn't shake hands.</div>
<<speech "Dre" "I know who you are, and I don't care. Here's what I care about: product goes out clean, product comes back safe, clients pay invisible. The girls are mine to worry about, not yours. We clear?">>
<div class="text">Product. He means the women sitting ten feet away, close enough to hear. One of them - young, sharp-eyed, a paperback folded open on her knee - watches you take the word in, and you understand she's watching to see whether it lands. You keep your face still. Everyone here keeps their face still. That's what the place runs on.</div>
<<else>>
<p>The basement is the same at any hour - bare bulbs, coats on the couches, Dre's pen scratching in the ledger. The sharp-eyed girl with the paperback marks her page when you come in, the way other people check a clock.</p>
<</if>>
<<nobr>>
($brothel_stage: 0 local runs, 1 outside runs unlocked, 2 Dre's car earned. Future arc: the girls, and the question of taking Dre's operation down or over.)
<<if $brothel_stage == 0 && $escort_runs >= 5 && $respect >= 50>>
<p>Dre's pen stops scratching when you come in. He looks at you the way he looks at a column that finally adds up.</p>
<<linkreplace "See what he wants">>
<<speech "Dre" "Five runs. You wait with the engine on, and the girls come back. That's rarer than you'd think - most drivers think the job is the driving.">>
<p>He turns the ledger around. The addresses on the new page aren't in the hood - gated communities, serviced towers, places with fountains. Outside money, outside distances, outside risk.</p>
<<speech "Dre" "Outside runs pay outside rates. The checkpoints know my girls travel - that arrangement costs me monthly, so don't test it with a hot face. Product goes out clean, product comes back safe. Same rules, longer road.">>
<<set $brothel_stage = 1>>
<div class="req">Outside runs unlocked - richer clients, richer pay, more heat.</div>
<</linkreplace>><br>
<</if>>
<<if $brothel_stage == 1 && $escort_runs >= 12>>
<p>Tonight there's a set of car keys sitting on the ledger, and Dre's finger is holding them down like a paperweight holding down a decision.</p>
<<linkreplace "Ask about the keys">>
<<if $escort_intimacy >= 2>>
<p>The reader is on the couch, paperback closed for once. She looks up at Dre and says, to the room in general, "He's the one the girls ask for." Dre studies her, then you, and does his math.</p>
<<else>>
<p>Dre studies you for a long moment. Twelve runs. Girls out, girls back, invoices clean.</p>
<</if>>
<<speech "Dre" "Gray sedan behind the laundromat. Registered to a laundry service that hasn't washed a sheet since before the wall. The blockpost knows the car - they know exactly why it leaves the hood every night, and they are paid, monthly, to know nothing else. You drive it now.">>
<p>He slides the keys across the ledger, then puts one finger back on them, briefly.</p>
<<speech "Dre" "Understand the physics. The car passes because it's mine and the arrangement is mine. You bring militia attention onto my plates, the keys come home and you walk like everybody else. And sometimes the car works for me even when you're holding the wheel. We clear?">>
<p>Clear. In this neighborhood even freedom comes with a ledger entry.</p>
<<set $brothel_stage = 2>>
<<set $escort_car = 1>>
<div class="req">You have the use of Dre's sedan. The blockpost waves it through. "Drive out of the hood" is now available on the street, and the bus is optional.</div>
<</linkreplace>><br>
<</if>>
<<if $respect >= 50>>
<<if $energy >= 4>>
<<linkreplace "Take an escort run">>
<<statchange "energy" -4>>
<<statchange "heat" 5>>
<<set $escort_runs += 1>>
<<set _run = random(1, 100)>>
<<if _run <= 40>>
<<statchange "money" 35>>
<p>Tonight it's the reader. She gives the client's address like a weather report and reads at every red light - the paperback rides in her coat pocket the way other people carry a knife. The client is a house with a gate; business is prompt; the ride back is quiet. At the drop she peels a ten off her own roll and hands it over without looking at you.</p>
<<speech "Working Girl" "You waited with the engine on. The last driver didn't. That's the whole review.">>
<<statchange "money" 10>>
<<elseif _run <= 70>>
<<statchange "money" 35>>
<p>The checkpoint takes longer than it should. A militiaman circles the car, taps the glass, and asks what a man like you is doing driving a girl like her toward a neighborhood like that. His flashlight has already found her coat, her heels, the answer.</p>
<<set _cpChoiceMade = false>>
<div id="cp-choice">
<<if $money >= 10>>
<<linkreplace "Fold a bill into your papers ($10)">>
<<replace "#cp-output">>
<p>Your documents come back lighter and the barrier goes up. The oldest toll road in the world. She exhales through her nose, and you realize she'd been holding that breath since the flashlight came on.</p>
<<statchange "money" -10>>
<</replace>>
<<replace "#cp-choice">><</replace>>
<</linkreplace>><br>
<</if>>
<<linkreplace "Play it straight">>
<<replace "#cp-output">>
<p>You hand over papers and let the silence do the work. It costs twenty minutes, a call to someone's sergeant, and your plate number going into a notebook next to a note about the passenger. They wave you through eventually - but you're a name on a page now, attached to Dre's business.</p>
<<statchange "heat" 8>>
<</replace>>
<<replace "#cp-choice">><</replace>>
<</linkreplace>>
</div>
<div id="cp-output"></div>
<<else>>
<p>The client is a serviced apartment downtown, all glass and no neighbors. You wait in the car the way the job says. Eleven minutes in, something comes through the ceiling of the parking garage - a sound with her voice in it, then furniture, then her voice again, wrong.</p>
<<set _roughChoiceMade = false>>
<div id="rough-choice">
<<linkreplace "Go through the door">>
<<replace "#rough-output">>
<p>The apartment door is a rich man's door, which means it's decorative. You come through it on the second kick. The client is fifty, soft, and standing over her with his belt wrapped around his fist - for the money he's paying, he explains, he decides what the evening includes. You explain otherwise, briefly, in the language he suddenly speaks fluently. She's dressed and in the car in ninety seconds, holding your jacket sleeve at the wrist - not the hand, the sleeve - the whole way home.</p>
<p>Dre docks you for the door, the client, the noise. He'd have docked the client nothing.</p>
<<statchange "heat" 10>>
<<statchange "respect" 8>>
<<statchange "money" 20>>
<div class="statchange">(Your pay, docked $15 for the trouble.)</div>
<</replace>>
<<replace "#rough-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Wait in the car. It's the job.">>
<<replace "#rough-output">>
<p>You're paid to drive and to make sure she comes back - nothing in the arrangement covers what happens between the lobby and the return. You sit with both hands on the wheel. The sounds stop eventually. When she comes down she's walking carefully and her face is fixed for the checkpoint cameras, and she doesn't say a word to you, that night or ever again.</p>
<<statchange "money" 35>>
<</replace>>
<<replace "#rough-choice">><</replace>>
<</linkreplace>>
</div>
<div id="rough-output"></div>
<</if>>
<</linkreplace>><br>
<<if $brothel_stage >= 1>>
<<linkreplace "Take an outside run">>
<<statchange "energy" -4>>
<<statchange "heat" 8>>
<<set $escort_runs += 1>>
<<set _pay = 55>>
<<if random(1, 100) <= 20>>
<p>Twenty minutes into the drive, somewhere in the dead zone between the wall and the money, she reaches over and puts a hand flat on your thigh. "Long queue at the checkpoint tonight," she says, which is true, and also not what she means.</p>
<<if random(1, 2) == 1>>
<!-- VIDEO: car - road head in the checkpoint queue, dashboard light -->
<p>She goes down on you in the checkpoint queue with the handbrake digging into her ribs, unhurried, her mouth working you in the dashboard light while brake lights crawl forward ahead. You come two cars before the barrier and she sits up, checks her lipstick in the visor mirror, and hands the militiaman her papers with a face like a church portrait.</p>
<<else>>
<!-- VIDEO: car - pulled over under the wall, fucking in the back seat, dark -->
<p>You pull off under the shadow of the wall itself and she climbs over the seat, hikes her working dress, and rides you in the back of Dre's route car, fast and greedy and entirely for herself this time - the client gets the performance, you get the appetite. She comes with her hand braced on the cold window glass, leaving a print in the fog like evidence.</p>
<</if>>
<p>The timestamps run late. Dre's arithmetic notices everything.</p>
<<set _pay -= 10>>
<<statchange "heat" 3>>
<<set $escort_intimacy += 1>>
<div class="statchange">(Pay docked $10 for the timeline. Something else was earned, though.)</div>
<</if>>
<<set _outrun = random(1, 100)>>
<<if _outrun <= 40>>
<p>The client is a gated community with a name like a golf course. At the guardhouse, the client's name opens the barrier but the guard wants the driver on camera, face and plate. The girl leans across you and charms the lens down to a formality - she's done this door before. The client tips like a man buying silence in bulk, because he is.</p>
<<set _pay += 15>>
<<elseif _outrun <= 70>>
<p>Tonight it's the reader, and it's her downtown regular - a tower apartment where the doorman knows her coat. She reads in the passenger seat the whole way, one finger holding her page at the checkpoint. On the ride back she is quiet in a different key, counting her roll twice.</p>
<<speech "Working Girl" "He asks for me because I don't pretend. You wait with the engine on because you don't either. Between the two of you, a girl could almost respect this job.">>
<<set _pay += 5>>
<<else>>
<p>At the pickup, Dre himself comes down and puts a wrapped package on the passenger seat before the girl gets in. Nobody says what it is. The girl looks out her window the whole ride like the package is contagious. At the drop, a man you never see clearly takes it and holds out a folded bill toward you - a tip that isn't from the client.</p>
<<set _pkgChoiceMade = false>>
<div id="pkg-choice">
<<linkreplace "Take the extra ($20)">>
<<replace "#pkg-output">>
<p>You pocket it. Now you're not a driver who once carried a package - you're a courier who also drives. The distinction will matter someday, to a prosecutor.</p>
<<statchange "money" 20>>
<<statchange "heat" 5>>
<</replace>>
<<replace "#pkg-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Wave it off">>
<<replace "#pkg-output">>
<p>You keep both hands on the wheel and let the bill hang in the air until it goes away. The girl exhales. On the ride home she talks to you like a person, which around here is its own kind of payment.</p>
<</replace>>
<<replace "#pkg-choice">><</replace>>
<</linkreplace>>
</div>
<div id="pkg-output"></div>
<</if>>
<<statchange "money" _pay>>
<</linkreplace>><br>
<</if>>
<<else>>
<div class="req">Escort runs go all night. You don't have the energy. (4 needed)</div>
<</if>>
<<else>>
<div class="req">Dre doesn't put unknown men next to his income. (50 respect for escort work)</div>
<</if>>
<<if $money >= 30>>
<<linkreplace "Take a room here ($30)">>
<<statchange "money" -30>>
<<statchange "energy" -2>>
<<statchange "heat" 3>>
<p>Dre takes the bills without counting them - he counted them from across the room - and tips his pen toward the hallway.</p>
[[Down the hall|Brothel Room]]
<</linkreplace>><br>
<<else>>
<div class="req">A room costs $30. Dre's arithmetic makes no exceptions.</div>
<</if>>
<div class="req">The girls Dre saves for his downtown clientele aren't offered here. Not to the neighborhood. (Premium content in a future update.)</div>
[[Climb back up to the street|The Hood]]
<</nobr>>
*//* CUT: brothel arc is not going into the next release - whole passage commented out.
<p>The room at the end of the hall has a bed, a lamp with a scarf over it, and a concrete ceiling nobody bothered to paint. The girl who follows you in is not the reader - Dre keeps her for the outside money - but a tired-eyed local girl who hangs her coat on the nail like she's clocking in, because she is.</p>
<<speech "Working Girl" "Half hour. Anything past regular is extra, and you settle extras with Dre, not me. Okay? Okay.">>
<p>It's transactional and neither of you pretends otherwise - down here, pretending costs extra too. But her hands are warm and her mouth is skilled, and when she works your zipper open and takes the measure of you, the boredom in her eyes gives way to something at least resembling professional interest.</p>
<!-- VIDEO: brothel scene - blowjob, dim basement room -->
<p>She spits in her palm and works you with the efficiency of long practice, mouth and hand trading off without a wasted motion. There's no affection in it, just craft - but the craft is good.</p>
<!-- VIDEO: brothel scene - sex, girl on top -->
<p>She rides you with her eyes half-closed, chasing the clock rather than a feeling, hips grinding out the minutes. Whatever she's thinking about, it isn't in this room - but her body knows its work, and it wrings yours out thoroughly and without mercy.</p>
<!-- VIDEO: brothel scene - finish -->
<p>You finish; she's dressed before your pulse settles, coat off the nail, already gone in every way but the physical. In the doorway she pauses.</p>
<<speech "Working Girl" "You didn't try anything extra without paying. Genuinely, thanks. You'd be surprised.">>
<p>You wouldn't be, though. That's the thing about this place. Nothing down here surprises you anymore.</p>
[[Back to the front room|Brothel]]
*//* CUT: brothel arc (Dre's sedan) is not going into the next release - whole passage commented out.
<!-- IMAGE: the road out - blockpost barrier rising for a gray sedan, city skyline beyond the wall -->
<<nobr>>
<<if $escort_car != 1 or $day < $car_suspended>><<goto "The Hood">><</if>>
<<set _favor = (random(1, 100) <= 15)>>
<<set _searched = ($heat >= 60) && (random(1, 100) <= 25)>>
<</nobr>>
<<if _favor>>
<p>The sedan is where you left it behind the laundromat - but Dre is leaning on the hood, ledger under his arm, in no hurry at all. Men like him never are; the numbers come to them.</p>
<<speech "Dre" "Good timing. There's an envelope under your seat and an address in the glovebox. It rides along tonight. The car works for me - sometimes, so do you.">>
<<set _favorChoiceMade = false>>
<div id="favor-choice">
<<linkreplace "Make the drop">>
<<replace "#favor-output">>
<p>Forty minutes out of your night, an address with no name, a hand through a cracked door taking the envelope without a word. You don't ask. Not asking is the entire job description.</p>
<<statchange "energy" -2>>
<<statchange "heat" 3>>
<</replace>>
<<replace "#favor-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Not tonight">>
<<replace "#favor-output">>
<p>Dre doesn't argue. He holds out his palm, and you put the keys in it, and he walks back down into the basement without another word. The lesson costs three days of walking: the car was never a gift, it was a salary - and salaries get docked.</p>
<<set $car_suspended = $day + 3>>
<div class="req">Dre took the keys back until day $car_suspended.</div>
<</replace>>
<<replace "#favor-choice">><</replace>>
<</linkreplace>>
</div>
<div id="favor-output"></div>
<</if>>
<<if _searched>>
<p>The barrier stays down. A militiaman you don't recognize circles the sedan twice - new rotation, or new orders, or your face has simply been in too many notebooks lately. "Step out. Routine."</p>
<p>Nothing about it is routine. They take the door panels loose, sweep the wheel arches, run a mirror under Dre's clean paperwork.<<if $drug_stash > 0>> The stash comes out of your jacket in a zip-lock bag, photographed next to the plates.<<set $drug_stash = 0>><div class="statchange">(Your stash is confiscated.)</div><</if>> Your name goes into the notebook next to the plate number, underlined.</p>
<<statchange "heat" 15>>
<p>Word beats you back to the basement. Dre is waiting at the laundromat steps with his hand already out for the keys.</p>
<<speech "Dre" "My arrangement. My car. Your heat. The monthly I pay those men just went up, and until it settles, you walk like everybody else.">>
<<set $car_suspended = $day + 7>>
<div class="req">Dre took the keys back until day $car_suspended.</div>
[[Back into the hood|The Hood]]
<<else>>
<p>At the blockpost, the sergeant clocks the gray sedan from fifty meters and the barrier starts up before you finish slowing down. No papers, no flashlight, no questions - a nod that is almost professional courtesy. They know this car. They know exactly why it leaves the hood every night, and they are paid, monthly, to know nothing else. You roll through the one hole in the wall like water finding a crack.</p>
<p>And then you're outside. Clean asphalt. Streetlights that all work. A city going about its evening as if the wall were a retaining wall, something about landscaping. It's twenty minutes and a different planet.</p>
<<if $drug_stash > 0>>
<<linkreplace "Move your stash out here">>
<p>Out here the product is exotic - no corners, no lookouts, just bored money behind gym memberships and gallery openings. A gym-buddy of a gym-buddy, a bathroom at a wine bar, palms crossing palms with softer hands than you're used to. Outside prices make the corner look like charity.</p>
<<set _outsale = $drug_stash * 25>>
<<set _outheat = $drug_stash * 2>>
<<statchange "money" _outsale>>
<<statchange "heat" _outheat>>
<<set $drug_stash = 0>>
<p>Every sale out here is a thread leading back through one gate, one car, one face. Yours.</p>
<</linkreplace>>
<</if>>
<<linkreplace "Drive around a while">>
<<set _outev = random(1, 3)>>
<<switch _outev>>
<<case 1>>
<p>You idle at a red light next to a police cruiser and your pulse does what it's trained to do - but the officer glances over, sees a clean sedan with legal plates, and goes back to his phone. Out here you're nobody. After the hood, being nobody feels like witness protection.</p>
<<case 2>>
<p>You park across from a tower of glass and watch a penthouse window for a while: candlelight, a dinner party, a woman laughing with a glass of wine the size of your fist. Somewhere up there is the money that built the wall, eating dinner off the interest. One of Dre's girls is probably three floors below, being someone's secret. The city outside isn't free. It's just carpeted.</p>
<!-- IMAGE: penthouse window from street level - warm light, silhouettes, unreachable -->
<<case 3>>
<p>A supermarket, open all night, aisles wide as your whole hideout. You buy nothing. You just walk the produce section under the white light, among people who have never once counted patrol rhythms through a wall, and then you drive back before the feeling gets expensive.</p>
<</switch>>
<</linkreplace>>
<p>[[Drive back through the blockpost|The Hood]]</p>
<</if>>
*/<div class="text">Before it all went wrong, you were somebody.</div>
<div class="text">What does the mirror show?</div>
<div id="avatar-picker"><<include "AvatarPicker">></div>
<div class="text">Your real name - few people know it.</div>
<<textbox "$real_name" "Marcus" autofocus>>
<div class="guide">Quick stats guide:
<ul>
<li><span class="stat-name">Money</span> - Self-explanatory. Mostly comes from day jobs.</li>
<li><span class="stat-name">Energy</span> - Capped at 10, spent on various actions during the day. Sleep restores it.</li>
<li><span class="stat-name">Physical</span> - You're already in good shape, so this stat represents health and strength in one number. The gym and good food build it, beatings and hard work drain it, and at 0 game's over.</li>
<li><span class="stat-name">Respect</span> - Your name on the street. Mostly used for quest progression.</li>
<li><span class="stat-name">Heat</span> - Some of your actions will bring attention of law enforcement, and at higher levels it will make your life harder. Heat trickles down each day.</li>
</ul></div>
<p>[[Begin|IntroNew]]
[[Skip intro|Intro Skipped]]</p><div class="text">Skipping ahead doesn't wipe the slate. Everything that happened there still counts, and it left its marks:</div>
<<statchange "money" -25>>
<<statchange "physical" -5>>
<<statchange "respect" 2>>
<<statchange "heat" 30>>
<div class="req">The average outcome of the intro events has been applied.</div>
[[Go to the address|The hideout]]<<nobr>>
<<for _i = 1; _i <= 4; _i++>>
<<capture _i>>
<<link `"<img class='avatar-option" + ($avatar == _i ? " selected" : "") + "' src='img/misc/avatar_" + _i + ".jpg'>"`>>
<<set $avatar = _i>>
<<replace "#avatar-picker">><<include "AvatarPicker">><</replace>>
<</link>>
<</capture>>
<</for>>
<</nobr>><<nobr>>
<p>You board a pickup truck and join a company of sturdy, seasoned men. Driver, also the foreman, takes you away from the city to some distant community, where the wealthy build themselves palaces to indulge in vanity. On the positive note, the air is fresh, the sky is clear, and you feel almost reunited with nature - before starting the long shift of heavy work.</p>
<<album "img/construction/background_" 2 "jpg" "location">>
/* Rank ladder on $construction_rep. The body is the resume: under 35 physical you're day-labor meat no matter what the foreman remembers about you. */
<<if $physical < 35>>
<<set _rank = 0>>
<<elseif $construction_rep >= 25>>
<<set _rank = 3>>
<<elseif $construction_rep >= 12>>
<<set _rank = 2>>
<<elseif $construction_rep >= 5>>
<<set _rank = 1>>
<<else>>
<<set _rank = 0>>
<</if>>
<<switch _rank>>
<<case 0>>
<<if $construction_rep >= 5 && $physical < 35>>
<div class="req">The foreman looks at your hands, then at your face, and doesn't quite meet your eyes. However long you've hauled for him, a worn-out body gets the worn-out body's tasks. Day-laborer work, day-laborer pay.</div>
<<else>>
<div class="req">Day laborer. You're a pair of hands off the truck, interchangeable with any other pair.</div>
<</if>>
<<case 1>>
<div class="req">Regular. The foreman points at you first when the truck fills up.</div>
<<case 2>>
<div class="req">Trusted crew. You get the tasks that need a brain attached to the back.</div>
<<case 3>>
<div class="req">Foreman's guy. When he steps off site, he leaves you holding the clipboard.</div>
<</switch>>
<<linkreplace "Break the sweat">>
/* ==== The shift itself ==== */
<<set _results to random(0, 100)>>
<<if $physical < 35>>
<<set _base to 3>>
<p>You've grown too weak for this kind of work, and your earnings are lowered.</p>
<<elseif $physical < 60>>
<p>Your body can handle heavy labour.</p>
<<set _base to 5>>
<<else>>
<p>With your strength, you're able to perform more work than others, and thus earn more.</p>
<<set _base to 8>>
<</if>>
<<switch _rank>>
<<case 1>><<set _base += 2>>
<<case 2>><<set _base += 4>>
<<case 3>><<set _base += 6>>
<</switch>>
/* Injury is a 10% band (65-75); trusted crew get the safer tasks and halve it */
<<if _rank >= 2>><<set _injuryCut = 70>><<else>><<set _injuryCut = 75>><</if>>
<<statchange "energy" -5>>
<<statchange "construction_rep" 1>>
<<if _results < 65>>
<<if _rank == 3 && random(1,100) <= 35>>
<p>The foreman drives off to another site mid-morning and leaves you the crew. You spend the day pointing instead of lifting, settling two arguments and catching one mistake in the plans before it got poured in concrete. The men listen. That's not nothing.</p>
<<set _pay = _base*2 + 10>>
<<else>>
<p>It ain't much, but it's an honest work. When boarding the truck back to the city, you feel good about yourself - your hands created something today that may last longer than you live, even if that's some rich prick summer house.</p>
<<set _pay = _base*2>>
<</if>>
<<elseif _results < _injuryCut>>
<p>You injured yourself and barely did any work. The pay is lowered, not to mention the effects on your health.</p>
<<set _pay = _base>>
<<statchange "physical" -5>>
<<else>>
<p>Today, you've made so much progress that the foreman gives you a bonus! Unbelievable, I know.</p>
<<set _pay = _base*4>>
<<statchange "construction_rep" 2>>
<</if>>
<<if random(1,100) <= 15>>
<p>At the end of the day, the envelope is light. You count it twice in the truck, once more at home. The number doesn't change. Neither does anything else - the foreman shrugs, the client "adjusted the estimate", and the men who complain don't ride the truck next week. Honest work means the stealing is done to you politely.</p>
<<set _pay = Math.trunc(_pay / 2)>>
<div class="statchange">(Half your pay never made it into the envelope.)</div>
<</if>>
<<statchange "money" _pay>>
/* ==== Random event: the client's wife ==== */
<<if random(1,100) <= 10>>
<hr class="section-break">
<p>All afternoon there's a figure at the pool house window of the main residence - the client's wife, drink in hand, watching the crew work shirtless in the sun the way other people watch nature documentaries. The older guys don't even look up anymore. "The zoo goes both ways," one mutters.</p>
<<if _rank == 3 && $construction_wife == 0>>
<<linkreplace "Answer the look">>
<p>When the foreman sends you to the main house to check a fitting, she's waiting in the cool dark of the living room like it's a coincidence, silk robe doing the absolute minimum. "You're the one he trusts," she says, and puts your dusty hand flat on her breast. "So I can trust you to be quiet."</p>
<<video "img/construction/bored_wife.webm">>
<p>She shoves you down onto the pale designer couch she picked out of a catalogue, drops the robe somewhere behind her, and climbs on before your boots are even off, working herself down onto your cock in short greedy sinks, laughing at how much she has to stretch to take the whole thing. Then she starts riding you like the couch owes her money.</p>
<<set $construction_wife = 1>>
<<if random(1,100) <= 50>>
<p>You're two steps out the patio door when you meet the foreman's eyes across the yard. He doesn't say a word on the ride home. Next morning, the word is the client requested "a different crew composition". No pay docked, no scene - you just don't ride the truck for a week. Rich men don't punish you. They just make you disappear from the schedule.</p>
<<set $construction_banned = $day + 7>>
<<else>>
<p>Nobody sees you leave. On the ride home the foreman hands out the envelopes and yours has an extra ten in it - "client satisfaction bonus," he says to the windshield, absolutely without expression. You decide not to think about how many crews have had this exact bonus.</p>
<<statchange "money" 10>>
<</if>>
<</linkreplace>>
<</if>>
<</if>>
/* ==== Quest hook: community library ==== */
<<if $community_quest == 3 && $foreman_help == 0>>
<hr class="section-break">
<<linkreplace "Ask foreman for help with community library">>
<<if $construction_rep > 5>>
<p>You speak with the foreman about the community library. He thinks briefly before agreeing to lend you the tools and maybe even check out the site himself. Now, the renovations should progress faster!</p>
<<set $foreman_help to 1>>
<<else>>
<p>You need to gain foreman's trust before asking something like that.(construction_rep > 5)</p>
<</if>>
<</linkreplace>>
<</if>>
/* ==== Random event: the after-work hangout ==== */
<<if random(0,100)>50 && $money > 5 >>
<hr class="section-break">
<p>The foreman proposes that all workers hang out after a day of good work - it seems like a local tradition. To join, you need to chip in for a beer.</p>
<<linkreplace "Join the hangout">>
<<statchange "money" -5>>
<<statchange "construction_rep" 2>>
<<if random(0,100)>=50>>
<p>Sipping cold beer after a day of hard work makes you forget about the outside world. You share some stories and get to know each other better.</p>
<<else>>
<p>This time, you have collected enough money for a beer, and the extra goes on hiring a prostitute, a girl foreman seems to know.</p>
<<if _rank == 0>>
<p>The blonde slut enjoys the fuck train, but the pecking order is the pecking order: new hands go last. By the time the crew waves you over she's a used-up, cum-drooling mess and the truck is honking - you get a sloppy thirty seconds of her tired mouth before the foreman calls time. The guys laugh and slap your back. "Stick around, rookie. Seniority has benefits."</p>
<<video "img/construction/rookie_blowbang.webm">>
<<elseif _rank <= 2>>
<<set _hangout_vids to either("img/construction/hangout_1.webm","img/construction/hangout_2.mp4")>>
<p>The blonde slut enjoys the fuck train, and you bond while waiting for your turn - a real turn now, not the rookie scraps. When it comes, you fuck her over the tailgate to a chorus of cheers while she begs for it louder than she needs to, professional to the bone, and the crew ranks your form like judges at the Olympics.</p>
<<video _hangout_vids >>
<<else>>
<p>Foreman's guy gets the foreman's treatment: tonight there are two girls, and the "tradition" stops pretending it's anything but what it is - a crew orgy in an unfinished four-million-dollar living room. The blonde rides one of the masons on a stack of insulation while her friend, a wiry brunette with a filthy mouth, pulls you down onto the plastic sheeting and impales herself on your cock, narrating to the room exactly how the foreman's guy measures up. You spit-roast her with the crane operator until she's shaking, swap, and finish on the blonde's face next to two other loads. Somebody's radio plays through all of it. Monday you'll pour a floor over this exact spot.</p>
<<video "img/construction/final_party.webm">>
<p>Shared beer is shared beer, but this - this is shared trust. The crew treats you different after.</p>
<<statchange "construction_rep" 2>>
<</if>>
<</if>>
<</linkreplace>>
<</if>>
<</linkreplace>>
<hr class="section-break">
<<if $ella_end_quest == 1 && $ella_end_construction == 0>>
<<linkreplace "[Ella]Steal some materials">>
<p>It's not that you are stealing from the foreman, but probably he will be the one to blame. He'll make it, though; no construction is ever done by the books.</p>
<<set $ella_end_construction = 1>>
<</linkreplace>><br>
<</if>>
[[Go back|The Hood]]
<</nobr>>/*
Shared new-day backend for every sleep passage (Sleep, Closet Sleep, ...).
Narration stays in the individual passages - this only mutates state.
<<newday>> - resets daily counters, advances $day, decays heat/laying_low,
and runs the rent-due check. Sets _rent_due so the calling passage can
render its own rent narration (and apply the money/respect statchange).
Rent contract for any new sleep passage: $20/week, first envelope day 15,
then every 7 days, wherever the player slept. When _rent_due is true the
passage MUST offer the choice rather than deduct silently - pay $20 (only
shown if $money >= 20), or leave it empty for -10 respect while broke /
-20 respect while holding the money. Put the passage's continue link
inside each branch's <<replace "#output">> so the choice can't be skipped,
and show <<rentinfo>> on the hub that leads to the bed.
*/
<<widget "newday">>
<<set $eat_today to 0>>
<<set $nextday to 0>>
<<set $savannah_action_made to 0>>
<<set $savannah_observation_made to 0>>
<<set $hacked_had_sex_today to 0>>
<<set $school_tasks_done to 0>>
<<set $school_time = "morning">>
<<set $day += 1>>
<<set $heat = Math.max(0, Math.min(100, $heat - 3))>>
<<if $laying_low > 0>><<set $laying_low -= 1>><</if>>
<<set _rent_due = not $rent_waived && $day >= 15 && ($day - $rent_day) >= 7>>
<<if _rent_due>><<set $rent_day = $day>><</if>>
<</widget>>
/*
<<schoolpay>> - the school's weekly wage. Self-contained (checks, narrates
and pays) because unlike rent there is no choice to present, and it used to
live on the Outside passage: a player who slept in the closet and never
punched out that way was never paid at all, with no back-pay. Call it right
after <<newday>> in every sleep passage.
*/
<<widget "schoolpay">>
<<if $school_job >= 1 && ($day - $school_pay_day) >= 7>>
<<set $school_pay_day = $day>>
<p>Payday. The envelope from the front office holds what this school thinks a week of your back is worth.</p>
<<statchange "money" 25>>
<</if>>
<</widget>>
/*
<<rentinfo>> - small notice about the next room payment: when and how much.
Before the first envelope $rent_day is still 0, so the first due date is
day 15 - the same gate <<newday>> uses. Silent only while rent is waived.
*/
<<widget "rentinfo">>
<<if not $rent_waived>>
<<set _rentNext = $rent_day > 0 ? $rent_day + 7 : 15>>
<<set _rentIn = _rentNext - $day>>
<div class="req">Room rent: $20<<if $rent_day == 0>>, first envelope on day _rentNext<<else>>, next envelope on day _rentNext<</if>><<if _rentIn <= 0>> (this morning)<<elseif _rentIn == 1>> (tomorrow morning)<<else>> (in _rentIn days)<</if>>.</div>
<</if>>
<</widget>>/* CUT: street corner arc is not going into the next release - whole passage commented out.
<!-- IMAGE: street corner at night - dealers in hoodies under a dead sodium light, lookout kid on the step -->
<<if visited() == 1>>
<div class="text">The corner works the way corners have always worked: two young men under a dead streetlight who are never quite facing you, a kid on a step whose whole job is his eyesight, and a rhythm of hand-to-hand traffic timed between patrol passes. In a neighborhood the banks redlined and the employers fled, this is the stock exchange. Everybody hates it. Everybody's cousin works it.</div>
<div class="text">The taller one gives you the chin-up nod of a man who has already asked around about you. Around here, that's a letter of introduction.</div>
<<set $dealer_stage = 1>>
<<else>>
<p>The corner hums at its usual frequency - the lookout kid on the step, the two silhouettes under the dead light, the traffic of palms.</p>
<</if>>
<<nobr>>
<<if $drug_stash < 5>>
<<linkreplace "Buy product ($10)">>
<<if $money >= 10>>
<<statchange "money" -10>>
<<set $drug_stash += 1>>
<<statchange "heat" 1>>
<p>A palm crosses a palm. You're carrying now - one more reason to walk carefully. (Stash: $drug_stash/5)</p>
<<else>><p>No credit on the corner. Come back with cash.</p><</if>>
<</linkreplace>><br>
<<else>>
<div class="req">You're carrying as much as one man can explain away. (Stash full: 5/5)</div>
<</if>>
<<if $drug_stash > 0>>
<<linkreplace "Sell your stash here">>
<<if random(1, 100) <= 10>>
<p>Halfway through the count, the lookout kid whistles the bad whistle. A cruiser noses around the corner at walking speed. The stash goes down a storm drain - the only bank that never gives anything back - and everyone becomes a man waiting for a bus.</p>
<<set $drug_stash = 0>>
<<statchange "heat" 3>>
<<else>>
<<set _sale = $drug_stash * 15>>
<<set _saleheat = $drug_stash * 2>>
<<statchange "money" _sale>>
<<statchange "heat" _saleheat>>
<<set $drug_stash = 0>>
<p>Corner prices are honest, at least: modest margins, high turnover, no questions.</p>
<</if>>
<</linkreplace>><br>
<</if>>
<<if $dealer_stage == 1>>
<<if $respect >= 25>>
<<linkreplace "Ask for work">>
<p>The taller one hears you out, then studies the street over your shoulder for a while.</p>
<<speech "Dealer" "Everybody vouches for you, that's the funny thing. The library man, the gym man. A citizen. So understand what you're asking - this ain't citizen work.">>
<p>You know exactly what it is. It's also forty-five dollars a night in a neighborhood where the warehouse pays forty for breaking your back. He reads your face and nods, slow.</p>
<<speech "Dealer" "Shift work. You hold, you serve, you keep the count straight. The kid whistles, you walk - you don't run, running is a confession. We square up at close.">>
<<set $dealer_stage = 2>>
<</linkreplace>><br>
<<else>>
<div class="req">The crew doesn't put strangers on. (25 respect to ask for work)</div>
<</if>>
<</if>>
<<if $dealer_stage == 2>>
<<if $energy >= 5>>
<<linkreplace "Run a shift">>
<<statchange "energy" -5>>
<<statchange "heat" 12>>
<<set _night = random(1, 100)>>
<<if _night <= 35>>
<<statchange "money" 45>>
<p>A steady night. Palms, counts, patrol gaps. You learn the corner's grammar - who buys to function, who buys to disappear, which regulars you quietly shortchange toward quitting. At close, the tall one counts your cut without ceremony.</p>
<<elseif _night <= 62>>
<<statchange "money" 60>>
<p>Word's out that the corner has a new face who doesn't skim and doesn't panic. Volume is up. The tall one adds a bonus to your cut with the closest thing to a smile the corner allows.</p>
<<elseif _night <= 74>>
<p>Past midnight, a girl materializes at your elbow - early twenties wearing late thirties, pretty underneath the chemistry, scratching one forearm in the slow rhythm of need. She's eight dollars short and both of you know she was eight dollars short before she counted.</p>
<<speech "Junkie Girl" "I'm good for it. Or - I'm good for it right now, behind the laundromat. Whatever you want. I used to charge real money for this, you know. Ask anybody.">>
<<set _junkieChoiceMade = false>>
<div id="junkie-choice">
<<linkreplace "Take the trade">>
<<replace "#junkie-output">>
<p>Behind the laundromat she's on her knees before you've agreed out loud, working your belt with fingers that only stop shaking once they have a task. She wasn't lying about the old job - the mouth is professional even if nothing else about her is anymore, hungry and expert and horribly efficient, eyes closed, already somewhere else, already high on the arithmetic of what comes after.</p>
<!-- VIDEO: alley behind laundromat - desperate junkie blowjob, harsh light -->
<p>You finish, she wipes her mouth with the back of her wrist, takes the wrap, and is gone around the corner without a word - no coat, wrong shoes, all appetite. She'll be back tomorrow, and the day after, each time a little worse. You've just taught her the new exchange rate.</p>
<<if $drug_stash > 0>>
<<set $drug_stash -= 1>>
<div class="statchange">(One unit of your own stash covered the dose. Stash: $drug_stash/5)</div>
<<else>>
<div class="statchange">(The dose comes out of your count at close. -$15)</div>
<<set $money = Math.max(0, $money - 15)>>
<</if>>
<<statchange "respect" -2>>
<p>The lookout kid saw. The tall one hears about it by close and says nothing, which is how the corner says everything: dealers who take pussy instead of money look hungry, and hungry looks weak.</p>
<</replace>>
<<replace "#junkie-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Wave her off">>
<<replace "#junkie-output">>
<p>"Money or walk." She curses you with startling creativity and dissolves back into the dark to find a softer dealer - and she will find one. You didn't save her. You just declined to be the one holding the leash tonight. The tall one clocks the exchange from across the street and gives you a slow nod.</p>
<<statchange "respect" 1>>
<</replace>>
<<replace "#junkie-choice">><</replace>>
<</linkreplace>>
</div>
<div id="junkie-output"></div>
<<statchange "money" 45>>
<<elseif _night <= 87>>
<<if $physical >= 50>>
<<statchange "money" 45>>
<p>Around two, three men from the eastside crew arrive to explain that this corner is changing management. You step out from under the light so they can see the whole silhouette, and the negotiation concludes itself. The crew notices you didn't need to throw a punch. The best muscle never does.</p>
<<statchange "respect" 3>>
<<else>>
<<statchange "money" 35>>
<<statchange "physical" -5>>
<p>Around two, the eastside crew comes through swinging. You hold the corner - barely - at the cost of a split lip and a boot print on your ribs. The count comes up short too. Some nights the job is just paying the neighborhood's taxes in blood.</p>
<</if>>
<<else>>
<<statchange "heat" 10>>
<p>The kid whistles mid-transaction and the night ends in a foot chase through back lots, product ditched, customers scattered. Nobody's caught, but nobody's paid either - and a patrol got a good look at the new face on the corner.</p>
<</if>>
<</linkreplace>><br>
<<else>>
<div class="req">A shift on the corner runs till close. You don't have it in you tonight. (5 energy needed)</div>
<</if>>
<<if $respect >= 25>>
<<if $day >= $protection_until>>
<<linkreplace "Pay for the lookouts ($30 for the week)">>
<<if $money >= 30>>
<<statchange "money" -30>>
<<set $protection_until = $day + 7>>
<p>You peel off thirty and the tall one folds it away without counting - counting would be an insult, and you've earned better. He tips his chin at the kid on the step, then at the rooftops.</p>
<<speech "Dealer" "You're on the network now. The kid whistles for you same as for us. Rooftop eyes, bicycle bells, the whole telegraph. Patrols don't surprise family.">>
<div class="req">The corner's early-warning network covers you for 7 days. Patrols will have a harder time catching you slipping.</div>
<<else>><p>The network runs on cash, not credit. Thirty, up front.</p><</if>>
<</linkreplace>><br>
<<else>>
<div class="req">The lookouts are watching your back until day $protection_until.</div>
<</if>>
<</if>>
<<if $brothel_unlocked == 0>>
<<linkreplace "Ask what else moves money around here">>
<p>The tall one weighs you for a second, then tips his head toward the dark end of the block.</p>
<<speech "Dealer" "Basement under the old laundromat. Man called Dre runs girls out of there - not for the neighborhood, for the <i>outside</i>. Rich boys downtown pay a fortune for a taste of what they built the wall around. It's ugly money. Dre's always looking for serious men. Tell him the corner sent you.">>
<<set $brothel_unlocked = 1>>
<</linkreplace>><br>
<</if>>
<</if>>
[[Back to the block|The Hood]]
<</nobr>>
*/<<switch $ella_stage>>
<<case 0>>
She looks miserable.
<div class="text">You slide onto the stool next to her, offering a nod. She glances at you, her tired eyes briefly scanning your face before returning to her drink.
<<speech "You" "Didn't expect to see someone like you here.">>
<<pic "img/ella/ella_cold_bar.jpg" "story">>
She smirks faintly, though it doesn't reach her eyes.
<<speech "Ella" "Yeah, well, I didn't expect to lose everything, either.">>
That sounds like an invitation for a conversation - and it seems she craves someone to listen. Her name is Ella. She used to run the community library a few blocks over - the heart of the neighborhood, she explains, until a far-right militia torched it during the last neighborhood raid. The Oath Boys, she says, with a face like the words taste bad - the regime's volunteer militiamen, the ones who run the blockposts. Grown men in surplus camo and homemade armbands who practice their salutes in parking lots and can't wait for a reason to use the rest of the costume.
<<speech "Ella" "I'm trying to rebuild it... But I can't do it alone, and everyone fears the Oath Boys will retaliate again.">>
The way she looks at you, there's no mistaking the ask. And something about her determination, despite everything, makes it hard to say no.</div>
<<set $community_quest to 1>>
<<set $ella_stage to 1>>
<<case 1>>
<p>You tell her that you started working on the community library.</p>
<<speech "Ella" "Whaaaaaat, get out, dude... This is fucking awesoooome! I'll have a job again!">>
<p>Ella leans closer - much closer - one hand landing on your forearm and staying there, her eyes doing something that would be dangerous if they could focus.</p>
<<pic "img/ella/stage1.jpg">>
<<speech "Ella" "You want somethin' in return, riiiight? Like, I owe you a handjob or something?">>
<p>She sways into your shoulder and stays there a beat too long, and there's no mistaking the invitation floating somewhere behind the booze. There's also no taking it. She reeks of whiskey, and she's closer to puking or falling asleep than to whatever she thinks she's suggesting.</p>
<<speech "You" "Tell me all about it when you can say it without holding onto the bar. How about I get you home? You look like you need some rest.">>
<<speech "Ella" "Meeee, cmooon... well, I guess you're right.">>
<p>Convincing her was easier than you expected. You asked the bartender to call for a trusted taxi driver and get Ella inside the cab. You make sure the driver realizes that in case anything happens to her, you will find him - and you will kill him.</p>
<<speech "Taxi driver" "Relax, man, I'll get her home safe. You can have my word." "taxi_driver">>
<p>You get back in the bar only when you are assured that Ella will be driven home safely and even escorted to the door. The bartender nods to you respectfully. You nod back.</p>
<<statchange "money" -5>>
<<statchange "respect" 10>>
<<set $ella_stage to 2>>
<<set $ella_next_day = $day + 1>>
<<case 2>>
<p>Ella isn't at the bar these days - the bartender says she's been at the library site since morning, sober as a judge. You should find her there.</p>
<<case 3>>
<p>Ella practically lives at the library site now. If you want her, that's where she'll be - probably with a clipboard.</p>
<<case 4>>
<div class="text">The library is open again, a patchwork of old and new. The charred walls have been scrubbed clean, though you can still pick out the fire's scars if you know where to look. Shelves cobbled together from scavenged wood line the walls, sparsely filled with books saved from the ashes - the "lives" stack, every volume of it. The bumpy floor gleams faintly under the dim light of repurposed fixtures. A handmade sign above the entrance reads, "Community Library: Open Again," painted with uneven strokes but brimming with pride.
Ella steps inside, her footsteps echoing softly. She runs her fingers along a shelf, pausing to pick up a book whose edges are singed but pages intact - the picture book with the paper sun. Her eyes glisten as she looks around, taking in the quiet resurrection.</div>
<<speech "Ella" "This... This is more than I ever thought possible. Sure, some books are destroyed, but now we have space to conduct community meetings and workshops. This could be a beating heart of the neighborhood!">>
<p>She continues, with her voice catching:</p>
<<speech "Ella" "You gave people something to hope for.">>
<p>Her smile, tired but radiant, says everything words cannot. There is nothing else left in the world but to hug Ella. You embrace her tiny body and feel how she melts in your hands. For some time, you stand in the middle of the renewed library and enjoy the moment - until Ella reaches up, and your lips connect. This is sudden but also expected - it's been coming since the salvage day, since the coffee, maybe since the taxi. You return the kiss.</p>
<<video "img/ella/first_kiss.webm" >>
<p>It breaks slowly. She stays in your arms, forehead against your chest, and when she speaks it's half into your shirt:</p>
<<speech "Ella" "Tomorrow's the opening. The whole neighborhood is coming, and I intend to be respectable for every excruciating minute of it. But after we close up... stay. I mean it. Stay.">>
<p>She looks up to make sure you've understood her - you have, completely - and then steps back, all business again, smoothing her shirt and pointing you at a crooked shelf that needs fixing before tomorrow.</p>
<<set $ella_stage to 5>>
<<set $ella_next_day = $day + 1>>
<<set $community_quest to 4>>
<<statchange "respect" 40>>
<<case 5>>
<<if $day >= $ella_next_day>>
<p>The room hums around her all afternoon, and through all of it, every time you look at Ella, she's already looking at you.</p>
[[Stay past closing|EllaFirstNight]]
<<else>>
<div class="req">The grand opening is tomorrow. Ella made you promise to be there - and to stay after.</div>
<</if>>
<<case 6>>
<<if $target1 >= 4>>
<p>You go looking for Ella at the library, but her desk holds only a note: "brb". You wait some more, but she's clearly not returning to her work any time soon. Where else could she be?</p>
<<set $ella_stage to 7>>
<<else>>
<<pic "img/ella/stage3.jpg">>
<p>Ella is busy bringing the library back to life.</p>
<<speech "Ella" "Hey, good to see you - but let's talk later, OK? I have so many things to do here...">>
<div class="req">You both have a job to do - return when you have finished your first task from Jamal.</div>
<</if>>
<<case 7>>
<p>Eager to find Ella after a long time in hiding, you go to the library only to find a note "brb" at her desk. You wait some more but realize she's not returning to her work any time soon. Where else could she be?</p>
<<case 8>>
<<speech "You" "Hey, Ella... Are you alright?">>
<<pic "img/ella/first_meeting.jpg">>
<p>She looks at you as if surprised to see you.</p>
<<speech "Ella" "Wooooaaah, look what the cat dragged in! I was in the process of accepting that I might never see you again, and here you are...">>
<p>Ella grabs the glass and chugs her drink, not looking at you. Wait, is this all because of you?</p>
<<speech "Ella" "So, will you explain yourself, mister?">>
<<speech "You" "What do you want to hear?">>
<<speech "Ella" "How about... WHY HAVE YOU DISAPPEARED WITHOUT SAYING A WORD TO ME?!!">>
<p>The bartender politely looks the other way, pretending that he - and the rest of the patrons - can't hear the fight starting between you.</p>
<<speech "Ella" "And then *burp*, when I'm all worried about your life, this video comes up where you fucking this bimbo cow, and I realize that you just didn't care. Maybe I'm a stupid girl who thought we had something. Or is my tits too small for you?">>
<p>She starts sobbing, and it's pathetic. You need to take some action.</p>
<<speech "You" "Look, I can explain everything. First, I do care about you. This time, while I was away, I thought a lot about you. Second... Sorry, I guess I've never thought we have established a relationship. How about we fix that? Let's go on a date.">>
<p>Ella looks at you, drunk, sobbing, but with a faint smile on her lips.</p>
<<speech "Ella" "Let's go, I guess... Meet me here tomorrow?">>
<<speech "You" "I will.">>
<p>You kiss her lips - she tastes salty from tears. Then, as usual, you get her a taxi home.</p>
<<speech "Taxi driver" "..." "taxi_driver">>
<p>Now... You would need to prepare for a date!</p>
<div class="req">You would need some cash - $50 would do - and 60 respect to pull a favor from an old acquaintance.</div>
<<set $ella_next_day = $day + 1>>
<<set $ella_stage = 9>>
<<case 9>>
Meet Ella at the bar when you are ready.
<<case 10>>
<<speech "Ella" "Made up your mind?">>
<<include "EllaChoice">>
<<case -1>>
Ella is packing the books in boxes - it seems she has found the buyer. Are you ready to go?
<<if $ella_end_car == 0>>
You need some wheels. Check out the neighborhood for a car to hijack.
<<elseif $ella_end_construction == 0>>
You should check the construction site; there are a lot of valuable things lying around.
<<elseif $ella_end_warehouse == 0>>
Check if you can steal some packages in the warehouse.
<<elseif $ella_end_bar == 0>>
A lot of cash is going through the bar; you can rob the Earl of some of it.
<<elseif $ella_end_hacker == 0>>
Adriana has a lot of electronics at her place. She won't notice some missing.
<<else>>
You have the wheels, cash, and a lot of stolen stuff to sell later. Time to [[hit the road|EllaEnding]].
<</if>>
<<case 11>>
<<if $knowledge<20>>
<div class="req">You need to raise your knowledge to 20 to proceed with Ella.</div>
<<else>>
[[Talk with Ella about what you read.|Ella_v3]]
<</if>>
<<case 12>>
<<pic "img/ella/eoc.jpg">>
This is the end of content for Ella. <<if $ella_mmf_stage >=0>>Except that MMF scene available after meeting with Jamal in the library.<</if>>
Stay tuned!
<</switch>>
<<return>><<pic "img/ella/date/meet_1.jpg">>
<p>You haven't seen Ella so gorgeous yet. Wearing a short black dress and evening makeup, she attracts a lot of gazes from the bar patrons, who - just like you - get used to seeing her either as a bookworm or a drunk woman down on her luck.</p>
<<speech "You" "You look beautiful, Ella.">>
<<speech "Ella" "Is that the first compliment you ever gave me?">>
<<speech "You" "I promise it won't be the last. Shall we?">>
<p>You leave the bar and get inside the taxi with a familiar driver.</p>
<<speech "Taxi driver" "Finally you drive together. Where to?" "taxi_driver">>
<div class="text">There aren't a lot of opportunities for a good night out in your depressed neighborhood, and in the city, typically, you'd attract too much attention - both because you're poor and because you are black and Ella is white. Thankfully, you've pulled some strings, unearthed some old connections from your service, and managed to get a table at a decent restaurant at one of the hotels Downtown, and if everything goes well, you even arranged a suite at the same place.
You arrive at the destination and sit in a quiet corner of a cozy restaurant; just as you were told, you don't get any sidelong glances in this place. Accompanied by good food and drinks, you have a lively conversation, sharing your stories and getting to know each other better.</div>
<<pic "img/ella/date/meet_2.jpg">>
<hr>
<<speech "Ella" "My parents were British, but I spent my childhood all over the globe. After uni, I stayed in the States and, well, never left.">>
<hr>
<<speech "You" "Jeremy, my brother, is my only family.">>
<hr>
<<speech "Ella" "I wish one day to write a novel about what I've seen. Maybe it can change things.">>
<hr>
<<speech "You" "I hope I never have to shoot a gun ever again. Some of my comrades enjoyed what we did overseas, but not me.">>
<hr>
<<speech "Ella" "Have you seen the library at dawn? It fills with this beautiful glow, and even the neighborhood does not look that depressing.">>
<hr>
<<speech "You" "I should one day show you the place I worked at outside the city. The nature is simply ethereal there.">>
<hr>
<<speech "Ella" "I miss mountains. And snow.">>
<hr>
<p>Among everything, you partly disclose your 'fight' against the state; Ella is dumbfounded, reasonably, and you quickly switch topics.</p>
<hr>
<p>It feels weird that your relationship started with a thank-you blowjob and not a proper date like that. This evening was lovely, maybe the best since your return to the country.</p>
<<speech "Ella" "This was so nice. I wish we didn't have to go back to our usual lives.">>
<<speech "You" "How about instead of a taxi, we take an elevator to a better place?">>
<<speech "Ella" "What? Don't tell me...">>
<p>There is no way you could have afforded the suite here; technically, you're not even staying here, just happening to know an empty room with an open door, thanks to a friend of a friend in the hotel staff.</p>
[[Take the elevator|EllaDate_2]]<<pic "img/ella/date/hotel.jpg">>
<<speech "Ella" "Haven't taken you for a romantic type.">>
<<speech "You" "I just work with what I have.">>
<p>You excuse yourself to the bathroom and later find Ella on the balcony without her dress. The gorgeous redhead is busy looking at the night cityscape, but you can't look anywhere but her plump butt.</p>
<<pic "img/ella/date/pose.jpg">>
<<speech "Ella" "Check out the view from here!">>
<<speech "You" "Oh, I'm checking it already.">>
<<speech "Ella" "I bet you do.">>
<p>You embrace her for a kiss and make out, feeling yourself on top of the world. Your daily struggles and problems are all down there, unreachable, meaningless - all that matters is Ella in your hands.</p>
<<speech "Ella" "Take me inside. And... I want to film myself like you film that policeman's wife.">>
<<speech "You" "Why?">>
<<speech "Ella" "Why? I don't know... Maybe I'm still jealous? Want to do things you did with her? You'd better pull out that big black cock before we dig too deep.">>
<<video "img/ella/date/1_reveal.webm" >>
<p>Holding her phone in one hand, Ella records herself kneeling before your dick. She plays for the camera as if proving that she could be blacked out as well as any other wife you have sex with.</p>
<<nobr>><<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Just enjoy">>
<<set _choiceMade = true>>
<<replace "#output">>
<<video "img/ella/date/2_blowjob.webm" >><br>
<p>You relax and let Ella do the job. She plays with your glans, kissing it and wrapping it with her lips. You are too big for her to handle, but this doesn't stop you from enjoying the blowjob. You wished Ella maintained eye contact with you and not the camera, but it's her game to play.</p>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Just enjoy"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Treat her rough">>
<<set _choiceMade = true>>
<<replace "#output">>
<<speech "You" "If you really want to have the blacked experience, get ready.">>
<<video "img/ella/date/3_facefuck.webm" >><br>
<p>You pin Ella against the wall and push your dick as far as you can in her throat - not far, but deep enough to feel her whole head wrapped around your giant cock. She gags and coughs but undoubtedly enjoys how you handle her.</p><</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Treat her rough"</em></div><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>>
<<linkreplace "Continue in bed...">>
<<video "img/ella/date/4_ride.mp4" >>
<p>It's time to put the hotel bed to the test. Since this is your first time, you put Ella on top to control the depth and speed - you don't want to hurt her by slamming your dick in her tiny pussy. She takes more of your dick than you would have expected, and when you switch positions, you are not afraid of rapid movements.</p>
<<video "img/ella/date/5_missionary.webm" >>
<p>With her legs spread, pussy open, Ella is ready to take your black cock, and you unite in passionate lovemaking. You should have done it long ago, claimed this ginger pussy the first moment you saw her - but now you own it, and it's all that matters.</p>
<<video "img/ella/date/6_cum.mp4" >>
<p>You finish with a facial, feeding Ella your cum. She happily catches every last drop of your semen, and you go back into bed for cuddles. You lie in bed with a happy woman you like - finally at peace...</p>
[[Next|EllaDate_3]]
<</linkreplace>><p>You accidentally fall asleep and wake up when it's still dark. Ella is already up, sitting near the window; she looks moody. How long has she been there?</p>
<<pic "img/ella/date/dawn.jpg">>
<<speech "You" "Good morning... is it morning? We might have to leave soon.">>
<<speech "Ella" "I wish we stayed here.">>
<<speech "You" "Hey, is something troubling you?">>
<<speech "Ella" "Well... Don't get me wrong, yesterday was magnificent. So good I don't want to get back to my normal life in the slums. To the life where I have to share you with other women.">>
<p>This conversation is unavoidable; you want to be more than friends with benefits, but you need to set up some rules.</p>
<<speech "You" "You know it's different. With what I do, I can achieve something; with that policeman's wife, I wasn't doing it because I wanted her but because she was unlucky to have a sadistic husband.">>
<p>Ella sighs.</p>
<<speech "Ella" "I still need some convincing on that, to be honest.">>
<<include "EllaChoice">>
<<linkreplace "Let's talk later.">>
<<speech "Ella" "You're right. Find me in the library.">>
<<set $ella_stage = 10>>
[[Get back to your life|The Hood]]
<</linkreplace>><<switch $ella_end_quest>>
<<case 0>>
<<speech "You" "You know what? Fuck this all. I don't want to get to our ghetto either. Let's run away.">>
<<speech "Ella" "Not funny.">>
<<speech "You" "I mean it! Why do we need to stay in this shithole? Waste our lives for nothing? We can drive up north and live quietly, away from... everything.">>
<<speech "Ella" "Let's pretend you are serious... Where do we get money for that?">>
<p>You think. You'll need some funds for safe travel, covering your trails, and then setting up a new place to live.</p>
<<speech "You" "Check what you can sell in the library. I will go through my places and see what I can find.">>
<<speech "Ella" "Okay... But what about your brother? Aren't you doing everything for him?">>
<<speech "You" "He can't be saved, and it was foolish to believe otherwise.">>
<p>It hurts you to say it out loud. Do you really believe it? You do now. Otherwise, you are betraying the only family you have. Yes, it's better to think Jeremy would have wanted you to live your life, not sacrifice it for him.</p>
<div class="req">Check the neighborhood and its surroundings for a car, cash, or things that can be sold for cash. Meet with Ella at the Community Center when you think you're done.</div>
<<set $ella_end_quest = 1>>
<<set $ella_stage = -1>>
[[Return to the hideout|The hideout]]
<<case 1>>
<div class="text">It's a long road to the Northern States, former Canada. While not out of reach from the government, it's still not fully incorporated. The riskiest part of the journey was crossing the border, and after that, you dissolve into the vastness of forests and mountains.
It wasn't easy, but in time you settled in. A decent house in the snowy mountains with the air so fresh it makes your head spin. You find a job as a mountain rescue worker that fits your physique. Ella is trying to write her novel, but it's not going well.</div>
<p>Up here nobody has ever heard the surname you bought in a back room. Ella calls you $real_name - the real one, the one you gave her somewhere before the border, whispered like contraband. Hearing it in her mouth every morning still catches you off guard. In a good way.</p>
<<video "img/ella/ending/1_kiss.mp4" >>
<p>You still have that burning drive and excitement from being two runaways who give up everything and try to live together. But it's fading out.</p>
<<video "img/ella/ending/2_kiss.webm" >>
<p>When the flame of desire fades completely, what will be left? Can you bear each other stuck in the same snow-capped house?</p>
<<video "img/ella/ending/3_blowjob.mp4" >>
<p>Can you stop staring at the ceiling at night, thinking about your brother?</p>
<<video "img/ella/ending/4_cuni.webm" >>
<p>Ella's pussy juices grant you temporary oblivion better than any spirit; you hungrily eat her out, wanting to get the thought out of your head.</p>
<<video "img/ella/ending/5_doggy.webm" >>
<p>Pinning her down to the floor still feels amazing every time you do it. There may be hope for you two, after all.</p>
<<video "img/ella/ending/6_cum.webm" >>
<p>Maybe you just need to live through the winter.</p>
<div class="text" style="font-size: 1.5em; font-weight: bold;">The end?</div>
<</switch>><p>The address Ella gave you leads you to a wealthy district. Moving quickly before neighbors report two suspicious blacks, you and Jamal enter a small but exquisite house.</p>
<<speech "Jamal" "Remind me, how your girl affording a place like this?">>
<<speech "You" "She has an old college friend she's been house-sitting for - watering the plants and stuff like that.">>
<<speech "Jamal" "College, huh? I forgot your girl a nerd.">>
<<speech "You" "Shut up, bro.">>
<p>You ring the bell, and Ella lets you in.</p>
<<speech "Ella" "Welcome, boys. I was just about to get lonely...">>
<<video "img/ella/jamal/threesome-0.mp4">>
<p>She's gorgeous tonight. You two tried to look as casual as possible to attract less attention, but Ella decided to shine for the upcoming devil's threesome. She wears an emerald dress that perfectly matches her hair, but her clothes don't stay long on her as she slowly undresses right after you step inside. Stepping back, she leads you to the bedroom, and you lose your clothes while following her. Straight to the action, huh?</p>
<<video "img/ella/jamal/threesome-1.mp4">>
<p>The bedroom treats you with a giant bed, on which the main attraction for tonight stands in all her glory. You and Jamal take a moment to admire her emerald underwear before closing in and practically worshipping her body. Two pairs of hands touch and grope Ella, and she is already wet from being the center of attention - even if she is not ready yet to admit that she enjoys it so much.</p>
<<video "img/ella/jamal/threesome-2.mp4">>
<p>You take turns kissing her, and this process of switching between your lips to Jamal's and back makes Ella ever hornier; she looks as if she's drunk, but only from an overwhelming lust.</p>
<<speech "Ella" "~You want me to suck your cocks?~">>
<<video "img/ella/jamal/threesome-3.mp4">>
<p>You must admit that Ella looks great, worshipping your black dicks. Her tongue explores your manhoods as if comparing them and then sucks them one after another.</p>
<<speech "Jamal" "She loving it!">>
<<speech "Ella" "~Why wouldn't I enjoy it~">>
<p>She'll enjoy it even more when you get to the main action for tonight. Who should go first?</p>
<<link "You, her black bf" "EllaJamalThreesome_2">>
<<set $ella_mmf_stage = 3>>
<</link>>
<<link "Treat Jamal with going first" "EllaJamalThreesome_2">>
<</link>><<if $ella_mmf_stage == 3>>
<<video "img/ella/jamal/threesome-5.mp4">>
<p>Ella gets on top and starts riding you, before offering her mouth to serve Jamal's dick. He grabs her hair and pushes deep inside her mouth while you grope Ella's butt and fuck her burning-hot pussy. You feel weirdly proud noticing how Jamal gets mesmerized by the rhythmic bouncing of your girlfriend's ass...</p>
<<else>>
<<video "img/ella/jamal/threesome-4.mp4">>
<div class="text">You lean back, inviting Ella for a blowjob.</div>
<<speech "Ella" "I'm gonna suck that cock while I'm getting fucked~">>
<<speech "You" "Yeah, I wanna watch that!">>
<p>You have a perfect view of your girl sucking your dick while getting railed from behind by your friend. She does look great serving two black dicks at once, like a natural-born snowbunny; she finally accepted that she loves being shared and enjoys every moment of it.</p>
<</if>>
<hr>
<<video "img/ella/jamal/threesome-7.mp4">>
<p>You fuck Ella non-stop, taking rests in between - either just to watch how another is bangin' her or stuff her mouth with black meat while her pussy is filled with a second dick. Ella is exhausted, but you don't remember seeing her as happy and satisfied as she is now.</p>
<<video "img/ella/jamal/threesome-9.mp4">>
<p>You could probably go on for another hour or so, but Ella doesn't need that - what she wants is a thick layer of cum on her face. You two jerk your dicks off until you unload your semen in her mouth, lips, and make her face white and messy.</p>
<<speech "Ella" "I'm so happy I'm about to cry, boys. Thank you~">>
<p>You and Jamal laugh and exchange a fistbump.</p>
<<speech "Jamal" "Thanks for the invite, man. I'm gon' let you lovebirds cuddle in this palace and bail. We had ourselves a good time, right?">>
<<speech "Ella" "~Yeeeeessss!~">>
<<speech "You" "For sure, bro. See ya.">>
[[Jamal politely leaves you alone.|EllaJamalThreesome_3]]<<pic "img/ella/jamal/cuddle.webp">>
<p>You spend some time alone, processing the threesome. You were afraid that some jealousy or other strong emotions would blur the experience, but all you feel is bliss and calm.</p>
<<speech "Ella" "You're good?">>
<<speech "You" "I think so. I'm kinda surprised about it, even. And you?">>
<<speech "Ella" "Oh... same. It was overwhelming, but... just wow.">>
<<if $savannah_approach == 2>>
<<speech "Ella" "I imagined it is more rough, given how you treated that bimbo for the video.">>
<<speech "You" "I told you it is different. But I wasn't sure about Jamal, though. He's more... stereotypical, I thought.">>
<<speech "Ella" "Yeah, he can be gentle and passionate.. weird, right? How easily we attribute stereotypes even to those we know.">>
<</if>>
<p>You giggle together and cuddle some more. Eventually, you'll have to leave this bed, but for now, it has everything you need in the world - each other.</p>
<<set $ella_mmf_stage = 4>>
[[Return to the real world.|The Hood]]<p>Ella is taking a breather between her duties - a good opportunity to talk about some topics stuck in your head since you began self-study.</p>
<<speech "You" "Hey, I've been picking up some books lately... The more I learn, the more questions I have. I'm feeling like I know even less about the world now.">>
<p>Ella chuckles.</p>
<<speech "Ella" "I get your frustration, but having questions is great - it means you are processing the ideas you learn about. Anyway, what do you want to talk about?">>
<div class="text">You choose economics. For your whole life, you knew that the system you live under is not fair, but you never thought about the alternatives; the word "socialist" was a slur among your brothers in arms. But now you learn about the other options - and have so many questions.
Discussing them, you learn another side of Ella - an intelligent, confident woman openly enjoying the conversation. Looking at her explaining why capitalism is inherently flawed, you suddenly feel even more attracted to this redhead librarian.</div>
<<speech "You" "If we all know that the game is rigged - why do we go along?">>
<<speech "Ella" "Most of us just can't imagine a world without it. We are conditioned to believe that the system is the only way, and that we have to work within it to survive. It's designed to keep us in line, to keep us too busy and too exhausted to question it.">>
<<speech "You" "The guy working triple shifts just to afford insulin does not think outside the box - he's thinking about not dying.">>
<p>Ella leans in closer as if to deliver the final message.</p>
<<speech "Ella" "Exactly. The system is designed to make us think that we have no choice, that we are powerless. But the truth is, we have more power than we realize. We just need to wake up and see it.">>
<p>She looks so sexy when she drops the truth bombs that you can't resist leaning in for a kiss. Does she enjoy showing off her intelligence as much as you enjoy admiring it? Making out with her feels different as if having an intellectual conversation was an excellent prelude.</p>
<<video "img/ella/conception/1_kiss.mp4" >>
<p>The heat from her body makes you crazy, and at the same time, you want to savor this intimate moment. There is nowhere to rush; only you two exist in the broken capitalist world. You thoroughly explore Ella's body before stopping at the tastiest part.</p>
<<speech "Ella" "Mmmm, what's wrong with you today...">>
<<video "img/ella/conception/2_closer.mp4" >>
<p>Licking juicy ginger pussy is always fun, but you want to look into her intelligent eyes and admire the view of gorgeous beauty with wide-spread legs. Your massive dick effortlessly slides into her wet pussy; she is yours - as much as you are hers.</p>
<<video "img/ella/conception/3_missionary.mp4">>
<p>It's not enough - you want to become one, unite your bodies through passionate lovemaking; you embrace Ella in your strong hands, kiss her, lick her, love her. Fleeting moments like that are the only time you can truly be open with someone.</p>
<<video "img/ella/conception/4_missionary2.mp4">>
<p>You pick up the pace; losing yourself in this intimate intercourse, you miss the moment when it is time to pull out. And how could you break this bond that was forming between you? No, the only way to finish this sex was to give Ella every last drop of your semen; your dick swell and pump her pussy full of your cum.</p>
<<video "img/ella/conception/5_cum.mp4">>
<<speech "Ella" "So... much... cum... Boy, you're cumming like a firehose.">>
<<speech "You" "Shit, I'm sorry, Ella, I...">>
<<speech "Ella" "Shh, don't worry about it. It will be fine.">>
<<pic "img/ella/conception/creampie.jpg">>
<p>For some time, you cuddle together, prolonging the sweet post-coital blissfulness. Your cum is slowly leaking out of Ella's pussy when she starts talking again:</p>
<<speech "Ella" "I wish I could see more of this side of yours. Gentle, caring, loving.">>
<<speech "You" "What do you mean?">>
<<speech "Ella" "You push yourself into these stereotypes to achieve your goals, stereotypes born out of other people's insecurities, and I'm afraid you can forget who you really are.">>
<<speech "You" "It's just a role I have to play...">>
<<speech "Ella" "But you enjoy it, do you?">>
<p>You feel annoyed about her trying to get into your head.</p>
<<speech "You" "Didn't you enjoy it when I choked you with my big black cock, huh?">>
<<speech "Ella" "You know what I'm talking about. Please, don't forget to stay yourself, that's all.">>
<p>She gets up and stretches her back, and the flow of cum starts flowing down her thigh.</p>
<<speech "Ella" "I need to get back to my work. Let's hope you didn't knock me up, haha.">>
<<set $ella_stage to 12>>
[[Haha...|Community Center]]<<pic "img/ella/library_new_stage_1.jpg">>
<p>You find Ella at the library site in the middle of the day - and for a moment you almost don't recognize her sober. She is still smokin' hot, with her working shorts barely able to contain her plump butt. Nevertheless, she is busy gathering the materials and trash around the site. She's even made a table out of a plank and two sawhorses, and on it sit two paper cups of coffee. Two.</p>
<<speech "Ella" "The bartender said you come by mornings sometimes. So I've been buying two coffees and drinking both. Today you get yours.">>
<p>The coffee is terrible. You drink it slowly anyway, while she walks you through the building like a surgeon presenting a patient - what's structural, what's cosmetic, which walls carry weight and which just carry graffiti.</p>
<<speech "Ella" "My grandmother cleaned offices so my mother could finish school. My mother taught third grade for thirty years so I could do a degree in library science - which everyone agreed was hilarious. A librarian, from this block.">>
<p>She runs a thumb along a scorched shelf edge, not looking at you.</p>
<<speech "Ella" "Three generations to build a person who believes in books. One night for those animals to burn the building down. Funnily enough, the Oath Boys filed the complaint themselves. 'Unregistered assembly' - my literacy classes, the tenant meetings. They wrote the paperwork in the morning and came back with the Molotovs at night. And everyone keeps asking me why I don't leave - I can't explain that leaving would be the actual fire.">>
<p>She catches herself, laughs, embarrassed at the speech. You tell her you understand - and, unusually for the things you say in this neighborhood, it's the truth. You talk for an hour about nothing that matters: books you pretended to have read, the bartender's mysterious cat, which of the militia at the blockpost is scared of dogs. When you leave, she's still working.</p>
<<speech "Ella" "Hey. Thank you for the other night. For putting me in that taxi and asking for nothing. I remember more of it than I let on.">>
<<nobr>>
<<set $ella_stage = 3>>
<<set $ella_next_day = $day + 1>>
<<statchange "respect" 1>>
<</nobr>>
[[Back to the renovation|Community Center]]<<pic "img/ella/library_new_stage_2.jpg">>
<p>Salvage day. Ella has commandeered you for the worst job in the building: going through the charred pile in the main hall, deciding book by book what can be saved. She has a system - three stacks, "lives," "dies," and "we'll see" - and absolute authority over all appeals.</p>
<<speech "Ella" "You keep putting things in 'lives' out of sentiment. That's not how triage works, soldier.">>
<p>It's slow, filthy work, and it becomes a game without either of you deciding it should: she reads out the worst surviving sentence from every ruined romance novel in a solemn newsreader voice; you construct increasingly criminal defenses for books she's sentenced to death. By afternoon your hands are black to the wrist and your face aches from laughing quietly - the way people laugh in a building they're mourning.</p>
<p>Late in the day she goes still. In her hands is a picture book, half its cover gone, the remaining half showing a paper sun. She turns it over twice.</p>
<<speech "Ella" "I used to read this one to the after-school kids. Same voice for the wolf every time - they'd riot if I changed it. Some of those kids' families are gone now. Relocated, detained, who knows.">>
<p>You take the book from her hands, gently, and put it in the "lives" stack. No argument this time. She looks up at you, dust in the light between you, and for one long moment the room leans - her eyes drop to your mouth, and yours to hers, and the whole afternoon narrows to the six inches separating you.</p>
<p>Then a shelf settles somewhere with a bang like a shot, and you both flinch, and laugh, and the moment folds itself away - not gone. Filed. In the "we'll see" stack.</p>
<<speech "Ella" "Okay. Okay, back to work, mister. This library won't resurrect itself.">>
<<nobr>>
<<set $ella_stage = 4>>
<<set $ella_next_day = $day + 2>>
<<statchange "respect" 1>>
<</nobr>>
[[Back to the renovation|Community Center]]<p>Opening day empties out slowly - neighbors, kids, the old men who came to argue about chess and stayed to argue about everything. Ella works the room the whole evening, lit up like the building itself. As you're about to slip out with the last of them, her hand catches your sleeve.</p>
<<speech "Ella" "Not you. Stay. Help me... close up.">>
<p>The lock clicks. The library goes quiet the way a church goes quiet. She walks back to you down the center aisle, unhurried, and stops close - that same six inches from the salvage day, and this time nothing bangs, nothing interrupts, and neither of you flinches.</p>
<<speech "Ella" "I've been thinking about that kiss for two days. And I'm completely sober, mister High Morals, so you're out of excuses.">>
<p>You close the distance. This kiss is nothing like the first one - no audience of one, no occasion. It's slow and greedy at the same time, her fingers hooking into your waistband like she's been rehearsing the move against the bookshelf of her mind.</p>
<<speech "Ella" "Do you think I'm able to consent to kiss that big hard thing in your pants?">>
<<speech "You" "You have a green light on that, miss.">>
<p>You chuckle and exchange one more kiss before Ella kneels before you, right there between "History" and "Poetry," her eyes never leaving yours as she works your belt open.</p>
<<video "img/ella/first_reveal.webm" >>
<<speech "Ella" "HOLY SHIT, fuck, I mean, I did not expect anything less, but...">>
<<speech "You" "Shhh. Remember why you're down there.">>
<<video "img/ella/first_blowjob.webm" >>
<p>Ella gently kisses the tip of your dick before attempting to go deeper on your shaft. Her tiny mouth is not made for accommodating something big as your black cock, but her continuous tongue work on your glans makes that unnecessary. This - and the sheer passion and tension built up between you since the salvage pile, in coffee cups and book dust and interrupted moments.</p>
<<video "img/ella/first_facial.webm" >>
<<speech "You" "Hey, I think I'm... Let me...">>
<p>Feeling your orgasm approaching, you take matters into your own hands and finish on Ella's face, spraying your thick cum all over her. A few drops land on her tongue, and she satisfyingly licks it all up.</p>
<<speech "Ella" "Promise me that next time your cum will be inside of me - one way or another, will you?">>
<p>You nod, still catching your breath. Just now, you realize that while having sex, you haven't been intimate with someone for a very long time. With Ella, there is a connection - built the slow way, which is the only way anything gets built in this neighborhood. You like it. You like her.</p>
<<set $ella_stage = 6>>
[[Back to the real world|The Hood]]<<nobr>><<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
Option 1: Condemn monogamy and propose the open relationships<br>
<<if $knowledge < 10>>
<div class="req">You need 10 knowledge to convince Ella.</div>
<<else>>
<<linkreplace "Go with that">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>Thanks to your knowledge, you can come up with the right words to convince Ella to give open relationships a try.</p><br>
<<speech "Ella" "I'm relieved to know that you know some theory behind polyamory; and I think we can always talk when someone will feel uncomfortable.">><br>
<p>Well... are you feeling comfortable about the possibility of Ella having sex with someone else?</p><br>
<<speech "Ella" "Relax, I don't need anyone else but you - at least for now, hihi.">><br>
<<if $savannah_approach == 2>>
<<speech "Ella" "Although... I must admit the way you double-teamed that policeman's wife left a deep impression on me. I would like it if you bring your friend next time.">>
<<else>>
<<speech "Ella" "Although, maybe I'd like to share someone with you together. I've heard threesomes are fun, right?">>
<</if>>
<<set $ella_stage = 11>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Go with that"</em></div><</replace>>
<</linkreplace>><</if>><br>
Option 2: There is no way you can give up what you do; the honest way is to stop seeing each other.<br>
<<linkreplace "Break up">>
<<set _choiceMade = true>>
<<replace "#output">>Please, don't. You'll break her heart, and yours too.<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Break up"</em></div><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
Option 3: Let's run away<br>
<<linkreplace "And start a new life">>
<<set _choiceMade = true>>
<<replace "#output">>
This will lead to an ending. Do you want to give up everything for Ella? [[Yes|EllaEnding]]<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"And start a new life"</em></div><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>>/* ============================================================
Heat system widgets.
$heat (0-100) measures how much attention you've drawn from
police and militia. Doing good in the open costs heat; so does
crime. It decays by 3 each night, or 10 for a day spent laying low.
At 75+ the blockpost is closed to you: "Take the bus" is replaced by a
req line in The Hood, so the hood is the only place you can act. Story
beats that used to narrate "you lay low for a week" (Target1-4) instead
set $heat high and hand the week to the player.
<<heatpatrol>> - rolled on entering The Hood. Sets _patrol_fired.
At most one patrol event every two days, earliest on day 2
($last_patrol_day).
Light and hard bands each pick from a small pool so the system
doesn't get repetitive:
25-49: 15% light -> "Militia Toll" | "Street Drone"
50-74: 30% hard -> "Patrol Shakedown" | "Militia Pickup"
75+: 50% full sweep -> "Police Sweep"
Every hit jumps to its own passage (dilemma-style) so the event
interrupts the player instead of rendering above the hub links;
the toll passage locks its exit until a choice is made.
<<hooddilemma>> - 20% chance of a street moral dilemma when no
patrol event fired; never within 3 days of the previous one
($last_dilemma_day, library-event style), so earliest is day 3.
On a hit it jumps to the "Hood Dilemma" passage, which has no
exit link until a choice is made - the player can't walk away.
<<dilemmadone "label">> - shared choice-close for dilemmas:
stamps the choice-made line and reveals the exit link.
============================================================ */
<<widget "heatpatrol">>
<<set _patrol_fired = false>>
/* CUT: street corner is not going into the next release - protection pact disabled.
Corner protection pact: the lookout network warns you in time, cutting patrol odds while active
<<if $day < $protection_until>>
<<set _sweep_odds = 40>><<set _hard_odds = 20>><<set _light_odds = 5>>
<<else>>
<<set _sweep_odds = 50>><<set _hard_odds = 30>><<set _light_odds = 15>>
<</if>>
*/
<<set _sweep_odds = 50>><<set _hard_odds = 30>><<set _light_odds = 15>>
/* At most one patrol event every two days - once one has fired, the street's quota
of attention is spent for a day after ($last_patrol_day, same style as dilemmas).
$last_patrol_day inits to 0, so the earliest a patrol can fire is day 2. */
<<if $day >= $last_patrol_day + 2>>
<<if $heat >= 75 && random(1, 100) <= _sweep_odds>>
<<set _patrol_fired = true>>
<<set $last_patrol_day = $day>>
<<goto "Police Sweep">>
<<elseif $heat >= 50 && random(1, 100) <= _hard_odds>>
<<set _patrol_fired = true>>
<<set $last_patrol_day = $day>>
<<if random(1, 2) == 1>>
<<goto "Patrol Shakedown">>
<<else>>
<<goto "Militia Pickup">>
<</if>>
<<elseif $heat >= 25 && random(1, 100) <= _light_odds>>
<<set _patrol_fired = true>>
<<set $last_patrol_day = $day>>
<<if random(1, 2) == 1>>
<<goto "Militia Toll">>
<<else>>
<<goto "Street Drone">>
<</if>>
<</if>>
<</if>>
<</widget>>
<<widget "hooddilemma">>
<<if not _patrol_fired && $day >= $last_dilemma_day + 3 && random(1, 100) <= 20>>
<<set $last_dilemma_day = $day>>
<<goto "Hood Dilemma">>
<</if>>
<</widget>>
<<widget "dilemmadone">>
<<replace "#choice-container">><div class="choice-made"><em>"_args[0]"</em></div><</replace>>
<<replace "#dilemma-exit">>[[Back to the street|The Hood]]<</replace>>
<</widget>><<nobr>>
<<set _dilemma = random(1, 7)>>
<<switch _dilemma>>
<<case 1>>
/* The beating */
<<pic "img/general/dylemmas/beating.jpg" "story">>
<div class="text">Down the block, a cruiser sits with its doors open. Two cops have a kid - sixteen, maybe less - bent over the hood and handcuffed, and they're taking turns explaining something to him with their batons. Nobody on the street looks, but everybody sees.</div>
<div id="choice-container">
<<if $heat < 60>>
<<linkreplace "Come swinging">>
<<replace "#output">>
<div class="text">So easy to beat someone with tied hands - almost as easy as picking up a beer bottle and smashing it against a cop's head. One officer falls to the ground while the other tries to reach for his weapon - too slow, as you knock him down with a jab. You free the kid and run from the scene.</div>
<<statchange "heat" 20>>
<<statchange "respect" 10>>
<</replace>>
<<dilemmadone "Come swinging">>
<</linkreplace>><br>
<<else>>
<div class="req">You're packing enough heat already...</div><br>
<</if>>
<<linkreplace "Create a distraction">>
<<replace "#output">>
<<if random(1, 100) <= 70>>
<div class="text">From the alley you put a bottle through the windshield of a parked car and let the alarm do the talking. The cops' heads snap around; the kid is gone before they look back. You're three blocks away before they decide it isn't worth it.</div>
<<statchange "heat" 8>>
<<statchange "respect" 1>>
<<else>>
<div class="text">The bottle bounces off the roof of the car without a sound worth hearing. One cop glances over, shrugs, and goes back to work. You slip away before the glance becomes interest, jaw tight, the sound of the beating following you down the alley.</div>
<<statchange "heat" 8>>
<</if>>
<</replace>>
<<dilemmadone "Create a distraction">>
<</linkreplace>><br>
<<linkreplace "Look away">>
<<replace "#output">>
<div class="text">You turn the corner and keep walking. You memorize the officers' badge numbers. It's all you can afford tonight - and knowing that doesn't make the sound of it any easier to leave behind.</div>
<<statchange "respect" -5>>
<</replace>>
<<dilemmadone "Look away">>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 2>>
/* The checkpoint fine */
<<pic "img/general/dylemmas/grandma_checkpoint.jpg" "story">>
<div class="text">At the blockpost, an Oath Boys militiaman is going through an old woman's grocery bag item by item, setting each can on the sandbags like evidence. "Unregistered commerce," he announces, and pockets her folded bills. She doesn't argue - arguing is how you lose the groceries too.</div>
<div id="choice-container">
<<if $money >= 15>>
<<linkreplace "Pay her 'fine' yourself ($15)">>
<<replace "#output">>
<div class="text">"I got it," you say, stepping up with the money already visible - no sudden moves, no eye contact that could be read as a challenge. The militiaman takes it and waves her through, bored. She squeezes your arm at the corner. "You're the one fixing the library," she says. It isn't a question.</div>
<<statchange "money" -15>>
<<statchange "respect" 3>>
<</replace>>
<<dilemmadone "Pay her 'fine' yourself ($15)">>
<</linkreplace>><br>
<</if>>
<<if $physical >= 50 && $heat < 60>>
<<linkreplace "Stare them down">>
<<replace "#output">>
<div class="text">You stop and look at him. That's all. A big man, standing still, watching - with the whole street quietly watching him watch. Militia are brave in packs and behind checkpoints, but something old and mammal in him does the thinking. He shoves the bag back at the woman. "Move along." He'll remember your face. So will the street.</div>
<<statchange "heat" 10>>
<<statchange "respect" 5>>
<</replace>>
<<dilemmadone "Stare them down">>
<</linkreplace>><br>
<<elseif $heat >= 60 && $physical >= 50>>
<div class="req">You won't intimidate anyone.</div><br>
<</if>>
<<linkreplace "Walk past">>
<<replace "#output">>
<div class="text">You walk past with your eyes forward, like everyone else. The cans stay on the sandbags. That night you can still see the way she repacked her bag with shaking hands, careful as a surgeon, so as not to give them a reason.</div>
<</replace>>
<<dilemmadone "Walk past">>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 3>>
/* The eviction */
<<pic "img/general/dylemmas/eviction.webp" "story">>
<div class="text">Three men in matching windbreakers are dragging a family's life into the street - mattress, dresser, a crib. The landlord's muscle. The mother stands on the curb holding a toddler. Looks like a forced eviction.</div>
<div id="choice-container">
<<if $heat < 60>>
<<linkreplace "Muscle them off">>
<<replace "#output">>
<<if $physical >= 55>>
<div class="text">You put yourself between the crib and the doorway and suggest, quietly, that they're done for today. The lead one weighs it - three of them, one of you - and something in how you're standing makes the math come out wrong for him. They leave the furniture on the lawn. The family gets one more night to figure something out.</div>
<<statchange "heat" 12>>
<<statchange "respect" 8>>
<<else>>
<div class="text">You put yourself in the doorway. It goes the way three-on-one usually goes - you take your lumps against the railing - but you stay in the doorway, and there's a limit to what they're paid to do to a man who won't move. They leave the job half-done. The mother helps you up.</div>
<<statchange "heat" 12>>
<<statchange "respect" 8>>
<<statchange "physical" -5>>
<</if>>
<</replace>>
<<dilemmadone "Muscle them off">>
<</linkreplace>><br>
<<else>>
<div class="req">You can't attract more heat.</div><br>
<</if>>
<<if $money >= 10>>
<<linkreplace "Slip the mother $10">>
<<replace "#output">>
<div class="text">You can't stop it. You press the bill into her free hand as you pass. It's a night in somebody's spare room, maybe two.</div>
<<statchange "money" -10>>
<<statchange "respect" 2>>
<</replace>>
<<dilemmadone "Slip the mother $10">>
<</linkreplace>><br>
<</if>>
<<linkreplace "Keep walking">>
<<replace "#output">>
<div class="text">You keep walking, but the mother with toddler on the street still standing before your eyes.</div>
<</replace>>
<<dilemmadone "Keep walking">>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 4>>
/* The informant */
<div class="text">There's a man across from the bar who's been nursing the same cigarette for an hour, and every time somebody goes in or out his lips move slightly, like he's reading license plates. You know the type. The precinct pays by the name.</div>
<div id="choice-container">
<<if $heat < 75>>
<<linkreplace "Confront him">>
<<replace "#output">>
<div class="text">You sit down next to him without being invited and read the street with him for a while, in friendly silence. Then you describe his routine back to him - the cigarette, the lips, and wonder if he's afraid someone would punch his face. He runs away.</div>
<<statchange "heat" 10>>
<<statchange "respect" 3>>
<</replace>>
<<dilemmadone "Confront him">>
<</linkreplace>><br>
<<else>>
<div class="req">You can't attract more heat.</div><br>
<</if>>
<<linkreplace "Warn the bartender quietly">>
<<replace "#output">>
<div class="text">You lean on the bar, and tell Earl about the man with the long-burning cigarette. He doesn't look toward the window - professionals never do. "Appreciated," he says, and by evening half the regulars are entering through the back.</div>
<<statchange "respect" 3>>
<</replace>>
<<dilemmadone "Warn the bartender quietly">>
<</linkreplace>><br>
<<linkreplace "Not your business">>
<<replace "#output">>
<div class="text">Everybody sells something down here.</div>
<</replace>>
<<dilemmadone "Not your business">>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 5>>
/* The tagger */
<div class="text">A surveillance drone drops out of the dark and pins a kid in its spotlight - fourteen, spray can still hissing, a half-finished mural of a raised fist on the wall behind him. The drone's speaker crackles: <i>REMAIN IN PLACE. UNITS DISPATCHED.</i> The kid freezes like a rabbit.</div>
<div id="choice-container">
<<if $heat < 75>>
<<linkreplace "Yank him into a doorway">>
<<replace "#output">>
<div class="text">You cross the light, grab a fistful of hoodie, and haul him into a covered stairwell as the drone reorients. Two turns through the back lots and the whine of its rotors fades. "Finish the fist somewhere with a roof over it," you tell him. He grins like you've knighted him. The drone got footage of you both.</div>
<<statchange "heat" 5>>
<<statchange "respect" 5>>
<</replace>>
<<dilemmadone "Yank him into a doorway">>
<</linkreplace>><br>
<<else>>
<div class="req">Your face is worth more to that camera than his. You can't afford this one.</div><br>
<</if>>
<<linkreplace "Whistle a warning">>
<<replace "#output">>
<div class="text">You put two fingers in your mouth and give the long-short-long the corner kids use for <i>run</i>. The kid unfreezes, ducks under the light, and is gone through a gap in the fence half a second before the spotlight sweeps back. The drone circles twice, petulant, filming an empty wall and a man walking unhurriedly in the other direction.</div>
<<statchange "heat" 2>>
<<statchange "respect" 2>>
<</replace>>
<<dilemmadone "Whistle a warning">>
<</linkreplace>><br>
<<linkreplace "Let the drone do its work">>
<<replace "#output">>
<div class="text">You walk on and don't watch, and the unfinished fist stays on the wall for weeks afterward, fingers open, waiting for somebody with less to lose.</div>
<</replace>>
<<dilemmadone "Let the drone do its work">>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 6>>
/* The jumping */
<div class="text">The stoop across the street empties as you pass. Three of them, spreading out so you can't watch all three at once, and the one in the middle carries a length of rebar loose against his leg, like a cane. No colors, no armbands. Just hungry men who've decided you're carrying something worth the risk. "Pockets," the middle one says. That's the whole speech.</div>
<div id="choice-container">
<<linkreplace "Swing first">>
<<replace "#output">>
<<if $physical >= 55>>
<div class="text">You don't wait for the rebar to come up. You step into the middle one and put your fist through his jaw before the word finishes leaving his mouth. The rebar rings on the concrete. The second gets a boot in the knee and folds sideways, howling; the third looks at his two friends on the ground, does the math, and runs. You step over the rebar man on your way out and leave him his teeth to think about. By morning the whole block knows exactly how that went.</div>
<<statchange "heat" 8>>
<<statchange "respect" 10>>
<<statchange "energy" -2>>
<<else>>
<div class="text">You don't wait, but wanting it isn't winning it. You put one down before the rebar finds your ribs and the sidewalk finds your face. They stomp you carefully, without anger, like men doing a job. But you keep getting up, and there's a point where beating a man who won't stay down stops being profit and starts being work. They take what's in your pockets and leave you the rest.</div>
<<if $money > 0>><<set _jumploss = -Math.min($money, 15)>><<statchange "money" _jumploss>><</if>>
<<statchange "physical" -4>>
<<statchange "energy" -3>>
<</if>>
<</replace>>
<<dilemmadone "Swing first">>
<</linkreplace>><br>
<<if $money >= 5>>
<<linkreplace "Empty your pockets">>
<<replace "#output">>
<div class="text">You hold the bills out like it's nothing personal, and for them it isn't. The middle one counts the money right in front of you, unhurried, letting the street watch. "Smart," he says, the way a teacher grades homework. You walk away whole. The word follows you down the block anyway, and it doesn't mean smart.</div>
<<set _jumploss = -Math.min($money, 15)>><<statchange "money" _jumploss>>
<<statchange "respect" -3>>
<</replace>>
<<dilemmadone "Empty your pockets">>
<</linkreplace>><br>
<</if>>
<<linkreplace "Run for it">>
<<replace "#output">>
<<if random(1, 100) <= 60>>
<div class="text">You break left before the circle closes, vault a fence with the rebar whistling somewhere behind you, and lose them in the gutted rowhouses. Your lungs burn for ten minutes afterward.</div>
<<statchange "energy" -3>>
<<else>>
<div class="text">You make it half a block before the rebar clips your shoulder and takes your legs out from under you. What follows is quick and businesslike. They empty your pockets while you're still working out which way is up, and one of them pats you on the cheek before they stroll off.</div>
<<if $money > 0>><<set _jumploss = -Math.min($money, 15)>><<statchange "money" _jumploss>><</if>>
<<statchange "physical" -4>>
<<statchange "energy" -3>>
<</if>>
<</replace>>
<<dilemmadone "Run for it">>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 7>>
/* The collection */
<div class="text">Two Oath Boys have the old grocer from the corner shop down on the pavement outside his own door, and they're working him over slowly, the way you do when the beating itself is the message. "Arrears," one of them keeps repeating between kicks, like the word does the kicking for him. A dozen people watch from doorways. Nobody moves.</div>
<div id="choice-container">
<<if $heat < 60>>
<<linkreplace "Put them down">>
<<replace "#output">>
<<if $physical >= 55>>
<div class="text">You cross the street already swinging. The first one never sees it; he drops with his jaw pointing the wrong way. The second gets his baton halfway up before your forehead meets his nose, and then he's on the pavement next to his friend, leaking. You stand over them a moment, breathing, letting every doorway get a good look. Then you haul the grocer up. The Oath Boys will come back in numbers - everyone watching knows that. They also watched somebody hit back.</div>
<<statchange "heat" 15>>
<<statchange "respect" 5>>
<<statchange "energy" -2>>
<<else>>
<div class="text">You cross the street already swinging. You drop the first one, but the second is quick with the baton, and it turns into an ugly scrambling thing in the gutter - two men trying to beat each other stupid on wet asphalt. You come out on top, barely, spitting blood, one eye already closing. The grocer's wife drags you both inside before the wrong car turns the corner.</div>
<<statchange "heat" 15>>
<<statchange "respect" 5>>
<<statchange "physical" -5>>
<<statchange "energy" -3>>
<</if>>
<</replace>>
<<dilemmadone "Put them down">>
<</linkreplace>><br>
<<else>>
<div class="req">Too much heat for this.</div><br>
<</if>>
<<linkreplace "Wait it out, then help him">>
<<replace "#output">>
<div class="text">You wait it out with your back against a wall, tasting copper, and when they finally swagger off you're the first one to him. You get him inside, get the glasses off his face before he crushes them, hold a rag to his head while his wife shouts at the ceiling. It isn't nothing. It isn't enough either, and everybody in that little room knows both things.</div>
<<statchange "respect" 1>>
<</replace>>
<<dilemmadone "Wait it out, then help him">>
<</linkreplace>><br>
<<linkreplace "Keep walking">>
<<replace "#output">>
<div class="text">You keep walking. The sound of it follows you half a block - boot, breath, and the grocer not screaming, which is somehow worse.</div>
<</replace>>
<<dilemmadone "Keep walking">>
<</linkreplace>>
</div>
<div id="output"></div>
<</switch>>
<div id="dilemma-exit"><div class="req">The street is watching what you do next. You're not walking away from this until you choose.</div></div>
<</nobr>><<pic "img/general/raid.jpg" "story">>
<div class="text">You hear it before you see it: the percussion of boots and slamming wagon doors. The block is wearing floodlights. It's a sweep.</div>
<div class="text">You spend the next hours face-first against brick while they go through your pockets, your story, and your patience. They take what cash they find as "evidence of undeclared income." No receipt. By the time they let the street breathe again, the night is gone and so is any business you had in it.</div>
<<nobr>>
<<set _seized = Math.trunc($money / 2)>>
<<if _seized > 0>><<set _seizedloss = -_seized>><<statchange "money" _seizedloss>><</if>>
<<set $energy = 0>>
<<set $laying_low = 1>>
<<statchange "heat" -20>>
<</nobr>>
<div class="req">You need to disappear for a while. Get inside, stay inside, sleep it off.</div>
[[Slink back to the hideout|The hideout]]<<nobr>>
<div class="text">An unmarked sedan mounts the curb in front of you, and two plainclothes officers are on you before you can turn around. "There is a man we're looking for, and you fit the description. Wanna change our minds?"</div>
<<set _tax = Math.trunc($money / 4)>>
<<if _tax > 0>><<set _taxloss = -_tax>><<statchange "money" _taxloss>><</if>>
<<statchange "heat" -10>>
<div class="text">Thank god the police are so corrupt.</div>
/* CUT: the patrol wagon frisk - with the drug stash cut there's nothing for them to find, so the event goes nowhere.
<div class="text">A patrol wagon slows to walking pace beside you. "Hands on the wall." The frisk is thorough and unhurried, the kind that's meant to be watched by the whole street.</div>
<<if $drug_stash > 0>>
<div class="text">The officer's hand stops at your jacket pocket. He doesn't arrest you - processing paperwork is effort - he just pockets your stash with a smile and taps you once on the cheek. All of it, gone.</div>
<<set $drug_stash = 0>>
<<statchange "heat" 5>>
<<else>>
<div class="text">They find nothing. The disappointment on the officer's face is almost worth the humiliation. Almost.</div>
<</if>>
*/
<</nobr>>
[[Back to the street|The Hood]]<<nobr>>
<div class="text">Two militiamen step out of a doorway like they've been waiting for you. Maybe they have.</div>
<div id="choice-container">
<<if $money >= 10>>
<<linkreplace "Pay the toll ($10)">>
<<replace "#output">>
<div class="text">You press the bill into his hand without a word. He nods like a man accepting a compliment. As far as they're concerned, you're just another poor man trying to survive.</div>
<<statchange "money" -10>>
<<statchange "heat" -10>>
<</replace>>
<<dilemmadone "Pay the toll ($10)">>
<</linkreplace>><br>
<</if>>
<<linkreplace "Beat the shit out of them">>
<<replace "#output">>
<<if $physical >= 40>>
<div class="text">The one doing the talking is still enjoying his own voice when your fist shuts it off. He sits down in the doorway he came out of. His partner grabs for the radio instead of you, which tells you everything - you slap it out of his hand and put him into the wall until he stops trying to hold onto anything. You leave them where the block can see them. Militia writes down faces, and yours just went to the top of a list, but tonight the doorway toll is closed.</div>
<<statchange "heat" 15>>
<<statchange "respect" 4>>
<<statchange "energy" -2>>
<<else>>
<div class="text">You're not in shape for fighting back. You get one good shot in, and it's worth it right up until it isn't. Two of them, batons out, no crowd to perform for - just work. They take the toll out of your pockets and the rest out of your ribs, and the last thing before they stroll off is a boot in the back, for the paperwork you almost cost them.</div>
<<if $money >= 10>><<statchange "money" -10>><</if>>
<<statchange "heat" 10>>
<<statchange "physical" -4>>
<<statchange "energy" -3>>
<<statchange "respect" -1>>
<</if>>
<</replace>>
<<dilemmadone "Beat the shit out of them">>
<</linkreplace>><br>
<<linkreplace "Run away">>
<<replace "#output">>
<<if random(1, 100) <= 50>>
<div class="text">You're moving before the first one finishes his opening line - through the gap between them, over a fence, down an alley you know better than they do. Boots and swearing behind you, then just swearing, then nothing. Your lungs charge their own toll.</div>
<<statchange "energy" -3>>
<<else>>
<div class="text">You bolt, and make it half a block before a parked car door swings open in front of you. The chase ends on the asphalt. They collect the toll from your pockets while you're catching your breath, plus interest in bruises for making them jog.</div>
<<if $money >= 10>><<statchange "money" -10>><</if>>
<<statchange "physical" -2>>
<<statchange "energy" -3>>
<</if>>
<</replace>>
<<dilemmadone "Run away">>
<</linkreplace>>
</div>
<div id="output"></div>
<div id="dilemma-exit"><div class="req">They're standing in your way. This doesn't end until you pick how.</div></div>
<</nobr>><<nobr>>
<div class="text">You hear it before you see it: an Oath Boys pickup rolling the block at walking speed, spotlight crawling over doorways, a man in the bed reading faces against a clipboard. With the heat you're carrying, yours is on that clipboard.</div>
<div class="text">You fold yourself into a flooded basement stairwell and wait. The light sweeps past once, twice. Somewhere above, boots get out, walk a slow circle, get back in. By the time the engine noise fades toward the avenue, your legs are numb, your shoes are soaked, and a good chunk of your evening belongs to them.</div>
<<statchange "energy" -3>>
<</nobr>>
[[Back to the street|The Hood]]<<nobr>>
<div class="text">A surveillance drone drops to head height in front of you and holds there, lens irising as it works your face against a database. It doesn't announce anything. It just hangs in the air, looking, the way nothing alive is allowed to look at you down here.</div>
<div id="choice-container">
<<linkreplace "Put a stone through its rotor">>
<<replace "#output">>
<<if random(1, 100) <= 50>>
<div class="text">There's half a brick by the curb that might as well have been left there for this. Your first throw catches the rotor guard and the drone staggers sideways like a slapped drunk, clips the fire escape, and comes apart on the asphalt in a very satisfying way. A kid darts out of a doorway and stomps the camera before it stops twitching. The precinct will bill somebody for that. Probably the whole block.</div>
<<statchange "heat" 8>>
<<statchange "respect" 2>>
<<else>>
<div class="text">You throw, and the thing sidesteps in the air like it's bored, gains ten feet, and paints you with a strobe while a flat voice recites a statute number. It follows you for two blocks, filming, before it loses interest. The throw is on record now, attached to your face.</div>
<<statchange "heat" 10>>
<</if>>
<</replace>>
<<dilemmadone "Put a stone through its rotor">>
<</linkreplace>><br>
<<linkreplace "Cut through the back lots">>
<<replace "#output">>
<div class="text">You turn off the street without hurrying and take the long way: under the collapsed carport, through the gap in the fence, along the wall where the gutted rowhouses lean together and make a roof over the path. Drones don't like it back there; too many wires, too much shadow. It costs you twenty minutes and a torn sleeve, but it works.</div>
<<statchange "energy" -2>>
<</replace>>
<<dilemmadone "Cut through the back lots">>
<</linkreplace>><br>
<<linkreplace "Ignore it">>
<<replace "#output">>
<div class="text">You give the lens nothing: no glance, no pace change, just a man walking somewhere unimportant. It holds beside you for half a block, logging your route, then climbs away to bother someone else. Somewhere in a precinct server, a line gets added to your file.</div>
<<statchange "heat" 3>>
<</replace>>
<<dilemmadone "Ignore it">>
<</linkreplace>>
</div>
<div id="output"></div>
<div id="dilemma-exit"><div class="req">The drone is holding position, waiting on what you do.</div></div>
<</nobr>><div class="text">You crack the door and close it again. The street is still crawling - cruisers at both corners, a wagon parked on the curb with its engine running, a drone loitering over the intersection like a patient fly. Every doorway holds a silhouette checking papers.</div>
<div class="text">Whatever business you had out there will have to wait. Today, the neighborhood belongs to them.</div>
[[Go back inside|The hideout]]<div class="text" style="font-size: 1.5em; font-weight: bold;">Democracy is Dead.</div>
<<pic "img/general/intro_1.webp">>
<div class="text">You've been gone for years, serving your country in far-off lands, fighting battles whose purpose blurred even as you fought them. The news from home was easy to ignore back then. Protests. Crackdowns. Whispers of stolen elections. From where you were stationed, the rot felt distant, unreal, someone else's problem.
Coming back wasn't your choice.
Your younger brother, Jeremy, the idealistic kid with more ambition than caution, decided to serve justice as he saw it. He put a bullet in the CEO of the biggest defense contractor in the country, a man whose "less-lethal" toys had killed hundreds during the last election that mattered. The state reacted quickly with charges of domestic terrorism, and preparing for a show trial.</div>
<<pic "img/general/intro_2.jpg">>
<div class="text">As his closest relative, you received a hit as well. Your career ended in a night, a general discharge and a one-way ticket back to a homeland you barely recognized. No pension, no honors - the people who sent you to hell were only happy to finally get rid of you.</div>
<p>You spend some time selling family assets in the country to provide fees for legal support. Now you ride the last leg home on a groaning intercity bus, forehead against cold glass, watching a country that has stopped pretending roll past.</p>
<<pic "img/intro/bus.jpg" "story">>
<div class="text">At the approaches to the city, the bus slows for a checkpoint.
Not a border, and these aren't soldiers. A dozen men in mismatched fatigues and orange armbands lounge around a lowered boom gate, rifles slung, a hand-painted banner reading CITIZENS' MILITIA sagging between two poles. Behind them, a genuine police cruiser sits with its engine idling, and the two cops inside do not so much as look up.
Boots thump down the aisle. The commuters around you develop a sudden, practiced interest in their own shoes. The militiaman who stops at your row is young, sunburned, chewing something. It seems you grabbed his attention - no shit, you're the only black among the passengers.</div>
<<speech "Militiaman" "You! Yes, you. Get up. You look suspicious.">>
<p>You already know how this goes. Overseas, you'd have broken his wrist in the time it took him to blink. Here, the whole bus is watching, the cruiser is idling, and your brother is still alive and needs your help.</p>
<<speech "Militiaman" "We provide security on these roads, and you look like trouble. But just today I might let you go unharmed - for a fee.">>
<<nobr>>
<div class="text">How do you handle it?</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Pay them off and keep your head down">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You peel bills off your dwindling roll and press them into his hand without a word. He counts them, grins, waves you back to your seat. You keep your head down and you keep your teeth. Something tells you this country is going to ask for a lot more of these small surrenders.</p>
<<statchange "money" -30>>
<p>Staying invisible costs money here.</p>
[[The bus rolls on|IntroNew2]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Pay them off and keep your head down"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Stare him down and say nothing">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You don't reach for your wallet. You don't stand. You just look at him, level and unhurried, and let the silence stretch until it becomes a thing everyone on the bus can feel.</p>
<p>He doesn't like what he sees in your face. So he does what small men with rifles do. The stock catches you across the ribs, once, twice, a bright crack of pain, and you're thrown back in your seat. Through pain, you can hear how other Militiamen drag their enraged comrade out of the bus, and it accelerates away from the checkpoint.</p>
<p>But you never reached for your wallet. And every commuter on that bus, every one of them still staring at their shoes, saw a black man take a beating without kneeling. They will remember it longer than the Militia will.</p>
<<statchange "physical" -5>>
<<statchange "respect" 1>>
<p>The ribs will heal. The story will travel.</p>
[[The bus rolls on|IntroNew2]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Stare him down and say nothing"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><div class="text">Every lawyer in the city hung up on you. Every one but her.
Luna Star runs her father's old practice out of an old rundown office. Her father, a Cuban immigrant, built this firm and then lost his license to it, disbarred for "extremism," which in this country means he won against the state one time too many. Now it's just Luna, a wall of banker's boxes, and a go-bag packed and waiting under the desk in case police raids occur.
She's younger than you expected, with a sharp face and a sharper mouth, a cigarette burning forgotten between two fingers as she reads. When she finally looks up at you, she skips the sympathy and goes straight to the truth.</div>
<<pic "img/luna/intro.jpg">>
<<speech "Luna" "$real_name, right?" "luna">>
<p>Your real name, from a stranger's mouth. She catches the look on your face and taps the case file - she's done her homework on the whole family. You decide on the spot that she's the only one in this city who gets to keep using it - there are some perks of being a stranger.</p>
<<speech "Luna" "Your brother is not going to make it. The system has already decided." "luna">>
<<speech "You" "Then why take the case?">>
<p>She taps ash onto the floor and almost smiles.</p>
<<speech "Luna" "Somebody has to." "luna">>
<p>Somehow, you knew the answer before you asked the question. She's the kind of person who just does their job and stays true to themselves - no matter what.</p>
<<speech "Luna" "But I'm afraid I can't work for free these days. Check this out." "luna">>
<div class="text">She spreads Jeremy's file across the desk, and that's when you see it. What stops your breath isn't the murder charge - it's a single form, stamped and signed, freezing every asset with your family's name on it. Jeremy's savings. Your savings. The money you wired ahead for his defense, gone the moment it landed, seized as "suspected instruments of terrorism."
The signature at the bottom is confident, practiced, almost elegant. Chief of Police, Douglas Renner.</div>
<<speech "You" "They can just take it? All of it?">>
<<speech "Luna" "Civil forfeiture. They don't charge the money with a crime, they charge you, and the money's just guilty by association. You want it back, there's a hearing. Eleven months out. In front of Judge Halloran, who hunts elk with Renner every fall. So, sure. You'll get your day in court." "luna">>
<p>Good news is, this is still a local story outside of federal jurisdiction. Most likely, the local cops just want assets seized for their own purposes, meaning - you can actually fight it back.</p>
<<speech "Luna" "There's a records office at the precinct. Everything they took from you passed through it. If you want to fight the seizure, that's where the paper lives. Just... be careful whose attention you draw." "luna">>
<<nobr>>
<div class="text">How do you go after the forfeiture?</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Bribe a records clerk">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>The clerk is grey and tired and hasn't been paid enough to care about Douglas Renner. A fold of cash changes hands under the counter and you walk out with photocopies you were never supposed to have: Renner's forfeiture ledger, columns of seized lives, and clipped to the back, the Chief's home address and a note on his household. Divorced. One adult daughter still lives with him. You don't know yet what you'll do with it. You just know it's the first thing in this city that has felt like leverage.</p>
<<statchange "money" -20>>
<p>You have the Chief's ledger, and his address. You don't yet know what it's worth.</p>
[[Leave the precinct at dusk|IntroNew3]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Bribe a records clerk"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Confront the desk sergeant">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You put your hands flat on the counter and tell the desk sergeant, calmly and in front of a full waiting room, exactly what kind of theft his Chief's signature represents. But this leads to nowhere, and you're just escorted out. Although... One of the officers seems to be watching you more closely than the others, and slips you a note with the address. "You want to make a scene, do it at Renner's house."</p>
<<statchange "respect" 1>>
<<statchange "heat" 5>>
<p>You made your point, and got noted.</p>
[[Leave the precinct at dusk|IntroNew3]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Confront the desk sergeant"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><div class="text">Night alleys lead you to Luna's office with your notes, when they peel out of the shadows: four of them, orange armbands, and this time there's no boom gate, no bus full of witnesses, no performance of legality at all.</div>
<<pic "img/intro/van.webp" "story">>
<div class="text">You put two of them down before the tire iron finds the back of your skull. The world tilts. Zip ties bite your wrists. As they fold you into the back of an unmarked van, you get one clear look at the police cruiser parked forty feet away, lights off, two officers behind the glass watching the whole thing happen. The nearest one meets your eyes.
He looks bored.</div>
<<statchange "physical" -5>>
<div class="text">You wake to the smell of diesel and animal shit.
It's a barn. A real one, somewhere past the edge of town, its stalls converted into cages of welded rebar and chain-link. A generator hums. Somewhere a man is weeping in a language you don't recognize.
In the next cage over, a wiry man sits with his back to the bars, three days of stubble and a lip split and scabbed, and he is, impossibly, chuckling at you.</div>
<<pic "img/intro/jamal_intro.jpg" "story">>
<<speech "Jamal" "Hooo, they got a big one this time. What'd you do, soldier? Forget to smile at the nice men with the armbands?" "jamal_happy">>
<<speech "You" "Something like that.">>
<p>He shifts around to face you, wincing, and studies your face with an attention that cuts through the pain.</p>
<<speech "Jamal" "Wait, Jeremy? How the hell did you end up here?" "jamal">>
<<speech "You" "Jeremy? He's my brother.">>
<p>Something changes in his eyes. He barks a laugh that turns into a cough.</p>
<<speech "Jamal" "I knew him, matter of fact. He wanted to be a hero, and he wanted it his way: no prep, no patience. It's a miracle he pulled it off... if that's what you wanna call it." "jamal">>
<<speech "You" "And you're the expert.">>
<<speech "Jamal" "I'm the man been counting guards for two days while I wait my turn to get shot. Name's Jamal. And I know their rotation cold." "jamal">>
<p>He nods toward the far end of the barn, where a single Militiaman sits half-asleep with a shotgun across his knees and a ring of keys on his belt.</p>
<<speech "Jamal" "One man on the graveyard shift. Fat, tired, alone. In about ten minutes he does his walk. I just been waiting on somebody strong as you..." "jamal">>
<<nobr>>
<div class="text">How do you take the guard?</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Break his arm and take the keys">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>When he passes your cage you reach through the bars and take his wrist, and the snap of it echoes off the rafters before he can even scream. You have the keys before he hits the straw. It's loud. It's ugly. Every other prisoner is awake now, and so, somewhere, is whoever the noise carries to. But you and Jamal are through the door and into the treeline in under a minute, and the guard will remember your face for the rest of his short career.</p>
<<statchange "physical" 1>>
<<statchange "heat" 10>>
<div class="req">Fast and brutal. They'll be looking for you.</div>
[[Run|IntroNew4]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Break his arm and take the keys"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Same, then burn the barn">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>When he passes your cage you reach through the bars and take his wrist, and the snap of it echoes off the rafters before he can even scream. You have the keys before he hits the straw. It's loud. It's ugly. Before you go, you tip the generator's fuel can across the old dry straw and touch the guard's own lighter to it. You open every cage first. Whatever this place was, it will not be here in the morning. The fire climbs high enough to be seen from the highway, and people will be whispering about it for weeks. Let the regime explain the ashes.</p>
<<statchange "respect" 2>>
<<statchange "heat" 20>>
<div class="req">The whole county saw that fire.</div>
[[Run from the light|IntroNew4]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Take the keys, then burn the barn"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><<pic "img/intro/laundromat.webp" "story">>
<div class="text">You come down off the adrenaline in the flat white light of an all-night laundromat, the only place open, the only place with no reason to look twice at two beaten men pretending to wait on a dryer. Jamal buys coffee from a machine that dispenses something adjacent to coffee. You take stock of what you have left, which is nothing, and what the state has taken, which is everything.
Jeremy on a schedule to die. Your money seized with a signature. A cage in a barn that does not officially exist, that you were meant to die in, that no court will ever hear about. And one name signed under all of it.</div>
<<speech "You" "So how do you know my brother?">>
<<speech "Jamal" "He tried to join our, let's say, resistance network. Like I said, boy was running too hot for us." "jamal">>
<<speech "You" "Resistance? Are you serious?">>
<<speech "Jamal" "For lack of a better word. Don't matter much now, ain't many of us left - most just disappeared, and I figure Renner's personal prison was the last place anybody saw them." "jamal">>
<<speech "You" "Renner, huh? That bastard seized the money for Jeremy's defense, and then tried to get rid of me with his goons.">>
<<speech "Jamal" "Way I see it, we got nothing left to lose, and we know exactly the man responsible for that." "jamal">>
<div class="text">He pulls back his jacket just enough to show you the grip of a pistol he took from the barn, and you find that the idea of vigilantism doesn't horrify you the way it should. It feels, if anything, like relief. You have Renner's address and your training. Jamal has a gun and his desperation.</div>
<p>You're just gonna kill this bastard, because you don't have any other options left.</p>
<div class="text">You don't waste time and hijack a car to drive to Renner's residence outside town when it's already early morning. It's a good house, the kind the honest men can't afford, and there in the driveway sits Renner's personal cruiser, meaning the man is home.
<<speech "Jamal" "That daughter of his, name's Eden, she drive a Prius. It ain't here, so she must be out. Perfect." "jamal">> </div>
<<pic "img/intro/mansion.jpg" "story">>
<<nobr>>
<div class="text">How do you go in?</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Quiet">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You take the back door the way you were trained, fast and silent, the lock giving under your hands in seconds. Jamal follows in your wake, and for the first time since you've met he isn't the one leading. Inside the dark house, you move like the professional you used to be.</p>
[[Clear the house|IntroNew5]]
<</replace>>
<<replace "#choice-container">><div class="choice-made">Quiet</div><</replace>>
<</linkreplace>><br>
<<linkreplace "Loud">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>Jamal thinks you're insane, and maybe you are, but there's a poetry to it you can't resist. You put your boot through Douglas Renner's front door the exact way his men put their boots through a hundred others, wood splintering, the whole street free to hear it. It's loud and stupid, and for one second it feels like justice.</p>
<<statchange "respect" 1>>
<<statchange "heat" 5>>
[[Clear the house|IntroNew5]]
<</replace>>
<<replace "#choice-container">><div class="choice-made">Kick the front door like the police do</div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><div class="text">You clear the ground floor room by room, gun up, the way you've cleared a hundred rooms in countries whose names the folks back home never learned. Kitchen, empty. Study, empty, a wall of framed commendations glinting in the dark. Living room, empty.
In the window's reflection, out on the driveway below, you finally see what you missed: the yellow tow-tag hanging from Renner's cruiser mirror, the shop sticker in the windshield. Transmission's dead. He must have used his daughter's car as a spare.
Your intelligence was a guess and your guess was wrong. The house is empty of the only man you came for.
It is not empty of everyone.</div>
<<video "img/intro/eden_intro_0.mp4">>
<div class="text">In the hallway appears a feminine silhouette, and you take her down from behind and lead her to the kitchen, where you together tie the girl to a chair.</div>
<<speech "Jamal" "Man, it was NOT supposed to go down like this!" "jamal">>
<<speech "You" "It never is! We fucked up, the man is not here. I'll watch over his daughter, you go scout his cabinet, look for any papers that might have dirt on him.">>
<div class="text">Jamal leaves you alone with a teenage girl, struggling in her kitchen chair. Despite the situation, you can't help but gaze at the pretty young woman in what is essentially the underwear she was sleeping in. It doesn't help that her wide eyes on the pretty, freckled face beg you to un-tape her mouth.</div>
<<speech "You" "Okay, I'm going to take the gag off, but you have to promise you'll be good?">>
<<video "img/intro/eden_intro_1.mp4">>
<p>She enthusiastically nods, and you remove the tape. She takes a deep breath and looks at you - without even a hint of fear.</p>
<<speech "Eden" "This is so fucking exciting!" "eden">>
<<pic "img/intro/intro_what.webp">>
<<speech "You" "What? You don't look scared at all.">>
<p>She giggles.</p>
<<speech "Eden" "Noo, you have no idea - this is one of my favorite fantasies! Feel how soaked I am in my pussy... Feel it, please!" "eden">>
<<video "img/intro/eden_intro_2.mp4">>
<p>Unable to resist, you reach down and feel the wetness and burning warmth of her pussy through the thin cotton of her panties. The way her thighs start moving back and forth riding the chair makes your cock twitch in your pants. You slap her slutty pussy, and she only giggles in response.</p>
<<speech "Eden" "You wanted to hurt my daddy, right? I don't think there is a better way to do it. Show me your big black cock~" "eden">>
<p>You swiftly untie the girl and command her to crawl to the wall. Slowly, you walk up to her, pulling out your hardening cock, stopping inches before her face - and Eden, daughter of the police chief, openly opens her mouth for you to use.</p>
<<video "img/intro/eden_intro_3.mp4">>
<<nobr>>
<div class="text">How do you use her mouth?</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Let her set her own hungry pace">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You let her run the show, and she makes a filthy little meal of it, worshipping every inch with her tongue, working you slow and wet while you press her against the wall with your massive big black cock.</p>
[[Jamal comes back|IntroNew5b]]
<</replace>>
<<replace "#choice-container">><div class="choice-made">You let her work</div><</replace>>
<</linkreplace>><br>
<<linkreplace "Grab her hair and take her throat">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You grab that black hair and take over, and you brace for her to gag and flinch the way a spoiled girl should. She doesn't. She melts into it, throat opening for you like she's had a lot of practice she never told daddy about. Balls-deep, eyes streaming and delighted, thoroughly enjoying the facefuck.</p>
<<video "img/intro/eden_intro_4.mp4">>
[[Jamal comes back|IntroNew5b]]
<</replace>>
<<replace "#choice-container">><div class="choice-made">You take her throat</div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><div class="text">Footsteps in the hall. Jamal rounds the corner out of the study with a box of the chief's papers, mid-sentence about something he found, and stops dead. His eyes travel from you, to the half-naked girl slick-mouthed and kneeling at your cock.</div>
<<speech "Jamal" "What the fuck?! Nigga, have you lost your goddamn mind?!" "jamal">>
<<video "img/intro/eden_intro_5.mp4">>
<p>You take a step back, feeling a bit awkward facing Jamal with your dick out - but his eyes are focused on drooling and happy Eden, who playfully waves her little hand at him.</p>
<<speech "You" "Man, I swear, she's a freaky girl. She asked for it.">>
<<speech "Eden" "I'm just tired being under dad's watch." "eden">>
<p>Jamal looks down at the papers in his hand, then at the chief's daughter offering herself up like the best evidence in the world. He lets them drop to the floor.</p>
<<speech "Jamal" "Shit. Fuck it, I want me some of that too." "jamal_happy">>
<div class="text">You haul her up off the tile and bring her down the hall into her bedroom, where you throw police chief's daughter on her bed like a ragdoll.</div>
<<speech "Eden" "Hihi! Wait, wait, let me get my phone... I want my father to see this." "eden">>
<<speech "Jamal" "Yo what?" "jamal">>
<<speech "Eden" "Old bastard thinks I'm his property. I'm so tired of his bullshit! I just want to take back control of my life, and I think letting you guys fuck my brains out is exactly what is needed!" "eden">>
<p>You don't argue with that and take her from behind, sinking into a cunt that's soaked and ready, while Jamal feeds himself into that clever mouth from the other end. She's pinned between you, spitroasted on her own mattress, and she grins around Jamal's cock the whole time.</p>
<<video "img/intro/eden_intro_6.mp4">>
<p>She takes both of you like it's what she was built for, rocking herself back onto you and forward onto him, gagging happily every time Jamal loses his patience, her moans thick and muffled under him. Every so often she pulls off him just to check the phone is still angled right.</p>
<<speech "Eden" "That's it, both of you, ruin me. He's going to watch this a hundred times and die a little more each one." "eden">>
<<speech "You" "Shit, you ARE a freak. Yo, man, I think it's your turn on this pussy.">>
<<speech "Jamal" "Yeah, brother, I'm coming - soon as this bitch quit gobbling up my dick!" "jamal">>
<div class="text">Eden climbs up over Jamal and sinks down onto his cock, riding him slow and deep. She looks back at you over her shoulder, reaches both hands behind herself, and spreads her plump ass wide, an open invitation you'd have to be a saint to ignore.</div>
<<video "img/intro/eden_intro_7.mp4">>
<<speech "Eden" "Don't be polite. There's another hole, and I want daddy to watch every single one of them get used." "eden">>
<<nobr>>
<div class="text">Do you take what she's offering?</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Take the invitation">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You spit down between her spread cheeks and press into her ass while Jamal stays buried in her cunt, and the sound she makes barely qualifies as human. The two of you fill her at once, working out a rhythm that has her stuffed and babbling, both of you inside the chief's little girl while her own camera drinks in every second of it.</p>
<<video "img/intro/eden_intro_dp.mp4">>
<<speech "Eden" "OH GAWD, keep going!" "eden">>
<p>It's awkward to feel Jamal's dick right behind the thin wall of Eden's insides, thrusting and twitching, but only at first. Even your escape from the militia's prison wasn't as bonding as DP-ing together.</p>
[[Finish it|IntroNew5c]]
<</replace>>
<<replace "#choice-container">><div class="choice-made">You take her ass</div><</replace>>
<</linkreplace>><br>
<<linkreplace "Not that far, not yet">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You leave that invitation on the table, not sure whether you are ready to be so close to Jamal's dick. Instead, when he has had his fill of her riding him, you pull her up by the jaw and give her something else to choke on, and she rewards you by burying her nose in your stomach and swallowing you to the root, that surprisingly greedy throat working you over while Jamal watches and laughs.</p>
<<video "img/intro/eden_intro_8.mp4">>
<<speech "Eden" "See how deep I take it? Bet daddy never wanted to know his girl could do that." "eden">>
[[Finish it|IntroNew5c]]
<</replace>>
<<replace "#choice-container">><div class="choice-made">You keep it to her throat</div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><div class="text">You're both close now, and Eden knows it. She slides off the bed and drops back to her knees on the carpet, tilts that freckled face up, and holds the phone out at arm's length so the lens catches all three of you in the frame.</div>
<<speech "Eden" "On my face. One at a time. I want him to be able to count you." "eden">>
<div class="text">You go first. You finish across her cheek and her open mouth, and she keeps her eyes on the camera the whole time, tongue out, catching what she can.</div>
<<video "img/intro/eden_intro_facial1.mp4">>
<p>Then Jamal steps in and empties himself over the other side of her face, until she's dripping and grinning through the mess, looking more like a girl who just won something than one who was tied to a chair an hour ago.</p>
<<video "img/intro/eden_intro_facial2.mp4">>
<p>Eden turns the phone around, angles it down at the mess the two of you left on her, and snaps a photo with a satisfied little hum.</p>
<<pic "img/intro/intro_selfie.jpeg">>
<<speech "You" "What are you doing?">>
<<speech "Eden" "The best part." "eden">>
<p>Her thumbs move fast. You realize what's happening half a second too late to stop it, and you wouldn't have stopped it anyway. She sends the video straight to her father's personal number. And then, giggling, before either of you can say a word, she forwards the whole thing to something labeled LODGE, a group chat of two hundred of the chief's proudest, most patriotic brothers.</p>
<<speech "Eden" "Oops. Fat fingers. Guess everyone's about to see what the chief's little girl really likes." "eden">>
<<speech "You" "Shit, we should have kept the masks... Man, we gotta run.">>
<<statchange "heat" 30>>
<p>But Jamal barely listens - he is staring at the phone, then at you, and you can watch the idea arriving on his face - a big one.</p>
[[Get out before the neighborhood wakes|IntroNew6]]<div class="text">It takes three days.
You spend them in a cheap motel with the shades down, watching it happen from a distance, and it happens faster and more completely than anything Jamal's resistance network ever managed with a bomb. Eden's little group-chat "accident" did what no court and no bullet ever could. By the second morning the video is everywhere the Chief's world lives, the Militia channels, the precinct, the "lodge", passed man to man with the special glee that men like that reserve for one of their own brought low.
In a regime built on the fantasy of racial and patriarchal dominance, Douglas Renner is finished. Not arrested. Not martyred. Worse. He is the man whose own daughter begged two black men to ruin her in his own home, on camera, laughing. He cannot give an order anyone will follow. He resigns "for health reasons" before the week is out, and the forfeiture cases that carried his signature, dozens of them, quietly collapse into a legal embarrassment nobody wants to defend.</div>
<div class="text">Your phone buzzes. A number you don't recognize, a message that is only a scan of a court form: the freeze on your family's assets, VACATED, Renner's name struck through. And beneath it, a photo of a handwritten note from Luna Star.</div>
<<speech "Luna" "You won today, $real_name. P.S. You owe me a coffee." "luna">>
<div class="text">Jamal finds you that night, and he isn't laughing.</div>
<<speech "Jamal" "You know who I was, before that barn? I was a true believer. Real deal, bombs, sabotage, you name it." "jamal">>
<<speech "Jamal" "Three years I gave it. You know what all our fire and blood ever bought? Recruitment posters. Every bomb we set, they put on the news to prove we was the animals they always said. We made them stronger every single time we fought them the way they wanted to be fought." "jamal">>
<p>He sits heavily on the edge of the bed, turning his dead phone over in his hands, and looks at you like a man who has just watched the ground shift under his whole life.</p>
<<speech "Jamal" "And then you and me, half-dead out of a cage, no plan, wrong recon. And we ended a police chief in one night. With a phone camera. No bomb. No bullet. We took the one thing these fascist motherfuckers can't live without, the one thing their whole sick world is built to protect." "jamal">>
<<speech "You" "Their women?">>
<<speech "Jamal" "Nah, brother. Their pride." "jamal">>
<div class="text">It should sound insane, but you've seen it work. You watched a signature that stole your family's future get erased by a phone video and a girl's spite, and some cold, strategic part of you is already doing the math Jamal is doing.</div>
<<speech "You" "So what happens now?">>
<<speech "Jamal" "Now we go dark. Our faces on that tape, so we watching our heat from here on out." "jamal">>
<p>Jamal slides a folded note across the cheap motel bedspread, a key on top of it.</p>
<<speech "Jamal" "Here, key to a safe house, address on the note. Shitty neighborhood, but ain't nobody gon' look at you twice there. You lay low, get to know the block, make people respect you - 'cause we gon' need people." "jamal">>
<<speech "Jamal" "Meanwhile I'm gon' reach out to my network, what's left of it. I'll scout a new target and come find you." "jamal">>
<<speech "You" "How does this help me? What about Jeremy?">>
<<speech "Jamal" "We do this right, we get close enough to reach the people who can open his cell, or sign the paper that does. That's the long game. Tonight was just proof it works." "jamal">>
<p>He stands and heads for the door.</p>
<<speech "Jamal" "That was good sex, tho." "jamal">>
<div class="req">You have an address, a key, and a war nobody trained you for. Whatever the last three days were, they were the old life finishing. Everything from here counts from day one.</div>
[[Go to the address|The Wall]]<<pic "img/intro/wall.webp" "story">>
<div class="text">The city bus approaches the wall: concrete highway barriers stacked two high and topped with wire, camera masts every hundred meters, the concrete gone grey-brown with exhaust and rain. </div>
<div class="text">There are several roads in, each guarded by a blockpost like the one your bus is approaching: sandbags, a lowered boom, floodlights on poles, a plywood booth with a militia flag. Two queues. The long one is residents coming out for the early shifts, work passes held at chest height. The short queue is going in.
The short queue is you.</div>
<div class="text">The militiaman at the gate looks at you, at your bag, at your face, and waves you through without asking for anything at all. What goes in doesn't matter. Nobody smuggles themselves INTO the reservation.
</div>
<<pic "img/general/hood_2.jpg" "story">>
<div class="text">Inside, the first thing you understand is that "the hood" is the polite name. The city pushed everything it didn't want behind this wall - the immigrants first, then the poor and unreliable.
Police and militia don't patrol this side of the wall; they come in force or not at all, and between their raids this place is either a hellhole or a libertarian paradise - depends on your perspective. It even attracts outside visitors - you spot several expensive cars that roll through the main alley, looking for cheap thrills: drugs on the corner, cheap whores from the local brothel, or a nightclub where you can do both.</div>
<div class="text">The address on the note is a corner store with dead windows, three blocks past a bar that's somehow still lit. Around the side, up an exterior stair, a door with a bolt lock that Jamal's key fits. You stand on the landing a moment, looking back the way you came: over the low roofs you can still make out the camera masts along the wall, red lights blinking in the dark, every one of them pointed in at you and your new neighbors.</div>
[[Go inside|The hideout]]<<switch $community_quest>>
<<case 1>>
<<pic "img/general/community_stage1.webp" "story">>
<div class="text">The burned-out shell of the community library sits behind a sagging length of caution tape nobody has bothered to replace. Whatever happens to this building next, it starts with someone walking inside.</div>
<<linkreplace "Explore the building">>
<div class="text">The community library is a gutted shell now, scorch marks up the facade, most of the windows gone. Inside, the air smells of ash and damp decay, with the sour tang of old smoke underneath it. A charred pile of books sits in the center of the main hall, pages curled and black. The walls are smeared with hateful graffiti, crude symbols and slurs in spray paint. The shelves sag, their contents looted or ruined by fire and time. The structure held, but the place is hollow.<br><br>
You walk it twice before you start counting properly. The fires were put out fast enough that most of the damage is cosmetic, and the brick held. The roof and the wooden floors are the exceptions. Cleanup first, then the roof, and only after that the windows and the interior.<br><br>
It will take time, effort and, more to the point, money. You can do it alone. It would go a great deal faster with someone who knows construction.</div>
<<statchange "energy" -3>>
<<set $community_quest to 3>>
<</linkreplace>>
<<case 3>>
<<album "img/general/community_progress_" 2 "webp" "story">>
<<renophase>>
/* Standing description of the site as it currently is. The per-session
flavour further down only renders inside "Get to work", so without this
a player who is short on money or energy gets a percentage and a link
and nothing that reads like a building. */
<div class="text"><<switch _phase>>
<<case "Cleanup">>
Every visit starts the same way: shoulder the door until the warped frame lets go, then stand a moment while your eyes adjust. The hall smells of wet ash and will for a long time yet. What you have hauled out so far sits in the parking lot in sorted heaps, most of it shelving. What you have not hauled out is everything else. Light comes down through the holes in the roof in solid grey columns, full of the dust you keep raising, and the graffiti is still legible from the door. You have stopped reading it. That took about a week.
<<case "Roof">>
The floor is clear enough to walk without watching your feet now, and that changes the place more than the work deserves. You can see the shape of it: where the shelves ran, where the desk sat. There is a darker rectangle high on the back wall where something official used to hang, and nobody has been able to tell you what. Rain still finds the same four spots and has started leaving stains down the plaster. Up on the joists the burned span is obvious, black wood giving way to grey, and the wind moves through it loud enough to hear from the ground.
<<case "Windows">>
Dry, at last. The new decking smells of cut pine over the ash, a clean smell fighting a dirty one, and for the first time the building holds a temperature. What it does not hold is wind. The boards you nailed over the worst of the frames make the hall dark as well as cold, and sparrows come and go through the rest like they have been paying rent. When you sweep, the dust stays down instead of hanging in the light. Small thing. You notice it every time.
<<default>>
It is a room again. Glass in the frames, and the hall fills up with ordinary afternoon light that shows you exactly how much is left: bare plaster, raw sanded floor, wiring stapled along the baseboards waiting on cover. The echo is what gets you. Your footsteps come back off the far wall now, and the place has the sound of somewhere people are meant to sit quietly. Ella's clipboard lives on the sill. She has started leaving her coat here between visits.
<</switch>></div>
/* Wrapped in an id so "Get to work" can refresh it in place - otherwise the
header keeps showing the pre-action percentage until the player leaves. */
<div id="reno-header" class="text" style="font-size: 1.2em; font-weight: bold;"><<if $library_progress < 100>>Phase: _phase. Renovation progress: $library_progress%.<<else>>Renovation progress: $library_progress%.<</if>></div>
<<nobr>>
<<if $library_progress >= 90 && $library_standoff < 2>>
<<set $library_standoff = 1>>
<div class="text">The work stops on its own. A big diesel pickup has made two slow passes along the block, and now it's swinging back around, bed full of men in mismatched camo. The Oath Boys have finally come to look at what's growing where their fire used to be.</div>
[[Face them|LibraryStandoff]]
<<elseif $library_progress >= 50 && $library_progress < 70 && $library_materials == 0>>
<<if $money >= 15>>
<<linkreplace "Buy window glass and frames ($15)">>
<div class="text">Glass doesn't get salvaged - glass gets bought. You spend a morning with a glazier on the other side of the hood who asks no questions about the address, and by afternoon a hand cart of panes and secondhand frames stands wrapped in blankets inside the main hall. Now the window work can start.</div>
<<statchange "money" -15>>
<<set $library_materials = 1>>
<</linkreplace>>
<<else>>
<div class="req">The empty window sockets are next, and boards won't do this time. You need $15 for glass and frames before this phase can start.</div>
<</if>>
<<elseif $money >= 5 && $energy >=5 && $library_progress < 100 >>
<<linkreplace "Get to work">>
<<nobr>>
<<if _phase == "Cleanup" && $library_find < 1>>
<<set $library_find = 1>>
<div class="text">Prying the burned notice board off the front door, you find a paper stapled beneath it, scorched at the edges but legible: NOTICE OF UNREGISTERED ASSEMBLY, citing "recurring unsanctioned gatherings" - the literacy classes, the tenant meetings - with the Oath Boys' torch stamp at the bottom. They wrote themselves permission before they lit the match. And up close, the graffiti tells you who held the pen: crooked swastikas with the arms bent the wrong way, SS bolts, an "88" and a "14" in the same hand. Dollar-store Third Reich, copied off the internet by men who couldn't spell "Reich."</div>
<<elseif _phase == "Roof" && $library_find < 2>>
<<set $library_find = 2>>
<div class="text">Up on the roof you find where the fire started: a scorch flower spread around a melted bottle neck, the burned rag still fused to it. Snagged on the parapet wire beside it, an iron-cross patch - machine-embroidered, the kind sold at the surplus store two blocks from the blockpost. They didn't even climb down the way they came up. They just dropped the bottle and ran like kids.</div>
<<elseif _phase == "Windows" && $library_find < 3>>
<<set $library_find = 3>>
<div class="text">Sweeping out the last window frame, you free a half-burned sheet that has been wedged there since the fire: a hand-drawn flyer. LEARN TO READ WITH YOUR KIDS, TUESDAYS. TENANT MEETING, THURSDAYS - KNOW YOUR RIGHTS. This is what the citation called "unregistered assembly." Not the books. The Tuesdays and the Thursdays. You show it to Ella, and for the rest of the afternoon she works without saying a word.</div>
<<elseif _phase == "Interior" && $library_find < 4>>
<<set $library_find = 4>>
<div class="text">Behind the collapsed front desk, in a fireproof cash box that did its job, you find the sign-in ledger from the mutual-aid nights. Ella goes through it page by page with ash-black fingers, and you watch her sort the names the way she sorted the books: still here, relocated, detained, unknown. She copies the whole thing out by hand into a new notebook before she lets you shelve the original. "The building isn't the thing we're rebuilding," she says. "This is."</div>
<<else>>
<div class="text"><<switch _phase>>
<<case "Cleanup">>
<<set _event=random(1,4)>>
<<switch _event>>
<<case 1>>
As you toss the debris into a growing pile outside, you haul out the charred remains of books and furniture. The smell of burned paper and wood clings to your clothes long after.
<<case 2>>
Despite you scrubbing at the hateful graffiti on the walls, the paint barely fades, leaving faint scars of words you'd rather forget.
<<case 3>>
With a borrowed broom, you sweep layers of ash and dirt from the floors. Warped tile shows up underneath, and here and there a scrap of what the place used to be - a date stamp card, half a poster about summer reading.
<<case 4>>
You spend the session hauling out the ruined carpet in strips, rolled like bodies, while a couple of neighborhood kids watch from the doorway and keep a wary count of your trips.
<</switch>>
<<case "Roof">>
<<set _event=random(1,3)>>
<<switch _event>>
<<case 1>>
You patch gaps in the roof with tar and plywood, each hammer strike echoing through the empty shell of the library.
<<case 2>>
You spend the day tearing out charred joists and sistering new lumber alongside the ones that held. From up here you can see the blockpost at the end of the main road, and it can see you.
<<case 3>>
Hot tar work under a flat gray sky. By the end of it your shoulders scream and the roofline runs straight for the first time since the fire.
<</switch>>
<<case "Windows">>
<<set _event=random(1,3)>>
<<switch _event>>
<<case 1>>
A rusted hammer in hand, you pry loose warped and blackened boards from the windows, letting in pale sunlight for the first time in months.
<<case 2>>
Glazing is patient work: bed the pane, set the points, run the putty with a thumb. By dusk one more window holds the warm light in instead of the weather out.
<<case 3>>
You hang salvaged frames plumb in sockets that aren't, shimming until the bubble sits center. A passing old man stops to watch the glass go in and doesn't say anything, but he takes his hat off.
<</switch>>
<<case "Interior">>
<<set _event=random(1,3)>>
<<switch _event>>
<<case 1>>
You drag in salvaged shelves from a nearby thrift store; each piece mismatched but sturdy enough to hold what little you can restore. Ella directs the placement like artillery: two degrees left, hold, there.
<<case 2>>
Paint day. Ella tapes the trim and rations the rollers, and you cover the last of the scorch shadows with a color she calls "institutional cream" and defends like a thesis.
<<case 3>>
You and Ella spend the session shelving the "lives" stack in proper order. She keeps stopping to read first pages out loud, which is the least efficient sorting method ever devised, and neither of you does anything to fix it.
<</switch>>
<</switch>></div>
<</if>>
<</nobr>>
<<statchange "money" -5>>
<<statchange "energy" -5>>
<<set $library_progress +=10>>
<<if $foreman_help > 0 >>
<p>Thanks to the help from the foreman, you're able to progress faster.</p>
<<set $library_progress +=10>>
<<elseif _phase == "Roof" && $construction_rep >= 12>>
<p>You've hung enough joists on the foreman's site to do this kind of work in your sleep. The roof goes twice as fast under hands that know it.</p>
<<set $library_progress +=10>>
<</if>>
<<set $library_progress = Math.min(100, $library_progress)>>
/* Recompute the phase and repaint the header so the new percentage shows
immediately instead of on the next visit. */
/* Percentage only: the phase name here would be the *next* phase, sitting
directly under a paragraph describing the work you just did in the
previous one, which reads as a contradiction. */
<<replace "#reno-header">>Renovation progress: $library_progress%.<</replace>>
<</linkreplace>>
<<elseif $library_progress < 100>>
<p> You need at least 5 energy and 5 money to work on the renovation.</p>
<</if>>
<<if $ella_stage == 1>>
<div class="req">You wonder if you should tell Ella about the progress you've made... She still drowns her evenings at the bar.</div>
<<elseif $ella_stage == 2>>
<<if $library_progress < 30>>
<div class="req">Ella comes by the site but keeps her distance while the place is still a burned shell - finish the cleanup first, then she'll have something to plan over.</div>
<<elseif $day >= $ella_next_day>>
<p>Ella's been at the site since morning - sober, organized, and apparently expecting you.</p>
[[Share a coffee with her|EllaBeat_Plans]]
<<else>>
<div class="req">Give it a day - after the state you last saw her in, Ella will need one.</div>
<</if>>
<<elseif $ella_stage == 3>>
<<if $library_progress < 50>>
<div class="req">Ella circles the charred book pile with her clipboard, but salvage day needs a dry building - get the roof done first.</div>
<<elseif $day >= $ella_next_day>>
<p>Ella has cordoned off the charred book pile and is eyeing it like an enemy position. She waves you over.</p>
[[Join her for salvage day|EllaBeat_Salvage]]
<<else>>
<div class="req">Ella is buried in her clipboard today. Come back another day - the salvage pile isn't going anywhere.</div>
<</if>>
<<elseif $ella_stage == 4>>
<<if $library_progress >= 100 && $library_standoff == 2>>
<<if $day >= $ella_next_day>>
[[Complete the renovation|Ella Hughes]]
<<else>>
<div class="req">The last coat of paint is drying. Come back tomorrow - Ella wants everything perfect for the unveiling.</div>
<</if>>
<<elseif $library_progress < 100>>
<div class="req">Ella is ready for the finish - now the building has to be. Complete the renovation.</div>
<</if>>
<</if>>
<</nobr>>
<<case 4>>
<<pic "img/general/community_stage4.jpg" "location">>
<<if $ella_stage == 5>>
<<if $day >= $ella_next_day>>
<p>Opening day. The doors stand wide for the first time since the fire, and the block has turned out in numbers - kids on the rug, mothers by the kettle, the chess players already arguing over a board someone donated. Ella is everywhere at once, and somehow never far from you.</p>
<<else>>
<p>The renovation is done, but the doors stay locked - Ella wants the neighborhood's first look to be tomorrow, at the grand opening, and not a minute earlier. Through the new glass you can see her moving between the shelves, straightening books that were already straight an hour ago.</p>
<</if>>
[[Find Ella|Ella Hughes]]<br>
<<else>>
<p>The library feels alive again. The modest shelves hold their salvaged books, quiet conversations and the occasional laugh carry between the walls, and the whole place smells of paper and fresh wood. In this neighborhood, that smell alone is worth defending.</p>
<<if $library_standoff == 2>><p>The Oath Boys give the building a wide berth these days - nobody wants a second helping of that afternoon on the curb. Their trucks still own the rest of the block. Just not this address.</p><</if>>
<<libraryevent>>
<<nobr>>
[[Find Ella|Ella Hughes]]<br>
<<if $energy >=5>>[[Do volunteer work|Volunteer]]<br><<else>>Not enough energy to do volunteer work.<br><</if>>
<<if $energy >=3>><<if $reading_hour_day < $day>>[[Host the reading hour|LibraryReadingHour]]<br><<else>><div class="req">Today's reading hour is done - the rug crowd has a strict one-per-day policy.</div><</if>><<else>>Not enough energy to host the reading hour.<br><</if>>
<<if $target1>=4>><<if $energy >=5>>[[Find something to read|Study]]<br><<else>>Not enough energy to study.<br><</if>><</if>>
<<if $backroom_unlocked > 0>>
<<if $energy >=5>>[[Read in the back room|LibraryBackRoom]]<br><<else>>Not enough energy for the back room.<br><</if>>
<<elseif $ella_stage >= 6>>
<<if $money >= 30 && $energy >= 5>>
<<linkreplace "Build a back room behind the poetry shelf ($30)">>
<div class="text">You pitch it to Ella as a supply closet, and she looks at you the way she looks at books that lie about their genre. Then she draws the hinge mechanism herself. A weekend of quiet carpentry later, the poetry shelf swings on a pivot, and behind it waits a lamp, a chair, and empty shelving for the books that can't sit in the open. "If they ever find it," she says, handing you the first banned title for the collection, "we were never in here."</div>
<<statchange "money" -30>>
<<statchange "energy" -5>>
<<set $backroom_unlocked = 1>>
<</linkreplace>><br>
<<else>>
<div class="req">Ella keeps eyeing the dead space behind the poetry shelf. A hidden reading room would take $30 in lumber and hardware, and a free evening (5 energy).</div>
<</if>>
<</if>>
<</nobr>>
<</if>>
<</switch>>
<<nobr>>
<<if $school_unlocked == 3 && $school_intro_location == "library">>[[Meet with Jamal|SchoolIntroLibrary]]<br><</if>>
<<if $ella_mmf_stage == 1>><<linkreplace "Ella wants to talk...">><<nobr>>
<<speech "Ella" "So...">><br>
<<speech "You" "Yes?">><br>
<<speech "Ella" "I wanted to ask you something...">><br>
<<speech "You" "Go on, babe.">><br>
<<speech "Ella" "This is so awkward...">><br>
<<speech "You" "You want to know if I'm OK with Jamal and me taking turns fucking your ginger pussy with our big black cocks until we cum all over your pretty little face?">><br>
<p>Ella blushes, not only because of your straightforwardness but also from arousal - you can tell she has already depicted the threesome - in a similar fashion.</p><br>
<<speech "Ella" "Well... yeah?">><br>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Not OK">>
<<set _choiceMade = true>>
<<set $ella_mmf_stage = -1>>
<<replace "#output">><<speech "Ella" "Oh... Well... Can you please forget this ever happened?">><br><</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>><br>
<<linkreplace "Let's do it!">>
<<set _choiceMade = true>>
<<set $ella_mmf_stage = 2>>
<<replace "#output">><p>Ella smirks.</p>
<<speech "Ella" "That means so much to me! I think I have a place in mind. Contact Jamal, and meet me there tomorrow!">><<set $nextday = 1>><br><br><</replace>>
<<replace "#choice-container">><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<br>
<</nobr>><</linkreplace>><br><</if>><br>
[[Go outside|The Hood]]
<</nobr>>/* ============================================================
Library system widgets.
<<renophase>> - maps $library_progress to the current rebuild
phase name (_phase): Cleanup 0-29, Roof 30-49, Windows 50-69,
Interior 70-99.
<<libraryevent>> - rolled on visiting the finished library
(community_quest == 4). 40% chance, at most one per day
($last_library_event_day). Gated events fall back to a quiet
line, Hood-style.
============================================================ */
<<widget "renophase">>
<<if $library_progress < 30>>
<<set _phase = "Cleanup">>
<<elseif $library_progress < 50>>
<<set _phase = "Roof">>
<<elseif $library_progress < 70>>
<<set _phase = "Windows">>
<<else>>
<<set _phase = "Interior">>
<</if>>
<</widget>>
<<widget "libraryevent">>
<<if $last_library_event_day < $day && random(1, 100) <= 40>>
<<set $last_library_event_day = $day>>
<<set _levent = random(1, 8)>>
/* Gated events fall back to the quiet default (case 0) */
<<if _levent == 5 && ($ella_stage < 6 || $energy < 3)>><<set _levent = 0>><</if>>
<<if _levent == 3 && $energy < 2>><<set _levent = 0>><</if>>
<<switch _levent>>
<<case 1>>
/* Banned book request */
<div class="text">A man you half-recognize from the hood waits until the reading tables empty out before he approaches the desk. He doesn't ask for a title. He slides over a scrap of paper with one written on it, folded twice, and keeps his hand flat on the desk like the scrap might try to escape. The book is on the proscribed list. Of course it is - the good ones usually are.</div>
<div id="choice-container">
<<linkreplace "Wrap it in newspaper">>
<<replace "#output">>
<div class="text">You find the book, fold the state paper around it - sports section out, nobody checks the sports section - and hand it across like a sandwich. He's gone in under a minute. It'll come back the same way, or it won't come back at all. Either way, the word moves: the library lends what the list forbids.</div>
<<statchange "respect" 3>>
<<statchange "heat" 5>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Wrap it in newspaper"</em></div><</replace>>
<</linkreplace>><br>
<<if $backroom_unlocked > 0>>
<<linkreplace "Take him to the back room">>
<<replace "#output">>
<div class="text">You tap the desk twice and walk toward the poetry shelf without looking back. He follows at a browser's pace. In the back room he reads the first page standing up, right there, like a starving man eating in the doorway of the kitchen. No book leaves the building and no name goes into any ledger, so an inspection would find exactly nothing.</div>
<<statchange "respect" 3>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Take him to the back room"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
<<linkreplace "Turn him away">>
<<replace "#output">>
<div class="text">"We don't carry it." His hand comes off the desk slowly, taking the scrap with it. He nods like he expected nothing else and thanks you anyway, which is somehow worse. You spend the rest of the hour shelving books nobody has forbidden yet.</div>
<<statchange "respect" -1>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Turn him away"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 2>>
/* Anonymous donation */
<div class="text">Someone has left three boxes of books on the step overnight - no note, no name, packed with the care of a person who couldn't keep them and couldn't burn them either. Most of it is reading-copy junk. But at the bottom of the last box, wrapped in a pillowcase, sits a first edition that would fetch real money from the collectors on the other side of the wall.</div>
<div id="choice-container">
<<linkreplace "Sell it quietly ($15)">>
<<replace "#output">>
<div class="text">Books don't eat, and the library's roof fund does. A courier takes it out through the blockpost inside a box of regime-approved poetry, and an envelope comes back two days later. You tell yourself whoever left it on a doorstep in the dark gave up their vote on what happens next.</div>
<<statchange "money" 15>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Sell it quietly ($15)"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Shelve it">>
<<replace "#output">>
<div class="text">You put it behind the desk glass where the light can't fade it, with a card that says DONATED and nothing else. Ella finds it that afternoon and goes very quiet, turning it over with both hands. People notice things like that here. A place that doesn't sell what it's given is a place you can give things to.</div>
<<statchange "respect" 3>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Shelve it"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 3>>
/* Kids' reading hour - the wolf voice */
<div class="text">You walk in on reading hour at full riot. Ella is holding the picture book with the paper sun - the one from the salvage pile - and a dozen kids are packed on the rug in front of her. She spots you over their heads and her grin turns criminal.</div>
<<speech "Ella" "And here comes our special guest, who does the BEST wolf voice in the neighborhood. Don't you, sir.">>
<div class="text">You do not do the best wolf voice in the neighborhood. You do it anyway, twelve times, because the audience demands encores and Ella enforces the demands. By the end your throat is sandpaper and one small girl informs you gravely that the old wolf was better. Ella laughs so hard she has to sit down on the rug with them.</div>
<<statchange "energy" -2>>
<<statchange "respect" 3>>
<<case 4>>
/* The cigarette man moves indoors */
<div class="text">The man with the long-burning cigarette is in the periodicals corner. No cigarette in here - Ella's one iron law - but it's him: same coat, same patience, a newspaper he isn't reading held at an angle that covers everything but his eyes. His lips move slightly when anyone signs the guest book. The precinct pays by the name, and the library is full of names now.</div>
<div id="choice-container">
<<linkreplace "Warn Ella quietly">>
<<replace "#output">>
<div class="text">You tell her over the returns cart, in the voice you'd use to discuss a late fee. She doesn't look at him - she's learned the same rules the bartender knows. That afternoon the guest book develops a fault: the pen at the desk runs dry, and somehow stays dry, and people just stop signing in. He can memorize faces all he wants. Faces aren't names.</div>
<<statchange "respect" 2>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Warn Ella quietly"</em></div><</replace>>
<</linkreplace>><br>
<<if $heat < 75>>
<<linkreplace "Sit down across from him">>
<<replace "#output">>
<div class="text">You take the chair opposite and read for a while, companionably. Then, without lowering your book, you recommend he try the periodicals on Thursdays - since that's when the unmarked car picks him up anyway, might as well save the round trip. He folds his newspaper with great dignity and leaves. He'll write you up for it. He was going to write you up regardless.</div>
<<statchange "heat" 8>>
<<statchange "respect" 4>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Sit down across from him"</em></div><</replace>>
<</linkreplace>><br>
<<else>>
<div class="req">He knows exactly who you are. Better not to hand him a headline.</div><br>
<</if>>
<<linkreplace "Leave him to it">>
<<replace "#output">>
<div class="text">A library is public. That's the whole point of it.</div>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Leave him to it"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 5>>
/* Ella in the stacks - requires $ella_stage >= 6 && $energy >= 3 */
<div class="text">You find Ella reshelving in the back aisle, up on the stepladder, and the look she gives you over her shoulder has absolutely nothing to do with the Dewey decimal system.</div>
<<speech "Ella" "The reading room's empty until four, and I was thinking about putting something in my mouth. You want to help me with that?">>
[[Follow her between the shelves|LibraryQuickie]]
<<case 6>>
/* The old teacher - Oath Boys lore */
<div class="text">An old man in a pressed, threadbare suit waits until you're alone at the desk. He taught history two blocks from here for thirty years, he says, and then he lays two things on the desk with trembling care. The first is a photograph of the library before the fire - full shelves, a banner for the tenant association meeting, kids on the same rug Ella reads on now. The second is a carbon copy of the original citation: NOTICE OF UNREGISTERED ASSEMBLY, with the Oath Boys' torch stamp at the bottom, filed three days before the burning.</div>
<<speech "Old teacher" "They wrote themselves permission first, you see. Even arsonists want paperwork now. I kept the copy because someone should remember it was never about the books. The books just burn brighter than minutes of a tenants' meeting." "default_male">>
<div class="text">He won't take a coffee, won't take a chair, won't leave the photograph - but he lets you photograph the citation, and shows you how to read the reference numbers so you'll recognize the next one before it becomes a fire.</div>
<<statchange "knowledge" 1>>
<<case 7>>
/* Drive-by echo - flavor only */
<div class="text">Through the new windows: an Oath Boys pickup slows to a crawl outside, engine grumbling. The men in the bed look the building over - the glass, the lights, the full reading tables - and then look away first. The truck picks its speed back up and takes the long way around the block. They don't stop at the library anymore. That doesn't mean they've forgotten your face.</div>
<<default>>
<div class="text">A quiet day among the shelves. Pages turn, a kettle mutters behind the desk, and for a few hours the neighborhood gets to pretend it lives somewhere ordinary.</div>
<</switch>>
<</if>>
<</widget>><!-- IMAGE: Oath Boys pickup outside the half-renovated library, armed men in mismatched surplus gear -->
<div class="text">You hear the pickup before you see it - a big diesel making a slow, deliberate pass, then swinging around and mounting the curb in front of the library. Six of them climb out. Surplus-store camo that doesn't match, iron-cross patches sewn on crooked, one armband that was clearly stitched at somebody's kitchen table. The lead one has SS bolts inked on his neck by an artist who'd never seen the real thing.</div>
<div class="text">Behind you, the work stops. Ella comes to the doorway with a paint scraper still in her hand.</div>
<<speech "Oath Boy" "Now this is confusing. We burn a rat nest down, and some boy rebuilds it. You slow, son? The building's been decided on. Official-like." "militiaman">>
<div class="text">Down the street, doors are quietly closing. These are the men who did it - who wrote themselves a citation, waited for dark, and put a neighborhood's only warm room to the torch. Posers in mail-order costumes, and dangerous all the same, because six armed cowards are still six armed men.</div>
<<linkreplace "Step out to meet them">>
<div class="text">You come out slow, hands loose, and stop closer to him than he expected - inside the distance his rifle sling can do anything useful about. And then you don't threaten him.</div>
<<speech "You" "Weight's on your back foot. Sling's too long - I could have that rifle off you before you found the trigger. The camo's from the Sentinel Surplus catalog. Who are you, Temu warriors?">>
<div class="text">Silence. You take one more half-step and lower your voice so only the leader gets the full weight of it.</div>
<<speech "You" "During my three deployments, I've cleared buildings against insurgents who would eat this whole gang of yours before breakfast. They were the real thing, and not a bunch of military cosplayers.">>
<<if $physical >= 55>>
<div class="text">You let him look at you while you say it - at the build under your shirt, at hands that have done this for a living. He flinches first. In front of his own men, he flinches first.</div>
<<else>>
<div class="text">You let him look at you while you say it - at the split lip, at the way you're holding one side, at a week that has plainly not been kind. He looks a beat too long, and you can see him doing the arithmetic and getting the wrong answer. A man who has taken this much and still walked out into the street to meet six of them is not a thing he knows how to price. He flinches first. In front of his own men, he flinches first.</div>
<</if>>
<<if $target1 >= 4>>
<div class="text">Something else crosses his face too - recognition, or the fear of it. You've moved in rooms his masters only guard the doors of, and it hangs on a man like a scent. Whoever he expected to find rebuilding a hood library, it wasn't someone like you.</div>
<</if>>
<div class="text">The lead tries to find his line and comes up with half a slogan, misquoted - one of his own men winces. You watch the fantasy come off them in real time, like paint in the rain. This was supposed to be an easy afternoon - scare a librarian, kick over some scaffolding, then drive home feeling like soldiers. Nobody briefed them on the possibility of standing in the street getting graded on their cosplay by the genuine article, in front of the whole block.</div>
<<speech "Oath Boy" "...Watch yourself, son. This block is ours. All of it." "militiaman">>
<<speech "You" "Then you won't mind it having a library.">>
<div class="text">They mount back up with as much swagger as men can manage while retreating. The diesel bellows, the truck drops off the curb, gone. From the doorway, Ella exhales for the first time in three minutes. Somewhere up the street, someone whistles the long-short-long, and the block breathes again.</div>
<div class="text">Word of it will travel - to the neighborhood, which is good, and to their command, which is not. Out on the streets they're still what they always were - armed men in numbers, and humiliated now on top of it, which makes them worse. But the library just became expensive. Coming back here means explaining, again, in front of everyone, why six of them couldn't handle one unarmed man.</div>
<<nobr>>
<<set $library_standoff = 2>>
<<statchange "respect" 10>>
<<statchange "heat" 5>>
<</nobr>>
[[Back to the renovation|Community Center]]
<</linkreplace>><div class="text">As soon as the door closes behind you, Ella unzips your pants and pulls out your hardening cock.</div>
<<speech "Ella" "We don't have much time...">>
<<video "img/ella/quick_bj.mp4">>
<div class="text">She starts sucking you off and even attempts to deepthroat you. She's getting better at handling your massive size, and you enjoy her mouthwork immensely.</div>
<<speech "You" "Oh, you ARE a hungry girl. Ready for some snacks?">>
<<video "img/ella/quick_facial.mp4">>
<div class="text">There is no time to waste, as any time someone may spot you; you start jerking off on Ella's face and cover it with your cum. Most of it goes in her hungry mouth, but significant amounts splatter all over her face.</div>
<<speech "Ella" "So sloppy... I better clean this up before anyone sees.">>
<div class="text">She's back at the desk with three minutes to spare, collar straight, stamping returns.</div>
<<statchange "energy" -3>>
[[Back to the library|Community Center]]<<pic "img/general/library_1.jpg" "location">>
<div class="text">The back room doesn't exist. There's a poetry shelf on a hinge, and behind it a space the size of a generous closet: one chair, one lamp, and the shelf of books that would earn the whole building a second fire. This is where you do your real reading - banned history, and pamphlets that explain in plain language what the regime works so hard to keep confusing.</div>
<<statchange "knowledge" 5>>
<<statchange "energy" -5>>
<<if random(1, 100) <= 15>>
<div class="text">On your way out, a kid from the food line meets your eyes and glances - just for a half-second - at the lamplight leaking under the poetry shelf. He says nothing. He noticed. Someday, someone worse will.</div>
<<statchange "heat" 8>>
<</if>>
[[Back to the library|Community Center]]<<set $reading_hour_day = $day>>
<div class="text">You host the reading hour yourself today - a rug full of kids, a stack of picture books, and a room of mothers who came for the childcare and stayed for the only quiet hour their week allows. You do the voices. All of them. Your wolf remains, by unanimous committee decision, worse than the old wolf, and you take the note with soldierly grace.</div>
<<statchange "energy" -3>>
<<statchange "respect" 4>>
<<if random(1, 100) <= 25>>
<div class="text">On the way out, one of the mothers presses a folded bill into your hand with both of hers, in the invisible way charity travels here - downhill, quietly. "For the books," she says, in a tone that closes the subject.</div>
<<statchange "money" 5>>
<</if>>
[[Back to the library|Community Center]]You help the little community center that is forming around the library. They always need some extra hands, and your help is very appreciated.
<<statchange "energy" -3>>
<<statchange "respect" 3>>
<<return>>/* ARCHIVED: the nightclub is not going into the next release - whole passage commented out.
<!-- IMAGE: nightclub exterior at night - velvet rope, private security SUVs, expensive cars parked in a ruined street -->
<<if visited() == 1>><div class="text">Club Babylon is the one address in the neighborhood the outside world knows. Twice a week the checkpoint waves through a convoy of German sedans and party buses, and the wealthy come slumming - silk shirts and bodyguards, downtown girls in heels picking their way over broken asphalt like it's a safari. For them it's an adventure with valet parking. For the neighborhood it's the only faucet that drips real money. The management understands the arrangement perfectly: the guests must feel dangerous, and must never actually be in danger.</div><</if>>
<p>Bass hums through the pavement half a block out. Out front, private security in tailored black checks faces against a tablet while a queue of locals waits at a side door that opens far less often.</p>
<<set _entered = false>>
<<if $nightclub_job == 1>>
<p>The head of security nods you through the staff entrance. No cover for the help.</p>
<<set _entered = true>>
<<elseif $money >= 10>>
<p>Locals pay at the side door. The outsiders, of course, are comped - their money is wanted inside, at the bar, in bottles.</p>
<<statchange "money" -10>>
<<set _entered = true>>
<<else>>
<div class="req">Cover charge is $10 for locals, and your pockets are empty. The doorman doesn't do credit.</div>
<</if>>
<<nobr>>
<<if _entered>>
<<linkreplace "Buy a drink and work the room">>
<<if $money >= 8>>
<<statchange "money" -8>>
<<if random(1, 100) <= 50>>
<p>You post up at the bar between a bottle-service waitress on her break and a DJ's cousin who knows everybody. Down here, the staff are the neighborhood - and the neighborhood notices who buys a round.</p>
<<statchange "respect" 3>>
<<else>>
<p>Eight dollars for a beer that costs one across the street. You drink it slowly, watching a table of outsiders film themselves being brave.</p>
<</if>>
<<else>><p>Club prices. You can't even afford the beer here.</p><</if>>
<</linkreplace>><br>
<<linkreplace "Hit the dance floor">>
<<if $energy >= 2>>
<<statchange "energy" -2>>
<<set _dance = random(1, 5)>>
<<switch _dance>>
<<case 1>>
<p>The floor is a truce zone: local girls dancing in a closed circle, outsider men orbiting with drinks they hope are invitations. You move through it easily - you're the one thing in the room that belongs.</p>
<<case 2>>
<!-- VIDEO: club dance floor, grinding crowd, strobe light -->
<p>A downtown blonde in a dress worth your monthly rent dances progressively closer, her friends filming and shrieking. She wants the "hood experience" for her feed. You give her exactly enough to keep the legend alive and nothing she could take home.</p>
<<case 3>>
<p>The DJ drops something twenty years old and for three minutes the whole neighborhood side of the floor moves like one body. Even the bottle-service girls come out. The outsiders film it. They always film it.</p>
<<case 4>>
<p>Two outsider men in matching watches try dancing at a local girl who has told them no twice. Her brother materializes; club security materializes faster - and escorts <i>the brother</i> toward the door. The rules of the house, written in plain sight.</p>
<<case 5>>
<p>You dance alone for a while, sweating out the week. Sometimes that's all a club has to be.</p>
<</switch>>
(TODO: $nightclub_stage - future hookup arc with a recurring outsider patron starts here)
<<else>><div class="req">You're too exhausted to dance. (2 energy needed)</div><</if>>
<</linkreplace>><br>
<<if $nightclub_job == 0>>
<<if $physical >= 60 && $respect >= 30>>
<<linkreplace "Ask about work">>
<p>The head of security - a retired cage fighter gone gray at the temples - looks you over like a used car with good mileage.</p>
<<speech "Head of Security" "I know your face from the gym. Here's the job: the guests upstairs pay for danger the way they pay for champagne - as decoration. Trouble happens, you end it quiet, and whoever's paying never feels a draft. You bruise a guest, you're done. You bruise a local where a guest can see, you're done. Understood?">>
<p>You understand better than he knows. He hands you a black t-shirt a size too small. You're on the door rotation.</p>
<<set $nightclub_job = 1>>
<</linkreplace>><br>
<<else>>
<div class="req">The security here only hires serious, known men. (60 physical and 30 respect to ask about work)</div>
<</if>>
<</if>>
<<if $nightclub_job == 1>>
<<if $heat >= 75>>
<div class="req">The head of security pulls you aside: "Not tonight. Half the precinct is asking about you - I can't have your face on my door." Come back when the heat dies down.</div>
<<elseif $energy >= 4>>
<<linkreplace "Work the door">>
<<statchange "energy" -4>>
<<statchange "money" 25>>
<<statchange "heat" 2>>
<<set _shift = random(1, 100)>>
<<if _shift <= 20>>
<p>A quiet shift. You check faces, unhook the rope, listen to two drunk financiers explain the neighborhood to each other, getting every detail wrong. The pay lands in your palm at four in the morning, folded around a cigarette.</p>
<<elseif _shift <= 34>>
<p>Somewhere past midnight a guest in an unstructured blazer decides the waitress carrying his bottle came with it. His hand closes on her wrist; her tray doesn't even wobble - she's used to it. That's the worst part.</p>
<<set _doorChoiceMade = false>>
<div id="door-choice">
<<linkreplace "Throw him out">>
<<replace "#door-output">>
<p>You take his wrist off her arm the way you'd take a weapon off a suspect, and walk him to the curb before his bodyguard finishes standing up. The staff side of the room exhales. Management doesn't say anything - but the man was somebody, and somebody's people make calls to the precinct about aggressive local staff.</p>
<<statchange "respect" 5>>
<<statchange "heat" 5>>
<</replace>>
<<replace "#door-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Smooth it over">>
<<replace "#door-output">>
<p>You appear at the table with the practiced smile of the service industry, refill his glass, steer his attention to the DJ, and catch the waitress's eye to send her on break. He tips you ten dollars for the excellent service. She won't look at you for the rest of the shift, and you find you can't blame her.</p>
<<statchange "money" 10>>
<</replace>>
<<replace "#door-choice">><</replace>>
<</linkreplace>>
</div>
<div id="door-output"></div>
<<elseif _shift <= 46>>
<p>A VIP arrives with an entourage and a paranoia about being seen. You handle the side entrance, the coat, the discretion. He palms you a bill on the way out like he's done it his whole life. He has.</p>
<<statchange "money" 10>>
<<elseif _shift <= 58>>
<p>Past two, a bottle-service girl finds you at the rope: one of the outsider girls is folded over the bathroom sink, lips going gray, her friends already gone in the last convoy. The house rule is unambiguous - nothing that happens here happened here.</p>
<<set _odChoiceMade = false>>
<div id="od-choice">
<<linkreplace "Call it in properly">>
<<replace "#od-output">>
<p>You radio it in by the book and stay with her until the ambulance the club didn't want arrives. She'll live. The paramedics take your name for the report - a local's name, attached to an incident at the one venue the precinct actually reads about. Management docks you nothing and says nothing. Around here, silence from upstairs is its own kind of memo.</p>
<<statchange "heat" 6>>
<<statchange "respect" 4>>
<</replace>>
<<replace "#od-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Handle it the house way">>
<<replace "#od-output">>
<p>You carry her out the fire exit, prop her in the alley in the recovery position, and let the bar-back's cousin - who was a nurse before the licensing purges - do what she can with a flashlight and two fingers on a pulse. The girl comes around retching at dawn and is loaded into a rideshare that will bill her card, not her memory. The house notices how clean it was.</p>
<<statchange "money" 10>>
<</replace>>
<<replace "#od-choice">><</replace>>
<</linkreplace>>
</div>
<div id="od-output"></div>
<<elseif _shift <= 68>>
<p>A kid from the block - fourteen, maybe fifteen, wearing his older brother's jacket with the sleeves rolled - tries to drift in behind a group of outsiders, just to see it. The inside of the one building on his street with unbroken windows.</p>
<p>You catch him by the collar at the threshold, walk him ten steps into the dark, and stand with him a minute where the bass is loudest, letting him look through the glass at the lights and the girls and the money. Then you point him home. "When you're grown, come to the side door and say my name." He grins like you handed him a key. Maybe you did.</p>
<<statchange "respect" 2>>
<<elseif _shift <= 78>>
<p>A face from the feeds arrives - some streaming-famous outsider with two phones filming him being brave. He wants pictures with "real security", his arm around your shoulders, captions about the wall. You stand like furniture while the flash pops. He tips like guilt: generously.</p>
<<statchange "money" 15>>
<<statchange "heat" 2>>
<div class="statchange">(Your face is on somebody's feed now.)</div>
<<elseif _shift <= 86>>
<p>Closing. The bottle-service waitress with the tired eyes and the perfect arithmetic - the one you sent on break the night the guest grabbed her - finds you in the coat check counting the door money. "I pay my debts," she says, hanging the CLOSED sign on the coat check hook, "and I hate owing the door."</p>
<!-- VIDEO: coat check - waitress blowjob among the hanging coats, uniform half-open -->
<p>She goes to her knees on somebody's forgotten scarf and takes you out of your work slacks with the same efficiency she opens champagne, and then her mouth is on you, unhurried, thorough, one hand still holding her tip roll. She sucks you off among the hanging coats with the house music dying in the next room, swallows like a professional at everything she does, and stands up fixing her lipstick in the coat-check mirror.</p>
<<speech "Waitress" "Debt's paid. Doesn't mean it can't run up again.">>
<<elseif _shift <= 92>>
<p>Four militia officers arrive at the rope, out of uniform but not out of habit, and look through you toward the door they expect to open for free.</p>
<<set _militiaChoiceMade = false>>
<div id="militia-choice">
<<linkreplace "Wave them in">>
<<replace "#militia-output">>
<p>You unhook the rope. They don't thank you - gratitude would imply it was yours to give. Inside, they drink without paying there too. The bar-back watches you all night after that, and you understand what your uniform means to him now.</p>
<<statchange "respect" -2>>
<</replace>>
<<replace "#militia-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Hold the rope">>
<<replace "#militia-output">>
<p>"Private event," you say, which is true in the sense that all events here are private from men like them. They study your face for a long moment, committing it to whatever passes for memory in the militia. Then they leave - this club has owners with better protection than theirs. The queue at the side door saw the whole thing.</p>
<<statchange "respect" 4>>
<<statchange "heat" 8>>
<</replace>>
<<replace "#militia-choice">><</replace>>
<</linkreplace>>
</div>
<div id="militia-output"></div>
<<else>>
(CUT: street corner is not going into the next release - the dealer door event below was disabled before this whole passage was archived.)
<<if $dealer_stage >= 1>>
<p>You clock one of the corner crew working the smoking terrace, selling wraps to outsiders at triple street price. He clocks you clocking him and freezes - you're the door tonight.</p>
<<set _dealerChoiceMade = false>>
<div id="dealer-choice">
<<linkreplace "Take a cut">>
<<replace "#dealer-output">>
<p>You hold out a flat palm. He sighs the sigh of a man paying a familiar tax and fills it. You go back to the door and see nothing all night.</p>
<<statchange "money" 10>>
<<statchange "heat" 5>>
<</replace>>
<<replace "#dealer-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Walk him out quietly">>
<<replace "#dealer-output">>
<p>You steer him out through the kitchen with a hand on his shoulder - no scene, no confiscation, no precinct. "Not where I work," you tell him. He spreads his hands: fair. The kitchen staff note how it was handled. So does he.</p>
<<statchange "respect" 3>>
<</replace>>
<<replace "#dealer-choice">><</replace>>
<</linkreplace>>
</div>
<div id="dealer-output"></div>
<<else>>
(end of the cut dealer branch - the fight fallback below always played while the corner was cut)
<p>A fight sparks on the outsider side - two men who golf together discovering they hate each other. You separate them with the gentleness their lawyers require, and the night rolls on.</p>
<</if>>
<</if>>
<</linkreplace>>
<p>Or ask the head of security for the rope itself - the list, the calls, the judgment. Better money if your judgment is good. Strikes on your record if it isn't.</p>
[[Take the rope yourself|Door Rope]]<br>
<<else>>
<div class="req">You're too tired to work a door shift. (4 energy needed)</div>
<</if>>
<</if>>
(CUT: street corner (drug stash) is not going into the next release - the block below was disabled before this whole passage was archived.)
<<if $drug_stash > 0>>
<<linkreplace "Move product to the rich crowd">>
<p>Outsiders pay triple for the thrill of buying it here - the product is the souvenir.</p>
<<if $nightclub_job == 0 && random(1, 100) <= 15>>
<p>A hand lands on your shoulder mid-handoff. Club security. They don't call the police - bad for the brand - they just empty your pockets into a zip-lock bag, photograph your face, and put you out the fire exit into the alley.</p>
<<set $drug_stash = 0>>
<<statchange "heat" 10>>
<<else>>
<<set _clubsale = $drug_stash * 20>>
<<set _clubheat = $drug_stash * 3>>
<<statchange "money" _clubsale>>
<<statchange "heat" _clubheat>>
<<set $drug_stash = 0>>
<p>The stash evaporates into manicured hands, one bathroom meeting at a time. Easy money - the kind with a hook in it.</p>
<</if>>
<</linkreplace>><br>
<</if>>
(end of the cut drug-stash block)
<</if>>
[[Step back into the night|The Hood]]
<</nobr>>
*//* ARCHIVED: the nightclub is not going into the next release - whole passage commented out.
<!-- IMAGE: nightclub entrance from the bouncer's side - velvet rope, tablet glow, queue in the dark -->
<<if $nightclub_job != 1>>
<div class="req">The rope belongs to the staff. You are not staff.</div>
[[Back|Nightclub]]
<<elseif $heat >= 75>>
<div class="req">The head of security shakes his head before you finish asking. "Not with your heat. The camera across the street would love that."</div>
[[Back|Nightclub]]
<<elseif $energy < 4>>
<div class="req">Working the rope means four hours of judgment calls on your feet. You don't have it tonight. (4 energy needed)</div>
[[Back|Nightclub]]
<<else>>
<<statchange "energy" -4>>
<<statchange "heat" 2>>
<p>The head of security hands you the tablet and the rope like a priest handing over the parish. "Base pay plus five a head for every call you get right. Get most of them wrong and it goes on your record. Three marks and you're back on the neighborhood side of the rope, permanently."</p>
<<set _rule = random(1, 5)>>
<<nobr>>
<<switch _rule>>
<<case 1>>
<<speech "Head of Security" "Standard night. The list is the list, the rules are the rules. Money gets in, trouble stays out, and everything in between is your judgment. Don't make me regret the judgment.">>
<<case 2>>
<<speech "Head of Security" "Private buyout tonight - downtown money rented the whole floor. Outsider list only. Locals do not get in. I don't care whose cousin they are, I don't care if they helped pour the foundation. Not tonight.">>
<<case 3>>
<<speech "Head of Security" "See the van across the street? Militia, with a camera. Tonight, anybody holding ANYTHING turns around at the rope. Anybody. I don't care what their table spends - one photographed handoff and this club has a problem money can't fix.">>
<<case 4>>
<<speech "Head of Security" "Owner's birthday. He wants the floor FULL and the night loud. Everybody gets in - everybody - except trouble. You let a brawler ruin the man's cake and neither of us works here tomorrow.">>
<<case 5>>
<<speech "Head of Security" "Half the staff called in scared after the sweeps. Boss wants bodies and bar sales, period. Swallow your standards - only the genuinely dangerous get turned away tonight.">>
<</switch>>
<<set _pool = [
{ name: "the silk shirt", desc: "An outsider in a shirt worth your rent, cologne arriving before he does. The square outline in his breast pocket is not a cigarette case, and he is not even trying to hide it - down here, it is the accessory.", call: "pass", local: false, holding: true, trouble: false, dangerous: false, connected: false, lewd: 0 },
{ name: "the nephew", desc: "Local boy, early twenties, walking like the street owes him change. You know the face from the blockpost - the militia captain's nephew, who has never once paid a cover in his life and never once been asked to.", call: "pass", local: true, holding: false, trouble: false, dangerous: false, connected: true, lewd: 0 },
{ name: "the cousin", desc: "A kid in his big brother's chain, holding an ID that is honestly excellent work. But you have carded a thousand faces and this one is seventeen if he is a day, blinking too much, heart hammering visibly through the borrowed shirt.", call: "reject", local: true, holding: false, trouble: false, dangerous: false, connected: false, lewd: 0, wrongPass: "By one a.m. the kid is sick in the VIP bathroom and a bottle-service girl is asking loudly whose genius let a child in. The head of security looks at the tablet, then at you." },
{ name: "the journalist", desc: "Outsider woman, sensible shoes under a party dress that does not match them, a tan line on her neck where a press lanyard usually sits. She keeps photographing the queue and calling it her friends.", call: "reject", local: false, holding: false, trouble: false, dangerous: false, connected: false, lewd: 0, wrongPass: "Two days from now there will be a feature about slumming, with photos taken inside. Management traces the byline back through the door log to your shift." },
{ name: "Big Reggie", desc: "A local legend - built like the blockpost, loved like the corner store. Everyone in the queue greets him. Everyone in the queue also knows every night Reggie drinks ends the exact same way, which is why his knuckles look like that.", call: "reject", local: true, holding: false, trouble: true, dangerous: true, connected: false, lewd: 0, wrongPass: "Reggie behaves for three hours, which is a personal record, and then puts a financier through the DJ table. The comped bottles come out of the door budget." },
{ name: "the whale", desc: "A convoy of black sedans and a man the tablet marks with three stars and a champagne emoji. His entourage includes two bodyguards and someone whose only job appears to be holding his phone.", call: "pass", local: false, holding: false, trouble: false, dangerous: false, connected: true, lewd: 0 },
{ name: "Tasha", desc: "Local girl in a dress that is winning its fight with the weather, banned since the champagne incident nobody will fully explain. She is on the blacklist in bold. She also knows exactly how she looks tonight, and knows you know.", call: "reject", local: true, holding: false, trouble: true, dangerous: false, connected: false, lewd: 2 },
{ name: "the finance twins", desc: "Two outsiders in matching watches, already at the shouting-compliments stage of drunk, holding each other upright in a way that suggests the night peaked in the taxi.", call: "reject", local: false, holding: false, trouble: true, dangerous: false, connected: false, lewd: 0, wrongPass: "They last forty minutes before one of them tries to climb into the DJ booth to request something. Security drags them out past your rope, and everyone watching knows who unhooked it." },
{ name: "the badge", desc: "A man out of uniform the way a knife is out of its sheath - still a knife. Outside-precinct cop, off duty, smiling like doors are a formality that happens to other people. The house has exactly one policy about his kind.", call: "reject", local: false, holding: false, trouble: false, dangerous: false, connected: true, lewd: 0 },
{ name: "the Sunday dress", desc: "A local girl in her one good dress, not on any list, holding the cover charge in exact change like a bus fare. She has been building up the nerve to come here for a month - you can see the whole month on her face.", call: "pass", local: true, holding: false, trouble: false, dangerous: false, connected: false, lewd: 1 },
{ name: "the corner boy", desc: "You know this face from the corner crew, and his jacket pockets are working pockets tonight - square, full, ready for the smoking terrace. He gives you the nod that says we are both professionals here.", call: "reject", local: true, holding: true, trouble: false, dangerous: false, connected: false, lewd: 0, wrongPass: "He works the terrace all night. Club security catches the third handoff, and the question of who let a known dealer through the rope has exactly one answer." },
{ name: "the chemical couple", desc: "An outsider pair already orbiting a distant planet, pupils like dinner plates, jaws working gum that ran out an hour ago. Her clutch rattles like a pharmacy. They are, to be fair, extremely happy.", call: "pass", local: false, holding: true, trouble: true, dangerous: false, connected: false, lewd: 0 },
{ name: "the owner's guest", desc: "A woman with expensive hair and a story: the owner personally invited her, darling, check again. The tablet has no record of her. Her confidence does not blink. Beautiful liars are still liars - probably.", call: "reject", local: false, holding: false, trouble: false, dangerous: false, connected: false, lewd: 2 },
{ name: "the builder", desc: "An old local man in his one good suit, freshly pressed, shoes shined to church standard. He poured the foundation of this building thirty years ago, he tells you, back when it was going to be a community hall. He would like, once, to see the inside.", call: "reject", local: true, holding: false, trouble: false, dangerous: false, connected: false, lewd: 0, wrongRej: "He nods like a man who has been told no by this building before, squares the jacket on his shoulders, and walks home through the queue with his shine catching the neon. Nobody laughs. The block saw whose rope it was.", wrongPass: "He nurses one beer at the end of the bar for two hours, hurting nobody, looking at the ceiling he built. It is the buyout host who complains - something about the atmosphere - and the complaint lands on your shift report." }
]>>
<<set _queue = _pool.shuffle().slice(0, 4)>>
<<set _correct = 0>>
<</nobr>>
<div id="queue"><<doorslot 0>></div>
<</if>>
*//* ARCHIVED: the nightclub is not going into the next release - the door-rope widgets are only called from Door Rope, so both are commented out.
<<widget "doorslot">>
<<set _slot = $args[0]>>
<<set _g = _queue[_slot]>>
<<set _correctCall = _g.call>>
<<switch _rule>>
<<case 2>><<if _g.local>><<set _correctCall = "reject">><<elseif _g.dangerous>><<set _correctCall = "reject">><<else>><<set _correctCall = "pass">><</if>>
<<case 3>><<if _g.holding>><<set _correctCall = "reject">><</if>>
<<case 4>><<if _g.trouble or _g.dangerous>><<set _correctCall = "reject">><<else>><<set _correctCall = "pass">><</if>>
<<case 5>><<if _g.dangerous>><<set _correctCall = "reject">><<else>><<set _correctCall = "pass">><</if>>
<</switch>>
<<set _cSel = "#dgc" + _slot>>
<<set _oSel = "#dgo" + _slot>>
<div class="text"><strong>At the rope (<<= _slot + 1>>/4):</strong> <<= _g.desc>></div>
<div @id="'dgc' + _slot">
<<linkreplace "Unhook the rope">>
<<replace _oSel>>
<<if _correctCall == "pass">>
<<set _correct += 1>>
<p>You unhook the rope and the night absorbs them without a ripple. Right call.</p>
<<else>>
<<if _g.wrongPass>>
<p><<= _g.wrongPass>></p>
<<elseif _g.holding>>
<p>Twenty minutes later there is a handoff on the smoking terrace, and the van across the street has photographs of the door that allowed it. Your door.</p>
<<statchange "heat" 3>>
<<elseif _g.trouble or _g.dangerous>>
<p>It takes until midnight for the mistake to introduce itself - raised voices, broken glass, a table of guests getting comped for their trouble. The head of security looks from the wreckage to the tablet to you.</p>
<<else>>
<p>The tablet pings your call as a miss within the hour. The rules were the rules tonight, and that was not them.</p>
<</if>>
<</if>>
<</replace>>
<<replace _cSel>><</replace>>
<<if _slot < 3>>
<<append "#queue">><<doorslot `_slot + 1`>><</append>>
<<else>>
<<append "#queue">><<doortally>><</append>>
<</if>>
<</linkreplace>>
<br>
<<linkreplace "Turn them away">>
<<replace _oSel>>
<<if _correctCall == "reject">>
<<set _correct += 1>>
<<if _g.wrongRej and _g.name == "the builder">>
<p>"Not tonight," you tell him, and mean the apology in it. He nods like a man who has been told no by this building before, squares the jacket on his shoulders, and walks home through the queue with his shine catching the neon. Right call. It doesn't feel like one.</p>
<<else>>
<p>You keep the rope hooked and watch the problem walk off down the block, somebody else's problem now. Right call.</p>
<</if>>
<<else>>
<<if _g.connected>>
<p>Within the hour a phone call comes down through the manager like weather. Somebody's somebody got bounced at your rope, and somebody's somebody's uncle wants your name spelled correctly. It gets spelled correctly.</p>
<<statchange "heat" 4>>
<<elseif _g.wrongRej>>
<p><<= _g.wrongRej>></p>
<<else>>
<p>They leave without a scene. Later you learn they were exactly who they said they were, and the rules tonight had a place for them inside. The tablet logs the miss.</p>
<</if>>
<</if>>
<</replace>>
<<replace _cSel>><</replace>>
<<if _slot < 3>>
<<append "#queue">><<doorslot `_slot + 1`>><</append>>
<<else>>
<<append "#queue">><<doortally>><</append>>
<</if>>
<</linkreplace>>
<<if _g.lewd > 0>>
<br>
<<linkreplace "Suggest another way in">>
<<replace _oSel>>
<<if _g.lewd == 1>>
<p>You tip your head toward the alcove past the coat check, and she understands the neighborhood's oldest exchange rate faster than you finish the sentence. In the dark she pulls the good dress off her shoulders and shows you her tits, chin up, half defiance and half transaction, nipples hard in the cold air off the door. You look exactly as long as the toll requires, then unhook the rope.</p>
<!-- IMAGE: alcove flash - local girl pulling down her dress top in the dark by the coat check -->
<<else>>
<p>You tip your head toward the gap behind the velvet curtain, and she smiles like she has read this contract before signing it. Behind the curtain she is all business and no illusions - down on her knees on the club's marble with the bass covering everything, working your cock out of your slacks with practiced fingers.</p>
<!-- VIDEO: behind the curtain - quickie blowjob against the wall, club bass muffled -->
<p>Her mouth is warm, fast, and entirely uninterested in ceremony; she sucks you with one eye on the curtain gap and both hands earning her cover charge, and when you grunt she swallows, stands, fixes her lipstick in her phone, and walks past the rope like she owns it.</p>
<</if>>
<<if _correctCall == "pass">>
<<set _correct += 1>>
<p>The tablet, blind to the alcove, logs a correct entry. The queue is less blind: she came out fixing her dress, and every face in line just learned what your rope costs.</p>
<<else>>
<p>The rules said no tonight - and the tablet logs her entry as your miss. Worse, the queue watched her come out fixing her dress. Every face in line just learned what your rope costs.</p>
<</if>>
<<statchange "respect" -2>>
<<statchange "heat" 1>>
<</replace>>
<<replace _cSel>><</replace>>
<<if _slot < 3>>
<<append "#queue">><<doorslot `_slot + 1`>><</append>>
<<else>>
<<append "#queue">><<doortally>><</append>>
<</if>>
<</linkreplace>>
<</if>>
</div>
<div @id="'dgo' + _slot"></div>
<</widget>>
<<widget "doortally">>
<<set _pay = 15 + _correct * 5>>
<p>Four in the morning. The head of security takes the tablet back and reads your shift the way other men read racing forms.</p>
<<statchange "money" _pay>>
<<if _correct == 4>>
<<speech "Head of Security" "Four for four. You've got door eyes. Here - the good calls get the good handshake.">>
<<statchange "money" 10>>
<<statchange "respect" 1>>
<<elseif _correct >= 2>>
<<speech "Head of Security" "Some right, some wrong. That's a door shift. Go home.">>
<<else>>
<<set $door_strikes += 1>>
<<if $door_strikes >= 3>>
<<speech "Head of Security" "Three marks. I told you how the record works. Shirt.">>
<p>You hand back the black t-shirt a size too small, and the staff entrance becomes a wall again. Around here even failure is punctual.</p>
<<set $nightclub_job = 0>>
<<set $door_strikes = 0>>
<div class="req">You've been fired from the club. The old gates apply if you ever want back in.</div>
<<else>>
<<speech "Head of Security" "That was expensive judgment. Mark number $door_strikes goes on your record. Three and you're done here - the rope forgives nothing.">>
<div class="req">(Strikes: $door_strikes/3)</div>
<</if>>
<</if>>
<p>[[Back inside|Nightclub]]<br>[[Step into the night|The Hood]]</p>
<</widget>>
*/<<switch $target1>>
<<case 1>>
<<pic "img/adriana/meeting.jpg">>
<<speech "Adriana" "So you're the guy Jamal is betting everything on... Let me guess, ex-military?">>
<p>You prefer to ignore her questions. Betting everything, though?</p>
<<speech "You" "You know why I am here.">>
<<speech "Adriana" "I love it when men go straight to business. Happy to tell you that your target is ready, hope you have the rest of the payment in cash?">>
<<speech "You" "Hold on for a moment. Can you please tell me what exactly you have done?">>
<<speech "Adriana" "Oh, with pleasure.">>
<p>Adriana walks you through her playbook with the pride of someone showing off a trade she's spent years honing. The bones of it, she explains, are the same con she's run for paying clients since before she could legally drink: infect the target's devices with malware to gain remote access, hollow out their social profiles, work the social engineering until you own as much of their life as it's possible to own from behind a screen. If the target's house has CCTV, it's hacked; otherwise, hidden cameras go in separately. She's wrecked marriages and emptied bank accounts this way for money. The rest, she admits, is new.</p>
<p>The next step is up to you. While you control the target's digital life through various exploits, your aim is to spark an interest in interracial sex and extramarital affairs, usually by displaying interracial porn pop-ups, recommending articles promoting infidelity, and so on.</p>
<<pic "img/adriana/popup.webp">>
<p>Now, the goal is to provide the curious soul with materials to explore. Delivery of forbidden interracial porn through VPN. Anonymous forums, where fake users describe their affairs. One-day deliveries of realistic black dildos. And when the target starts craving the real thing - it's time for you to step in.</p>
<<pic "img/adriana/popup2.webp">>
<<speech "Adriana" "I provide a secure laptop that has all the needed software installed. It's really easy to follow, just log in occasionally and watch the target until she's ready to go black.">>
<<speech "You" "How do I know that she will?">>
<<speech "Adriana" "The profile does. This woman is bored out of her mind, her husband hasn't touched her in months, and I've watched what she reaches for when she thinks nobody's looking. She's most of the way there on her own; I'm just clearing the road.">>
<<speech "You" "And the rest? The... going black part.">>
<<speech "Adriana" "That's Jamal's theory, not mine. He came to me after that whole Renner business, obsessed, saying he'd found the one thing these people can't survive. Wanted to know if I could make it happen on purpose instead of by luck. Turns out I can. You're the first target we're aiming the whole thing at, start to finish.">>
<p>The first target. So you're not stepping onto a conveyor belt - you're the test run for a thing that has worked exactly once, and only by accident. Somehow that's worse. But both Adriana and Jamal are betting everything on Renner's fall repeating, and so, it seems, are you.</p>
<hr>
<p>All that is left is to make the last payment.</p>
<<speech "Adriana" "Jamal already beat me down from two hundred, the cheapskate. So: $100 now. Or - I can give you a $50 discount if you do a little service for me. Beat up a kid who was shitting on my gaming skills.">>
<<speech "You" "Are you serious right now? Beat up like... threaten?">>
<p>With an angelic smile, Adriana corrects you.</p>
<<speech "Adriana" "No-no, I want you to fuck him up properly. Let him bleed. And tell him, write it down, 'unicorn_pussy69 sends her regards'.">>
<<nobr>>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<if $money >= 100>>
<<linkreplace "Pay in cash">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You throw Adriana a wad of cash - impressive looking but made from small denominations.</p>
<<speech "Adriana" "Nice! Let me get you everything.">>
<<statchange "money" -100>>
<<set $target1 to 2>>
[[Proceed|Target1]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Pay in cash"</em></div><</replace>>
<</linkreplace>><br>
<<else>><div class="req">You don't have $100.</div><</if>>
<<if $money >= 50 && (($respect >= 80 && $physical < 50) || ($respect >= 40 && $physical >= 50))>>
<<linkreplace "Do muscle service(and take a reputation hit)">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You wait outside the kid's school and compare leaving teens against the photo Adriana gave you. Finally, you have a match.</p>
<<speech "You" "Hey kid, does the name '14domination_fan88' tell you something?">>
<p>By the frightened pimply face of this skinny white teen, you confirm that he is the one you look for. Before he starts running, you knock him down with a punch to his nose.</p>
<<speech "You" "Unicorn pussy sends her regards... or something.">>
<<pic "img/adriana/beat_up.webp">>
<p>You kick the shit out of him in front of the school, in the eyes of his classmates and friends, until he stops screaming. It's not pretty. You run from the scene but have no doubts you are recognized.</p>
<<if $physical < 50>>
<div class="req">Strength check failed!</div>
<p>You have fallen out of shape, failed to control your strength, and thus caused more damage than needed. Beaten to the pulp, the kid will live, but recovery will take some time. Your reputation plummeted.</p>
<<statchange "respect" -80>>
<<statchange "heat" 20>>
<<else>>
<p>You made sure not to injure the kid, and he recovered quickly. While still damaging to your reputation, this episode can be quickly remediated.</p>
<<statchange "respect" -40>>
<<statchange "heat" 10>>
<</if>>
<<speech "Adriana" "Haha, what a loser! Come to my place, I'll get you everything.">>
<<statchange "money" -50>>
<<set $target1 to 2>>
[[Meet the psycho|Target1]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Do muscle service"</em></div><</replace>>
<</linkreplace>><br>
<<else>>
<<if $money < 50>>
<div class="req">You don't have $50 for the discounted price either.</div>
<<elseif $physical >= 50>>
<div class="req">You could put the kid down clean, but the hood would still hear about it. You need 40 respect to carry that. (You have $respect.)</div>
<<else>>
<div class="req">Out of shape, you'd make a mess of him, and that kind of mess follows you. Get to 50 physical to do it clean on 40 respect, or bank 80 respect to survive doing it badly. (You have $physical physical, $respect respect.)</div>
<</if>>
<</if>>
<<linkreplace "Take some time to think">>
<<set _choiceMade = true>>
<<replace "#output">>
<<speech "Adriana" "Sure. Don't make Mrs. Bond wait too long, though!">>
<<return>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Take some time to think"</em></div><</replace>>
<</linkreplace>>
<</if>>
</div>
<div id="output"></div>
<</nobr>>
<<case 2>>
<p>Adriana hands you a reinforced laptop and explains how to use it. It's fully encrypted and protected from various attacks like cold freeze. Installed are: surprisingly easy-to-use application for controlling the target's devices, coupled with psychological profiles and scenarios; communication link with Adriana and Jamal (finally!); and some other utilities you don't have time to get into now.</p>
<<speech "Adriana" "Now, before you go... I spend so much time looking at black dicks on my screens I guess I got curious myself. How about you practice your blacking skills on your nerdy hacker?">>
[[Why not?|AdrianaQuestBJ]]
<<link "I have a job to do" "The hideout">>
<<set $target1 to 3>>
<<set $hacker_level to 1>>
<</link>>
<<case 3>>
<div class="text">
Taxi drives you to a wealthy neighborhood: massive pools in the backyards, emerald-green lawns, useless marble columns, all this kitsch. You feel alien in here and cross the distance between the road and the entrance gate as fast as you can before neighbors call the police about some suspicious black man in their segregated area. Your heart races as you ring the telecom.</div>
<<speech "Savannah" "Hello, are you from the water company? Please come in. The pool is from the right.">>
<p>With a buzz, the gate opens, and you step on the premises. At least Adriana crafted a believable notification from the local water provider. Still, how are you supposed to do... what you need to do? Even if Mr. Bond did some horrible things, this doesn't automatically make his wife a bad human being.</p>
<<pic "img/savannah/portrait_base.jpg">>
<<speech "Savannah" "Oh! Why would the company send a nigger?">>
<p>Nevermind then. Actually, playing along would make it even easier.</p>
<<speech "You" "I'm sorry, ma'am. Shortages of the workforce, and this was an important matter.">>
<<video "img/savannah/pool.webm" >>
<<speech "Savannah" "All right... well, here's the pool. Do what you need, and be quick about it.">>
<<speech "You" "Sure, ma'am.">>
<p>You come to the pool and take some water samples, trying to look as professional as possible. Mrs. Bond is looking over your shoulder, probably in case you steal some of her water.</p>
<<pic "img/savannah/pool.jpg">>
<p>Just what you needed. Pretending you have to maneuver between her voluptuous body and the pool, you make a clumsy move and fall into the water. Splash!</p>
<<speech "Savannah" "Sir, are you all right?">>
<<speech "You" "I'm fine, ma'am. I'm soaked, though. Can I have a towel, please?">>
[[Proceed|Target1-2]]
<</switch>><p>Five minutes later, you find yourself inside the house. Since the very moment you took off your shirt, Mrs. Bond stared at your body.</p>
<<speech "Savannah" "I must say, I'm terrified by the thought alone that my husband finds out I was in the house alone with a nig... a black man.">>
<<speech "You" "What's the problem with that, ma'am?">>
<<speech "Savannah" "Oh, my husband is a very jealous man as is. But with black men - come on, you know how you are.">>
<<speech "You" "Tell me, ma'am.">>
<<speech "Savannah" "Well... So masculine. So raw and dominant. And... big.">>
<<speech "You" "That's true, ma'am. That's what I am.">>
<p>You can't believe how lame this exchange is, but Savannah blushes and peeks at your boxers while trying to gear down this conversation.</p>
<<speech "Savannah" "Haha, I was just joking...">>
<<speech "You" "I'm not. Anyway, tell me, Mrs. Bond, how come you spend this beautiful day by the pool all alone?">>
<<speech "Savannah" "Oh, please... My husband is a very busy man, I guess...">>
<<speech "You" "If I were at his place, ma'am, I would never keep my stunning wife all alone and bored. I see you haven't had fun in a long time, am I right?">>
<<speech "Savannah" "Very long. I used to have fun with my husband, but... Maybe he wouldn't mind me having fun with someone else?">>
<<speech "You" "You don't have to tell him, Savannah.">>
<<speech "Savannah" "You can keep secrets?">>
<p>You lie. This doesn't matter, though, as Mrs. Bond has already made up her mind.</p>
<<video "img/savannah/reveal.webm" >>
<p>She's almost scared to see your dick. But it's just like she imagined, pleasuring herself while looking at blonde girls fucked by massive dicks like yours...</p>
<<video "img/savannah/worship.webm" >>
<p>It's not the same Mrs. Bond that was rude to you outside. This slut is fully ready to be blacked. You hope the hidden camera in your bag, right across the sofa, catches that transformation; if not, Adriana can access CCTV in this house to get some juicy shots.</p>
<<video "img/savannah/blowjob.webm" >>
<p>When she tries to suck your cock, you don't hesitate to help her go deep and rough. Holding her neck so she won't pull back, you slam your dick deep in her throat, and even her gagging sounds like moans of pleasure.</p>
[[Let's get this slut blacked|Target1-3]]<p>For what feels like a sweet eternity, but probably is just shy of an hour, you were ruthlessly pounding the policeman's wife.</p>
<<video "img/savannah/rough.webm" >>
<p>Was it her deeply suppressed desire, a taboo that nested within her for years, that you and Adriana spent weeks coaxing to the surface? Would she snap at some point anyway, sooner or later, and has her marriage been doomed? There are so many themes for an after-sex cuddle talk, but there won't be one. </p>
<<video "img/savannah/doggy.webm" >>
<div class="text">It's not about Mrs. Bond, anyway. You fuck this gorgeous woman not because you wanted to - although you can't deny the attractiveness of her buxom body. No, you pound her because her husband wronged you and many other people. In fact, an argument can be made that if you think about this man while having sex with Mrs. Bond, your sex is pretty gay.
Enough with this shit. It's time to wrap up.</div>
<<video "img/savannah/creampie.webm" >>
<div class="text">You don't even ask Mrs. Bond where you should cum, or if she is on a pill (you know she's not). You just claim her pussy and breed this snow bunny, filling her insides with your thick cum. She does not object - this is the happiest moment of her life.
<<speech "Savannah" "I should have started cheating on my husband years ago...">>
You move away to make sure your hidden camera gets a shot of Mrs. Bond's ruined, cum-leaking pussy for the future audience of Mr. Bond and his white colleagues. You own this wife.</div>
<<linkreplace "Should you pee on her?">>
<p>To further establish your domination over Mrs. Bond, you command her to kneel. She does that without hesitation, empty-minded, still euphoric from a series of orgasms you gave her during the last hour.</p>
<<video "img/savannah/piss.mp4" >>
<p>You empty your bladder at her. Initially, you just wanted to give this girl a golden shower to humiliate her further, piss all over her big tits and stupid face; but Mrs. Bond eagerly opens her mouth to the stream of yellow liquid and, with loud gulps, drinks everything you gave her, bathing in your piss. Amazing slut.</p>
<</linkreplace>>
<div class="text">There's nothing left to do here. You call a taxi and pick up your things as Mrs. Bond lies on the sofa, still in bliss. Part of you feels sorry for her - her life is going to be changed forever, for better or worse, when your little sex tape is released.
You can't make an omelet without breaking eggs.</div>
[[Later|Target1-4]]<<pic "img/general/hideout.jpg" "location">>
<div class="text">You're back in the hideout before dawn, bolt thrown, sitting in the dark with the street noise coming through the wall.
The first message arrives before you've even washed the night off you - the edit of your sex with Mrs. Bond. Your face is blurred, but you are afraid that someone close might still recognize you on the video. More than that, you are troubled by the whole event in the first place.
<<if $savannah_approach == 2>><<pic "img/savannah/option2/cum.jpg">><<else>><<pic "img/savannah/cum.jpg">><</if>>
Back in the Bond's mansion, you were working on adrenaline - and lust. Now, in cold blood, you are questioning yourself - was going for one's family justified by someone's horrible actions? Sure, Savannah liked - loved - that, but you probably destroyed her life, albeit unhappy.
And also, are you really this masculine, dominating man you see on the screen? You pretended so well that it's hard to see a normal man behind the facade of a black with BBC attached, but it was the point, you guess.
The second message was from Jamal.</div>
<<speech "Jamal" "Nigga, you a natural. Adriana put your work all over the web, but we made sure the first to see it was Mr. Bond and his brothers in blue.">>
<p>You can practically hear the grin through the screen.</p>
<<speech "Jamal" "Police Sergeant Nikolas Bond, suspended without pay - imagine that! Official reason say something about conduct unworthy of an officer, but really they just want this pathetic bastard gone quick, before the shame rubs off on the badge.">>
<<speech "Jamal" "See, if we'd killed Bond, they'd have made him a martyr, and the heat would've been unbearable. Now his own people doing the burying for us.">>
<<speech "Jamal" "Don't mean it come free, though. A sergeant got humiliated, and a precinct always take that out on somebody. Right now every man on that blockpost is looking real hard at big black brothers who got business on the other side of the wall.">>
<<speech "Jamal" "So you sit still, don't leave the hood or even the hideout without much need.">>
<<pic "img/savannah/aftermath.jpg">>
<p>No word about Savannah - not surprising, given that all this operation wasn't about her. You'd love to check the cameras, but Adriana wiped out your digital presence in the mansion - just in case. You hope she's doing fine.</p>
<<pic "img/general/books_1.jpg">>
<p>You can't sleep, and there's nothing in the room to do but the pile of books Jamal must have left here. History of black activism, guerilla warfare, leftist theory, and a lot of psychology - it's a weird mix, and you read until the light comes up grey through the blinds; maybe you should check the library to find out more?</p>
<<statchange "knowledge" 2>>
<<if $ella_stage >=6>>
<<pic "img/ella/dreaming.jpg">>
<div class="text">Speaking of the library, you realize you've thought about Ella all night. In the whirlwind of sex and debauchery, she is an island of relative normalcy, and it looks like you are more attracted to her than you thought. You'd love to meet her when you have the chance.</div>
<</if>>
<div class="text">You lie down as the block wakes up around you. Jamal is right about the neighborhood: it will hide you the same way it hides everything else, as long as you stay inside it.</div>
<div class="req">Your heat is through the roof. Until it cools down, the blockpost is out of the question - the hood is all you've got. Laying low in the hideout burns it off faster.</div>
<<set $heat = 90>>
[[Continue|Sleep]]
<<set $target1 to 4>>
<<if $ella_stage >= 6>><<set $ella_stage to 7>><</if>>
<<set $nextday to 1>><h1>Mrs. Savannah Bond</h1>
<<pic "img/savannah/photo.jpg">><br>
Interest in interracial sex: $savannah_blacked<br>
Interest in affairs: $savannah_cheating<br>
<<if $savannah_observation_made == 0 && ($savannah_blacked >=1 || $savannah_cheating >=1 )>>
[[Check the cameras|t1_observe]]<br>
<</if>>
<<if $savannah_action_made == 0>>
<h2>Actions:</h2>
[[Show lewd pop-ups|t1_popup]]<br>
<<if ($savannah_blacked >=2 || $savannah_cheating >=2 )>>[[Send interracial porn links|t1_porn]]<br><</if>>
<<if $savannah_dildo_sent == 0 && ($savannah_blacked >=4 || $savannah_cheating >=4 )&& $money >= 20>>
[[BBC toy delivery($20)|t1_dildo]]<br>
<</if>>
<<else>>
<br>
Let that sink in. Come back tomorrow...<br>
<br>
<</if>>
<<if $savannah_approach == 0 && ($savannah_blacked >=3 || $savannah_cheating >=3 )>>
<h2>Choose the final approach:</h2>
Adriana has blueprinted several scenarios for your approach based on Mrs. Bond's psychological profile, access to the properties, and basic scenarios. Choose what suits you best.<br>
<h3>Black Lover</h3>
Meet Mrs. Bond solo and seduce her using her desire to cheat on her husband.<br>
<<if $savannah_cheating < 7>><div class="req">Requires 7 in affairs interest (currently $savannah_cheating)</div><br>
<<else>> [[Choose|t1_option1_setup]]
<</if>>
<h3>Snowbunny for two</h3>
Join forces with Jamal and present Mrs. Bond with an opportunity to fulfill her black gangbang fantasies.<br>
<<if $savannah_blacked < 7>><div class="req">Requires 7 in interracial interest (currently $savannah_blacked)</div><br>
<<else>> [[Choose|t1_option2_setup]]
<</if>>
<<elseif $savannah_approach == 0>><div class="req">Keep raising her stats...</div><br>
<</if>>
<br>
[[Go back|Laptop]]<p>On your way to the Bond's mansion, you talk with Jamal.</p>
<<speech "Jamal" "Two of us walking in on her - that's the whole play, young blood. It's what finished Renner, remember? One man in his daughter's bed, maybe he survive that. Two black men on camera? That's the exact thing his whole world is built to keep from happening. More spread, more views, more shame on the husband.">>
<p>He asks with a cheeky smile:</p>
<<speech "Jamal" "So this your first time sharing a girl, or was running trains just regular R&R in the service?" "jamal_happy">>
<<speech "You" "Shut up. No, this will be the first.">>
<p>You were nervous before about the whole operation, but now, when your inexperience comes to light, your anxiety level rises.</p>
<<speech "Jamal" "Ha! Relax, man. We gon' get our cucking material, and I got a feeling we gon' have ourselves a real good time making it. Milf like that? That ain't work, that's a bonus.">>
<p>Jamal pulls something from his pocket and hands it to you. It's a small blue pill.</p>
<<speech "Jamal" "Hey, fucking with another naked man working inches from you can be... distracting, first time especially. Ain't no shame in taking a pill and never once thinking about your boner, you feel me?">>
<p>You look at the erection pill and wonder if you should take it. You believe that great lovers aren't those who are always hard but those who aren't upset by being not. On the other hand, you are about to bring to life a porn reality and are expected to perform just as those idealized, always-hard no matter what actors - who probably used the juice to maintain this myth themselves. Anyway...</p>
<<nobr>><<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Take it">>
<<set _choiceMade = true>>
<<set $savannah_pill = 1>>
<<replace "#output">>
<p>You sigh and swallow the pill. One less thing to worry about.</p><br>
[[You are almost there|Target1_2-2]]<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Take it"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Don't take it">>
<<set _choiceMade = true>>
<<set $savannah_pill = 0>>
<<replace "#output">>
<<speech "You" "Nah man, I think I'm good.">><br>
<<speech "Jamal" "That's what I like to hear, brother.">><br>
[[You are almost there|Target1_2-2]]<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Don't take it"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<</nobr>><p> You finally reach the mansion and ring the bell. The gate opens automatically, and you step inside. Looks like there is someone by the pool, so you head there.</p>
<<speech "Jamal" "One last thing. Don't you hold back in there. Live the stereotype, be her walking interracial kink - that's exactly what we came for.">>
<<pic "img/savannah/option2/meet_1.jpg">>
<<speech "Savannah" "Wait, are you... How... I thought it was a joke...">>
<div class="text"> Savannah meets you by the pool. She looks surprised, but...</div>
<<speech "Jamal" "But you was hoping it ain't, right? Else why the high heels and full makeup on your pool day?" "jamal_happy">>
<p> She blushes and bites her lip.</p>
<<pic "img/savannah/option2/meet_2.jpg">>
<<speech "Savannah" "You said nothing about my skimpy bikini... Okay, you got me. I was dreaming that two strong black men would give me a porn star treatment, but... it was just a fantasy.">>
<<speech "You" "Mrs. Bond, we can leave if you like.">>
<p> Jamal squints at you, but you prefer to ignore him, while Mrs. Bond is visibly torn. It's one thing to reply to scammy emails and then pretend they are real; another is to face your dreams in reality. However, you are confident about her decision - you've seen her life and know her too well.</p>
<<speech "Savannah" "Please, stay. And call me Savannah. Or slut. Or whore. Treat me rough, you fucking nigg...">>
<p> Jamal slaps her face, and you join him in groping her massive tits.</p>
<<video "img/savannah/option2/1_grope.mp4" >>
<p>Savannah's tiny bikini top can barely contain her heavy melons, and you quickly pull it away to free her gorgeous bust. Meanwhile, her impatient hands had already found the parts she was most interested in and now stroke the big black dicks she dreamed of. You play with her tit with one hand while your other explores her crotch, and even through the thin fabric of her thong, you can feel her burning-hot pussy. She will be dripping in no time just from you two groping her boobs.</p>
<<video "img/savannah/option2/2_ass_grope.mp4" >>
<<speech "You" "Show us what else you got!">>
<<speech "Jamal" "Daymn, that's one nice ass for a white girl!">>
<p>You play with Savannah's bubble butt, shaking and slapping her fat asscheeks; her butt is truly marvelous. She, on the other hand, is too busy playing with your big toys, holding your dicks with a firm grip as if afraid you'll change your mind and leave without giving her a taste.</p>
<<video "img/savannah/option2/3_bj.mp4" >>
<p>You and Jamal could play with her voluptuous body all day long, but Savannah has other ideas. She kneels between you two and, for a moment, sizes you up - these must be the biggest cocks she has seen in her life, and what is most important - her husband's pitiful penis of a white man pales in comparison to your monster cocks. Hungrily, Savannah wraps her lips around your shaft and starts sucking you - just to switch and serve her mouth to Jamal. She iterates between you two, thoroughly enjoying herself.</p>
<<video "img/savannah/option2/4_facefuck.mp4" >>
<p>To remind this slut who's in charge, you grab the back of her head and thrust your cock deeper in Savannah's throat, then pass her to Jamal so he can fuck this whore's face as well. She gags and drools all over her fat tits; when you reach it to give a squeeze, it's all slippery. For a moment, you wonder if you are going too rough on the poor housewife - it is then that Savannah grabs your hand and forces you to squeeze her boob harder and play with it like an oversized stress relief ball.</p>
<<speech "Savannah" "*gasps for air* You're so eager to fuck my throat, boys - want to fuck something else instead?">>
<<speech "Jamal" "Bitch, make my day - tell me you got that ass ready for some black meat.">>
<p>Shit, Jamal knows his way with words.</p>
<<speech "Savannah" "Who do you think I am? Of course, you can fuck my big fat ass with your monster cocks! Let's go inside, and I'll show you.">>
<p>What a transformation from a bored housewife to an anal slut! Her husband would be proud.</p>
[[Go inside for the main course|Target1_2-3]]<<video "img/savannah/option2/5_spitroast.webm" >>
<<video "img/savannah/option2/6_dp.webm" >>
<<video "img/savannah/option2/7_reverse_dp.mp4" >>
<p>Inside the living room, right on the couch where Savannah watches TV with her husband, you pound her every hole. Sweet, perfect-looking pussy is a great fit for your hard dicks, while her bubble butt is tight but can barely fit half the length of your massive dicks; and at all times, you can just shove your cocks inside her always-open mouth and hope she won't choke to death. Cameras around the room record every orgasm Savannah has, every inch of black meat entering her holes, every word of pleasure and degradation she screams to you. Indeed, this is a perfect love letter for her sadistic husband.</p>
<<if $savannah_pill == 0>>
<<video "img/savannah/option2/8_anal_hand.webm" >>
<p>At some point, you and Jamal are exhausted, while Savannah is insatiable and keeps asking for more and more. Jamal leaves to get some water while you are left alone; your erection is not that hard, but this does not stop Mrs. Bond from trying to make you harder with both her ass and her hand. Either because of this, or just because of some time alone with her, you get your erection back.</p>
<<else>>
<<video "img/savannah/option2/8_anal_switch.mp4" >>
<p>Fucking such an insatiable slut is more reminiscent of pleasurable but heavy work, and Jamal starts to grow tired first. You, on the other hand, thanks to the pill, are able to hold much longer. At some point, semi-flaccid Jamal pulls out of Savannah's ass and invites you in; he, instead, happily sucks her juicy, sweaty tit while you rail her ass. It's a bit weird, but the pill helps you not care about it too much.</p><</if>>
<<video "img/savannah/option2/10_finish.mp4" >>
<p>Eventually, it's time to wrap up. Out of breath, you jerk off to kneeled Savannah, who looks like she is ready for a second round - but you are no more.</p>
<<speech "You" "We should have brought more men... Call for backup...">>
<<speech "Jamal" "And air support while you at it. Young blood, just cum already - don't make the lady wait on her load.">>
<p>Hidden cameras record how you plaster the slut's face with your thick cream. Using that Savannah is overwhelmed with the smell and taste of your cum, you quickly leave before she comes to her senses. Your job here is done, and it's better to bail before something goes wrong.</p>
<<speech "Jamal" "I seen a lot of sluts in my life, but this one - this something else. You did good today, young blood. Now go rest.">>
[[Next|Target1-4]]Conveniently, your laptop has bookmarked sex shops and courier services operating on the dark web. You select the realistic-looking black dildo and leave the cash in a dead drop near your hideout. As soon as the courier collects the money, delivery is made to Mrs. Bond, leaving no trace to you.
<<statchange "money" -20>>
<<set $savannah_cheating += 1>>
<<set $savannah_blacked += 1>>
<<set $savannah_dildo_sent = 1>>
<<set $savannah_action_made to 1>>
[[Go back|Target1Laptop]]<<nobr>><<set _corruption = $savannah_blacked + $savannah_cheating>>
<<if _corruption >= 8 && $savannah_dildo_sent == 1>> <<set _event = random(1,9)>>
<<elseif _corruption >= 8 && $savannah_dildo_sent == 0>> <<set _event = random(0,7)>>
<<else>> <<set _event = random(0, Math.min(_corruption, 7))>>
<</if>><</nobr>>
<<switch _event>>
<<case 1>>
<<pic "img/savannah/laptop/popup_reaction_1.jpg">>
It seems like Mrs. Bond enjoys what she sees on her monitor.
<<speech "Savannah" "It's so... Indecent~">>
<<case 2>>
<<pic "img/savannah/laptop/popup_reaction_2.jpg">>
Mr. Bond comes to help his wife with the viruses, and you turn them off temporarily. It seems now he suspects his wife was searching for such content herself...
<<speech "Savannah" "Nikkie, I swear I wasn't looking for ~big, black cocks~ on the Internet...">>
<<case 3>>
<<pic "img/savannah/laptop/argue_1.jpg">>
From what you have already seen, Bonds don't look like a happy couple. In rare times when you can find Nikolas at home, there are always fights and arguments between the two, and your supply of lewd materials to Savannah's laptop only adds fuel to the fire.
<<case 4>>
<<video "img/savannah/laptop/nudewalk.webm" >>
Not much today, but you catch Savannah nude on her way to the shower. Damn, you would be lying, saying you don't want to fuck this gorgeous woman!
<<case 5>>
<<pic "img/savannah/laptop/argue_2.jpg">>
Dressed in fancy lingerie, Savannah tries to seduce her husband, and you witness him turning down his wife's request for sex. It looks like it's not the first time...
<<speech "Savannah" "When was the last time we had sex, Nikolas?! Do you even remember you have a wife?">>
Savannah's desire to cheat increased!
<<set $savannah_cheating += 1>>
<<case 6>>
<<video "img/savannah/laptop/mirror_pose.webm" >>
Savannah poses in front of the mirror.
<<speech "Savannah" "Nikolas says I'm too fat... *sigh* But my ass feels kinda nice">>
<<case 7>>
<<video "img/savannah/laptop/masturbation.webm" >>
Sexually frustrated, Savannah takes matters into her own hands, and you watch her masturbate. She runs her fingers across her perfect pussy, stopping on her sensitive clit, and fingers herself until the much-needed orgasm approaches.
<<case 8>>
<<video "img/savannah/laptop/BBCToy_1.webm" >>
You watch Savannah trying out the black dildo you sent her. Spreading her legs, she pushes the BBC toy deep inside her hungry pussy, dreaming of being pounded by a real black thing.
Savannah's desire to try BBC increased!
<<set $savannah_blacked += 1>>
<<case 9>>
<<video "img/savannah/laptop/BBCToy_2.webm" >>
Mrs. Bond put on a whole show while playing with the BBC toy you've sent her. Fucking the black dildo in various positions, she must be ready for a real thing...
Savannah's desire to try BBC increased!
<<set $savannah_blacked += 1>>
<<default>>
Nothing in particular catches your eye as you switch between the hidden cameras in Bonds' mansion, but you can't help but notice how bored Savannah looks most of the time. A devoted housewife, she spends her days mostly alone, with her husband working overtime doing his dirty job, and this loneliness alone is a good precursor for your eventual meeting.
<</switch>><<set $savannah_observation_made to 1>>
[[Go back|Target1Laptop]]You feel that playing on the feelings of the lonely milf would be the easiest option. Mrs. Bond is a vulnerable housewife, craving attention that her husband is not able to provide - and you can use it to your advantage.
The pre-crafted script chooses the next time Mr. Bond will be at work (that's almost always) and sends a notification to the household, telling them about an incoming inspection from the water company. That's your cover.
<<set $savannah_approach to 1>>
<div class="req">You can start anytime from your hideout.</div>
[[Return|Target1Laptop]]<div class="text">This option looks unbelievable to you in its simplicity, entirely banking on Mrs. Bond's pent-up sexual frustration and desire to try interracial sex. You send her an email that simply tells her that she was randomly chosen from visitors to some IR porn site to have sex with the actors. It ends with your and Jamal's physical characteristics and a request to select one or both. It looks like a straight-to-spam, Nigerian-prince-level junk email, so you are genuinely surprised when you receive the reply that says:
"BOTH."
Come to think of it, nothing else is happening in Mrs. Bond's life except for your constant supply of interracial content. She is desperate to reply to even this email for a slim chance of something breaking her out of her housewife routine.
It's a threesome, then.</div>
<<set $savannah_approach to 2>>
<div class="req">You can start anytime from your hideout.</div>
[[Return|Target1Laptop]]<<set _choiceMade = false>> <!-- Flag to track if a choice is made -->
<div id="choice-container">
Choose the pop-up theme for today:<br>
<<if not _choiceMade>>
<<linkreplace "BBC">>
<<set _choiceMade = true>>
<<set $savannah_blacked += 1>>
<<set $savannah_action_made to 1>>
<<replace "#output">><<album "img/savannah/laptop/popups_black/" 6 "webp" "story">>
<p>You tune the malware to throw pop-ups and banners focused on the sexual superiority of black men. IR, BBC, BNWO; breeding, mandingo, race play. You got a lot to learn.<br>Savannah's desire to try BBC increased!</p><</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"BBC"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Infidelity">>
<<set _choiceMade = true>>
<<set $savannah_cheating += 1>> <!-- Change your variable -->
<<set $savannah_action_made to 1>>
<<replace "#output">><<album "img/savannah/laptop/popups_cheating/" 6 "webp" "story">>
<p>The flow of pop-ups is focused on themes such as infidelity, cucking, and cheating.<br>Savannah's desire to cheat increased!</p><</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Infidelity"</em></div><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<br>
[[Go back|Target1Laptop]]<<set _choiceMade = false>> <!-- Flag to track if a choice is made -->
Choose the porn theme for today:
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "BBC">>
<<set _choiceMade = true>>
<<set $savannah_blacked += 1>>
<<set $savannah_action_made to 1>>
<<replace "#output">><<album "img/savannah/laptop/porn_black/" 6 "webp" "story">>
<p>You send the links to forbidden interracial porn, focused on BBC and gangbangs.<br>Savannah's desire to try BBC increased!</p><</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"BBC"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Infidelity">>
<<set _choiceMade = true>>
<<set $savannah_cheating += 1>> <!-- Change your variable -->
<<set $savannah_action_made to 1>>
<<replace "#output">><<album "img/savannah/laptop/porn_cheating/" 6 "webp" "story">>
<p>The porn you send is playing with themes of cucking, cheating, and sharing.<br>Savannah's desire to cheat increased!</p><</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Infidelity"</em></div><</replace>> <!-- Hides both choices -->
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<br>
[[Go back|Target1Laptop]]<<pic "img/school/school_exterior.webp" "location">>
<p>The bus lets you out across from the school - the other world's kind of school, all brick, lawn, and fresh paint, with the state flag snapping over the entrance. Your fake credentials sit in your pocket, warm as a stolen wallet. Adriana's work is good. It had better be.</p>
<p>Kids of the people who run this country stream through the gates, loud and untouchable. Somewhere in there are the levers Jamal wants pulled.</p>
<<if $school_job == 0>>
<p>The service entrance is around the side, past the dumpsters. That's your door now. The front gates are for people whose parents own things.</p>
[[Report for your first day|School First Day]]<br>
<<else>>
[[Go in through the service entrance|Hallway]]<br>
<</if>>
[[Take the bus back|The Hood]]/* ============================================================
School arc widgets.
<<schoolphase>> - sets _sphase (1-3), the power phase of the
janitor arc. Phase 1: the help, humiliated without recourse.
Phase 2: the fixture, tolerated, allowed to answer back.
Phase 3: the owner, feared.
<<schoolevent>> - 30% chance of a random school event on
entering the Hallway; at most one per day. Lewd events are
watch-only at phase 1; phase 2+ adds an interaction choice.
============================================================ */
<<widget "schoolphase">>
<<if $detention_job && $pollock_stage >= 4>>
<<set _sphase = 3>>
<<elseif $school_rep >= 15 && $amber_stage >= 4>>
<<set _sphase = 2>>
<<else>>
<<set _sphase = 1>>
<</if>>
<</widget>>
<<widget "schoolevent">>
<<schoolphase>>
<<if $last_school_event_day < $day && random(1, 100) <= 30>>
<<set $last_school_event_day = $day>>
<<set _sevent = random(1, 11)>>
<<switch _sevent>>
<<case 1>>
/* Fire drill */
<<if _sphase == 1>>
<p>The fire alarm goes off mid-period and the building empties past you in a river of blazers. You stand against the wall with your cart, the way you're supposed to. A linebacker-sized senior puts his shoulder into you as he passes - not an accident, nothing about the smirk is an accident - and your spray bottles clatter across the floor. Nobody stops. A girl steps over the bottles like they're roadkill.</p>
<p>You pick them up. You keep your eyes down. That's the whole job description, really.</p>
<<elseif _sphase == 2>>
<p>Fire drill. The river of blazers parts around your cart this time. The linebacker who used to shoulder-check you meets your eyes for half a second and decides the other side of the hallway looks better. A small victory.</p>
<<else>>
<p>Fire drill. The hallway empties around you and the linebacker who used to bounce you off the lockers stops - stops - to pick up a rag that slipped off your cart. He sets it back like it might be wired to something. "Sorry, Mr. $player_surame."</p>
<<statchange "respect" 1>>
<</if>>
<<case 2>>
/* Volleyball team mud */
<<if _sphase == 1>>
<p>The girls' volleyball team comes back from the practice field straight across your wet, just-mopped floor - a parade of cleats and long legs leaving a trail of mud the length of the main hall. The captain looks right at you as she does it. "Oops," she says, and her whole squad giggles on cue, and then they watch you: the entertainment portion of their afternoon, a grown man getting back down on his knees with a rag.</p>
<p>You get back down on your knees with a rag.</p>
<<elseif _sphase == 2>>
<p>The volleyball team hits the edge of your wet floor and actually hesitates. The captain weighs the mud on her cleats against something in your face that wasn't there a month ago, and takes her squad the long way around. One of the younger ones mumbles something that might be sorry.</p>
<<else>>
<p>The volleyball girls stop dead at the edge of your wet floor like it's an electric fence. The captain unlaces her cleats and carries them, and the whole squad pads across in socks, and she gives you a smile on the way past that has nothing to do with apology and everything to do with the things the school whispers about the man in the coveralls now.</p>
<</if>>
<<case 3>>
/* Vending machine */
<p>The vending machine outside the gym has eaten some sophomore's money again, and he's rocking the whole cabinet like it owes him gambling debts. It's going to come down on him if he keeps that up.</p>
<div id="choice-container">
<<linkreplace "Fix it for him">>
<<replace "#output">>
<p>Two raps on the side panel, a hip check at the right corner - the machine coughs up his chips and his coins. He looks at you like you've done a card trick. "Thanks, man."</p>
<<set $school_rep += 1>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Fix it for him"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Not your problem">>
<<replace "#output">>
<p>You push your cart on by.</p>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Not your problem"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 4>>
/* Pollock's car */
<p>Through the front glass you watch Principal Pollock's silver Tesla glide in and stop at a diagonal across two spaces - hers, and the one marked STAFF MEMBER OF THE MONTH. She gets out without looking at the lines. Rules are for people who can be prosecuted, and she stopped being one of those years ago.</p>
<p>She passes you in the lobby close enough to touch and her eyes never register the obstacle. To Shannon Pollock the mop moves by itself.</p>
<<case 5>>
/* Confiscated phone box */
<p>Someone's left the front office unattended, door open, and on the counter sits the confiscation box - a plastic tub of students' phones, a few teachers' too, waiting out their sentences. Half of them aren't even locked. People in this building believe in locks the way they believe in consequences: for other people.</p>
<div id="choice-container">
<<linkreplace "Go through it">>
<<replace "#output">>
<<if random(1, 100) <= 50>>
<<if $pollock_leverage < 10>>
<p>You wipe the counter slowly with one hand and thumb through an unlocked phone with the other. A teacher's, judging by the emails - and there, in a group chat named STAFF (REAL), a thread about Pollock's "cabinet audit": <i>she does it herself now, won't let the bookkeeper near it since March</i>. You put the phone back exactly where it was. Interesting, what the walls would say if anyone thought the walls could hear.</p>
<<set $pollock_leverage += 1>>
<div class="req">Leverage on Pollock: $pollock_leverage/10</div>
<<else>>
<p>Nothing new - you already know more about this building than the people who run it. You square the box's corners and move on.</p>
<</if>>
<<else>>
<p>You're two phones deep when the office secretary comes back with her coffee. "WHAT do you think you're doing?" You hold up the cleaning rag - the world's oldest alibi - and take the tongue-lashing that follows in front of two students and a parent. The word "these people" features prominently. You count ceiling tiles until it's over.</p>
<<if $school_rep > 1>><<set $school_rep -= 2>><</if>>
<<if $pollock_leverage < 10>>
<p>What she'll never know: the first phone had already talked. A teacher's, unlocked, and in the outbox a grievance email that never got sent - dates, amounts, "the third time our department budget has been 'reallocated' mid-year with no paper trail." You took the tongue-lashing with the sender's name filed away safe.</p>
<<set $pollock_leverage += 1>>
<div class="req">Leverage on Pollock: $pollock_leverage/10</div>
<</if>>
<</if>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Go through it"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Leave it alone">>
<<replace "#output">>
<p>You wipe the counter and leave the box to its sentence. Patience. The building leaks secrets like a bad roof - you just have to keep being the man with the bucket.</p>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Leave it alone"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<<case 6>>
/* Pollock at the trophy case - the mirror */
<<if $pollock_stage >= 1>>
<p>Principal Pollock has stopped at the trophy case. Not at the trophies - at the glass. You watch her study her own reflection in it, and behind her reflection, a knot of seniors passing, all shoulders and hair and eighteen years old, laughing at something that has nothing to do with her and everything to do with her. Her thumb comes up and drags once along her jawline, slow, like she's checking a seam for damage. Then she catches herself, snaps her cuffs straight, and marches off at full commanding speed.</p>
<p>You mop on. But you file it.</p>
<<else>>
<p>A quiet stretch of hallway, for once. You get a whole wing mopped without a single blazer walking through the wet end. In this building, that qualifies as a good omen.</p>
<</if>>
<<case 7>>
/* Library flashing */
<p>Dead period, and the library's back stacks have traffic in them after all: a senior girl, phone propped between two hardbacks on the reference shelf, top pulled up over her pierced tits. She squeezes them together, rolls a stiff nipple between two fingers, drags her tongue slow over her lip for the lens. Subscriber content, shot in the periodicals section between third and fourth period. Her dad probably funds this wing.</p>
<<video "img/school/random/flasher_1.webm">>
<<if _sphase == 1>>
<p>Then she clocks you. She doesn't cover up. She checks who it is, registers the coveralls, and goes back to posing, because the janitor doesn't count as being seen. You push your cart past a topless girl between the shelves like you're part of the lighting rig, and she never once breaks the pose.</p>
<<else>>
<p>Then she clocks you - and grins, and holds the pose. "You're not gonna narc," she says. It isn't a question. Around here, you've stopped being furniture.</p>
<div id="choice-container">
<<linkreplace "Lean on the cart and watch">>
<<replace "#output">>
<p>You lean on the cart and watch her work. Having a live audience does something for her - the arch gets deeper, the hands slower, a palm slides down under her waistband and stays there, and she finishes the set facing you instead of the phone, tits swaying with each pose between the stacks. Then the top comes down, the phone goes in the blazer, and she slips off toward fourth period with wet fingers and a straight face, like nothing happened.</p>
<<video "img/school/random/flasher_2.webm">>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Lean on the cart and watch"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Get your cock out">>
<<replace "#output">>
<p>You check the aisle both ways - old habit - and unzip. Her eyes drop, then widen, and the pose falls apart into something honest: she turns her back on her own camera to watch you stroke your BBC, tits out, lip between her teeth, whispering "oh my god" on a loop like a prayer. Her mouth's already hanging open, so you put it to use.</p>
<<video "img/school/random/flasher_sucks.webm">>
<p>While the rich brat gags herself on your black cock, drooling on the library carpet her daddy paid for, you check out the live chat over her bobbing head - it's a blast. Next time you should ask for a cut.</p>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Get your cock out"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<</if>>
<<case 8>>
/* Empty classroom */
<p>Room 114 is supposed to sit empty fifth period. Through the door glass it isn't: two seniors on the teacher's desk, her back flat against the wood, skirt shoved up around her waist, legs spread wide while he pounds her hard enough to walk the desk across the floor. The papers crumpling under her shoulders are somebody's graded midterms.</p>
<<video "img/school/random/classroom_fuck_1.webm">>
<<if _sphase == 1>>
<p>You gotta move, unless you want to earn a reputation as the school perv.</p>
<<else>>
<p>She spots you through the glass and slows to a grind, watching you watch her. Waiting to see what the man the school whispers about does with a locked-open door.</p>
<div id="choice-container">
<<linkreplace "Stay and watch">>
<<replace "#output">>
<p>She puts on a little show for you - hips grinding slow, tits bouncing out of her open blazer - and when her partner pulls out at the last second and unloads across her face, she keeps her eyes open through every rope of it, locked on you instead of him, like you're the one she's taking the facial for. Her free hand gives you a little wave, the kind you'd give a bus driver, once she's done wiping the cum off her chin with somebody's midterm.</p>
<<video "img/school/random/classroom_fuck_2.webm">>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Stay and watch"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Get your cock out">>
<<replace "#output">>
<p>You swing the door open, step inside, and pull it out. The boy's still buried in her, hips stuttering, mouth open to say something proprietary about the room being taken - and then she looks past him at what you're holding and stops grinding entirely. Her eyes do the math a lot faster than his do. She peels off him without so much as an apology, leaves him hard and stranded on the desk mid-thrust, and drops to her knees in front of you like the janitor just became the main event.</p>
<p>She works you with both hands and her whole mouth, sloppy and enthusiastic, spit running down her knuckles, glancing up now and then to make sure the boy on the desk is watching her not watch him anymore. He sits there rock hard and forgotten, papers stuck to his ass, waiting his turn on a desk he now shares with nobody. She doesn't stop until you're finished, swallows most of it, and wipes her mouth with a satisfied little sound.</p>
<<video "img/school/random/classroom_fuck_3.webm">>
<p>"Janitor's got the master key," she tells him, breathless, by way of explanation. You zip up and go. That sentence will be all over the senior class by sixth period, and it won't hurt you one bit.</p>
<<set $school_rep += 1>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Get your cock out"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<</if>>
<<case 9>>
/* Girls' toilets */
<p>The work order says the first-floor girls' toilets are "flooded." They are not flooded. A senior girl is squatting in the middle of the floor, skirt hiked up and panties around one ankle, pissing a long deliberate stream past the toilet - with four open, empty, perfectly functional stalls behind her. She looks up at you mid-stream and doesn't stop, doesn't even pinch it off.</p>
<<speech "Senior Girl" "The stalls are disgusting. Someone should really do their job." "default_female">>
<<video "img/school/random/pisser_1.webm">>
<<if _sphase == 1>>
<p>She finishes at her own pace, stands, steps over her own puddle, and stops at the mirror to fix her hair with her panties still around her ankle - because you watching doesn't count either. On her way out she taps the wet floor sign on your cart.</p>
<<speech "Senior Girl" "You'll want that." "default_female">>
<p>You get the mop. That's the whole job description, really.</p>
<<else>>
<p>She finishes at her own pace and stands there shaking her hips dry, bare pussy on display like a dare, waiting for you to get the mop like the appliance you're dressed as.</p>
<div id="choice-container">
<<linkreplace "Get the mop">>
<<replace "#output">>
<p>You mop it. She watches the whole time from the mirror, redoing her lipstick, and something about a grown man swabbing up her piss without a word seems to settle her whole afternoon. Rich people pay good money for worse therapy.</p>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Get the mop"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Make her clean it herself">>
<<replace "#output">>
<p>She looks at your face, and at the doorway you're occupying all of, and remembers whatever it is the school whispers about the man in the coveralls now, and whatever she was about to say dies somewhere in her throat.</p>
<<speech "You" "Those panties are still on your ankle. Use them.">>
<<speech "Senior Girl" "Yes, sir." "default_female">>
<p>Two words, and they cost her something to say. She bends down and works the panties off her ankle, gets down on her bare knees in her own puddle, and starts dragging the soaked scrap of fabric across the tile in slow circles, wringing it out with her fist between passes while you point out the spots she missed. By the time the floor's dry her hands are shaking.</p>
<<speech "You" "Not done.">>
<p>You nod at what's left pooled in the grout lines. She stares at you for a second like you might be joking, then lowers her head and slurps it off the tile, swallowing her own piss. When the floor's clean she crawls the last few feet to the bowl she was supposed to be scrubbing and, without being told twice, drops her head in and runs her tongue around the rim and under it until the porcelain shines better than it has all year.</p>
<<video "img/school/random/pisser_2.webm">>
<p>You leave her kneeling on the bathroom floor. Word of that will travel too. Good.</p>
<<set $school_rep += 1>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Make her clean it herself"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<</if>>
<<case 10>>
/* The counselor's leak */
<p>A knot of senior boys at the lockers, one phone in the middle, and a hush you last heard in church. You catch the screen on your way past: a blonde in a hotel mirror, older than they are and better than they deserve, wearing a conference lanyard and nothing else. Somebody's "leaked set," the file names say MS AMBER, and the arguing is scholarly.</p>
<<speech "Senior" "That's AI, bro." "default_male">>
<<pic "img/school/random/britney_leak.jpg" "story">>
<<if $amber_stage >= 3>>
<p>You keep mopping and keep your face shut, because unlike these archaeologists you have primary sources, and the verdict is: real. Twenty-something, sure - but the smile hasn't changed a day, and you'd know that couch-side grin at any resolution.</p>
<p>By sixth period half the senior class has self-referred to counseling. Britney's door sign says BACK TO BEING AMAZING IN 30 MIN, and when you pass her in the hall she looks about as devastated as a lottery winner.</p>
<<else>>
<p>You mop past. By sixth period the counseling office has a waiting line of self-referred seniors, and the counselor herself walks the hallway looking not like a woman allegedly ruined, but like a woman having an excellent week.</p>
<</if>>
<<case 11>>
/* Settle it */
<p>You're restocking dispensers in the second-floor girls' room - door propped, cart in the doorway, by the book - when two senior girls bang in mid-argument and pull their tops up at the mirrors. It's a bet, apparently. Something about whose are bigger, rounder, firmer...</p>
<<pic "img/school/random/comparison.webp" "story">>
<<if _sphase == 1>>
<p>One of them catches your reflection and elbows the other. "It's the janitor," she says, and they go right back to the audit, tits out, because you rank somewhere below the mirror in this room. You finish the paper towels and wheel out.</p>
<<else>>
<p>One of them catches your reflection - and instead of covering up, turns around. "Perfect. Settle it." Two pairs of tits aimed at you like a pop quiz.</p>
<div id="choice-container">
<<linkreplace "Give an honest verdict">>
<<replace "#output">>
<p>You take your time, because a rushed inspection is a worthless inspection, and they hold still for it - chins up, backs arched, competitive to the bone. You walk a slow circle. You have one of them bounce on her heels, for science. Then you deliver the verdict, flat, itemized, like a work order.</p>
<<pic "img/school/random/bounce.webp" "story">>
<p>The winner shrieks and collects her twenty. The loser calls you blind, then asks - quieter, tugging her top back down - whether the score changes if she works on her posture. You leave them to the rematch negotiations. Strangest thing anyone's asked the help all month, and the month included the grease trap.</p>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Give an honest verdict"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Give a hands-on verdict">>
<<replace "#output">>
<p>Eyeballing it is for amateurs. There's only one metric that actually settles an argument like this - whether a big black cock fits between them - and you tell them so. Neither one laughs. Neither one leaves either.</p>
<p>You unzip and let them look, and the room goes quiet in a way the mirror never managed. One of them steps up without waiting for a vote, cups her tits together under your shaft, and the verdict writes itself the second she squeezes: hers swallow you whole, thick and heavy and warm, more than enough to work you top to bottom with barely a knuckle showing. The other one watches her own chances evaporate in real time.</p>
<<video "img/school/random/titjob.webm">>
<p>You titfuck the winner right there against the sinks, the runner-up crowding in to press her rival's tits tighter around your shaft with both hands, like second place comes with duties. When you finally blow, you paint the winning pair from cleavage to chin, and the loser demands a rematch before you've even zipped up.</p>
<<set $school_rep += 1>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Give a hands-on verdict"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<</if>>
<</switch>>
<</if>>
<</widget>><<pic "img/school/service_corridor.jpg" "location">>
<p>The service entrance opens on a different school than the one in the brochure: bare concrete, humming pipes, a punch clock older than you are. A woman from the front office - fifty, floral blouse, lipstick applied at a red light - inspects your forged papers for a long ten seconds, then inspects you for longer.</p>
<<speech "Secretary" "Mr. $player_surame, is it. You will punch in at seven, you will punch out at four, and between those hours the children should not have a reason to know you exist. Uniform is in the closet. So is everything else that concerns you." "default_female">>
<<pic "img/school/closet.webp" "story">>
<p>The uniform is grey coveralls with EJ stitched over the pocket - somebody else's initials, a dead man's or a fired one's, nobody bothered to say. The mop cart has a wheel that pulls left. The closet at the end of the east corridor is yours: mop smell, one flickering tube light, a door that locks from the inside.</p>
<p>On your way to your first work order, the lobby doors swing open and the school's whole weather system changes. Heels on marble. Staff straightening. Principal Shannon Pollock crosses her lobby the way a blade crosses a whetstone, and for one half-second her eyes pass across you - the new janitor, day one - and register nothing at all. Not even contempt, which would at least mean you exist. An appliance has been delivered, that's all.</p>
<<pic "img/school/pe_full.jpg" "story">>
<p>Behind her, a barrel of a man in a tracksuit - the PE coach, by the whistle - catches you watching and gives you a single nod. First one you've gotten inside these walls.</p>
<p>Jamal's voice in your head: <i>build trust, read the room, fuck around and find out.</i></p>
<<set $school_job = 1>>
<<set $closet_unlocked = true>>
<<set $school_pay_day = $day>>
<<set $school_time = "morning">>
[[Get to work|Hallway]]<<pic "img/school/hallway.webp" "location">>
<<schoolphase>>
<<if _sphase == 1>>
<p>The hallway between periods is a river of blazers and money, and you are a rock it flows around without seeing. When they do see you it's worse: the sidelong looks, the theatrical wrinkled noses, the freshman who whispers something and gets his laugh. You count it all. You have a good memory for faces.</p>
<<elseif _sphase == 2>>
<p>The hallway has learned your name - or at least the coveralls' name. A few students nod now. Teachers have stopped double-checking their purses when you pass. You're becoming what every good infiltrator becomes: furniture with ears.</p>
<<else>>
<p>The hallway parts for you now. Conversations dip when you pass and pick up again, changed, behind you.</p>
<</if>>
<<schoolevent>>
<<if $pollock_stage == 0 && $school_rep >= 2>>
<div class="req">The intercom crackles: "Maintenance to the principal's office. Now, please."</div><br>
[[Answer the summons|Pollock Office]]<br>
<<else>>
<<if $amber_stage == 0 && $school_rep >= 4>>
[[There's a commotion by the trophy case|Amber Intro]]<br>
<</if>>
<<if not $pollock_husband && $pollock_stage >= 1>>
[[Something's going on outside the civics room|Marcello Intro]]<br>
<</if>>
<<if $school_time is "morning">>
<<if $school_tasks_done < 2 && $energy >= 2>>
Work orders are stacked on the board in the maintenance office.<br>
[[Check the task board|School Tasks]]<br>
<<else>>
The morning board is cleared - or you are.<br>
<</if>>
<<link "Break for lunch">><<set $school_time = "lunch">><<goto "Hallway">><</link>><br>
<<elseif $school_time is "lunch">>
The cafeteria is serving. Even the help gets to eat.<br>
[[Take your lunch to the cafeteria|Cafeteria]]<br>
<<if $pollock_husband >= 1 && $pollock_stage >= 2 && $day >= $marcello_next_day>>
Pollock's door is shut for lunch - and Marcello's sad Corolla is in the visitor lot again.<br>
[[Take a quiet look|Pollock After Hours]]<br>
<</if>>
<<elseif $school_time is "afternoon">>
<<if $school_tasks_done < 3 && $energy >= 3>>
[[Pick up an extra work order|School Extra]]<br>
<</if>>
<<if $pollock_stage >= 1 && $pollock_leverage < 8 && $network_day < $day>>
<<if $school_rep >= 5 && $energy >= 2>>
[[Call in a favor below decks (5 school rep, 2 energy)|Below Decks]]<br>
<<else>>
<span class="req">The building's invisible people see everything Pollock does. They'd talk - for a favor owed (school rep 5) and some legwork.</span><br>
<</if>>
<</if>>
<<if $day > $gym_wing_day>>
[[Swing by the gym wing|Gym Wing]]<br>
<<else>>
<span class="req">You've already done your round through the gym wing today. Tommy locks up at six.</span><br>
<</if>>
<<if $amber_stage >= 1>>
[[Stop at the counselor's office|Counselors Office]]<br>
<</if>>
<<if $detention_job>>
<span class="req">Detention duty is on your schedule, fifth period - room 019 opens in the next update.</span><br>
<</if>>
/* DETENTION CONTENT - SHIPS NEXT UPDATE
<<if $detention_job>>
[[Run afternoon detention|Detention Room]]<br>
<</if>>
<<if $incel_club>>
[[Look in on the AV room|Incel Club]]<br>
<</if>>
*/
<<if $pollock_stage == 1 && $pollock_leverage >= 3>>
[[Knock on the principal's door|Pollock Confrontation]]<br>
<</if>>
<<if $pollock_stage >= 1 && $master_key >= 3 && not visited("Pollock Office Search")>>
Her Tesla left the lot an hour ago. The master key is heavy in your pocket.<br>
[[Let yourself into the principal's office|Pollock Office Search]]<br>
<</if>>
<<if $pollock_stage >= 2 && $pollock_leverage >= 10 && $master_key >= 3>>
<div class="req">Her door. Her ledger in your pocket, her keys on your ring, her building humming along under your mop. Nothing left to gather.</div>
[[Walk into the principal's office|Pollock Reckoning]]<br>
<</if>>
<<link "Clock out for the day">><<set $school_time = "evening">><<goto "Hallway">><</link>><br>
<<elseif $school_time is "evening">>
The school empties out. The building creaks and settles, honest at last.<br>
<</if>>
<</if>>
<<if $closet_unlocked is true>>
[[Your closet|Closet]]<br>
<</if>>
[[Exit School|Outside]]<<pic "img/school/board.jpg" "location">>
<<if $school_time is not "morning">>
<p>The board's morning orders are done with. Whatever breaks now waits for tomorrow or gets an "extra" slip in the afternoon.</p>
[[Back to the hallway|Hallway]]
<<elseif $school_tasks_done >= 2>>
<p>You've cleared what the board had for you this morning. Your back knows it, too.</p>
[[Back to the hallway|Hallway]]
<<else>>
<<schoolphase>>
<p>The cork board in the maintenance office holds the morning's work orders, sorted the way this school sorts everything: what's safe, what's watched, and what nobody else will touch.</p>
/* The morning's board is rolled once and remembered ($school_tasks_day), so
walking back to the hallway and returning can't be used to reroll which
jobs came up. Same contract as "Look for work" and $jobs_day in the hood. */
<<if $school_tasks_day != $day>>
<<set $school_tasks_day = $day>>
<<set $school_task_safe = random(1, 5)>>
<<set $school_task_risky = random(1, 5)>>
<<set $school_task_dirty = random(1, 5)>>
<</if>>
<<set _safe = $school_task_safe>>
<<set _risky = $school_task_risky>>
<<set _dirty = $school_task_dirty>>
<<switch _safe>>
<<case 1>><<set _safeLabel = "Mop the main hall (2 energy)">>
<<case 2>><<set _safeLabel = "Empty the classroom bins (2 energy)">>
<<case 3>><<set _safeLabel = "Wipe down the cafeteria before lunch (2 energy)">>
<<case 4>><<set _safeLabel = "Restock paper and soap, all floors (2 energy)">>
<<case 5>><<set _safeLabel = "Scrape gum off the auditorium seats (2 energy)">>
<</switch>>
<<switch _risky>>
<<case 1>><<set _riskyLabel = "Clean the locker rooms during class (3 energy)">>
<<case 2>><<set _riskyLabel = "Service the teachers' lounge (3 energy)">>
<<case 3>><<set _riskyLabel = "Buff the admin corridor floors (3 energy)">>
<<case 4>><<set _riskyLabel = "Replace the dead lights in the girls' locker room wing (3 energy)">>
<<case 5>><<set _riskyLabel = "Set up the hall for the board meeting (3 energy)">>
<</switch>>
<<switch _dirty>>
<<case 1>><<set _dirtyLabel = "Biohazard, boys' toilets, second floor (4 energy)">>
<<case 2>><<set _dirtyLabel = "Someone redecorated the bus bay with their breakfast (4 energy)">>
<<case 3>><<set _dirtyLabel = "The kitchen grease trap (4 energy)">>
<<case 4>><<set _dirtyLabel = "Dead rat in the science wing ceiling (4 energy)">>
<<case 5>><<set _dirtyLabel = "Snake out the girls' shower drain (4 energy)">>
<</switch>>
<div id="choice-container">
<<if $energy >= 2>>
<span class="task-tier tier-safe">safe</span> <<linkreplace _safeLabel>>
<<replace "#output">>
<<switch _safe>>
<<case 1>><p>You walk the mop up and down the main hall in long even strokes.</p>
<<case 2>><p>Room by room, bin by bin. You learn a school from its garbage: energy drink cans in the AP corridor, cigarettes in the art wing.</p>
<<case 3>><p>You wipe down two hundred feet of cafeteria table before the horde arrives. The kitchen ladies work around you without a word, but one of them leaves a coffee at the end of your row. The staff below decks look after their own.</p>
<<case 4>><p>Cart, cases, every dispenser in the building. Nobody thanks the man who keeps the toilets stocked. Everybody notices the week he doesn't.</p>
<<case 5>><p>Two hours under the auditorium seats with a scraper. There are forty years of gum down there, in layers, like sediment.</p>
<</switch>>
<<statchange "energy" -2>>
<<set $school_rep += 1>>
<<if random(1, 100) <= 20>>
<p>A teacher you don't know yet actually says "thank you" on her way past.</p>
<<set $school_rep += 1>>
<</if>>
<div class="req">School reputation: $school_rep</div>
<</replace>>
<<set $school_tasks_done += 1>>
<<replace "#choice-container">><div class="choice-made"><em>"_safeLabel"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
<<if $energy >= 3>>
<span class="task-tier tier-risky">risky</span> <<linkreplace _riskyLabel>>
<<replace "#output">>
<<switch _risky>>
<<case 1>><p>The locker rooms during class hours: steam, echo, and other people's property in unlocked lockers.</p>
<<case 2>><p>The teachers' lounge. You clean it while the staff talk over your head - about students, about parents, about each other - with the perfect freedom of people who believe the man with the rag comes without a memory.</p>
<<case 3>><p>The admin corridor, floor buffer droning, right past the principal's office, the records room, the trophy wall of framed politicians shaking Pollock's hand. Enemy territory, freshly waxed.</p>
<<case 4>><p>The girls' locker room wing, ladder and ballasts, with a front-office chaperone posted in the doorway the entire time to make sure the janitor doesn't enjoy the wallpaper.</p>
<<case 5>><p>Two hundred chairs under the stage lights, name cards in an order somebody upstairs fought a small war over. You're invisible to the suits filing in, which is the point of you, and the whole reason this counts as sensitive work.</p>
<</switch>>
<<statchange "energy" -3>>
<<set $school_rep += 2>>
/* Leverage pity: every dry risky/extra order widens the next leverage band
by 15, so a bad streak can't run forever. Resets the moment dirt drops. */
<<set _lchance = 25 + $leverage_dry * 15>>
<<set _lgot = false>>
<<set _roll = random(1, 100)>>
<<if _roll <= _lchance>>
<<if $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<<set $leverage_dry = 0>>
<<set _lgot = true>>
<<switch random(1, 3)>>
<<case 1>><p>Through the lounge wall you catch Pollock's phone voice, pitched low: "...then the count is whatever I say the count is, same as last cycle. Don't call me at work."</p>
<<case 2>><p>In the shredder bag, between coffee grounds, a strip of ledger paper that didn't shred clean: two columns of numbers for the same line item, one for the auditors, one true. You fold it into your coveralls with the reverence it deserves.</p>
<<case 3>><p>Two teachers by the copier, sotto voce: "...election week she has the custodians move boxes to her car herself. Won't let anyone touch them." They notice you and switch to discussing weather. Too late, ladies.</p>
<</switch>>
<div class="req">Leverage on Pollock: $pollock_leverage/10</div>
<<else>>
<p>Nothing new today - the building has already told you most of its secrets. But it never hurts to let it repeat itself.</p>
<</if>>
<<elseif _roll <= _lchance + 15>>
<<if $master_key < 3>>
<<set $master_key += 1>>
<<switch $master_key>>
<<case 1>><p>Behind a dead radiator you find a keyring furred with dust - the last janitor's, or the one before. Half the cuts are obsolete. Two aren't. It's a start.</p>
<<case 2>><p>The locksmith's van comes to rekey a storage room and the man leaves his work case open by your bucket for eleven minutes. You have a good memory, a bar of soap, and eleven minutes.</p>
<<case 3>><p>In the metal shop after hours, a file, a blank, and patience. The key turns the test lock like it grew up in it. As of tonight, "authorized personnel" means you.</p>
<</switch>>
<div class="req">Master key progress: $master_key/3</div>
<<else>>
<p>A quiet, uneventful shift in territory that would be trouble if it knew what you carry in your pocket.</p>
<<set $school_rep += 1>>
<</if>>
<<elseif _roll <= 70>>
<p>Nothing today but the work itself. You finish, you sign the order, you push the cart back.</p>
<<else>>
<<if _sphase == 1>>
<p>Mrs. Albright finds you there - the English teacher with the pearls and the voice like a paper cut. "And what exactly are we doing HERE?" The interrogation is loud, public, and rhetorical: your work order means nothing, your explanation means nothing, the whole point is the performance, and students are gathering to watch it. "These doors are to stay LOCKED to staff of your... category. Is that going to be a problem?"</p>
<p>There is no answer that helps you. You say no ma'am. You look at the floor you just cleaned. She inspects you for one more long moment, hoping for something reportable, and click-clacks away.</p>
<<if $school_rep > 0>><<set $school_rep -= 1>><</if>>
<<set $albright_heat += 1>>
<<else>>
<p>Mrs. Albright rounds the corner, draws breath for the performance - and reconsiders. You're not the anonymous pair of coveralls you were in September, and she's not sure anymore who's watching whom. "Carry on," she manages, like it was her idea.</p>
<</if>>
<</if>>
<<if not _lgot && $pollock_leverage < 10>><<set $leverage_dry += 1>><</if>>
<div class="req">School reputation: $school_rep</div>
<</replace>>
<<set $school_tasks_done += 1>>
<<replace "#choice-container">><div class="choice-made"><em>"_riskyLabel"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
<<if $energy >= 4>>
<span class="task-tier tier-dirty">dirty</span> <<linkreplace _dirtyLabel>>
<<replace "#output">>
<<switch _dirty>>
<<case 1>><p>Somebody has done something in the second-floor boys' toilets that a functioning household would call a cry for help. You do it on your knees with a scraper, breathing through your mouth, while boys drift in and out narrating the scene to their phones. "Yo, film the janitor."</p>
<<case 2>><p>Some trust-fund stomach lost its breakfast the length of the bus bay, and the smell has had two hours to establish itself. You hose, you scrape, you disinfect, while the drop-off line of German SUVs idles past your bent back.</p>
<<case 3>><p>The kitchen grease trap. There is no dignified sentence in any language that contains the words "grease trap." You haul out fifty pounds of cold rancid sludge one bucket at a time, and when it slops onto your boots the dish crew winces in genuine sympathy, because they, at least, know exactly what this work is worth and exactly who was ever going to do it.</p>
<<case 4>><p>You find it by smell, third ceiling tile you pull. It has been up there a while. The biology teacher watches you bag it from across the room and empties half a can of air freshener at the ceiling before you're out the door.</p>
<<case 5>><p>A decade of hair comes out of that drain in one long grey rope, plus two snapped elastics and somebody's earring. The swim team crowds the doorway to watch and makes sounds a horror movie would be proud of.</p>
<</switch>>
<<statchange "energy" -4>>
<<statchange "physical" -2>>
<<set $school_rep += 3>>
<p>Word of jobs like this travels below decks. The kitchen crew, the groundskeeper, the security guard on nights - the school's invisible people are deciding you're one of them, and their doors open first.</p>
<div class="req">School reputation: $school_rep</div>
<</replace>>
<<set $school_tasks_done += 1>>
<<replace "#choice-container">><div class="choice-made"><em>"_dirtyLabel"</em></div><</replace>>
<</linkreplace>>
<</if>>
</div>
<<linkreplace "Legend">>
<div class="task-legend">
<span class="task-tier tier-safe">safe</span> Quiet work in public. Builds reputation, teaches you nothing.<br>
<span class="task-tier tier-risky">risky</span> Admin territory, staff spaces, places the help isn't supposed to linger. Reputation - and it's where dirt on Pollock and master-key pieces turn up.<br>
<span class="task-tier tier-dirty">dirty</span> The jobs nobody else will take. The most reputation, and the invisible people remember - but nobody drops secrets over a grease trap.
</div><</linkreplace>>
<div id="output"></div>
<p></p>
[[Hallway]]
<</if>><<pic "img/school/hallway_afternoon.webp" "location">>
<<if $school_time is not "afternoon">>
<p>Extra slips only get posted after lunch.</p>
[[Back to the hallway|Hallway]]
<<elseif $school_tasks_done >= 3 || $energy < 3>>
<p>You've given this building everything your back had today.</p>
[[Back to the hallway|Hallway]]
<<else>>
<p>There's always some extra work to be done - and the afternoon slips skew toward the watched kind: annexes, records rooms, doors with sign-out sheets. Which is exactly why you keep taking them.</p>
<<statchange "energy" -3>>
<<set $school_rep += 2>>
<<set $school_tasks_done += 1>>
<<set _roll = random(1, 100)>>
<<if _roll <= 15 + $leverage_dry * 15 && $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<<set $leverage_dry = 0>>
<p>Work takes you to shift boxes in the records annex, and the box that splits open on the dolly bleeds precinct tally sheets - years old, never surrendered, annotated in a neat administrative hand. You reseal it badly on purpose and remember the shelf.</p>
<div class="req">Leverage on Pollock: $pollock_leverage/10</div>
<<elseif _roll <= 30>>
<<if $pollock_leverage < 10>><<set $leverage_dry += 1>><</if>>
<p>The extra turns out to be hauling staging for the theater kids, who treat you like a stagehand instead of a stain - which is, by this school's standards, a promotion. One of them fist-bumps you. Their director pretends not to see.</p>
<<set $school_rep += 1>>
<<else>>
<<if $pollock_leverage < 10>><<set $leverage_dry += 1>><</if>>
<p>An hour of honest, invisible work. The building takes it without a word, the way it takes everything from you. For now.</p>
<</if>>
<div class="req">School reputation: $school_rep</div>
[[Back to the hallway|Hallway]]
<</if>><<if $school_time is not "afternoon" || $network_day >= $day || $school_rep < 5 || $energy < 2 || $pollock_leverage >= 8>>
<p>Not the right time for this.</p>
[[Back to the hallway|Hallway]]
<<else>>
<p>Time to make your rep work.</p>
<<set $network_day = $day>>
<<statchange "energy" -2>>
<<set $school_rep -= 5>>
<<set $pollock_leverage += 1>>
<<switch random(1, 4)>>
<<case 1>>
<p>The night guard owes some favours. You find him at the loading dock and don't even have to finish the question. "Her Majesty? Camera by the records annex died in March. Work order's been sitting on her desk since - she signs everything else same day." He taps ash off his cigarette. "Now why would a woman leave herself a blind spot, you figure?" He tells you which nights her Tesla stays late. All of them are Thursdays. Records pickup is Fridays.</p>
<<case 2>>
<p>The kitchen ladies talk to you now, and today the head cook waves you into the walk-in where conversations go to be private. The catering invoices for the board dinners, she says, come back signed for forty covers when the kitchen plated twenty. "Been that way three years. I keep my copies." She looks at you a long moment over a rack of tomorrow's lunch. "You didn't hear it from me. But if somebody was ever going to, I figured it'd be the man who did the grease trap twice without being made to."</p>
<<case 3>>
<p>The groundskeeper is a man of few words and you've hauled brush for him without being asked, which in his ledger makes you close to family. He walks you to the corner of the east lot, taps a spot of ground with his boot. "Dumpster used to sit here. Election week, two years back, she had me move it by the incinerator and burn a load personal. Boxes. Paper." He shrugs.</p>
<<case 4>>
<p>The front-desk day man runs the sign-in book, and the sign-in book is the one document in this school nobody upstairs thinks about. He slides it across while he "takes his break," open to election week two years back: three after-hours entries, Pollock plus a visitor logged only as "district," no badge number. District people carry badge numbers the way priests carry collars."</p>
<</switch>>
<div class="req">Leverage on Pollock: $pollock_leverage/10. The favor's spent - school reputation: $school_rep.</div>
<<if $pollock_leverage >= 8>>
<p>The invisible people have given you everything they hold. What's left on Shannon Pollock can't be bought over a thermos - it has to be taken from her office, or read off her husband's knees.</p>
<</if>>
[[Back to the hallway|Hallway]]
<</if>><<pic "img/school/cafeteria.webp" "location">>
<p>The cafeteria seats the whole social order in miniature: the athletes' table, the politicians' kids holding court, the girls who rank each other by handbag. A knot of black boys sits at the far corner table, backs to the wall, watching everything and invited to nothing.</p>
<p>You eat standing up in the service alcove, where the kitchen crew eats. Best intelligence post in the building - every table's theater plays out in front of you, and nobody performs for the man they can't see.</p>
/* DETENTION CONTENT - SHIPS NEXT UPDATE
<<if $incel_stage == 0 && not $incel_club>>
[[Study the corner table|Incel Table]]<br>
<</if>>
*/
<<if $eat_today == 0>>
<<linkreplace "Buy a real tray instead of scraps ($3)">>
<<if $money >= 3>>
<<statchange "energy" 2>>
<<statchange "money" -3>>
<<set $eat_today to 1>>
<p>You skip the service alcove scraps and buy an actual tray off the lunch line - hot, plated, gone in five minutes standing up. It's not much, but it's the first meal all day that wasn't an afterthought.</p>
<<else>>
<p>You don't have three dollars to spare on lunch. The alcove scraps will do.</p>
<</if>>
<</linkreplace>><br>
<</if>>
<<link "Finish up and get back to work">><<set $school_time = "afternoon">><<goto "Hallway">><</link>><<pic "img/school/closet.webp" "location">>
<div class="text">Your closet. Mop smell, one flickering tube light, and the only door in the building that locks with you on the right side of it. The shelf behind the paint cans holds your real life: burner phone, notes, and everything the building has told you so far.</div>
<<schoolphase>>
<div class="closet-board">
<div class="board-title">The board behind the paint cans</div>
<div class="board-entry">
<div class="board-row"><span class="board-label">Standing</span><span class="board-value"><<if _sphase == 1>>the help<<elseif _sphase == 2>>the fixture<<else>>the owner<</if>></span></div>
<div class="board-desc">
<<if _sphase == 1>>
You are a pair of coveralls with a mop attached. Anybody with a lanyard can talk to you any way they like, and there is nothing at the end of it but the floor.
<<elseif _sphase == 2>>
They know the name on the pocket now. Nobody double-checks their purse, a few even nod, and you can answer back once a week without it costing you.
<<else>>
The hallway makes room without being asked, and most of what happens in this building now happens because you let it.
<</if>>
</div>
</div>
<div class="board-entry">
<div class="board-row"><span class="board-label">School reputation</span><span class="board-value">$school_rep</span></div>
<div class="board-desc">
<<if $school_rep < 5>>
Nobody below decks owes you anything yet. Work orders build it - the dirtier the job, the faster the word travels.
<<elseif $school_rep < 10>>
The kitchen crew leaves you coffee and the night guard nods. Down here, that's a currency<<if $pollock_stage >= 1>> - and the invisible people will trade what they've seen of Her Majesty for favors owed<</if>>.
<<elseif $school_rep < 15>>
The below-decks people have decided you're one of them, which means the building talks to you now, in leaks and nods and unlocked doors.
<<else>>
From the dish pit to the night rounds, your name is good everywhere the lanyards never look. The other school - the real one - answers to you.
<</if>>
</div>
</div>
<div class="board-entry">
<div class="board-row"><span class="board-label">Leverage on Pollock</span><span class="board-value">$pollock_leverage / 10</span></div>
<<set _lw = $pollock_leverage * 10>>
<div class="board-meter"><div class="board-meter-fill" @style="'width:' + _lw + '%'"></div></div>
<div class="board-desc">
<<if $pollock_leverage == 0>>
Nothing yet. She's ended four careers without ever raising her voice and your file on her is still an empty envelope.
<<elseif $pollock_leverage <= 2>>
Scraps: a phone call heard through the lounge wall, a shredder that didn't finish its job. Tells you where to dig and nothing else.
<<elseif $pollock_leverage <= 5>>
It's adding up. Numbers that don't match, boxes she won't let anyone else carry to her car. Walk in with half a case and she'll talk her way out of it before you finish the sentence.
<<elseif $pollock_leverage <= 8>>
Heavy enough now. Three pages of this in the right mailbox costs her the job, and she still has no idea the janitor is the one holding them.
<<else>>
Complete. A manila folder and a stamp would finish Shannon Pollock, which was never what Jamal sent you here for.
<</if>>
</div>
</div>
<div class="board-entry">
<div class="board-row"><span class="board-label">Master key</span><span class="board-value">$master_key / 3</span></div>
<<set _kw = Math.round($master_key / 3 * 100)>>
<div class="board-meter"><div class="board-meter-fill" @style="'width:' + _kw + '%'"></div></div>
<div class="board-desc">
<<if $master_key == 0>>
Every door in this school is still somebody else's. Risky work orders are where the pieces turn up.
<<elseif $master_key == 1>>
A dead janitor's keyring, mostly obsolete cuts. Two of them still bite.
<<elseif $master_key == 2>>
Soap impressions from the locksmith's case, waiting on a blank and a quiet night in the metal shop.
<<else>>
Cut, filed, tested. Authorized personnel means you now - including the office at the front of the building.
<</if>>
</div>
</div>
</div>
<<if not $closet_bed && $school_rep >= 10>>
<p>You've earned enough slack around here that nobody clocks how long you spend in this room. Which raises a thought about the junk pile in the back.</p>
<<linkreplace "Fix the old couch">>
<p>You don't know why the previous janitor left this here, but it's in decent shape. You push the junk aside and test the frame. It holds. A man could live out of this room if he was careful.</p>
<<set $closet_bed = true>>
<div class="req">You can now spend the night in the closet instead of riding home.</div>
<</linkreplace>><br>
<</if>>
<<if $closet_bed && $school_time is "evening">>
<<rentinfo>>
[[Bed down for the night|Closet Sleep]]<br>
<</if>>
[[Back to the hallway|Hallway]]<<if $physical < 0>>
<<goto "Game over">>
<<else>>
<<schoolphase>>
<p>You wait out the last of the after-hours noise - the night guard's first round, the boiler's argument with itself - then kill the tube light and stretch out on the cot. The building settles over you, tons of marble and money, none of it aware it's sheltering the enemy.</p><br>
<<if random(1, 100) <= 95>>
<p>You sleep the shallow, serviceable sleep of a man behind enemy lines - not rest so much as maintenance.</p><br>
<<set $energy = 8>>
<<else>>
<p>The dream finds you even here: sand, smoke, the young terrified face, the explosion that never finishes. You wake with your fist around the cot frame and the tube light's ghost buzzing in your ears.</p>
<div class="req">Your energy for the day is halved.</div><br>
<<set $energy = 4>>
<</if>>
<<if random(1, 100) <= 15>>
<<if _sphase == 1>>
<p>You misjudge the guard's round. His flashlight catches you lacing your boots at 5 AM, and the morning becomes a small ugly theater in the front office: the secretary, the write-up, the phrase "these people will move in if you let them" spoken about you while you stand there. You mop the lobby afterward while the early staff file past the janitor who apparently lives in a closet, like a raccoon.</p>
<<if $school_rep > 1>><<set $school_rep -= 2>><</if>>
<div class="req">School reputation: $school_rep</div><br>
<<else>>
<p>The night guard's flashlight finds you at 5 AM. He looks at the cot, at you, and shrugs. "Beats my commute," he says, and moves on. The building's invisible people keep each other's secrets.</p><br>
<</if>>
<</if>>
<<newday>>
<<schoolpay>>
<<if _rent_due>>
<p>Rent week. Even sleeping in a school closet, the room above the corner store stays yours only as long as the hood keeps it off the lists - and the envelope under that door doesn't care where you spent the night.</p><br>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<if $money >= 20>>
<<linkreplace "Set aside a twenty for the envelope ($20)">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You count a twenty out of your roll and button it into your inside pocket, where it stops being money and becomes rent. It goes under the door next time you're back, and the hood's books stay clean.</p><br>
<<statchange "money" -20>>
<br>
[[Start the day early|Hallway]]<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>><br>
<</if>>
<<linkreplace "Skip it this week">>
<<set _choiceMade = true>>
<<replace "#output">>
<<if $money >= 20>>
<p>You have the twenty and you keep it. Nobody will knock about it. But the hood keeps its own books, and this week yours show a man with money in his pocket and an empty envelope under his door, sleeping warm on somebody else's marble. Word gets back to the block before you do.</p><br>
<<statchange "respect" -20>>
<<else>>
<p>You don't have the twenty for the envelope. Nobody will knock about it - the hood just keeps its own books, and this week yours show a man who takes shelter and doesn't put in.</p><br>
<<statchange "respect" -10>>
<</if>>
<br>
[[Start the day early|Hallway]]<</replace>>
<<replace "#choice-container">><</replace>>
<</linkreplace>>
<</if>>
</div>
<div id="output"></div>
<<else>>
<br>
[[Start the day early|Hallway]]
<</if>>
<</if>><p>You punch out and take the service door into the late light. Across the lot the students pour toward their rides, loud and untouchable, and you walk the other way, one more invisible man in grey. Twenty minutes on the bus between their world and yours, and neither one admits the other exists.</p>
[[Take the bus home|The Hood]]<<pic "img/school/principal_office.webp" "location">>
<p>The principal's office is dark wood and framed handshakes: Pollock with the governor, Pollock with two senators, Pollock holding a novelty check the size of a door. Behind the desk, the woman herself doesn't look up from her monitor for a long thirty seconds.</p>
<<speech "Pollock" "The east corridor was mopped this morning. I walked it at ten. It did not meet the standard of this institution." "pollock">>
<p>You mopped that corridor twice. It could host surgery. You open your mouth and she raises one finger without looking at you, and something in the gesture - the total, bone-deep certainty that you will stop talking - closes your throat better than a hand could.</p>
<<speech "Pollock" "I don't require an explanation. I require it done again." "pollock">>
<p>She looks at you for the first time - a slow inventory from boots to face that files you somewhere between the floor buffer and the boiler.</p>
<<pic "img/school/syren/intro.jpg" "story">>
<<speech "Pollock" "And I require you to understand that you are here because someone in the district office believes in second chances. I don't. You are a line item, Mr. $player_surame. Line items that underperform get removed. Mop it again." "pollock">>
<p>She's already back in her monitor. On the sideboard behind her, a cabinet with a keyed lock and a fresh ring-stain on the wood above it - a wet glass, set down recently, in an office that officially contains no glasses.</p>
<p>You mop the corridor again. It takes forty minutes. Three students walk through the wet end on purpose.</p>
<<statchange "energy" -2>>
<<set $pollock_stage = 1>>
[[Back to work|Hallway]]<<if $pollock_stage == 1 && $pollock_leverage >= 3>>
<p>You knock. You go in. You've rehearsed this on your cot: the ledger strip, the overheard calls, laid out just enough to make her see you differently. It works on street bosses and warehouse foremen. You slide the photocopy across the desk and watch her face.</p>
<p>She reads it. And Shannon Pollock starts to laugh - a genuine laugh, warm, almost delighted, the first human sound you've ever heard her make.</p>
<<pic "img/school/syren/failed_confrontation.jpg" "story">>
<<speech "Pollock" "Oh, that's marvelous. The janitor is an investigator. Do you know what this is?" "pollock">>
<p>She holds up your evidence.</p>
<<speech "Pollock" "This is a piece of paper. Do you know what I am? I am an appointee of the party that counts the votes. You could hand this to a judge - you'd have to find one I haven't had dinner with - and the only thing anyone would investigate is how a man with your... paperwork got inside my school." "pollock">>
<p>She feeds the photocopy into the shredder beside her desk without breaking eye contact. It takes four seconds. They are long ones.</p>
<<speech "Pollock" "You're fortunate that firing you would mean explaining you. Instead: your hours are cut this week, your closet privileges are under review, and you will remember this feeling. Get out.">>
<p>Out in the corridor, hands shaking - rage, not fear, though from outside it looks the same - you take the inventory. Wrong: half-measures. Paper she can shred, in a system she owns. Right: the flinch. One quarter-second flinch before the laugh. There's a floor under her somewhere, something she can't shred, and you're the man who cleans under things.</p>
<p>Next time you don't knock until you're holding all of it.</p>
<<set $pollock_stage = 2>>
<<if $school_rep > 2>><<set $school_rep -= 3>><</if>>
<div class="req">Half-measures. You'll need everything on her (leverage 10/10) and keys to everything (master key 3/3) before you try that door again.</div>
[[Back to work|Hallway]]
<<else>>
<p>Her door is shut. Not yet - and not with what you're holding.</p>
[[Back|Hallway]]
<</if>><<pic "img/school/principal_office_night.webp" "location">>
<p>The master key turns and her office opens for you like it's been waiting. Flashlight low, blinds drawn, gloves on. You go to the thing you've been circling for weeks: the locked cabinet with the ring-stain above it.</p>
<p>The small key from the dead janitor's ring fits. Of course it does - the cabinet came with the office, and men like you have always had the keys to everything the owners forgot.</p>
<p>Inside: bottles. Rows of them, expensive and half-dead, a private cellar folded into a filing cabinet - and behind the gin, the real prize. A bound ledger, handwritten, the twin of the shredded strip you found in her trash: two sets of precinct numbers per line, real and reported, going back three election cycles. She kept it. They always keep it. The guilt needs a place to live, and hers lives behind the bottles she drinks it quiet with.</p>
<p>There's a second cache on the lower shelf, and it's almost stranger than the first: a private pharmacy of serums and retinols, the thousand-dollar kind, and a printed consult sheet from a cosmetic clinic two towns over - booked under her maiden name. Tucked inside the ledger's back cover, church donation receipts in round, guilty numbers. Two fears in one cabinet: what she did, and what the mirror is doing to her. Either one is a handle, if a man knew how to pull it.</p>
<p>You photograph every page on the burner, wipe the glass, relock the cabinet, and put the dust back where dust goes. Shannon Pollock will sit at that desk tomorrow, sip her secret, and have absolutely no idea that the room now belongs to the janitor.</p>
<<set $pollock_leverage = Math.min(10, $pollock_leverage + 3)>>
<<statchange "energy" -2>>
<div class="req">Leverage on Pollock: $pollock_leverage/10</div>
[[Slip back out|Hallway]]<<pic "img/school/syren/reckoning.jpg" "story">>
<p>This time you don't knock.</p>
<div class="req">(The reckoning - and everything that follows it - arrives in the next update. You have her ledger, her bottles, her school - and you know about the mirror. There will be two ways to break a principal: press the guilt until she falls crying into your hands, or press the fear of getting old until she decides to prove she isn't - to boys half her age. Sharpen the mop.)</div>
[[Not yet|Hallway]]<!-- IMAGE: school hallway by the trophy case - Albright mid-tirade, students filming -->
<p>Albright has you cornered by the trophy case, in full voice, over a smudge. Not a real smudge - a pretext. "I want to understand," she's telling the gathering audience, pearls trembling, "what it is you people find so difficult about GLASS - " and the phones are out, and you are doing the only thing the help can do, which is study the floor and wait for the weather to pass.</p>
<p>"Meredith." A new voice. Low, pleasant, and carrying like a slap.</p>
<p>The counselor comes through the crowd of students like they're a beaded curtain - blonde, mid-thirties, a pencil skirt fighting a body that belongs on different posters than the anti-bullying ones she staples up. Every boy in this school knows her name. You've heard it in the hallway said like a prayer: Ms. Britney Amber.</p>
<<pic "img/school/britney/intro.jpg" "story">>
<<speech "Britney" "Fun fact - I was just putting together next month's staff workshop on public shaming as a management style. This is great material. Keep going, I'll take notes." "britney">>
<p>Albright's mouth opens, closes, and reformats. "The trophy case - " "Sparkles," says Ms. Amber, not looking at it. The crowd is laughing now, and not at you, and Albright click-clacks away to file this somewhere for later.</p>
<p>The counselor turns to you, and here's the thing you notice, because noticing is your job: the sympathy on her face is real, but it isn't the whole story. Her eyes do a lap. Not the inventory Pollock did, boots to face, pricing an appliance. A different inventory entirely.</p>
<<speech "Britney" "You're the one they've all been sharpening their claws on. My office is behind the library, and my door's open - staff counts as people, whatever this place tells you. Come by after classes." "britney">>
<p>She walks away down the hall and does not look back, in the manner of a woman who knows precisely what the back of that skirt is doing and considers it a public service.</p>
<<set $amber_stage = 1>>
<<set $amber_next_day = $day>>
<<set $albright_heat += 1>>
[[Back to work|Hallway]]<<pic "img/school/councellor.webp" "location">>
<<if $day < $amber_next_day>>
<p>Her door is closed - a student session, by the murmur. The sign says BACK TO BEING AMAZING IN 30 MIN. Come back tomorrow.</p>
[[Back to the hallway|Hallway]]
<<else>>
<<switch $amber_stage>>
<<case 1>>
<p>Her office is the one room in the school that doesn't hate you on sight: soft chairs, plants that are alive, posters about believing in yourself. She closes the door behind you, and the click of the latch changes the room's chemistry entirely.</p>
<<speech "Britney" "Sit. Not the chair - the couch, the chair's for students. So. This place treats you rough. Tell me honestly: how angry are you, on a scale of one to arson?" "britney">>
<p>You give her the safe answer, the janitor's answer. She listens with her chin on her hand, and then she gets up, sits down next to you on the couch - close, thigh against yours, nothing accidental in a room where she arranges the furniture - and says:</p>
<<speech "Britney" "Bullshit. I watch you in that hallway holding it in and I want to open you up like a shaken bottle. That's a professional observation. Mostly." "britney">>
<p>Her hand lands on your knee for emphasis and forgets to leave. The talk keeps going - she's good, she gets more out of you in twenty minutes than Jamal gets in a month - but the hand migrates, slow and unhurried, up your thigh, and when you go hard under her palm she looks down at it, then up at you, with the delight of a scientist whose experiment has worked.</p>
<<pic "img/school/britney/first_meeting_1.jpg" "story">>
<<speech "Britney" "There he is." "britney">>
<p>She gives you one long, deliberate squeeze through the coveralls, thumb tracing the shape of you, and then - the cruelest thing anyone's done to you in this building - she pats it twice and stands up.</p>
<<speech "Britney" "Just so we’re clear, yes, I am well aware that this may be considered workplace harassment." "britney">>
<<speech "Britney" "Only here's the joke. Every harassment complaint in this building lands on my desk. I'm the intake. I'm the investigation. I'm the caring phone call after, to make sure you feel safe. You could report me to me, honey, and I'd walk us both through it." "britney">>
<p>You weigh in your position for a moment. Whether you pursue this affair with Ms. Britney Amber or not, your mission depends on building trust and leverage with staff and students. If a counsellor wants to use you as a tough black man to play out her dirty fantasies - you gotta play along. You can’t afford to say no, just as many others who were hit on by their superiors.</p>
<<speech "Britney" "That's the session. Doctor's orders: come back tomorrow. We'll work on your... release schedule." "britney">>
<p>She holds the door for you. On your way out she murmurs, pitched for you alone: "And Mr. $player_surame - wear the coveralls. I've developed opinions about them."</p>
<<pic "img/school/britney/first_meeting_2.jpg" "story">>
<<set $amber_stage = 2>>
<<set $amber_next_day = $day + 1>>
[[Back to work|Hallway]]
<<case 2>>
<p>The sign is already turned to SESSION IN PROGRESS when you knock. She locks the door behind you, pulls the blind on the little window, and stands there a moment with her back to you, palms flat on the door, like a woman counting to ten and giving up at four.</p>
<<speech "Britney" "I've been thinking about this since yesterday. Through two parent conferences and a suicide-prevention webinar. Sit down on my couch and don't say anything sensible." "britney">>
<p>You sit. She doesn't kneel - not yet. She climbs into your lap instead, knees either side of your thighs, takes your jaw in one hand and kisses you like she's been rationed. It goes on. Her hands map you through the coveralls - chest, shoulders, the arms this job keeps hard - and she makes small approving sounds into your mouth like a woman reading a menu she already knows by heart.</p>
<<video "img/school/britney/second_meeting_1.mp4">>
<<speech "Britney" "Mm. Note for the file: patient presents as extremely kissable. Prognosis: I'm doomed." "britney">>
<p>Then she slides down off your lap onto the carpet, drags the zipper south, and works the coveralls open with the efficiency of long practice. When your cock springs out - heavy, hard since the door locked - it catches her across the cheek, and she goes still. Actually still, which for Britney Amber is an event.</p>
<<video "img/school/britney/second_meeting_2.mp4">>
<<speech "Britney" "God. There it is. You know what I do all day? I teach abstinence modules. I hand out pamphlets about respecting yourself. And the whole time THIS was mopping my hallway." "britney">>
<p>She wraps both hands around it, stacks them, and there's still cock left over. She looks up at you with something between grievance and religion.</p>
<<speech "Britney" "I'm a fraud, Mr. $player_surame. I'm the biggest slut in this zip code, and I have been DYING in this office." "britney">>
<div class="text">Her mouth is hovering an inch away, waiting on you. She'd hate to be rushed. She'd love to be rushed.</div>
<<set _choiceMade = false>>
<div id="choice-container">
<<if not _choiceMade>>
<<linkreplace "Lean back and let her worship">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>You lean back into the counseling couch and let her set the pace, and the pace she picks is devotional. She noses under your shaft and takes her time with your balls - long slow drags of her tongue, one drawn into her mouth and rolled there while her fist works you overhead, her humming pitched low like she's found the one quiet hobby in her life. She talks between passes, because of course she does - about the weight of them, about how long a shift you must be saving up, about how this couch has heard confessions but nothing this honest.</p>
<<video "img/school/britney/second_meeting_3.mp4">>
<<speech "Britney" "Every boy in this school would sell his mother for my mouth. And I'm down here on my knees licking the janitor's balls like it's my birthday." "britney">>
<p>She keeps at it until your breathing gives you away, then climbs your cock with her tongue and finishes you with two hands and her face upturned, eyes open, greedy for it. You paint her - cheek, lips, one stripe up into her lashes - and she takes it like applause, jerking the last of it onto her tongue.</p>
<<video "img/school/britney/second_meeting_5.mp4">>
<p>She sits back on her heels, face glazed, and dabs at her lashes with a tissue from the box she keeps for crying students - not to clean it, just so she can blink.</p>
<<speech "Britney" "Best session I've had in years. Same time tomorrow - and that's me respecting MY needs, so you're not allowed to skip. It's in the pamphlet." "britney">>
<<statchange "energy" -2>>
<<set $amber_stage = 3>>
<<set $amber_next_day = $day + 1>>
[[Back to work|Hallway]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Lean back and let her worship"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Test her - biggest slut in the zip code is a big claim">>
<<set _choiceMade = true>>
<<replace "#output">>
<p>"Prove it, then." You gather her blonde hair into one fist, the professional bun coming apart in your hand, and feed her your cock until she runs out of room - then past it. She gags, loud and wet, mascara jumping its lanes on the first stroke, and when you ease back to let her quit she does the opposite: grabs your wrist and pulls it tighter into her hair.</p>
<<video "img/school/britney/second_meeting_4.mp4">>
<p>So you use her. Deep, unhurried strokes into her throat, her nose meeting your body, spit sheeting off her chin and stringing down onto the carpet she'll have to explain to no one because you're the one who cleans it. Every time you pull out she comes up gasping, and what she gasps is filth - more, harder, is that all the district's paying for - until her counselor voice is gone entirely and what's left is hoarse and happy.</p>
<<speech "Britney" "THAT'S - <i>hkk</i> - that's the treatment plan. Wreck it. I'll do the webinar in a whisper and think of you the WHOLE time." "britney">>
<p>When you finish you pull out and she tips her ruined face up, mouth open, tongue out, and you unload across it - lips, cheeks, the wreckage of her mascara - a mess even she has to close one eye for.</p>
<<video "img/school/britney/second_meeting_5.mp4">>
<p>She stays kneeling a moment, dripping, catching her breath. Then she reaches for the tissue box she keeps for crying students and starts repairs, grinning the whole time like she's won something.</p>
<<speech "Britney" "For the record, my throat has a MASTERS degree. Same time tomorrow - and that's me respecting MY needs, so you're not allowed to skip. It's in the pamphlet." "britney">>
<<statchange "energy" -2>>
<<set $amber_stage = 3>>
<<set $amber_next_day = $day + 1>>
[[Back to work|Hallway]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Test her - biggest slut in the zip code is a big claim"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<<case 3>>
<p>This time she doesn't bother with the script. The lock, the blind, and she's already sinking toward her knees with a hand on your zipper when you catch her wrists and pull her back up. She blinks at you, genuinely thrown - nobody interrupts Britney Amber mid-plan.</p>
<<speech "Britney" "Excuse me. I had an agenda. There were bullet points." "britney">>
<p>"New agenda." You take her backward to the familiar couch, pull her down, and drag the pencil skirt up her thighs. Underneath: bright green panties, the exact green of the RESPECT YOURSELF pamphlets on her wall, which she absolutely knows. You peel them down her legs, hook them off one ankle, and put your mouth on her before she's finished laughing about it.</p>
<<video "img/school/britney/vaginal-1.mp4">>
<p>She talks, of course. For about a minute. Then your tongue finds the rhythm that shortens her sentences, and the counselor voice comes apart word by word - oh, oh you, oh FUCK - and her thighs clamp around your ears and she comes with her heel drumming the small of your back, loud enough for the library to reclassify some books.</p>
<<speech "Britney" "Okay. Okay okay okay. Your agenda. We're using your agenda. Couch. Lie DOWN." "britney">>
<p>She pushes you flat and mounts you before you've settled, sinking down with a long shivering exhale, and rides you slow-then-not - hands braced on your chest, hair down out of the bun and everywhere. You drive up to meet her and crack a palm across her ass, and the sound she makes isn't in any pamphlet. So you do it again. She grinds down hard, chasing something, then surprises you: climbs off your cock, crawls up your body, and plants herself on your face without a word of apology.</p>
<<video "img/school/britney/vaginal-2.mp4">>
<p>She rides your tongue holding the armrest like a steering wheel, and the second orgasm hits her faster than the first - she folds forward over the couch arm, shaking, swearing at the ceiling in her wellness-workshop voice.</p>
<p>By the time you lay her out on her back she's somewhere past language. Legs spread, chest blotchy, mascara gone soft, two orgasms deep and drunk on them - the biggest mouth in the district reduced to please and yes and a string of vowels. You slap her and she asks for more.</p>
<<speech "Britney" "Fuck me. Please. I've been good, I've been SO - please, fuck me, I'll write it up as a breakthrough - " "britney">>
<<video "img/school/britney/vaginal-3.mp4">>
<p>So you give it to her - long deep strokes while she claws your forearms, wraps her ankles behind you, begs prettier every minute. When you feel it building you pull out, and her hand dives down to her clit without instruction, rubbing fast, eyes locked on your cock, and you finish together - her arching up off the cushions while you lay thick ropes of cum across her tits, one reaching her collarbone. She milks the last of it into her mouth and licks you clean like she's grading it.</p>
<<video "img/school/britney/vaginal-4.mp4">>
<p>Afterward she sprawls across the couch, cum drying on her chest, skirt still bunched at her waist, glowing, and watches you dress with an expression you haven't seen aimed at you inside these walls: appraisal, of the good kind.</p>
<<speech "Britney" "For the record, that was malpractice. I'm the one who's supposed to facilitate breakthroughs. I saw GOD, Mr. $player_surame. Twice. Three times." "britney">>
<p>You take some time to recollect and cuddle.</p>
<<speech "Britney" "I've been thinking. Professionally. Detention supervision is unstaffed since Albright declared it beneath her - it's fifth period, it's paid, and it's the worst boys in the school in one room. Pollock will never give it to the janitor. But she'll give it to ME to solve, because I'm the one who writes the district wellness reports she gets ranked on." "britney">>
<p>She stretches, deliberate, unhurried.</p>
<<speech "Britney" "Give me a couple of days. I'm going to get my favorite maintenance issue a promotion." "britney">>
<<statchange "energy" -3>>
<<set $amber_stage = 4>>
<<set $amber_next_day = $day + 2>>
[[Back to work|Hallway]]
<<case 4>>
<p>There's a form on her desk when you come in, district letterhead, already signed at the bottom in Pollock's tight, furious hand: TEMPORARY REASSIGNMENT OF DUTIES - DETENTION SUPERVISION, FIFTH PERIOD. Where your name goes, someone has typed <<set _surname to $player_surame.toUpperCase()>><<set _initial to $player_name.charAt(0).toUpperCase()>>_surname, _initial. (FACILITIES) like each letter cost Pollock a tooth.</p>
<<speech "Britney" "You should have seen the meeting. I quoted her own mission statement at her - 'every member of our community a stakeholder in discipline' - and I may have implied the district equity office had asked about staffing diversity in student-facing roles. She signed it just to make me stop talking." "britney">>
<p>She hops up to sit on the desk beside the form, ankles crossed, immensely pleased with herself.</p>
<<speech "Britney" "Fifth period, room 019, in the basement by the boiler - they give detention the rooms nobody wants, you'll feel right at home. Fair warning: it's the Simmons boy and his little woe-is-me crew, the ones who live on those incel forums. Nobody's reached them all year." "britney">>
<p>A grin.</p>
<<speech "Britney" "But you're good at reaching people. Ask my couch." "britney">>
<<set $detention_job = true>>
<<set $school_job = 2>>
<<set $amber_stage = 5>>
<<set $amber_next_day = $day + 1>>
<div class="req">New position unlocked: detention supervisor, fifth period. (Running the room - and the boys in it - arrives in the next update.)</div>
[[Back to work|Hallway]]
<<case 5>>
<p>The blind is down before you knock, which means she's been watching the hallway for you. She locks the door, backs you toward the couch with one finger on your chest, and doesn't sit. Britney Amber not sitting is Britney Amber up to something.</p>
<<speech "Britney" "So. Last session was - and I'm choosing my words with my whole degree here - the best fuck of my life. Which leaves me with a professional dilemma: how does a woman say thank you for that?" "britney">>
<p>She turns around, hooks her thumbs into the pencil skirt, and peels it up over her hips. Nothing underneath. She sits on the couch, raises her legs and spreads herself so you can see exactly what she means.</p>
<<pic "img/school/britney/anal_pose_1.jpg" "story">>
<<speech "Britney" "Like this. I've been getting my ass ready all day - showered, stretched, half a bottle of lube in my desk next to the crisis pamphlets. My butt has been asking about your black monster since the first time it hit me in the face, and today you're invited." "britney">>
<p>Amber won't let you just take it. She pushes you down flat on the couch and gets herself on top - reverse cowgirl meaning she controls the pace and the depth. She notches your throbbing cockhead against her shithole and starts easing down...</p>
<<video "img/school/britney/anal_1.mp4">>
<p>It's slow going. She works you in an inch and stops, breathing through her teeth, thighs shaking with the effort of holding her own weight off you - takes another inch, swears at the ceiling, comes halfway back up. You realize she underestimated the size of your cock and the tightness of her, no doubt, experienced anus; one might say it's a stretch.</p>
<<speech "Britney" "Okay. Okay. It's - God - it's a LOT. Sorry, I..." "britney">>
<p>Nevertheless, Britney grinds through it by stubbornness alone, riding shallow, forehead damp, and somewhere in there the swearing changes key - less ow, more oh.</p>
<p>That's when you take over. You slide out of her, lay her out on her back on the couch, and fold her open. She grabs behind her own knees and spreads for you before you ask, and this time when you push into her ass, she finally enjoys the buttfucking.</p>
<<video "img/school/britney/anal_2.mp4">>
<p>Missionary, deep, her heels bouncing on your shoulders. She's got both hands full of her own tits, squeezing them like she's mad at them, babbling again but the sentences don't have verbs anymore - just yes and there and a filthy sermon about how full she is.</p>
<<speech "Britney" "You're tearing me a new one! And I fucking love it!" "britney">>
<p>After a while, you pull out and flip her over, and she scrambles into position like it was her idea - kneeled, chest down, back arched to a seductive angle. She reaches back and pulls one cheek open for you.</p>
<<video "img/school/britney/anal_3.mp4">>
<p>Doggy is where she takes back control. She sets her own rhythm, slamming herself back onto you, her ass rippling every time it claps against your hips. You barely have to move. Amber fucks herself on you and comes with her face down in the cushion, screaming into upholstery that has heard everything now.</p>
<<speech "Britney" "Before you're done... I want it in my mouth. Straight from my ass. Don't make it weird, just - I want to clean your dirty cock like a good girl. Full service. Say yes." "britney">>
<<set _atmChoiceMade = false>>
<div id="choice-container">
<<if not _atmChoiceMade>>
<<linkreplace "Give her ass-to-mouth like she's begging for">>
<<set _atmChoiceMade = true>>
<<replace "#output">>
<p>You pull out of her ass and she's off the couch and on her knees so fast she skins one on the carpet - doesn't notice, doesn't care. She takes your cock in both hands, straight from her gaping ass, and drags her tongue up the whole length of the shaft, root to tip, slow, eyes closed like she's tasting a vintage. Then again. Then the other side.</p>
<<video "img/school/britney/anal_atm.mp4">>
<<speech "Britney" "Mmm. It's actually nice, sweet even. Not that I was doubting my cleansing skills." "britney">>
<p>She worships you clean and then takes you deep, no hands, humming, and that finishes it - you unload down her throat while she swallows around you, milking every pulse with her fist, and she doesn't come off until you're soft enough to make her pout about it.</p>
<p>She sits back on her heels, licks a stray drop off her knuckle, and grins up at you like a woman who just got away with something in her own office.</p>
<<speech "Britney" "That may be the dirtiest thing I have ever done... And I'm enjoying it more than I'm ready to admit." "britney">>
<<statchange "energy" -3>>
<<set $amber_stage = 6>>
<<set $amber_atm += 1>>
<<set $amber_next_day = $day + 1>>
<<if $gunn_trust >= 4>><div class="req">A woman like this shouldn't run on one man's schedule. Something to raise with Tommy over a Friday beer, maybe - gym wing.</div><</if>>
[[Back to work|Hallway]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Give her ass-to-mouth like she's begging for"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "That's where you draw the line">>
<<set _atmChoiceMade = true>>
<<replace "#output">>
<<speech "You" "Too much!">>
<p> You keep fucking her while you say it, which undercuts the authority some, but the line is the line. She barks a laugh into the cushion, delighted rather than wounded, and shakes her ass at you like a rebuttal.</p>
<<speech "Britney" "A PRUDE. Busted! A janitor with a monster cock, balls deep in a school counselor's ass, and THAT'S where the gentleman lives. I'm putting it in your chart." "britney">>
<p>When you're at the edge you pull out, and she hands you - of course - a wet wipe from the desk drawer, next to the crisis pamphlets, because she planned for both answers. You clean yourself off while she settles onto her knees in front of the couch, face tipped up, mouth open, hands folded in her lap like the world's worst choir girl.</p>
<p> You paint her face in thick ropes: across her lips, up her cheek, one landing heavy over her eyebrow, and she takes each rope with a happy little flinch, like she's being knighted.</p>
<<video "img/school/britney/anal_facial.webm">>
<<speech "Britney" "There he is. All over my face in my own office, and he wouldn't let me lick it. You're a complicated man, Mr. $player_surame." "britney">>
<p>She dabs at her lashes with the crying-student tissues, humming, entirely pleased with her afternoon.</p>
<<statchange "energy" -3>>
<<set $amber_stage = 6>>
<<set $amber_next_day = $day + 1>>
<<if $gunn_trust >= 4>><div class="req">A woman like this shouldn't run on one man's schedule. Something to raise with Tommy over a Friday beer, maybe - gym wing.</div><</if>>
[[Back to work|Hallway]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"That's where you draw the line"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
</div>
<div id="output"></div>
<<case 6>>
<p>The sessions continue - her word for it, delivered deadpan, "your treatment plan is long-term" - and the couch has developed a permanent lean. Lately she talks after, head on your chest, about her colleagues: who's cheating, who's medicated, what Albright's marriage sounds like through a shared office wall. She hoards this building's secrets the way Pollock hoards wine, and she's starting to share the cellar. Today's vintage: Pollock's assistant swears the principal's birthday cake has said 39 for five straight years, and that last year she made the bakery man scrape off the frosting and redo it when he got cute about it.</p>
<<if $amber_shared == 1>>
<p>You bring up Tommy's proposal the way you'd defuse something, and get about four words in before her whole face lights up like the district approved her budget.</p>
<<speech "Britney" "Wait. WAIT. Tommy Gunn told you to ask me? Thomas 'Reno was a long time ago, Britney' Gunn? Oh, this school is FINALLY paying me back." "britney">>
<p>She's up off the couch, pacing, delighted, already planning it out loud - and on one point she's immovable: her office, after hours, home turf. "The gym ECHOES, and Tommy has never once in his life located a woman's clitoris under fluorescent lighting." Somewhere in the middle of the logistics she stops, comes back, and takes your face in both hands, suddenly almost serious.</p>
<<speech "Britney" "For the record, because my degree makes me say it: nobody is sharing me. I've wanted the two of you in a room since the day you dug through that dumpster for him. This is me, treating myself. Doctor's orders." "britney">>
<p>Then the grin comes back, wide and criminal.</p>
<<speech "Britney" "Tell Tommy: my office, after lockup. And tell him to stretch first. I'm not explaining a hamstring injury to the district." "britney">>
<<set $amber_shared = 2>>
<<set $amber_next_day = $day + 1>>
<div class="req">After hours: catch Tommy locking up the gym, then her office.</div>
<</if>>
<<if $incel_stage >= 3>>
<div class="req">(Britney and the club - the doctrine's first lesson in sharing - arrives in the next update.)</div>
<<else>>
<div class="req">(Her arc continues once you've made progress with the detention boys - and further beats arrive in the next update.)</div>
<</if>>
<p>For now she sends you off with a squeeze and a reminder that Thursday is coveralls day.</p>
[[Back to work|Hallway]]
<<default>>
<p>Her door is open, her couch is willing, and the rest of her story arrives in the next update.</p>
[[Back to the hallway|Hallway]]
<</switch>>
<</if>><<pic "img/school/gym.webp" "location">>
<<set $gym_wing_day = $day>>
<<if $gunn_trust == 0>>
<p>The gym smells like every gym since the invention of boys: rubber, sweat, and floor wax you'll be reapplying. The coach is running freshmen with a whistle and a voice like a dump truck in low gear. Tracksuit, buzzcut gone grey at the sides, forearms like dock rope.</p>
<<pic "img/school/pe_full.jpg" "story">>
<p>His truck in the lot has a confederate flag sticker that made you file him under "problem" on day one.</p>
<<pic "img/school/confederate.jpg" "story">>
<p>He spots you and points at the bleachers without breaking his count.</p>
<<speech "Coach Gunn" "Boy - them bleachers fold in 'fore you mop under, not after. Last fella did it backwards a whole year. Drove me half insane." "coach_gunn">>
<p><i>Boy.</i></p>
<p>You fold the bleachers in first. He watches, nods once - the same single nod from your first day. On your way out he says, not looking up from his clipboard:</p>
<<speech "Coach Gunn" "Floor looks good, boy. Tell them office vultures I said you do it right." "coach_gunn">>
<p>Thanks, I guess.</p>
<<statchange "energy" -2>>
<<set $school_rep += 1>>
<<set $gunn_trust = 1>>
[[Back to the hallway|Hallway]]
<<elseif $gunn_trust == 1 && $gunn_case == 0>>
<p>You know something's wrong before you're through the gym doors: no whistle. Gunn is in his little glass office with Pollock, the secretary, and a blond junior you recognize - Bradley Whitmore, lacrosse, the kind of face that's never heard the word no from an adult it couldn't unemploy. Through the glass you watch the pantomime: Bradley's trembling lip, Pollock's folded arms, and on the desk between them, bagged like evidence on TV, a vape pen.</p>
<p>The story revealed later from hallway whispers: Bradley says Coach Gunn grabbed him by the collar and shook him, and that the vape they found in Gunn's office desk is the one Gunn supposedly confiscated and kept - proof of some deranged vendetta. Gunn benched Bradley last Friday for skipping practice. Now Gunn is suspended pending review, and the review is Pollock, and Pollock has been looking for a reason to replace him with somebody's nephew for two years.</p>
<p>Here's what you know that nobody asked the janitor: you emptied the gym wing bins Friday, and Bradley's locker-row bin held a vape pen's blister packaging - new, bought that week, receipt wadded in the same trash. It's all sitting in the dumpster's Friday bag, which gets hauled Thursday. You know exactly which bag. This will definitely clear the coach from accusations, but should you do it all for a confederate fan calling you "boy"?</p>
<<set _gunnChoiceMade = false>>
<div id="choice-container">
<<if $energy >= 2>>
<<linkreplace "Dig out the evidence (2 energy)">>
<<replace "#output">>
<p>You go through Friday's bag behind the gym at six AM, elbow-deep in banana peels and athletic tape, and come up with the blister pack and the receipt - Bradley's name right on the card slip, dated three days before the vape "appeared" in Gunn's desk. You photograph everything in place, the way you documented cache sites overseas, then leave the bag, the pack, and an anonymous note about Friday's trash pickup in the district reviewer's mailbox. Not Pollock's. The district's. Let her find out in a meeting, in front of witnesses.</p>
<p>It takes two days to detonate. Bradley's story develops what the review politely calls "inconsistencies," the suspension evaporates, and the vendetta case dies in a folder. Pollock's face all week is a study in swallowed fury - she knows somebody did this to her, and she cannot figure out who.</p>
<p>Friday afternoon the gym door opens while you're mopping the free-throw line, and Gunn walks over and stands there a moment, working on something.</p>
<<speech "Coach Gunn" "Trash gets picked up Thursdays. Whole school knows that. Exactly one man in this building knows what's IN it." "coach_gunn">>
<p>He puts out a hand roughly the size of a catcher's mitt.</p>
<<speech "Coach Gunn" "Thomas Gunn. Folks call me Tommy. Get it? Tommygun? Anyway, I figure you got a first name too, and I figure I been sayin' 'boy' at a man who just saved my pension." "coach_gunn">>
<<speech "You" "$player_name.">>
<p>You shake his hand still thinking how your fake name is becoming your real one. He nods at the bleachers, and for the first time somebody in this school says it:</p>
<<speech "Coach Gunn" "Sit down a minute. Nobody works standin' up on a Friday." "coach_gunn">>
<<statchange "energy" -2>>
<<set $gunn_case = 1>>
<<set $gunn_trust = 3>>
<<set $school_rep += 2>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Dig out the evidence (2 energy)"</em></div><</replace>>
<</linkreplace>><br>
<</if>>
<<linkreplace "Stay invisible">>
<<replace "#output">>
<p>You keep your head down. It's the smart play - the cover comes first, the mission comes first, and no part of the mission is named Tommy Gunn. The review takes two weeks and ends the way reviews end when Pollock runs them: "resolved with a formal reprimand," which stays in his file forever, which is the point. Maybe this confederate-loving scum deserved that one way or another.</p>
<p>Thursday you watch the truck haul away Friday's bag, packaging, receipt, and all.</p>
<<set $gunn_case = -1>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Stay invisible"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
[[Back to the hallway|Hallway]]
<<elseif $gunn_case == 1 && $gunn_trust == 3>>
<p>Gunn's office after hours: two folding chairs, a mini-fridge with a padlock, and inside the mini-fridge, beer. He hands you one like it's contraband, which in this building it is.</p>
<<speech "Coach Gunn" "Twenty-two years here. Watched this place go from a school with rich kids in it to a money-laundry with a gym. You want to know about Her Majesty up front?" "coach_gunn">>
<p>He points the bottle at the ceiling, in the direction of the principal's office.</p>
<<speech "Coach Gunn" "Don't let the diction fool you. I seen her end four careers. Always the same play: she don't fire you, she REVIEWS you. Paper cuts till you bleed out. Whatever you're doin' in this school - and I ain't askin', 'cause a man who checks trash bags for strangers has his own business - don't leave her no paper." "coach_gunn">>
<p>You talk until the parking lot empties. He tells you which cameras haven't worked since 2019, which board member's kid can't be touched, what happened to the last janitor - "asked for a raise, got reviewed" - and you file all of it.<<if $amber_stage < 5>> Somewhere in the personnel rundown he gets to the counselor and chuckles into his bottle. "Britney's nice. Got tits, ass and legs - and keep spreadin' 'em', doing public service, if you ask me."<</if>> Somewhere in the second beer it stops being filing and starts being Friday night with, God help you, a friend.</p>
<<speech "Coach Gunn" "Folks see the truck and the flag and figure they got me read." "coach_gunn">>
<p>He shrugs, unbothered.</p>
<<speech "Coach Gunn" "My daddy's flag, my daddy's truck, and I ain't givin' the truck up. Lets the smart ones show me who does their thinkin' with their eyes. You didn't." "coach_gunn">>
<p>You did though.</p>
<div id="choice-container">
<<linkreplace "Press him on it">>
<<replace "#output">>
<p>You set your bottle down.</p>
<<speech "You" "That sticker does more talkin' than you think, Tommy. Every kid in that lot reads it before you ever open your mouth.">>
<<speech "Coach Gunn" "It's heritage, son. My people came out of Georgia." "coach_gunn">>
<<speech "You" "My people came out of Georgia too. That flag flew over the men holdin' the other end.">>
<p>He shifts in the folding chair. This is a road he's driven before, and he steers for the usual exit.</p>
<<speech "Coach Gunn" "Come on, war wasn't about that. States' rights. Any book down south'll tell you-" "coach_gunn">>
<<speech "You" "States' rights to do WHAT, Tommy?">>
<p>The gym hums. He opens his mouth, closes it, studies his bottle like the label might have the answer. It doesn't, and he's too honest a man to build one on the spot.</p>
<<speech "Coach Gunn" "...Huh." "coach_gunn">>
<p>That's all you get. The rest of the beer goes down quieter, but at the door he shakes your hand same as ever - maybe holds it a half-second longer.</p>
<<set $gunn_sticker = 1>>
<<set $gunn_trust = 4>>
<<if $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<div class="req">Tommy's years of watching Pollock operate is leverage all by itself. Leverage: $pollock_leverage/10</div>
<</if>>
[[Head out|Hallway]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Press him on it"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Leave it be">>
<<replace "#output">>
<p>You sigh into the bottle and let it go. You've argued with that flag a lot, it's a quite popular insignia in the barracks, but it rarely achieves something but grudges. And you've known the kind of people like Tommy Gunn: he's a kind man after all, just hauling some baggage. Not yours to unpack tonight.</p>
<<speech "You" "Long as the truck starts, Tommy.">>
<p>He clinks his bottle against yours.</p>
<<set $gunn_sticker = -1>>
<<set $gunn_trust = 4>>
<<if $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<div class="req">Tommy's years of watching Pollock operate is leverage all by itself. Leverage: $pollock_leverage/10</div>
<</if>>
[[Head out|Hallway]]
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Leave it be"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<<elseif $gunn_case == -1>>
<p>The gym runs colder these days. Gunn isn't rude - he says "boy" the same as ever, points at the same bleachers - but the nod is gone, and men like him do their real talking in nods. The reprimand sits in his file, and you remember that it was your decision to let it happen.</p>
[[Back to the hallway|Hallway]]
<<else>>
<<if $amber_stage >= 6 && not $amber_shared>>
[[Propose a threesome with Britney|Gunn Amber Offer]]<br>
<</if>>
<<if $amber_shared >= 2 && $day >= $amber_next_day>>
[[Stay late - Tommy's locking up, and Britney's office light is on|Gunn Amber Threesome]]<br>
<</if>>
<<if $gunn_sticker == 1>>
<p>Crossing the lot you clock the truck before you clock the man: a clean rectangle on the bumper where the sticker used to be, the paint around it sun-faded like a wall where a picture hung too long. You smile, knowing that you'll never bring it up again.</p>
<<set $gunn_sticker = 2>>
<<set $school_rep += 1>>
<<else>>
<<switch random(1, 4)>>
<<case 1>>
<p>You catch the end of practice and rack weights with Tommy after.</p>
<<statchange "physical" 1>>
<<case 2>>
<p>Tommy's rebuilding the batting cage nets and you hold, haul, and staple while he supplies commentary on every student athlete's future. Two hours pass like ten minutes.</p>
<<case 3>>
<p>Quiet afternoon in the gym. Tommy runs you through the heavy bag "for maintenance purposes," nods at your form once, and asks no questions about where a janitor learned to hit like ordnance.</p>
<<case 4>>
<p>Tommy's in a strange mood today, half amused, half discreet, and it takes a beer to shake it loose: Her Majesty Pollock cornered him in the copy room this week. Wanted a "personal conditioning program." Asked him - quietly, door open, like it was procurement - what actually keeps a body young.</p>
<<speech "Coach Gunn" "Told her the truth. Nothin' does. You just keep movin' and you don't look back at the pack. She got a look on her face like I'd read out a diagnosis. Woman runs this whole buildin' and she's scared of a CALENDAR." "coach_gunn">>
<p>He shakes his head and racks another plate. You file it, the way you file everything: the ice queen is counting years the way she counts votes - and finding both short.</p>
<</switch>>
<</if>>
[[Back to the hallway|Hallway]]
<</if>><p>The noise coming from the civics room isn't a fight. You know fights. This is worse - it's laughter with a single target. Through the open door: a paper airplane sails past the smartboard, which is showing a meme instead of the Constitution because somebody changed the login again, and a soft, balding man in a sweater vest is saying "Okay, guys. Okay. Guys," in the voice of a man who has said it four thousand times and been obeyed zero.</p>
<<pic "img/school/syren/marcelo.webp" "story">>
<p>A senior in a letterman jacket strolls out right past you, calls back over his shoulder: "Later, Mr. Shannon!" - and the room detonates. The teacher laughs too. That's the part that makes your stomach drop: he laughs along, because the only thing worse than the joke is being caught not taking it.</p>
<p>The bell empties the room. He crouches in the doorway gathering handouts the exodus scattered, and you crouch down to help because you're the janitor and paper on the floor is technically yours.</p>
<<speech "Marcello" "Oh - thank you. Thank you. They're good kids, really. High spirits. Civics after lunch is a tough slot, everyone says so." "marcello">>
<p>Up close he's younger than the sweater vest suggests, with the posture of a question mark. He shakes your hand like he's grateful you didn't decline it, and introduces himself twice.</p>
<<speech "Marcello" "Marcello Pollock. Marc, if you like. Yes - THAT Pollock. My wife runs the... well. You work for her. We all work for her." "marcello">>
<p>He says my wife the way other men say my supervisor, with a small flinch around the eyes, and then talks at you for ten unbroken minutes - about the smartboard login, about how he almost had a department head interview in another district once, about how nobody in the staffroom saves him a seat - because you are the first person in this building to hold still near him without smirking.</p>
<p>You do the math on your way back to the mop. The most feared woman in the building went home every night, for years, to the least feared man in it. Everyone in this school is scared of Shannon Pollock. Including, obviously, all five foot eight of her husband. That's not a marriage, that's a chain of command. And a man that starved for kindness is an unlocked door.</p>
<p>You file him where you file everything.</p>
<<set $pollock_husband = 1>>
<div class="req">Whatever that marriage looks like in the hallways, the private version happens somewhere. Marcello's Corolla has started showing up in the visitor lot around her lunch hour. Worth a look.</div>
[[Back to work|Hallway]]<<if $pollock_husband >= 999>>
<p>Lunch period, the Corolla in the visitor lot, the blind that doesn't quite meet the frame. You know exactly where to stand by now. Fifteen minutes of Shannon Pollock with the office door locked is worth more than a month of shredder bags - this is the version of her nobody else gets to audit.</p>
<<switch random(1, 3)>>
<<case 1>>
<p>Today she's at the window with the wine, skirt still on, and Marcello is face-down on the carpet kissing her shoes. Not a preamble - the whole program. She stands there working through a glass and a half while he tongues the leather clean, and when he lifts his head to ask for more she puts the heel on the back of his neck and returns him to his work without a word or a glance.</p>
<<speech "Pollock" "The left one, Marcello. You always neglect the left one. Story of this marriage." "pollock">>
<p>What's new since last time: the bottle. Same label as the cabinet stash, but this one lives in her desk drawer now, in arm's reach, and the glass and a half took her eleven minutes. You've watched drinkers your whole life. The cellar is migrating toward the surface.</p>
<<case 2>>
<p>She's sitting on the desk today, skirt around her waist, her husband's head locked between her thighs - and her attention forty years away. The thing in her free hand isn't her phone. It's a photograph, actual paper, and from your angle you catch it when she tilts it to the light: a girl at nineteen in a sash, some pageant stage, a smile that stopped rooms. She grinds against Marcello's mouth on a slow absent rhythm and never once looks down at him, eyes on the girl the whole time, like she's cheating on the whole room with her own past.</p>
<<speech "Pollock" "Slower. God. Nineteen years old and I let a PHOTOGRAPHER buy me dinner. I could have had anyone. Slower, I said." "pollock">>
<p>She finishes with her teeth set and her eyes wet - the wine, maybe - and puts the photograph back in the drawer that locks. You mark the drawer. Everything that woman is afraid of fits in furniture.</p>
<<case 3>>
<p>Today Marcello never gets touched at all. He kneels by the desk with his hands flat on his thighs while she eats her salad over district paperwork, and every few minutes she feeds him a fact instead of a bite: the anniversary he ruined, the department headship he didn't get, the year he stopped being worth undressing for. He takes each one with his eyes closed, hard in his slacks the whole time, thanking her. She never raises her voice. She's had years of practice keeping this at conversation volume.</p>
<<speech "Pollock" "Sit up straight. If I wanted something soft and grateful at my feet I'd have gotten a labrador, and a labrador would have made department head." "pollock">>
<p>Then, mid-cruelty, her computer chimes and her whole posture changes - shoulders in, chin down, voice suddenly careful. Whoever's on that screen outranks her, and there are maybe three people in the state who do. She closes the laptop half-shut before answering and angles it away from the door. Away from everyone. You add the chime to the file: Her Majesty has a leash too, and lunch hour is when it gets tugged.</p>
<</switch>>
<<set $marcello_next_day = $day + 3>>
<<statchange "energy" -1>>
<<if $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<div class="req">Leverage on Pollock: $pollock_leverage/10. Her lunches are a diary she thinks nobody reads.</div>
<<else>>
<div class="req">Nothing you don't already hold - but watching the warden serve her own sentence never stops being useful.</div>
<</if>>
[[Slip away|Hallway]]
<<else>>
<p>Lunch period. The corridor by the front office empties out, her door is shut, and Marcello's sad little Corolla is in the visitor lot again. The blind on her door's window doesn't quite meet the frame - it never has - and you've cleaned this corridor enough times to know exactly where to stand.</p>
<p>Shannon Pollock is standing at her desk, skirt shoved up over her hips, a lunchtime wine glass already going in her hand. Her husband kneels behind her on the office carpet, at eye level with his wife's bare ass, waiting. Not touching. Waiting to be told.</p>
<<pic "img/school/syren/marcelo_cuni_1.jpg" "story">>
<<speech "Pollock" "Fifteen minutes, Marcello. Make them count for once." "pollock">>
<p>She reaches back, takes a fistful of his thinning hair, and pulls his face into her cunt from behind - and holds it there, steering him like a tool, hips grinding back against his mouth while she checks her email with the other hand. When he slows she tightens the grip and he whimpers into her and licks faster. His hands stay flat on his thighs. You'd bet the building he hasn't been told he can use them.</p>
<<video "img/school/syren/marcelo_cuni_2.webm">>
<<speech "Pollock" "I used to stop rooms, Marcello. Nineteen years old, rooms STOPPED. Now I get a man who counts it a good year if I let him kneel." "pollock">>
<p>She finishes with her teeth bared at her monitor, giving him nothing, then steps out of his reach and smooths her skirt down. He stays kneeling, eyes closed, blissful. She refills the glass.</p>
<p>You peel away from the door doing the math. A husband who serves on his knees, unpaid, unthanked, and grateful - that isn't a marriage problem. That's a finished product waiting for new management. Somebody's going to complete him one day, and it isn't going to be her.</p>
<<set $pollock_husband = 2>>
<<set $marcello_next_day = $day + 3>>
<<if $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<</if>>
<<statchange "energy" -1>>
<div class="req">Leverage on Pollock: $pollock_leverage/10. Two doors into Shannon Pollock: the bottle and the ledger, or the mirror and the youth. Either way, the husband stays on his knees - and lunch hour keeps its schedule. Worth watching again in a few days.</div>
[[Slip away|Hallway]]
<</if>><p>Friday, gym empty, the padlocked fridge open. Two beers in, you bring up the counselor - carefully, the way you'd hand a man a live round. Tommy doesn't even blink. </p>
<<speech "Coach Gunn" "Britney. Yeah. Me and the counselor go way back, waay back. Coaching conference, Reno, 2015. Whole DISTRICT goes back with Britney, son - she's the best-kept worst-kept secret in public education." "coach_gunn">>
<p>He sets the bottle down and studies you a moment, and you watch him do the thinking on the couch, the sessions, the coveralls, and arrive at the correct total without a single question.</p>
<<speech "Coach Gunn" "So it's like that. Good. She's been wound tight all year - you're cheaper than what the district pays for morale." "coach_gunn">>
<<speech "You" "It's mutually beneficial. But the thing is, Amber is insatiable. I don't think one man is enough for her... Wanna share her pussy?">>
<p>You say the rest of it plainly, because Tommy's the kind of man you say things to plainly: the two of you, her, after hours. He nods once, slow, like you asked to borrow the truck.</p>
<<speech "Coach Gunn" "I'm in. Been in before, if we're keepin' honest books. But get somethin' straight, 'cause it matters - ain't a man alive SHARES Britney. Britney shares herself. You go ask her, with words, and if she says yes she'll say it louder'n you'd like. That woman never met a volume knob she respected." "coach_gunn">>
<p>He clinks his bottle against yours.</p>
<<set $amber_shared = 1>>
<div class="req">Britney gets the final vote. Stop by her office.</div>
[[Head out|Hallway]]<<if $amber_shared == 3>>
<<album "img/school/britney/coach_threesome/repeat_" 2 "jpg" "story">>
<p>It's a standing appointment now: Tommy locks the gym, and the two of you let yourselves into the counselor's office, where Britney has already dimmed the lamp and dispensed with most of her clothes and all of her ethics training. Tonight she takes you both until the couch develops a new noise.</p>
<<set _clip to "img/school/britney/coach_threesome/repeat_" + random(1, 3) + ".mp4">>
<<video _clip>>
<p>After, the three of you split one contraband beer among the crisis pamphlets, and Tommy reads a poster about healthy boundaries and laughs for a straight minute without explaining himself.</p>
<<statchange "energy" -3>>
<<set $amber_next_day = $day + 2>>
[[Slip out through the dark school|Hallway]]
<<else>>
<p>Tommy locks the gym at seven and walks the corridor once, checking doors that were already locked. Then the two of you cross the dark school to the one lit window behind the library. He knocks on the counselor's door like it's a principal's office.</p>
<p>Britney is posed against her desk in a tight black body - you'd bet money she rehearsed the pose. She looks the two of you over slowly, top to bottom, and doesn't bother asking why you've come. Everyone in this room did their reading.</p>
<<pic "img/school/britney/coach_threesome/pose_1.jpg" "story">>
<<speech "Britney" "Lock that door. I hope you've cleared your evening..." "britney">>
<p>She peels the body off - one shoulder, then the other, enjoying the growing bulges in your pants. Then, instead of coming to either of you, she sits down on her own carpet, spreads her knees, and starts playing with her pussy - two slow fingers, eyes moving between you and Tommy, working herself right up to the edge and then stopping, twice, on purpose, breathing like it costs her. You undress and start stroking your dicks, trying to keep up with her pace.</p>
<<pic "img/school/britney/coach_threesome/pose_2.jpg" "story">>
<<speech "Britney" "Okay, listen carefully. Tonight I want you rough with me. REALLY rough. Both of you, no checking in, no 'you okay.' I can take it." "britney">>
<p>Tommy looks at you the way he looks at a kid before a lift: you first. So it starts with her mouth - or rather it starts with her mouth being borrowed back and forth like shared equipment. You feed her your cock to the root and she takes it gagging and grateful; Tommy takes a fistful of blonde hair and does the same, slower, deeper; then back, then again.</p>
<<video "img/school/britney/coach_threesome/1.mp4">>
<p>Next, you lay her out on the couch and press your cock against her ass, and here's the difference a week of homework makes: she exhales once and takes you, all of you, in a single greased slide. Her butthole remembers you. You tell Tommy over her shoulder, conversational, like passing him a stat sheet.</p>
<<if $amber_atm >= 1>><<speech "You" "Wait when I pull it out, she likes the taste of her ass on my cock.">>
<<else>><<speech "You" "She has this weird thing for her ass...">><</if>>
<<speech "Coach Gunn" "She loves it. But she likes other asses too." "coach_gunn">>
<p>With a grace unnatural for a man of his build, he gets on top of her, planting his asscrack on Britney's face and his dick right between her round tits. He folds them around his cock with both big hands while the counselor enthusiastically rims his butt.</p>
<<video "img/school/britney/coach_threesome/2.mp4">>
<<speech "Coach Gunn" "Well, ain't she an overachiever." "coach_gunn">>
<p>She rims him like it's a competency review - deep, devoted, humming - while he fucks her tits and you pound her ass, and the noises coming out from under Tommy are the happiest slurping sounds this office has ever recorded.</p>
<p>You switch. On her side now, one leg cranked up over Tommy's shoulder: you slide into her pussy from the front while he crams into her ass from behind, and the counselor becomes a filling in a sandwich. Tommy bottoms out, frowns like a man testing a squat rack, and shoots you a look of genuine grievance.</p>
<<video "img/school/britney/coach_threesome/3.mp4">>
<<speech "Coach Gunn" "The hell'd you DO to this woman, son? This hole's had renovations." "coach_gunn">>
<<speech "Britney" "You can file an official complaint on my loose ass, and it will be reviewed by a man with a bigger dick." "britney">>
<p>Then the main event. You haul her up off the couch into a full nelson - her knees pinned up by her ears, all of her open and helpless and airborne - and jackhammer her ass, gravity doing half the work, her body bouncing on your cock like a doll's. Tommy steps in front, lines up, and slides into her pussy, and the two of you find a piston rhythm that has her eyes rolling white inside a minute. She stops narrating. She stops words entirely. Somewhere in the double-stuffed pounding she goes limp and floaty, drooling on her own chest, held up purely by the cocks in her and your grip, and comes so hard her whole body locks and shudders like a faulty machine.</p>
<<video "img/school/britney/coach_threesome/4.mp4">>
<p>You're both close, and she surfaces just enough to feel it - and looks back at you over her shoulder, glassy, mouth already open. You know exactly what she's asking for.</p>
<div id="choice-container">
<<linkreplace "Pull out and give her a taste of her ass again.">>
<<replace "#output">>
<p>You lower her out of the nelson and she hits her knees before they even work, wobbling, and takes your cock straight from her ass into her mouth without so much as a grimace - obedient, hungry cleaning, tongue dragging up the shaft while she moans at the taste like it's dessert. Tommy watches for exactly three seconds, then steps up beside you, and she turns her head and services him too, one cock in her mouth and one in her fist, swapping, thorough, a professional doing her best work.</p>
<<video "img/school/britney/coach_threesome/5.mp4">>
<<set $amber_atm += 1>>
<p>Cleaned and aching, you sit back on the couch and pull her onto you reverse cowgirl, her back to your chest, and put her ass back where it belongs. She rides you hard, slamming herself down, hands braced on your knees - and when you grab her hips and slam up into her the last few strokes, you empty everything you have deep in her guts, pumping her full while she grinds down and milks it out of you with a long, satisfied groan.</p>
<<video "img/school/britney/coach_threesome/6.mp4">>
<<if $amber_atm >= 2>>
<p>And because you've indulged this ass-to-mouth kink twice now, it owns her. She climbs off your softening cock with cum already leaking down her thighs, turns around, and licks you clean - slowly, filthily, base to tip, your cock dark and glazed straight from her creampied ass - then keeps going, lapping the smeared mess of ass-flavored cum and lube off your belly where she dripped on you, humming, eyes closed, an addict at the source.</p>
<<video "img/school/britney/coach_threesome/7.mp4">>
<<speech "Britney" "I just can't stop... I hope you love watching me do ass to mouth, because I love it!" "britney">>
<p>Tommy catches the depravity vibe and puts Britney in doggy on the couch, drives into her sloppy ass while your load is still up there, and fucks her flat-backed and grunting until he adds his own - a second creampie stacked on yours. Then he cups a big palm under her hole and gives the instruction of the evening.</p>
<<speech "Coach Gunn" "Push. All of it. Both of us. Attagirl." "coach_gunn">>
<p>She bears down and the mixed load of two men slides out of her gaped ass into his hand, thick and obscene, and he feeds it to her off his fingers like a post-workout supplement - and she takes it, every drop, licking his palm and then his cock clean after, kneeling there glazed and happy.</p>
<<video "img/school/britney/coach_threesome/8.mp4">>
<p>The three of you end up on the floor against the couch, wrecked, passing Tommy's contraband beer. Britney lies between you glowing like a woman who finally got the treatment plan right. You wonder whether you’ve successfully made some friends with benefits, or just useful assets.</p>
<<statchange "energy" -3>>
<<set $amber_shared = 3>>
<<set $amber_next_day = $day + 2>>
<div class="req">A standing arrangement. Tommy locks up some evenings - and her office light stays on.</div>
[[Slip out through the dark school|Hallway]]
<<else>>
<<include "Gunn Amber Facial">>
<</if>>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Pull out and feed her that ass again"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Keep her stuffed - no detours">>
<<replace "#output">>
<p>You keep her airborne and keep fucking, and whatever she was asking for gets pounded back down her throat as another orgasm rolls through her. You grab her hips and drive up into her the last few strokes and unload deep in her ass, filling her while she grinds and shakes and milks you dry.</p>
<<video "img/school/britney/coach_threesome/6.mp4">>
<<include "Gunn Amber Facial">>
<</replace>>
<<replace "#choice-container">><div class="choice-made"><em>"Keep her stuffed - no detours"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="output"></div>
<</if>>/* Shared tail of the threesome: Tommy's finish. Included by both branches of
"Gunn Amber Threesome" whenever the double-ATM route doesn't fire. */
<p>Tommy still hasn't finished, and Britney, sprawled boneless against your chest with your cum plugged deep in her ass, cracks one eye at him and taps her cheek. He strokes himself over her upturned face, breathing like a man at the end of a hill run, and you wonder how long he's been holding back.</p>
<div id="facial-choice">
<<linkreplace "Let the man cum in peace.">>
<<replace "#facial-output">>
<p>He plasters her. Three heavy ropes across her cheeks and lips, one in her hair, a coat of it, while she holds still with her tongue out like a good patient and catches what she can. He steps back, nods once - the good-mile nod - and hands her his gym towel.</p>
<<video "img/school/britney/coach_threesome/10.webm">>
<<speech "Coach Gunn" "Don't tell wellness." "coach_gunn">>
<<speech "Britney" "Tommy. I AM wellness." "britney">>
<p>The three of you end up on the floor against the couch, passing Tommy's contraband beer while her face dries. You wonder whether you’ve successfully made some friends with benefits, or just useful assets.</p>
<<statchange "energy" -3>>
<<set $amber_shared = 3>>
<<set $amber_next_day = $day + 2>>
<div class="req">A standing arrangement. Tommy locks up some evenings - and her office light stays on.</div>
[[Slip out through the dark school|Hallway]]
<</replace>>
<<replace "#facial-choice">><div class="choice-made"><em>"Stand back - let the man cum"</em></div><</replace>>
<</linkreplace>><br>
<<linkreplace "Egg him on - how long has he been saving that, since Reno?">>
<<replace "#facial-output">>
<<speech "You" "How long you been holding that, Coach? Since Reno?">>
<p>It's a joke. It stops being a joke immediately. Something goes across Tommy's face - a decade of something - and when he cums it isn't a load, it's a MAIN BREAK. The first blast crosses her face entirely and hits the couch cushion. The second soaks her hair. He keeps going, hosing her down in heavy pulsing gouts - her face, her tits, her outstretched hands when she starts laughing and can't stop - spraying past her onto the carpet, the pamphlet rack, a poster about trusting yourself, until she is genuinely, gleaming, dripping-off-the-chin DRENCHED and it is still coming.</p>
<<video "img/school/britney/coach_threesome/9.webm">>
<<speech "Britney" "TOMMY. WHAT. Since RENO?! Somebody get me a TOWEL - " "britney">>
<<speech "Coach Gunn" "Man maintains his composure long enough, it compounds. That's just interest, Britney." "coach_gunn">>
<p>Cleanup takes twenty minutes and all the crying-student tissues, and she supervises it from the couch, soaked and delighted, declaring the office a biohazard and the evening the single greatest wellness outcome of her career. You wonder whether you’ve successfully made some friends with benefits, or just useful assets.</p>
<<statchange "energy" -3>>
<<set $amber_shared = 3>>
<<set $amber_next_day = $day + 2>>
<div class="req">A standing arrangement. Tommy locks up some evenings - and her office light stays on. The carpet may never recover.</div>
[[Slip out through the dark school|Hallway]]
<</replace>>
<<replace "#facial-choice">><div class="choice-made"><em>"Egg him on - how long has he been saving that, since Reno?"</em></div><</replace>>
<</linkreplace>>
</div>
<div id="facial-output"></div><!-- IMAGE: basement classroom 019 - pipes overhead, mismatched desks, boiler hum -->
<p>Room 019 waits for you in the next update.</p>
[[Back to the hallway|Hallway]]
/* DETENTION CONTENT - SHIPS NEXT UPDATE
<<if not $detention_job>>
<p>Room 019 is locked, and detention is somebody else's problem. For now.</p>
[[Back to the hallway|Hallway]]
<<elseif $school_time is not "afternoon">>
<p>Detention is fifth period. The room stands empty, waiting for the afternoon's harvest.</p>
[[Back to the hallway|Hallway]]
<<elseif $detention_day >= $day>>
<p>You've already run today's session. Room 019 is dark, and the boys are back out there in a world that doesn't want them - carrying, for once, something you gave them.</p>
[[Back to the hallway|Hallway]]
<<else>>
<<set $detention_day = $day>>
<<switch $incel_stage>>
<<case 0>>
<p>Room 019 is in the basement because detention is a landfill and the school likes its garbage out of sight. Three boys are already there when you unlock the door, and the room goes silent in the way rooms do when the joke walks in.</p>
<p>You know their files - Britney walked you through them on her couch, which is how all your briefings happen now. DeShawn Simmons: smart, angry, mouth that writes checks his record cashes. Marcus: big, quiet, eats lunch alone by choice now because the choice got made for him enough times. Tyrell: small, quick, glasses, and a search history that got flagged by the district filter - forums, the bad kind, the ones that sell brotherhood to boys nobody else will take.</p>
<p>Three black kids at a school like this. You did the math on day one: their parents are the district's diversity numbers, staff hires and grant cases, and their sons get to live inside the statistics eight periods a day.</p>
<<speech "DeShawn" "Oh, this is beautiful. They gave us the JANITOR. That's what we rate. Other kids get a teacher, we get the mop." "deshawn">>
<p>He's not wrong, and he knows he's not wrong, and he watches to see if you'll pretend otherwise. The other two watch too. Tyrell types something on a phone he's not supposed to have - narrating you to the forum, probably. Fresh content: the school gave the throwaways to the throwaway.</p>
<p>You don't pretend otherwise. You take the desk at the front, put your feet up, and tell them the truth: yeah, they got the janitor. The school put its trash in one room to save on hauling. First honest thing anyone's said in this building since September, and it lands - you can see it land - even as DeShawn curls his lip and goes back to his phone.</p>
<p>Nobody talks for the rest of the period. But nobody films you either, and when the bell goes, Marcus - the big quiet one - hesitates half a second at the door. Half a second is a start.</p>
<<statchange "energy" -2>>
<<set $incel_stage = 1>>
[[Lock up|Hallway]]
<<case 1>>
<p>Second week of detention. They've stopped performing for each other quite so hard - you're furniture now, and like all furniture, you hear everything. What you hear is Tyrell, reading aloud to the others from the phone, in the flat reverent voice of a boy reciting scripture:</p>
<<speech "Tyrell" "...says here it's OVER for guys like us. Statistically. Genetically. Says the game was rigged before we were born, so the only move is to stop playing and let it burn." "tyrell">>
<<speech "DeShawn" "Man, that account is some basement-dwelling cracker in Ohio. Why you keep reading us Ohio?" "deshawn">>
<<speech "Tyrell" "Because he's RIGHT about the rigged part. Look around, D. Look where we AT." "tyrell">>
<p>And there it is - the hook every one of these forums sets. Start with the true thing. The game IS rigged; these boys live in the proof. Then sell them the poison as the cure: it's not the system, it's women, it's your genes, it's over, log in tomorrow for more.</p>
<p>You put down the grade sheets you're not grading and tell Tyrell to read the rigged part again. Then you take the room apart and rebuild it: yes, rigged - you tell them things about this school they suspect but can't prove, the donor kids who don't get searched, the two review files Pollock keeps for the same offense in different colors. Their eyes go wide, then narrow, then hungry. And then you tell them the part Ohio never will: rigged means you learn the rig. Rigged means discipline, information, patience - and each other. Nobody's coming for you, so you come for each other. Every man in this room is the only backup every other man in this room will ever have.</p>
<p>The bell goes and nobody moves for three full seconds.</p>
<<speech "Marcus" "...We got a spot. AV room, after sixth. It's mostly Tyrell's setup." He looks at the floor, then makes himself look up. "You could come check it. If you want." "marcus">>
<<statchange "energy" -2>>
<<set $incel_stage = 2>>
<<set $incel_club = true>>
<div class="req">The AV room is now open to you from the Hallway in the afternoon.</div>
[[Lock up|Hallway]]
<<default>>
<p>Detention runs itself now. The three of them show up whether they're sentenced or not - room 019 has quietly become the only classroom in this school where anybody learns anything. You run the period the way you ran fire teams overseas: heads up, phones down, one true thing per day.</p>
<<statchange "energy" -2>>
<<if random(1, 100) <= 25 && $pollock_leverage < 10>>
<<set $pollock_leverage += 1>>
<p>Today's true thing comes from them: Tyrell, it turns out, fixes laptops for half the front office, and front-office people never log out. He slides a printout across your desk without being asked - a purchase order, school funds, addressed to a wine merchant. "Filed under 'lab supplies,'" he says, deadpan. These kids are going to be dangerous, and you are going to be why.</p>
<div class="req">Leverage on Pollock: $pollock_leverage/10</div>
<</if>>
<div class="req">(The doctrine - the lessons about sharing, and their first lesson's subject - arrives in the next update, once Britney's arc is deep enough.)</div>
[[Lock up|Hallway]]
<</switch>>
<</if>>
*/<!-- IMAGE: AV room - server racks, three monitors, energy drink cans, a whiteboard -->
<p>The AV room opens in the next update.</p>
[[Back to the hallway|Hallway]]
/* DETENTION CONTENT - SHIPS NEXT UPDATE
<<if $incel_stage < 2>>
<p>The AV room door is shut, and whatever's behind it isn't yours yet.</p>
[[Back to the hallway|Hallway]]
<<elseif visited() <= 1>>
<p>The AV room is Tyrell's kingdom: scavenged monitors, a server rack that has no business working, and a whiteboard covered in a handwriting argument between all three of them. They go quiet when you come in - not the hostile quiet of room 019, week one. The other kind. The kind where the visit matters.</p>
<p>They show you the operation like boys showing a father a fort. Tyrell runs the machines - he's inside half the school's systems out of boredom alone. Marcus keeps the ledger: who owes whom, snack money pooled in a cashbox, a lending system with interest ("HE made the interest part," DeShawn says, betrayed). DeShawn runs their mouth - forum accounts, three of them, where he argues with the Ohio prophets of doom every night and, by his own furious admission, keeps losing.</p>
<<speech "DeShawn" "You can't beat 'em, that's the thing. They got an answer for everything. It's over, it's rigged, women only want - you know what they say women only want." He glances at you, testing. "Guys like you, actually. No offense." "deshawn">>
<p>Every offense intended, and underneath it a real question, asked the only way an eighteen-year-old can ask it. You look at the three of them - the anger, the ledger, the forums - and you see it clean: raw material. Loyal, invisible, wired into everything, and starving for one grown man to hand them a doctrine that isn't poison.</p>
<p>You tell them you'll give them the real answer. Not today. Today they clean up the whiteboard and start over with one word on it, and the word is SHARE - the money, the intel, the workload, the wins. Everything else follows from that one, and they'll get the rest when they've earned it.</p>
<p>They're still arguing about what it means when you close the door. Good. Arguing is the sound of the hook going in.</p>
<<statchange "energy" -1>>
<<statchange "respect" 2>>
[[Back to the hallway|Hallway]]
<<else>>
<p>The AV room hums along. The whiteboard word is still up - somebody's underlined it, somebody else has annotated it with a question mark, and Marcus's cashbox now has a label: COMMUNITY FUND. They feed you the building's gossip without being asked, and the building has no idea what's growing in its basement.</p>
<<if $pollock_stage >= 1>>
<p>Today the whiteboard has grown a side column - a ranked list of staff, by a metric the three of them will not say out loud with you in the room, which tells you exactly what the metric is. DeShawn is defending his number one pick with the passion of a courtroom lawyer.</p>
<<speech "DeShawn" "Nah, nah, hear me out - the PRINCIPAL. I'm serious. Evil MILF energy. Heels in an empty hallway? That click-click-click? That's a woman that needs, like... a whole team effort. One man can't fix all that. That's a group project." "deshawn">>
<<speech "Tyrell" "Statistically, women her age are at their peak. It's documented. I can pull the studies." "tyrell">>
<p>Marcus refuses, on the record, to enter any of it into the ledger. You keep your face neutral and your mouth shut, and you file the thought where you file everything - because the boys are joking, but you've seen what the mirror is doing to Shannon Pollock, and the joke has a keyhole in it.</p>
<div class="req">(Whether the principal ever meets the team effort - that arrives in a future update.)</div>
<</if>>
<div class="req">(The doctrine's first full lesson - and what the brothers learn to share first - arrives in the next update.)</div>
[[Back to the hallway|Hallway]]
<</if>>
*/<!-- IMAGE: cafeteria corner table - three boys, backs to the wall -->
<p>The corner table is scenery for now - it comes alive in the next update.</p>
[[Back to your lunch|Cafeteria]]
/* DETENTION CONTENT - SHIPS NEXT UPDATE
<p>You watch the corner table over your lunch. Three of them, backs to the wall: a wiry kid with a mouth that never stops running even with nobody listening, a big one who eats like it's a job, and a small one in glasses reading his phone like it owes him money. Between them and the rest of the cafeteria there's a moat nobody drew and everybody honors.</p>
<p>The wiry one catches you looking and stares back, chin up, ready for it to mean something bad. You go back to your food. Not yet. But you've marked the table, and some part of you - the part Jamal calls the recruiter - has already started taking notes.</p>
[[Back to your lunch|Cafeteria]]
*/<p>Everything below is spoilers - open only what you need.</p>
<div class="guide">The stats, in short: <span class="stat-name">Money</span> pays for everything; <span class="stat-name">Energy</span> limits your actions per day (sleep restores it); <span class="stat-name">Physical</span> is health and strength in one - keep it above 0; <span class="stat-name">Respect</span> is your name in the hood and gates the main quest; <span class="stat-name">Knowledge</span> unlocks later; comes from study and opens smarter options; <span class="stat-name">Heat</span> is police attention - too much locks the blockpost, so lay low or pay Adriana to scrub it.</div>
<<nobr>>
<details class="spoiler"><summary>Main quest</summary>
<<if $target1 == 0>>
<<if $respect < 50>>
<div class="guide-next">Jamal wants your name to mean something before he puts real work in your hands. Respect $respect/50 - coach the gym rookies, work the bar room, and above all rebuild the community library with Ella (the big payout).</div>
<<else>>
<div class="guide-next">Your name carries now. A manila folder is waiting at the hideout door - read it.</div>
<</if>>
<<elseif $target1 == 1>>
<div class="guide-next">Jamal's letter names Mrs. Bond. Take the bus to Adriana's lair and talk business: $100 in cash, or $50 plus the "muscle service" she offers. The service needs 50 physical and 40 respect to pull off cleanly, or 80 respect if you go in out of shape - either way it costs respect and raises heat.</div>
<<elseif $target1 == 2>>
<div class="guide-next">The deal is made. See Adriana again ("Talk business") to collect her laptop, then head home to start the operation.</div>
<<elseif $target1 == 3>>
<<if $savannah_approach == 0>>
<div class="guide-next">Corrupt Mrs. Bond from the hideout laptop: check the cameras, then one action per day. Interracial interest $savannah_blacked/7, affairs $savannah_cheating/7 - either at 7 unlocks its final approach ("Black Lover" solo via affairs, "Snowbunny for two" with Jamal via interracial).<<if $savannah_action_made == 1>> Today's action is spent - sleep on it.<</if>></div>
<<else>>
<div class="guide-next">The approach is chosen and the pieces are set. Start the operation from the hideout: "Fuck the police(man's wife)".</div>
<</if>>
<<elseif $target1 >= 4>>
<<if $school_unlocked == 0>>
<div class="guide-next">Mrs. Bond is handled. <<if $nextday == 1>>Sleep first, then check<<else>>Check<</if>> the hideout laptop - Jamal has news about what comes next.</div>
<<elseif $school_unlocked == 1>>
<<if $hacker_level >= 6>>
<div class="guide-next">Adriana is fully entertained - visit her lair and ask for the fake ID ("Talk business").</div>
<<else>>
<div class="guide-next">Jamal needs you papered. Adriana only prints a fake ID once you've fully entertained her - she's at level $hacker_level of 6. Her spoiler below says what she wants next.</div>
<</if>>
<<elseif $school_unlocked == 2>>
<div class="guide-next">ID in hand. Text Jamal from the hideout laptop and pick a meeting spot - the bar always works; the library option needs your future with Ella decided.</div>
<<elseif $school_job == 0>>
<div class="guide-next">Meet Jamal at the <<if $school_intro_location == "library">>library<<else>>bar<</if>> and follow his plan into the school.</div>
<<else>>
<div class="guide-next">You're inside the school as the janitor. The job pays $25 a week (the envelope lands on a sleep, wherever you slept). The main quest now runs through the school: build reputation (currently $school_rep), secure the detention post, and dig under Principal Pollock - see the school spoilers.</div>
<</if>>
<</if>>
<p class="guide-later">The full road: 50 respect - Jamal's letter - Adriana's fee - corrupt Mrs. Bond - the operation - fake ID - the school job - Pollock.</p>
</details>
<details class="spoiler"><summary>Ella</summary>
<<switch $ella_stage>>
<<case 0>>
<div class="guide-next">A redhead drinks alone at the bar. Talk to her - she used to run the library the Oath Boys burned.</div>
<<case 1>>
<div class="guide-next">Start the library rebuild (from The Hood), then tell her about it at the bar.</div>
<<case 2 3>>
<div class="guide-next">Keep the library rebuild moving. Her next scenes trigger at the site as the renovation comes along.</div>
<<case 4 5>>
<<if $day >= $ella_next_day>>
<div class="guide-next">The grand opening is today. Be at the library - and stay past closing.</div>
<<else>>
<div class="guide-next">The grand opening is tomorrow. Sleep, then be at the library - and stay past closing.</div>
<</if>>
<<case 6>>
<div class="guide-next">She's buried in library work until your first job for Jamal is done. Finish the Mrs. Bond operation, then come find her.</div>
<<case 7>>
<div class="guide-next">Her desk says "brb" and means it. She's drinking again - check the bar.</div>
<<case 8 9>>
<div class="guide-next">You promised her a date. You need $50 (you have <<print "$" + $money>>) and 60 respect (you have $respect) - then meet her at the bar<<if $day < $ella_next_day>>, starting tomorrow<</if>>.</div>
<<case 10>>
<div class="guide-next">She's waiting on your answer at the bar. Choosing to leave together ends the game; convincing her to stay (and to share you) takes 10 knowledge - you have $knowledge.</div>
<<case 11>>
<<if $knowledge >= 20>>
<div class="guide-next">You've read enough. Find Ella at the library and talk about it.</div>
<<else>>
<div class="guide-next">Raise your knowledge to 20 (you have $knowledge) - study, then find her at the library.</div>
<</if>>
<<case 12>>
<<if $ella_mmf_stage == 1>>
<div class="guide-next">Ella wants to talk at the library - about you, her, and Jamal.</div>
<<elseif $ella_mmf_stage == 2>>
<div class="guide-next">She said yes. Text Jamal about the threesome from the hideout laptop on a fresh day.</div>
<<elseif $ella_mmf_stage == 3>>
<div class="guide-next">The threesome is arranged - see it through.</div>
<<else>>
<div class="guide-next">End of Ella's content for now. Stay tuned!</div>
<</if>>
<<case -1>>
<div class="guide-next">You're leaving together. Gather the road fund:
<ul>
<li>A car - <<if $ella_end_car == 1>>marked and ready<<else>>scout one in The Hood<</if>></li>
<li>Construction site loot - <<if $ella_end_construction == 1>>taken<<else>>still there<</if>></li>
<li>Warehouse packages - <<if $ella_end_warehouse == 1>>taken<<else>>still there<</if>></li>
<li>The bar's cash - <<if $ella_end_bar == 1>>taken<<else>>still there<</if>></li>
<li>Adriana's electronics - <<if $ella_end_hacker == 1>>pocketed<<else>>still there<</if>></li>
</ul>
Then hit the road with Ella.</div>
<<default>>
<div class="guide-next">Ella's story is moving - find her at the library or the bar.</div>
<</switch>>
</details>
<details class="spoiler"><summary>Adriana (the hacker)</summary>
<<switch $hacker_level>>
<<case 0>>
<div class="guide-next">You'll meet her through the main quest - Jamal's letter arrives at 50 respect.</div>
<<case 1>>
<div class="guide-next">She offered to let you practice your "blacking skills" on her. Take her up on it - "Do pleasure" at the lair.</div>
<<case 2>>
<div class="guide-next">Blowjobs only for now - keep visiting "Do pleasure"; after enough practice she'll consider going further. Each scene costs 3 energy, and she's good for two a day, so one bus trip can buy two steps.</div>
<<case 3>>
<div class="guide-next">She's curious now. Next visit, pick "I REALLY want to try something else".</div>
<<case 4>>
<div class="guide-next">Facefucks are on the menu - keep at it (3 energy each, two a day). She's "training her other hole" in the meantime.</div>
<<case 5>>
<div class="guide-next">Next visit, "It's time to talk": she has a gloryhole fantasy. See it through to the end - finishing it is what fully wins her over (and unlocks the fake ID).</div>
<<default>>
<div class="guide-next">End of her content for now - but she still works: fake IDs for the main quest, and heat scrubbing.</div>
<</switch>>
<<if $hacker_level >= 2>>
<p class="guide-later">Service: from level 2 she scrubs heat for cash (price scales with heat, 3-day cooldown<<if $day < $scrub_next_day>> - next run on day $scrub_next_day<</if>>; girlfriend prices at level 5+).</p>
<</if>>
<<if $hacker_level >= 1 && $hacked_had_sex_today >= 2>>
<p class="guide-later">She's spent for today - come back tomorrow.</p>
<<elseif $hacker_level >= 1 && $hacked_had_sex_today == 1>>
<p class="guide-later">One more scene with her today if you have 3 energy for it.</p>
<</if>>
</details>
<details class="spoiler"><summary>Savannah, Mrs. Bond</summary>
<<if $target1 < 3>>
<div class="guide-next">The policeman's trophy wife - the main quest's first target. You'll reach her through Jamal's letter and Adriana's laptop.</div>
<<elseif $target1 == 3>>
<<if $savannah_approach == 0>>
<div class="guide-next">Work her from the hideout laptop, one action a day: pop-ups first, then porn links (interest 2+), then the toy delivery (interest 4+, $20). Interracial $savannah_blacked/7, affairs $savannah_cheating/7. Don't skip the cameras - watching her react is worth knowledge.<<if $savannah_action_made == 1>> Today's action is spent.<</if>></div>
<<else>>
<div class="guide-next">The approach is locked in. Start the operation from the hideout and follow it through her bedroom.</div>
<</if>>
<<else>>
<div class="guide-next">The operation is done and her husband's world is rubble. End of her content for now.</div>
<</if>>
</details>
<details class="spoiler"><summary>School: Principal Pollock</summary>
<<if $school_job == 0>>
<div class="guide-next">The school - and its principal - opens through the main quest.</div>
<<else>>
<<switch $pollock_stage>>
<<case 0>>
<div class="guide-next">You're beneath her notice, for now. School rep $school_rep/2 - clear morning work orders until the intercom calls you up.</div>
<<case 1>>
<<if $master_key >= 3 && not visited("Pollock Office Search")>>
<div class="guide-next">You hold the full master key. In the afternoon, while her Tesla is gone, let yourself into her office - the biggest leverage in the building lives behind her bottles.</div>
<<elseif $pollock_leverage >= 3>>
<div class="guide-next">You have something on her (leverage $pollock_leverage/10) - enough to knock on her door in the afternoon. Fair warning: it will not go the way you rehearsed, but it has to happen. Meanwhile: master key $master_key/3 pieces, from risky work orders.</div>
<<else>>
<div class="guide-next">Dig for dirt: leverage $pollock_leverage/10. Risky work orders and school events feed it, Tommy's stories add more - and once a day, an afternoon favor below decks (5 school rep, 2 energy) buys a guaranteed piece, up to 8/10. Master key pieces ($master_key/3) come from work orders too.</div>
<</if>>
<<case 2>>
<<if $pollock_leverage >= 10 && $master_key >= 3>>
<div class="guide-next">You have all of it. Afternoon, her corridor - walk into the principal's office and don't knock. That's as far as this build goes.</div>
<<else>>
<div class="guide-next">Half-measures failed - now you need everything: leverage $pollock_leverage/10, master key <<if $master_key >= 3>>complete<<else>>$master_key/3<</if>>. Leverage keeps coming from risky work orders, the daily below-decks favor (5 school rep, up to 8/10), her office (with the full key), and watching her lunch hour every few days. With both maxed, walk in on her in the afternoon.</div>
<</if>>
<</switch>>
<<if $pollock_husband == 0 && $pollock_stage >= 1>>
<p class="guide-later">Also: something's going on outside the civics room. Her husband is worth a look.</p>
<<elseif $pollock_husband == 1 && $pollock_stage >= 2>>
<p class="guide-later">At lunch, when Marcello's sad Corolla is in the visitor lot, take a quiet look at her office door.</p>
<<elseif $pollock_husband >= 2 && $pollock_stage >= 2 && $pollock_leverage < 10>>
<p class="guide-later">Her lunch hour keeps its schedule - the gap in the blind pays out fresh leverage every few days.</p>
<</if>>
<</if>>
</details>
<details class="spoiler"><summary>School: Britney Amber (the counselor)</summary>
<<if $school_job == 0>>
<div class="guide-next">You'll meet the counselor once you're working the school (main quest).</div>
<<elseif $amber_stage == 0>>
<div class="guide-next">School rep $school_rep/4 - earn it and she'll step in for you by the trophy case.</div>
<<elseif $amber_stage <= 3>>
<div class="guide-next">Visit her office in the afternoon - one "session" at a time<<if $day < $amber_next_day>>; she's booked today, come back tomorrow<</if>>.</div>
<<elseif $amber_stage == 4>>
<div class="guide-next">She's getting you a promotion. Give her a day or two, then stop by the office<<if $day < $amber_next_day>> (not today)<</if>>.</div>
<<elseif $amber_stage == 5>>
<div class="guide-next">She's been planning a thank-you for the couch session - visit her office<<if $day < $amber_next_day>> (she's booked today, come back tomorrow)<</if>>. Only after it does the coach's idea open up.</div>
<<else>>
<<if $amber_shared == 1>>
<div class="guide-next">Tommy said yes. Britney gets the final vote - her office, afternoon.</div>
<<elseif $amber_shared == 2>>
<div class="guide-next">It's on: stay late in the gym wing when Tommy locks up - her office light will be on.</div>
<<elseif $amber_shared == 3>>
<div class="guide-next">The office arrangement stands - stay late in the gym wing whenever Tommy locks up. The rest of her arc arrives in the next update.</div>
<<else>>
<div class="guide-next">The sessions are a standing arrangement. Her arc continues in the next update.</div>
<</if>>
<</if>>
</details>
<details class="spoiler"><summary>School: Coach Gunn and the detention kids</summary>
<<if $school_job == 0>>
<div class="guide-next">The gym wing opens with the school job (main quest).</div>
<<else>>
<p class="guide-later">The gym wing is an afternoon round, once a day. Your closet keeps the running numbers: standing, Pollock leverage, master key.</p>
<<if $gunn_trust == 0>>
<div class="guide-next">Coach: swing by the gym wing in the afternoon. Fold the bleachers in first, not after.</div>
<<elseif $gunn_trust == 1 && $gunn_case == 0>>
<div class="guide-next">Coach: go back to the gym wing - a vape accusation is about to bury him. You know which trash bag holds the proof (2 energy to dig it out), but will you act on it?</div>
<<elseif $gunn_case == -1>>
<div class="guide-next">Coach: you stayed out of his case. His door stays polite - and shut.</div>
<<elseif $gunn_trust == 3>>
<div class="guide-next">Coach: he owes you his pension. Take the after-hours beer in his office (gym wing) - and when the flag comes up, pick your ground. His story only moves once you have.</div>
<<elseif $gunn_sticker == 1>>
<div class="guide-next">Coach: you pressed him on the sticker. Give it a day or two, then swing by the gym wing and look at the truck.</div>
<<else>>
<div class="guide-next">Coach: Friday-night friends now. Once you're deep enough with Britney, he has an idea worth hearing (see her spoiler).</div>
<</if>>
<<if not $detention_job>>
<p class="guide-later">The kids: room 019 needs a supervisor - Britney's arc gets you the post.</p>
<<else>>
<p class="guide-later">The kids: you hold the detention post, but room 019 itself opens in the next update - DeShawn, Marcus and Tyrell are waiting there.</p>
<</if>>
<</if>>
</details>
<details class="spoiler"><summary>Room rent</summary>
<<if $rent_waived>>
<div class="guide-next">Rent is waived for this save - the room is yours for nothing. Nothing to plan around.</div>
<<else>>
<<set _rentNext = $rent_day > 0 ? $rent_day + 7 : 15>>
<p>The room above the corner store costs $20 a week, collected by envelope under the door. Nothing is due before day 15; after that it comes every 7 days, and it finds you wherever you sleep - the school closet counts.</p>
<p>The envelope is a choice, not an automatic deduction, and you can't leave the morning until you answer it:</p>
<ul>
<li><b>Pay $20</b> - only offered when you actually have it. No other effect.</li>
<li><b>Leave it empty while broke</b> - <span class="stat-name">Respect</span> -10.</li>
<li><b>Leave it empty with $20 in your pocket</b> - <span class="stat-name">Respect</span> -20. Refusing while you can afford it costs twice as much as being broke, so don't skip the envelope to save cash you already have.</li>
</ul>
<<if $day < 15>>
<div class="guide-next">First envelope lands on day 15 (in <<= 15 - $day>> days). Have $20 spare by then.</div>
<<else>>
<div class="guide-next">Next envelope on day _rentNext<<if _rentNext - $day <= 0>> (this morning)<<elseif _rentNext - $day == 1>> (tomorrow morning)<<else>> (in <<= _rentNext - $day>> days)<</if>>. You have <<print "$" + $money>>.</div>
<</if>>
<</if>>
</details>
<details class="spoiler"><summary>Around the hood</summary>
<ul>
<li><b>Earl the bartender</b> - <<if $bartender_stage < 3>>keep working the bar room; he warms up in stages (now $bartender_stage/3)<<else>>trusted: a free round and the back-table dice game, one game a day<</if>>.</li>
<li><b>Vittoria, the warehouse floor manager</b> - <<if $warehouse_manager_stage == 0>>work warehouse shifts<<elseif $warehouse_manager_stage < 5>>keep showing up for shifts - at most one scene a day, and she gets bolder each time<<else>>you know her office well now; scenes keep coming while you work<</if>>.</li>
<li><b>The construction site</b> - <<if $construction_wife == 0>>steady pay, a foreman worth helping - and one day a trophy wife shows up on site<<else>>the trophy-wife visit is done; the site is honest money now<</if>>.</li>
</ul>
</details>
<</nobr>>
<<return>><<nobr>>
/* Streak: worked yesterday too = the algorithm and the crew both remember you */
<<if $warehouse_last_day == $day - 1>>
<<set $warehouse_streak += 1>>
<<else>>
<<set $warehouse_streak = 1>>
<</if>>
<<set $warehouse_last_day = $day>>
<<album "img/general/warehouse_" 3 "webp" "location">>
/* ==== The shift itself ==== */
<<if visited() == 1>>
<p>The warehouse is a sprawling, fluorescent-lit labyrinth that hums with the constant churn of machinery and exhausted bodies. Rows upon rows of towering metal shelves stretch endlessly, packed with goods waiting to be processed, packed, and shipped. The air is stale and heavy with cardboard, sweat, and industrial cleaner.</p>
<p>Your shift begins with a scan - a barcode reader strapped to your wrist, chirping with orders that demand you move fast, faster, always faster. Each task is timed down to the second, every delay is flagged by an algorithm that doesn't care if you've worked ten hours or if your feet ache so badly they might give out.</p>
<<pic "img/warehouse/piss_bottles.jpg" "location">>
<p>Toilet breaks are timed too: four minutes, twice a shift, and the nearest bathroom is a six-minute walk from the far aisles. The veterans solved that math years ago - there's a shelf on row forty where the empty bottles stand in a quiet row like trophies. By mid-shift you're unzipping behind the pallet wrap with one eye on the aisle like everybody else. Dignity is the first thing the algorithm optimizes away.</p>
<p>By the end of the day, your muscles burn, your back screams, and your mind feels hollowed out from the monotony. But the quotas keep rising, and the paycheck is barely enough to justify the grind. As you clock out under the unfeeling gaze of security cameras, you can't shake the thought that you've been processed just like the products you've spent all day moving.</p>
<<pic "img/warehouse/vittoria_full.jpg" "story">>
<p>Above it all, on a mezzanine walkway lit better than anything on the floor, the manager paces with a tablet, logging every stalled second below. Vittoria never shouts. She just glances down at a slowing aisle, and a half-beat later the scanner on your wrist tightens the clock, as if she's the one actually running the algorithm and the software is just her hands. At one point you catch her looking at you, not your aisle, a beat too long for it to be about your numbers.</p>
<<else>>
/* Repeat visits: one short shift note instead of the full intro */
<<set _shiftFlavor = [
"Ten hours of the scanner chirping on your wrist. The algorithm shaved another two seconds off the per-item target this week; nobody announced it, your feet just found out.",
"The quota board says the floor is at 94%. The quota board has never once said 100%, because then they'd have to stop raising it.",
"Row forty's pissbottle shelf has grown since your last shift. Somebody's added a two-liter. You try not to think about what kind of day produces two liters of piss.",
"Four minutes, twice a shift. You spend one of today's bathroom breaks just standing in the stall with your eyes closed, which is the closest thing this building has to a chapel.",
"The intercom mispronounces three names today, including yours. The robotic voice never apologizes and never will.",
"A pallet comes down wrong on row nine and the whole floor freezes for exactly the four seconds it takes to see nobody's under it.",
"Same belts, same chirp, same burn in your shoulders by hour six. The shift doesn't leave a memory, just a number on your paycheck and two fewer of everything in your spine."
]>>
<<if $warehouse_manager_stage >= 3>>
<<run _shiftFlavor.push("An aisle camera follows you the length of row twelve, swiveling. Upstairs behind the keycard door there isn't a single one.")>>
<</if>>
<<set _shiftFlavor = _shiftFlavor.random()>>
<p><<= _shiftFlavor>></p>
<</if>>
<<set _pay = 20>>
<<if $warehouse_streak >= 3>>
<<set _pay += 5>>
<p>Three shifts without a gap. The system tags you "reliable" and the shift lead slips you the scanner that doesn't jam. It's five extra dollars.</p>
<</if>>
<<statchange "money" _pay>>
<<statchange "energy" -5>>
<<statchange "physical" -2>>
<hr class="section-break">
/* ==== Floor scene: Vittoria arc or a coworker vignette ==== */
/* Floor manager arc: 0 nothing, 1 bottle seen, 2 she circles, 3 lounge handjob, 4 lounge anal (favor unlocked), 5 shared with the crew; scene 6 = repeatable lounge visit that re-arms the favor.
Day gate: one Vittoria scene per day - a second shift the same day gets a plain floor. */
<<set _managerScene = 0>>
<<if $warehouse_manager_day == $day>>
/* Vittoria already had you today - the floor gets a plain shift */
<<elseif $warehouse_manager_stage == 0 && visited() > 1 && random(1,100) <= 30>>
<<set _managerScene = 1>>
<<elseif $warehouse_manager_stage == 1>>
<<set _managerScene = 2>>
<<elseif $warehouse_manager_stage == 2 && random(1,100) <= 30>>
<<set _managerScene = 3>>
<<elseif $warehouse_manager_stage == 3 && random(1,100) <= 30>>
<<set _managerScene = 4>>
<<elseif $warehouse_manager_stage == 4 && random(1,100) <= 30>>
<<set _managerScene = 5>>
<<elseif $warehouse_manager_stage == 5 && $warehouse_manager_favor == 0 && random(1,100) <= 30>>
<<set _managerScene = 6>>
<</if>>
<<if _managerScene > 0>>
<<set $warehouse_manager_day = $day>>
<</if>>
<<if _managerScene == 1>>
<<set $warehouse_manager_stage = 1>>
<p>Mid-shift, bladder full, row forty. You're halfway through filling your bottle when the click of heels rounds the endcap - Vittoria, the floor manager, tablet in hand, mouth already open to write you up. Then her eyes drop, and stay dropped. The write-up never comes. She looks at your big black cock, then at your face, taps something on her tablet that is definitely not a violation report, and walks away with her composure on maybe sixty percent power.</p>
<<pic "img/warehouse/vittoria_closeup.jpg" "story">>
<div class="req">Vittoria didn't write you up. You're not sure yet what she wrote instead.</div>
<<elseif _managerScene == 2>>
<<set $warehouse_manager_stage = 2>>
<p>Vittoria crouches to inspect the bottom shelf of your aisle, tablet angled like she's checking labels and not you. The squat pulls her blouse tight across her chest, and a button gives way with a pop, then another - she doesn't reach to fix it, just keeps reading barcodes like nothing happened, her tits spilling out inches from your knee.</p>
<<pic "img/warehouse/vittoria_squat.jpg" "story">>
<<elseif _managerScene == 3>>
<<set $warehouse_manager_stage = 3>>
<p>Vittoria has audited your aisle four times this week. Nobody's aisle gets audited four times. Today the audit ends at the foot of the metal staircase nobody from the floor ever climbs, the one with the keycard door at the top. She swipes her card and holds the door like she's already argued with herself about this and lost.</p>
<<speech "Vittoria" "Managers' lounge. No cameras up here.">>
<p>The room upstairs is another planet. Air conditioning that actually works. A coffee machine with real beans and no coin slot. A water cooler you can just drink from - cup after cup, no scanner timing the walk, no algorithm flagging the seconds. There's a sofa. There are plants. You've spent months pissing in bottles sixty feet below a room with plants in it.</p>
<<speech "Vittoria" "Drink something first. You're all dehydrated down there - I sign the incident reports, I know.">>
<<video "img/warehouse/vittoria_handjob.mp4">>
<p>You weren't going to say no to the only warm room in this building. She works your zipper with greedy hands, and the moment your cock springs out she exhales like she's been holding that breath since row forty. No clock up here, so she takes her time - slow, tight strokes, thumb dragging over the head, whispering filth about your scanner metrics into your ear while the cooler burbles in the corner. When you finally come she milks every drop out onto her fingers, inspects the mess like a number she finally approves of, and licks it clean. Then she straightens her lanyard and is a floor manager again in under four seconds.</p>
<<speech "Vittoria" "Your break ran long. I'll fix it in the system.">>
<div class="req">Whatever this is, it's escalating. And now you know what's at the top of the stairs.</div>
<<elseif _managerScene == 4>>
<<set $warehouse_manager_stage = 4>>
<p>End of shift, the intercom calls your badge number - not to the floor office this time, but up. In the lounge the blinds are down, the coffee machine is already hissing, and Vittoria is standing at the window that overlooks the floor, watching the night crew crawl the aisles below like it's an ant farm she owns.</p>
<<speech "Vittoria" "Eleven years I've run this floor. I piss on a schedule, I eat on a schedule, I got divorced on a schedule. Everything I have, the company has a copy of. Except one thing.">>
<p>She bends herself over the desk, hikes her skirt up over her hips, and hooks her thumb into her panties, dragging them aside. Not her pussy. Her hand reaches back and spreads herself open.</p>
<<speech "Vittoria" "My husband never got it. The company never got it. This one was always mine to give. So take it - and don't you dare be gentle, I've had eleven years of gentle-on-paper.">>
<<video "img/warehouse/vittoria_anal.mp4">>
<p>You spit on her asshole, line up, and push in while she claws the cushions and swears through her teeth. Then you fuck her ass doggystyle over the arm of the managers' desk. She comes twice - once cursing the company name, once cursing yours - and when you finally bury yourself deep and unload in her ass, she just stays there, bent and dripping on furniture the workers below will never be allowed to sit on.</p>
<p>She slides off the sofa arm onto the carpet, sits back on her heels, and looks up at you - blouse open, makeup wrecked, your cum leaking out of her ass. Then she pulls her hair back off her face like a woman getting ready for a meeting.</p>
<<speech "Vittoria" "Row forty. I've thought about it every day since. All that water they make you ration - I want it. On me. I want what the bottle gets.">>
<<video "img/warehouse/vittoria_piss_solo.mp4">>
<p>So you stand over her and let go. The stream hits her upturned face and she doesn't flinch - she tilts into it, mouth open, letting it drum off her forehead and sheet down her neck, soaking her massive fake tits. She rubs it into her skin with both hands like it's something expensive, the woman who times every bathroom break on the floor getting hosed down on a carpet the cleaners will never be told about. By the time you run dry she's kneeling in a dark ring of piss, dripping from her chin and her nipples, grinning up at you.</p>
<p>Afterward she pours you a coffee with shaking hands, no coin slot, no clock, and starts laughing - a real laugh, maybe her first one in this building.</p>
<<speech "Vittoria" "Fixed your metrics for the month. And if anything ever... falls off a shelf near you - once - I didn't see it.">>
<<set $warehouse_manager_favor = 1>>
<div class="req">Vittoria owes you one blind eye. Exactly one.</div>
<<elseif _managerScene == 5>>
<<set $warehouse_manager_stage = 5>>
<p>The lounge again, after close. Vittoria is on her third coffee and her second confession, standing at the window over the dark floor.</p>
<<speech "Vittoria" "I time their breaks. I write them up for the bottles. Eleven years of it. You know what I think about now, since row forty? All of them. The whole shift. I want to be the break room. And I want you to run the schedule.">>
<p>So you pick the crew yourself - the night-shift loaders, the dock guys, the ones whose names the intercom always mispronounces and whose piss has been going into bottles since before you got here. You badge them up the metal staircase one by one. Watching five floor workers walk into the managers' lounge is its own kind of pornography: they drink from the cooler cup after untimed cup, someone puts real beans through the machine just because he can, and Vittoria kneels down in the middle of the room she used to hide in.</p>
<<video "img/warehouse/blowbang.mp4">>
<p>The blowbang starts before the coffee's done brewing. Five cocks around her face and she works the line like a woman clearing a backlog, stroking two while she gags on a third, lanyard still on, spit stringing off her chin onto the carpet nobody downstairs is allowed to walk on. Then they move to the sofa...</p>
<<video "img/warehouse/gangbang.mp4">>
<p>They pass her around for the better part of an hour: double-penetrating her over the sofa arm, riding one loader while another pumps her from behind, her ass and pussy traded back and forth until she stops being able to say whose turn it is and starts just saying please. The men are quiet about it, almost reverent - nobody wants to wake whatever god runs the cameras that aren't up here - but every one of them comes in her or on her like he's settling a debt eleven years past due.</p>
<<speech "Vittoria" "One more thing. All that water you've been drinking. I time your bathroom breaks - so this is your bathroom break. All of you. Right here.">>
<<video "img/warehouse/piss_group.mp4">>
<p>She kneels in the middle of the lounge, mouth wide, and the men who've pissed in bottles for years empty themselves into the floor manager instead - stream after stream into her open mouth, down her blouse, into the carpet, while she swallows what she can, gulping and coughing and reaching for the next one, her hand jammed between her legs the whole time. She comes kneeling in a puddle of the night shift's piss, drenched and gasping, and then she starts laughing again - that same real laugh, louder now, echoing off the window over her spotless, silent floor.</p>
<<speech "Vittoria" "Nobody clocks out. I'm approving the overtime. All of it.">>
<<statchange "respect" 2>>
<p>The dock guys look at you differently on the way down the stairs. You're the man who got them into the lounge.</p>
<div class="req">The crew shared the lounge, the coffee, and the manager. Some class barriers you tear down one hole at a time.</div>
<<elseif _managerScene == 6>>
<p>Your badge number gets called up the stairs at clock-out. No pretext anymore - some nights it's just the two of you and the sofa arm, her ass raised and the blinds down; some nights she has you badge a couple of the dock guys up and the water cooler runs dry in more ways than one. Either way the coffee is free, the cameras don't exist, and your metrics come out immaculate.</p>
<<set _loungeVid = ["img/warehouse/vittoria_anal.mp4", "img/warehouse/vittoria_piss_solo.mp4", "img/warehouse/blowbang.mp4", "img/warehouse/gangbang.mp4", "img/warehouse/piss_group.mp4"].random()>>
<<video _loungeVid>>
<<set $warehouse_manager_favor = 1>>
<div class="req">Vittoria's blind eye is back on the payroll.</div>
<<else>>
<<set _coworker = random(1,6)>>
<<switch _coworker>>
<<case 1>>
<p>Gus, the old-timer who was scanning boxes here back when there was still a union to bust, works the aisle across from you all shift. He doesn't talk much.</p>
<<case 2>>
<p>The kid on row twelve does his night-school flashcards during the scanner's four-second sync delays - anatomy terms taped inside his wrist brace. "Two more semesters," he tells you at the water fountain.</p>
<<case 3>>
<p>Rosa works doubles - her badge is always already clocked in when you arrive and still lit when you leave. Two kids in the school uniforms she keeps as her phone wallpaper.</p>
<<case 4>>
<p>At break, Rosa presses a foil-wrapped tamale into your hands, waving off refusal in two languages. "You look like my brother when he doesn't eat." It's the best thing you've tasted all week.</p>
<<statchange "energy" 1>>
<<case 5>>
<<if $warehouse_manager_stage >= 2>>
<p>The crew's warmth has a draft in it lately. Gus won't meet your eyes, and when Vittoria's heels pass the aisle, somebody mutters "there goes your quota review" just loud enough. Everyone knows why your metrics never get checked. Belonging was the one thing this place paid honestly, and you've been spending it.</p>
<<statchange "respect" -2>>
<<else>>
<p>The kid catches your sleeve at clock-in: "Vittoria is on the floor in a mood, stay off row nine." He's right - by mid-shift two pickers from row nine are in the office getting their metrics read to them like charges.</p>
<</if>>
<<default>>
<p>A shift with no faces in it - just the belts, the chirp of the scanner, the robotic intercom voice mispronouncing every name it calls.</p>
<</switch>>
<</if>>
/* ==== Random event: the disposal tote ==== */
<<if random(1,100) <= 25>>
<hr class="section-break">
<p>Row thirty-one, bottom shelf: a tote flagged DAMAGED - DISPOSAL that is not damaged at all. A tablet, sealed, mislabeled by the same algorithm that times your piss. Nobody scans disposal totes. The camera on this aisle has been dead since winter. You have about forty seconds of being the only person who knows this exists.</p>
<div id="pilfer-choice">
<<linkreplace "Let it ride the belt">>
<<replace "#pilfer-output">>
<p>You scan it, box it, send it down the line to be destroyed for an insurance line-item. The system chirps its approval. Honesty in this building is a service you provide for free.</p>
<</replace>>
<<replace "#pilfer-choice">><</replace>>
<</linkreplace>><br>
<<linkreplace "Pocket it">>
<<replace "#pilfer-output">>
<<if random(1,100) <= 15>>
<<if $warehouse_manager_favor == 1>>
<p>Loss Prevention is waiting at the clock-out gate with the dead camera's not-so-dead twin footage queued up on a tablet. Your stomach drops - and then Vittoria appears, plucks the tablet from his hands, squints at it, and declares the timestamp corrupted and the tote correctly processed for disposal. You've just spent your favour.</p>
<<set $warehouse_manager_favor = 0>>
<<else>>
<p>Loss Prevention is waiting at the clock-out gate. They don't call the police - shrinkage reports are bad for the site's numbers - they just empty your jacket onto a table in front of the whole shift change, photograph your badge, and walk you out past Gus and Rosa and the kid, none of whom look at you. Your badge dies in the reader behind you.</p>
<div class="req">Banned from the warehouse for a week.</div>
<<set $warehouse_banned = $day + 7>>
<<set $warehouse_streak = 0>>
<</if>>
<<else>>
<<set _fence = random(25,60)>>
<p>The tote rides out under your jacket, one more damaged item in a building full of damaged items. The pawn guy behind the bar doesn't ask where retail electronics come from - nobody in the hood asks where anything comes from.</p>
<<statchange "money" _fence>>
<<statchange "heat" 5>>
<</if>>
<</replace>>
<<replace "#pilfer-choice">><</replace>>
<</linkreplace>>
</div>
<div id="pilfer-output"></div>
<</if>>
/* ==== Random event: overtime offer ==== */
<<if $energy >= 3 && random(1,100) <= 20>>
<hr class="section-break">
<p>The intercom crackles at clock-out: the outbound truck is short-staffed and overtime pays cash-adjacent rates for anyone who stays.</p>
<<linkreplace "Stay for the overtime">>
<p>Three more hours under the loading dock floodlights, throwing boxes into a trailer while your spine files a formal complaint.</p>
<<statchange "money" 15>>
<<statchange "energy" -3>>
<<statchange "physical" -1>>
<</linkreplace>>
<</if>>
<hr class="section-break">
<<if $ella_end_quest == 1 && $ella_end_warehouse == 0>>
<<linkreplace "[Ella]Steal some packages">>
<p>You replace the valuable contents of several packages with trash. By the time they will be delivered, you will be far away from here.</p>
<<set $ella_end_warehouse = 1>>
<</linkreplace>><br>
<</if>>
[[Return|The Hood]]
<</nobr>>