From fe8cd58ea128ed49927ecdf23e40d70769dd7a2f Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 18 Sep 2022 17:23:38 +0100 Subject: [PATCH] Vibrators Event * Implemented missing parts of the event * Posed chibis and varying clothing states * Adjusted shader code --- .../hermione/events/items/vibrators.rpy | 330 +++++++++++------- game/scripts/shaders.rpy | 6 +- 2 files changed, 204 insertions(+), 132 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 623d8079..dc011e7f 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -273,7 +273,7 @@ label hg_vibrators_fail: her "Do I like your gift...?" ("base", "base", "base", "mid") her "What the hell is wrong with you?!" ("base", "base", "base", "mid") - # TODO Hermione leaves and slams door + # TODO Hermione leaves and slams door (sound?) call her_walk(action="leave") $ her_mood += 20 @@ -840,7 +840,7 @@ label hg_vibrators_personal: her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." gen "I didn't think you were into edging, it's a quality not every woman knows how to appreciate. I'm glad you do, though." ("base", xpos="far_left", ypos="head") - #TODO Should we zoom it in and slowly retract back out after this line? + #TODO Should we zoom it in and slowly retract back out after this line? (?) show her_vibrators_personal eyes_wide_forward mouth_angry as cg her"{size=+4}W--{w=0.2}What?!{/size}" @@ -1100,7 +1100,7 @@ label hg_vibrators_personal: her "That's--{w=0.2} *Ah*...{w=0.4} That's fine by me..." - # TODO Hide text (Should we dissalow clicking to progress through these?) + # TODO Hide text (Should we dissalow clicking to progress through these?) (?) show her_vibrators_personal eyes_open_right mouth_worried as cg pause .8 @@ -1303,7 +1303,7 @@ label hg_vibrators_personal: with d5 hide cg - # TODO Vibrator room item on desk + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) $ hermione.equip(her_outfit_last) 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." @@ -1351,23 +1351,26 @@ label hg_vibrators_personal: gen "That shall do for now, [hermione_name]." ("base", xpos="far_left", ypos="head") gen "You may leave." ("base", xpos="far_left", ypos="head") - if True: # TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: nar ">For a brief moment, you see Hermione's eyes flicker towards the vibrators left on your desk." gen "Fine, you can take them and finish yourself off, [hermione_name]..." ("base", xpos="far_left", ypos="head") gen "Consider it a gift." ("base", xpos="far_left", ypos="head") her "..." #blushing - # TODO Hermione walks to desk - # TODO Vibrator item removed from desk - # TODO Vibrators unlock message in wardrobe (like Collar event) + call her_walk("desk", "base") + pause 0.5 + hide vibrators_floor + call give_reward(">A new outfit has been unlocked in the wardrobe!", her_outfit_vibrators) her "{size=-5}Thank you...{/size}" - else: # TODO else: + else:: her "Alright then..." - # TODO Hermione walks to desk - # TODO Vibrator item removed from desk + call her_walk("desk", "base") + pause 0.5 + hide vibrators_floor + with d5 gen "What are you doing?" ("base", xpos="far_left", ypos="head") her "*Ehm*...{w=0.2} Didn't you gift me these?" @@ -1381,23 +1384,26 @@ label hg_vibrators_personal: her "Okay, I guess I'll be leaving now then..." her "(At least he forgot about that silly grade thing...)" - if True: # TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: nar ">For a brief moment you see Hermione's eyes flicker towards the vibrators left on your desk." gen "Fine, you can take them and finish yourself off, [hermione_name]..." ("base", xpos="far_left", ypos="head") her "I wasn't--" gen "Consider it a gift." ("base", xpos="far_left", ypos="head") her "A-Alright..." #blushing - # TODO Hermione walks to desk - # TODO Vibrator item removed from desk - # TODO Vibrators unlock message in wardrobe (like Collar event) + call her_walk("desk", "base") + pause 0.5 + hide vibrators_floor + call give_reward(">A new outfit has been unlocked in the wardrobe!", her_outfit_vibrators) her "{size=-5}Thank you...{/size}" - else: # TODO else: + else: - # TODO Hermione walks to desk - # TODO Vibrator item removed from desk + call her_walk("desk", "base") + pause 0.5 + hide vibrators_floor + with d5 gen "I hope you're not planning to use those to finish yourself off." ("base", xpos="far_left", ypos="head") her "What do you mean? Didn't you gift me these?" @@ -1534,7 +1540,7 @@ label hg_vibrators_personal: with d5 hide cg - # TODO Vibrator room item on desk + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) 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) @@ -1568,7 +1574,7 @@ label hg_vibrators_personal: gen "Excellent performance, [hermione_name]." ("base", xpos="far_left", ypos="head") her "Oh... why thank you, [genie_name]." - if True: # TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: her "Is there some kind of a reward?" gen "Reward?" ("base", xpos="far_left", ypos="head") gen "Wasn't having the biggest orgasm of your life enough for you?" @@ -1608,7 +1614,7 @@ label hg_vibrators_personal: gen "You still fail though." ("base", xpos="far_left", ypos="head") her "..." #Annoyed - if True: # TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: gen "Maybe after you've had some practice you can earn a passing grade." ("base", xpos="far_left", ypos="head") her "Practice?" gen "Yes, so you would be able to hold it in for longer..." ("base", xpos="far_left", ypos="head") @@ -1617,13 +1623,14 @@ label hg_vibrators_personal: "-She's had enough excitement for one day-": her "Alright. I'll be leaving now..." - if True: # TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: gen "You can take those vibrators with you, if you want." ("base", xpos="far_left", ypos="head") her "..." - # TODO Hermione walks to desk - # TODO Vibrator item removed from desk - # TODO Vibrators unlock message in wardrobe (like Collar event) + call her_walk("desk", "base") + pause 0.5 + hide vibrators_floor + call give_reward(">A new outfit has been unlocked in the wardrobe!", her_outfit_vibrators) gen "Have fun, and try to not to overdo it." ("base", xpos="far_left", ypos="head") gen "Or you might end up blind." ("grin", xpos="far_left", ypos="head") @@ -1631,11 +1638,13 @@ label hg_vibrators_personal: her "I won't..." gen "Who said that?" ("base", xpos="far_left", ypos="head") - else: # TODO else: + else: gen "Don't forget your vibrators." ("base", xpos="far_left", ypos="head") her "Oh, right..." - # TODO Hermione walks to desk - # TODO Vibrator item removed from desk + call her_walk("desk", "base") + pause 0.5 + hide vibrators_floor + with d5 call her_walk(action="leave") @@ -1700,9 +1709,12 @@ label hg_vibrators_personal: her "I--{w=0.2} I just don't want to think about my classmates right now!" gen "I see..." ("base", xpos="far_left", ypos="head") + $ _vibrator_pissed = False + menu: "-Turn up the intensity-": - # TODO Temp flag that you turned vibrator up + $ _vibrator_pissed = True + play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_medium.ogg" @@ -1779,7 +1791,7 @@ label hg_vibrators_personal: gen "Let it be known that your headmaster rewards honesty." ("base", xpos="far_left", ypos="head") her "*Ah*...{w=0.4} *Ah*...{w=0.4} I--" - if True: # TODO If you turned up the vibrator previously: + if _vibrator_pissed: #Event end, low mood penalty her "I have told you not to--{w=0.2} *Ngh*...{w=0.4} Turn it up without telling me!" #Embarrased @@ -1798,7 +1810,8 @@ label hg_vibrators_personal: with d3 pause .5 - # TODO Vibrators appear on floor + show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + with d5 $ her_mood += 10 @@ -1806,15 +1819,20 @@ label hg_vibrators_personal: gen "Technically they were a gift." ("base", xpos="far_left", ypos="head") her "..." - # TODO vibrators dissapear off the floor - # TODO Hermione walks to genie + hide vibrators_floor + with d5 + + call her_walk("desk", "base") + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) + with hpunch # TODO Punch sound as she puts them on the desk her "Keep your stupid gift!" # Angry gen "Alright... I suppose I could keep them for now..." ("base", xpos="far_left", ypos="head") - # TODO Hermione goes back to middle of office - # TODO Turns back to genie + call her_walk("mid", "base") + call her_chibi(flip=False) + with d3 her "I want my points now..." @@ -1823,7 +1841,7 @@ label hg_vibrators_personal: gen "...{w=0.4} Very well, [hermione_name]." ("base", xpos="far_left", ypos="head") - else: # TODO else + else: #Gets wet down her legs and leaves (No mood penalty) her "Please, I--" @@ -1843,8 +1861,11 @@ label hg_vibrators_personal: gen "Now then, I think it's time we reach the climax of this activity." ("grin", xpos="far_left", ypos="head") her "The climax?!" #clench - # TODO Replace vibrators in underwear with underwear - # TODO vibrators appear on floor + $ hermione.unequip("accessory0", "accessory1") + $ hermione.equip(her_panties_base1, her_bra_base1) + + show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + with d5 gen "What the--" ("base", xpos="far_left", ypos="head") her "I--{w=0.2}I'll have those points now." @@ -1853,8 +1874,12 @@ label hg_vibrators_personal: gen "Are you sure? I've finished plenty of times and it's usually more--" ("base", xpos="far_left", ypos="head") her "--Finished! We're done here!" - # TODO vibrators dissapear off the floor - # TODO Hermione walks to genie + hide vibrators_floor + with d5 + + call her_walk("desk", "base") + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) + with hpunch her "You can have these back now." gen "Are you sure? You can keep them, you know." ("base", xpos="far_left", ypos="head") @@ -1897,22 +1922,29 @@ label hg_vibrators_personal: gen "And?" ("base", xpos="far_left", ypos="head") her "And--{w=0.2} *Ah*...{w=0.4} I--{w=0.2} I--" - if True: # TODO If you turned up the vibrator previously: + if _vibrator_pissed: $ her_mood += 15 her "..." #Wide eyed angry - # TODO Replace vibrators in underwear with underwear + $ hermione.equip(her_panties_base1, her_bra_base1) + $ hermione.unequip("accessory0", "accessory1") stop bg_sounds - # TODO vibrators appear on floor + show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + with d5 her "I have told you to not turn it up without letting me know beforehand!" gen "What?!" ("angry", xpos="far_left", ypos="head") her "I can't believe you tried to make me apologise!" gen "..." ("angry", xpos="far_left", ypos="head") - # TODO vibrators dissapear off the floor - # TODO Hermione walks to genie + hide vibrators_floor + with d5 + + call her_walk("desk", "base") + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) + with hpunch + # TODO Punch sound her "My points! Now!" @@ -1922,7 +1954,6 @@ label hg_vibrators_personal: gen "There, happy?" ("base", xpos="far_left", ypos="head") her "Very!" # Sarcastic - call her_walk("door", "base") call her_walk(action="leave") $ renpy.play('sounds/door_down.ogg') with hpunch @@ -1931,7 +1962,7 @@ label hg_vibrators_personal: else: #low mood penalty $ her_mood += 10 - # TODO Hermione wet down legs (Use masturbate pose squirt) + # TODO Hermione wet down legs (no art) gen "And now you're getting wet without my permission?" ("base", xpos="far_left", ypos="head") her "W--{w=0.2} What?!?" #looks down #shocked @@ -1942,11 +1973,12 @@ label hg_vibrators_personal: gen "Clearly you are." ("base", xpos="far_left", ypos="head") her "I don't... *Ahh* \"get off\" from being... *Nhh* scolded!" - # TODO Replace vibrators in underwear with underwear + $ hermione.equip(her_panties_base1, her_bra_base1) + $ hermione.unequip("accessory0", "accessory1") gen "What are you--" ("base", xpos="far_left", ypos="head") - # TODO Hermione walks to genie + call her_walk("desk", "base") gen "Hey! We're not done yet!" ("base", xpos="far_left", ypos="head") her "Just... Take these back." @@ -1959,15 +1991,18 @@ label hg_vibrators_personal: gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") gen "Now, can we get back to--" ("base", xpos="far_left", ypos="head") - # TODO Hermione walks to middle of the room back turned to genie - # TODO Doll fades in and she still looks horny + call her_walk("mid", "base") + show hermione + with d3 gen "You could atleast have the courtesy to look me in the eyes when I'm speaking to you..." ("base", xpos="far_left", ypos="head") her "..." #Looking down ashamed gen "Look at me!" ("base", xpos="far_left", ypos="head") her "..." - # TODO Hermione turns and looks at genie ashamed, blushing cheeks + call her_chibi(flip=False) + show hermione + with d3 gen "(Why is she blush-- Oh, I see...)" ("base", xpos="far_left", ypos="head") gen "Okay [hermione_name], you may leave..." ("base", xpos="far_left", ypos="head") @@ -1983,17 +2018,12 @@ label hg_vibrators_personal: play sound "sounds/click4.ogg" stop bg_sounds - # 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 - $ hermione.equip(her_outfit_default) - $ hermione.equip(her_bottom_school3) + $ hermione.equip(her_outfit_vibrators, remove_old=False) call her_walk("desk", "base", action="enter") @@ -2008,40 +2038,49 @@ label hg_vibrators_public_return: gen "Finally! What took you--" ("base", xpos="far_left", ypos="head") - # TODO Hermione takes off top in desperation + $ hermione.strip("top") her "I'm so sorry, [genie_name]!!" - # TODO Hermione takes off skirt - # TODO Squirt going down her legs (Use masturbate pose squirt) + $ hermione.strip("bottom") + + # TODO Squirt going down her legs (no art) gen "[hermione_name]? What is the meaning of this?" ("base", xpos="far_left", ypos="head") - # TODO Hermione takes off vibrator bra (or changes to naked vibrator variant if squirting looks okay with them equipped) + $ hermione.strip("bra") her "*Nnnn*--" gen "Are you--" ("base", xpos="far_left", ypos="head") - # 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) + $ hermione.strip("panties") + $ hermione.set_cum(pussy="vibrator_pre") pause .8 with kissiris her "{heart}{heart}{heart}{size=+10}*Aaaaaaaaaah*!!!!!{/size}{heart}{heart}{heart}" #ahegao - # TODO Hermione squirts + $ hermione.set_cum(pussy="vibrator_squirt") + with d3 gen "Whoa!" ("base", xpos="far_left", ypos="head") + $ hermione.set_cum(pussy="vibrator_post") with kissiris her "{heart}{size=+5}*Aaaah*!!!{/size}{heart}" - # TODO Hermione squirts (Use masturbate pose squirt) + $ hermione.set_cum(pussy="vibrator_squirt") + with d3 + $ hermione.set_cum(pussy="vibrator_post") + with d3 gen "By the great desert--" ("base", xpos="far_left", ypos="head") with kissiris her "{size=+2}*Ah*!!!{/size}" - # TODO Hermione squirts (Use masturbate pose squirt) + $ hermione.set_cum(pussy="vibrator_squirt") + with d3 + $ hermione.set_cum(pussy="vibrator_post") + with d3 gen "[hermione_name]!" ("base", xpos="far_left", ypos="head") her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." @@ -2060,13 +2099,16 @@ label hg_vibrators_public_return: gen "*Loud cough*{fast}" ("base", xpos="far_left", ypos="head") her "*Ah*...{w=0.4} F-Finally..." - # TODO Hermione puts vibrators on floor if they stayed on during cumming - # TODO Hermione equip basic panties + $ hermione.unequip("accessory0", "accessory1") + show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + with d5 + + $ hermione.wear("panties") her "I can't believe you did that to me...{w=0.4} After everything you've put me through today." gen "Well... I did warn you that I'd turn them on at any point." ("base", xpos="far_left", ypos="head") her "I--{w=0.2} I suppose you did." #looks down - gen "So...{w=0.4} I assume you've been...{w=0.5} {i}buzzy{/i}?" ("base") # (「๑•₃•, xpos="far_left", ypos="head")「 ʷʱʸ? + gen "So...{w=0.4} I assume you've been...{w=0.5} {i}buzzy{/i}?" ("base", xpos="far_left", ypos="head") her "*Mmm*...{w=0.4} Tell me about it..." @@ -2077,7 +2119,7 @@ label hg_vibrators_public_return: her "Although, the fact I had these... things... strapped to me for the day made everything rather difficult..." gen "In what way?" ("base", xpos="far_left", ypos="head") - # TODO Hermione equip stockings + $ hermione.wear("stockings") her "Well, first off, I couldn't exactly visit the library after classes, like usual..." her "With how quiet it is in there, I'd immediately attract everyone's attention the moment these things start buzzing." @@ -2085,12 +2127,12 @@ label hg_vibrators_public_return: gen "So, no library visits today. Tell me something interesting, like what happened after you left my office." ("base", xpos="far_left", ypos="head") # Transfiguration - # TODO Hermione equip skirt (medium) + $ hermione.wear("bottom") + her "Well... Once I left your office, I was headed to the first class of the day -- Transfiguration." her "The closer I got to the classroom, I became more and more aware of my heart beating in my chest." her "I thought to myself, \"What if professor McGonagall called for me to demonstrate something in front of my classmates?\"" - menu: "-Mock her-": gen "Don't you always get excited before class?" ("base", xpos="far_left", ypos="head") @@ -2129,7 +2171,7 @@ label hg_vibrators_public_return: her "I'm just trying to provide context about why I often get called up in front of the class." gen "You mean to provide exhibition?" ("base", xpos="far_left", ypos="head") - # TODO Hermione equip basic bra + $ hermione.wear("bra") her "Do you mean exposition?" gen "There's a difference?" ("base", xpos="far_left", ypos="head") @@ -2154,7 +2196,7 @@ label hg_vibrators_public_return: her "Our next class period!" gen "Oh, that makes more sense." ("base", xpos="far_left", ypos="head") - # TODO Hermione equips top + $ hermione.wear("top") her "..." gen "So, the vibrators turned on during your break?" ("base", xpos="far_left", ypos="head") @@ -2194,8 +2236,6 @@ label hg_vibrators_public_return: gen "(Probably shouldn't tell her I was sleeping the entire time...)" ("base", xpos="far_left", ypos="head") her "So, when they decided to go outside and play some {i}gobstones{/i}, they asked me to join them, so I accompanied them as usual." - # TODO CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression - show screen blkfade with d5 @@ -2223,53 +2263,57 @@ label hg_vibrators_public_return: gen "A day full of sexual tension." ("grin", xpos="far_left", ypos="head") her "In that case, I guess it fits the description..." - # TODO Hermione takes off top + $ hermione.strip("top") gen "Oh, goodie!" ("base", xpos="far_left", ypos="head") gen "Tell me all about it!" ("base", xpos="far_left", ypos="head") her "Well..." - # TODO Hermione takes off skirt + $ hermione.strip("bottom") her "It all began at lunch..." her "Since you had instructed me to accompany my friends, I had to try and convince them to go outside again today..." - # TODO hermione vibrator bra replaced by breast vibrators - # TODO Hermione takes off breast vibrators + $ hermione.strip("bra") + pause 0.5 + $ hermione.strip("accessory1") her "It was a bit difficult, initially they were planning to play wizard chess, so I had to really wrack my brain to find a good reason why they should play gobstones instead." gen "But you succeeded?" ("base", xpos="far_left", ypos="head") her "After some convincing, yes." - # TODO Hermione puts on basic bra + $ hermione.equip(her_bra_base1) gen "Gotta use those assets to the fullest! Just as I taught--" ("base", xpos="far_left", ypos="head") #Joke on art assets her "Thank you, I knew that \"Witch weekly\" article I read on the male psyche would come to good use." gen "The what?" ("base", xpos="far_left", ypos="head") - # TODO Hermione vibrator panties replace by pussy vibrators - # TODO Hermione takes off pussy vibrators - # TODO Vibrators on floor sound - # TODO Vibrators appear on floor + $ hermione.strip("panties") + pause 0.5 + $ hermione.strip("accessory0") + pause 0.5 + $ hermione.strip("accessory1") + show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + with d5 her "\"Descifering the male psyche\"." - # TODO Hermione puts on basic panties + $ hermione.equip(her_panties_base1) gen "Is this from one of those gossip magazines nobody reads?" ("base", xpos="far_left", ypos="head") her "...{w=0.6}{nw}" #looks down - # TODO Hermione puts on stockings + $ hermione.wear("stockings") her "...{fast} Gossip magazines?!" her "I'll have you know that Witch Weekly is a very reputable paper!" - # TODO Hermione puts on skirt + $ hermione.wear("bottom") gen "Alright, I guess I'll take your word for it..." ("base", xpos="far_left", ypos="head") - # TODO Hermione puts on top + $ hermione.wear("top") gen "So, you used some mumbo-jumbo from the magazine to convince the boys to head outside again...?" ("base", xpos="far_left", ypos="head") her "Yes, in short--" @@ -2292,13 +2336,16 @@ label hg_vibrators_public_return: # This section has a different endings depending on the player choices. #Optimal order is Medium > Low > High - $ _vibrator_strength = 0 + $ _vibrator_last = None + $ _vibrator_low = False + $ _vibrator_medium = False + $ _vibrator_high = False # First choice - #TODO remove each menu option after they've been picked menu: "\"(Right up to the high setting!)\"": - $ _vibrator_strength = 3 + $ _vibrator_high = True + $ _vibrator_last = "high" # Worst option @@ -2367,7 +2414,8 @@ label hg_vibrators_public_return: "\"(Skipping low, straight up to medium setting!)\"": # Best option - $ _vibrator_strength = 2 + $ _vibrator_medium = True + $ _vibrator_last = "medium" show her_vibrators_public eyebrows_surprised eyes_forward mouth_shocked underwear as xray_child show her_vibrators_public_proxy eyebrows_surprised eyes_forward mouth_shocked as xray_overlay @@ -2432,7 +2480,8 @@ label hg_vibrators_public_return: "\"(Lowest setting of course!)\"": # Average option - $ _vibrator_strength = 1 + $ _vibrator_low = True + $ _vibrator_last = "low" show her_vibrators_public eyebrows_worried mouth_open underwear as xray_child show her_vibrators_public_proxy eyebrows_worried mouth_open as xray_overlay @@ -2530,7 +2579,7 @@ label hg_vibrators_public_return: # Second choice menu: - "\"(Turned it to the high setting!)\"" if not _vibrator_strength == 3: + "\"(Turned it to the high setting!)\"" if not _vibrator_high: # Average option show her_vibrators_public eyebrows_surprised mouth_shocked eyes_crossed as xray_child @@ -2538,7 +2587,7 @@ label hg_vibrators_public_return: her "Yes, all of a sudden, the vibrators began vibrating violently!" - if _vibrator_strength == 1: + if _vibrator_last == "low": # Strength was set to low before. her "I wasn't ready for it at all. I was expecting it to ramp up slowly!" @@ -2552,7 +2601,7 @@ label hg_vibrators_public_return: gen "Come on, [hermione_name]... We all know what you're here for." ("base", xpos="far_left", ypos="head") her "Fine--" else: - # Strength was set to medium before. + # Strength was set to medium. her "I was expecting it to go down at this point, not up!" gen "{i}Why not shake things up every once in a while!{/i} That's my motto." ("grin", xpos="far_left", ypos="head") her "That's what happened to me..." @@ -2665,11 +2714,11 @@ label hg_vibrators_public_return: her "Well... At that point the intensity changed again." gen "Oh right, I--" ("base", xpos="far_left", ypos="head") - $ _vibrator_strength = 3 + $ _vibrator_last = "high" - "\"(Turned it to the medium setting.)\"" if not _vibrator_strength == 2: + "\"(Turned it to the medium setting.)\"" if not _vibrator_medium: - if _vibrator_strength == 3: + if _vibrator_last == "high": # Strength was set to high before. show her_vibrators_public eyebrows_neutral eyes_sad effects_shaky_legs as xray_child @@ -2726,13 +2775,15 @@ label hg_vibrators_public_return: her "But that's when--" gen "Oh, don't tell me--" ("grin", xpos="far_left", ypos="head") - "\"(Turned it to the low setting.)\"" if not _vibrator_strength == 1: #Best option + $ _vibrator_last = "medium" + + "\"(Turned it to the low setting.)\"" if not _vibrator_low: #Best option show her_vibrators_public eyebrows_neutral eyes_forward mouth_open as xray_child show her_vibrators_public_proxy eyebrows_neutral eyes_forward mouth_open as xray_overlay her "Yes, luckily for me..." - if _vibrator_strength == 2: + if _vibrator_last == "medium": # Strength was set to medium before. show her_vibrators_public eyes_closed mouth_neutral as xray_child @@ -2782,10 +2833,12 @@ label hg_vibrators_public_return: her "You--" gen "Don't tell me." ("grin", xpos="far_left", ypos="head") + $ _vibrator_last = "low" + # Third choice menu: - "\"(I Turned it to the high setting!)\"" if not _vibrator_strength == 3: - if _vibrator_strength == 2: + "\"(I Turned it to the high setting!)\"" if not _vibrator_high: + if _vibrator_last = "medium": # Strength was set to medium before. # Vagina is wet @@ -2884,9 +2937,13 @@ label hg_vibrators_public_return: gen "In any case, I think we're done here for today." ("base", xpos="far_left", ypos="head") her "[genie_name]..." - #Hide Hermione doll - #Hermione chibi turns to door - #Hermione chibi turns back to genie + hide hermione + with d3 + + call her_chibi(flip=True) + with 1.0 + call her_chibi(flip=False) + with 0.5 gen "Yes, slut?" ("base", xpos="far_left", ypos="head") her "... I-- I was just..." @@ -2963,8 +3020,10 @@ label hg_vibrators_public_return: gen "Very well [hermione_name], that shall very much do for today." ("base", xpos="far_left", ypos="head") her "Oh, okay then..." - "\"(I Turned it to the medium setting.)\"" if not _vibrator_strength == 2: - if _vibrator_strength == 1: + $ _vibrator_last = "high" + + "\"(I Turned it to the medium setting.)\"" if not _vibrator_medium: + if _vibrator_last = "low": # Strength was set to low before. # Hermione is denied an orgasm, the boys almost notice. # Vagina is wet @@ -3166,9 +3225,11 @@ label hg_vibrators_public_return: gen "Unless that's what you're into..." ("grin", xpos="far_left", ypos="head") her "..." - "\"(I Turned it to the low setting.)\""if not _vibrator_strength == 1: + $ _vibrator_last = "medium" + + "\"(I Turned it to the low setting.)\""if not _vibrator_low: # Hermione does not reach orgasm. - if _vibrator_strength == 2: + if _vibrator_last = "medium": # Strength was set to medium before. (worst ending) # Vagina is not wet. @@ -3222,19 +3283,20 @@ label hg_vibrators_public_return: her "Sooner or later--{w=0.2} A-Alright..." gen "Alas, I think that does it for today." ("base", xpos="far_left", ypos="head") + $ _vibrator_last = "low" + # End section # Resets CG variables hide xray_child hide xray_overlay - if True: # TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: her "What about the... *Ehm*..." gen "Oh, the vibrators? You can keep them." ("base", xpos="far_left", ypos="head") 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) + hide vibrators_floor + call give_reward(">A new outfit has been unlocked in the wardrobe!", her_outfit_vibrators) her "So... How do these things work, exactly? Do I need to charge them or...?" gen "... These are magical items, they use magic, not volts." ("base", xpos="far_left", ypos="head") @@ -3248,10 +3310,9 @@ label hg_vibrators_public_return: gen "Of course, as long as you don't mind using them in front of me sometimes." ("base", xpos="far_left", ypos="head") her "No problem..." - # TODO hide hermione doll - with d3 - # TODO sound of picking up vibrators - # TODO vibrators removed from floor + hide hermione + hide vibrators_floor + with d5 her "Good night then [genie_name]..." gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") @@ -3287,9 +3348,12 @@ label hg_vibrators_public_return: her "We are currently studying Muggle Music you see, so it's not really something I need to pay much attention to since I am already familiar with the subject." - #TODO Hermione equips default underwear (Taking the vibrators out) + $ hermione.unequip("accessory0", "accessory1") + $ hermione.equip(her_panties_base1, her_bra_base1) + pause .8 - #TODO vibrators on floor + show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + with d5 gen "Always thinking about your academics I see." ("base", xpos="far_left", ypos="head") her "Of course... Although unfortunately for me, I was one of the last students to enter the class, and as usual the Slytherins took all the spots in the back and I ended up sitting right at the front of the class." @@ -3347,7 +3411,7 @@ label hg_vibrators_public_return: show screen blkfade with d3 - #TODO Hermione equips school top and bottoms + $ hermione.equip(her_outfit_default) hide screen blkfade with d3 @@ -3358,22 +3422,32 @@ label hg_vibrators_public_return: gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") her "Thank you..." her "..." - #Hermione picks up vibrators from floor + + hide vibrators_floor + with d5 + gen "You can keep the--" ("base", xpos="far_left", ypos="head") - #Hermione walks to desk + + call her_walk("desk", "base") + her "No thanks..." gen "Or I could just keep them for safekeeping, for now..." ("base", xpos="far_left", ypos="head") else: #Not getting points, unlocks vibrators - if True: #TODO if vibrators not unlocked + if not her_outfit_vibrators.unlocked: gen "You can take those vibrators with you if you want." ("base", xpos="far_left", ypos="head") her "..." #Looks right her "Thank you..." - #TODO Vibrators unlock message in wardrobe (like Collar event) + + hide vibrators_floor + call give_reward(">A new outfit has been unlocked in the wardrobe!", her_outfit_vibrators) + gen "Don't mention it." ("base", xpos="far_left", ypos="head") else: gen "Don't forget your vibrators." ("base", xpos="far_left", ypos="head") her "Right..." - #TODO vibrators removed from floor + + hide vibrators_floor + with d5 $ her_vibrators_public_stage = 1 diff --git a/game/scripts/shaders.rpy b/game/scripts/shaders.rpy index 45008c5c..58881bd1 100644 --- a/game/scripts/shaders.rpy +++ b/game/scripts/shaders.rpy @@ -20,7 +20,7 @@ init python: uniform float u_factor; uniform float u_strength; """, fragment_functions=""" - vec3 CBT(float ctemp) { + vec3 ctemp2rgb(float ctemp) { mat3 m = (ctemp <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), vec3(0.0, 1669.5803561666639, 2575.2827530017594), vec3(1.0, 1.3302673723350029, 1.8993753891711275)) : @@ -30,10 +30,8 @@ init python: return mix(clamp(vec3(m[0] / (vec3(clamp(ctemp, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), vec3(1.0), smoothstep(1000.0, 0.0, ctemp)); } """, fragment_300=""" - const float PI2 = 6.2831853071; - float ctemp = mix(1000.0, 40000.0, u_factor); - gl_FragColor = vec4(mix(gl_FragColor.xyz, gl_FragColor.xyz * CBT(ctemp), u_strength), 1.0); + gl_FragColor = vec4(mix(gl_FragColor.xyz, gl_FragColor.xyz * ctemp2rgb(ctemp), u_strength), 1.0); """) transform color_temperature(factor=1.0, strength=1.0):