From 738390d6be2911752707fbc7edd402bf62b3dc3e Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 14 Aug 2022 22:51:07 +0100 Subject: [PATCH] Vibrator Events - Posing (Part 1) * Fixed Xray displayable not updating when its children supplied no image attributes. * Defined default zorders on children of Xray displayable * Posed parts of the event --- game/scripts/cg/xray.rpy | 10 +- .../hermione/events/items/vibrators.rpy | 127 +++++++++++++++++- game/scripts/options.rpy | 18 +-- 3 files changed, 132 insertions(+), 23 deletions(-) diff --git a/game/scripts/cg/xray.rpy b/game/scripts/cg/xray.rpy index 670f09da..507565db 100644 --- a/game/scripts/cg/xray.rpy +++ b/game/scripts/cg/xray.rpy @@ -85,12 +85,14 @@ init python: name = getattr(self, "_{}".format(layer)) attributes = renpy.get_attributes(name) or renpy.get_attributes("{}_{}".format(tag_prefix, layer)) - if not attributes: + if attributes: + attributes = " ".join(attributes) + child = ImageReference("{} {}".format(name, attributes)) + elif child.name != name: + child = ImageReference(name) + else: continue - attributes = " ".join(attributes) - - child = ImageReference("{} {}".format(name, attributes)) setattr(self, layer, child) redraw = True diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 746bb833..068404a9 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -1776,6 +1776,16 @@ label hg_vibrators_public_return: # TODO CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression + show screen blkfade + with d5 + + show her_vibrators_public_xray zorder 15 as cg # Dynamic displayable (Updates its children every interaction) + show her_vibrators_public as xray_child # Controls the bottom layer of the Xray CG + show her_vibrators_public_proxy as xray_overlay # Controls the top layer of the Xray CG + + hide screen blkfade + with d5 + gen "I see...{w=0.4} Hold on, this was just past lunchtime you said?" ("base", xpos="far_left", ypos="head") her "Yes..." gen "That's around the time when--" ("base", xpos="far_left", ypos="head") @@ -1846,6 +1856,16 @@ label hg_vibrators_public_return: #CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression + show screen blkfade + with d5 + + show her_vibrators_public_xray zorder 15 as cg # Dynamic displayable (Updates its children every interaction) + show her_vibrators_public as xray_child # Controls the bottom layer of the Xray CG + show her_vibrators_public_proxy as xray_overlay # Controls the top layer of the Xray CG + + hide screen blkfade + with d5 + her "After some convincing, my friends and I finally made our way outside into the courtyard..." her "Just as we were about to sit down, suddenly, the vibrators turned on." @@ -1861,10 +1881,12 @@ label hg_vibrators_public_return: # Worst option - show her_vibrators_public underwear zorder -1 as xray_child with d1 + # Xray turns active once player picks this option, Vibrator shakes, etc. + show her_vibrators_public eyebrows_surprised mouth_shocked eyes_clenched underwear as xray_child + show her_vibrators_public_proxy eyebrows_surprised mouth_shocked eyes_clenched as xray_overlay - # TODO Xray turns active once player picks this option, Vibrator shakes, etc. # TODO temp_flag_a_high = True + # TODO sounds if not her_vibrators_public_stage == 2: # First time @@ -1878,13 +1900,17 @@ label hg_vibrators_public_return: gen "Uh-oh." ("base", xpos="far_left", ypos="head") her "I can still picture how their eyes locked onto me... I felt so humiliated, and unable to neither move nor speak..." - # TODO Hermione looks to the side + # Hermione looks to the side + show her_vibrators_public eyebrows_worried blush_heavy mouth_lip_bite eyes_left as xray_child + show her_vibrators_public_proxy eyebrows_worried blush_heavy mouth_lip_bite eyes_left as xray_overlay her "I swear, I could feel the gaze of other students on my back as well." gen "You think they realised what was happening?" ("base", xpos="far_left", ypos="head") her "*Hmph*... They certainly knew \"something\" was up." - # TODO Hermione looks forward + # Hermione looks forward + show her_vibrators_public mouth_grossedout2 eyes_forward as xray_child + show her_vibrators_public_proxy mouth_grossedout2 eyes_forward as xray_overlay her "Nevertheless, I finally managed to blurt out \"mosquito\" and it appeared they have bought my excuse." her "At least I think they did, as they went back to their game..." @@ -1901,6 +1927,10 @@ label hg_vibrators_public_return: her "Yes, but--" gen "So, what next? You didn't chicken out on me did you?" ("base", xpos="far_left", ypos="head") her "Of course not!" + + show her_vibrators_public mouth_upset eyes_closed as xray_child + show her_vibrators_public_proxy mouth_upset eyes_closed as xray_overlay + her "You should know exactly what you did--" gen "Oh? So this was when I--" ("base", xpos="far_left", ypos="head") @@ -1908,24 +1938,43 @@ label hg_vibrators_public_return: # Best option $ _vibrator_strength = 2 + show her_vibrators_public eyebrows_surprised mouth_shocked underwear as xray_child + show her_vibrators_public_proxy eyebrows_surprised mouth_shocked as xray_overlay + if not her_vibrators_public_stage == 2: her "As they turned on, I was quickly brought back to reality, remembering our \"agreement\"..." else: her "Surprised it had already started, I readied myself for the worst..." her "Without thinking, I instinctively bit my lip..." + + show her_vibrators_public blush_heavy eyebrows_worried mouth_lip_bite as xray_child + show her_vibrators_public_proxy blush_heavy eyebrows_worried mouth_lip_bite as xray_overlay + gen "*Hmm*...{w=0.4} Well, you can't always control these things." ("base", xpos="far_left", ypos="head") her "I would've been able to, if you had let me use the controller, [genie_name]..." gen "Guilty..." ("base", xpos="far_left", ypos="head") her "After a couple of seconds, I realised what I was doing." + + show her_vibrators_public eyes_down as xray_child + show her_vibrators_public_proxy eyes_down as xray_overlay + her "Looking over at my friends, praying they didn't see or hear anything, at one point though, I could swear Harry looked at me, but as I blinked he was back to playing their game." gen "How did that make you feel?" ("base", xpos="far_left", ypos="head") her "Oh...{w=0.4} *Ehm*..." gen "Go on, this is not the time for dishonesty..." ("base", xpos="far_left", ypos="head") her "Well, the fact that I had gotten away with it felt a bit exciting, I guess." + + show her_vibrators_public eyes_clenched mouth_open as xray_child + show her_vibrators_public_proxy eyes_clenched mouth_open as xray_overlay + her "Still... I was having my privates stimulated in front of my friends, so I couldn't help but feel bit anxious." gen "Guilty that they were missing all the fun no doubt." ("base", xpos="far_left", ypos="head") her "That's not what I meant!" + + show her_vibrators_public eyes_left mouth_lip_bite as xray_child + show her_vibrators_public_proxy eyes_left mouth_lip_bite as xray_overlay + her "I was feeling anxious because they might find out what I've been putting myself through for the sake of our house!" gen "I see... So not only were they missing all the fun, but also all the points they could earn while doing some favours." ("base", xpos="far_left", ypos="head") her "..." @@ -1934,6 +1983,10 @@ label hg_vibrators_public_return: her "The reality!" gen "Sure, if you say so, [hermione_name]." her "..." + + show her_vibrators_public eyes_forward mouth_neutral as xray_child + show her_vibrators_public_proxy eyes_forward mouth_neutral as xray_overlay + her "Either way, I didn't have much time to think about my rising anxiousness..." gen "Right, so that's when I--" ("base", xpos="far_left", ypos="head") @@ -1941,9 +1994,16 @@ label hg_vibrators_public_return: # Average option $ _vibrator_strength = 1 + show her_vibrators_public eyebrows_worried mouth_open underwear as xray_child + show her_vibrators_public_proxy eyebrows_worried mouth_open as xray_overlay + if not her_vibrators_public_stage == 2: her "Yes...{w=0.4} Luckily, 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." + + show her_vibrators_public blush_heavy mouth_lip_bite eyes_left as xray_child + show her_vibrators_public_proxy blush_heavy mouth_lip_bite eyes_left as xray_overlay + her "I was standing outside, in the middle of a courtyard, my friends right in front me as the vibrators had began shaking against my private parts..." her "Of course... Knowing you, I had no doubts it had only just begun and there was more to come." gen "You've got me all figured out, huh." ("base", xpos="far_left", ypos="head") @@ -1957,6 +2017,9 @@ label hg_vibrators_public_return: her "Anyway, as I was saying..." # endif + show her_vibrators_public blush_heavy mouth_open eyes_left as xray_child + show her_vibrators_public_proxy blush_heavy mouth_open eyes_left as xray_overlay + her "It sort of brought my last experience back to life again, and I started doubting if it was a wise decision to put myself through this again." gen "Surely you weren't considering missing out on, possibly, one of the best orgasms of your life." ("base", xpos="far_left", ypos="head") her "I would never be concerned about missing out on such a thing!" @@ -1969,7 +2032,11 @@ label hg_vibrators_public_return: her "No, I didn't run off..." #looks away gen "There's no need to be embarrassed [hermione_name], completing the task I requested shows your determination and character." ("base", xpos="far_left", ypos="head") her "Thanks, I suppose..." - gen "That character, of course, being a complete slut who enjoys getting off in front of her friends!" ("base", xpos="far_left", ypos="head") + + show her_vibrators_public mouth_open eyes_crossed as xray_child + show her_vibrators_public_proxy mouth_open eyes_crossed as xray_overlay + + gen "That character, of course, being a complete slut who enjoys getting off in front of her friends!" ("grin", xpos="far_left", ypos="head") her "[genie_name]!" her "..." #pouts her "I--{w=0.2} I don't appreciate you belittling me, [genie_name]..." @@ -1977,6 +2044,10 @@ label hg_vibrators_public_return: gen "Belittling is... {w=0.4}below me..." ("base", xpos="far_left", ypos="head") her "..." #Yeah right gen "Even if it wasn't, I'd hardly ever need to belittle someone who is so set on not being true to herself..." ("base", xpos="far_left", ypos="head") + + show her_vibrators_public mouth_lip_bite eyes_left as xray_child + show her_vibrators_public_proxy mouth_lip_bite eyes_left as xray_overlay + her "..." gen "Now, speak the truth... You were enjoying it weren't you?" ("base", xpos="far_left", ypos="head") her "I--" @@ -1984,9 +2055,17 @@ label hg_vibrators_public_return: gen "(She's such a know-it-all, yet she never learns...)" ("base", xpos="far_left", ypos="head") gen "Alright then... Let's keep playing your game, [hermione_name]." ("base", xpos="far_left", ypos="head") gen "Tell me, if you weren't enjoying yourself, why didn't you just run off when you had the chance?" ("base", xpos="far_left", ypos="head") + + show her_vibrators_public mouth_neutral eyes_closed as xray_child + show her_vibrators_public_proxy mouth_neutral eyes_closed as xray_overlay + her "I--{w=0.2} my feet didn't move!" gen "Your feet?" ("base", xpos="far_left", ypos="head") her "Yes!" + + show her_vibrators_public mouth_lip_bite eyes_closed as xray_child + show her_vibrators_public_proxy mouth_lip_bite eyes_closed as xray_overlay + her "All these thoughts were racing through my head, and I didn't know what to do, I could barely control my body." gen "Right, that's very relatable and all but--" ("base", xpos="far_left", ypos="head") her "It's the truth!" @@ -1994,19 +2073,31 @@ label hg_vibrators_public_return: gen "So, what were these \"things\" going through your head exactly?" ("base", xpos="far_left", ypos="head") her "Oh--{w=0.2} *Ehm*..." gen "(She's going to say \"forfeiting the points\" isn't she...)" ("base", xpos="far_left", ypos="head") + + show her_vibrators_public mouth_open eyes_left as xray_child + show her_vibrators_public_proxy mouth_open eyes_left as xray_overlay + her "I didn't want to forfeit the points!" gen "(Nailed it.)" ("base", xpos="far_left", ypos="head") her "I thought that if I had ran off, you wouldn't pay me and it would all be for naught..." her "Although, I didn't have much time to consider my options as the decision was being made for me..." gen "Made for--" ("base", xpos="far_left", ypos="head") gen "Oh, I see." ("grin", xpos="far_left", ypos="head") + + show her_vibrators_public mouth_neutral eyes_forward as xray_child + show her_vibrators_public_proxy mouth_neutral eyes_forward as xray_overlay + gen "That's when I--" ("base", xpos="far_left", ypos="head") # Second choice menu: "\"(Turned it to the high setting!)\"" if not _vibrator_strength == 3: # Average option - her "Yes, all of a sudden the vibrators began vibrating violently!" + + show her_vibrators_public mouth_shocked eyes_crossed as xray_child + show her_vibrators_public_proxy mouth_shocked eyes_crossed as xray_overlay + + her "Yes, all of a sudden, the vibrators began vibrating violently!" if _vibrator_strength == 1: # Strength was set to low before. @@ -2027,11 +2118,19 @@ label hg_vibrators_public_return: her "Getting caught off guard like that... Made it difficult to compose myself." gen "Pray tell..." ("base", xpos="far_left", ypos="head") + show her_vibrators_public mouth_lip_bite as xray_child + show her_vibrators_public_proxy mouth_lip_bite as xray_overlay + her "I was getting a bit excited, okay?" gen "*Heh-heh*..." ("grin", xpos="far_left", ypos="head") gen "So, what were the boys doing? Surely they must've noticed their friend going delirious?" ("base", xpos="far_left", ypos="head") her "At that point, it was difficult to tell, they were too busy playing with their balls..." + #Could cut back to room screen + + hide cg + with fade + gen "{size=+4}THEY WERE WHAT?!?{/size}" ("angry", xpos="far_left", ypos="head") gen "{size=+4}In the middle of the courtyard?! At {b}my{b} school?!{/size}" ("angry", xpos="far_left", ypos="head") her "Where else should they do it?" @@ -2051,6 +2150,8 @@ label hg_vibrators_public_return: her "*Hmph*..." #Cut back to CG + show her_vibrators_public_xray zorder 15 as cg + with fade gen "So, the vibrators were going at full force on your breasts and pussy, yet the boys didn't suspect a thing?" ("base", xpos="far_left", ypos="head") her "I didn't say that..." @@ -2078,7 +2179,8 @@ label hg_vibrators_public_return: gen "And how did that go for you?" ("base", xpos="far_left", ypos="head") her "Not very well..." - #TODO wet pussy layer + show her_vibrators_public eyes_closed mouth_open wetness_vagina as xray_child + show her_vibrators_public_proxy eyes_closed mouth_open wetness_vagina as xray_overlay her "In fact, I was beginning to feel my panties getting drenched--" gen "Naturally, you had just seen your friend pop-up a boner in front of you." ("grin", xpos="far_left", ypos="head") @@ -2092,12 +2194,19 @@ label hg_vibrators_public_return: her "..." gen "Now then, tell me more about how you, {i}DID NOT{/i} get off from your friend watching you." ("base", xpos="far_left", ypos="head") her "*Sigh*..." + + show her_vibrators_public mouth_lip_bite as xray_child + show her_vibrators_public_proxy mouth_lip_bite as xray_overlay + her "Well... At that point the intensity changed again." gen "Oh right, I--" ("base", xpos="far_left", ypos="head") $ _vibrator_strength = 3 "\"(Turned it to the medium setting.)\"" if not _vibrator_strength == 2: + + show her_vibrators_public eyes_left mouth_lip_bite as xray_child + show her_vibrators_public_proxy eyes_left mouth_lip_bite as xray_overlay if _vibrator_strength == 3: # Strength was set to high before. @@ -2129,6 +2238,10 @@ label hg_vibrators_public_return: 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 + + show her_vibrators_public eyes_sad mouth_disappointed as xray_child + show her_vibrators_public_proxy eyes_sad mouth_disappointed as xray_overlay + her "Yes, luckily for me..." if _vibrator_strength == 2: # Strength was set to medium before. diff --git a/game/scripts/options.rpy b/game/scripts/options.rpy index 017f28e3..88d35125 100644 --- a/game/scripts/options.rpy +++ b/game/scripts/options.rpy @@ -72,18 +72,12 @@ define config.load_before_transition = True define config.imagemap_cache = True define config.optimize_texture_bounds = True define config.debug_image_cache = False -#define config.atl_one_frame = False -# define config.mipmap_movies = (not renpy.android) -# define config.mipmap_text = (not renpy.android) -# define config.mipmap_dissolves = (not renpy.android) -# define config.predict_screen_statements = False -# define config.predict_screens = False - -# Disable automatic image scanning -# define config.automatic_images = None -# define config.images_directory = None -# init -1: -# define config.late_images_scan = True +# define config.atl_one_frame = False +define config.tag_zorder = { + "xray_child": -1, + "xray_overlay": -1, + "xray_mask": -1, +} # Saving and loading define config.save_directory = "Witch Trainer Silver"