From 23e5c598eec5ac6839fc91430bb9cd36a89a86f0 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 23 Jul 2022 21:57:42 +0100 Subject: [PATCH] Vibrator Events - Initial Implementation * Added vibrator event chain (w/ Placeholders) * Added vibrator item (Box o' fun) * Added IntLike class * Added her_tier_public as IntLike object --- .../hermione/events/items/vibrators.rpy | 2311 +++++++++++++++++ game/scripts/characters/hermione/vars.rpy | 25 + game/scripts/inventory/qitems.rpy | 3 +- game/scripts/utility/common_functions.rpy | 33 + 4 files changed, 2370 insertions(+), 2 deletions(-) create mode 100644 game/scripts/characters/hermione/events/items/vibrators.rpy diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy new file mode 100644 index 00000000..5f34270a --- /dev/null +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -0,0 +1,2311 @@ + +default her_vibrators_seen = False # Has Genie offered her the vibrators? +default her_vibrators_worn = False # Has Hermione agreed to wear the vibrators? +default her_vibrators_public = False # Has completed at least once public event? +default her_vibrators_public_stage = 0 # Stage 0 - Hadn't worn vibrators in public, Stage 1 - Had worn vibrators in public (low), Stage 2 - Had worn vibrators in public (high) +default her_vibrators_personal = False # Has completed at least once personal event? + +default ev_her_vibrators_public_return = Event(id="ev_her_vibrators_public_return", daytime=False, label="hg_vibrators_public_return") + +label hg_vibrators: + + # Setup + $ her_outfit_last.save() + $ current_payout = 20 + + m "I've got a gift for you." + her "A gift?" + m "Here you go." + nar "You hand Hermione the vibrators." + + # Introduction (seen) + label .intro_seen: + + if not her_vibrators_seen: + # First time (seen) + $ her_vibrators_seen = True + + if her_tier < 4: + jump hg_vibrators_fail + + elif her_tier < 5: + her "Is that... A vibrator?" + g9 "Vibrators!" + g9 "There's three of them!" + her "... You're not expecting me to put that on in here are you?" + nar ">You bring out a remote control and hover your finger over the button." + g9 "..." + her "Figured..." + g9 "So?" + her "{size=-4}...{w=0.4} I want twenty points for this.{/size}" #small text + m "What was that?" + her "Twenty points." + g9 "Deal!" + else: + her "A vibrator?" + g9 "Indeed, although not one...{w=0.4} but three!" + her "Thank you [genie_name]." + nar ">You bring out a remote control and hover your finger over the button." + her "Oh, you want me to put them on now?" + m "If you please." + her "Alright then..." + + else: + # Repeat (seen) + + if her_tier < 4: + jump hg_vibrators_fail_repeat + + if her_tier < 5: + her "The vibrators again... I assume you want me to wear them?" + m "If you could." + her "*Hmm*...{w=0.4} Alright then, but I'll only do it for twenty points!" + m "Sure thing." + her "..." + else: + her "You want me to put on the vibrators?" #blush + m "Yes." + her "Okay then..." + + # Introduction (worn) + label .intro_worn: + + if not her_vibrators_worn: + # First time (worn) + $ her_vibrators_worn = True + + if her_tier < 5: + her "So...{w=0.4} How do I put this thing on?" + + if hermione.is_any_worn("clothes"): + m "Just take your clothes off and stick those vibrating things against your sensitive parts." + + if hermione.is_any_worn("bra", "panties"): + her "Even my underwear?!" + m "You can put them inside your underwear if you like..." + else: + her "But then you'll see when I--" + her "Can't I just put on some underwear?" + m "If you must..." + her "Okay, thank you [genie_name]..." + else: + m "Just stick them on your skin." + her "On my skin?!" + m "Or you could put some underwear on and put it in that, if it makes you feel better..." + her "Oh...{w=0.4} Okay, I'll do that then." + else: + her "*Ehm*...{w=0.4} How am I supposed to put this thing on?" + + if hermione.is_any_worn("clothes"): + g9 "Easy." + g9 "Just take your clothes off and stick those vibrating things against your sensitive parts." + + if hermione.is_any_worn("bra", "panties"): + her "My underwear too?" + m "Yes please!" + + else: + g9 "Just stick those vibrating things against your breasts and pussy." + + her "I see..." + + else: + # Repeat (worn) + + if her_tier < 5: + if hermione.is_any_worn("clothes"): + her "I can put them inside my underwear like before, right?" + m "Sure can." + her "Thank you [genie_name]." + else: + her "Let me just fetch something to place them in." + m "If you must..." + else: + if hermione.is_any_worn("clothes"): + m "And I want you to be naked..." + + her "Here I go..." #blush + + # Taking clothes off, if any. + if hermione.is_any_worn("clothes"): + + if hermione.is_worn("robe"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("robe") + with d3 + + if hermione.is_worn("top"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("top") + with d3 + + if hermione.is_worn("bottom"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("bottom") + with d3 + + $ hermione.strip("all") + + # Additional dialogue for lower levels (Optional) + + if her_tier >= 5: + if hermione.is_worn("bra"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("bra") + with d3 + + if hermione.is_worn("panties"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("panties") + with d3 + + #TODO equip nude vibrators + + her "Okay... They're attached." + m "Firmly?" + m "We wouldn't want anything to come loose now would we?" + her "I--{w=0.2} Yes, I believe so..." + else: + her "Don't look..." + m "I've already seen you naked..." + her "I don't want you to see me putting them on!" + m "Alright, whatever..." + show screen blkfade + with d3 + pause .5 + + menu: + "-Peak on her-": + + if hermione.is_worn("bra"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("bra") + with d3 + + if hermione.is_worn("panties"): + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("panties") + with d3 + + #TODO equip panties vibrators + #TODO equip nude breast vibrators + + hide screen blkfade + with d5 + her "..." #Looks down towards breasts annoyed + her "..." #Looks up and sees you + her "[genie_name]! I told you not to look!" + $ her_mood += 5 + m "How long does it take to put some vibrators on?" + her "I'm sorry that I'm not an expert like you..." + m "Apology accepted." + her "..." + + #TODO Equip Bra vibrators + + "-Don't-": + + #TODO equip underwear vibrators + + her "Okay, you can look, they're inside my underwear now..." + hide screen blkfade + with d5 + + m "Great." + + label .choices: + + menu: + "-Send her to class-": + jump hg_vibrators_public + "-Turn them on-": + jump hg_vibrators_personal + +label hg_vibrators_fail: + her "What on earth is this?!" + m "Oh, perhaps it's a bit confusing how to use it if you've not seen one of these before." + m "You press the button on the side of it." + nar "Hermione examines the device for a moment, locates the button and presses it." + + # TODO click sound effect + # TODO Vibration sound on + + if her_tier < 4: + her "!!!" #Wide eyed + + #TODO vibrators on floor (Hermione drops them) + + g9 "There it is!" + her "This... This is a vibrator!" + g9 "{b}Vibrators{/b},{w=0.4} there's three of them!" + g9 "Now, if you could just put them on for--" + her "What!?!" + her "You want me to put them on?!" + m "Of course!" + her "..." #Wide eyed shocked + m "Don't you like my gift?" + her "What is wrong with you?!" + + # TODO Hermione leaves and slams door + call her_walk(action="leave") + $ her_mood += 20 + + m "...{w=0.4} Did I get the wrong model?" + + else: # 10+ + her "What the--" + her "You...{w=0.4} You've bought me a vibrator?" + g9 "Of course not...{w=0.4} I've bought three of them!" + her "[genie_name], this is hardly appropriate!" + m "Why not?" + her "Because...{w=0.4} Well..." + m "A healthy sex life is important to take the edge off things." + her "But... Surely a headmaster shouldn't be giving--" + g9 "Just put them on and give it a spin." + her "..." #wide + her "You want me to put them on in here?!" + g9 "Of course!" + her "[genie_name]!" + m "What?" + her "I can't believe you'd ask me to do such a thing!" + her "I think I better go." + + #TODO vibrators on floor + + #Hermione leaves + call her_walk(action="leave") + $ her_mood += 10 + + m "(Oh well, worth a shot...)" + m "(At least she can't complain to me about her unhealthy sex life...)" + + # TODO Genie walks and picks vibrators up off the ground + # TODO click sound effect + # TODO vibration sound off + + jump end_hermione_event + +label hg_vibrators_fail_repeat: + + if her_tier < 4: + her "[genie_name]!" + m "Yes?" + her "I already told you, I'm not going to put on vibrators in front of you!" + + #TODO vibrators on floor (Hermione drops them) + + m "Who said I wanted you to put it on in front of me?" + her "... Tell me with a straight face that you weren't going to ask me that." + m "..." + her "I knew it!" + her "I'm out of here!" + + call her_walk("door", "base") + call her_walk(action="leave") + $ renpy.play('sounds/door_down.mp3') + with hpunch + $ her_mood += 20 + + m "(She knows me too well...)" + else: # 10+ + her "This again?" + m "Come on, just put in on for a little bit." + her "Oh, just a little bit? That's fine then." + m "Really?" + her "No!" + + #TODO vibrators on floor + + m "Oh..." + her "...{w=0.4} I think I better leave." + m "Right." + + call her_walk("door", "base") + + m "You forgot the--" + her "I am not accepting vibrators as a gift from my headmaster!" + m "So, if it somehow turns out I'm not your headmaster..." + + #Hermione leaves + call her_walk(action="leave") + $ her_mood += 10 + + "(Well that's just rude...)" + + #TODO Genie walks and picks vibrators up off the ground + + # TODO click sound effect + # TODO vibration sound off + + jump end_hermione_event + +label hg_vibrators_public: + if not her_vibrators_public: + # First time (public) + # Flag 'her_vibrators_public' is set True in the return event + + m "You can put on your school uniform now." + her "My school uniform?" + + if her_tier_public >= 5: + her "You want me to wear them in class?" + m "Oh, no [hermione_name]..." + m "I want you to wear them the entire day." + her "The entire--" #shocked but horny + g9 "That's right..." + her "Surely you can't expect me to wear this the entire day!" + m "Oh yes I do... And--" + m "You're not allowed to touch the controller." + her "What do you--" + m "I'll play with the remote from here!" + her "But then I won't know when they'll go off!" + g9 "Exactly!" + her "..." + her "This... Is this really what you want?" + g9 "Oh yes, very much so..." + + elif her_tier_public == 4: + her "You want me to wear this in class?" + m "No [hermione_name]..." + her "Oh good..." + m "Wearing them isn't enough! I want you to wear them and turn them on!" + her "I--{w=0.2} I could just...{w=0.4} Can't I just do that in here?" + m "Come off it [hermione_name], you're getting {number=current_payout} for your house." + m "Surely that's more than enough to attend class for once." + her "...{w} What do you mean for once?" #annoyed + her "I always attend class!" + her "And it's not about that, it's--" + m "It's just some harmless vibrations." + her "But what if somebody notices?" + m "Oh, so you're considering it at least." + her "..." + m "I'm sure it's fine, just pick one of your classes that is noisy enough that nobody would notice." + her "*Hmph*... So not history of magic then." + her "Fine, as long as you pay me." + m "Wouldn't have it another way." + m "See you tonight then." + her "..." + + else: + # Fail if public tier is not high enough. + + if her_tier >= 5: + her "You want me to use them in class?!" + her "But [genie_name]!" + m "You didn't think I just wanted you to wear them like an accessory did you?" + her "No, but I didn't think you wanted me to go to class wearing them!" + m "Alright fine..." + m "In that case--" + else: + her "You want me to--{w=0.3} But I thought..." + m "*Hmm*?" + her "Nevermind..." + m "Off you go then." + her "*Ehm*... Can't I just use them in my dorm instead?" + m "What's the fun in that?" + her "..." #Blush + her "Well, I'm just not sure if wearing them the entire day is such a good idea..." + m "Nonsense, I'm sure the seats can handle a bit of wetness." + her "..." #worried + m "Alright fine..." + m "In that case--" + + jump hg_vibrators.choices + + else: + # Repeat (public) + m "I think you better put your clothes on and head to class." + + if her_tier_public >= 5: + if her_vibrators_public_stage <= 1: + # Tried LOW level before + + her "You want me to use them in class again?" + m "Oh no... This time I want you to wear them the entire day." + her "The entire day?!" + m "Yep, and you're not allowed to touch that off switch..." + her "But [genie_name]!" + her "Wearing them through one class is one thing... But the entire day..." + m "Oh, I'm not going to make you have them turned on the entire day... I'm not that cruel." + her "Then what do you mean when you say I'm not allowed to touch the off switch?" + m "What I'm saying is... I'll be using this remote controller from here." + m "Like this." + + #click sound effect + $ renpy.sound.play("sounds/click4.mp3") + #Vibration sound on + play bg_sounds "sounds/vibrator_low.ogg" + her "{heart}*Ah*...{heart}" + #click sound effect + $ renpy.sound.play("sounds/click4.mp3") + #Vibration sound off + stop bg_sounds + + her "..." + m "Heh-heh..." + m "So, are you ready for class?" + her "..." + g9 "Come off it [hermione_name], you've already worn it once, you know what to expect by now." + her "The problem isn't what, but when... I'm worried what I'd do if I'm not prepared." + her "What if it goes off while I'm presenting something in front of the whole class." + m "You're talking as if anyone pays any attention in the first place." + her "..." + m "And by the rare circumstance that they are, just tell them it's your phone." + her "... Very funny [genie_name]." + m "(Did I say something funny?)" + her "Okay...{w=0.4} I'll do it." + m "Excellent." + else: + # Tried HIGH level before + + her "Certainly, [genie_name]." + m "Although..." + her "Yes?" + m "Well, this time I was thinking I wouldn't be as cruel as to not let you know when I'll turn them on." + her "Really? Thank you [genie_name]!" + m "If..." + her "...{w=0.4} If?" + m "If you accompany your friends to their gobberstone game again." + her "But [genie_name]!" + m "Or, I could just turn them on during lunch... Can't skip lunch, can we?" + her "..." + her "You know, there's some time left before class if you wanted to check that it works first..." + m "Don't you think you could get away doing this so easily..." + her "Alright..." #annoyed + her "See you tonight then." + m "Enjoy!" + else: + her "You want me to use it in class again?" #blush + m "Most definitely." + her "*Hmm*... Alright, fine..." + m "Excellent, I'll look forward to hearing how it went." + + if her_tier >= 5: + pass + # TODO: Equip vibrator panties and vibrator bra (she is naked on high tiers at this point) + else: + her "..." #down + m "Go on then." + + $ renpy.sound.play("sounds/cloth_sound3.mp3") + + #TODO Hermione equips school uniform (medium skirt) + + with d3 + + her "..." #looks down, blushing + + # TODO Hermione leaves + call her_walk(action="leave") + + $ ev_her_vibrators_public_return.enqueue() + + jump end_hermione_event + +label hg_vibrators_personal: + m "Let's turn these things on then shall we." + her "Hold on I'm not--" + + # TODO: click sound + # TODO: Vibrating sound medium + + her "{heart}*Ah*!!!{heart}" + + if her_tier >= 5: + # TODO This scene has CG with Hermione lying on the desk with vibrators, 3 poses, closed legs, spread legs, pushed pelvis in the air (cumming). + # NOTE Current pose changes are just suggestions. + + label .high_tier: + + m "There she goes." + her "Did--{w=0.2} *Ah*..{w=0.4}. Did you have to turn it on so suddenly like that?" + m "Of course, the universe depended on it... It was always destined to happen." + her "*Ah*...{w=0.4} I can't--{w=0.2} *Ah*...{w=0.4} I think Trelawney would've told me if that was the--" + her "Why is this thing so intense?" + m "Intense? It's only on the medium setting." + her "Medium? *Ngh*...{w=0.4} No wonder it's--" + + menu: + "-Lower the intensity-": + + # TODO click sound + # TODO Vibrating sound low + + her "*Ah*...{w=0.4} That's better..." + + "-Raise the intensity-": + + # TODO click sound + # TODO Vibrating sound high + + her "[genie_name]!!" + m "Ooops, yeah you're right... Probably shouldn't end it so soon..." + + #TODO click sound + #TODO Vibrating sound low + + m "Now, why don't you do me a favour and lie down on that desk for me?" + her "You...{w=0.4} You want me to do what?!" + g9 "Get that butt...{w=0.4} On that desk!" + her "Why?!" + m "You already know why..." + her "..." + m "So I can see you up close, of course!" + m "Not much point if I can't see anything is there?" + her "I...{w} I suppose there isn't..." + m "Go on then, plant those cheeks on that wood." + her "I--{w=0.2} I suppose I..." + her "If lying down on your desk is what is required of me..." + m "Queue the fade!" + her "The what--{w=0.4}{nw}" + + # TODO Screen fades to black and then To CG, Hermione is lying on the desk with her legs crossed slightly. + # TODO fade out vibrating sound + + m "I love a good transition to get straight to the point." + m "Now, where were we..." + her "I'm on the desk...{w=0.4} As you asked." + m "Right... Now, let's do a bit of a show and tell." + her "A what?" + m "Spread those legs for me will you?" + her "..." + + # TODO Hermione spread legs + + m "There we go... Now for the telling part." + + # TODO click sound + # TODO Vibrator sound low + + her "*Ah*!" + + # TODO Hermione legs closed + + m "There you go, now you're doing it." + m "Although now you're failing on the showing part of the show and tell." + m "You're not going to get a good grade unless you do both, [hermione_name]." + her "I'm being graded on this?" + m "Of course... You get graded on everything in a school." + m "And right now, you're failing." + + # TODO Hermione legs open + + her "..." + m "Very good... Now keep them spread like that and I'll be sure to give you a good grade." + her "..." + her "Just... Don't surprise me like that again okay?" + m "Telling your headmaster what to do... That doesn't sound like someone who's looking to achieve a good grade..." + her "This is ridiculous... It's not even a real grade..." + m "Yet you seem to still care about it." + her "*Hmph*...{w=0.4}{nw}" + + # TODO Hermione legs open + + her "*Hmph*...{fast} Just do whatever you want, why don't you." + m "..." + + menu: + "-Turn the intensity to High-": + + # TODO click sound + # TODO Vibrating sound high + # TODO Hermione pelvis pushed in the air + + her "[genie_name]!!!" + + # TODO Hermione pelvis down legs open (might keep her pelvis up if it works out well) + + her "Turn is down!" + + menu: + "-Keep it going-": + m "Didn't I just say, if you want to achieve a good grade, you shouldn't tell your headmaster what to do, [hermione_name]." + her "I just... *Ah*... I just said you could do whatever you wanted!" + m "Exactly! Telling me to do whatever I want!" + her "*Ah*... please, [genie_name]!" + m "Alright then [hermione_name]... I'll play your little game..." + m "But what's to say you wont change your mind again?" + her "*Ah*...{w=0.2} *Ah*...{w=0.2 I'm gonna--" + m "Change your mind?" + her "I'm gonna--" + + "-Turn it down-": + m "Finally, some assertiveness." + + # TODO click sound + # TODO Vibrating sound low + + her "*Ah*..." + m "I didn't think you were the type who would want to be brought to the edge just to be denied like this." + her "W--{w=0.2} What?!" + + # TODO Hermione legs closed + + her "That is not--" + m "You're in luck I'm the person holding the controller, [hermione_name]." + m "If it was anyone else, they might've gotten impatient by now..." + m "I can do this all day." + her "{size=-5}I don't like being denied...{/size}" + m "You're lucky I'm in a good mood, I think I'll oblige, since you're being so honest with yourself for once..." + her "..." + m "(She'll love this...)" + g9 "[hermione_name]... I forbid you to cum unless I say so!" + her "W--{w=0.4} What?!" + m "That's right, you're now under my command, I say that you shall not cum until I deem it fitting." + her "But, [genie_name]!" + m "(Now she's getting into it...)" + m "As your headmaster, I have the power over your grades and shall you fail to meet my expectations..." + m "Well, then naturally you'll have to be punished!" + her "Punished?!" + m "That's right!" + m "Prepare yourself [hermione_name]!" + m "I could change the intensity at any moment!" + her "!!!" + m "Although... I think I'll just leave it like this for a while..." + her "..." + m "Just kidding!" + + # TODO vibrating sound high + + her "*Ah*!" + g9 "*Heh-Heh*..." + her "[genie_name], I--" + + menu: + "-Keep it going-": #Ends with her cumming + her "Nnnngh--" + her "{size=+5}{heart}{heart}{heart}Cum!!!{heart}{heart}{/size}" + m "Alrea--{w=0.4}{nw}" + + # TODO Hermione pelvis up, cumming + + her "{size=+5}{heart}Aaaaah!!{heart}{/size}" + m "By the great--" + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." + her "*Mmm*......" + show screen blkfade + with d5 + # TODO jump to end section + + "-Turn it down-": + + # TODO click sound + # TODO Vibrating sound low + + her "What the--" + her "Why did you turn it down!?" + m "..." + m "If you're going to be like this, then we'll do it my way." + her "Your--{w=0.2} Your way?" + m "I've been way to lenient on you, first you disobey me... and even when I so graciously granted your wish, something that I don't even do anymore by the way..." + m "You still aren't satisfied!" + m "So, we're going to do this my way..." + her "[genie_name]?" + m "You're doing this as a favour for me, you best not forget that, [hermione_name]." + her "..." + m "This is currently very much a one sided enjoyment and for this to work for me, I'd prefer it not to end before it barely even started." + m "So, you better not cum until I say so." + m "Is that clear?" + her "Yes [genie_name]..." + m "Good." + m "Then you better prepare to be unprepared, [hermione_name]." + her "Prepared to..." + m "That's right...{w=0.4} I could change the intensity at a moments notice..." + m "I could leave it, just like this... At a level where you'd be stuck in a state of wetness and frustration... Enough to keep you going but not enough to bring you to the edge." + + # TODO click sound + # TODO vibrating sound medium + + her "*Ah*!" + m "I could also increase the intensity... Just for a moment, just so that I get to see your face light up in excitement." + + "-Turn the intensity to Medium-": + + # TODO click sound + # TODO Vibrating sound medium + + her "*Ah*!" + + # TODO Hermione legs closed + + m "Something the matter?" + her "N--{w=0.2} No! I'm fine!" + + # TODO Hermione legs open + + her "Like I said, you go ahead and do what you want..." + m "In that case, I think I'll leave it like this for a bit." + her "Alright..." #annoyed + her "..." + her "..." #Horny + m "Getting there already, [hermione_name]?" + her "N--{w=0.2} No, of course not!" + m "Good, because I don't want you to come yet..." + m "In fact, you're not allowed to come until I say so." + her "That's--{w=0.2} *Ah*...{w=0.4} That fine by me..." + + # TODO Hide text box (click to cycle through expressions) + # TODO Hermione worried + # TODO Hermione blushing, worried about cumming + # TODO Almost about to cum + + m "Looks to me as if you're about to cum [hermione_name]..." + m "Or am I mistaken?" + her "*Ah*... How do you--" + m "How do I know?" + m "Experience, [hermione_name]... You're never going to find anyone with the amount of experience I have..." + her "I--{w=0.4} I'm--" + + # TODO click sound + # TODO vibrating sound low + + her "*Mmm*..." + m "I've done this enough times to know exactly when someone's about to go over the edge, so that I can ease up and keep it going even longer..." + m "And that is our goal for today's session..." + m "Hold{w=0.3} it{w=0.3} in..." + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah..." + m "You think you could do that for me?" + her "*Ah*... [genie_name], I--" + + # TODO click sound + # TODO vibrating sound high + # TODO Hermione pelvis thrust + + her "{size=+4}{heart}{heart}{heart}*Ah*!!!{heart}{heart}{/size}" + + # TODO click sound + # TODO vibrating sound low + + m "Nuh-uh... Not yet, [hermione_name]." + her "*Ah*...{w=0.4} *Ah*...{w=0.4} [genie_name]..." + m "Patience..." + her "But--" + m "Remember why you're here, [hermione_name]." + m "This session won't end until I'm satisfied." + her "*Ah*...{w=0.4} *Ah*...{w=0.4} And how...{w=0.4} How can I make sure that you're...{w=0.4} Satisfied..." + m "By not cumming until I say so..." + m "Although, I must say that watching your frustration is quite satisfying indeed..." + her "You're--{w=0.2} *Ah*...{w=0.4} You enjoy watching..." + m "I have the powers if your fate at my fingertips, of course I'm enjoying it..." + m "I've not had that kind of power in a long time..." + her "..." + m "How does that make you feel, [hermione_name]?" + her "I--{w=0.2} *Ah*...{w=0.4} If deciding my--{w=0.2}Ah*...{w=0.4} My fate would satisfy you..." + m "You really want to grant me this ultimate power of ultimatum....ness?" + m "This kind of power was already taken away from me before, you think it's so wise to allow me another taste?" + her "Of--{w=0.4} Of course..." + her "I already said you can-- {w=0.4}*Ngh*..{w=0.4} Do whatever you want...{w=0.4} I am not the person to go back on my word." + m "You say that, but the frustration in your eyes says otherwise..." + her "N--{w=0.4} No, it's fine, really!" + m "Really?" + her "Y--{w=0.2}Yes..." + + menu: + "-Turn off the vibrators-": + # Ends the event with Hermione not cumming. Mood down slightly + m "Okay then, in that case..." + m "You shall not cum." + her "W--{w=0.2} What?!" + + # TODO click sound + # TODO vibrating sound off + + her "(He turned it off!)" + her "Why did you--" + m "I used the ultimate power, to do the unexpected." + m "(Why do I always do this when people challenge me...)" + her "But, I was... I was almost about to--" + m "Your goal was to satisfy me was it not?" + her "Yes but I thought... Well, I never thought this would ever..." + m "Always expect the unexpected in life [hermione_name]." + her "W--{w=0.2} What?" + m "Yes, that's right... This was all a highly elaborate life lesson all along." + her "Really..." + m "Of course, and you did very well." + her "..." + her "Alright then, whatever you say [genie_name]..." + + show screen blkfade + with d5 + + # TODO Hide CG + + $ hermione.equip(her_outfit_last) + call nar(">You watch as Hermione sits up and shimmies to the edge of your desk, planting her feet on the floor, she sways on the spot slightly before she readies herself, and makes her way to the front of your desk.") + + # TODO if vibrators not unlocked + # TODO Vibrator room item on desk + + hide screen blkfade + with d5 + + her "So...{w=0.4} Is that all?" + + menu: + "-Grade her performance-": + m "Yes... No wait, one more thing!" + her "Yes?" #Hopeful + m "Your grade!" + her "My--{w=0.2} Oh right..." + m "I did say I was going to grade you on your ability not to cum until I said so." + m "So." + + menu: + "-Give her a passing grade-": + m "You pass!" + her "I... Pass?" + m "Yes indeed, [hermione_name]." + m "Just like I asked, you never came unless I said you could." + m "Of course, you better be ready, because..." + m "Cum for me!" + her "..." #worried #shocked + m "Nah, I'm just kidding." + her "Very funny [genie_name]..." + her "So, can I go now?" + m "Sure, I won't let you wait any longer." + her "Thank you..." + "-Fail her on her performance-": + m "Now cum!" + her "..." + her "What are you..." + m "Oh, too bad, looks like you failed." + her "You're joking..." + m "I expected better from you, [hermione_name]." + her "Whatever you say [genie_name]." + m "that shall do for now, [hermione_name]." + m "You may leave." + + if True: # TODO if vibrators not unlocked + call nar(">For a brief moment you see Hermione's eyes flicker towards the vibrators left on your desk.") + m "Fine, you can take them and finish yourself off, [hermione_name]..." + m "Consider it a gift." + her "..." #blushing + + # TODO Hermione walks to desk + # TODO Vibrator item removed from desk + # TODO Vibrators unlock message in wardrobe (like Collar event) + + her "{size=-5}Thank you...{/size}" + + else: # TODO else: + her "Alright then..." + + # TODO Hermione walks to desk + # TODO Vibrator item removed from desk + + m "What are you doing?" + her "*Ehm*...{w=0.2} Didn't you gift me these?" + m "I thought I told you not to cum until I said so, what are you planning to do with these exactly?" + her "But, [genie_name]... Didn't you grade me already?" + m "Oh, right... Go ahead then." + her "Thank you..." + "-Better not-": + m "Yes, that shall do for now." + her "Okay..." + her "(At least he forgot about that silly grade...)" + + if True: # TODO if vibrators not unlocked + call nar(">For a brief moment you see Hermione's eyes flicker towards the vibrators left on your desk.") + m "Fine, you can take them and finish yourself off, [hermione_name]..." + her "I wasn't--" + m "Consider it a gift." + her "Alright..." #blushing + + # TODO Hermione walks to desk + # TODO Vibrator item removed from desk + # TODO Vibrators unlock message in wardrobe (like Collar event) + + her "{size=-5}Thank you...{/size}" + + else: # TODO else: + + # TODO Hermione walks to desk + # TODO Vibrator item removed from desk + + m "I hope you're not planning to use those to finish youself off." + her "What do you--{w=0.2} Didn't you gift me these?" + m "I believe I've not said that you're allowed to cum yet, [hermione_name]..." + her "..." + m "Unless..." + her "Yes?" + m "Well, I may allow it, as long as you use it as practice to last longer." + her "I wasn't going to--" + m "Actually, I expect no less from you..." + m "Next time I might actually grade you as I said I would..." + her "(So he did remember...)" + m "That will be all, [hermione_name]." + her "Yes, [genie_name]..." + m "Until next time." + + # TODO Hermione mood down slightly + call her_walk(action="leave") + jump end_hermione_event + + "-Turn the intensity to Medium-": + #She cums but it takes a little longer. + + # TODO click sound + # TODO vibrating sound medium + her "*Aaaaah*....{w=0.4} Yeeeees....." + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." + m "Now hold it in a bit longer for me." + her "But--{w=0.2} *Ah*...{w=0.2} I thought this meant I could--" + m "Hold it!" + her "*Ah*...{w=0.2} *Ah*...{w=0.2} [genie_name], I can't--" + m "{b}The{/b} Hermione Granger failing a task set by her headmaster?" + m "I thought you were better than this." + her "[genie_name]--{w=0.2} *Ah*...{w=0.4} I can't control it!" + m "Hold it in [hermione_name]!" + her "{size=+4}{heart}Nnngh!{heart}{/size}" + m "{size=+5}Now cum for me!{/size}" + + "-Turn the intensity to High-": + #She cums almost immediately + + m "I don't believe you..." + her "*Ah*...{w=0.2} Why--{w=0.2} Of course I--" + m "Tell me the truth!" + m "Tell me you want to cum!" + her "*Ah*...{w=0.2} *Ah*...{w=0.2} I..." + m "Say it!" + her "I want to cum!" + m "How much do you want it?" + her "A lot, please let me cum!" + her "I need it!!" + m "Skadoosh.{w=0.8}{nw}" + # TODO click sound + # TODO vibrating sound high + + # TODO Hermione pelvis up squirting + with kissiris + with hpunch + $ renpy.play("sounds/slick_01.ogg") + her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}" ("grin", "narrow", "annoyed", "up", cheeks="blush") + + # TODO Hermione pelvis up + + m "By the great--" + + # TODO Hermione pelvis up squirting + + with kissiris + with hpunch + $ renpy.play("sounds/slick_01.ogg") + her "{size=+8}{heart}*Ah*!{heart}{/size}" + $ renpy.play("sounds/slick_01.ogg") + pause .5 + her "*Mmm*......" + + # End section + show screen blkfade + with d5 + # TODO Fade out vibrating sound + # TODO Hide CG + # TODO Vibrator room item on desk + call nar(">You watch as Hermione sits up and shimmies to the edge of your desk, planting her feet on the floor, she sways on the spot slightly before she readies herself, and makes her way to the front of your desk.") + $ hermione.equip(her_outfit_last) + + hide screen blkfade + with d5 + + her "" #blushing + call ctc + her "*Ahem*... So, is that all?" + m "Yes, that shall do for today." + + menu: + "-Grade her performance-": + m "Oh, wait!" + m "I was going to grade you wasn't I?" + her "..." #hopeful + m "Hmm...{w=0.4} Let's see..." + menu: + "-Give her a passing grade-": + m "You pass!" + m "Excellent performance [hermione_name]." + her "Oh... Thank you [genie_name]." + + if True: # TODO if vibrators not unlocked + her "Is there some kind of reward?" + m "Reward?" + her "Well, it's not like I can use this grade for anything." + m "That's true..." + m "Hmm..." + + "-Fail her on her performance-": + m "You fail!" + her "I--{w=0.2} I what?!" + her "But [genie_name]!" + her "Didn't I do what you asked of me?" + m "Indeed you did, [hermione_name]." + her "Then why are you failing me?" + m "You seem very distraught by this, [hermione_name]..." + m "I thought you said it wasn't even a real grade." + her "Yes, but..." + m "Or are you merely looking for my approval?" + her "..." + m "Well, if that's the case, you did a very good job doing what I asked of you." + her "..." #embarrased but happy + m "You still fail though." + her "..." #Annoyed + + if True: # TODO if vibrators not unlocked + m "Maybe I'll give you a passing grade after you've had some practice." + her "Practice?" + m "If you could hold it in for longer I'm sure you'll pass eventually." + her "Right... Practice..." + "-She's had enough enjoyment for one day-": + her "Okay then..." + + if True: # TODO if vibrators not unlocked + m "You can take those vibrators with you, if you want." + her "..." + # TODO Hermione walks to desk + # TODO Vibrator item removed from desk + # TODO Vibrators unlock message in wardrobe (like Collar event) + else: # TODO else: + m "Don't forget your vibrators." + her "Right..." + # TODO Hermione walks to desk + # TODO Vibrator item removed from desk + + call her_walk(action="leave") + + else: + # Tier 4 + # Does not unlock wardrobe item. + # No grading. + # Hermione leaves early. + + label .low_tier: + + her "I wasn't ready!" + her "Turn it off!" + m "Forfeiting your points already, [hermione_name]?" + m "Well, if you insist." + + # TODO click sound + # TODO Vibrating sound off + + her "What?! Wait, no!!" + m "Hmm?" + m "You really should try and be a bit more decisive, [hermione_name]." + m "I thought you were here to earn your house some points." + her "..." + her "Just...{w=0.4} Could you set it to the low setting?" + g9 "Low setting, eh? You sure seem very familiar with how this device works." + her "..." + g9 "Low setting it is." + + # TODO click sound + # TODO Vibrating sound low + + her "{heart}*Ngh*{heart}!" + g9 "Better?" + her "*Ah*...{w=0.4} Yes...{w=0.4} Much better..." + m "Good, then let's proceed." + m "Tell me, how was your day?" + her "W--{w=0.2} What?" + her "My Day?!" + m "Yes, tell me what you've been up to lately." + her "B--{w=0.2} But [genie_name]." + m "*Hmm*?" + her "I--{w=0.2} *Ah*...{w=0.4} I'm a bit preoccupied right now." + m "Surely you can multitask, I do it all the time." + her "I--{w=0.2} *Ehm*..." + + menu: + "-Turn up the intensity-": + # TODO Temp flag that you turned vibrator up + # TODO click sound + # TODO Vibrating sound medium + + her "{heart}*Ah*!!{heart}" + her "Turn it down, turn it down!" + m "Some vibrations too much for you to handle, [hermione_name]?" + her "[genie_name], turn it down this instance or I'm leaving!" #mad + m "Fine..." + + # TODO click sound + # TODO Vibrating sound off + + m "There...{w=0.4} Better?" + her "*Hmph*." #annoyed + m "If you keep up this silly behaviour then you won't be getting any points." + her "Then don't turn it up like that without telling me!" + m "..." + "-Turn off the device-": + + # TODO click sound + # TODO Vibrating sound off + + m "Well, if that's the case, I suppose we're done here." + her "But--" + her "What about my points?!" + m "Your points?" + her "Yes, am I getting--" + + # TODO click sound + # TODO Vibrating sound low + + her "*Ah*..." + m "If you want your points [hermione_name]..." + m "You can't just stand there doing nothing." + her "*Ah*...{w=0.4} Doing--{w=0.2} Doing nothing?" #looks away + m "Yes, I thought I--{w=0.4} Why aren't you looking at me when I'm speaking to you?" + her "..." #Hermione looks at you, blushing + m "Well?" + her "Well--{w=0.2} *Ah*...{w=0.4} Well, what?" + m "I asked you what you've been doing lately." + her "Oh...{w=0.4} Right." + her "Well, I've been attending class...{w=0.4} *Ah*...{w=0.4} As per usual." + m "That's good." + her "Although--{w=0.2} *Ah*...{w=0.4} Well you probably already know that I've arrived late a couple classes." + m "You have?" + m "Why are you arriving late for your classes?" + her "*Ah*...{w=0.4} What do you--{w=0.2} *Ah*...{w=0.4} I meant after I've been up here." + + menu: + # Both end in the event ending. + "-Be kind-": + #Mood stays the same + m "Oh right..." + m "No need to worry, [hermione_name]. You're helping out the Headmaster after all." + her "Oh, I wasn't worried about--" + m "I'm sure that such a bright girl is able to keep up anyway." + her "*Ah*...{w=0.4} Yes, so far so--" + her "So...{w=0.4} *Mmmm*...{w=0.4} So good..." + m "But I appreaciate the honesty, any other student would've kept this information from me." + her "Oh, well..." #blush + + # TODO click sound + # TODO Vibrating sound medium + + her "Ah!" + her "[genie_name]..." + m "Feels good doesn't it?" + m "Make it known that your headmaster rewards honesty." + her "*Ah*...{w=0.4} *Ah*...{w=0.4} I--" + + if True: # TODO If you turned up the vibrator previously: + #Event end, low mood penalty + + her "I told you not to turn it up without telling me!" #Embarrased + m "*Hmm*?" + m "Does it not feel good?" + her "That's not the problem!" + her "It's--{w=0.2} *Ah*..." + her "..." #embarrased + her "I can't believe you!" + + # TODO Replace vibrators in underwear with underwear + # TODO Vibrators appear on floor + + $ her_mood += 10 + + her "I wore your stupid vibrators, so I'll have my points now!" + m "Technically they were a gift." + her "..." + + # TODO vibrators dissapear off the floor + # TODO Hermione walks to genie + # TODO Punch sound as she puts them on the desk + + m "Although, I suppose I could keep them for now..." + + # TODO Hermione goes back to middle of office + # TODO Turns back to genie + + her "My points..." + + # TODO click sound + # TODO sound off + + m "...{w=0.4} Very well, [hermione_name]." + + else: # TODO else + #Gets wet down her legs and leaves (No mood penalty) + + her "Please, I--" + her "It's too--{w=0.2} *Ah*...{w=0.4} If you keep--" + m "Did you not want a reward for your honesty?" + her "It's--{w=0.2} It's not that I don't..." + m "It's a bit rude to not show appreaciation don't you think?" + her "I--{w=0.2} You didn't have to...{w=0.4} Some points would've been--" + #Wet down legs (Use masturbate pose squirt) + m "Points? Is that really what you want?" + her "Of course! Why else would I be--" + m "Looks to me like you're doing it for the enjoyment..." + her "What do you--" + her "..." #Wide eyed, looks down + g9 "Now then, I think it's time we bring this up to the max." + her "To the--" #clench + + # TODO Replace vibrators in underwear with underwear + # TODO vibrators appear on floor + + m "What the--" + her "I--{w=0.2} I'll have those points now." + m "But we were just getting started!" + her "And now we're finished." + m "I suppose you did." + her "..." + + # TODO vibrators dissapear off the floor + # TODO Hermione walks to genie + + her "You can have these back now." + m "Are you sure?" + her "Yes..." + m "I suppose you wouldn't want anyone find them in your dorm." + her "That's not--" + + # TODO click sound + # TODO sound off + + m "No worried, just let me know whenever you would like to use them again." + her "... Can I have my points now?" + m "Certainly..." + + $ gryffindor += current_payout + m "{number=current_payout} points to Gryffindor, [hermione_name]." + her "Thanks..." + + $ hermione.equip(her_outfit_last) + with fade + + call her_walk(action="leave") + m "(Hmm... Maybe I'll be able to push her further in the future.)" + "-Scold her-": + m "We can't have that, can we?" + her "But... [genie_name]." + her "It's not my fault when you keep me--" + # TODO click sound + # TODO Vibrating sound medium + her "Ah!" + m "Tell me you're sorry and won't be late to classes again." + her "*Ah*...{w=0.4} *Ah*...{w=0.4} Alright--" + her "I won't be late for classes again!" + m "And?" + her "And--{w=0.2} *Ah*...{w=0.4} I'm--{w=0.2} I--" + if True: # TODO If you turned up the vibrator previously: + $ her_mood += 15 + + her "..." #Wide eyed angry + her "I told you to not turn it up again!" + g4 "What?!" + + # TODO Replace vibrators in underwear with underwear + # TODO sound off + # TODO vibrators appear on floor + + her "I can't believe you tried to make me apologise!" + g4 "..." + + # TODO vibrators dissapear off the floor + # TODO Hermione walks to genie + # TODO Punch sound + + her "After I told you not to turn it up without telling me!" + her "My points! Now!" + + g4 "Alright, alright... Don't get your panties in a twist." + $ gryffindor += current_payout + m "{number=current_payout} points to Gryffindor!" + m "There, happy?" + her "No!" + + call her_walk("door", "base") + call her_walk(action="leave") + $ renpy.play('sounds/door_down.ogg') + with hpunch + + $ hermione.equip(her_outfit_last) + # TODO else: #low mood penalty + $ her_mood += 10 + + # TODO Hermione wet down legs (Use masturbate pose squirt) + + m "And now you're getting wet without my permission?" + her "W--{w=0.2} What?!?" #looks down #shocked + m "You're not getting off from being scolded are you?" + her "Enjoy--{w=0.2} Of course not!" + m "Then why are you so wet?" + her "I'm not!" + m "Clearly you are." + her "I don't \"get off\" from being scolded!" + + # TODO Replace vibrators in underwear with underwear + + m "What the--" + + # TODO Hermione walks to genie + + m "Hey, we're not done yet." + her "Just... Take these back." + her "Could--{w=0.2} Can I have my points now?" #looking down + m "Come off it, take the--" + her "Please!" + m "Fine." + + $ gryffindor += current_payout + m "{number=current_payout} points to Gryffindor!" + m "Now, can we get back to--" + + # TODO Hermione walks to middle of the room back turned to genie + # TODO Doll fades in and she still looks horny + + m "You could atleast have the courtesy to look me in the eyes when I'm speaking to you..." + her "..." #Looking down ashamed + m "Look at me!" + her "..." + # TODO Hermione turns and looks at genie ashamed, blushing cheeks + m "(Why is she blush-- Oh, I see...)" + m "Okay [hermione_name], you may leave..." + + $ hermione.equip(her_outfit_last) + with d3 + + her "Thank you [genie_name]." #Maybe she should stay quiet here + + call her_walk(action="leave") + m "(This girl is such a mystery sometimes...)" + + # TODO click sound + # TODO sound off + + m "(Well... I'm sure she'll come around to it eventually...)" + + # TODO Reset Temp flag that you turned vibrator up + + jump end_hermione_event + +label hg_vibrators_public_return: + + # TODO set clothing again as it will reset if sheduling is turned on, Do not use her_outfit_last.save() as that should've been done at the start + # TODO Hermione enters office in her school clothing and walks to front of desk + call her_walk("desk", "base", action="enter") + + if her_tier_public >= 5: + + label .high_tier: + + if not her_vibrators_public_stage == 2: + # First time + + play bg_sounds "sounds/vibrator_low.ogg" + + m "Finally, what took you so--" + + # TODO Hermione takes off top in desperation + + her "I'm sorry [genie_name]!!" + + # TODO Hermione takes off skirt + # TODO Squirt going down her legs (Use masturbate pose squirt) + + m "[hermione_name]!" + + # TODO Hermione takes off vibrator bra (or changes to naked vibrator variant if squirting looks okay with them equipped) + + her "*Nnnn*--" + m "Are you--" + + # TODO Hermione takes off vibrator underwear (or changes to naked vibrator variant if squirting looks okay with them equipped) + # TODO vibrators on floor (or stays until genie turns them off) + + pause .8 + with kissiris + her "{heart}{heart}{heart}{size=+10}*Aaaaaaaaaah*!!!!!{/size}{heart}{heart}{heart}" #ahegao + + # TODO Hermione squirts + + m "Whoa!" + with kissiris + her "{heart}{size=+5}*Aaaah*!!!{/size}{heart}" + + # TODO Hermione squirts (Use masturbate pose squirt) + + m "Holy mother of--" + with kissiris + her "{size=+2}*Ah*!!!{/size}" + + # TODO Hermione squirts (Use masturbate pose squirt) + + m "[hermione_name]!" + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." + her "Finally..." + her "These things...{w=0.4} *Ah*...{w=0.4} They turned on as I was walking up here." + m "They--" + $ renpy.sound.play("sounds/drawer_open.mp3") + m "(Whops, must've switched it on when I put the controller away...)" + + $ renpy.sound.play("sounds/cough_male.mp3") + m "*Loud cough*{w=0.5{nw}" + + # TODO click sound effect + + $ renpy.sound.play("sounds/click4.mp3") + + # TODO vibrator sound turns off + + stop bg_sounds + + m "*Loud cough*{fast}" + her "*Ah*...{w=0.4} Finally..." + + # TODO Hermione puts vibrators on floor if they stayed on during cumming + # TODO Hermione equip basic panties + + her "I can't believe you'd turn the vibrators on like that again...{w=0.4} After everything you put me through today." + m "I did warn you that I'd turn them on at any point." + her "I--{w=0.2} I suppose you did." #looks down + m "So...{w=0.4} I assume you've been buzzy?" + + # TODO Hermione equip basic bra + + her "*Mmm*...{w=0.4} Tell me about it." + m "Isn't that why you're here?" + her "What? Oh..." + m "I presume you went to your classes as usual?" + her "Of course!" + her "Although the fact I had these things strapped to me made it difficult to go about my normal day." + m "In which ways?" + + # TODO Hermione equip stockings + + her "Well, first off, I couldn't exactly go to the library..." + her "With how quiet it is in there, I'd immediately attract everyone's attention once these things turned on." + m "(Or once she got turned on...)" + m "Alright then, no library visits. Tell me what happened once you left the office." + + # Transfiguration + # TODO Hermione equip skirt (medium) + her "Well, I left and headed to my first class of the day, Transfiguration." + her "The closer I got to the classroom I became more and more aware of my heart beating against my chest." + her "What if professor McGonagall called for me to demonstrate something in front of my classmates?" + m "Do you always get this excited before class?" + her "I was anticipating the vibrators turning on!" + m "Right..." + her "Although I do look forward to demonstrating all the things I've learnt." + m "I would never have guessed..." + her "I was the first person to perfectly master turning a rat yellow and ever since then I've been the go to student to demonstrate--" + m "Sounds utterly pointless." + her "*Hmph*...{w=0.4} I got five whole points for it I'll have you know." + m "Enough about stupid rats, what about the vibrators?" + her "Well, as you already know, you didn't turn them on during the transfiguration morning class." + m "(As I already know? Must've been during my daily nap.)" + her "So, after the class, I slipped away from my friends and waited, time ticking down for my next period." + m "Your--{w=0.2}, Wait, why didn't you tell me it was that time of the month?" + her "Our next class period!" + m "Oh, that makes more sense." + + # TODO Hermione equips top + + her "..." + m "And?" + her "Well, they didn't turn on before our next class either." + + # Charms + her "So, I begrudgingly made my way to charms--" + m "(Bet she's never said that before.)" + her "--Which is the class I was most worried about." + m "What's so bad about Charms?" + her "Flitwick!" + her "With how short he is, I was worried he'd see the vibrator from underneath my skirt." + m "See it? You're not expecting extra points for going commando are you?" + her "He'd see it bulging out inside of my panties!" + m "Right, so you're worried he'd think you've grown a--" + her "..." #annoyed + m "Continue..." + her "Well, luckily it never came to that." + her "He had one of the other girl's help him with today's demonstration for once, so today's was a safe day for my panties." + m "You've already said as much." + m "But, enough with the build up..." + her "I'm getting there!" + her "I'm just--{w=0.2} Well, I wanted you to know where my head was at when it actually switched on." + m "Fine, if it makes you feel better, go ahead." + her "..." #annoyed + her "So, Charms finished and we went for lunch." + m "We?" + her "Me and my friends..." + m "Oh, right..." + m "(I keep forgetting the nerdy girl archetype actually has friends in this universe.)" + + #Lunch + her "So, I had my lunch... And whilst chatting with my friends I sort of forgot I was even wearing the vibrators..." + her "Which, thinking back on it I'm sure was your intention this whole time..." + m "You caught me." + m "(Probably shouldn't tell her I was sleeping)." + her "So, when they wanted to go outside and play some gobstones they asked me to join them, so I proceeded to accompany them without even thinking." + + # TODO CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression + + m "I see...{w=0.4} Hold on, this was just past lunchtime you said?" + her "Yes..." + m "That's around the time when--" + her "They turned on!" + g9 "--I woke up from my nap!" + g9 "I mean... What you said!" + else: + # Repeat + + m "Welcome back." + her "Good evening, [genie_name]..." + m "How's your day been? Another succesful excursion I hope?" + her "Depends of your definition of success..." + m "I expect nothing but you following up on our agreement to the fullest." + her "Then yes..." + # TODO Hermione takes off top + m "Oh, goodie!" + m "Tell me all about it!" + her "Well..." + # TODO Hermione takes off skirt + her "It all began at lunch, since you had instructed me to accompany my friends again I had to try and convince them to go outside today..." + # TODO hermione vibrator bra replaced by breast vibrators + # TODO Hermione takes off breast vibrators + her "It was a bit difficult, they initially were planning to play wizard chess, so I had to really wrack my brain to find a good reason why they should play gobstones today." + m "But you succeeded?" + her "After some convincing, yes." + # TODO Hermione puts on basic bra + m "Great, gotta use those assets to the fullest!" #Joke on art assets + her "Thank you, I knew that \"Witch weekly\" article I read on the male psyche would come to good use." + m "That what?" + # TODO Hermione vibrator panties replace by pussy vibrators + # TODO Hermione takes off pussy vibrators + # TODO Vibrators on floor sound + # TODO Vibrators appear on floor + her "\"Descifering the male psyche\"." + # TODO Hermione puts on basic panties + m "This is from one of those gossip magazine nobody reads?" + her "...{w=0.6}{nw}" #looks down + # TODO Hermione puts on stockings + her "...{fast} Gossip magazines?!" + her "I'll have you know that Witch Weekly is very reputable!" + # TODO Hermione puts on skirt + m "Alright, I'll take your word for it." + # TODO Hermione puts on top + m "So, you used your mumbo jumbo and convinced the boys to head outside again..." + her "Ah, yes..." + + #CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression + + her "After some convincing, my friends and I finally made our way outside into the courtyard..." + her "And just as they sat down to play, the vibrators turned on." + + # This section has a different endings depending on the player choices. + + $ _vibrator_strength = 0 + + # First choice + menu: + "\"(Right up to the high setting!)\"": + $ _vibrator_strength = 3 + + # Worst option + + # TODO Xray turns active once player picks this option, Vibrator shakes, etc. + # TODO temp_flag_a_high = True + + if not her_vibrators_public_stage == 2: + # First time + her "Since I had forgotten about the vibrators, I yelped out in surprise, and my friends stopped and looked at me." + else: + # Repeat + + her "Even though I was expecting it this time, I was not ready for you to switch it so quickly... At the high setting." + her "I tried to stifle myself but the quick intake of breath had the boys look towards me." + + m "Uh-oh." + her "I can still picture how their eyes locked onto me... I felt so humiliated, and unable to either move nor speak..." + + # TODO Hermione looks to the side + + her "I swear I could even feel the gaze of other students in my back." + m "You think they realised what was happening?" + her "*Hmph*... They certainly knew \"something\" was happening." + + # TODO Hermione looks forward + + her "Nevertheless, I finally managed to blurt out \"mosquito\" and they appeared to have bought it." + her "At least they went back to their game..." + m "Smooth..." + her "Thank you, [genie_name]." + m "And how did it feel?" + her "It, [genie_name]?" + m "Standing there... In front of your friends, vibrators going ham on your pussy--" + her "[genie_name]!" + m "Sorry--" + m "Your pussy {size=+5}and{/size} breasts." + her "..." + m "What?" + m "Is that not what happened?" + her "Yes, but--" + m "So, what next? You didn't chicken out on me did you?" + her "Of course not!" + her "And you know what you did--" + m "Oh? So this was when I--" + + "\"(Skipping low, straight up to medium setting!)\"": + # Best option + $ _vibrator_strength = 2 + + if not her_vibrators_public_stage == 2: + her "As they turned on, I was quickly brought back to reality, remembering our agreement for today." + else: + her "Surprised it had already started, I readied myself." + + her "And without thinking, I instinctively bit my lip..." + m "Hmm...{w=0.4} Well, you can't always control these things." + her "I would've been able to if you had let me use the controller myself." + m "Oh yeah..." + her "After a couple of seconds I realised what I was doing." + her "Looking over at my friends, praying they didn't see, I swear for a brief moment one of them did, but as I blinked he was back to playing their game." + m "How did that make you feel?" + her "Oh...{w=0.4} *Ehm*..." + m "Go on, this is not the time for dishonesty..." + her "Well, the fact that I had gotten away with it felt a bit exciting I guess." + her "Still... I was having my privates stimulated in front of my friends, so I couldn't help but feel bit guilty." + m "I suppose they were left out a bit." + her "That's not what I meant!" + her "I was feeling guilty that one of them would see the things put myself through for our house!" + m "Sure, whatever you say." + her "Knowing my predicament, I shouldn't have let my guard down like that in front of them in the first place." + her "Although, I didn't have much time to think about it..." + m "Right, so that's when I--" + + "\"(Lowest setting of course!)\"": + # Average option + $ _vibrator_strength = 1 + + if not her_vibrators_public_stage == 2: + her "Yes...{w=0.4} Luckily, even though I had forgotten about it, it was just low enough not to startle me and cast suspicion..." + her "At first it didn't feel as if what was happening was real, but it soon dawned on me what a terrible situation I had put myself in." + her "I was standing outside, in the middle of a courtyard, my friends right in front me as a vibrator had began shaking against my privates..." + her "Of course... Knowing you, I had no doubts it had only just started and what was about to come." + m "You shouldn't objectify yourself like that... But yes, that was my goal." + her "*Hmph*..." + else: + her "It started with a low hum, and soon the familiar tingling sensation began." + her "I must say, it sort of brought all my thoughts from my last experience back all over again, and I started doubting my descission to put myself through this again." + m "Surely you weren't considering missing out on the best orgasm of your life." + her "I am not conserned of missing out on such a thing!" + m "Right, of course. I wasn't there so there so no concern of that happening." + her "..." + + m "And then what?" + m "You didn't try and run off did you?" + her "..." + her "No, I didn't run off..." #looks away + m "No need to be embarrased [hermione_name], completing the task you agreed on shows determination and character." + her "Thanks, I suppose..." + m "That character of course being a complete slut who enjoys getting off in front of her friends." + her "[genie_name]!" + her "..." #pouts + her "I--{w=0.2} I don't appreaciate you belitteling me, [genie_name]..." + m "You're in denial if you're taking it as such." + m "Belitteling is below me..." + her "..." #Yeah right + m "Even if it wasn't, I'd hardly ever need to belittle someone who is so set on not being true to herself..." + her "..." + m "Now, speak the truth... You were enjoying it weren't you?" + her "I--" + her "I was not enjoying it!" + m "(Such a know-it-all, yet she never learns...)" + m "Alright then... I guess I'll keep playing your game, [hermione_name]." + m "Tell me, why didn't you just run off if you weren't enjoying yourself?" + her "I--{w=0.2} my feet didn't move!" + m "Your feet?" + her "Yes!" + her "All these thoughts were racing through my head and I didn't know what to do, I could barely control my body." + m "Right, that's very relatable and all--" + her "It's the truth!" + m "Right, right, I believe you..." + m "So, what were these \"things\" going through your head exactly?" + her "Oh--{w=0.2} *Ehm*..." + m "(She's going to say \"forfeiting the points\" isn't--)" + her "I didn't want to forfeit the points!" + m "..." + her "I thought that if I ran off you wouldn't pay me and it would all be for nothing, but I was also considering that if I stayed, maybe I'd ruin things completely." + her "Although I didn't have much time to consider as at that moment the descission was made for me..." + m "Made for--" + g9 "Oh, I see." + m "That's when I--" + + # Second choice + menu: + "\"(Turned it to the high setting!)\"" if not _vibrator_strength == 3: + # Average option + her "Yes, suddly the vibrator began shaking violently!" + + if _vibrator_strength == 1: + # Strength was set to low before. + + her "I wasn't ready for it at all. I was expecting it to ramp up slowly!" + her "At first I couldn't move due to nerves, but at that point I could feel my legs starting to shake due to... Other reasons..." + m "Other reasons?" + her "Well..." + m "Come on [hermione_name]... We all know what you're here for." + her "Fine--" + else: + # Strength was set to medium before. + her "I was expecting it to go down at this point, not up!" + m "Why not shake things up every once in a while, that's my motto." + her "That's what happened to me..." + m "What did?" + her "My legs, they had begun shaking quite a bit." + her "Getting caught off guard like that... Made it difficult to compose myself." + m "Compose?" + her "I got a bit excited, okay?" + g9 "Heh-heh..." + m "So, what were the boys doing? Surely they must've noticed their friend going through this internal and external turmoil?" + her "They were playing with their balls." + #Could cut back to room screen + g4 "{size=+4}WHAT?!?{/size}" + g4 "{size=+4}In the middle of the courtyard?!{/size}" + her "What do you--{w=0.2} Didn't I tell you I went out to watch them?" + g4 "You told me no such thing!" + her "I said I went out to watch them play gobstones!" + g4 "Yes, so where did the \"ballplay\" come in?!" + her "Ball--{w=0.4} I'm talking about the gobstone balls!" + m "Gob-- Oh! The naming conventions makes no sense in this universe..." + m "It should be \"Gob-balls\"!" + her "..." + m "Actually, that sounds even more confusing..." + m "What were we talking about again?" + her "Balls?" + m "That's not it..." + m "Oh, I remember! Your quaking loin and shaking groin!" + her "*Hmph*..." + #Cut back to CG + m "So, the vibrators were going full force on your breasts and pussy, yet the boys didn't suspect a thing?" + her "I didn't say that." + m "But you--" + her "I said that they were playing with their balls, not that neither of them hadn't caught on to something..." + her "One of them glancing at me for sure... And I believe he might've been hard." + m "Hard, as in?" + her "You, above anyone knows exactly what I'm talking about! His dick! His dick was hard!" + m "Just wanted to hear you say it." + m "You're certain he had a hard-on then?" + her "What do you mean? Of course I'm certain! I know what a boner looks like." + m "Well, perhaps you were just seeing what you wanted to see." + her "I was not!" + her "He wasn't sly about it at all, and even changed his positioning to have the robes cover it up!" + m "Ah yes, good design descission that... No awkward boners in my school thank you very much." + her "Whatever the case, I think I managed to get away from a very awkward situation..." + her "At least he went back to their game... Although he did keep glancing over at me every once in a while." + her "Which did make things much harder, every time he looked over, I'm sure my expression changed into some stupid grin trying to cover what was going on." + m "I'm sure it made things harder alright..." + her "Yes... It was getting tougher by the minute, all I could concentrate on was trying to stand as still and be as quiet as possible..." + m "And how did that go for you?" + her "Not very well..." + + #TODO wet pussy layer + + her "In fact, I was beginning to feel my panties getting wet." + m "Naturally, you'd just seen your friend pop a boner, looking at you." + her "I wasn't getting off from my friends popping a boner!" + m "Popping a boner... From looking at you." + her "Moving on!" + m "Alright, alright... No need to get your panties all twisted." + m "Continue." + her "I don't know if I want to anymore, if you're going to continue making these wild accusations." + m "You're the one that started talking about balls and boners, I have little interest in such things... Unless it's my own." + her "..." + m "Fine, will you continue if I stop?" + her "Yes..." + m "Alright then..." + her "Thank you." + m "Tell me more about how you didn't get off from your friend watching you." + her "*Sigh*..." + her "Well... At that point the intensity changed again." + m "Oh right, I--" + + $ _vibrator_strength = 3 + + "\"(Turned it to the medium setting.)\"" if not _vibrator_strength == 2: + if _vibrator_strength == 3: + # Strength was set to high before. + + her "Yes, with the intensity going down, so did my heartrate. But the initial shock still left me feeling oddly weird and gross." + her "It was as if I had been thrown into a cold lake and my body were only just beginning to get used to the temperature." + her "Well, to be honest, I'm not sure what I was feeling." + m "Pleasure?" + her "That's... Not it." + m "Damn." + her "If \"pleasure\" was the goal then you shouldn't have thrown me into the deep end to start with..." + her "Honestly, I don't know what you were thinking..." + m "I was going for a splash and ripple effect." + her "That's not how it works..." + m "Live and learn I guess..." + her "And that's when--" + else: + # Strength was set to medium or low before. + her "Yes, the speed began ramping up." + her "And that's when I started feeling the panic set in..." + her "What had I been thinking, I had let this thing get me going in front of my friends." + her "I was never supposed to let it go this far, I just wanted to earn points for my house and make them happy!" + her "And here I was, standing right in front of them while being pleasured." + her "Was I about to let myself orgasm right there and then?" + m "Yes, obviously!" + her "Obviously not!" + her "But that's when--" + g9 "Oh, don't tell me--" + + "\"(Turned it to the low setting.)\"" if not _vibrator_strength == 1: #Best option + her "Yes, luckily for me..." + if _vibrator_strength == 2: + # Strength was set to medium before. + + her "It was just enough for me to enjoy myself and at the same time, not have to worry about being caught." + else: + # Strength was set to high or low before. + + her "After the initial shock, it was finally at a level where I could at the very least lose any suspicion they might've had towards me..." + her "At first, they looked over at me every once in a while as if checking up on me, but soon enough they were fully engrossed in their games as usual." + her "I must say, this is one of the few times I'm glad they're so bad at paying attention to their surroundings..." + + her "So, I stood there for quite a while... Finally, closing my eyes, I somehow began feeling more and more aware of all my senses..." + her "I must say, it was a quite pleasant feeling... Standing outside, the warm sun against my back... Listening to the sounds of my friends enjoying themselves." + her "The fact that they were there with me made it feel as if I was sharing a part of my life that I had hidden from them for so long." + her "Even though in reality, they weren't actually aware of what was going on..." + m "Feeling comfortable around your friends is very important." + her "Hmm... Yes, although I don't think this is the kind of comfort you're meant to feel around your friends..." + m "Unless benefits are added to the equation." + her "As I stood there, I slowly became more and more conscious of each and every pulse." + + #Wet pussy + + her "And I could also feel that I was getting wet..." + her "Not to the point where it was out of my control of course..." + m "Of course." + her "My breath began to quicken slightly but I managed to keep it in check, only looking over every once in a while to make sure they weren't suspecting anything." + her "And that's when you--" + her "You--" + g9 "Don't tell me." + + # Third choice + menu: + "\"(I Turned it to the high setting!)\"" if not _vibrator_strength == 3: + if _vibrator_strength == 1: + # Strength was set to low before. + + # This is the second best ending. Hermione cums once but she manages to hide it from her friends. + her "Yes, and as you did, I clenched my legs together." + her "I was not about to do the thing I had told myself I would never ever do!" + her "Looking at my friends, I tried keeping it together as hard as I could." + her "But that just made me more aware of how stuff my nipples had become, how much my legs were shaking and what they'd think of me if they caught on to it." + her "I was stuck in an endless unstoppable cycle of shame and... and--" + m "Lust?" + her "And that's when it engulfed me all at once." + her "Biting down on my lip, I orgasmed right there and then, right in front of my friends!" + her "Something that I never thought I'd do, or wanted to experience within their vicinity." + her "My legs shaking furiously, I kept biting my lip so hard I almost thought I'd draw blood, but I could not let any noise out." + her "Until suddenly--" + + # TODO click sound + show screen blkfade + + # TODO Hide CG + her "The vibrators turned off." + her "..." + + hide screen blkfade + with d3 + + m "And...{w=0.4} What happened next?" + her "Well..." + her "At first came a sense of relief, almost happyness, I somehow managed to get away with it." + her "But that feeling was quickly replaced with shame..." + m "Shame?" + her "Yes, shame!" + her "This is {b}the{b} line I can't and shouldn't cross!" + m "Says who?" + her "Says me!" + g4 "..." + m "I mean...{w=0.4} You got away with it, didn't you? Surely it's not such a big deal." + her "It is a big deal!" + her "I'm constantly doing all these deplorable things, way beyond anything I thought I'd ever do, and this is just another step in that direction." + her "It just shows that the line never even mattered." + m "..." + + menu: + "-Agree with her-": + m "Maybe you're right." + her "[genie_name]?" + m "The line doesn't matter at all." + her "How could you say such a thing!?" + m "Isn't that what you just said?" + her "Yes, but you're not supposed to agree with me!" + m "Why not? It's true isn't it?" + m "In any case, I don't see how it matters." + m "Lines are meant to be crossed, it's how we achieve our true potential." + her "But I didn't cross the line! They didn't see!" + m "It's just a matter of time, either you'll cross that imaginary line or you'll move it forward just enough to tell yourself you never did." + her "*Hmph*... I'd never..." #blushing looking away + m "Keep telling yourself that." + m "Anyhow, since you're satisfied I think that shall do for today." + her "..." #looks down still blushing + "-Disagree with her-": + m "You didn't cross any line." + her "Of course I did! What are you even talking about, [genie_name]?!" + m "Wasn't the deal that they would never find out what you've been doing to earn points for your house?" + her "I...{w=0.4} Yes?" + m "Then what does that have to do with you cumming in front of them?" + her "But--{w=0.2} Well, I suppose it's not exactly..." + m "Exactly what?" + her "Well, I still don't want them to find out that I--" + m "That you're what?" + m "A slut?" + her "[genie_name]!" + m "I'm sure they'd be extatic to know." + her "..." + m "Well then, I think we're done here for today..." + her "Yes [genie_name]..." + #Hide Hermione doll + #Hermione chibi turns to door + #Hermione chibi turns to genie + m "Yes, slut?" + her "... I-- I was just..." + else: + # Strength was set to high or medium before. + # This is the best ending. Hermione cums multiple times and the boys take notice, but she gets away with it. + + her "Suddenly I felt a rush spread throughout my body, and without being able or care to stop it, I moaned out loud into the courtyard as my body shook from each orgasm!" + her "Looking over at my friends, I saw them staring at me in shock which in the moment only made the sensation so much stronger." + her "Trying to control myself was impossible at this point, even though I could feel wetness going down my shaking thighs." + her "I could feel each and every pulse across my body, as if they spread out from my breast and pussy all the way out to my toes and fingertips." + g9 "Damn, you go girl!" + her "I didn't care at all about my surroundings and just, let everything go." + her "The fact that my friends were there looking at me didn't matter." + her "My reputation didn't matter." + her "I didn't care what would happen, as long as I could see this through to the end." + her "And that's when they called my name..." + her "Suddenly I had a brief moment of clarity of what I was doing, but it was too late." + her "My legs began shaking violently, as orgasm after orgasm spread througout my body." + her "During which, my friends gasped out in shock, calling my name again." + + show screen blkfade + with d8 + # TODO Hide CG + + her "Finally, everything went black as I slumped to the floor." + her "The only thing I could remember after that was the vibrators turning off before I passed out." + + hide screen blkfade + with d3 + + m "That's some orgasm... And here I thought I took that crown." + m "So, Is this like a bad ending or what?" + her "A what?" + m "Did they find you out? Wait, surely you wouldn't be here telling me this if that was the case." + her "Well, you know how I said I thought one of them looked over at me?" + m "Yes?" + her "Well, it turns out they had been worried about me." + her "Apparently they had been checking in on me the entire day, feeling something was off." + her "I had obviously not been acting myself today during our lessons..." + + if not her_vibrators_public_stage == 2: + her "No raising my hand during transfiguration, no helping out with demonstrations during charms." + her "So the reason why they insisted on me joining them outside was to make sure I was okay." + + her "Of course they wouldn't expect that the reason I wasn't acting myself was because I had strapped vibrators on my body!" + m "Hmm... I'm beginning to see why women think that men are oblivious to these things..." + m "Very well [hermione_name], that shall very much do for today." + her "Oh, okay then..." + + "\"(I Turned it to the medium setting.)\"" if not _vibrator_strength == 2: + if _vibrator_strength == 3: + # Strength was set to high before. + # Hermione is denied an orgasm, the boys almost notice. + her "I let out a small squeel, but managed to hide it just as the boys looked over." + #wet down legs + her "This time they really did look concerned, and no wonder... I couldn't help but display something was happening, across my face." + her "Trying to pull myself together, I only just managed to muster a smile and stammer how close it was..." + m "Cumming all over them?" + her "Their game..." + her "Although you're not incorrect." + her "They went back to finish playing their game and just in time as these things had brought me right to the edge..." + her "My legs were shaking, my legs were wet all the way down to my socks--" + her "The only thing I could do was pray they didn't look over again, when suddenly--" + her "The vibrators turned off." + m "Oh no!" + her "Yes..." + her "Ending as abruptly as it started, I was left dazed and confused about what had just happened." + her "My head still spinning, I had a sudden urge to just plunge my fingers in there and finish it off myself." + m "And did you?" + her "No... With how suspicious they were, they most certainly would've noticed me even if I just grinded my legs together." + her "So I was just left standing there trying to calm myself, until they finished their game." + her "I don't think I've ever had to endure something so difficult..." + her "Never in my life have I been so close to a point where I'd happily disregard every and all rational thought..." + her "Never ever been so close..." + her "...{w=0.4} *Ahem*." + + # TODO Hide CG + + m "..." + + if not her_vibrators_public_stage == 2: + m "No wonder you went off like a firehose the moment you got in here." + her "..." #blush + else: + m "You know, I could flip that switch right now..." + her "Really?" #excited + m "Maybe next time." + her "..." #sad + + m "Very well [hermione_name], I think that shall do for today." + else: + # Strength was set to medium or low before. + #Hermione is denied an orgasm, the boys doesn't notice. + + her "Yes, as I was just about to hit my limit, the intensity went down a bit..." + her "I already felt close enough to orgasm right then and there, and when it went down to the medium setting it prolonged that feeling even longer..." + m "It's called \"edging\"." + her "I know what it's called..." + her "So, I was forced to keep this feeling going..." + m "..." + her "To keep... \"Edging\"..." + g9 "..." + her "And that's when...{w=0.4} Well...{w=0.4} I started feeling some wetness starting to god down my legs..." + her "Which is a very usual thing to happen for me." + m "Right, you're one of those \"get it over with so you can do it all over again\" kind of girls." + her "*Hmph*... And what makes you say that?" + m "Fine, you're a kinky girl that loves being denied a orgasm." + her "That's not--" + m "Come on, just admit it..." + her "Admit... It?" + m "Yes, just say it...{w=0.4} I'll even give you some points if you do." + her "I--{w=0.4} I'm a kinky girl..." + m "That..." + her "That loves being denied a orgasm..." + + m "Ten points to Gryffindor." + $ gryffindor += 10 + + her "..." + m "And then what happend?" + her "What--{w=0.2} Oh...{w=0.4} Well, it didn't stop there... The wetness continued trickling down my legs..." + her "I began to get worried, if it went any lower, then I'm sure they'd be able to see." + her "And there was nothing I could do about it. The vibrators were still shaking, it was hard enough not to give in completely." + her "And it continued trickling further and further down my inner thighs... Until--" + m "Until?" + + # TODO Hide CG + + her "The vibrators finally switched off." + m "Denied! I bet you loved that!" + her "I did not!" + her "I just said that because you told me to!" + + if not her_vibrators_public_stage == 2: + m "Yeah, right!" + m "Even when I turned the vibrators on when you were on your way here, which was totally on purpose by the way--" + m "--You kept holding it in, walking from the courtyard all the way to my office!" + m "And you're telling me that you weren't loving every second of it? You almost shot off like a rocket as you came in here!" + her "That's got nothing to do with me having a thing for being denied a--" + m "Then next time I expect you to not hold back!" + her "I won't!" + g9 "Great!" + her "...{w=0.4}{nw}" + her "...{fast} Wait, hold on..." + m "What is it now?" + her "*Hmph*...{w=0.4} Nothing..." + m "Good, then I think that shall do for today [hermione_name]." + else: + m "Then why are your legs still wet?" + her "What?!" #looks down + g9 "Got you." + her "*Hmph*..." + m "Anyway, I won't deny you any further, you can go finish yourself off in your dorm..." + her "..." + + "\"(I Turned it to the low setting.)\""if not _vibrator_strength == 1: + # Hermione does not reach orgasm. + if _vibrator_strength == 3: + # Strength was set to high before. + her "Finally it slowed down to a gentle hum." + her "And compared to the start, it almost felt as if it had stopped completely." + her "I was even able to keep up a conversation with my friends." + m "You were talking to your friends with the vibrator still on?" + her "Yes?" + m "I thought you'd be ashamed of such a thing." + her "It was barely even a tickle!" + m "If you say so..." + m "Well then...{w=0.4} I suppose that shall do for now [hermione_name]." + else: #Medium > High > (Low) + # Strength was set to medium before. + her "Yes, finally the intensity went down and I let out a sigh of relief." + her "It was bad enough that I had gotten wet in front of my friends. I don't know what I would've done if I had orgasmed right there and then..." + m "(Damn, I thought she would've done it at by then...)" + her "The gentle hum stayed on for quite a while, and didn't stop until about ten minutes later." + her "If I was alone, then maybe that would've been enough, but luckily I managed to keep it together in front of the boys..." + + if not her_vibrators_public_stage == 2: + her "Of course, it only lasted until you turned them back to high on my way here..." + m "Gotta keep you on your toes." + else: + her "Even though you turned them off a while ago, I still got this tingly feeling..." + m "Then you better keep that feeling for next time." + her "Next--{w=0.2} Alright..." + m "Alright then, I think that does it for today." + + # End section + + #Not getting points, unlocks vibrators + + if True: # TODO if vibrators not unlocked + her "What about the... *Ehm*..." + m "Oh, you can keep the vibrators." + her "Thank you..." #Looks right + + # TODO sound of picking up vibrators + # TODO vibrators removed from floor + # TODO Vibrators unlock in wardrobe prompt (like Collar event) + + her "So... How do I charge these things?" + m "... They recharge on their own." + her "Really?" + m "Yep..." + her "Neat." + her "Goodnight then [genie_name]..." + m "Good night, [hermione_name]." + her "..." #looks down + else: # TODO else: + her "I can still keep these, right?" + m "Of course, as long as you're okay with wearing them in here." + her "Right..." + + # TODO hide hermione doll + with d3 + # TODO sound of picking up vibrators + # TODO vibrators removed from floor + + her "Goodnight then [genie_name]..." + m "Good night, [hermione_name]." + + $ her_vibrators_public_stage = 2 + else: + + label .low_tier: + + m "There she is..." + her "..." #Staring into space + m "[hermione_name]?" + her "..." + m "You're looking a bit shaken up, was the vibrator too much?" + her "I knew this was going to be a mistake... Why would I ever agree to something like this." #still staring into space + m "Got caught did you?" + her "I--{w=0.2} I don't know... Maybe you could tell me." + m "Did you turn it on in one of your classes like I asked?" + her "Yes... I did what you asked of me." + m "Alright, then tell me what happened." + her "Well... After some consideration what the best time to use it would be." + + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("top") + with d3 + + her "I decided that our last lesson for today would be the least likely subject to have anybody hear it." + + $ renpy.sound.play("sounds/cloth_sound3.mp3") + $ hermione.strip("bottom") + with d3 + + her "We're currently studying Muggle music during our Muggle studies, so it's not really something I need to pay much attention to." + + #TODO Hermione equips default underwear (Taking the vibrators out) + pause .8 + #TODO vibrators on floor + + m "Always thinking about your academics I see." + her "Of course... Although unfortunately, I was one of the last students to file in and as usual the Slytherins took all the spots in the back and I ended up right at the front." + her "Which made things harder as I was in perfect view of anyone behind me." + her "But since it was the last lesson for today so I decided to go for it anyway." + m "Good to hear, edging it all day isn't good for you." + her "I didn't want to forfeit the points!" + m "Right... The points... Speaking of, why don't you get to it?" + her "..." #closed eyes in frustration + her "So, I was trying to time the vibrations with the music." + m "Hold on...{w=0.4} You were doing what?" + her "You asked me to get to the point." + her "I didn't want to get caught so my best bet was to time the vibrations with the music." + m "..." + m "And how did that work out for you?" + her "Not as well as I had hoped..." + her "Turns out, irregular vibrations is way more... Effective than a continuous one." + her "So, there I was, trying my best to synchronize with the music." + her "And...{w=0.4} Well..." + m "You reached the climax before the chorus?" + her "That's one way to say it..." + m "The power of music." + her "So, anyway--" + m "I'm not buying it." + her "[genie_name]?" + m "Irregular vibrations being more powerful... Poppycock." + m "Sounds more to me like you were excited about trying to not get caught!" + her "That is not it at all!" + m "No need to be ashamed, [hermione_name]... It's a perfectly natural reaction." + her "*Hmph*..." + m "So...{w} Got caught did you?" + m "Did somebody finally spot the girl, who was way more excited about the music than usual?" + her "Maybe... I think one of the Slytherin's may have noticed." + m "You must've been moving about a lot if he noticed it with your back turned." + her "I wasn't moving about!" + m "What were you doing then?" + m "Don't tell me you got the seat wet?" + her "I--{w=0.2} I don't know!" + m "I'll take that as a yes." + m "So why do you think he noticed it?" + her "{b}She{b}!!" + her "I was leaving the classroom and {b}she{b} was stood in the doorway, giving me the smuggest smirk I had ever seen." + her "It was not the usual look of disdain I expect from a Slytherin." + m "Sounds like a win/win situation to me." + her "What do you mean?! A Slytherin catching me after--{w=0.2} Doing \"that\" in public?" + m "You said it yourself, she didn't look at you with disdain." + m "Maybe she even likes you." + her "I don't want a Slytherin to like me!" + m "... Sounds to me like you're the problem then." + her "..." # Oh fuck, I can't believe you've done this + her "I'm going to need a moment..." + m "Sure thing." + + show screen blkfade + with d3 + + #TODO Hermione equips school top and bottoms + + hide screen blkfade + with d3 + + # End section + if her_tier < 5: #Receiving points, doesn't unlock vibrators + $ gryffindor += current_payout + m "{number=current_payout} points to Gryffindor." + her "Thank you..." + her "..." + #Hermione picks up vibrators from floor + m "You can keep the--" + #Hermione walks to desk + her "Here..." + m "Or I could just keep them safe for now..." + else: #Not getting points, unlocks vibrators + if True: #TODO if vibrators not unlocked + m "You can take those vibrators with you if you want." + her "..." #Looks right + her "Thank you..." + #TODO Vibrators unlock message in wardrobe (like Collar event) + m "Don't mention it." + else: + m "Don't forget your vibrators." + her "Right..." + #TODO vibrators removed from floor + + $ her_vibrators_public_stage = 1 + + call her_walk(action="leave") + + $ her_vibrators_public = True + $ hermione.equip(her_outfit_last) + + jump end_hermione_event diff --git a/game/scripts/characters/hermione/vars.rpy b/game/scripts/characters/hermione/vars.rpy index 8ebc1fad..5fa0b0ff 100644 --- a/game/scripts/characters/hermione/vars.rpy +++ b/game/scripts/characters/hermione/vars.rpy @@ -49,3 +49,28 @@ default hg_masturbated = counter_class() default hg_blowjob = counter_class() default hg_sex = counter_class() default hg_anal = counter_class() + +init python: + # Public requests design is flawed at its core to the point it would + # require going back to the drawing board, so instead, we will + # simulate tiers without spending weeks refactoring it and risking + # breaking save compatibility again. Technical debt sucks. ¯\_(ツ)_/¯ + def _her_tier_public(): + if hg_pr_sex.counter > 0: + return 6 + + elif hg_pr_blowjob.counter > 0: + return 5 + + elif hg_pr_handjob.counter > 0: + return 4 + + elif hg_pr_kiss.counter > 0 or hg_pr_flash.counter > 0: + return 3 + + elif hg_pr_grope.counter > 0: + return 2 + else: + return 1 + + her_tier_public = IntLike(_her_tier_public) diff --git a/game/scripts/inventory/qitems.rpy b/game/scripts/inventory/qitems.rpy index 893fe148..51e3b602 100644 --- a/game/scripts/inventory/qitems.rpy +++ b/game/scripts/inventory/qitems.rpy @@ -7,8 +7,7 @@ default sealed_scroll_ITEM = Item("sealed_scroll", "quest", "Sealed Scroll", 500 default quidditchguide_ITEM = Item("quidditch_book", "quest", "Quidditch Guide", 100, "This book contains the basic knowledge of Quidditch.", label="quidditch_guide_book", limit=1, image="interface/icons/generic_book.webp", unlocked=False, caption="Read") default thequibbler_ITEM = Item("quibbler", "quest", "The Quibbler #NO. 24027", 15, "This tabloid includes conspiracy theories and discussions of imaginary creatures and other weirdness.", label="spectrespecs_E3", limit=1, image="interface/icons/the_quibbler.webp", unlocked=False, caption="Read") default experimental_recipes_ITEM = Item("recipes", "quest", "Experimental Potion Recipes", 0, "This piece of paper has Snape's handwriting all over it.", limit=1, image="interface/icons/generic_scroll.webp", unlocked=False) - -#default time_turner_ITEM = Item("time_turner", "quest", "Time Turner", 5000, "May only be used with explicit permission from the ministry of magic.\nChanges to established lore are strictly prohibited.", limit=1, label="not_implemented", unlocked=False) +default vibrators_ITEM = Item("vibrators", "quest", "Box o' fun", 1000, "A box full of vibrating devices in different shapes and forms. Some of them remain turned on.", limit=1, infinite=True, givable=True, give_label="hg_vibrators", usable_on=["hermione"], caption="Give", image="interface/icons/the_quibbler.webp") #TODO: Icon # Outfits related quest items default poker_outfit_ITEM = Item("her_outfit_poker", "quest", "Poke-her-nips Outfit", 15, "An outfit that doesn't leave much for the mind's desire, perfect for a lewd card loving girl.", limit=1, image="interface/icons/icon_gambler_hat.webp", unlocked=False, currency="tokens") diff --git a/game/scripts/utility/common_functions.rpy b/game/scripts/utility/common_functions.rpy index d093a6df..71919026 100644 --- a/game/scripts/utility/common_functions.rpy +++ b/game/scripts/utility/common_functions.rpy @@ -219,3 +219,36 @@ init -1 python: def matches(s1, s2, filter=" "): return s1.replace(filter, "") == s2.replace(filter, "") + + class IntLike(python_object): + # Does not support rollback + + def __init__(self, callable): + self._callable = callable + + def __call__(self): + return self._callable() + + def __repr__(self): + return repr(self()) + + def __add__(self, value): + raise Exception("IntLike does not support add") + + def __eq__(self, value): + return self._callable() == value + + def __gt__(self, value): + return self._callable() > value + + def __lt__(self, value): + return self._callable() < value + + def __ge__(self, value): + return self.__gt__(value) or self.__eq__(value) + + def __le__(self, value): + return self.__lt__(value) or self.__eq__(value) + + def __len__(self): + return len(self._callable())