Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
!! Supporters
Firstly, I wish to express my great appreciation to my single SubscribeStar supporter, even though (at the time of this writing) I haven't yet publically released anything. Lol.
@@.Green;Austin Haney@@
!! Testers
Am extra special thanks to those who have helped me beta test (presented alphabetically). This game couldn't be made without you.
@@.Yellow;Austin, Belgaesh, Blankspace, Kira, Taco, and anyone else I've forgotten to mention@@
!! TFGameSite
I'm really gratfedful to TFGameSite, for providing fora upon which to promote this game to its intended audience. If you found this game elsewhere, please <a href="https://tfgames.site/index.php">check it out</a>!
!! You, the Player
And foremost, many thanks to <b>you</b>, for trying out the game. I hope you enjoy it!!!
<center><<link "Close.">><<run Dialog.close()>><</link>></center>
<<if Config.debug>>\
<b>WARNING:</b> This is a debug build, so you can select which chapter you start with. However, this can break things! If you skip content, you should be sure to use the Debug menu to set your aspects how you want, or things will probably be really screwed up!
There's still no way to set aspects on non-viewpoint characters. I'll fix that later........
<<nobr>>
<<unset $hideSidebarGameplayButtons>>
<<for _i = 1 ; ; _i++>>
<<set _ch = _i + "">>
<<if _ch.length < 2>>
<<set _ch = "0"+_ch>>
<</if>>
<<if !Story.has("Ch"+_ch)>>
<<break>>
<</if>>
<<print '[[Chapter '+_i+'->Ch'+_ch+']]'>>
<br />
<</for>>
<</nobr>>\
<<else>>\
<<nobr>>
<<set $storySubtitle = "Foreword">>
<<script>>
UIBar.stow();
UIBar.hide();
<</script>>
<</nobr>>\
<table><tr><td width="50%"><center>You are Shay Perkins, a runty nerd in your senior year of high school, constantly harassed by your bitchy twin sister.
You spend most of your time playing D&D with your equally nerdy friends, or sitting alone in your room writing bad interactive fiction on antique computers.
But soon all that will be thrown into disarray in...</center></td><td width="50%"><a data-passage="Adult Content Blurb"><<image "Cover">></a></td></tr></table>
<center>[[(Continue)->Adult Content Blurb]]
<<popuplink "Credits" "(Credits)">><</popuplink>></center>
<</if>>\//\
!! An annoying but necessary foreword from the author:
This story contains explicit adult content centered around involuntary mind/body swap and the sexual confusion and situations resulting from it. There are also traps. These themes are, of course, inappropriate for children or the prudish.
All of the characters represented in this story are consenting adults of legal age.
There may also be parts of this //''fictional''// story that the easily-offended might consider to be "politically incorrect". This may or may not be intentional. The attitudes of the fictional characters in this story should //''not''//, in general, be conflated with the author's own attitudes. Because that would be silly!
So if you are of too tender an age, oversensitive of feels, or if this kind of thing just isn't to your taste, then exit and read no further! Otherwise thank you for trying out the story. I hope you enjoy it!
Please feel free to use the links to the left if you'd like to comment, report bugs, support, send death threats, or whatever. Thanks! :D//
* [[Begin.->Begin]]
<<script>> UIBar.unstow(); UIBar.show(); <</script>> \<<nobr>>
<<unset $hideSidebarGameplayButtons>>
<<include "Ch01">>
<</nobr>><<nobr>>
<<scene "Shay">>
<<set obj("Shay").apparel.override = "your birthday suit">>
<<set obj("Brandi").apparel.override = "a towel">>
<<reveal "Brandi">><<hide "Brandi">> /* Brandi isn't present, but is outside the door. */
<</scene>>
<</nobr>>\
<<include "Ch01 Sc010 P01">>
<<location Bathroom notext>>
<<set $Flags.showedDialogTutorial = true>><<dialog Brandi>>"Hurry up, Faggot! Beat your little pud somewhere else! If you make me late to meet Logan, I'll fucking kill you!"<</dialog>><<set $Flags.showedDialogTutorial = false>>
That is your twin sister Brandi, shouting through the bathroom door. Typical.
<<choose 'Continue.'>>\
In point of fact you are //not// gay. Not a bit! You've never been very interested in having a girlfriend, but that doesn't mean anything! ...Right?
Nor are you "beating your pud" (at the moment), but have just stepped out of a relaxing morning shower.
Brandi continues to shout, pounding on the door:
<<dialog Brandi>>"Come ON!"<</dialog>>
Well, formerly relaxing, that is.
<<choose "Tell her to fuck right off!" canon>>\
You shout back through the door:
<<dialog Shay>>"Fuck off, Slutbeast! Use Mom and Dad's bathroom!"<</dialog>>
<<include "Ch01 Sc010 P01.1">>
<<dialog Brandi>>"Goddammit you little ass weasel, all my things are in //this// bathroom! HURRY THE FUCK UP!!"<</dialog>>
<<include "Ch01 Sc010 P01.2">>\
<<or "Ignore her.">>\
<<include "Ch01 Sc010 P01.1">>
<<dialog Brandi>>"Goddammit you little ass weasel, HURRY THE FUCK UP BEFORE I COME IN THERE AND TEAR IT OFF!!"<</dialog>>
<<include "Ch01 Sc010 P01.2">>\
<</choose>>\
<</choose>>\
She is such a bitch, she and her mean girls clique. Sometimes you wish they'd all just choke to death on their own narcissistic sense of self-entitlement.
<<reveal "Mom and Dad">><<hide "Mom and Dad">> /* Mom and Dad are not present, just mentioned. */ \
Your Mom and Dad are on an expedition in South America for a month or so, starting yesterday. They usually keep Brandi at least //somewhat// cowed when they are around.
You don't know if you can put up with her shit for a whole month again. Maybe you can stay with Melvin until they get back...
<<hint>>
''She is too scary! Vacate the bathroom!''
<blockquote>This choice gives Shay the ''Unassertive'' aspect. In addition to making him more of a pushover, ''Unassertive'' also makes Shay more submissive sexually. Furthermore, if you are a particular fan of Courtney, this might also be a good option to choose, as some of her content is only available to an unassertive Shay.</blockquote>
''What a bitch! Waste time just to piss her off more!''
<blockquote>This choice gives Shay the ''Assertive'' aspect. In addition to making Shay less of a pushover, ''Assertive'' also makes him more dominant sexually. Furthermore, if you want Shay to be able to choose to be on top during some M/M sexual encounters, this might be a good option to choose.</blockquote>
''Do what you need to do, but don't be a dick about it.''
<blockquote>This is a neutral route. Shay won't display any particular affinity towards hardcore D/s stuff, and his sexual encounters and fantasies will be more romantic than fetishistic (but he'll still be a bottom in M/M scenes). If you're a sappy romantic or are into trad-traps or demure good-bois, this might be a good option to choose.
But don't worry! This doesn't really lead to less pr0n. After all, the pr0n is what we're here for, right? ;D This path just subtly changes the nature of it.</blockquote>
<</hint>>\
\
<<choose "She is too scary! Vacate the bathroom!">>\
<<aspect Shay del assertive>><</aspect>><<aspect Shay add unassertive>>You've never been very assertive, especially where Brandi is concerned.<</aspect>>
You quickly wrap a towel around your waist and open the door. Best do as she wishes...
<<set obj("Shay").apparel.override = "a towel">>\
<<include "Ch01 Sc010 P03">>\
<<or "What a bitch! Waste time just to piss her off more!">>\
<<aspect Shay del unassertive>><</aspect>><<aspect Shay add assertive>>Growing up with Brandi has made you fairly assertive, if a bit passive-aggressive at times.<</aspect>>
<<include "Ch01 Sc010 P02">>\
<<or "Do what you need to do, but don't be a dick about it." canon>>\
<<dialog Shay>>"Ok, ok! I'm almost done!"<</dialog>>
You spray on some deodorant quickly, then wrap a towel around your waist and open the door.
<<set obj("Shay").apparel.override = "a towel">>\
<<include "Ch01 Sc010 P03">>\
<</choose>>\
You brush you teeth. Again. Slowly and thoroughly.
Brandi huffs and continues to pound on the door:
<<dialog Brandi>>"Come ON! I have to MOISTURIZE!"<</dialog>>
<<choose "Gargle loudly.">>\
Minty fresh!
Brandi pounds more loudly, her voice almost a snarl:
<<dialog Brandi>>"NOW, Faggot!"<</dialog>>
<<choose "As much as you enjoy messing with her, you think you're done here.">>\
You spray on some deodorant, then wrap a towel around your waist and open the door.
<<set obj("Shay").apparel.override = "a towel">>\
<<include "Ch01 Sc010 P03">>\
<</choose>>\
<</choose>>\
<<reveal Brandi>><<dialog Brandi>>"About time! Jeez..."<</dialog>>
Brandi pushes past you, then slams the door so fast that it smacks you on the ass.
<<choose "You go back to your room to dress.">>\
<<goto "Ch01 Sc020">>\
<</choose>>\<<nobr>>
<<scene "Shay">>
<<set obj("Shay").apparel.override = "a pair of boxer shorts, unremarkable jeans, a faded t-shirt with a graphic of a 20-sided die, and a pair of worn sneakers">>
<<set obj("Brandi").apparel.override = "absolutely nothing">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc020 P01">>
\<<location "Bedroom, Shay">>\
<<choose "Kick through a pile of clean(?) clothes and find something to wear.">>\
<<include "Clothing and Apparel Tutorial">>\
<</choose>>\
When you step out into the hall, you hear the shower running.
<<hint>>Peeping here will enable incest content.<</hint>>\
\
<<choose "Peep?">>\
<<include "Ch01 Sc020 P03">>\
<<or "Ew, no way! Just go to school." canon>>\
<<goto "Ch01 Sc030">>\
<</choose>>\
This is kind of fucked up... Are you sure you want to do this? She's such a bitch!
<<choose "Yes. PEEP DAMMIT!">>\
<<include "Ch01 Sc020 P04">>\
<<or "Just go to school.">>\
<<goto "Ch01 Sc030">>\
<</choose>>\
<<reveal Brandi>><<image "Intimate - Shower, Brandi, 02" right 300px >><<aspect Shay add arousedByBrandi>>Even if she is a bitch, she is ''hot''. Is it weird to think of your own sister like that?<</aspect>>
You open the bathroom door just a crack and peek in. The shower glass is all fogged up. You can't see anything other than her shape. The curve of her hips and chest. Her hands wandering over her body as she washes. Her breasts... Her thighs... Her crotch...
What must it feel like, to have a body like that? To touch a body like that?
<<aspect Shay add horny>>Your cock hardens to its full 4", inside your pants.<</aspect>>
<<choose "Touch it...">>\
<<include "Ch01 Sc020 P05">>\
<<or "Fuck no! Stop this weirdness and go to school!">>\
<<goto "Ch01 Sc030">>\
<</choose>>\
<<video "Intimate - Boxer Stroke Through, S, 001" left 300px >>You slide your hand down your pants, cup your hard dick through your boxers, and begin to stroke it.
It feels amazing... Way better than watching porn.
<<aspect Shay add outOfControlLibido>>Who cares if it's weird, when it feels this good...<</aspect>>
<<hint>>With an ''Out of Control Libido'', Shay's self-control is lowered and he is far more obsessed with sex.
While horny, he will tend to make very poor sexual choices. If given the choice between a sexual activity or something else, he will nearly always choose sex. If he is too horny for too long, he may even start masturbating in places he ought not!
Additionally, he will spend much more time masturbating in the evenings, leaving less time for other activities.<</hint>>\
\
<<video "Intimate - Shower Wank, F, 001" right 300px >>You continue to watch her shape through the fogged glass... Her washing seems to be focused on her crotch now...
Did you just hear a soft moan, over the noise of the water?
<<if hasAspect("Shay","assertive")>>\
As you feel yourself getting close, you can't help but think about stuffing your cock into her mouth, making her suck it, shutting her up as she tries to say something mean...
Fuck yes, you'd stuff it down her throat, make her //your bitch//...
<<elseif hasAspect("Shay","unassertive")>>\
As you feel yourself getting close, you can't help but think of the way she demeans you, the way she calls you "Faggot". You realize that you are getting off on it...
Fuck yes, it feels so good... You could be her Faggot, if it meant feeling this good...
<<else>>\
Holy shit, she's masturbating! It pushes you over the edge!
<</if>>\
<<choose "You are so CLOSE, and it feels so GOOD! You are going to CUM!">>\
<<include "Ch01 Sc020 P06">>\
<<or "Enough! Stop this insanity!">>\
<<include "Ch01 Sc020 P07">>\
<</choose>>\
''//@@.Red;Suddenly the shower cuts off!@@
@@.Red;The shower door is opening! SHIT!!!@@//''
You yank your hand out of your pants, your orgasm ruined!
You pull the door shut quietly, not letting it latch, and hurry downstairs.
<<aspect Brandi add suspectsShayOfPeeping>>You hope she doesn't suspect that you were peeping!<</aspect>>
Although your cock stays semi-hard, you regain some self-control.
<<aspect say horny>>But you are still //really// horny.<</aspect>>\
<<choose "Go to school.">>\
<<goto "Ch01 Sc030">>\
<</choose>>\
You ease the door shut, feel it latch, and hurry downstairs.
<<aspect say horny>>Although your cock stays half-hard, you regain some self-control.<</aspect>>\
<<choose "Go to school.">>\
<<goto "Ch01 Sc030">>\
<</choose>>\<<nobr>>
<<scene "Shay" "Hobo">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc030 P01">>
<<location "Park" notext>>
You shortcut through the park and head towards school. It's only a few blocks.
<<location "Park" noimage>>
<<choose "Continue.">>\
One such hobo takes a pull from a bottle of Mad Dog and eyeballs you as you hurry along. He is filthy and greasy, with a long ratty beard. He is wearing three flannel shirts on top of each other and a knit cap, despite it being unseasonably warm for mid-November.
He shouts at you drunkenly:
<<dialog Hobo>>"Hey boy! I see your skein, trailing. Silver. Sailor. Like a frayed sweater. Holding you back. Unraveling to nothing the harder you try to pull ahead. But you gotta take that shit. Like a cat. A fucking cat, yeah? You know?"<</dialog>>
<<choose "Put your head down and keep walking.">>\
<<include "Ch01 Sc030 P02">>\
<<or "Stop and engage with the crazy hobo." canon>>\
You stop and turn to the hobo.
<<dialog Shay>>"Do I look like a cat, old man?"<</dialog>>
The hobo seems genuinely surprised that you stopped, much less spoke to him, and it takes a moment for him to collect himself. But with another long pull on his Mad Dog, followed by an odiferous belch, he continues.
<<dialog Hobo>>"Cat don't give a shit, son. He //owns// his //own// fucking skein. Ain't nobody unravel it but his-self. He takes it, plays with it like a bloody maimed mouse stuck in a bathtub. Eats that son-of-a-bitch alive. Like that snake. Yeah?"<</dialog>>
<<choose "This is obviously going nowhere. Continue on to school.">>\
<<dialog Shay>>"Uh, ok, sure. I'll just... Be going now..."<</dialog>><<if hasAspect("Shay","horny")>>
<<aspect Shay del horny>>Talking to the hobo completely killed your boner from earlier. Maybe that's a good thing!<</aspect>><</if>>
<<include "Ch01 Sc030 P02">>\
<</choose>>\
<</choose>>\
<</choose>>\
You put your head down and hurry on.
The hobo shouts after you:
<<dialog Hobo>>"You unravel, you disappear. Nothing, son. You want to be nothing? Ain't nothing to nothing but nothing..."<</dialog>>
<<choose "Ugh, keep hurrying.">>\
<<goto "Ch01 Sc040">>\
<</choose>>\<<nobr>>
<<scene Shay>>
<<set obj("Brandi").apparel.override = "a bright pink tube top, a short black skirt, and a pair of designer ankle boots">>
<<set obj("Logan").apparel.override = "a faded pair of jeans, a plain white t-shirt that is tight enough to show off his physique, a pair of scuffed work boots, and a Zodd Academy varsity jacket">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc040 P01">>
<<location "School Building" notext>>
You continue on, past the corner market and the local Wear-Wolf branch store, until you are approaching your school.
<<location "School Building" noimage>>
<<choose "Continue.">>\
<<reveal Brandi>><<reveal Logan>>As you approach, you see Brandi sitting on the hood of a car, sucking face with some dude. That must be her current boy-toy, Logan. He is tall, tanned, and muscular, and is wearing a varsity jacket with that awful green and purple "Z" stitched on.
<<image "Misc - Rusty Buick" right 300px >>And it must be his parents' car, a battered old Buick with rust-holes in the fenders and a faded //My Son/Daughter is an Honor Roll Student at Zodd Academy// sticker in the window. Classy (not). It isn't something you'd imagine any self-respecting jock to be driving.
<<if hasAspect("Shay","arousedByBrandi")>>\
<<choose "It's kind of hot, watching her make out...">>\
<<image "Intimate - Kiss, MF" left 300px >>She sucks his tongue, her cheeks hollow, slurping, drooling.
You wonder if she sucks dick like that, and feel your cock shift a little in arousal.
Logan doesn't seem quite as enthusiastic, though. He pulls away, cringing a little. Brandi doesn't seem to notice the cringe. She doesn't notice you passing by, either.
She gives him her best //come hither// look.
<<dialog Brandi>>"Soooo, baby... My parents are gone for a whole month. Want to come over tonight and have some fun?"<</dialog>>
She shows a broad expanse of thigh, squirming against him.
<<if hasAspect("Shay","arousedByBrandi") && hasAspect("Shay","horny")>>\
<<aspect say horny>>That sets you off. Your dick tries to harden in your jeans, but it's pointed the wrong way. You bend forward a little, painfully.<</aspect>>\
<<choose "You adjust your boner, and carry your backpack in front so that nobody will see.">>\
<<include "Ch01 Sc040 P02">>\
<</choose>>\
<<elseif hasAspect("Shay","arousedByBrandi")>>\
That thigh... You'll surely be thinking about that <<if hasAspect("Shay","outOfControlLibido")>>when<<else>>if<</if>> you jerk off tonight.
<<choose "You squirm a little awkwardly, as your cock semi-hardens. But you manage to avoid getting a full-on boner.">>\
<<include "Ch01 Sc040 P02">>\
<</choose>>\
<<else>>\
@@.Red;''BUG: Shay somehow has 'horny' but not 'arousedByBrandi'. This shouldn't be able to happen at this point in the story!<br /><br />''@@\
<</if>>\
<</choose>>\
<<else>>\
<<choose "Brandi sucking face is foul and gross. But like a car wreck in progress, you just can't seem to look away.">>\
<<image "Intimate - Kiss, MF" left 300px >>She sucks his face as if she is a lamprey trying to suck the blood out of a dead trout. It is disgusting to watch, her cheeks hollow as she hoovers his tongue, slurping, drooling. You half expect her to swallow his whole head and bite it off.
Logan pulls away, cringing a little. Brandi doesn't seem to notice the cringe. She doesn't notice you passing by, either.
She gives him her best //come hither// look.
<<dialog Brandi>>"Soooo, baby... My parents are gone for a whole month. Want to come over tonight and have some fun?"<</dialog>>
She shows some thigh, squirming against him.
<<choose "You throw up a little in your mouth.">>\
<<include "Ch01 Sc040 P02">>\
<</choose>>\
<</choose>>\
<</if>>\
<</choose>>\
Logan looks like a deer caught in headlights.
<<dialog Logan>>"Uhhh, sorry babe... Uh.... I bought a car of my own off this dude on Craigslist, and I have to go pick it up tonight. Yeah. Ok?"<</dialog>>
Brandi huffs and turns away from him, crossing her arms. Her voice rises to a screech, as heads turn.
<<dialog Brandi>>"Well, why don't you just FUCK YOUR FUCKING CAR THEN GODDAMMIT?!"<</dialog>>
Logan winces quietly.
<<choose "Continue.">>\
<<dialog Logan>>"Aw, don't be like that, babe. It's a sweet car. A //classic//."<</dialog>>
She glowers, and he quickly adds:
<<dialog Logan>>"You'll look great in it!"<</dialog>>
This seems to mollify her somewhat, and she goes back to sucking his face. That <<if hasAspect("Shay","arousedByBrandi")>>lucky<<else>>poor<</if>> bastard.
You see your friends ahead, waiting under the statue as usual.
<<choose "Join your friends on the lawn.">>\
<<goto "Ch01 Sc050">>\
<</choose>>\
<</choose>>\<<nobr>>
<<scene Shay Ada Melvin>>
<<set obj("Ada").apparel.override = "a spaghetti-top with a Neil Gaiman graphic on it, a long black skirt, a pair of tanker boots, and a silver necklace with a small cross on it">>
<<set obj("Melvin").apparel.override = "a pair of plus-sized sweat pants, a rumpled polo shirt, and a pair of sneakers that fasten with velcro">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc050 P01">>
<<location "School Statue" notext>>
Your friends Ada and Melvin are waiting on the school lawn under the statue, deep in conversation. You overhear the tail end as you approach. D&D stuff, of course.
<<choose "Approach.">>\
Melvin is gushing excitedly as you approach.
<<dialog Melvin>>"...and then the Aasimar's 'Daylight' ability counts as being able to cast second level arcane spells, and he can shortcut into Mystic Theurge at level 2/1 instead of 3/3!"<</dialog>>
He is short and very... "heavyset", his second chin wobbling as he speaks.
Ada is a tall, skinny, flat-chested waif of a girl, not //quite// goth, but edging on it. But her voice is husky, a semitone lower than Melvin's, a strange contrast.
<<dialog Ada>>"No way, that's total cheese, man. For the Aasimar, 'Daylight' is a 'spell-//like// ability', not a literal 'spell'. Not in my game!"<</dialog>>
Melvin deflates.
<<choose "Continue.">>\
<<dialog Melvin>>"But... We need a wizard //and// a cleric, and with Shay's character dying last session --"<</dialog>>
He notices your approach, and brightens.
<<dialog Melvin>>Oh hey, Shay!"<</dialog>>
<<if hasAspect("Shay","outOfControlLibido") && hasAspect("Shay","horny")>>\
<<choose "Continue.">>\
<<dialog Shay>>"Hey man! Hey Ada!"<</dialog>>
The three of you fistbump.
<<aspect say outOfControlLibido horny>>You really want to stop and hang out, but the events of the morning have left you so fucking horny that you can't think straight. All you can think about is cumming.<</aspect>>\
<<hint>>If you'd rather Shay stop and hang out with his friends here, press the "Replay Last Scene" button in the left sidebar a couple of times, and choose something different during the encounter with the hobo in the park.<</hint>>\
\
<<dialog Shay>>"I can't hang out. Uh... Gotta go return a library book!"<</dialog>>
<<choose "You made your excuse. Head for the bathroom.">>\
<<goto "Ch01 Sc050 P02">>
<</choose>>\
<</choose>>\
<<else>>\
\<<hint>>If you'd rather Shay ditch his friends and do something sexually questionable here, try to get him to this scene with the ''Horny'' and ''Out of Control Libido'' aspects. You might have to peep on Brandi, then avoid the Hobo. You can press the "Replay Last Scene" button (←) a few times and redo things if you want.<</hint>>\
<<choose "Sit with them.">>\
<<dialog Shay>>"Hey man! Hey Ada!"<</dialog>>
The three of you fistbump.
<<dialog Shay>>"What's up my dudes?"<</dialog>>
<<choose "Continue.">>\
<<dialog Ada>>"We were just taking about the game."<</dialog>>
She glances at Melvin.
<<dialog Ada>>"And musing on what kind of character you might roll up for tomorrow, since Theor died. What we //actually// need, I think, is a fourth player."<</dialog>>
You sigh inwardly.
<<choose "Continue.">>\
<<dialog Shay>>"Eh... I'll just roll up another cleric."<</dialog>>
<<dialog Melvin>>"But you //always// play clerics!"<</dialog>>
<<dialog Shay>>"Damn right! They're like a fighter-mage, but not broken. And if you choose the right domains, OP as fuck!"<</dialog>>
<<choose "Continue.">>\
You look to Ada.
<<dialog Shay>>"You know, we ought to play a vintage edition sometime. Maybe B/X? It's a lot simpler, and best of all it doesn't take an hour to roll up a character..."<</dialog>>
Ada laughs ruefully.
<<dialog Ada>>"But I spent all that money on all the new edition stuff... But yeah, you may be right..."<</dialog>>
With that, the bell rings, calling you all inside for another boring day.
<<choose "Go to class.">>\
<<goto "Ch01 Sc060">>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</if>>
<</choose>>\
<</choose>>\
<<location "School Bathroom" notext>>
<<hide Ada>><<hide Melvin>>
Your friends seem disappointed. You hurry off, your cock still throbbing in your jeans.
You burst into the bathroom and lock yourself into a stall, tearing open your pants and grabbing your throbbing 4" prick.
<<choose "Jerk it.">>\
<<include "Ch01 Sc050 P03">>
<</choose>>\
You aim it at the toilet bowl. Jerking your meat. Hard. Fast. Rubbing your balls with your other hand, squeezing, kneading.
<blockquote class="imagination"><<video "Intimate - Wank, S, 001" right 300px >>//<<if hasAspect("Shay","assertive")>>\
You think about coaxing Brandi's face onto your dick, until she gets into into it. She is your bitch, and sucks it willingly, the same way she was sucking Logan's face.
You pull her hair and shove your cock down her throat. She chokes, but keeps sucking...
<<elseif hasAspect("Shay","unassertive")>>\
/You think about Brandi pushing you down on your bed.
<<dialog Brandi>>"Jerk it, Faggot!"<</dialog>>
You do. You jerk it so hard. You jerk it for Her.
At the last minute, she slaps your hand away and closes her lips around the head of your prick... You're her Faggot. You'll do whatever she wishes. It feels so good. So perfect.
<<else>>\
You think about Brandi sucking your dick the same the same way she was sucking Logan's face. You run your fingers through her hair, stare into her eyes...
<</if>>//</blockquote>\
You are so horny that it doesn't take long. You're so close...
<<choose "CUM!">>\
<<video "Intimate - Cum, S, 001" right 300px >>//FUCK!// Your cock jerks hard, your rope of cum squirting all over the toilet seat.
You cry out, catching yourself against the side of the stall.
The bathroom door slams closed, and someone shouts into the hallway as they exit:
<<dialog>>"Cock knocker in da houuuuse!"<</dialog>>
SHIT! Someone else was in here? Did they realize it was you?!?
You are burning with shame. You wait for a long while, to make sure that nobody else is still here, before exiting the stall.
<<aspect Shay delete horny>>At least you're not horny anymore.<</aspect>>\
With that, the bell rings, calling you to class and another boring day.
<<choose "Go to class.">>\
<<goto "Ch01 Sc060">>\
<</choose>>\
<</choose>>\<<nobr>>
<<scene Shay Melvin Brandi Teacher>>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc060 P01">>
<<location "Classroom" notext>>
Your first class is American History. You and Melvin have this class together, and sit next to each other on one side of the room. Brandi sits on the other side, next to the windows.
<<choose "Take your seat.">>\
The teacher drones on, his voice a buzzing monotone. You struggle to stay awake. You are hungry for lunch already, and it's only first period.
<<dialog Teacher>>"So class, who can tell me who is buried in Grant's Tomb?"<</dialog>>
The teacher looks over the class, the students' dazed droopy eyes staring back from faces propped up on forearms, drool trickling from mouth-corners.
<<choose "Force yourself to stay awake.">>\
<<dialog Teacher>>"Anyone? Brandi, how about you?"<</dialog>>
Brandi jumps, snatching her gaze back from the window.
<<dialog Brandi>>"Uhhh... Who? What? Kennedy! He died... right?"<</dialog>>
<<choose "Facepalm.">>\
You facepalm, shake your head, and mutter:
<<dialog Shay>>"Sooooo stupid,"<</dialog>>
The class titters. Brandi and the teacher both glare at you.
As the lecture continues, Melvin whispers back, quietly enough that nobody else can hear:
<<dialog Melvin>>"But dude! She's so //hoooooot//."<</dialog>>
He stretches //hot// out into multiple syllables, his eyes staring off into the distance.
<<choose "Continue.">>\
Melvin snaps back from whatever reverie he was in and makes a rude hip-pumping gesture.
<<dialog Melvin>>"I'd totally let her suck my dick, you know."<</dialog>>
<<if hasAspect("Shay","arousedByBrandi") && hasAspect("Shay","unassertive")>>\
<<aspect say arousedByBrandi>>Would you be her plaything, even though she is your sister? Maybe... She's just so fucking ''//hot//''...<</aspect>>
<<elseif hasAspect("Shay","arousedByBrandi")>>\
<<aspect say arousedByBrandi>>Would you fuck her too, even though she is your sister? Maybe... She's just so fucking ''//hot//''...<</aspect>>
<<else>>\
You cringe. So much for being hungry for lunch... She is just so //nasty//!
<</if>>\
But although Melvin can be a little crass and socially awkward, he is a great guy, and he deserves a nice girl. Not some gross slut like Brandi. <<if hasAspect("Shay","arousedByBrandi")>>Sure, she's ''//hot//'', but that doesn't mean she's not also a gross slut.<</if>>
<<hint>>Encouraging Melvin's crush on Brandi will give him the ''Aroused by Brandi'' aspect.
This choice affects the dynamics between Shay, Melvin, and Brandi later in the story.<</hint>>\
\
<<choose "Encourage his crush on Brandi.">>\
<<aspect Melvin add arousedByBrandi>>Melvin has always had it bad for Brandi. Whenever you try to talk him out of it, he just gets depressed. So you might as well encourage it...<</aspect>>
<<if hasAspect("Shay","arousedByBrandi") && hasAspect("Shay","assertive")>>\
You smirk at Melvin.
<<dialog Shay>>"I bet she could really smoke your cock, man. Like a real whore. I mean, she's sucked off half the football team, so she's had plenty of practice."<</dialog>>
Melvin bites his lip and squirms. You can't tell if he's grossed out, aroused, or both.
<<elseif hasAspect("Shay","arousedByBrandi") && hasAspect("Shay","unassertive")>>\
You smile at Melvin.
<<dialog Shay>>"I bet she'd tie you down, mount up, and play cowgirl. She'd make you beg to cum in her."<</dialog>>
Melvin bites his lip and squirms. You can't tell if he's grossed out, aroused, or both.
<<else>>\
You smile at Melvin.
<<dialog Shay>>"Maybe you'd be good for her. You're a great guy, not some douchey jock like she's used to."<</dialog>>
He stares at her across the room, bites his lip, and squirms.
<</if>>\
<<choose "Power through until lunchtime.">>\
<<goto "Ch01 Sc070">>\
<</choose>>\
<<or "Discourage his crush on Brandi." canon>>\
You look at him pointedly.
<<dialog Shay>>"Don't you mean THOT? Besides, with her bulldog-mouth she'd more likely bite it off."<</dialog>>
Melvin winces and squeezes his thighs together.
<<dialog Melvin>>"Aw, dude... That's harsh. Harsh."<</dialog>>
<<choose "Power through until lunchtime.">>\
<<goto "Ch01 Sc070">>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\<<nobr>>
<<scene Shay>>
<<set obj("Courtney").apparel.override = "a perfectly-fitted knee-length white dress, a pair of dark stockings with seams up the back, a pair of strappy white heels, and a fancy white fur shoulder-wrap">>
<<set obj("Tara").apparel.override = "a very expensive-looking blue and yellow diagonally striped skirt and white blouse (which still somehow manages to look frumpy on her), and a pair of matching flats">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc070 P01">>
<<location "School Statue" notext>>
You manage to make it through to lunchtime. Just barely. It's fortuitous that boredom isn't lethal, or you really would literally be dead.
<<choose "Join Melvin and Ada under the statue for lunch, as usual.">>\
<<reveal Brandi>><<reveal Courtney>><<reveal Tara>>As you exit the building, you pass by Brandi and her mean-girl entourage, Tara and Courtney. Courtney is a tall blonde girl with high nordic cheek-bones and flat emotionless eyes. Tara, on the other hand, is a short heavyset girl, obviously bleached blonde, exuding a palpable air of desperation.
As you draw near, Brandi sees you and rolls her eyes.
<<dialog Brandi>>"Ugh, my sissy faggot brother and his weenie friends are such losers."<</dialog>>
Tara pipes shrilly:
<<dialog Tara>>"Yeah!"<</dialog>>
Brandi and Courtney seem to ignore her.
<<choose "Continue.">>\
Courtney regards you coolly. When she speaks, her voice as emotionless and empty as her eyes.
<<dialog Courtney>>"I wish I had a sissy faggot. Not one that dresses like a hobo, though."<</dialog>>
Tara desperately interjects:
<<dialog Tara>>"Me too!"<</dialog>>
Brandi and Courtney shout in unison:
<<dialog Brandi Courtney>>"Shut up, slut!"<</dialog>>
<<choose "Continue.">>\
Brandi turns to Courtney.
<<dialog Brandi>>"What the //actual fuck//, Courtney?"<</dialog>>
<<dialog Courtney>>"Yeah, like... To hold down and fuck and stuff. It'd be hot."<</dialog>>
<<dialog Tara>>"Uh, don't faggots only do other faggots?"<</dialog>>
Courtney rolls her eyes, but you can still feel them boring into the back of your head as you pass.
<<dialog Courtney>>"That's why you hold them down. Duh."<</dialog>>
<<if hasAspect("Shay","unassertive")>>\
<<choose "It turns you on a little, the way she treats you like a ''//thing//''. Turn around and wink at her.">>\
You turn and give Courtney a coy wink, trying your best to look sultry. Brandi and Tara are stunned into silence.
Her emotionless eyes bore into you. Behind them, you sense a dangerous hunger. Her lips part slightly in a facade of a smile, but it is entirely that of a predator.
<<aspect Shay add arousedByCourtney>>The thought of her using you as her plaything leaves you dizzy and aroused.<</aspect>>
<<choose "Tear your gaze away, and go have lunch with your friends.">>\
<<include "Ch01 Sc070 P02">>\
<</choose>>\
<<or "Ignore them and have lunch with your friends.">>\
<<include "Ch01 Sc070 P02">>\
<</choose>>\
<<else>>\
<<hint>>It's possible for Shay to gain the ''Aroused by Courtney'' aspect here, but only if he is ''Unassertive''. If that's something you want, you'll have to go all the way back to the beginning of the chapter and make a different choice during the first scene.<</hint>>\
\
<<choose "Ignore them and have lunch with your friends.">>\
<<include "Ch01 Sc070 P02">>\
<</choose>>\
<</if>>\
<</choose>>\
<</choose>>\
<</choose>>\
<<hide Brandi>><<hide Courtney>><<hide Tara>><<reveal Ada>><<reveal Melvin>>Ada and Melvin are delighted to see you.
All too soon the bell rings, calling you and Ada to Biology class (oh joy), and Melvin to his math class.
<<choose "Go to Biology class.">>\
<<goto "Ch01 Sc080">>\
<</choose>>\<<nobr>>
<<scene Shay Ada Tara Kyle Logan Devon Teacher>>
<<set obj("Kyle").apparel.override = "a ripped pair of black jeans, a tight green tank-top, a pair of high-top sneakers, and a Zodd Academy varsity jacket">>
<<set obj("Devon").apparel.override = "a pair of cargo shorts, a Hawaiian shirt, a pair of sandals (with socks), and a Zodd Academy varsity jacket (with a pin-on button that says \"I don't know, I just work here\")">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc080 P01">>
<<location "Classroom" notext>>
You and Ada take a seat at one of the lab tables in the science room. Tara and a muscle-bound jock (you vaguely recall that his name is Kyle) are sitting at the lab table in front of you. Logan and one of his jock buddies file in and take a seat at the lab table behind you.
<<choose "That's odd; Logan and his friend aren't supposed to be in this class.">>\
Logan's friend seems to be not-so-discreetly checking Ada out. She blushes and pretends to read her notebook. Logan elbows him and motions encouragingly.
The other jock taps Ada's shoulder.
<<dialog Devon>>"Heyyy... So uh... They rearranged our classes to make it easier to get out early for football practice. I'm Devon, and you're cute. Wanna grab a coffee sometime?"<</dialog>>
Ada blushes even harder.
<<dialog Ada>>"I- uh. What?"<</dialog>>
That's probably about the worst pickup line you've ever heard. Not that you've personally experienced many (or any). But if you had, you're sure it would be!
<<choose "Continue">>\
Kyle turns, snickering.
<<dialog Kyle>>"Dude, her chest is so flat, you could land a plane on it."<</dialog>>
Tara chimes in:
<<dialog Tara>>"Yeah! That fat little piggy-boi they hang out with has bigger tits than she does!"<</dialog>>
Ada rolls her eyes.
<<choose "Continue">>\
<<dialog Ada>>"At least my ass doesn't generate its own gravitational field -- Wait, this is stupid. Why am I engaging?"<</dialog>>
She slides down in her chair and snaps her notebook up in front of her face.
<<dialog Tara>>"Fuck you! ... You... You bony bitch!"<</dialog>>
<<if hasAspect("Shay","unassertive") >>\
<<choose "Let them fight.">>\
<<include "Ch01 Sc080 P02">>
<</choose>>\
<<else>>\
<<choose "Intercede on Ada's behalf." canon>>\
You open your mouth to say something, but--
<<include "Ch01 Sc080 P02">>
<<or "Let them fight.">>\
<<include "Ch01 Sc080 P02">>
<</choose>>\
<</if>>\
<</choose>>\
<</choose>>\
<</choose>>\
Logan barks commandingly, sharply enough that you jump!
<<dialog Logan>>"Hey! Don't be a douche, Kyle! And Tara, shut your diseased cockhole!"<</dialog>>
Tara rolls her eyes and turns back to the front. Kyle gnashes his teeth as he and Logan stare each other down. Finally, Kyle turns away.
<<dialog Kyle>>"Whatever, dude."<</dialog>>
Logan looks to you and Ada, smiling apologetically.
<<dialog Logan>>"I'm sorry. Kyle was raised by by a pack of hyenas. And Tara is just too dumb to know any better."<</dialog>>
<<choose "Continue.">>\
<<dialog Devon>>"Yeah, I really do think you're cute, Ada... //I// think you have a nice sort of... Uh..."<</dialog>>
He stops, his eyes falling to Ada's chest, his mouth working but no words coming out.
Ada coughs.
<<choose "Continue.">>\
<<dialog Ada>>"Um... Thanks, I guess? Really though, it //is// objectively true that I have no tits. I accept that."<</dialog>>
Devon blinks.
<<dialog Devon>>"Uh... Ok? So... Coffee?"<</dialog>>
<<dialog Ada>>"I... I don't date. It's not you, it's me. Seriously, for real. I'm... I'm sorry..."<</dialog>>
You can see her ears turning pink.
<<choose "Continue.">>\
Devon sighs.
<<dialog Devon>>"Well, I had to try... If you change your mind..."<</dialog>>
He wiggles his eyebrows.
There is an uncomfortable silence. Logan looks back and forth between the two of you.
<<choose "It seems that neither you nor Ada know quite what to say to that.">>\
Finally Logan turns to you and tries to change the subject.
<<dialog Logan>>"So hey, aren't you Brandi's brother? Clay, was it?"<</dialog>>
You correct him:
<<dialog Shay>>"Shay. It's Shay."<</dialog>>
<<choose "Continue.">>\
<<dialog Logan>>"That's right! Shay. That's a cool name. Unusual, but cool. I guess I'll be seeing more of you then! Maybe we'll hang out, or whatever."<</dialog>>
He gives you a sort of half-smile and winks. Your heart flutters a little, which you promptly ignore.
Once you've regained your bearings, you snort.
<<dialog Shay>>"Yeah, sure. Brandi will be thrilled. It'll be a //great// time."<</dialog>>
<<choose "Continue.">>\
Logan seems confused. He is about to say something, but is interrupted as the teacher starts the class and you all have to face forward.
After a moment, Ada whispers to you:
<<dialog Ada>>"Ok then. You're gonna hang out with the sportsball jocks now, huh? You gonna open their Tide Pods for them or something?"<</dialog>>
She laughs and playfully pokes you in the ribs.
<<set $Flags.shayHasMetLogan = true>>\
<<choose "\"They don't seem so bad... Not those two, anyway.\"">>\
She gives you an indecipherable look.
<<dialog Ada>>"That Devon //is// kind of cute, but... You //know// I can't..."<</dialog>>
You give her a rueful smile and squeeze her shoulder. It must be difficult for her, with her secret. She is really pretty. Despite her attempts to generate an "aura of weirdness" (as she calls it) around herself, several guys have asked her out this year. But she had to deny them all...
She chucks you on the arm and giggles.
<<dialog Ada>>"Oh, lighten up. It is how it is. I've made my choices. It's fine."<</dialog>>
You turn your attention back to the remainder of the school day.
<<choose "Power through the rest of the day and go home.">>\
<<goto "Ch01 Sc090">>
<</choose>>\
<<or "\"Yeah, what a bunch of dudebros...\"" canon>>\
The two of you laugh it off, but you catch her glancing back at Devon thoughtfully as the class continues.
And when you think about that smile and wink that Logan gave you earlier, and the way he handled Kyle and Tara, you can't help but notice (and then promptly ignore) a pleasantly funny sort of feeling in your throat...
You shake it off and turn your attention back to the remainder of the school day.
<<choose "Power through the rest of the day and go home.">>\
<<goto "Ch01 Sc090">>
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\<<nobr>>
<<scene Shay Hobo>>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc090 P01">>
<<location "Park" notext>>
You shortcut home through the park. Thankfully, the hobo is slouched in a drunken stupor on a bench, his empty Mad Dog bottle dangling from limp fingers.
He slurs as you pass, his eyes unfocused:
<<dialog Hobo>>"Whole pile o' cats. //Undulating...// One body. Like an elder god..."<</dialog>>
<<choose "Hurry past.">>\
<<hide Hobo>><<image "Object - Package" right 300px >>You traipse up the front steps of your house and discover a package about the size of a large book by the door. The package is wrapped in plain brown paper, tied with twine, and has one of those "Sorry we missed you" delivery stickers on it.
<<choose "Examine the package.">>\
It is addressed to your parents, from a "Cassidy Chase, Antiquarian and Appraiser" of Echo Hollow, West Virginia. That's a little town (even smaller than this one) a couple of counties north, across the state line. Weird.
<<choose "Shake the package.">>\
It makes no sound. Whatever is inside seems pretty solid. You squeeze through the paper, trying to feel what's inside. You'd guess that it does indeed contain a book.
<<choose "Take the package inside and open it..">>\
You bite through the string and tear off the paper, revealing an old leather-bound illuminated manuscript. It has strange geometric symbols worked into the cover.
<<choose "Read the book.">>\
<<image "Misc - Tome of Pwyll" left 300px >>The text is written in a flowing medieval script and you can't read it. The book seems heavier than it ought to and smells funny. Not really musty like you'd expect an old book to smell, but more of a tangy metallic scent tinged with smoke.
The illustrations are the most peculiar thing. Knights battling giant snails. Giant rabbits gruesomely murdering various people and creatures. Bears fighting with unicorns. Men having sex with lions. And even some kind of donkey-eared robed man who looks like Yoda. When you turn the pages back and forth, the figures almost seem to move along the edges of the pages.
It's pretty cool. You ought to show it to Melvin tomorrow before your D&D game. He's way into this sort of thing.
<<choose "Go to your room.">>\
<<goto "Ch01 Sc100">>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\<<nobr>>
<<scene Shay>>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc100 P01">>
\<<location "Bedroom, Shay" notext>>\
It looks like Brandi isn't home yet. Maybe that's a small blessing.<<if hasAspect("Shay","arousedByBrandi")>> Although you do enjoy watching her sleaze around the house in her slutty outfits.<<if hasAspect("Shay","outOfControlLibido")>> And maybe you could even get a chance to peep on her again...<</if>> Oh well.<</if>>
<<location "Bedroom, Shay" noimage>>\
<<if hasAspect("Shay","outOfControlLibido")>>\
<<aspect say outOfControlLibido>>Alright! Time for your nightly jerk-off session! You can work on your other projects... later.<</aspect>>
<<choose "Masturbate.">>\
<<include "Ch01 Sc100 P01.5">>\
<</choose>>\
<<elseif hasAspect("Shay","horny")>>\
<<aspect say horny>>You are still horny from earlier! You can work on your other projects... later.<</aspect>>
<<choose "Masturbate.">>\
<<include "Ch01 Sc100 P01.5">>\
<</choose>>\
<<else>>\
How will you spend your evening?
<<choose "Work on your vintage computers.">>\
<<image "Misc - Old Computer Innards" right 300px >>You spend the evening replacing capacitors on a Commodore 64 mainboard. You are ecstatic when it finally boots to a "Ready" prompt.
<<include "Ch01 Sc100 P99">>\
<<or "Play games on your vintage computers.">>\
<<image "Misc - Old Computer Game" right 300px >>You boot up your Apple 2 and spend the evening playing the Infocom classic "Plundered Hearts". It's such a silly game, but you love it anyway.
<<include "Ch01 Sc100 P99">>\
<<or "Masturbate." canon>>\
<<include "Ch01 Sc100 P01.5">>\
<</choose>>\
<</if>>\
<div style="float:right;" id="libraryPr0n1"><<video "Intimate - Pr0n, Librarian 01" none 300px >></div>You start up your "real" computer, and navigate to pr0nhub. After a little searching, you pull up a spicy "naughty librarian" video, filmed in a faux-vintage style.
A super-buff porn-guy, costumed as a nerd (an obvious costuming failure), is saying something about an overdue book. The acting is really terrible. Cringey, even. The sexy librarian, who seems to have forgotten her panties, is batting her eyelashes and explaining how nobody can avoid the late fee. Somehow this immediately leads to her sucking his dick. He slaps her ass and plays with her pussy as she sucks him off.
<<if hasAspect("Shay","horny")>>\
As you watch, you feel your cock start to shift in your pants.
<<else>>\
<<aspect Shay add horny>>As you watch, you feel your cock start to shift in your pants.<</aspect>>
<</if>>\
<<choose "Stroke it.">>\
<div style="float:left;" id="libraryPr0n2"><<video "Intimate - Boxer Stroke Through, S, 001" left 300px >></div>You open your pants and start working your dick through your boxers. It hardens in your hand as you stroke through the soft cotton.
Your breath quickens, and you wrap your fingers around it, stroking faster. You feel the dampness of your precum soaking through your underwear against the palm of your hand.
<div style="float:right;" id="libraryPr0n3"><<video "Intimate - Pr0n, Librarian 02" none 300px >></div>The not-nerd has the librarian bent over the card catalog now. The catalog drawers bounce in and out as he relentlessly pounds her snatch, cards popping out and flying through the air. She moans something about the dewey decimal system. He grunts that he "has her number now, slut."
<<choose "Take it out of your shorts and stroke it for real.">>\
<div style="float:left;" id="libraryPr0n4"><<video "Intimate - Wank, S, 001" right 300px >></div>Your rock-hard 4" prick is wet from your precum, but you don't care. You grab it anyway, squeezing it, milking it.
Your precum runs down your cock, lubing it. You gasp and stroke yourself faster, the wet smacking sounds of your masturbation filling the room.
<div style="float:right;" id="libraryPr0n5"><<video "Intimate - Pr0n, Librarian 03" none 300px >></div>The not-nerd grabs the librarian by the hair, grunting something about "reshelving it in the wrong section". He pulls his massive cock out of her pussy and reinserts in her ass. He buries it deep. She moans whorishly, her eyes rolling back in ecstasy. He pounds her ass fast and hard, that huge veiny cock stretching that tiny ring. It sends you over the edge.
<<choose "Oh fuck! You're going to CUM!!!">>\
<<replace "#libraryPr0n1" t8n>><</replace>><<replace "#libraryPr0n2" t8n>><</replace>><<replace "#libraryPr0n3" t8n>><</replace>><<replace "#libraryPr0n4" t8n>><</replace>><<replace "#libraryPr0n5" t8n>><</replace>><<video "Intimate - Pr0n, Librarian Stupidface Buffering" left 300px >>@@.Red;''//Suddenly, the video freezes and starts buffering!//''@@
...
@@.Red;And keeps buffering...@@
...
And just keeps right on buffering. The starlet has one of those really stupid droopy-eyed open-mouthed slack-faced freeze-frame expressions on her face. And the not-nerd's face is twisted into a cross-eyed grimace that looks both pained and stupid at the same time, as one of the catalog cards bounces off his nose.
Not very sexy at all... Quite unsexy, actually. Definitely not fap material. Nope.
<<choose "FUUUUUUCK!!! Try to figure out what is wrong.">>\
You poke around in a terminal prompt for a moment. You can ping your router, but DNS resolution is failing.
Your dick starts to soften. You jerk it slowly to keep it hard, typing clumsily with one hand. Dammit!
You try a traceroute by IP address to the 8.8.8.8 Google nameserver, and discover that your ISP is down.
Sigh. Fucking DSL....
You are still hard, beating it slowly to keep it that way. And oh-so-horny. There is no way you're stopping now. You'll have to figure out some other way to get yourself off. Too bad you don't have an offline porn library for these sorts of situations...
<<hint>>There are six different sex scenes that you can get here.
Three of them involve Brandi, depending on whether Shay is ''Assertive'', ''Unassertive'', or neutral. To unlock these, Shay must have tried to peep on her in the shower during the first scene and gotten the ''Aroused by Brandi'' aspect.
One of them involves Courtney, which can only be unlocked if Shay has ''Unassertive'' and chose the option to flirt with her earlier in the chapter and gotten the ''Aroused by Courtney'' aspect.
You can make Shay extra-gay by trying to convince him to jerk off while thinking of Logan, eventually giving him the ''Aroused by Logan'' aspect. This aspect only makes small changes to the narrative in this chapter, but will have a greater effect later in the story.
The final two sex scenes can be gotten by snooping in Brandi's room, and finding either her vibrator or her panties. If Shay tries to use the vibrator on his ass, he'll gain the ''Anal Kink'' aspect. If he cums on the panties, he'll gain the ''Panty Kink'' aspect.<</hint>>\
\
<<include "Ch01 Sc100 P02">>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\<<choose "Try your phone, even though it's really old and the browser sucks." nonCanon '!_triedPhone'>>\
It's not working either, which is pretty common when your ISP is down. You've heard that they both use the same fiber optic trunk line, so when it goes down, it all goes down. Yay for small towns...
<<set _triedPhone = true>>\
<<include "Ch01 Sc100 P02">>\
<<or "Think about Brandi while you jerk it." nonCanon 'hasAspect("Shay","arousedByBrandi")'>>\
<<goto "Ch01 Sc100 P03">>\
<<or "Think about Courtney while you jerk it." nonCanon 'hasAspect("Shay","arousedByCourtney")'>>\
<<goto "Ch01 Sc100 P04">>\
<<or "...Maybe think about Logan while you jerk it?" canon '!_noLoganJerkoff'>>\
No! Not a chance! You are definitely NOT GAY!!!
<<set _noLoganJerkoff = 1>>\
<<include "Ch01 Sc100 P02">>\
<<or "...Well, it wouldn't //really// be gay if you thought about Logan fucking a //girl//, right? I mean, that's no different than watching porn....." canon '_noLoganJerkoff==1'>>\
Uhhhh, I dunno... That still seems pretty gay...
<<set _noLoganJerkoff = 2>>\
<<include "Ch01 Sc100 P02">>\
<<or "...Maybe if you thought about Logan pleasuring a girl with his tongue instead of his dick... There's //no way// that could be gay." canon '_noLoganJerkoff==2'>>\
NO! FUCK! YOU ARE NOT GAY!!!!! You don't want to think about Logan! Girls. You like girls. Girls are hot. Girls are sexy. Not tall strong men with cute smiles that make your heart flutter. GIRLS! DAMMIT!!
<<set _noLoganJerkoff = 3>>\
<<include "Ch01 Sc100 P02">>\
<<or "Nope! You're definitely //not// going to think about Logan while you masturbate." canon '_noLoganJerkoff==3'>>\
<<aspect Shay add arousedByLogan>>Nope, not a bit! You are definitely //''not''// sexually aroused by Logan! That would be //''totally gay''//!<</aspect>>
<<set _noLoganJerkoff = 4>>\
<<include "Ch01 Sc100 P02">>\
<<or "Maybe just think about random hot girls at school?" nonCanon '!_triedRandom'>>\
<<include "Ch01 Sc100 P05">>\
<<or "Snoop around Brandi's room for something spicy." nonCanon '!hasAspect("Shay","arousedByLogan")'>>\
<<goto "Ch01 Sc100 P06">>\
<<or "Snoop around Brandi's room for something spicy." canon 'hasAspect("Shay","arousedByLogan")'>>\
<<goto "Ch01 Sc100 P06">>\
<</choose>>\<<video "Intimate - Wank, S, 002" right 300px >><<lasteroscene>>
You grab your dick and close your eyes, thinking of Brandi...
<<choose "Fuck yesssss! Do it!">>\
<blockquote class="imagination">//<<if hasAspect("Shay","assertive")>>\ /* Top Shay wank to Brandi. */
You enter the bathroom, catching Brandi in a towel, just having finished showering.
<<dialog Shay>>"Oh shit! Sorry! I didn't realize you were in here."<</dialog>>
Brandi's eyes flash with anger, but then soften.
<<dialog Brandi>>"It's... It's ok. I know you like my body.<<if hasAspect("Shay","outOfControlLibido")>> I know you like to watch me. It's... ok. I... I like it when you watch me.<</if>>"<</dialog>>
<<dialog Shay>>"Show me then."<</dialog>>
<<image "Intimate - Brandi, Naked" left 300px >>Her towel falls, gathering in a pile at her feet. Her body is magnificient, all toned muscle and gentle curves.
She turns, bending over the sink and spreading her little asshole. She flexes it, making it wink at you.
<<dialog Brandi>>"Is this what you want?"<</dialog>>
You step closer, opening your pants with one hand as you run the other over her smooth skin.
<<dialog Shay>>"Yes."<</dialog>>
She quivers needfully at your touch.
<<dialog Brandi>>"Fuck me, brother."<</dialog>>
Your fingers twist in her hair, and you push her down over the sink.
<<dialog Shay>>"You want to be your brother's Bitch?"<</dialog>>
Brandi moans, almost whorishly, breathless.
<<dialog Brandi>>"Yesssss!"<</dialog>>
<<video "Intimate - Anal, MF, Rough" right 300px >>You press your cockhead against her tight little pucker and push. She cries out as it opens, and you slide into her.
<<dialog Shay>>"Fuck your brother's cock, Slut. Show me that you want it."<</dialog>>
She grinds her hips, her tightness working your shaft. She slides her hand between her legs, rubbing her clit in fast little circles, moaning, fucking you faster and faster.
You pull her up by the hair, whispering hotly into her ear:
<<dialog Shay>>"Cum for your brother, Bitch."<</dialog>>
She cries out, her body shaking. She clenches on your cock as she cums, milking it with her tight little asshole...
<<elseif hasAspect("Shay","unassertive")>>\ /* Bottom Shay wank to Brandi. */
She bursts into your room, catching you with your cock in your hand.
<<dialog Brandi>>"Ew, you gross faggot. What the fuck!"<</dialog>>
You are stunned, motionless, your hand wrapped around your hard little dick.
<<dialog Brandi>>"Well, don't stop! If you wank your little dicklet now, then maybe you won't be tempted to do anything too gay later."<</dialog>>
You stroke your dick while she watches. <<if hasAspect("Shay","outOfControlLibido")>>
<<dialog Brandi>>"Do you like being watched as much as you like watching? Yes, I know you were peeping on me, you little pervert. Now jerk it! Jerk it for your sister, Faggot!"<</dialog>><<else>><<dialog Brandi>>"Jerk it! Jerk it for your sister, Faggot!"<</dialog>><</if>>
She turns her back to you and bends forward, causing her slutty little skirt to ride up over her ass. She pulls her panties aside and spreads her little asshole. She flexes it, making it wink at you.
<<dialog Brandi>>"I bet you'd love it if I straddled you and slid your pathetic little cocklet into my tight little asshole, wouldn't you? You'd do anything to fuck your sister's tight little butt, wouldn't you, Faggot?"<</dialog>>
You moan.
<<dialog Shay>>"Yesssss... I want to fuck my sister, more than anything...."<</dialog>>
Brandi laughs mockingly.
<<dialog Brandi>>"You will ''never'' have your little dicklet inside of me, Faggot!"<</dialog>>
She runs her hands over her body, pausing and squeezing her ass and crotch.
<<dialog Brandi>>"This body is too good for a perverted Faggot like you!"<</dialog>>
<<video "Intimate - Anal, S, Fingering, 001" right 300px >>She crawls forward onto the bed and pushes you down. She murmurs, staring into your eyes.
<<dialog Brandi>>"Keep going."<</dialog>>
She pushes her hand between your legs, and you feel her fingertip pressing against your asshole. You squirm, trying to recoil from it, but her weight holds you down.
You cry out, then whimper softly:
<<dialog Shay>>"Stop! I'm... I'm not gay..."<</dialog>>
Her finger slides into you anyway, curling inside...
<<else>>\ /* Neutral Shay wank to Brandi. */
You enter the bathroom, catching Brandi in a towel, just having finished showering.
<<dialog Shay>>"Oh shit! Sorry! I didn't realize you were in here."<</dialog>>
Brandi's eyes flash with anger, but then soften.
<<dialog Brandi>>"It's... It's ok. I know you like my body.<<if hasAspect("Shay","outOfControlLibido")>> I know you like to watch me. It's... ok. I... I like it when you watch me.<</if>>"<</dialog>>
<<dialog Shay>>"Show me then."<</dialog>>
<<image "Intimate - Brandi, Naked" left 300px >>Her towel falls, gathering in a pile at her feet. Her body is magnificient, all toned muscle and gentle curves.
She turns, bending over the sink and spreading her little asshole. She flexes it, making it wink at you.
<<dialog Brandi>>"Is this what you want?"<</dialog>>
You step closer, opening your pants with one hand as you run the other over her smooth skin.
<<dialog Shay>>"Yes. I want my hot sister!"<</dialog>>
She quivers needfully at your touch.
<<dialog Brandi>>"Fuck me, brother."<</dialog>>
Your hand caresses her tummy and thighs, then slips between her legs. You circle a fingertip around her clit, slowly.
<<dialog Shay>>"You want your brother's cock in your tight little asshole?"<</dialog>>
Brandi moans, needfully, breathless.
<<dialog Brandi>>"Yesssss!"<</dialog>>
<<video "Intimate - Anal, MF, Gentle" right 300px >>You press your cockhead against her tight little pucker and push. She cries out as it opens, and you slide into her. You pump your hips slowly, fucking her deep.
<<dialog Brandi>>"Mmmh, brother... It feels so perfect inside of me..."<</dialog>>
She moans, grinding her hips, her tightness working your shaft. You rub her clit in fast little circles.
<<dialog Shay>>You lean over her, whispering into her ear, "Cum for your brother, beautiful sister."<</dialog>>
She cries out, her body shaking. She clenches on your cock as she cums, milking it with her tight little asshole...
<</if>>//</blockquote>\
<<choose "Cum!!!">>\
<<video "Intimate - Cum, S, 002" right 300px >><<if hasAspect("Shay","arousedByLogan")>><<image "Portrait - Logan, Foggy" right 300px>><</if>>Your mind explodes into white fire as you cum, your seed spurting all over your hand and stomach. <<if hasAspect("Shay","arousedByLogan")>>Unbidden, the memory of Logan's gentle smile and wink comes to your mind's eye. But you couldn't stop now, even if you wanted to. You cum hard. You cum for him...<</if>>
<<aspect Shay del horny>>You fall back onto your bed panting, spent.<</aspect>><<if hasAspect("Shay","arousedByLogan")>>
Your head spins, as you try to comprehend what just happened.
<<dialog Shay>>//What the fuck! I'm not... I'm not gay...//<</dialog>>
But then the post-orgasm drowsiness washes over you...<</if>>
<<include "Ch01 Sc100 P99">>\
<</choose>>\
<</choose>>\<<video "Intimate - Wank, S, 002" right 300px >><<lasteroscene>> /* Bottom Shay wank to Courtney. */
You grab your dick and close your eyes, thinking of Courtney...
<<choose "Fuck yesssss! Do it!">>\
<blockquote class="imagination">//\
She bursts into your room, catching you with your cock in your hand.
<<dialog Courtney>>"Hey faggot. I knew you'd be in here flicking your little sissy clitty."<</dialog>>
Her flat emotionless voice sends shivers down your spine.
<<dialog Courtney>>"Well, don't stop. Show me how good bois get themselves off."<</dialog>>
You stroke your dick while she watches.
<<dialog Courtney>>"Good boi."<</dialog>>
She crawls forward onto the bed and wraps her fingers in your hair pushing you down.
<<dialog Courtney>>"I bet you'd love it if I sat on your face and made you eat out my pussy, wouldn't you my little sissy?"<</dialog>>
You moan.
<<dialog Shay>>"Yesssss... Suffocate me with your pussy..."<</dialog>>
Courtney scoffs.
<<dialog Courtney>>"You will never taste me, sissy. My pussy is too good for a pathetic girly-boi like you."<</dialog>>
<<video "Intimate - Anal, S, Fingering, 001" left 300px >>She pushes her hand between your legs, and you feel her fingertip pressing against your asshole. You squirm, trying to recoil from it, but her weight holds you down.
You cry out, then whimper softly:
<<dialog Shay>>"Stop! I'm... I'm not gay..."<</dialog>>
<<dialog Courtney>>"You are mine, sissy. All mine. My little bitch..."<</dialog>>
Her finger slides into your tight little asshole, curling inside...
\//</blockquote>
<<choose "Cum!!!">>\
<<video "Intimate - Cum, S, 002" right 300px >><<if hasAspect("Shay","arousedByLogan")>><<image "Portrait - Logan, Foggy" right 300px>><</if>>Your mind explodes into white fire as you cum, your seed spurting all over your hand and stomach. <<if hasAspect("Shay","arousedByLogan")>>Unbidden, the memory of Logan's gentle smile and wink comes to your mind's eye. But you couldn't stop now, even if you wanted to. You cum hard. You cum for him...<</if>>
<<aspect Shay del horny>>You fall back onto your bed panting, spent.<</aspect>><<if hasAspect("Shay","arousedByLogan")>>
Your head spins, as you try to comprehend what just happened.
<<dialog Shay>>//What the fuck! I'm not... I'm not gay...//<</dialog>>
But then the post-orgasm drowsiness washes over you...<</if>>
<<include "Ch01 Sc100 P99">>\
<</choose>>\
<</choose>>\You grab your dick and close your eyes, thinking of a hot girl in yoga pants, from gym class. /* Shay failed wank. */
But the image is fuzzy. You stroke yourself, trying to concentrate, but your dick starts to soften.
This just isn't working.
<<set _triedRandom = true>><<include "Ch01 Sc100 P02">>\<<if $hasEnteredBrandisRoom>>\
<<goto "Ch01 Sc100 P06.5">>\
<<else>>\
You peek into her room, //just// to be sure that she isn't home. Looks like the coast is clear...
Is this too weird? You've never done anything like this before...
<<choose "Steel your resolve and do it!" canon>>\
<<set $hasEnteredBrandisRoom = true>>\
<<goto "Ch01 Sc100 P06.5">>\
<<or "Maybe this wasn't such a good idea. Go back to your room.">>\
<<include "Ch01 Sc100 P02">>\
<</choose>>\
<</if>>\\<<location "Bedroom, Brandi" >>\
<<include "Ch01 Sc100 P07">>\<<choose "Check out the bed." noncanon !_searchedBed>>
The bed is soft, and the silk sheets feel wonderful, but there's nothing spicy here.
<<set _searchedBed=true>>\
<<include "Ch01 Sc100 P07">>\
<<or "Check out the nightstand.">>
<<include "Ch01 Sc100 P08">>\
<<or "Look through the dresser." canon>>
<<include "Ch01 Sc100 P09">>\
<<or "Check out the desk." noncanon !_searchedDesk>>
You find bits, bobs, and random stuff. But nothing spicy.
<<set _searchedDesk=true>>\
<<include "Ch01 Sc100 P07">>\
<<or "Try the laptop." noncanon !_searchedLaptop>>
The laptop is password protected. You could probably get into it if you took the hard drive out and hooked it to a USB dongle on your own computer, but you don't have time for that right now.
<<set _searchedLaptop=true>>\
<<include "Ch01 Sc100 P07">>\
<<or "Look in the closet." noncanon !_searchedCloset>>
It's a big walk-in closet, full of various and sundry clothing. Most all of them tend to the slutty side. And shoes, so many shoes. How can one person wear so many shoes?
Although her clothing choices are pretty spicy, there's no good masturbation fuel in here. I mean, it's not like you're going to try on her clothes... Right? Nah, you'd better not. That would be... pretty gay...
<<set _searchedCloset=true>>\
<<include "Ch01 Sc100 P07">>\
<<or "Maybe this wasn't such a good idea. Go back to your room.">>
<<goto "Ch01 Sc100 P07.5">>\
<</choose>>\<<location "Bedroom, Shay" >>\
You put everything back as it was and return to your room.
<<include "Ch01 Sc100 P02">>\<<image "Object - Vibrator" right 300px >>In the nightstand's drawer, hidden in a tissue box, you find a little pink vibrator.
<<choose "Turn it on and hold it against your dick.">>\
<<lasteroscene>>
<<video "Intimate - Wank, S, 003" left 300px >>It starts buzzing softly when you turn it on. You hold it against your dick, and it sends a shiver of pleasure through you. It feels soooo good...
<<choose "Rub it all over your cock and balls.">>\
Oh fuck, yessss... When you hold it right on the underside of your cockhead... You could make yourself cum like that, without even stroking it.
<<choose "Do it! Make yourself cum with the vibrator!">>\
You hold it against the underside of your cockhead, rubbing just a little.
The pleasure builds slowly, as your knees weaken. Oh fuck, it feels so good...
<<video "Intimate - Cum, S, 003" right 300px >><<if hasAspect("Shay","arousedByLogan")>><<image "Portrait - Logan, Foggy" right 300px>><</if>>Your mind explodes into white fire as you cum, your seed spurting as your cock jerks in your hand. <<if hasAspect("Shay","arousedByLogan")>>Unbidden, the memory of Logan's gentle smile and wink comes to your mind's eye. But you couldn't stop now, even if you wanted to. You cum hard. You cum for him...<</if>>
<<aspect Shay del horny>>You fall to your knees panting, spent, your pearlescent load staining the carpet.<</aspect>><<if hasAspect("Shay","arousedByLogan")>>
Your head spins, as you try to comprehend what just happened.
<<dialog Shay>>//What the fuck! I'm not... I'm not gay...//
//What have I done?//<</dialog>><<else>>
<<dialog Shay>>//What have I done?//<</dialog>><</if>>
You clean up the carpet as best you can, put everything back as you found it, and return to your room.
<<include "Ch01 Sc100 P99">>\
<<or "What if you touched it against your asshole, just a little? It's... It's not actually gay unless you push it inside, right?">>\
You take the vibrator away from your cock and start stroking yourself again.
<<video "Intimate - Anal, S, Vibrator, 001" right 300px >>You bend forward, and ever so gently touch the vibrator to your tightly puckered asshole...
The pleasure shoots through you like an electric jolt. You've never felt anything so good. Oh fuck, it feels so good...
<<choose "Oh god, push harder!">>\
The vibration tingles through the sensitive nerves in your tight little pucker, the pleasure shooting up into your loins. You feel your rosebud spread a little as you press harder. You're not going to push hard enough to make it go in... Just a little bit harder...
Oh god, it's going to go in!
<<aspect Shay add analKink>>Fuck it! It feels so good. You don't care if it goes in. You //want// it to go in!<</aspect>>
<<choose "Push it in! Fuck, yesssss!">>\
<<video "Intimate - Cum, S, 002" right 300px >><<if hasAspect("Shay","arousedByLogan")>><<image "Portrait - Logan, Foggy" right 300px>><</if>>You push harder, but before it can enter you your mind explodes into white fire as you cum. Your seed spurts as your cock jerks in your hand. <<if hasAspect("Shay","arousedByLogan")>>Unbidden, the memory of Logan's gentle smile and wink comes to your mind's eye. But you couldn't stop now, even if you wanted to. You cum hard. You cum for him...<</if>>
<span><<aspect Shay del horny>>You fall to your knees panting, spent, your pearlescent load staining the carpet.<</aspect>></span><<if hasAspect("Shay","arousedByLogan")>>
Your head spins, as you try to comprehend what just happened.
<<dialog Shay>>//What the fuck! I'm not... I'm not gay...//
//What have I done?//<</dialog>><<else>>
<<dialog Shay>>//What have I done?//<</dialog>><</if>>
You clean up the carpet as best you can, put everything back as you found it, and return to your room.
<<include "Ch01 Sc100 P99">>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<<or "Leave it alone for now and keep searching.">>\
<<include "Ch01 Sc100 P07">>\
<</choose>>\
<<image "Misc - Panty Drawer" right 300px >>You pull open a drawer and discover panties and bras. Silky panties, lacy bras, and tiny thongs. So many of them...
<<choose "Pick out something and examine it." canon>>\
<<image "Apparel - Panties, Pink Polka Dot" left 200px >>You pick out a pretty pair of pink panties, with black polka dots and white lace.
They are so soft and satiny...
<<choose "Wrap them around your cock and jerk it." canon>>\
<<lasteroscene>>
<<video "Intimate - Wank, S, 004" right 300px >>You jerk it slowly through the soft satin. The lace is a little rougher, but it just adds to the pleasure. It feels soooooo good...
<<choose "Rub your balls.">>\
Oh fuck yes, that's how to do it. You've soaked her soft panties with your precum now, wet and warm, surrounding your dick...
<<choose "Jerk faster!">>\
<<aspect Shay add pantyKink>>The head of your dick almost looks //cute// each time it peeks out of the pretty lace each time you stroke... Like a girl's dick, if girls had dicks.<</aspect>>
It sends you over the edge...
<<choose "Cum!!!">>\
<<video "Intimate - Cum, S, 004" right 300px >><<if hasAspect("Shay","arousedByLogan")>><<image "Portrait - Logan, Foggy" right 300px>><</if>>Your mind explodes into white fire as you cum, your seed spurting as your cock jerks beneath the soft cloth. <<if hasAspect("Shay","arousedByLogan")>>Unbidden, the memory of Logan's gentle smile and wink comes to your mind's eye. But you couldn't stop now, even if you wanted to. You cum hard. You cum for him...<</if>>
<<aspect Shay del horny>>You fall to your knees panting, spent, your hot load soaking through your sister's panties against your fingers.<</aspect>><<if hasAspect("Shay","arousedByLogan")>>
Your head spins, as you try to comprehend what just happened.
<<dialog Shay>>//What the fuck! I'm not... I'm not gay...//
//What have I done?//<</dialog>><<else>>
<<dialog Shay>>//What have I done?//<</dialog>><</if>>
You rinse the panties in the bathroom sink, wring them out, and hide them under some other clothes in her hamper.
Hopefully she won't notice anything...
You return to your room.
<<include "Ch01 Sc100 P99">>\
<</choose>>\
<</choose>>\
<</choose>>\
<<or "Put them back for now and keep searching.">>\
<<include "Ch01 Sc100 P07">>\
<</choose>>\
<<or "Leave them alone for now and keep searching.">>\
<<include "Ch01 Sc100 P07">>\
<</choose>>\
<<unset $hasEnteredBrandisRoom>>\
<<if hasAspect("Shay","horny")>><<script>>throw "Error! Shay still has Horny aspect, which should not be possible at this point. Please report this bug, save the game here, export your saves to disk, and post them to the discord channel."<</script>><</if>>\
<<choose "Sleep.">>
<<goto "Ch01 Sc110">>
<</choose>><<nobr>>
<<scene Shay>>
<<set obj("Shay").apparel.override = "a pair of sweat pants and no shirt">>
<<set obj("Brandi").apparel.override = "a black tank-top and a pair of hot pink sweat pants">>
<</scene>>
<</nobr>>\
<<include "Ch01 Sc110 P01">>
<<location "Kitchen" notext >>
You sleep in late. It's Saturday, so why not? Finally you drag yourself out of bed and pull on a pair of sweat pants and no shirt.
You grab the weird book and take it down to breakfast with you. You want to find some extra-cool stuff to show Melvin when he and Ada show up for D&D.
<<choose "Make a cup of coffee.">>\
<<reveal Brandi>>As you are groggily preparing the coffee, you hear an all-too-familiar voice behind you.
<<dialog Brandi>>"Hey Faggot. What's that, your collection of Playgirl magazines that you flick your little dicklet to?"<</dialog>>
<<choose "Tell her to choke on a dick!" canon 'hasAspect("Shay","assertive")'>>\
<<dialog Shay>>"Go choke on a dick, Slutbeast! I'm not in the mood for your shit this early!"<</dialog>>
<<dialog Brandi>>"It's 10:30 you lazy ass bandit! The morning is half over! Now, give it!"<</dialog>>
She grabs hold of the book and pulls.
<<choose "Continue.">>\
<<include "Ch01 Sc110 P02">>\
<</choose>>\
<<or "Ignore her.">>\
<<dialog Brandi>>"Don't you dare ignore me, you little ass bandit. Now, give it!"<</dialog>>
She grabs hold of the book and pulls.
<<choose "Continue.">>\
<<include "Ch01 Sc110 P02">>\
<</choose>>\
<</choose>>\
<</choose>>\<<dialog Shay>>"Let go, you whore!"<</dialog>>
The two of you tug back and forth a few times, trading insults. Then the book comes apart with a sharp ripping sound, and you both fall on your asses.
Sizzling sounds come from both halves of the book, and a sparkling burst of pinkish-purple haze surrounds you both. You are blinded by it. It smells vaguely metallic, with an after-odor of smoke.
When the haze clears, your perspective has changed, and you are looking back at yourself. You see yourself holding a singed and smoking half of the book, torn at the spine. The figure across from you, that looks just like you, has a look of confusion and surprise on his face.
\<<set $Flags.bodySwapped = true>>
\<<set _tmp = obj("Shay").apparel.override>>
\<<set obj("Shay").apparel.override = obj("Brandi").apparel.override>>
\<<set obj("Brandi").apparel.override = _tmp>>
\<<set obj("Shay").image = "Portrait - Shay, Swapped">>
\<<set obj("Brandi").image = "Portrait - Brandi, Swapped">>
\
<<choose "What the fuck?!">>\
You curse, but your voice is not your own. It is Brandi's voice, but it is coming from your throat.
//What the hell is going on?!//
<<choose "Examine yourself.">>\
<<updatesidebar t8n>>\
<hr /><<set _suppressAspects=true>><<include "Character - Shay">><<unset _suppressAspects>><hr />
<<choose "Look back up.">>\
You look back up from not-your body, at the same time that your body looks back up at you. You both scream in unison.
Brandi shouts at you, from your body, in your voice (but the words are definitely hers):
<<dialog Brandi>>"You twinky fucking knob-jockey! What the //fuck// did you do to me?!? Change us back. NOW!!!"<</dialog>>
<<dialog Shay>>"You're the one that ripped the book in half, Slutbeast! This is all your fault!"<</dialog>>
You both scramble to your feet and run to your rooms, slamming doors, still holding your halves of the book.
//Fuck!// What the hell is going on?!?
<<choose "Continue.">>\
<<closechapter>>\
<<goto "Ch02">>\
<</choose>>\
<</choose>>\
<</choose>>\
<</choose>>\
<<chapter 1 true>><</chapter>> /* Date: Early November, before Sadie Hawkins. */
<<chapter 2 false>>\
<<set $Flags.bodySwapped = true>>\
<<set obj("Shay").image = "Portrait - Shay, Swapped">>\
<<set obj("Brandi").image = "Portrait - Brandi, Swapped">>\
<</chapter>>
<<if $GameRelease >= TheBitchSwitch.Release>>\
! End of Current Content
Hey, thanks for playing! That's the end of Chapter 1. I hope you enjoyed it!
I recommend that you save your game right here, then export your save games (click "Saves" in the sidebar to the left, then "Save to Disk" in the lower left corner of the popup). That way if your browser data gets cleared before the next chapter is released, you won't lose all your progress (you can load your saves back from disk in the same way).
If you decide to replay the game later, you'll find that all of the chapters you've finished will be in a "New Game +" mode. Canon story choices (those that generate the same plot as the original single-threaded story outline) will be denoted as such, and you may see links for various developer commentary and hints.
If you have comments, suggestions, criticisms, etc, then please leave a comment in the <a target="_blank" href="http://tfgamessite.com/phpbb3/viewtopic.php?f=51&t=11140">discussion thread</a>!
I'm always curious to know what you think, and which characters and pairings you like the best. I do have a complete outline of the "canon" story, but that doesn't mean we can't veer off into unplanned territory as well! So let me know what you'd like to see, and maybe it'll make its way into the game!
<<choose "Next Time in The Bitch Switch, Chapter 2...">>
!! Next Time in The Bitch Switch, Chapter 2!
Will Shay and Brandi explore their new bodies and dubious clothing choices? Will the game have some decent smut, finally?
What will happen with Logan? Will he realize that something is off with "Brandi"? What will he do if he finds out?!?
Will Courtney finally get her very own pet "faggot" to abuse as she pleases?
And most importantly, what flavor of Mad Dog does the creepy hobo like best, and who is really buried in Grant's Tomb?
For the answers to these vexing existential questions (and more), <a target="_blank" href="https://www.tfgamessite.com/?module=viewgame&id=2106">subscribe for updates</a> on TFGameSite, stay tuned to the <a target="_blank" href="http://tfgamessite.com/phpbb3/viewtopic.php?f=51&t=11140">discussion thread</a>, and hop into the <a target="_blank" href="https://discord.gg/H4MskX9">Discord server</a>! =:3
<u>''Don't forget to Save and Export your game!''</u>
Now that you've finished this chapter, you can ''<<popuplink "Restart the Story" "Restart the Story?" "restart">><</popuplink>>'' the game (or load a saved game) and get hints, walkthrough, and commentary popups as you play. Thanks for playing!
<</choose>>
<<else>>\
! Welcome Back!
Hey! Welcome back! I've detected that you're playing a new chapter of the game.
Click "Continue" below, and you'll be taken back to the last scene you played. You'll have to replay it, but when it's over with the game will continue into the new content.
Have fun! :D
\<<set $GameRelease = TheBitchSwitch.Release>>\
* <<return "Continue!">>
<</if>>\
Are you sure?
<<link "Yes">><<run Engine.restart()>><</link>> --- <<link "No">><<run Dialog.close()>><</link>>
<<image "Portrait - Hobo" right >>\
He's crazy and a little scary!
He is filthy and greasy, with a long ratty beard. He is wearing three flannel shirts on top of each other and a knit cap, despite it being unseasonably warm for mid-November.
<<image "Portrait - Mom and Dad" right >>\
Your mother is an archaeologist and your father is an anthropologist. You've heard that your parents are rather infamous in some circles, but it doesn't affect your life very much.
They're on some kind of expedition in South America for the next month or so. They've been doing this sort of thing once or twice each year for as long as you can remember. In your younger years, you and Brandi stayed with your grandparents. But now that you are both older, your parents let you stay home by yourselves.
As usual, they'll check in via satphone every week or two... If they have time.
<<image "Portrait - Teacher" right >>\
The teachers at your school really hate their jobs, and it shows. They do the bare minimum to keep collecting their paychecks, and don't really seem to care about actually educating anyone.<<nobr>>
<<set _pronounSubject = "Brandi">>
<<if !$Flags.bodySwapped>>
<<image "Portrait - Brandi" right >>
<<if $viewpointCharacter == "Shay">>
Your (fraternal) twin sister. She escaped the womb twenty-eight minutes ahead of you, and has been harassing you ever since.
<br /><br />
<</if>>
<<YouHeSheIt null are is>> 5'6", with straight brown hair that comes down to the middle of <<yourHisHerIts>> back. <<YourHisHerIts>> eyes are green, a striking contrast with <<yourHisHerIts>> dark hair. <<YouHeSheIt "" have has>> pert B-cup breasts, gently curving hips, and a lithe well-toned body.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<if $viewpointCharacter == "Brandi">>
<<YourHisHerIts>> armpits and legs are clean-shaven and silky smooth. You have a neat little pussy, shaved clean.
<</if>>
<<else>>
<<image "Portrait - Brandi, Swapped" right >>
<<if $viewpointCharacter == "Shay">>
Your (fraternal) twin sister. She escaped the womb twenty-eight minutes ahead of you, and has been harassing you ever since. And now she's stolen your body!!!
<br /><br />
<</if>>
<<YouHeSheIt null are is>> 5'7", with messy black hair that comes down to about <<yourHisHerIts>> chin. <<YourHisHerIts>> eyes are green, a striking contrast with <<yourHisHerIts>> dark hair. <<YouHeSheIt "" have has>> a lithe, soft body, not very muscular.
<<YouHeSheIt null are is>> 5'7", with messy red hair that comes down to just above <<yourHisHerIts>> chin. <<YouHeSheIt null has have>> green eyes. <<YouHeSheIt "" have has>> a lithe, soft body, not very muscular.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<if $viewpointCharacter == "Brandi">>\
<<YourHisHerIts>> chest is smooth and hairless. <<YouHeSheIt "" have has>> a bit of fine dark hair in <<yourHisHerIts>> armpits and on <<yourHisHerIts>> legs.
<br /><br />
You have a pathetic little 4" cocklet (and that's when it's hard).
<br /><br />
<</if>>
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Shay">>
<<if !$Flags.bodySwapped>>
<<image "Portrait - Shay" right >>
<<if $viewpointCharacter == "Brandi">>
Your gross little faggy brother. He's a total ass-pirate, but won't admit it.<<if hasAspect("Brandi","suspectsShayOfPeeping")>> You're pretty sure he likes peeping on you in the shower, too!<</if>>
<br /><br />
<</if>>
<<YouHeSheIt "" are is>> 5'7", with messy red hair that comes down to just above <<yourHisHerIts>> chin. <<YouHeSheIt "" have has>> green eyes. <<YourHisHerIts>> chin is smooth; <<youHeSheIt "" "'ve" "'s" false>> never been able to grow any facial hair... <<YouHeSheIt "" have has>> a lithe, soft body, not very muscular.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<if $viewpointCharacter == "Shay">>
<<YourHisHerIts>> chest is smooth and hairless. <<YouHeSheIt "" have has>> a bit of fine dark hair in <<yourHisHerIts>> armpits and on <<yourHisHerIts>> legs.
<br /><br />
You are a virgin. Your cock is about 4" long when hard, 2" when soft. That's about average, outside of pornography, right? Right?!
<br /><br />
<</if>>
<<else>>
<<image "Portrait - Shay, Swapped" right >>
<<if $viewpointCharacter == "Brandi">>
Your gross little faggy brother. He's a total ass-pirate, but won't admit it. And he stole your body!!!
<br /><br />
<</if>>
<<YouHeSheIt null are is>> 5'6", with straight brown hair that comes down to the middle of <<yourHisHerIts>> back. <<YourHisHerIts>> eyes are green, a striking contrast with <<yourHisHerIts>> dark hair. <<YouHeSheIt "" have has>> pert B-cup breasts, gently curving hips, and a lithe well-toned body.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<if $viewpointCharacter == "Shay">>
Your armpits and legs are clean-shaven and silky smooth.
<br /><br />
You are a virgin, but the body you are in probably isn't! You have a neat little pussy, shaved clean.
<br /><br />
<</if>>
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Ada">>
<<image "Portrait - Ada" right >>
<<if $viewpointCharacter == "Shay">>
A skinny waif of a girl, not quite goth, but edging on it. But her voice is husky, a strange contrast. She runs your D&D game.
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Just some prissy emo-cunt that hangs around with your faggy brother.
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
She has red hair and green eyes.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<if $viewpointCharacter == "Shay">>
She has a huge secret that only you know, which you promised never to tell.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Logan">>
<<image "Portrait - Logan" right >>
<<if $viewpointCharacter == "Shay">>
Brandi's squeeze-of-the-week. You don't know him very well<<if $Flags.shayHasMetLogan>>, but he seems nice<</if>>.
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Your hot boyfriend! And he's on the FOOTBALL TEAM, which is a huge status boost for you!!!
<br /><br />
He doesn't seem very eager to fuck you, though. His loss! There's always Kyle! ...As long as Logan doesn't find out!
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
He is over 6' tall, with perfectly tousled brown hair and piercing blue eyes.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Melvin">>
<<image "Portrait - Melvin" right >>
<<if $viewpointCharacter == "Shay">>
Your chubby D&D buddy. He's a little too sensitive sometimes, but he's a really great guy. He is extremely intelligent, though he doesn't like to show it. He can be very self-conscious and is prone to bouts of depression.
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Some fatty nerd that buttfucks your faggot brother or something.
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
He is 5'4", with short brown hair.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Courtney">>
<<image "Portrait - Courtney" right >>
<<if $viewpointCharacter == "Shay">>
Some psychopathic bitch that your sister hangs out with. You don't know her very well -- which may be for the best!
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Courtney is great! She is your best friend, and the only person in the world that you trust.
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
She is very tall and lean, her bearing uncannily like that of a hungry wolf. She has long blonde hair, perfect pale skin, and flat emotionless gray eyes.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Devon">>
<<image "Portrait - Devon" right >>
<<if $viewpointCharacter == "Shay">>
Some jock-buddy of Brandi's boyfriend. He seems alright, though. For a jock.
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Devon is an asshole, and probably a faggot too! He tried to convince Logan not to date you!
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
He is about 6' tall, with dark blond hair that is short on the sides and long on top.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Kyle">>
<<image "Portrait - Kyle" right >>
<<if $viewpointCharacter == "Shay">>
Some jock-buddy of Brandi's boyfriend. He seems like a douche.
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Kyle has a huge cock! Which is good, since Logan doesn't seem very eager to fuck you. ...But you'd better make sure that Logan doesn't find out that you are fucking him on the side!
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
He is just under 6' tall, with short blond hair and a permanent scowl.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _pronounSubject = "Tara">>
<<image "Portrait - Tara" right >>
<<if $viewpointCharacter == "Shay">>
One of Brandi's mean girl entourage. She is dumber than a sack of hammers and a little overweight, but she'll open her legs for just about anyone. This makes her popular in certain circles.
<br /><br />
<<elseif $viewpointCharacter == "Brandi">>
Tara is at the bottom of your pecking order. She is a stupid (but useful) slut, and her frumpiness makes you look better.
<br /><br />
<<else>>
ERROR: This should never be displayed.
<br /><br />
<</if>>
She is 5'2", with blonde hair that comes down to her shoulders.
<br /><br />
<<if $charactersPresent.indexOf(temporary().pronounSubject) != -1>>
<<YouHeSheIt "" are is>> wearing <<print obj(_pronounSubject).apparel>>.
<br /><br />
<</if>>
<<include "PrintAspects">>
<</nobr>>
<<nobr>>
<<set _dp = ($dramatisPersonae = $dramatisPersonae || [])>>
//@@.Yellow;(You are currently playing as @@@@.Shay;Shay@@@@.Yellow;.)@@//
<br /><br />
<table>
<<if _dp.includes('Shay') || _dp.includes('Brandi')>>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="3">
<h3>Main Characters</h3>
</td>
</tr>
<<if _dp.includes('Shay')>>
<tr>
<td>
<<image "Portrait - Shay" none 60px 0px>>
</td>
<td align="center">
@@.Shay;Shay@@
<<popuplink "Character - Shay" "Shay" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
That's you, a runty nerdy guy. You enjoy playing D&D and fixing up antique computers.
</td>
</tr>
<</if>>
<<if _dp.includes('Brandi')>>
<tr>
<td>
<<image "Portrait - Brandi" none 60px 0px>>
</td>
<td align="center">
@@.Brandi;Brandi@@
<<popuplink "Character - Brandi" "Brandi" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
Your bitchy twin sister. She sits at the pinnacle of the mean girl hierarchy.
</td>
</tr>
<</if>>
<br /><br />
<</if>>
<<if _dp.includes('Logan') || _dp.includes('Melvin') || _dp.includes('Ada')>>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="3">
<h3>Major Characters</h3>
</td>
</tr>
<<if _dp.includes('Logan')>>
<tr>
<td>
<<image "Portrait - Logan" none 60px 0px>>
</td>
<td align="center">
@@.Logan;Logan@@
<<popuplink "Character - Logan" "Logan" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
Brandi's football jock boyfriend. @@.Red;You don't know him very well.@@
</td>
</tr>
<</if>>
<<if _dp.includes('Melvin')>>
<tr>
<td>
<<image "Portrait - Melvin" none 60px 0px>>
</td>
<td align="center">
@@.Melvin;Melvin@@
<<popuplink "Character - Melvin" "Melvin" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
Your chubby D&D buddy. He's a little too sensitive sometimes, but he's a really great guy.
</td>
</tr>
<</if>>
<<if _dp.includes('Ada')>>
<tr>
<td>
<<image "Portrait - Ada" none 60px 0px>>
</td>
<td align="center">
@@.Ada;Ada@@
<<popuplink "Character - Ada" "Ada" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
A skinny waif of a girl who runs your D&D game. She has a huge secret that only you know, which you promised never to tell.
</td>
</tr>
<</if>>
<br /><br />
<</if>>
<<if _dp.includes('Courtney') || _dp.includes('Tara') || _dp.includes('Devon') || _dp.includes('Kyle')>>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="3">
<h3>Supporting Characters</h3>
</td>
</tr>
<<if _dp.includes('Courtney')>>
<tr>
<td>
<<image "Portrait - Courtney" none 60px 0px>>
</td>
<td align="center">
@@.Courtney;Courtney@@
<<popuplink "Character - Courtney" "Courtney" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
A member of Brandi's mean girl entourage. @@.Red;You don't know her very well.@@
</td>
</tr>
<</if>>
<<if _dp.includes('Tara')>>
<tr>
<td>
<<image "Portrait - Tara" none 60px 0px>>
</td>
<td align="center">
@@.Tara;Tara@@
<<popuplink "Character - Tara" "Tara" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
Another of Brandi's mean girl entourage. @@.Red;You don't know her very well.@@
</td>
</tr>
<</if>>
<<if _dp.includes('Devon')>>
<tr>
<td>
<<image "Portrait - Devon" none 60px 0px>>
</td>
<td align="center">
@@.Devon;Devon@@
<<popuplink "Character - Devon" "Devon" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
One of Logan's jock buddies. @@.Red;You don't know him very well.@@
</td>
</tr>
<</if>>
<<if _dp.includes('Kyle')>>
<tr>
<td>
<<image "Portrait - Kyle" none 60px 0px>>
</td>
<td align="center">
@@.Kyle;Kyle@@
<<popuplink "Character - Kyle" "Kyle" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
Another of Logan's jock buddies. @@.Red;You don't know him very well.@@
</td>
</tr>
<</if>>
<br /><br />
<</if>>
<<if _dp.includes('Mom and Dad') || _dp.includes('Hobo') || _dp.includes('Teacher')>>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="3">
<h3>Incidental Characters</h3>
</td>
</tr>
<<if _dp.includes('Mom and Dad')>>
<tr>
<td>
<<image "Portrait - Mom and Dad" none 60px 0px>>
</td>
<td align="center">
@@.Minor;Mom and Dad@@
<<popuplink "Character - Mom and Dad" "Mom and Dad" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
Your parents. They're on some kind of expedition in South America for the next month or so.
</td>
</tr>
<</if>>
<<if _dp.includes('Hobo')>>
<tr>
<td>
<<image "Portrait - Hobo" none 60px 0px>>
</td>
<td align="center">
@@.Minor;Hobo@@
<<popuplink "Character - Hobo" "Hobo" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
A creepy old hobo that camps out in the park near your house.
</td>
</tr>
<</if>>
<<if _dp.includes('Teacher')>>
<tr>
<td>
<<image "Portrait - Teacher" none 60px 0px>>
</td>
<td align="center">
@@.Minor;Teacher@@
<<popuplink "Character - Teacher" "Teacher" "(more)" false true>><<popup "StoryMenu - People" "Dramatis Personae" false true>><</popup>><</popuplink>>
</td>
<td>
A teacher from your school. He really hates his job.
</td>
</tr>
<</if>>
<br /><br />
<</if>>
</table>
<</nobr>>
\<<script>>
if( variables().Characters && variables().Characters[temporary().pronounSubject] && !temporary().suppressAspects )
{
var aspects = variables().Characters[temporary().pronounSubject].aspects;
if( aspects )
{
var n = 0;
var out = "";
for( var aspect of aspects.sort() )
{
out += '<li>' + Aspects[aspect] + '</li>';
n++;
}
if( n )
$( output ).wiki( 'Known Aspects:<ul>' + out + '</ul>' );
}
}
<</script>>\
<<nobr>><span id="playing_as"></span>
<<set _oldViewpointCharacter = $viewpointCharacter>>
<<timed 1ms>>
<<if $stateJustLoaded || _oldViewpointCharacter != $viewpointCharacter>>
<<set _tmp = $viewpointCharacter>>
<<if _tmp == 'Shay' && $Flags.bodySwapped>>
<<set _tmp += " (in Brandi's body)">>
<</if>>
<<if _tmp == 'Brandi' && $Flags.bodySwapped>>
<<set _tmp += " (in Shay's body)">>
<</if>>
<<if $stateJustLoaded>>
<<set _tmp = "<b>Save Loaded</b><br />You are playing as " + _tmp + ".">>
<<elseif !_quellNowPlayingAsBlurb>>
<<set _tmp = "You are now playing as " + _tmp + ".">>
<<else>>
<<unset _tmp>>
<</if>>
<<unset $stateJustLoaded>>
<<if _tmp>>
<<replace "#playing_as">><<nobr>>
<<cssbox "playingas-box Black">>_tmp<</cssbox>>
<</nobr>><</replace>>
<</if>>
<</if>>
<</timed>>
<</nobr>>\<h2>\
<<print $storySubtitle>>\
</h2>Version <<print TheBitchSwitch.Release.toFixed(2)>>
(<<print TheBitchSwitch.ReleaseDate>>)
<a target="_blank" href="http://www.echohollow.net">Website</a>
<a target="_blank" href="http://tfgamessite.com/phpbb3/viewtopic.php?f=51&t=11140">Discussion Thread</a>
<a target="_blank" href="https://discord.gg/H4MskX9">Discord Channel</a>
<<popuplink "Patreon Popup" "Patreon?">><</popuplink>><<if Config.debug || window.enableCheats>>\
<hr />
<b><<popuplink "Debug">><</popuplink>></b>
<<print "Passage: "+passage()>>
<</if>>\
<<if !$hideSidebarGameplayButtons>>\
<div id="sidebarPortrait">\
<<sidebarportrait>>\
</div>\
<</if>>\
<<if !$hideSidebarGameplayButtons>>\
<<popuplink "StoryMenu - People" "Dramatis Personae" "Dramatis Personae" false true>><</popuplink>>\
<</if>>\
<b>WARNING:</b> Using this menu can seriously break the game if you're not careful.
As amusing as it might be to fiddle with things, it's probably not a good idea unless it's to get around a bug or something!
<<popuplink "Scene Skip">><</popuplink>>
<<popuplink "Edit Aspects">><</popuplink>>
<<popuplink "Examine State">><</popuplink>>
<<popuplink "Examine Defaults">><</popuplink>>
<<popuplink "Examine Classes">><</popuplink>>
<<link "Clear Remember Data">>\
<<forget $lastCompletedChapter>>\
<<unset $hintsAndCommentaryMode>>\
<<script>>Engine.show();<</script>>\
<</link>>
<<link "Set Remember Data">>\
<<remember $lastCompletedChapter = 1000000>>\
<<set $hintsAndCommentaryMode = true>>\
<<script>>Engine.show();<</script>>\
<</link>>
!!! CAVEAT EMPTOR!
<b>YOU PROBABLY DO NOT WANT TO SUPPORT THIS GAME (YET)!</b>
And not only because it's just the first release, and you //know// how first-release games are....
I want to say this upfront: I raise cattle for a living (the family business), and work on this game in my very limited free time. This means that I don't have as much time as I'd like to work on this game, as the anachronism of small farming is way more work than it's really worth. This may change in the future, and someday I may have more time to work on projects like this. But that's future-stuff, and I have no specific timeline in mind.
This means that you shouldn't expect monthly releases. You'll be lucky to see bi-yearly releases.
I don't do Patreon, but I do think that anything worth doing is worth letting people pay you for if they want, as long as the payer is sufficiently informed as to what to expect. So I do have an account on SubscribeStar. However, SubscribeStar //does not// have any sort of "per-creation" setting at this time, so you'll be billed monthly regardless of whether I release anything that month or not. Like I said, we're probably looking at more like one or two releases //per year// at this point.
So fair warning! I can't promise any kind of release schedule, but you can follow the development status and source-code checkin messages on the discord server, to see whether or not I'm actually doing anything, and to urge me along. ;) But the time between releases may be long enough to make you feel like you're throwing your money down a well. //So please don't subscribe if you're not ok with that.//
At some point in the distant future, I may restrict test releases to subscribers-only, but for now they are all available to the public. Stable releases will always be immediately available to the public. There is no subscriber pay-wall delay or any of that stuff.
<center><a target="_blank" href="https://www.subscribestar.adult/echohollow">Echo Hollow SubscribeStar</a></center>
<<nobr>>
<p>
Chapter: <br />
<span id="chapter">
<<script>>
var count=0;
for( var chapter=0; count<50; chapter++ )
{
var ch = ('0'+chapter).slice(-2);
if( Story.has('Ch'+ch) )
{
count = 0;
var out = '';
out += '<<link "' + ch + '">>';
out += ' <<replace "#scene">>';
var scount = 0;
for( var scene=0; scount<50; scene++ )
{
var sc = ('00'+scene).slice(-3);
if( Story.has('Ch'+ch+' Sc'+sc) )
{
scount = 0;
out += '[[' + sc + '->Ch' + ch + ' Sc' + sc + ']] ';
}
scount++;
}
out += ' <</replace>>';
out += '<</link>> ';
$( output ).wiki( out );
}
count++;
}
<</script>>
</span>
</p>
<p>
Scene: <br />
<span id="scene">
</span>
</p>
<</nobr>>
<<nobr>>
<<for _i, _aspect range Object.keys(Aspects)>>
<<capture _aspect $viewpointCharacter>>
<<link add>>
<<aspect $viewpointCharacter add _aspect>><</aspect>>
<<replace "#aspects">>
<<include "Print Aspects">>
<</replace>>
<</link>>
<<link del>>
<<aspect $viewpointCharacter del _aspect>><</aspect>>
<<replace "#aspects">>
<<include "Print Aspects">>
<</replace>>
<</link>>
<<if hasAspect($viewpointCharacter,_aspect)>>
@@.Green;''<<print Aspects[_aspect]>>''@@
<<else>>
<<print Aspects[_aspect]>>
<</if>>
<br />
<</capture>>
<</for>>
<</nobr>><<nobr>>
<div id="aspects"><<include "Print Aspects">></div>
<</nobr>><pre><<=JSON.stringify(State.variables,null,4)>></pre><pre><<print JSON.stringify(window.LibEchoPersistenceDefaults,null,4)>></pre><pre><<print JSON.stringify(window.LibEchoPersistenceClasses,null,4)>></pre>
<<script>>
//Config.history.controls = false;
{
var button = $( document.createElement('button') ).
attr( 'id', 'history-reload' ).
attr( 'tabindex', '0' ).
attr( 'title', 'Replay the current moment within the game history' ).
attr( 'aria-label', 'Replay the current moment within the game history' ).
attr( 'type' , 'button' ).
wiki( '' ).
ariaClick( function() {
/* There is a bug here where loading a game doesn't reset State.length (since it isn't in the variable table). FIXME */
if( State.length > 1 )
{
Engine.backward();
Engine.forward();
}
});
$( '#history-backward' ).after( button );
}
//<button id="history-backward" tabindex="0" title="Go backward within the game history" aria-label="Go backward within the game history" type="button"></button>
window.TheBitchSwitch = {};
TheBitchSwitch.Release = 1.01;
TheBitchSwitch.ReleaseDate = "2019-08-05";
State.variables.GameRelease = TheBitchSwitch.Release;
<</script>>
<<set $Flags = {}>>
<<set $hideSidebarGameplayButtons = true>>
<<if $viewpointCharacter == "Shay">> \
Brandi's room is //really// pink, //really// girly, and //really// clean and neat. You'll have to be sure not to disturb anything.
A canopy bed with a pink spread and black silk sheets sit against the far wall. It is piled with stuffed animals of all descriptions. Next to the bed is a nightstand. Opposite the bed is a dresser and a desk. On the desk is a laptop computer. There is also a closet with a full-length mirror attached to the door.
<<elseif $viewpointCharacter == "Brandi">> \
ERROR
<<else>> \
ERROR: This should never be displayed.
<</if>> \
<<if $viewpointCharacter == "Shay">> \
In your room, organized chaos. Two vintage posters framed on the wall behind the bed, one a classic Frank Zappa album cover, the other a vintage Sonny Chiba movie poster. Heaps of clothing teetering here and there, with various papers and D&D manuals roaming free-range across the heaps. A work bench along the far wall, piled with vintage 8-bit computing equipment, and assorted tools for working on it. A desk along the near wall, upon which you've set up several cool old computers that you've restored to working condition.
<<elseif $viewpointCharacter == "Brandi">> \
ERROR
<<else>> \
ERROR: This should never be displayed.
<</if>> \
The park is an absolute dump. You remember playing here as a small child, but recently it has been taken over by hobos. They've pitched tents and cardboard boxes all over, and the grass is littered with trash.
Wide concrete steps lead up to the campus lawn, surrounding a bronze statue of the school's founder, Ebeneezer Zodd, a bespectacled old man glaring from beneath bushy bronze eyebrows. He is a frequent target of senior pranks.
The main school building lies beyond.
<<popup "Aspects Tutorial 1" "Tutorial!" false>><</popup>>\
Hi there! Sorry for interrupting again, but here's another little tutorial blurb!
!!! Aspects Tutorial!
You've made a choice that resulted in a character gaining an Aspect!
This story uses a simplified set of FATE-like mechanics internally. You the player are never exposed to anything crunchy or numerical. Just pick the choices you like, guide the characters through the story, and the game will take care of the crunchy stuff behind the scenes.
Aspects are a really important part of the game! The aspects that characters gain and lose throughout the story have a profound impact on the narrative!
* <<link "More.">><<popup "Aspects Tutorial 2" "Tutorial!">><</popup>><</link>>
If you see a block like this...
<<aspect Shay add exampleAspect>>You've always been obsessed with pink, even if it's not very manly.<</aspect>><<aspect Shay del exampleAspect>><</aspect>>
Or like this...
<<aspect say exampleAspect>>The candy is so pretty and pink; you just can't resist taking one!<</aspect>>
... this means that something has just happened that relates to an //''Aspect''// of a character. Aspects represent a character's personality and preferences, and influence the choices and content pathways that are available. You'll see a message like this any time a character //''gains''// or //''loses''// an aspect, as well as when something happens that is //''influenced by''// or //''triggered by''// an aspect. The narrative can change depending on the aspects of the various cast of characters, ofttimes subtly, but sometimes drastically!
* <<link "More.">><<popup "Aspects Tutorial 3" "Tutorial!">><</popup>><</link>>
<<image "Tutorial - Navigation" left null 30px>>If your choices result in an aspect that you don't think you want in your story, you can replay the scene using the "Replay Scene" button (↑) ''at the top of the sidebar to the left'', and try some different choices. If that doesn't get you out of it, you can also use the "Previous Scene" button (←) to rewind though previous scenes until you get the sort of aspects and narrative that you want!
Don't forget about the ''//Replay Scene (↑)//'' button! You'll probably need it!
* <<link "Ok, ok, I've got it! Jeez! Let me back into the game already!">><<run Dialog.close()>><</link>>
<<popup "Characters and Dialog Tutorial 1" "Tutorial!" false>><</popup>>
Hi there! Thanks for playing the game! We apologize for interrupting you already, but here's a quick tutorial blurb for you!
!! Characters and Dialog Tutorial!
<<image "Tutorial - Sidebar Portrait" left null 30px>>\
If you want to know more about someone who is speaking, just click the portrait next to their speech bubble!
<<dialog>>← Like this one, right here! (Although this one is unclickable because it's not a "real" character.)<</dialog>>
← You may also examine yourself (that is, the active viewpoint character) at any time by clicking on the larger character portrait in the sidebar!
(In general, any "non-generic" character portrait should yield some in-depth descriptive information when you click it.)
← Alternately, you can check the details of anyone you've met (even if they're not present in the scene) via the "Dramatis Personae" button!
//''Go ahead and click on Brandi's dialog portrait after you've closed this window!''//
* <<link "Ok, ok, I've got it! Jeez! Let me back into the game already!">><<script>>Dialog.close()<</script>><</link>>
<<popup "Clothing and Apparel Tutorial 1" "Tutorial!" false>>\
<<include "Clothing and Apparel Tutorial 2">>
<</popup>>\
One more little tutorial blurb interruption for now!
!!! Clothing and Apparel Tutorial!
Welcome to the clothing and apparel tutorial! This game uses a fairly straightforward clothing and inventory system, but it may bear a little bit of explanation. Just in case!
You need to get dressed for school! When you click "Next", the wardrobe window will pop up. From there, you'll see some tutorial information in the text area at the very bottom of the window!
* <<link "Next.">><<run Dialog.close()>><</link>>
<<set _tutorialStatus = 0>>\
<<set _checkDressed = function() {
var wearing = 0;
for( var id of obj("Shay").apparel.ids )
{
switch( id )
{
case 'boring_briefs':
case 'boring_jeans':
case 'boring_tshirt':
case 'boring_socks':
case 'boring_shoes':
wearing++;
break;
default:
wearing--;
}
}
if( wearing == 5 )
return true;
temporary().tutorialStatus++;
switch( temporary().tutorialStatus )
{
case 1:
return "@@.Yellow;Click the //''[Wear]''// button next to something in the clothes heap, and Shay will put it on!@@";
case 2:
return "@@.Yellow;Likewise, you can tell him to remove a worn item with the //''[Remove]''// button!@@";
case 3:
return "@@.Yellow;If you want to examine an item more closely, just //''click on its thumbnail image''//. It works the same way as with people and dialog!@@";
case 4:
return "@@.Yellow;The selector at the top of the right-hand column (the one that is probably set to \"All\") allows you to //''only display a certain category of apparel''//. This is useful when your closet gets too full!@@";
case 5:
return "@@.Yellow;Once you've worn both the jeans and the briefs, you'll notice that //''clothing is layered''//, and certain items of clothing can cover up the items worn beneath. You may find this useful later! ;D@@";
case 6:
return "@@.Yellow;You can't generally leave your room while naked or improperly dressed. Once you're decent, a \"Done\" button will appear here. //''If you don't see it, make sure the sort selector is set to \"All\"''//@@";
default:
return "@@.Yellow;That's all for the apparel tutorial! Go ahead and wear the rest of your clothes. Once you're decent, a \"Done\" button will appear here. //''If you don't see it, make sure the sort selector is set to \"All\"''//!@@";
}
}>>\
<<wardrobeSwap `obj("Shay").apparel` clothes_heap_shay _checkDressed>>\
You ought to head for school, or you'll be late. Brandi's current boy-toy has a car, and will pick her up later. But you have to walk.
<<choose "Go to school.">>\
<<include "Ch01 Sc020 P02">>\
<</choose>>\
<</wardrobeSwap>>\
<<widget lasteroscene>><<cssbox "lasteroscene-box Black">>Warning: This is the last erotic scene before the end of the current content.<</cssbox>><</widget>>
\<<widget location>><<nobr>>\
<<if $args[1] != "noimage" && $args[2] != "noimage">>
<<set _tmp = 'Location - ' + $args[0] >>
<<image _tmp center>>
<</if>>
<<if $args[1] != "notext" && $args[2] != "notext">>
<<set _tmp = 'Location - ' + $args[0] >>
<<include _tmp>>
<</if>>
\<</nobr>><</widget>>\
<<widget updatesidebar>><<nobr>> \
<<capture $args>>
<<timed 1ms>>
<<set _tmp = $args[0] || '' >>
<<replace '#sidebarPortrait' _tmp>>
<<sidebarportrait>>
<</replace>>
<</timed>>
<</capture>>
\ <</nobr>><</widget>>
<<widget sidebarportrait>><<nobr>> \
<<if $viewpointCharacter >>
<hr />
<<set _sb_tmp = 'Portrait - ' + $viewpointCharacter >>
<<if obj($viewpointCharacter) && obj($viewpointCharacter).image >>
<<set _sb_tmp = obj($viewpointCharacter).image >>
<</if>>
<<set _sb_tmp = '<<image "' + _sb_tmp + '" center 80% >>' >>
<<set _sb_tmp2 = "Character - " + $viewpointCharacter >>
<<capture _sb_tmp _sb_tmp2>>
<<link "_sb_tmp">>
<<popup _sb_tmp2 "You">><</popup>>
<</link>>
/* <b>
<<set _tmp = $viewpointCharacter>>
<<if $Flags.bodySwapped>>
<<run _tmp += ' (Body-Swapped)'>>
<</if>>
<<link _tmp>>
<<popup _sb_tmp2 "You">><</popup>>
<</link>>
</b>*/
<</capture>>
<hr />
<</if>>
\ <</nobr>><</widget>>
<<widget video>><<nobr>> \
/* Args: videoName left|right|center|none width booleanNoLoop booleanShowControls */
<<set _tmp_center = false>>
<<if $args.length > 1 && $args[1].toLowerCase()!='none'>>
<<set _tmp1 = ' style="float:' + $args[1] + '; padding: 10px 20px;"'>>
<<if $args[1] == 'center'>>
<<set _tmp_center = true>>
<</if>>
<<else>>
<<set _tmp1 = ' style="padding: 10px 20px;"'>>
<</if>>
<<if $args.length > 2 >>
<<set _tmp2 = ' width="' + $args[2] + '"'>>
<<else>>
<<set _tmp2 = "">>
<</if>>
<<if $args.length > 3 || !$args[3]>>
<<set _tmp3 = ' loop'>>
<<else>>
<<set _tmp3 = "">>
<</if>>
<<if $args.length > 4 && $args[4]>>
<<set _tmp4 = ' controls'>>
<<else>>
<<set _tmp4 = "">>
<</if>>
<<set _tmp = '<div' + _tmp1 + '><video src="mp4/' + $args[0] + '.mp4" ' + _tmp2 + ' autoplay ' + _tmp3 + _tmp4 + ' preload="auto" poster="webp/Video Loading.webp" /></div>' >>
<<if _tmp_center>>
<<set _tmp = '<center>' + _tmp + '</center>' >>
<</if>>
<<print _tmp >>
\ <</nobr>><</widget>>