code:
label lily_buddy_threesome_label(): #14+
    $ scene_manager = Scene()
    $ the_person = get_lab_partner()
    $ the_sister = lily
    $ the_person.event_triggers_dict["friend_with_benefits"] = the_person.event_triggers_dict.get("friend_with_benefits", 0) + 1
    if the_person.event_triggers_dict.get("friend_with_benefits", 0) < 15:
        $ surprise_lesson = Action("Surprise Lesson", lily_followup_requirement, "surprise_lesson_label")
        $ mc.business.add_mandatory_crisis(surprise_lesson)
    elif the_person.event_triggers_dict.get("friend_with_benefits", 0) < 17:
        $ sister_invite = Action("Sister Invite", lily_followup_requirement, "sister_invite_label")
        $ mc.business.add_mandatory_crisis(sister_invite)
    #recordings unlock
    if the_person.event_triggers_dict.get("friend_with_benefits", 0) > 14:
        if "Love Triangle Chat" not in mc.business.event_triggers_dict.get("study_recordings", []):
            $ mc.business.event_triggers_dict["study_recordings"].append("Love Triangle Chat")
    if the_person.event_triggers_dict.get("friend_with_benefits", 0) > 16:
        if "Threesome Chat" not in mc.business.event_triggers_dict.get("study_recordings", []):
            $ mc.business.event_triggers_dict["study_recordings"].append("Threesome Chat")
    #current scene
    if the_person.event_triggers_dict.get("friend_with_benefits", 0) < 15:
        pass #TODO
    elif the_person.event_triggers_dict.get("friend_with_benefits", 0) < 16:
        if not mc.business.event_triggers_dict.get("home_cameras", []):
            "SERIOUSLY?!? You still don't have the cameras?"
            if mc.business.funds > 100000:
                $ temp_funds = mc.business.funds/2
                $ mc.business.change_funds(-temp_funds)
            elif mc.business.funds > 10000:
                $ mc.business.change_funds(-1000)
            $ mc.business.event_triggers_dict["home_cameras"].append(lily)
            $ lily.event_triggers_dict["camera_level"] = 0
            $ mc.business.event_triggers_dict["home_cameras"].append(mom)
            $ mom.event_triggers_dict["camera_level"] = 0
            "There you go, these recordings contain story stuff, but the rest can be watched from your bedroom now too."
        "You get an alert on your phone, it looks like [the_sister.title] and [the_person.possessive_title] are hanging out in her room."
        "Things have been a little weird since you watched them together on your bed."
        if mc.current_location_hub != home_hub:
            "You better head home and watch to see if you need to do anything to keep it from spiralling out of control."
        elif mc.location != bedroom:
            "You head to your room to watch and see if you need to do anything to keep it from spiralling out of control."
        else:
            "You should watch and see if you need to do anything to keep it from spiralling out of control."
        $ mc.change_location(bedroom)
        "Pulling up the camera feed you see [the_sister.possessive_title] and [the_person.title] hanging out and chatting."
        "While their other recent activies have been more exciting, you are curious about what they are saying."
        call love_triangle_label(the_sister, the_person) from _call_love_triangle_label
    elif the_person.event_triggers_dict.get("friend_with_benefits", 0) < 17:
        if mc.current_location_hub != home_hub:
            "You head home curious about what will happen next."
        elif mc.location != bedroom:
            "You head to your room curious about what will happen next."
        else:
            "It takes all of your self control to wait and see what will happen next."
        $ mc.change_location(bedroom)
    elif the_person.event_triggers_dict.get("friend_with_benefits", 0) < 18:
        "You get an alert on your phone, it looks like [the_sister.title] and [the_person.possessive_title] are hanging out in her room."
        "Your not sure how they are doing since your and [the_sister.title]'s exhibition for [the_person.title]"
        if mc.current_location_hub != home_hub:
            "You better head home and watch to see if you need to do anything to keep it from spiralling out of control."
        elif mc.location != bedroom:
            "You head to your room to watch and see if you need to do anything to keep it from spiralling out of control."
        else:
            "You should watch and see if you need to do anything to keep it from spiralling out of control."
        $ mc.change_location(bedroom)
        "Pulling up the camera feed you see [the_sister.possessive_title] and [the_person.title] hanging out and chatting."
        "While their other recent activies have been more exciting, you are curious about what they are saying."
        call threesome_chat_label(the_sister, the_person) from _call_threesome_chat_label
    elif the_person.event_triggers_dict.get("friend_with_benefits", 0) < 19:
        "You aren't supposed to know, but tonight is the night."
        if mc.current_location_hub != home_hub:
            "You quickly head home so that you can be ready for them to come find you."
        elif mc.location != bedroom:
            "You head to your room so that you can be ready for them to come find you."
        else:
            "It takes all of your self control to not seek them out, but sit and wait for them to come find you."
        $ mc.change_location(bedroom)
        call first_threesome_label(the_sister, the_person) from _call_first_threesome_label
    else:
        call repeat_threesome_label(the_sister, the_person) from _call_repeat_threesome_label
    $ scene_manager.clear_scene
    return

label surprise_lesson_label(): #14
    $ scene_manager = Scene()
    $ the_person = get_lab_partner()
    $ the_sister = lily
    if the_person.arousal_perc > the_sister.arousal_perc:
        $ person_one = get_lab_partner()
        $ person_two = lily
    else:
        $ person_two = get_lab_partner()
        $ person_one = lily
    $ scene_manager.add_actor(person_one, emotion = "happy")
    "INCOMPLETE LABEL" #TODO
    "[person_one.title] IS HORNY AND WANTS YOUR DICK ALL NIGHT"
    $ scene_manager.strip_to_underwear(person_one)
    "SHE STARTS WITH A HANDJOB SO YOU CAN LAST LONGER"
    "YOUR PHONE KEEPS PINGING WITH ALERTS, BUT YOU IGNORE IT"
    $ scene_manager.update_actor(person_one, emotion = "sad")
    $ scene_manager.add_actor(person_two, display_transform = character_left_flipped, emotion = "sad")
    "[person_two.title] WALKS IN AND CATCHES YOU"
    "IN SURPRISE YOU SHOOT YOUR LOAD HITTING BOTH"
    person_two "Sorry, I thought... wait [person_one.fname]?"
    person_one "Sorry [person_two.fname] he's been teaching me and I help him get off in return."
    person_two "he's teaching you too?"
    person_one "wait what do you mean too?"
    mc.name "girls, it's okay, lets sit down and talk"
    person_two "I was doing it for you"
    the_person "me too"
    "THEY KISS PASSIONATELY, DECLARE THEIR LOVE AND PROCEED TO MAKE OUT"
    mc.name "um girls?"
    person_one "sorry, we can go... unless..."
    person_two "do you want to watch?"
    $ scene_manager.strip_to_underwear(person_two)
    "LESBIAN FOREPLAY"
    $ scene_manager.strip_full_outfit(person_one)
    $ scene_manager.strip_full_outfit(person_two)
    "LESBIAN SEX"
    "LAB PARTNER INVITES ME OVER AND FINISHES ME OFF WITH HER MOUTH"
    "SISTER KISSES LAB PARTNER. licks cum off her chin"
    "THEY HEAD TO SISTER'S ROOM"
    $ surprise_follow_up_1 = Action("Surprise Follow Up 1", teaching_request_requirement, "surprise_follow_up_1_label", requirement_args=[the_sister, day])
    $ mc.business.add_mandatory_crisis(surprise_follow_up_1)
    $ scene_manager.clear_scene()
    return

label surprise_follow_up_1_label():
    $ scene_manager = Scene()
    $ the_person = get_lab_partner()
    $ the_sister = lily
    $ scene_manager.add_actor(the_sister, position = "sitting")
    "You walk into [the_sister.possessive_title]'s room, finding her sitting on the bed, typing away on her laptop."
    "She looks up as you enter, a hint of a smile playing on her lips."
    the_sister "Hey, [the_sister.mc_title]!"
    mc.name "[the_sister.title], can we talk?"
    "She closes her laptop and sets it aside, her expression turning serious for a moment before relaxing again."
    the_sister "Of course, [the_sister.mc_title]. What's on your mind?"
    "You take a deep breath, choosing your words carefully."
    mc.name "I wanted to check in with you about last night. With [the_person.fname]... everything that happened."
    "[the_sister.title]'s eyes sparkle with amusement, but she remains calm, her voice even when she responds."
    the_sister "Oh, you mean when [the_person.fname] sucked you off and then shared a little kiss with me afterwards?"
    if the_sister.has_taboo("sucking cocks"):
        the_sister "You didn't hear me complaining last night did you?"
        mc.name "But are you okay with it? I know it's a bit weird, us being siblings..."
        "[the_sister.title] waves a hand dismissively."
        the_sister "[the_sister.mc_title], after the other things we;ve been doing that didn't seem out of bounds."
    else:
        the_sister "Yeah, I'm good with all of that."
    "Her words reassure you and you sit down beside her, feeling a sense of camaraderie wash over you."
    mc.name "So, what did [the_person.fname] think about our... our actions? Did she enjoy it as much as we did?"
    "[the_sister.title]'s face lights up with a mischievous grin."
    the_sister "[the_person.fname] loved every minute of it. She told me later that she felt so close to us after experiencing such an intimate moment together."
    "Your heart swells with happiness knowing that [the_person.fname] enjoyed the experience."
    mc.name "That's great to hear. I was worried she might not feel the same way."
    the_sister "Don't worry, [the_sister.mc_title]. [the_person.fname] is enthusiastic about these kinds of things, she's always looking for new ways to spice up our sessions."
    mc.name "I guess we've got quite the dynamic going here, huh?"
    "You chuckle at a situation that would have seemed absurd a few months ago. [the_sister.title] laughs along with you, her eyes twinkling with delight."
    the_sister "Absolutely. Our dynamic is unique, and it works for us. We just need to keep communicating openly and making sure everyone's on board."
    "You relax a bit, relieved that things are going well enough that they can continue as is, maybe there is even hope for more."
    the_sister "You know, we could plan another session soon if you're interested."
    mc.name "Really?"
    the_sister "Sure, why not? Now that everything is out in the open we shouldn't need to sneak in time together."
    mc.name "That would be pretty great."
    the_sister "I might still spend some alone time with [the_person.fname], but if you are around maybe we can play together again."
    "Bouyed by that thought, you head out and procede through your day."
    $ surprise_follow_up_2 = Action("Surprise Follow Up 2", teaching_request_requirement, "surprise_follow_up_2_label", requirement_args=[the_person, day])
    $ mc.business.add_mandatory_crisis(surprise_follow_up_1)
    $ scene_manager.clear_scene()
    return

label surprise_follow_up_2_label():
    $ scene_manager = Scene()
    $ the_person = get_lab_partner()
    $ the_sister = lily
    $ scene_manager.add_actor(the_person, position = "sitting")
    "You spot [the_person.possessive_title] across the quad, sitting alone under a sprawling oak tree. Her long, [the_person.hair_colour] hair cascades down her back as she reads a book, seemingly lost in thought."
    "You take a deep breath and clear your throat to announce your arrival. [the_person.title] looks up, her [the_person.eye_colour] eyes meeting yours with a mix of recognition and wariness."
    mc.name "Hey, how are you doing today?"
    the_person "I'm alright, considering everything that went down last night."
    mc.name "Yeah, I can imagine. It must've been pretty intense, seeing [the_sister.title] and me...you know."
    the_person "I'd be lying if I said it wasn't shocking at first, but looking back I guess it makes sense."
    mc.name "I just wanted to check in and make sure you're cool with everything that happened between us."
    "[the_person.title] looks back up at you, a hint of a smile playing on her lips."
    the_person "To be honest, [the_person.mc_title], I found it incredibly hot thinking of you with [the_sister.title]."
    the_person "And when she licked up your cum...well, let's just say it was a new experience I won't soon forget."
    mc.name "I'm glad you enjoyed it. I was worried you might feel weird about the whole situation since she is my sister."
    "[the_person.fname] shrugs, her expression thoughtful."
    the_person "Honestly, it made me realize that desire knows no bounds - not even familial ones. If anything, it's sparked a newfound curiosity within me about exploring those lines further."
    "You swallow hard, processing her statement. The idea of delving into more taboo scenarios sends a thrill through you, but you also want to ensure [the_person.fname] is comfortable with the pace."
    mc.name "So, um, would you be open to maybe... recreating something like that again sometime?"
    "[the_person.fname]'s eyes sparkle with intrigue as she considers your proposal."
    the_person "I think that could be arranged, as long as we're all on the same page, of course."
    "You exhale a sigh of relief, feeling a sense of excitement and anticipation wash over you. The possibilities seem endless, and you can't wait to see where this new dynamic will lead."
    "You give [the_person.title] a quick embrace before you head back to the rest of your day, excited for the future."
    $ scene_manager.clear_scene()
    return

label sister_invite_label(): #16
    $ scene_manager = Scene()
    $ the_sister = lily
    $ the_person = get_lab_partner()
    $ temp_outfit = limited_university_wardrobe.decide_on_outfit(the_sister).get_copy()
    if temp_outfit.get_bra():
        $ temp_outfit.remove_clothing(temp_outfit.get_bra())
    if temp_outfit.get_panties():
        $ temp_outfit.remove_clothing(temp_outfit.get_panties())
    $ scene_manager.add_actor(the_sister, visible = False)
    $ scene_manager.apply_outfit(the_sister, temp_outfit)
    $ temp_outfit = limited_university_wardrobe.decide_on_outfit(the_person).get_copy()
    if temp_outfit.get_bra():
        $ temp_outfit.remove_clothing(temp_outfit.get_bra())
    $ scene_manager.add_actor(the_person, visible = False)
    $ scene_manager.apply_outfit(the_person, temp_outfit)
    "INCOMPLETE LABEL" #TODO
    "A soft knock echoes through your bedroom door, breaking the silence of the evening."
    mc.name "Come in!"
    $ scene_manager.show_actor(the_sister, emotion = "happy")
    "The door swings open to reveal [the_sister.possessive_title] standing in the doorway with a coy smile playing on her lips."
    the_sister "Hey, [the_sister.mc_title], I was thinking... why don't you come over to my room for a bit?"
    the_sister "[the_person.fname]'s here too, and we've got some fun plans in store for you."
    "Your pulse quickens at the prospect of spending time with both girls, especially given the intimate nature of recent encounters."
    mc.name "Sure thing, [the_sister.title]. Lead the way."
    "[the_sister.title] grins, her eyes sparkling with mischief as she takes your hand and leads you down the dimly lit hallway."
    "When you arrive at her room, you find [the_person.title] already there, leaning back in a chair at the desk."
    the_person "Welcome, [the_person.mc_title], we've been looking forward to this moment all evening."
    "[the_sister.title] releases your hand and steps back, her gaze raking over your body with an appreciative hunger."
    the_sister "Why don't you get comfortable, big brother?"
    # define top
    # remove top
    "Without waiting for a response, [the_sister.title] begins to undress, peeling off her [temp_top.display_name] to reveal that she was not wearing a bra."
    # define bottom
    # remove bottom
    "Your mouth goes dry as she continues to strip, pulling down her [temp_bottom.display_name] and revealing smooth, toned skin and the tantalizing curves of her hips."
    "You stand there frozen in place, unable to tear your eyes away from the sight before you."
    $ scene_manager.strip_full_outfit(the_sister)
    "As [the_sister.title] discards her final article of clothing, she takes your hand and gently guides you towards the bed."
    the_sister "Let's get you out of these clothes."
    "[the_sister.title]'s deft fingers work swiftly, undoing each button until your shirt falls open, exposing your chest to her hungry gaze."
    "She leans in, pressing her lips to your collarbone as her hands slide down to palm your growing erection through your pants."
    the_sister "Mmm, look at you, so hard already, just for me."
    "[the_person.title] watches intently from her perch, a blush coloring her cheeks as she toys with her own nipples through the thin fabric of her top."
    the_person "That's right, get your big brother ready for your tight little cunt."
    "[the_sister.title] chuckles, nipping at your jawline before trailing kisses down your neck."
    the_sister "Patience, [the_person.fname]. We'll get there."
    # position
    "She drops to her knees, fumbling with your belt buckle as she gazes up at you with lust-filled eyes."
    the_sister "Gonna suck this big cock till you're begging for [the_sister.possessive_title]'s pussy."
    "Her words send a jolt of pleasure straight to your groin, and you groan as she frees your length, stroking it firmly."
    "She smirks, licking a bead of precum from the tip before engulfing you in warmth. Her head bobs eagerly, taking you deeper with each pass until she's swallowing around your shaft."
    mc.name "Fuck, [the_sister.fname]... your mouth feels amazing."
    "The wet sounds of her sucking fill the room, mingling with your moans of delight."
    # define top
    # remove top
    "Meanwhile, [the_person.fname] has shed her top, revealing [the_person.tits_description] topped with rosy nipples."
    "She pinches and tugs at them, panting softly as she watches the lewd display."
    the_person "Oh god, [the_sister.mc_title], [the_sister.title]'s such a slut for your dick."
    "Her free hand dips between her thighs to rub at her clit. as she continues to watch."
    "[the_sister.title] hums in approval around your shaft, pulling back to take a breath."
    # position
    "The moment [the_sister.title] releases your cock, you take advantage of the pause to pull her up to your level, rolling up on your side."
    "You part her legs, settling a hand between them as you begin to explore the territory between her thighs."
    "The first touch of your fingertips sends shivers coursing through [the_sister.title]'s body, her hips bucking upward in search of more contact."
    "You oblige, increasing the pressure and tempo as you delve deeper into her folds. Her moans grow louder, the vibrations causing your cock to twitch with anticipation."
    "As you build toward her first climax, you glance up to find [the_person.title] still watching, her face aglow with excitement."
    "Her fingers are busy now, pumping into her cunt as she urges you on with whispered encouragement."
    the_person "Faster, [the_sister.mc_title], faster! Make [the_sister.possessive_title] scream!"
    "Her words send a surge of heat through your veins, and you groan as [the_sister.title]'s hand wraps around your hard length."
    "She strokes you slowly, her grip firm and purposeful as she watches your reaction."
    "You lean down to [the_sister.title], capturing her lips in a searing kiss. Her tongue delves into your mouth, tangling with yours as she arches into your touch."
    "A short time later, [the_sister.title] pulls back from the kiss as her cries reach a fever pitch and you push her over the edge."
    # orgasm
    "As [the_sister.title]'s climax crashes over her, her inner walls clench rhythmically around your exploring fingers."
    "You continue to stroke her through the aftershocks, prolonging her pleasure until she's limp and gasping beneath you."
    # split vagainal/anal
    the_person "I want to watch you take him, [the_sister.title], I want to see his cock stretching your tight little cunt while you scream his name."
    "[the_sister.title] moans at the crude description, thrusting her hips up in response."
    the_sister "Fuck yes, I need my brother's dick so bad right now."
    "Turning to you she continues."
    the_sister "Please, I need you inside me. Fuck me like only a big brother can."
    "Satisfied that she's thoroughly worked up, you withdraw your hand and position yourself at her entrance."
    "With a slow, deliberate thrust, you bury yourself inside her warm, welcoming depths."
    "As you sink into [the_sister.title], her walls clamping down on your length, you feel the world narrow to the sensation of [the_sister.possessive_title]'s pussy surrounding you."
    # if first time
        # the_sister "You have no idea how long I've wanted this, to have my big brother's cock buried deep inside me..."
    the_sister "Ohhh, [the_sister.mc_title]! My big brother's cock feels so good inside me..."
    "You set a steady pace, savoring the sensation of being buried within [the_sister.possessive_title]'s tight heat."
    mc.name "You're such a dirty girl, [the_sister.fname], taking your big brother's cock like the slutty little sister you are..."
    "[the_sister.title]'s moans grow louder, her hips meeting yours with increasing urgency."
    the_sister "Yes, [the_sister.mc_title], fuck me harder! Use me like your personal fucktoy!"
    "[the_person.fname]'s eyes never leave the intimate scene unfolding before her, her hand moving in time with your thrusts as she pleases herself."
    the_sister "Look at him go, [the_person.fname], my big brother's cock is stretching me out so good..."
    the_person "Oh god... so hot..."
    "[the_person.title] gets suddenly louder and you turn to look as she starts to shake her way through an orgasm."
    # orgasm
    "You and [the_sister.possessive_title] pause for a moment to watch as your shared girlfriend cums from watching you have sex."
    "She collects herself, bringing her hand up to lick off her fingers before refocusing on the two of you."
    the_person "Keep going, [the_sister.mc_title], make her cum again on that huge dick. I want to see her lose control again."
    the_sister "Yeah big brother, fuck me nice and hard then fill me up with your seed."
    "[the_sister.title]'s words and [the_person.fname]'s urging spur you on, your pace quickening as you chase another peak for your willing sister."
    # orgasm
    "With a final, powerful thrust, you send [the_sister.title] careening over the edge again."
    "Her inner muscles clamp down around you, milking every last drop as she rides out her second intense climax."
    # cum in vagina
    "Hilt deep, her pulsing triggers your own orgasm and you erupt inside [the_sister.title], flooding her womb with your hot seed."
    "[the_sister.title]'s screams of ecstasy echo off the walls, her body trembling with the force of her release."
    "As the waves subside, she collapses back onto the mattress, her chest heaving with ragged breaths."
    "As you relax, your softening member slips free from [the_sister.title]'s tender grasp, she wraps her arms around your shoulders, holding you close as her body continues to tremble with aftershocks."
    "A trickle of cum escapes from [the_sister.title]'s stretched opening, glistening in the dim light."
    # stand
    "[the_person.fname], who'd been watching with rapt attention, finally slides off the desk and pads across the floor to join you both."
    #crawl
    "[the_person.fname] crawls onto the bed, positioning herself between [the_sister.title]'s thighs."
    "She leans in, her tongue darting out to lap at the spillage, then delving deeper to taste [the_sister.title]'s still-sensitive folds."
    the_person "Mmm, [the_person.mc_title]'s cum tastes so good."
    "[the_sister.title], still reeling from the intensity of your lovemaking, winces slightly as [the_person.fname]'s tongue brushes against her oversensitive flesh."
    "[the_person.fname] notices and pauses, her gaze flicking up to meet [the_sister.title]'s apologetic expression."
    the_person "I'm sorry [the_sister.fname] I didn't mean to hurt you."
    the_sister "It's okay, [the_person.fname]. I'm just... a bit sensitive right now."
    "[the_person.fname] pulls back and glances up at you with a sultry smile, her intentions clear."
    "You nod, understanding, and shift closer to offer [the_person.fname] access to your spent member."
    "She takes it eagerly, wrapping her lips around the head and sucking gently to collect the remaining drops of cum."
    # stand
    "When she pulls away, she climbs up to press a lingering kiss to [the_sister.title]'s mouth, sharing the salty-sweet flavor of your combined essence."
    "[the_sister.title]'s eyes flutter closed, a soft moan vibrating against [the_person.fname]'s lips as she savors the taste."
    "As [the_person.fname] pulls back, a satisfied sigh escapes her lips."
    the_person "Mmm, that hit the spot, thanks for sharing, [the_sister.title]."
    "[the_sister.title] grins, her own satisfaction evident in the languid sprawl of her body beside you."
    the_sister "Anytime, [the_person.fname], anytime."
    # position
    "[the_sister.title]'s words hang in the air, a soft smile spreading across her face as she settles back against the pillows, drawing [the_person.fname] close."
    "The two lovers nestle together as they bask in the afterglow of your lovemaking."
    "You get up to turn off the light and after hesitating at the door a moment you turn around and climb into bed with them."
    "They don't object, so you settle down, exhaustion and contentment helping you quickly drift off to sleep."
    $ scene_manager.clear_scene
    call advance_time_move_to_next_day() from _call_advance_time_move_to_next_day_sister_invite
    call sister_invite_morning_label() from _call_sister_invite_morning_label
    return "Advance Time"

label sister_invite_morning_label():
    $ scene_manager = Scene()
    $ the_sister = lily
    $ the_person = get_lab_partner()
    $ scene_manager.add_actor(the_sister, visible = False)
    $ scene_manager.add_actor(the_person, visible = False)
    $ scene_manager.strip_full_outfit(the_sister)
    $ scene_manager.show_actor(the_sister, emotion = "happy")
    $ scene_manager.strip_full_outfit(the_person)
    $ scene_manager.show_actor(the_person, emotion = "happy")
    "INCOMPLETE LABEL" #TODO
    "It's morning, and as you lay there, drifting into consciousness, you remember last night."
    "Fucking [the_sister.possessive_title] while her girlfriend watched was quite the achievement."
    "That fact that she seemed so into the taboo nature of it really added to the experience."
    "You're awake enough to feel the presence of at least one other person in the bed, and wonder if they're both still asleep."
    "Suddenly, a warm tongue darts out to trace circles around the head of your morning wood. So at least one is awake."
    "You let out a groan, looking down to see [the_person.title]'s beautiful face, her eyes locked onto yours as she takes you deeper into her mouth."
    "At the same time, [the_sister.title] stirs, propping herself up to look down at the way her girlfriend is slobbering on your cock."
    "[the_person.title]'s tongue dances, stroking and teasing every inch of your length. You can feel the wet heat surrounding you, driving you wild with lust."
    "As she works her magic, her hands explore your body, tracing patterns across your chest and stomach before finding their way down to caress your balls."
    "The sensation is overwhelming—the combination of her hot mouth, skilled fingers, and loving gazes sending you spiraling into a world of pure pleasure."
    "You reach out to run your fingers through [the_person.title]'s hair, guiding her movements as she bobs her head up and down on your cock."
    "In response, [the_person.title] increases the pressure of her suction, causing you to moan loudly."
    "As she continues her assault on your senses, you can feel the familiar tingling in your balls building to a crescendo."
    # mc orgasm
    "With one firm thrust you force [the_person.title] to take all of you into her mouth, and you explode in a wave of bliss."
    # cum in mouth
    "Your cum pours down her throat as she greedily sucks away every last drop."
    $ scene_manager.update_actor(the_sister, position = "stand2")
    "As the two of you catch your breaths, [the_sister.title] climbs out of bed, streching her nude body before grabbing one of your shirts from the laundry basket."
    # apply item
    the_sister "I need to go take a shower to rinse off last night's fun... do either of you want to join me?"
    $ scene_manager.update_actor(the_person, position = "stand3")
    "[the_person.title] scoots up the bed until she is next to you."
    the_person "I'm too comfortable to get all the way up yet. I think I might just cuddle with [mc.name]."
    the_sister "[mc.name]?"
    menu:
        "Go with her /n not written (disabled)":
            pass
        "Stay here":
            mc.name "Cuddling sounds nice. You have fun in the shower [the_sister.fname]."
            $ scene_manager.update_actor(the_sister, position = "walking away")
            "As [the_sister.title] turns to leave [the_person.title] wraps her arms around your waist, nuzzling her face into your chest."
            $ scene_manager.hide_actor(the_sister)
            the_person "I love how you make me feel."
            "With a gentle smile, you pull [the_person.title] closer, and you can feel her heart racing against your chest."
            "Lingering in the embrace you explore every inch of her beautiful form with your hands."
            "Her soft skin feels like silk beneath your fingertips, and the gentle curves of her hips and thighs are a enough to stir your recently spent cock."
            "She moans softly as you nibble on her earlobe, sending shivers down her spine."
            "Your fingers trace circles on her stomach before moving lower, caressing the smooth skin of her inner thighs."
            "She arches her back slightly, inviting you closer as she parts her legs for you."
            "The moment you touch her wetness, she gasps, her eyes fluttering shut at the sensation."
            "You tease her gently at first, circling your finger around her swollen clit before dipping it inside her tight warmth."
            "Her hips buck off the bed in response, and she lets out a long, low moan that fills the room."
            "As you continue to pleasure her, with one hand you reach down to stroke yourself, guiding your member towards its target."
            "With one long smooth thrust, you push yourself inside her, filling her tight warmth with your hard length."
            "She cries out in pleasure, her eyes squeezed shut as she clings to you for support."
            # audio
            "You begin to move together, your hips meeting in a rhythmic dance that sends waves of pleasure coursing through both of your bodies."
            "The sound of skin slapping against skin fills the room as you pick up speed, driving each other towards climax."
            "With every thrust, [the_person.title]'s moans grow louder, and her nails dig into your shoulders as she tries to maintain control."
            "You can feel her walls start to pulse around your cock, signaling that she's close. You quicken your pace, determined to send her over the edge."
            "Finally, [the_person.title]'s body tenses, and she lets out a long, piercing scream."
            "Her inner muscles convulse around you, triggering your own orgasm and milking every last drop of your cum from your aching shaft."
            # cum in vagina
            "As you both come crashing down from the heights of ecstasy, you collapse onto the bed next to her, exhausted but satisfied."
            "As the two of you catch your breath, [the_person.title] turns to face you and smiles."
            the_person "That was amazing!"
            "She leans in and kisses you gently on the lips."
            # towel/robe
            $ scene_manager.show_actor(the_sister)
            "A moment later [the_person.title] returns from the bathroom, a satisfied smile on her face as she surveys the scene before her."
            "She crawls onto the bed beside them, her fingers running through [the_person.title]'s hair as she plants a kiss on her lips."
            the_sister "How was cuddling?"
            the_person "Incredible... I wish I could stay in bed with the two of you all day."
            "Looking between [the_sister.possessive_title], who you fucked last night, and her girlfriend who is still dripping your cum you have to agree."
            mc.name "I can't think of a better way to spend a day, but unfortunately real life calls."
            the_person "Yeah, I guess it does. Can I use your shower too?"
            the_sister "Of course, I'll see if I can find some clothes that will fit you."
            "Although they don't rush out of the room, both girls eventually depart, leaving you to start your day."
    $ scene_manager.clear_scene
    return

label first_threesome_label(the_sister, the_person): #18
    $ scene_manager = Scene()
    # TODO make slutty schoolgirl outfits
    $ temp_outfit = limited_university_wardrobe.decide_on_outfit(the_sister, sluttiness_modifier = 100).get_copy()
    if temp_outfit.get_bra():
        $ temp_outfit.remove_clothing(temp_outfit.get_bra())
    if temp_outfit.get_panties():
        $ temp_outfit.remove_clothing(temp_outfit.get_panties())
    $ scene_manager.add_actor(the_sister, visible = False)
    $ scene_manager.apply_outfit(the_sister, temp_outfit)
    $ temp_outfit = limited_university_wardrobe.decide_on_outfit(the_person, sluttiness_modifier = 100).get_copy()
    if temp_outfit.get_bra():
        $ temp_outfit.remove_clothing(temp_outfit.get_bra())
    if temp_outfit.get_panties():
        $ temp_outfit.remove_clothing(temp_outfit.get_panties())
    $ scene_manager.add_actor(the_person, visible = False)
    $ scene_manager.apply_outfit(the_person, temp_outfit)
    $ scene_manager.show_actor(the_sister, emotion = "happy")
    $ scene_manager.show_actor(the_person, emotion = "happy", display_transform = character_left_flipped(xoffset = .3))
    # teacher roleplay
    "INCOMPLETE LABEL" #TODO
    "As you lay sprawled across your bed, waiting for [the_sister.title] and [the_person.title] to arrive, your mind races with thoughts of what they might have planned to express their gratitude."
    "The door opens softly, and there they stand - [the_sister.fname], [the_sister.possessive_title], and her girlfriend [the_person.fname]."
    "As you sit up their eyes lock onto yours, filled with desire and anticipation."
    the_sister "[mc.name], we wanted to thank you properly for all your help. We think the best way to do that is to offer ourselves to you."
    "[the_person.title] steps forward, her hand trailing along [the_sister.title]'s arm."
    the_person "You've been so focused on putting our needs first, we want to return the favor."
    "They strut forward, the exaggerated stride drawing your attention to their hips."
    the_sister "So tonight is all about you. You can have both of us any way you want."
    if the_sister.has_taboo("sucking cocks"):
        pass
    elif the_sister.has_taboo("anal sex"):
        mc.name "Does that mean I can fuck you?"
        the_sister "Yes, you can fuck my ass... or even my pussy if you want."
    elif the_sister.has_taboo("vagainal sex"):
        mc.name "You've always drawn a line at your pussy, is it open for me tonight?"
        the_sister "Yes, any hole you want, I'm just your cocksleeve tonight."
    elif the_sister.has_taboo("condomless sex"):
        mc.name "I've already had all of your holes, does this mean I can enter you bare now?"
        the_sister "Tonight you can. Fuck me raw like you've always wanted."
    mc.name "And what about you [the_person.fname]?"
    if the_person.has_taboo("sucking cocks"):
        the_person "Yep, I'll suck your cock and you can put it anywhere you want."
    elif the_person.has_taboo("vagainal sex"):
        the_person "Yep, you can have my pussy... or even my ass if you want."
    elif the_person.has_taboo("anal sex"):
        the_person "Yep, you can even fuck me up the ass if you want."
    elif the_person.has_taboo("condomless sex"):
        the_person "Yep, you don't even need protection if you want to pump your cum deep into me."
    mc.name "Have I told the two of you how much I love you?"
    the_sister "We know."
    mc.name "First things first, you are both wearing far too many clothes."
    # remove top
    # remove top
    "They both quickly pull their tops over their heads, revealing that they were braless."
    the_sister "We already took off our underwear to make this easier, do you want us to take off our skirts or shoes?"
    menu:
        "Remove everything":
            $ scene_manager.strip_full_outfit(the_person)
            $ scene_manager.strip_full_outfit(the_sister)
        "Remove skirts (disabled)":
            pass
        "Remove shoes (disabled)":
            pass
        "Remove nothing":
            pass
    "You take a moment to drink in the sight of their nubile bodies, ready and waiting for anything you have in mind."
    mc.name "On your knees, crawl over here and help me with my pants."
    "They drop to the floor, slowly making their way towards you while looking up reverantly."
    "Their hands move to your belt, working together to free your straining erection from its confines."
    "[the_sister.title] takes the lead, wrapping her soft lips around the head as [the_person.title] positions herself between your legs."
    #break taboos
    "The sight of [the_sister.possessive_title] going down on you while her girlfriend teases your balls with her tongue sends a jolt of pleasure through your body."
    mc.name "Ahhh, that's it, keep going."
    "You tangle your fingersin [the_sister.title]'s hair as she begins to bob her head, taking you deeper with each pass."
    "Meanwhile, [the_person.title]'s warm breath washed over your sack as she lavished attention on it, her moans vibrating against your skin."
    mc.name "Fuck, you two look so hot like this, submitting to my commands and happy to serve."
    "[person_one.title] slurps and gags around your shaft, the wet sounds filling the room as she works to take you all the way in."
    the_sister "Mmph, cawk is sooo good!"
    "[person_two.title], meanwhile, sucks harder on your balls, rolling them expertly in her mouth. The sensation is almost too much to bear."
    mc.name "Keep going, make me cum in your mouths."
    "[person_one.title]'s throat muscles flex around your head as she works to take you deeper, her nose brushing against your pubes."
    "You thrust gently, helping [the_sister.title] take you deeper while not moving to far from [the_person.title]'s attention."
    "[person_one.title]'s mouth continues to work its magic, her throat contracting and releasing in a rhythm that mimics the pounding of your heart."
    "The dual sensations from the girls, and their wilingness to do anything, quickly have you on the brink."
    #menu for cum location
    "Watching the girls play with each other while covered in your cum keeps your erection from fading too much."
    "Once they've gotten each other relatively cleaned up they turn towards you with a questioning look."
    the_sister "What's next [the_sister.mc_title]?"
    the_person "Yeah, [the_person.mc_title], who do you want to fuck first?"
    call start_threesome(the_sister, the_person, skip_intro = True) from _call_start_threesome_bf6
    $ choice = False #TODO true and provide scenes
    while choice:
        menu:
            "Fuck [the_sister.title]":
                $ person_one = the_sister
                $ person_two = the_person
            "Fuck [the_person.title]":
                $ person_one = the_person
                $ person_two = the_sister
        menu:
            "[person_one.title]'s pussy":
                "Get comfortable, big bro,"
                "[person_two.title] purred, crawling onto the bed and straddling [mc.name]'s waist. Her fiery curls framed her face as she leaned down, capturing his lips in a searing kiss."
                "Meanwhile, [person_one.title] positioned herself beside the bed, her blonde locks cascading down her back as she ran a teasing finger along [mc.name]'s chest."
                "We're going to give you a show you'll never forget,"
                "[person_one.title] promised, her voice dripping with sultry intent."
                "With that, [person_two.title] broke the kiss and shifted her weight, guiding [mc.name]'s rigid cock to rest against her slick entrance."
                "She looked into his eyes, her gaze smoldering with arousal, before slowly sinking down onto his throbbing length."
                "Ahh, fuck yeah,"
                "[mc.name] groaned, his hands instinctively gripping [person_two.title]'s hips as she enveloped him fully."
                "[person_one.title] climbed onto the bed, positioning herself behind [person_two.title], her breasts pressing against her sister's back as she nuzzled into the crook of her neck."
                "You look so beautiful like this,"
                "[person_one.title] whispered, her hot breath sending shivers down [person_two.title]'s spine."
                "[person_two.title] rocked her hips, setting a languid rhythm that had [mc.name]'s cock twitching inside her."
                "Mmm, and you feel amazing,"
                " she breathed, her nails digging lightly into [mc.name]'s thighs."
                "As [person_two.title] rode him, [person_one.title] trailed her fingers down [person_two.title]'s stomach, dipping them tantalizingly close to where their bodies joined."
                "[person_two.title] gasped, her inner walls clenching around [mc.name] in response."
                "Fuck, your pussy is so tight,"
                "[mc.name] ground out, his grip on [person_two.title]'s hips tightening."
                "[person_one.title] continued her teasing touch, occasionally brushing against [person_two.title]'s clit, sending jolts of pleasure through her."
                "I need more,"
                "[person_two.title] whimpered, her movements becoming more urgent as she chased her impending climax."
                "[mc.name] met her fervor, thrusting up to meet each downward plunge of her hips."
                "The room filled with the lewd sounds of flesh slapping against flesh and their ragged breathing."
                "[person_one.title] leaned in, her lips brushing [person_two.title]'s ear as she murmured,"
                "Cum for me, Em. Let go and cum all over my brother's big cock."
                "[person_two.title]'s body tensed, her inner muscles rippling around [mc.name] as she teetered on the brink. With a keening cry, she came undone, her orgasm crashing over her in waves of intense bliss."
                "Yesss, just like that,"
                "[mc.name] encouraged, his own release building at the base of his spine."
                "As [person_two.title]'s contractions milked his cock, [mc.name] felt the pressure become unbearable."
                "With a guttural roar, he exploded inside her, his hot seed pumping deep into her core."
                "[person_one.title] licked a path up [person_two.title]'s neck, pausing to nibble at her earlobe."
                "Did you feel that, sis? Brother's cumming so hard inside you."
                "[person_two.title]'s eyes fluttered closed, a satisfied sigh escaping her lips as she savored the feeling of [mc.name]'s warmth flooding her."
                "Finally, [mc.name]'s climax subsided, leaving him panting and spent. [person_two.title] collapsed onto his chest, her hair a wild tangle around her flushed face."
                "That was…"
                "[mc.name] trailed off, searching for words to describe the sheer ecstasy he'd just experienced."
                "[person_one.title] crawled up to join them, snuggling against [person_two.title]'s side as they both basked in the afterglow of their shared climax."
                "Well?"
                "[mc.name] asked, his voice barely above a whisper."
                "[person_one.title] turned to him, a soft smile playing on her lips."
                "That was epic, bro."
                "[person_two.title] chimed in, her voice muffled by the pillow."
                "Can we do another round?"
            "[person_one.title]'s ass":
                pass
    $ scene_manager.clear_scene
    return

label repeat_threesome_label(the_sister, the_person):
    $ scene_manager = Scene()
    # TODO make slutty schoolgirl outfits
    $ temp_outfit = limited_university_wardrobe.decide_on_outfit(the_sister, sluttiness_modifier = 100).get_copy()
    if temp_outfit.get_bra():
        $ temp_outfit.remove_clothing(temp_outfit.get_bra())
    if temp_outfit.get_panties():
        $ temp_outfit.remove_clothing(temp_outfit.get_panties())
    $ scene_manager.add_actor(the_sister, visible = False)
    $ scene_manager.apply_outfit(the_sister, temp_outfit)
    $ temp_outfit = limited_university_wardrobe.decide_on_outfit(the_person, sluttiness_modifier = 100).get_copy()
    if temp_outfit.get_bra():
        $ temp_outfit.remove_clothing(temp_outfit.get_bra())
    if temp_outfit.get_panties():
        $ temp_outfit.remove_clothing(temp_outfit.get_panties())
    $ scene_manager.add_actor(the_person, visible = False)
    $ scene_manager.apply_outfit(the_person, temp_outfit)
    $ scene_manager.show_actor(the_sister, emotion = "happy")
    $ mc.change_location(lily_bedroom)
    $ scene_manager.show_actor(the_person, emotion = "happy", display_transform = character_left_flipped(xoffset = .3))
    $ scene_manager.strip_full_outfit(the_person)
    $ scene_manager.strip_full_outfit(the_sister)
    call start_threesome(the_sister, the_person) from _call_start_threesome_bf7
    $ scene_manager.clear_scene
    return

license: unknown


code:
# game/sex_positions/_position_definitions_ren.py
init 1 python:
    cuddle_finger = Position(name = "Cuddle Fingering", slut_requirement = 25, slut_cap = 50, requires_hard = False, requires_large_tits = False,
        position_tag = "missionary", requires_location = "Lay", requires_clothing = "None", skill_tag = "Foreplay",
        girl_arousal = 15, girl_energy = 5,
        guy_arousal = 5, guy_energy = 20,
        connections = [],
        intro = "intro_cuddle_finger",
        scenes = ["scene_cuddle_finger_1", "scene_cuddle_finger_2", "scene_cuddle_finger_3", "scene_cuddle_finger_4"],
        outro = "outro_cuddle_finger",
        transition_default = "transition_default_cuddle_finger",
        strip_description = "strip_cuddle_finger", strip_ask_description = "strip_ask_cuddle_finger",
        orgasm_description = "orgasm_cuddle_finger",
        taboo_break_description = "taboo_break_cuddle_finger",
        verb = "finger",
        opinion_tags = ["being fingered", "missionary style sex"], record_class = "Fingered",
        associated_taboo = "touching_vagina")

    # list_of_positions.append(cuddle_finger)

# game/sex_positions/cuddle_fingering.rpy
label intro_cuddle_finger(the_girl, the_location, the_object):
    $ cuddle_finger.redraw_scene(the_girl)
    $ the_item = the_girl.outfit.get_lower_top_layer
    "You lay down next to [the_girl.title] propping yourself up with one arm while the other slides up her thigh."
    if the_item and not the_girl.vagina_available:
        "You don't waste any time pushing your hand between her legs, sliding it under her [the_item.display_name] to reach her pussy."
        "You run a finger over it, teasing it first."
    else:
        "You don't waste any time pushing your hand between her legs, teasing her cute, exposed pussy with your fingers."
    $ play_moan_sound()
    "She moans quietly as you slide two fingers inside her wet hole, savoring the warmth that envelops them."
    "The soft velvety texture of her inner walls send tingles up your arm as you being to pump your digits in and out."
    $ the_item = None
    return

label taboo_break_cuddle_finger(the_girl, the_location, the_object):
    $ cuddle_finger.redraw_scene(the_girl)
    $ the_item = the_girl.outfit.get_lower_top_layer
    "You lean down to kiss [the_girl.title]'s should and neck, distracting her from your hand sliding along her inner thigh and towards her crotch."
    if the_girl.effective_sluttiness(cuddle_finger.associated_taboo) > cuddle_finger.slut_cap:
        if the_item and not the_girl.vagina_available:
            "You slide your hand under her [the_item.display_name] and make her gasp as you brush her sensitive pussy."
            "She spreads her legs and leans back against you, giving you easy access."
        else:
            "She gasps as you brush her sensitive pussy. She spreads her legs for you, giving you easy access."
        $ the_girl.call_dialogue(f"{cuddle_finger.associated_taboo}_taboo_break")
        "You move your hand over her clit and feel her shiver in response to your touch."
    else:
        if the_item and not the_girl.vagina_available:
            "She starts as you slide your hand under her [the_item.display_name]. She grabs your wrist and stops you from moving any farther."
        else:
            "She starts as you brush her sensitive pussy. She grabs your wrist and stops you from moving any farther."
        $ the_girl.call_dialogue(f"{cuddle_finger.associated_taboo}_taboo_break")
        $ play_moan_sound()
        "She lets go of your hand, and you slide it down to your prize. She moans softly as you touch her, and shivers when you first touch her clit."
    "After teasing her for a moment you press two fingers between her slit, sliding them into the wet passage beyond her pussy lips."
    $ the_item = None
    return

label scene_cuddle_finger_1(the_girl, the_location, the_object):
    "As you explore [the_girl.title]'s intimate depths with your probing digits, she arches into your touch, her back bowing off the mattress."
    "Her breathy whimpers fill the room, punctuated by the soft squelching sounds of your fingers gliding through her slick folds."
    if the_girl.tits_available:
        "You bring your mouth down to her [the_girl.tits_description] lavisihing attention on each peak in turn."
        "Your tongue swirls around the sensitive buds, coaxing them to stiffen further under your ministrations. "
        "[the_girl.title] threads her fingers through your hair, holding you close as you lavish attention on her sensitive flesh."
    else:
        $ the_item = the_girl.outfit.get_upper_top_layer
        if the_item:
            "Her back arches, causing her [the_girl.tits_description] to jiggle enticingly. Making you wish she wasn't wearing her [the_item.display_name]."
            $ the_item = None
        else:
            "Her back arches, causing her [the_girl.tits_description] to jiggle enticingly."
    return

label scene_cuddle_finger_2(the_girl, the_location, the_object):
    "You slide your fingers in and out of her pussy, stroking the inside of that soft tunnel."
    $ play_moan_sound()
    "Each movement draws moans of pleasure from [the_girl.possessive_title], who rocks up her hips, pressing against your hand."
    if the_girl.arousal_perc > 60:
        if the_girl.vagina_available:
            "Her pussy is dripping wet now, juices running down her ass and pooling on the [the_object.name]."
        else:
            $ the_item = the_girl.outfit.get_lower_top_layer
            if the_item:
                "Her pussy is dripping wet now, her juices leaving a faint wet spot on her [the_item.display_name]."
                $ the_item = None
    else:
        if the_girl.vagina_available:
            "She places one of her own hands over yours, encouraging you to speed up."
            the_girl "Just like that... Ah..."
        else:
            $ the_item = the_girl.outfit.get_lower_top_layer
            if the_item:
                $ play_moan_sound()
                "You look down her body and watch as your fingers move under her [the_item.display_name], timed to her soft moans of pleasure."
                $ the_item = None
    return

label scene_cuddle_finger_3(the_girl, the_location, the_object):
    $ body_description = get_body_description(the_girl)
    "Your thumb finds her sensitive nub, circling it with just the right pressure to send shockwaves of pleasure through her [body_description]."
    $ play_moan_sound()
    "She lets out a soft moan as her inner walls clench and release rythmically around your fingers."
    "Your free hand cradles the back of her head, guiding her face towards yours. Her lips part, inviting your kiss."
    "You hesitate for a moment, savoring the intimacy of the moment before your mouth claims hers."
    $ the_girl.break_taboo("kissing")
    return

label scene_cuddle_finger_4(the_girl, the_location, the_object):
    "You set a slow, steady rhythm, savoring the feel of her silky heat enveloping your fingers."
    $ play_moan_sound()
    "Every few strokes, you brush against her G-spot, making her shudder and whimper with need."
    "Her body tenses, and her breath catches in her throat. You hold the pressure there for a moment, feeling the tension build before releasing it slowly."
    return

label outro_cuddle_finger(the_girl, the_location, the_object):
    "[the_girl.title] can tell you are getting close. She rubs her hand into your crotch."
    "Feeling [the_girl.title]'s fingers on your crotch and as her hot, tight pussy squeezes yours is enough to push you that little bit farther, past the point of no return."
    "You clench your ass, thrusting up slightly as you cum, shoving your fingers deep into her cunt and making her gasp in surprise."
    $ ClimaxController.manual_clarity_release(climax_type = "air", person = the_girl)
    the_girl "Did you just... Cum?"
    mc.name "Yeah."
    if report_log.get("girl orgasms", 0) > 0:
        the_girl "That's only fair I suppose."
    else:
        the_girl "Aww, I thought I was going to get there first. Oh well."
    if the_girl.wants_creampie or the_girl.has_cum_fetish:
        the_girl "Maybe next time we'll find somewhere else for you to do that."
        if the_girl.opinion.drinking_cum > 0:
            "[the_girl.title] winks at you as she licks her lips."
        elif the_girl.opinion.cum_facials > 0:
            "[the_girl.title] strokes her cheek and pouts at you."
        elif the_girl.opinion.being_covered_in_cum > 0:
            if the_girl.tits_available:
                "[the_girl.title] strokes her bare chest with her hand."
            else:
                "[the_girl.title] strokes her neck."
        else:
            "[the_girl.title] winks at you and pouts slightly."
    if the_girl.opinion.being_fingered < 0:
        the_girl "Now, you've cum, can we do something else?"
        "[the_girl.title] gently pulls your hand up from her [the_girl.pubes_description] pussy."
        if the_girl.sluttiness >= 60:
            "She brings your hand up to her mouth. She slides your fingers, fresh from her cunt, into her mouth."
            "Her tongue wraps around them as she sucks gently on your fingers. She works her hips, wiggling closer to press up against your spent cock."
        else:
            $ play_moan_sound()
            "She moans and works her hips, wiggling to the side until she is pressed up against you."
    elif the_girl.opinion.being_fingered > 0 or report_log.get("girl orgasms", 0) > 0:
        the_girl "Now, what is it that you were doing?"
        "[the_girl.title] gently holds your arm in place with your hand at her pussy."
        the_girl "You are so good at this."
    else:
        the_girl "Don't forget what you were doing."
    return

#TODO create cuddle_grope
label transition_cuddle_fingering_cuddle_grope(the_girl, the_location, the_object):
    "You give her a few wet pussy a few more strokes, then pull your fingers out and drag them along her stomach."
    $ play_moan_sound()
    if the_girl.sluttiness >= 60:
        "She moans and takes hold of your hand, bringing it up to her mouth. She slides your fingers, fresh from her cunt, into her mouth."
        "Her tongue wraps around them as she sucks gently on your fingers. She looks into your eyes, making sure you enjoy the show."
    else:
        "She moans and looks deeply into your eyes as she rubs your crotch."
    return

#TODO create cuddle_dildo
label transition_cuddle_fingering_cuddle_dildo(the_girl, the_location, the_object):
    "You give her a few wet pussy a few more strokes, then pull your fingers out and drag them along her stomach."
    $ play_moan_sound()
    if the_girl.sluttiness >= 60:
        "She moans and takes hold of your hand, bringing it up to her mouth. She slides your fingers, fresh from her cunt, into her mouth."
        "Her tongue wraps around them as she sucks gently on your fingers. She works her hips, grinding your erection against her ass."
    else:
        "She moans and works her hips back against you, grinding your erection against her ass."
    return

#TODO
label transition_default_cuddle_finger(the_girl, the_location, the_object):
    $ cuddle_finger.redraw_scene(the_girl)
    "Laying down next to [the_girl.title], rest a hand on her stomach,  and start sliding it down towards her [the_girl.pubes_description] mound."
    "You don't waste any time sliding two fingers into her warm, wet pussy."
    return

label strip_cuddle_finger(the_girl, the_clothing, the_location, the_object):
    the_girl "Your hands feel amazing... Oh my god..."
    $ the_girl.draw_animated_removal(the_clothing, position = cuddle_finger.position_tag)
    $ play_moan_sound()
    "She strips off her [the_clothing.name] while you're fingering her, moaning the whole time."
    return

label strip_ask_cuddle_finger(the_girl, the_clothing, the_location, the_object):
    the_girl "Everything feels so tight, I want to take it all off... Do you mind?"
    "[the_girl.possessive_title!c] grabs onto her [the_clothing.name], waiting for you to tell her what to do."
    menu:
        "Let her strip":
            mc.name "Take it off. Strip for me."
            $ the_girl.draw_animated_removal(the_clothing, position = cuddle_finger.position_tag)
            "[the_girl.possessive_title!c] takes off her [the_clothing.name] and drops it to the side while you pump your fingers in and out of her cunt."
            return True
        "Leave it on":
            mc.name "No, I like how you look with it on."
            if the_girl.sluttiness < 80:
                the_girl "Do you think I look sexy in it?"
            else:
                the_girl "Don't you think I would look better wearing your cum? That would be so fitting for your dirty little slut, wouldn't it?"
            return False

label orgasm_cuddle_finger(the_girl, the_location, the_object):
    the_girl "Oh god... Right there! Right there! Ahhhhh!"
    "Her whole body tenses up and she arches off the [the_object.name]. A shiver runs through her body as she climaxes."
    $ the_girl.call_dialogue("climax_responses_foreplay")
    "She quivers with pleasure for a few seconds before her whole body relaxes."
    the_girl "Ah... Keep going..."
    return


code:
init 4 python:
    def lesbian_orgasm(the_person): #make sure it doesn't do anything to mc
        if renpy.random.randint(0, 100) < the_person.suggestibility:
                the_person.increase_trance(show_dialogue = False, reset_arousal = False, add_to_log = False)
        the_person.change_stats(happiness = 3, slut = 1, add_to_log = False)
        if the_person.arousal < the_person.max_arousal:
            the_person.arousal = the_person.max_arousal
        the_person.change_arousal(-the_person.arousal / 2, add_to_log = False)
        return

label lesbian_sex_test(add_to_log = False):
    $ done = False
    while not done:
        menu:
            "Continue":
                $ the_person = get_random_from_list(all_people_in_the_game())
                $ the_other_person = get_random_from_list(all_people_in_the_game(excluded_people = [the_person]))
                $ the_person.change_energy(100)
                $ the_other_person.change_energy(100)
                call lesbian_sex(the_person, the_other_person, add_to_log = add_to_log, path = ["suck1", "suck2", "oral1", "oral2", "69", "vstrap1", "vstrap2", "astrap1", "astrap2"]) from _call_lesbian_sex_test
            "Stop":
                $ done = True
    return

label lesbian_sex(the_person, the_other_person, add_to_log = False, path = []):
    # finger1 means the_person is getting fingered by the_other_person
    # in calls, the first person is dominant
    $ person_orgasm = 0
    $ other_orgasm = 0
    $ has_strapon = the_person.event_triggers_dict.get("has_strapon", False)
    if not has_strapon:
        $ has_strapon = the_other_person.event_triggers_dict.get("has_strapon", False)
    $ sluttiness_increase_limit = (the_person.sluttiness + the_other_person.sluttiness + 20)/2
    if the_person.sluttiness > the_other_person.sluttiness:
        $ limit = the_other_person.sluttiness
    else:
        $ limit = the_person.sluttiness
    if limit > 60:
        $ limited_choices = ["kiss", "both_strip", "grope", "self_strip1", "self_strip2", "finger1", "finger2", "stripped1", "stripped2", "both_finger", "suck1", "suck2", "oral1", "oral2", "69", "vstrap1", "vstrap2", "astrap1", "astrap2"]
    elif limit > 40:
        $ limited_choices = ["kiss", "both_strip", "grope", "self_strip1", "self_strip2", "finger1", "finger2", "stripped1", "stripped2", "both_finger", "suck1", "suck2", "oral1", "oral2", "69"]
    elif limit > 20:
        $ limited_choices = ["kiss", "both_strip", "grope", "self_strip1", "self_strip2", "finger1", "finger2", "stripped1", "stripped2", "both_finger"]
    else:
        $ limited_choices = ["kiss", "both_strip", "grope", "self_strip1", "self_strip2", "stripped1", "stripped2"]
    if not has_strapon:
        $ has_strapon = the_other_person.event_triggers_dict.get("has_strapon", False)
    $ round = 0
    if not path:
        $ path = ["kiss", "both_strip", "grope", "self_strip1", "self_strip2", "finger1", "finger2", "stripped1", "stripped2", "both_finger", "suck1", "suck2", "oral1", "oral2", "69", "vstrap1", "vstrap2", "astrap1", "astrap2"]
    while round < len(path):
        $ choice = path[round]
        $ round +=1
        # make sure we can do the thing
        if choice not in limited_choices:
            $ choice = get_random_from_list(limited_choices)
        if not has_strapon:
            if choice in ["vstrap1", "astrap1"]:
                $ choice = "finger1"
            if choice in ["vstrap2", "astrap2"]:
                $ choice = "finger2"
        if choice == "suck1":
            while not the_person.tits_visible:
                call lesbian_stripped(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_stripped_strip
        if choice == "suck2":
            while not the_other_person.tits_visible:
                call lesbian_stripped(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_stripped_strip2
        if choice in ["oral1", "vstrap1", "astrap1"]:
            while not the_person.vagina_visible:
                call lesbian_stripped(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_stripped_strip3
        if choice in ["oral2", "vstrap2", "astrap2"]:
            while not the_other_person.vagina_visible:
                call lesbian_stripped(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_stripped_strip4
        if choice == "69":
            while not the_person.vagina_visible or not the_other_person.vagina_visible:
                call lesbian_both_strip(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_both_strip_strip
        # do this round
        if choice == "kiss":
            call lesbian_kissing(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_kissing_sex
        elif choice == "grope":
            call lesbian_groping(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_groping_sex
        elif choice == "both_strip":
            call lesbian_both_strip(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_both_strip_sex
        elif choice == "self_strip1":
            call lesbian_self_strip(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_self_strip_sex
        elif choice == "self_strip2":
            call lesbian_self_strip(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_self_strip_sex2
        elif choice == "stripped1":
            call lesbian_stripped(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_stripped_sex
        elif choice == "stripped2":
            call lesbian_stripped(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_stripped_sex2
        elif choice == "finger1":
            call lesbian_fingering(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_fingering_sex
        elif choice == "finger2":
            call lesbian_fingering(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_fingering_sex2
        elif choice == "both_finger":
            call lesbian_both_fingering(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_both_fingering_sex
        elif choice == "suck1":
            call lesbian_sucking(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_sucking_sex
        elif choice == "suck2":
            call lesbian_sucking(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_sucking_sex2
        elif choice == "oral1":
            call lesbian_oral(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_oral_sex
        elif choice == "oral2":
            call lesbian_oral(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_oral_sex2
        elif choice == "69":
            call lesbian_69(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_69_sex
        elif choice == "vstrap1":
            call lesbian_vaginal_strap(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_vaginal_strap_sex
        elif choice == "vstrap2":
            call lesbian_vaginal_strap(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_vaginal_strap_sex2
        elif choice == "astrap1":
            call lesbian_anal_strap(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_anal_strap_sex
        elif choice == "astrap2":
            call lesbian_anal_strap(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_anal_strap_sex1
        # check for orgasms
        while the_person.arousal_perc >= 100 or the_other_person.arousal_perc >= 100:
            while the_person.arousal_perc >= 100 and the_other_person.arousal_perc >= 100:
                call lesbian_joint_orgasm(the_person, the_other_person, add_to_log = add_to_log) from _call_joint_orgasm_sex
                $ person_orgasm += 1
                $ other_orgasm += 1
            while the_person.arousal_perc >= 100:
                call lesbian_orgasm(the_other_person, the_person, add_to_log = add_to_log) from _call_lesbian_orgasm_sex
                $ person_orgasm += 1
            while the_other_person.arousal_perc >= 100:
                call lesbian_orgasm(the_person, the_other_person, add_to_log = add_to_log) from _call_lesbian_orgasm_sex2
                $ other_orgasm += 1
        # check for exhaustion
        if the_person.energy < 5 or the_other_person.energy < 5:
            $ round = 999
        # keep going if you can and your partner needs release
        if round == len(path):
            if the_person.energy > 10 and other_orgasm < 1:
                if the_other_person.energy > 10:
                    $ path.append("69")
                else:
                    $ path.append("oral2")
            elif the_other_person.energy > 10 and person_orgasm < 1:
                $ path.append("oral1")

    $ the_person.event_triggers_dict.update({"lesbian_sex" : the_person.event_triggers_dict.get("lesbian_sex", 0) + person_orgasm})
    $ the_other_person.event_triggers_dict.update({"lesbian_sex" : the_other_person.event_triggers_dict.get("lesbian_sex", 0) + other_orgasm})
    if not add_to_log:
        $ the_person.outfit.restore_all_clothing()
        $ the_other_person.outfit.restore_all_clothing()
        $ the_person.apply_planned_outfit()
        $ the_other_person.apply_planned_outfit()
    else:
        $ the_person.review_outfit()
        $ the_other_person.review_outfit()
    $ del has_strapon
    $ del path
    $ del round
    $ del choice
    $ del limit
    return (person_orgasm, other_orgasm)

# person_one is dominant
label lesbian_kissing(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(5 * (1 + 0.1 * person_two.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_one.change_energy(-5, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(5 * (1 + 0.1 * person_one.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_two.change_energy(-5, add_to_log = add_to_log)
    if add_to_log:
        if renpy.random.randint(0,1) > 0:
            "[person_one.title] and [person_two.title] make out, their lips pressed firmly together."
        else:
            "[person_two.title] and [person_one.title] make out, their lips pressed firmly together."
    return

label lesbian_self_strip(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(-3, add_to_log = add_to_log)
    $ person_one.change_energy(-1, add_to_log = add_to_log)
    $ person_two.change_arousal(3, add_to_log = add_to_log)
    $ the_clothing = person_one.choose_strip_clothing_item()
    if the_clothing:
        if add_to_log:
            $ person_one.draw_animated_removal(the_clothing)
            $ person_one.update_outfit_taboos()
            "[person_one.title] pulls off her..."
        else:
            $ person_one.outfit.remove_clothing(the_clothing)
        $ the_clothing = None
    return

label lesbian_both_strip(person_one, person_two, add_to_log = False):
    $ person_one.change_energy(-1, add_to_log = add_to_log)
    $ person_two.change_energy(-1, add_to_log = add_to_log)
    $ the_clothing = person_one.choose_strip_clothing_item()
    $ the_clothing2 = person_two.choose_strip_clothing_item()
    if the_clothing and the_clothing2:
        if add_to_log:
            $ person_one.draw_animated_removal(the_clothing)
            $ person_one.update_outfit_taboos()
            $ person_two.draw_animated_removal(the_clothing)
            $ person_two.update_outfit_taboos()
            if renpy.random.randint(0,1) > 0:
                "[person_one.title] and [person_two.title] each take a break to pulls off their..."
            else:
                "[person_one.title] and [person_two.title] each take a break to pulls off their..."
        else:
            $ person_one.outfit.remove_clothing(the_clothing)
            $ person_two.outfit.remove_clothing(the_clothing)
        $ the_clothing = None
        $ the_clothing2 = None
    elif the_clothing:
        call lesbian_self_strip(person_one, person_two, add_to_log = add_to_log) from _lesbian_self_strip_strip3
    elif the_clothing2:
        call lesbian_self_strip(person_two, person_one, add_to_log = add_to_log) from _lesbian_self_strip_strip4
    return

label lesbian_stripped(person_one, person_two, add_to_log = False):
    $ person_one.change_energy(-1, add_to_log = add_to_log)
    $ person_one.change_arousal(3, add_to_log = add_to_log)
    $ person_two.change_arousal(-3, add_to_log = add_to_log)
    $ the_clothing = person_two.choose_strip_clothing_item()
    if the_clothing:
        if add_to_log:
            $ person_two.draw_animated_removal(the_clothing)
            $ person_two.update_outfit_taboos()
            "[person_one.title] pulls off [person_two.title]'s..."
        else:
            $ person_two.outfit.remove_clothing(the_clothing)
        $ the_clothing = None
    return

label lesbian_groping(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(8 * (1 + 0.1 * person_two.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_one.change_energy(-6, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(8 * (1 + 0.1 * person_one.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_two.change_energy(-6, add_to_log = add_to_log)
    if add_to_log:
        if renpy.random.randint(0,1) > 0:
            "[person_one.title] and [person_two.title] run their hands over each other, squeezing and pinching as the opportunity presents itself."
        else:
            "[person_two.title] and [person_one.title] run their hands over each other, squeezing and pinching as the opportunity presents itself."
    return

label lesbian_sucking(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(5 * (1 + 0.1 * person_two.sex_skills["Oral"])), add_to_log = add_to_log)
    $ person_one.change_energy(-6, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(10 * (1 + 0.1 * person_one.sex_skills["Oral"])), add_to_log = add_to_log)
    $ person_two.change_energy(-3, add_to_log = add_to_log)
    if add_to_log:
        "[person_one.title] presses her face against [person_two.title]'s breast, wrapping her lips around the tit and starting to suck."
    return

label lesbian_fingering(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(5 * (1 + 0.1 * person_two.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_one.change_energy(-8, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(10 * (1 + 0.1 * person_one.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_two.change_energy(-5, add_to_log = add_to_log)
    if add_to_log:
        "[person_one.title] works her hand into [person_two.title]'s wet pussy."
    return

label lesbian_both_fingering(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(10 * (1 + 0.1 * person_two.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_one.change_energy(-8, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(10 * (1 + 0.1 * person_one.sex_skills["Foreplay"])), add_to_log = add_to_log)
    $ person_two.change_energy(-8, add_to_log = add_to_log)
    if add_to_log:
        if renpy.random.randint(0,1) > 0:
            "[person_one.title] and [person_two.title] work their hands into one another's wet pussies."
        else:
            "[person_two.title] and [person_one.title] work their hands into one another's wet pussies."
    return

label lesbian_oral(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(5 * (1 + 0.1 * person_two.sex_skills["Oral"])), add_to_log = add_to_log)
    $ person_one.change_energy(-12, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(15 * (1 + 0.1 * person_one.sex_skills["Oral"])), add_to_log = add_to_log)
    $ person_two.change_energy(-5, add_to_log = add_to_log)
    if add_to_log:
        "[person_one.title] presses her face against [person_two.title]'s crotch, pushing her tongue out to lick at her clit."
    return

label lesbian_69(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(15 * (1 + 0.1 * person_two.sex_skills["Oral"])), add_to_log = add_to_log)
    $ person_one.change_energy(-12, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(15 * (1 + 0.1 * person_one.sex_skills["Oral"])), add_to_log = add_to_log)
    $ person_two.change_energy(-12, add_to_log = add_to_log)
    if add_to_log:
        if renpy.random.randint(0,1) > 0:
            "[person_one.title] and [person_two.title] push their faces into one another's crotches, pushing their tongues out to lick at their partner's clit."
        else:
            "[person_two.title] and [person_one.title] push their faces into one another's crotches, pushing their tongues out to lick at their partner's clit."
    return

label lesbian_vaginal_strap(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(10 * (1 + 0.1 * person_two.sex_skills["Vaginal"])), add_to_log = add_to_log)
    $ person_one.change_energy(-16, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(20 * (1 + 0.1 * person_one.sex_skills["Vaginal"])), add_to_log = add_to_log)
    $ person_two.change_energy(-8, add_to_log = add_to_log)
    if add_to_log:
        "[person_one.title] drives the strap-on in and out of [person_two.title]'s pussy."
    return

label lesbian_anal_strap(person_one, person_two, add_to_log = False):
    $ person_one.change_arousal(builtins.int(10 * (1 + 0.1 * person_two.sex_skills["Anal"])), add_to_log = add_to_log)
    $ person_one.change_energy(-18, add_to_log = add_to_log)
    $ person_two.change_arousal(builtins.int(20 * (1 + 0.1 * person_one.sex_skills["Anal"])), add_to_log = add_to_log)
    $ person_two.change_energy(-9, add_to_log = add_to_log)
    if add_to_log:
        "[person_one.title] drives the strap-on in and out of [person_two.title]'s ass."
    return

label lesbian_orgasm(person_one, person_two, add_to_log = False):
    $ person_two.have_orgasm(sluttiness_increase_limit = sluttiness_increase_limit+1, reset_arousal = False, add_to_log = add_to_log)
    $ person_two.arousal = person_two.arousal/2
    $ person_one.change_arousal(2, add_to_log = add_to_log)
    if add_to_log:
        "[person_one.title]'s work drives [person_two.title] over the edge and she shudders as her orgasm works through her."
    return

label lesbian_joint_orgasm(person_one, person_two, add_to_log = False):
    $ person_two.have_orgasm(sluttiness_increase_limit = sluttiness_increase_limit+1, reset_arousal = False, add_to_log = True)
    $ person_two.arousal = person_two.arousal/2
    $ person_one.have_orgasm(sluttiness_increase_limit = sluttiness_increase_limit+1, reset_arousal = False, add_to_log = True)
    $ person_one.arousal = person_one.arousal/2
    if add_to_log:
        if renpy.random.randint(0,1) > 0:
            "[person_one.title] and [person_two.title] both tense up at the same time and then shudder as they share a simultaneous orgasm."
        else:
            "[person_two.title] and [person_one.title] both tense up at the same time and then shudder as they share a simultaneous orgasm."
    return

label strap_on_shopping():
    $ scene_manager = Scene()
    $ the_person = strap_on_requirement(starbuck)
    if the_person.location == mc.location:
        "Someone walks up to you"
        $ scene_manager.add_actor(the_person)
    else:
        "Someone texts you"
    "You head to the mall"
    $ mc.change_location(sex_shop)
    $ the_person.change_location(sex_shop)
    $ scene_manager.add_actor(the_person)
    "You look at strap-ons"
    $ the_other_person = strap_on_requirement(the_person)
    if starbuck.sluttiness > 50:
        "[starbuck.fname] offers to help"
    else:
        "[starbuck.fname] offers to let you use the back room"

    $ scene_manager.add_actor(starbuck)
    $ the_person.event_triggers_dict["has_strapon"] = True
    return


code:
label nemesis_transition_label():
    $ the_sister = lily
    $ the_person = get_lab_partner()
    $ scene_manager = Scene()
    $ scene_manager.clear_scene()
    $ town_relationships.worsen_relationship(the_person, the_sister)
    $ the_person.outfit.restore_all_clothing()
    $ scene_manager.add_actor(the_person)
    mc.name "I've made a decision about how you can best serve me, and it will involve serving [the_sister.fname]."
    the_person "Yes [the_person.mc_title]."
    mc.name "She doesn't know this is going to happen yet, so I think we should just wait for her to come looking for you and then let her know."
    if mc.location == dungeon:
        mc.name "Let's head back up to my room and settle in to wait."
        $ mc.change_location(bedroom)
        "The two of you make your way to your room and then you take some time to pose [the_person.possessive_title] in a way that is sure to catch [the_sister.possessive_title]'s attention."
    else:
        "You take some time to pose [the_person.possessive_title] in a way that is sure to catch [the_sister.possessive_title]'s attention."
    $ the_person.outfit.strip_to_vagina(visible_enough = True)
    $ scene_manager.update_actor(the_person, position = "standing_doggy")
    "Once everything is in place you take a seat and admire the view while you wait. It isn't too long before you are rewarded with [the_sister.title]'s appearance."
    $ scene_manager.add_actor(the_sister, display_transform = character_right(xoffset = -.1))
    the_sister "Hey, has [the_person.fname] been to... what the fuck?"
    mc.name "Oh hey, I was wondering how much longer we would have to wait for you."
    the_sister "What?! Why were you waiting for me and more importantly why is [the_person.fname] bent over your desk with her ass sticking out?"
    mc.name "We had another talk about how [the_person.fname] has been treating you and finally have a solution."
    mc.name "Over the last few weeks I have taught her to obey my every command, and to test that I’ve commanded her to obey you as well."
    the_sister "That’s insane, and it still doesn’t explain what she is doing."
    mc.name "Well I figured since she has been such a pain in your ass with all her teasing this would be a good way to set things right."
    mc.name "It has the added benefit of proving her new obedience to assure you that you don’t have to worry anymore."
    the_sister "So what, you want me to spank her?"
    mc.name "Not just me, she wants it too. Isn't that right?"
    the_person "Yes, please Mistress I’m so sorry. Do whatever you want to me. I want to prove that I’ll never tease you again."
    "Hesitates still clearly unsure about this but eventually walks forward to stand behind [the_person.fname]."
    $ scene_manager.update_actor(the_sister, display_transform = character_right(xoffset = -.3), position = "back_peek")
    "With another glance towards you she raises her hand and brings it down firmly on [the_person.fname]'s behind."
    $ the_person.slap_ass()
    mc.name "Come on you can do better than that."
    the_person "Yes please punish me for all that I’ve done."
    "There is another delay but she does bring her hand down again, harder this time."
    $ the_person.slap_ass()
    "As you watch she continues unprompted, picking up speed and increasing force as she goes."
    "True to her word [the_person.fname] takes it and her gasps of shock and pain start to mix with moans of pleasure."
    "After one particularly sharp crack, followed by a louder moan, [the_sister.title] stops and rests her hand on [the_person.title]'s ass."
    $ the_person.slap_ass()
    "As her hand lingers you notice it starting to move, squeezing slightly and rubbing in small circles."
    mc.name "She does have a nice ass doesn’t she?"
    $ scene_manager.update_actor(the_sister, display_transform = character_right(xoffset = -.1))
    the_sister "Yes she does, especially when it is bright red."
    mc.name "So what do you think of your new subservient lab partner?"
    the_sister "I think I could get used to having someone who does whatever I want."
    mc.name "I’m glad you’re satisfied, and judging from that last moan I think [the_person.fname] is as well."
    mc.name "I should probably let the two of you get back to your school work."
    if the_sister.has_anal_fetish:
        the_sister "Actually, there is one more thing I want to try while you’re here to help. Do you have the strap-on we bought at the mall? And maybe a bottle of lube?"
        mc.name "Yes I do, let me grab them."
        "Turns to [the_person.fname] and considers her pose."
        the_sister "Get down on the floor on your knees, face in the carpet ass in the air."
        $ scene_manager.update_actor(the_person, position = "doggy")
        $ scene_manager.update_actor(the_sister, display_transform = character_right(xoffset = -.1), position = "standing_doggy")
        "[the_person.fname] quickly complies as [the_sister.title] continues to talk."
        the_sister "You understand that you’ve been a pain in my ass correct?"
        the_person "Yes Mistress."
        the_sister "And in return I get to be a pain in your ass?"
        the_person "Yes Mistress."
        the_sister "But I haven’t yet, I was a pain on your ass. To really start over I’m going to need to do one more thing."
        the_person "Yes Mistress."

        "Turning to you, [the_sister.title] looks up and asks:"
        the_sister "Have you ever done this with her before?"
        if not the_person.has_taboo("anal_sex"):
            mc.name "Yes"
        else:
            if not the_person.has_taboo("vaginal_sex"):
                mc.name "Her ass? No, we've been focused on other holes."
            else:
                mc.name "No"
            the_sister "Well then this should be fun. Let’s see how much she can take."
        "[the_sister.title] squirts some lube on her hand and rubs it down the toy. Then she drops down to her knees behind [the_person.title]."
        "She strokes it up and down the crack of [the_person.title]'s ass spreading the lube further and then lines up the head with her puckered rosebud."
        "With slow but firm pressure she pushes and you watch as the shaft starts to sink in."
        "[the_person.title] groans a bit and you look over to see her face knotted in pain."
        mc.name "Breathe just breathe."
        "[the_person.title] puffs out the air she was holding and then tries to relax, but there is still the occasional hitch as she works through the pain."
        "Looking back you see that [the_sister.title] has done it, the toy is buried nearly to the hilt in [the_person.title]'s ass."
        "You admire the view and see that [the_sister.title] is as well. It looks like she is a bit surprised at what she has done."
        mc.name "Satisfied?"
        the_sister "I am, do you think we could leave it in there while we finish studying?"
        mc.name "It’s not really designed for that."
        "And sure enough, as the two of you watch [the_person.title]'s body is starting to push the invading object out."
        "[the_sister.title] places her hand on the base and turns to look up at you."
        the_sister "Where are her panties?"
        mc.name "She doesn’t wear them—going commando was one of the first things I taught her."
        "With a sigh [the_sister.title] quickly stands up, reaches under her skirt and pulls out her own panties."
        "Bending back over to place her hand on the toy she holds them out to you."
        the_sister "Help her get these on so she can stand up without losing the remainder of her new role."
        "You do as she asks, a bit impressed at how quickly she has stepped into her new authority."
        if the_sister.has_role(slave_role):
            "You’ll have to have a conversation with her to make sure she remembers she is your slave too."
    "[the_person.title] is standing now, her breathing seems to be mostly back to normal and she has a look on her face that you can’t quite define."
    "It is like she has never seen [the_sister.title] before. A mix of wonder and shock with maybe a bit of admiration as well."
    "You may have created something a bit more than you intended, but only time will tell."
    "[the_sister.title] steps closer to you and leans in to give you a kiss."
    "[the_person.title]'s eyes widen a bit as it lingers, but she knows better than to question either of you now."
    the_sister "Thank you, you’re the best big brother ever."
    "Turning to her new slave [the_sister.possessive_title] continues:"
    the_sister "Come on, you have a lot of work to do if you want me to take that out before you go home tonight."
    the_person "Yes Mistress... Is that okay... Should I call you Mistress?"
    menu:
        "Let them be Mistress and Slave":
            the_sister "Yes, I like the sound of that, and I'll call you Slave."
            $ the_person.event_triggers_dict["titles_nemesis_lily"] = ["Mistress", "Slave"]
        "Help them pick titles":
            the_sister "I don't know... This is the first time I've done something like this."
            the_sister "What do you think [the_sister.mc_title]?"
            $ word_one = renpy.input("Pick [the_sister.fname]'s title. (Default: 'Mistress')", default='Mistress')
            while not word_one:
                $ word_one = renpy.input("Pick [the_sister.fname]'s title. (Default: 'Mistress')", default='Mistress')
            if word_one == "Mistress":
                mc.name "I like [word_one]."
            else:
                mc.name "I think [word_one] would be better."
            $ word_two = renpy.input("Pick [the_person.fname]'s title'. (Default: 'Slave')", default='Slave')
            while not word_two:
                $ word_two = renpy.input("Pick [the_person.fname]'s title'. (Default: 'Slave')", default='Slave')
            mc.name "And you should refer to [the_person.fname] as [word_two]."
            $ the_person.event_triggers_dict["titles_nemesis_lily"] = [word_one.strip(), word_two.strip()]
    $ [word_one, word_two] = the_person.event_triggers_dict.get("titles_nemesis_lily", ["Mistress", "Slave"])
    the_sister "Come along [word_two]."
    the_person "Yes [word_one]."
    $ scene_manager.clear_scene()
    "Once they leave you sit down at your computer, but all you can think about is the two girls down the hall."
    "It is a real shame that you don't have a way to monitor them as they continue to study... or whatever."
    $ del word_one
    $ del word_two
    return

label lily_study_buddy_nemesis(the_sister, the_person):
    call lesbian_sex(the_person, the_sister, add_to_log = False, path = ["oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2","oral2"]) from _call_lesbian_sex_nemesis
    return