From caa2e5153ec63f0dee6f4e7006b54c1dcec65fc5 Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 29 Sep 2022 21:07:25 +0200 Subject: [PATCH 01/27] fix * Hid image for mafkin chat until underlying code supports it. --- game/scripts/shops/dress/chitchats.rpy | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/game/scripts/shops/dress/chitchats.rpy b/game/scripts/shops/dress/chitchats.rpy index 98b0052b..6b595e18 100644 --- a/game/scripts/shops/dress/chitchats.rpy +++ b/game/scripts/shops/dress/chitchats.rpy @@ -810,11 +810,12 @@ label purchase_outfit(item): $ renpy.play("sounds/scribble.ogg") gen "Well, if you could, I'd like something like this... *scribbles*." ("base", xpos="far_left", ypos="head") - show image Transform(Fixed("paper", "geniedrawing", fit_first=True), align=(0.5, 0.5), zoom=0.5) as drawing - with d5 - call ctc - hide drawing - with d5 + #TODO uncomment once conversion for python 3 allows it + #show image Transform(Fixed("paper", "geniedrawing", fit_first=True), align=(0.5, 0.5), zoom=0.5) as drawing + #with d5 + #call ctc + #hide drawing + #with d5 maf "I see..." maf "Well, I suppose, with a couple adjustments... Something like that should be doable." From a6ff9ed876269a172369f9a0bbe9e0b7076e497d Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Oct 2022 00:35:43 +0100 Subject: [PATCH 02/27] Bugfix * Attempts to fix Expression Editor crash caused by pickling the unpickleable --- game/scripts/utility/editor.rpy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/scripts/utility/editor.rpy b/game/scripts/utility/editor.rpy index 7951a311..e2f08069 100644 --- a/game/scripts/utility/editor.rpy +++ b/game/scripts/utility/editor.rpy @@ -3,7 +3,7 @@ init python: from renpy.parser import ParseError from copy import deepcopy - class Editor(NoRollback): + class Editor(python_object): def __init__(self): self.node = None From fe050afcda1c85aa37bd56f4351fed03501c4871 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 2 Oct 2022 14:35:13 +0200 Subject: [PATCH 03/27] Vibrator event posing * Finished posing Vibrator event. * Added Minor wetness layer on personal CG. * Improved image transitions on split up dialogue lines. --- ...rs_personal_hermione1_effects_wetness.webp | 4 +- ...rs_personal_hermione2_effects_wetness.webp | 4 +- ...rs_personal_hermione3_effects_wetness.webp | 4 +- .../hermione/events/items/vibrators.rpy | 74 +++++++++---------- 4 files changed, 40 insertions(+), 46 deletions(-) diff --git a/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness.webp b/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness.webp index 0504f71e..dfc4f829 100644 --- a/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness.webp +++ b/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6a635cf5acbb405a60bb05d6a5d6d4ec29a8acce6e023763c294c809a49771b -size 2126 +oid sha256:484867827364c89bf59b8c0b97b201eee8da37d342447f82f572c8c3f7c98695 +size 1408 diff --git a/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness.webp b/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness.webp index 7b7093aa..9f32af0b 100644 --- a/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness.webp +++ b/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47b8c47366367f8107770879896e4dc74bcedbf4dbb92a59b6e7ea4ca9bede87 -size 4266 +oid sha256:d758065f8b4b1ac5689680b9d23df878e0ab80e14d1c21eb91fc0daefeea4dba +size 3336 diff --git a/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness.webp b/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness.webp index eaed1cc6..6561af78 100644 --- a/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness.webp +++ b/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:792d4ec761ab4ef0721bc9431d1801ff3678bb62c9fd1fd4d55cbfec4715e938 -size 4396 +oid sha256:d59c89b55e405340b65c5cb5cc145e476c8e7b42ac185c556acd8cf6bbaa03d5 +size 3236 diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index e017725b..9cc3bee8 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -749,7 +749,7 @@ label hg_vibrators_personal: gen "There we go.{w=0.8}{nw}" ("base", xpos="far_left", ypos="head") - show her_vibrators_personal eyes_squint_forward as cg with d5 + show her_vibrators_personal eyes_squint_forward as cg gen "There we go.{fast} Now for the telling part." ("base", xpos="far_left", ypos="head") @@ -813,10 +813,12 @@ label hg_vibrators_personal: her "(You can do this, Hermione...)" #Hermione legs open - show her_vibrators_personal hermione2 mouth_angry as cg with d5 + show her_vibrators_personal hermione2 mouth_angry effects_wetness_minor as cg with d5 her "..." - gen "Very good... Now keep them spread like that, and you'll earn yourself a good grade." ("base", xpos="far_left", ypos="head") + gen "(She's wet!)" ("angry", xpos="far_left", ypos="head") + gen "*Ahem*... Very good, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Now keep them spread like that, and you'll earn yourself a good grade." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_worried eyes_squint_forward mouth_open as cg with d5 @@ -831,12 +833,12 @@ label hg_vibrators_personal: #Hermione legs closed show her_vibrators_personal hermione1 eyes_squint_right mouth_annoyed as cg with d5 - her "*Hmph*...{w=0.4}{nw}" + her "*Hmph*..." #Hermione legs open show her_vibrators_personal hermione2 mouth_shocked as cg with d5 - her "*Hmph*...{fast} Just do whatever you want, why don't you." + her "Just do whatever you want, why don't you." gen "That's the plan." ("base", xpos="far_left", ypos="head") menu: @@ -848,14 +850,14 @@ label hg_vibrators_personal: #Hermione legs open show her_vibrators_personal hermione2 eyebrows_worried eyes_clenched mouth_shocked blush_heavy as cg with d5 - her "[genie_name]!!!{w=0.4}{nw}" + #her "[genie_name]!!!{w=0.4}{nw}" #Hermione legs closed show her_vibrators_personal hermione1 mouth_worried blush_heavy as cg with d5 - her "[genie_name]!!!{fast}" + #her "[genie_name]!!!{fast}" - her "Turn it down!" + her "[genie_name]!!! Turn it down!" menu: "-Keep it going-": @@ -922,13 +924,13 @@ label hg_vibrators_personal: gen "You're lucky I'm in a good mood,{w=0.2} so I think I'll oblige you,{w=0.2}{nw}" ("base", xpos="far_left", ypos="head") - show her_vibrators_personal mouth_annoyed as cg with d5 + show her_vibrators_personal mouth_annoyed as cg gen "You're lucky I'm in a good mood, so I think I'll oblige you,{fast} for being so honest with yourself for once." ("base", xpos="far_left", ypos="head") gen "(She'll love this...)" ("grin", xpos="far_left", ypos="head") gen "[hermione_name],{w=0.2} from now on you are not allowed to cum!{nw}" ("grin", xpos="far_left", ypos="head") - show her_vibrators_personal eyes_open_forward mouth_worried as cg with d5 + show her_vibrators_personal eyes_open_forward mouth_worried as cg gen "[hermione_name], from now on you are not allowed to cum!{fast}" ("grin", xpos="far_left", ypos="head") @@ -998,11 +1000,11 @@ label hg_vibrators_personal: her "[genie_name], please...{w=0.4}{nw}" - show her_vibrators_personal mouth_worried as cg with d5 + show her_vibrators_personal mouth_worried as cg - her "[genie_name], please...{fast} If you keep it like this...{w=0.4} I'll...{w=0.4}{nw} I'll--" + her "[genie_name], please...{fast} If you keep it like this...{w=0.4} I'll...{w=0.4}{nw}" - show her_vibrators_personal mouth_shocked as cg with d5 + show her_vibrators_personal mouth_shocked as cg her "[genie_name], please... If you keep it like this... I'll...{fast} I'll--" menu: @@ -1011,11 +1013,11 @@ label hg_vibrators_personal: $ _temp_premature_finish = True #Hermione cums once, and then it skips to the end section of the event. + show her_vibrators_personal eyes_narrow_crossed as cg her "{size=+5}{heart}{heart}{heart}Cum!!!{heart}{heart}{/size}" gen "Wait, I didn't say you could--" ("angry", xpos="far_left", ypos="head") - show her_vibrators_personal eyebrows_worried eyes_clenched mouth_open effects_wetness as cg with d5 her "*Nnnnngh*--{w=0.8}{nw}" @@ -1024,7 +1026,7 @@ label hg_vibrators_personal: show her_vibrators_personal hermione3 eyebrows_worried eyes_clenched mouth_open effects_wetness as cg with d5 - her "*Nnnnngh*--{fast}" + pause .4 with kissiris with hpunch @@ -1104,7 +1106,7 @@ label hg_vibrators_personal: her "*Ah*!{w=0.6}{nw}" - show her_vibrators_personal eyes_squint_forward mouth_open as cg with d5 + show her_vibrators_personal eyes_squint_forward mouth_open as cg her "*Ah*!{fast}" gen "I could also increase the intensity... Even if for just a moment, to see your face light up in excitement, fighting the urge to let go." ("base", xpos="far_left", ypos="head") @@ -1123,7 +1125,7 @@ label hg_vibrators_personal: her "*Ahhhh*!{w=0.8}{nw}" with hpunch - show her_vibrators_personal eyes_squint_forward mouth_angry as cg with d5 + show her_vibrators_personal eyes_squint_forward mouth_angry as cg her "*Ahhhh*!{fast}" @@ -1212,11 +1214,11 @@ label hg_vibrators_personal: her "*Ah*...{w=0.4}{nw}" - show her_vibrators_personal mouth_horny as cg with d5 + show her_vibrators_personal mouth_horny as cg her "*Ah*...{fast} *Ah*...{w=0.4}{nw}" - show her_vibrators_personal mouth_worried as cg with d5 + show her_vibrators_personal mouth_worried as cg her "*Ah*... *Ah*...{fast} *Ah..." gen "You think you could do that for me?" ("base", xpos="far_left", ypos="head") @@ -1228,38 +1230,30 @@ label hg_vibrators_personal: play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_high.ogg" - show her_vibrators_personal hermione1 eyebrows_worried eyes_narrow_crossed mouth_ahegao as cg with d5 + show her_vibrators_personal hermione1 eyebrows_worried mouth_angry as cg with d5 - her "{size=+4}{heart}{heart}{heart}*Ah*!!!{heart}{heart}{/size}{w=1}{nw}" + her "{size=+4}{heart}{heart}{heart}*Ah*!!!{heart}{heart}{/size}" play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_low.ogg" + # Hermione legs open show her_vibrators_personal hermione2 eyebrows_worried eyes_closed mouth_open as cg with d5 - her "{size=+4}{heart}{heart}{heart}*Ah*!!!{heart}{heart}{/size}{fast}{w=0.8}{nw}" + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." - # Hermione legs open - show her_vibrators_personal hermione2 eyebrows_worried eyes_closed mouth_angry as cg with d5 + show her_vibrators_personal eyes_squint_forward mouth_shocked as cg - her "{size=+4}{heart}{heart}{heart}*Ah*!!!{heart}{heart}{/size}{fast}" + her "[genie_name]...{w=0.4}{nw}" - show her_vibrators_personal mouth_worried as cg with d5 + show her_vibrators_personal mouth_worried as cg - her "*Ah*...{w=0.4} *Ah*...{w=0.4}{nw}" - - show her_vibrators_personal eyes_closed mouth_shocked as cg with d5 - - her "*Ah*... *Ah*...{fast} [genie_name]...{w=0.4}{nw}" - - show her_vibrators_personal mouth_worried as cg with d5 - - her "*Ah*... *Ah*...{fast} [genie_name]...{fast} Please..." + her "[genie_name]...{fast} Please..." gen "Nuh-uh... Not yet, [hermione_name]." ("base", xpos="far_left", ypos="head") gen "Patience is a virtue...{w=0.4} It's time you learn that." ("base", xpos="far_left", ypos="head") - show her_vibrators_personal mouth_angry as cg with d5 + show her_vibrators_personal eyes_closed mouth_angry as cg with d5 her "But--" gen "Remember why you're here, [hermione_name]." ("base", xpos="far_left", ypos="head") @@ -1515,7 +1509,7 @@ label hg_vibrators_personal: her "*Ah*...{w=0.2} *Ah*...{w=0.2}{nw}" - show her_vibrators_personal eyes_squint_crossed as cg with d5 + show her_vibrators_personal eyes_squint_crossed as cg her "*Ah*... *Ah*...{fast} [genie_name],{w=0.2} I can't--" gen "Imagine what your peers would say... {i}Hermione Granger, failing a task set by her headmaster! What a disgrace!{/i}" ("base", xpos="far_left", ypos="head") @@ -1567,7 +1561,7 @@ label hg_vibrators_personal: play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_overdrive.ogg" - show her_vibrators_personal eyes_wide_crossed as cg with d5 + show her_vibrators_personal eyes_wide_crossed as cg gen "Skadoosh.{fast}" ("base", xpos="far_left", ypos="head") @@ -1579,7 +1573,7 @@ label hg_vibrators_personal: her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{w=0.4}{nw}" ("grin", "narrow", "annoyed", "up", cheeks="blush") - show her_vibrators_personal -effects_squirt as cg with d5 + show her_vibrators_personal -effects_squirt as cg her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{fast}" ("grin", "narrow", "annoyed", "up", cheeks="blush") @@ -2159,7 +2153,7 @@ label hg_vibrators_public_return: pause 1 gen "[hermione_name]? What is the meaning of this?" ("base", xpos="far_left", ypos="head") - her "*Nnnn*--" ("angry", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + her "*Nnnn*--" ("angry", "happyCl", "worried", "R", cheeks="blush", tears="soft_blink") gen "Are you--" ("base", xpos="far_left", ypos="head") play sound "sounds/cloth_sound3.ogg" From b35c2cd26fb9b933ea708c6273bf10257a84b4fd Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 2 Oct 2022 14:35:45 +0200 Subject: [PATCH 04/27] images --- ...her_vibrators_personal_hermione1_effects_wetness_minor.webp | 3 +++ ...her_vibrators_personal_hermione2_effects_wetness_minor.webp | 3 +++ ...her_vibrators_personal_hermione3_effects_wetness_minor.webp | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness_minor.webp create mode 100644 game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness_minor.webp create mode 100644 game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness_minor.webp diff --git a/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness_minor.webp b/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness_minor.webp new file mode 100644 index 00000000..accb6ab8 --- /dev/null +++ b/game/images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness_minor.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d1eb965f6ff55b2316c79586017ab741abc5b653e9bb3fdeff0a0875a6f541e +size 1632 diff --git a/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness_minor.webp b/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness_minor.webp new file mode 100644 index 00000000..73807ec1 --- /dev/null +++ b/game/images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness_minor.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:999fbbca78732afb5c5b99c2ae7259821ee7caa5c3d3ff0e7c95863a48566e58 +size 1882 diff --git a/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness_minor.webp b/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness_minor.webp new file mode 100644 index 00000000..c85088fb --- /dev/null +++ b/game/images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness_minor.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d059568f3567b615ba7ac9d266bf7b5223238b49868ace239f971ae91e38c54 +size 2056 From cc259564bbdaa539b612a0eb942a0450639a1115 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Oct 2022 16:39:19 +0100 Subject: [PATCH 05/27] Bugfix * Avoid catching nodes during init phase and remove debug vars --- game/scripts/utility/editor.rpy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/game/scripts/utility/editor.rpy b/game/scripts/utility/editor.rpy index e2f08069..b49b4333 100644 --- a/game/scripts/utility/editor.rpy +++ b/game/scripts/utility/editor.rpy @@ -16,10 +16,9 @@ init python: self.active = False def catch(self, *args, **kwargs): - if not self.active: + if not self.active or renpy.is_init_phase(): return - global n # DEBUG self.node = None self.live_code = None @@ -39,7 +38,6 @@ init python: return self.node = node - n = node # DEBUG who = node.who file = node.filename From 4e2ad91cf228cff8e6981c787326ef5dac999632 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Oct 2022 22:22:51 +0100 Subject: [PATCH 06/27] Vibrator Event * Added vibrator animation to public path * Fixed vibrator animation * Added choice menu logic --- game/scripts/animations/transforms.rpy | 4 +-- game/scripts/cg/hermione.rpy | 8 ++--- .../hermione/events/items/vibrators.rpy | 33 ++++++++++++------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/game/scripts/animations/transforms.rpy b/game/scripts/animations/transforms.rpy index eea1da86..f5c1d2d3 100644 --- a/game/scripts/animations/transforms.rpy +++ b/game/scripts/animations/transforms.rpy @@ -133,8 +133,8 @@ transform shake: transform shake_xlinear(speed=1.0): xoffset 1 - linear 0.1/speed xoffset -1 - linear 0.1/speed xoffset 1 + linear 0.1/speed xoffset -2 + linear 0.1/speed xoffset 2 repeat init python: diff --git a/game/scripts/cg/hermione.rpy b/game/scripts/cg/hermione.rpy index 19869c6a..4f6c8d2d 100644 --- a/game/scripts/cg/hermione.rpy +++ b/game/scripts/cg/hermione.rpy @@ -98,15 +98,15 @@ layeredimage her_vibrators_public: group vibrator_upper variant "vibrator_upper" multiple if_not "no_hermione": attribute base default - attribute egg default + attribute egg default at shake_xlinear attribute tape default - attribute effect default + attribute effect default at shake_xlinear group vibrator_lower variant "vibrator_lower" multiple if_not "no_hermione": attribute base default - attribute egg default + attribute egg default at shake_xlinear attribute tape default - attribute effect default + attribute effect default at shake_xlinear group underwear multiple if_not "no_hermione": attribute bra default if_any ["underwear", "nopanties"] diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 9cc3bee8..74103115 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -286,8 +286,18 @@ label hg_vibrators: label .choices: menu: - "-Send her out-" if not _temp_lockout: + "-Send her out-" if not _temp_lockout and game.daytime: jump hg_vibrators_public + "-Send her out-" (style="disabled") if _temp_lockout and game.daytime: + gen "She already said no..." ("base", xpos="far_left", ypos="head") + + jump .choices + "-Send her out-" (style="disabled") if not game.daytime: + her "But it's already past curfew..." + gen "Oh, right..." ("base", xpos="far_left", ypos="head") + nar "This option is only available during the day." + + jump .choices "-Have her stay for a personal session-": jump hg_vibrators_personal @@ -2273,11 +2283,11 @@ label hg_vibrators_public_return: "-Push her horny buttons-": call gen_chibi("stand", 225, "base") - with fade + with d5 her "What are you--" ("angry", "base", "base", "mid", cheeks="blush") - call gen_chibi("stand", 230, "base", flip=True) + call gen_chibi("stand", 225, "base", flip=True) call gen_walk(path=[(230, 470), (440, 470), (450, 430)]) pause 0.5 @@ -2389,7 +2399,7 @@ label hg_vibrators_public_return: with d5 show her_vibrators_public_xray zorder 15 as cg # Dynamic displayable (Updates its children every interaction) - show her_vibrators_public nude as xray_child # Controls the bottom layer of the Xray CG + show her_vibrators_public underwear 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 @@ -2500,7 +2510,7 @@ label hg_vibrators_public_return: with d5 show her_vibrators_public_xray zorder 15 as cg # Dynamic displayable (Updates its children every interaction) - show her_vibrators_public nude as xray_child # Controls the bottom layer of the Xray CG + show her_vibrators_public underwear 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 @@ -2535,9 +2545,8 @@ label hg_vibrators_public_return: # Worst option # 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 with d5 - with d5 + show her_vibrators_public nude eyebrows_surprised mouth_shocked eyes_clenched as xray_child + show her_vibrators_public_proxy eyebrows_surprised mouth_shocked eyes_clenched as xray_overlay # TODO sounds @@ -2598,7 +2607,7 @@ label hg_vibrators_public_return: her "You should know exactly what you did--" gen "Oh? So this was when I--" - "\"(Skipping low, straight up to medium setting!)\"": + "\"(Straight up to medium setting!)\"": # Best option $ _vibrator_medium = True $ _vibrator_last = "medium" @@ -2608,7 +2617,7 @@ label hg_vibrators_public_return: play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_medium.ogg" - show her_vibrators_public eyebrows_surprised eyes_forward mouth_shocked underwear as xray_child + show her_vibrators_public nude eyebrows_surprised eyes_forward mouth_shocked as xray_child show her_vibrators_public_proxy eyebrows_surprised eyes_forward mouth_shocked as xray_overlay if not her_vibrators_public_stage == 2: @@ -2679,14 +2688,14 @@ label hg_vibrators_public_return: play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_low.ogg" - show her_vibrators_public eyebrows_worried mouth_open underwear as xray_child + show her_vibrators_public nude eyebrows_worried mouth_open 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 nude 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..." From c1cca84fddab5865dbee596373460fbbf600f0e4 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Oct 2022 22:56:52 +0100 Subject: [PATCH 07/27] Add new audio channel --- game/scripts/script.rpy | 1 + 1 file changed, 1 insertion(+) diff --git a/game/scripts/script.rpy b/game/scripts/script.rpy index cca4f815..91b7704b 100644 --- a/game/scripts/script.rpy +++ b/game/scripts/script.rpy @@ -94,5 +94,6 @@ label game_init: return init python: + renpy.music.register_channel("background", "sfx", True) renpy.music.register_channel("bg_sounds", "sfx", True) renpy.music.register_channel("weather", "weather", True) From 63a699e74acd0ce2b0ed6b418e5dab15343ae9d9 Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 3 Oct 2022 00:13:46 +0200 Subject: [PATCH 08/27] Vibrator public Ambient sounds * Added ambient outside sounds. --- .../characters/hermione/events/items/vibrators.rpy | 12 +++++++++++- game/sounds/day.ogg | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 74103115..55f33f06 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -2406,6 +2406,7 @@ label hg_vibrators_public_return: with d5 call play_music("playful_tension") # SEX THEME. + play background "sounds/day.ogg" fadein 2 fadeout 2 gen "I see...{w=0.4} Hold on, this was just past lunchtime you said?" ("base", xpos="far_left", ypos="head") her "Yes..." ("base", "base", "base", "mid") @@ -2517,6 +2518,7 @@ label hg_vibrators_public_return: with d5 call play_music("playful_tension") # SEX THEME. + play background "sounds/day.ogg" fadein 2 fadeout 2 her "After some convincing, my friends and I finally made our way outside into the courtyard..." ("base", "base", "base", "mid") her "Just as we were about to sit down, suddenly, the vibrators turned on." ("base", "base", "base", "mid") @@ -2836,8 +2838,9 @@ label hg_vibrators_public_return: #Could cut back to room screen - hide cg stop bg_sounds fadeout 2 + stop background fadeout 2 + hide cg with fade gen "{size=+4}THEY WERE WHAT?!?{/size}" ("angry", xpos="far_left", ypos="head") @@ -2860,6 +2863,7 @@ label hg_vibrators_public_return: #Cut back to CG show her_vibrators_public_xray zorder 15 as cg + play background "sounds/day.ogg" fadein 2 fadeout 2 play bg_sounds "sounds/vibrator_high.ogg" fadein 2 with fade @@ -3115,6 +3119,7 @@ label hg_vibrators_public_return: play sound "sounds/click4.ogg" stop bg_sounds + stop background stop music fadeout 1.0 hide vibrator_interface hide cg @@ -3225,6 +3230,7 @@ label hg_vibrators_public_return: her "The only thing I could remember before passing out were the vibrators, finally coming to a stop..." ("angry", "narrow", "base", "down", cheeks="blush") stop bg_sounds fadeout 2 + stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface hide cg @@ -3345,6 +3351,7 @@ label hg_vibrators_public_return: her "...{w=0.4} *Ahem*." ("angry", "squint", "base", "R", cheeks="blush") stop bg_sounds fadeout 2 + stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface hide cg @@ -3436,6 +3443,7 @@ label hg_vibrators_public_return: play sound "sounds/click4.ogg" stop bg_sounds + stop background stop music fadeout 1.0 hide vibrator_interface hide cg @@ -3501,6 +3509,7 @@ label hg_vibrators_public_return: gen "If you say so..." stop bg_sounds fadeout 2 + stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface hide cg @@ -3529,6 +3538,7 @@ label hg_vibrators_public_return: her "If I was alone and in a private place, then maybe that would've been enough to push me over, but luckily for me, I managed to keep it together in front of the boys..." ("open", "narrow", "base", "down", cheeks="blush") stop bg_sounds fadeout 2 + stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface hide cg diff --git a/game/sounds/day.ogg b/game/sounds/day.ogg index 17a77ff6..90132edd 100644 --- a/game/sounds/day.ogg +++ b/game/sounds/day.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc9a654f6b077b1fea1e25d1649fd491347af36751b39563236ab8e3e5361d7d -size 355772 +oid sha256:1e7ca558c4703597783d0333188692551cc4a66240f5bfd7350648c96b00cb38 +size 3378648 From dfee38a6d573499a4cf5abeb46979f199e49fa2d Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Oct 2022 23:21:08 +0100 Subject: [PATCH 09/27] Hotfix * Removed fly sounds --- game/sounds/day.ogg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/game/sounds/day.ogg b/game/sounds/day.ogg index 90132edd..1804a1e9 100644 --- a/game/sounds/day.ogg +++ b/game/sounds/day.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e7ca558c4703597783d0333188692551cc4a66240f5bfd7350648c96b00cb38 -size 3378648 +oid sha256:ba5126140f89780bd741d939564d1f3e56d06d30735db84deb22f299bbe46fdd +size 885781 From 2032a820a1227497bd19d1d8bae38dc5f8f67494 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Oct 2022 23:37:23 +0100 Subject: [PATCH 10/27] Proofreading --- .../events/requests/flirt_with_teachers.rpy | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy index 1e5e3ba4..4954d802 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy @@ -116,32 +116,32 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick her "But I didn't really get that far..." ("open", "squint", "worried", "R") her "Professor Flitwick asked me to show the class how to cast {i}wingardium leviosa{/i}, you see." ("open", "squint", "worried", "mid") her "And of course, seeing that I'm an expert in the subject, I obliged." ("open", "closed", "base", "mid") - gen "Taking any opportunity you can to show off, I see." ("base", xpos="far_left", ypos="head") + gen "Taking any and every opportunity to show off, I see." ("base", xpos="far_left", ypos="head") show her_flirt_public_flitwick zorder 15 as cg with fade - her "So I made my way to the front of the class, next to Proffessor Flitwick, and began casting the spell to make a feather float in the air." - her "But, as I was explaining the proper swishing and flicking motions, I realised--" + her "So, I made my way to the front of the class, next to Professor Flitwick, and began casting the spell, making the feather float in the air." + her "But, as I was explaining the proper swishing and flicking motions, it is when I realized--" gen "You weren't getting praised enough?" ("base", xpos="far_left", ypos="head") - her "I had already showed the class how to cast that spell ages ago." - her "So, there must've been some ulterior motive as to why he's have me do it again." - gen "You sure, he's not just forgetful? I forget to take my forgetfulness medication all the time." ("base", xpos="far_left", ypos="head") - her "He did it to take advantage of me, but unfortunately for him, \"forgetting\" that we've already learned the spell made that very clear to me!" - gen "So, what you're saying is that he never actually learned how to cast the spell, and is using his students to do it for him?" ("base", xpos="far_left", ypos="head") + her "I had already showed the class how to cast that particular spell ages ago." + her "It made me think, there must've been some ulterior motive as to why would Professor have me do it again." + gen "Maybe he's just forgetful? I forget to take my medication all the time." ("base", xpos="far_left", ypos="head") #unspecified medication makes it funnier + her "I am sure he did it to take advantage of me, but unfortunately for him, \"forgetting\" that we've already learned that spell made it very clear to me!" + gen "So, what you're saying is he never actually learnt how to cast the spell, and is making his students do it for him?" ("base", xpos="far_left", ypos="head") show her_flirt_public_flitwick eyes_down as cg with d5 - her "No, he was having me cast that spell as a distraction, so he could slid underneath my legs!" + her "No, that isn't what I meant. He was having me cast that spell to distract me, so he could slide under my skirt!" show her_flirt_public_flitwick mouth_open as cg at hg_pr_flirt_teacher_flitwick_panning call ctc - gen "He--{w=0.2} Hold on...{w=0.4} It took you that long to notice a grown-ass man disappearing beneath you?" ("base", xpos="far_left", ypos="head") + gen "He--{w=0.2} Hold on...{w=0.4} Even if your focus was on casting the spell, it took you that long to notice a grown-ass man disappearing beneath you?" ("base", xpos="far_left", ypos="head") her "He's a half-goblin! Of course I wouldn't notice right away!" gen "(Women and their obsession with height...)" - gen "Just because the man isn't six feet tall..." ("base", xpos="far_left", ypos="head") - her "W-What?" + gen "Just because the man isn't six feet tall doesn't mean--..." ("base", xpos="far_left", ypos="head") + her "*Huh*?" gen "I never thought you'd be so judgmental, [hermione_name]." ("base", xpos="far_left", ypos="head") gen "You shouldn't measure people by their height,{w=0.5} but by the size of their--" ("base", xpos="far_left", ypos="head") her "[genie_name]-- That's not what I meant! Could you listen to me first, please?" @@ -152,22 +152,24 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick hide cg with fade - her "Once I dropped the spell, he was already stood right next to me... Almost as if he had apparated." ("angry", "base", "base", "mid") + her "Even before I could react and stop him, Professor Flitwick was already standing right beside me... Almost as if he had apparated." ("angry", "base", "base", "mid") gen "How exciting." ("base", xpos="far_left", ypos="head") gen "Is this all you have for me today, [hermione_name]?" ("base", xpos="far_left", ypos="head") her "Y-yes..." ("open", "base", "worried", "mid") her "But [genie_name], I now know for a fact that professor Flitwick is \"dirty\"!" ("angry", "base", "worried", "mid") her "He looked at my panties, [genie_name]!" ("annoyed", "base", "worried", "R") + if hg_pf_admire_panties.counter > 1: gen "Didn't you show them off before?" ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") - gen "I mean, do you think flit-stick has shown this kind of behaviour before?" ("base", xpos="far_left", ypos="head") + her "That was... different..." ("annoyed", "base", "angry", "R", cheeks="blush") + gen "I mean, do you truly believe professor flit-stick has shown this kind of behaviour before?" ("base", xpos="far_left", ypos="head") else: gen "Lucky man." ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") gen "Yucky... Man..." ("base", xpos="far_left", ypos="head") - gen "So, does this flit-stick fella do this to other students as well, you think?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... It's \"Professor Flitwick\", [genie_name]." ("normal", "squint", "angry", "mid") + gen "So, does this flick-shit fella do this to other students as well, you think?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... It's \"Professor Flitwick\", [genie_name]." ("normal", "squint", "angry", "mid", cheeks=None) her "And yes, I don't doubt that this isn't the first time he's done this." ("normal", "squint", "angry", "mid") gen "Right. Putting him on my \"Naughty list\" as we speak." ("base", xpos="far_left", ypos="head") her "......................" ("annoyed", "squint", "base", "mid") @@ -176,6 +178,7 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick menu: "\"Here are your points though.\"": + gen "Know that I am a merciful master-- I mean a headmaster." ("annoyed", "squint", "base", "mid") her "Really?" ("angry", "base", "worried", "mid") her "Thank you so much [genie_name]!" ("smile", "happyCl", "base", "mid") From 634d4cb0b920f6deabc4d688a5a4224ba2bf3b8f Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 3 Oct 2022 01:33:55 +0200 Subject: [PATCH 11/27] Minor writing tweaks --- .../hermione/events/requests/flirt_with_teachers.rpy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy index 4954d802..5cdbe298 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy @@ -124,7 +124,7 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick her "But, as I was explaining the proper swishing and flicking motions, it is when I realized--" gen "You weren't getting praised enough?" ("base", xpos="far_left", ypos="head") her "I had already showed the class how to cast that particular spell ages ago." - her "It made me think, there must've been some ulterior motive as to why would Professor have me do it again." + her "It made me think, there must've been some ulterior motive as to why Professor Flitwick would have me do it again." gen "Maybe he's just forgetful? I forget to take my medication all the time." ("base", xpos="far_left", ypos="head") #unspecified medication makes it funnier her "I am sure he did it to take advantage of me, but unfortunately for him, \"forgetting\" that we've already learned that spell made it very clear to me!" gen "So, what you're saying is he never actually learnt how to cast the spell, and is making his students do it for him?" ("base", xpos="far_left", ypos="head") @@ -163,7 +163,8 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick gen "Didn't you show them off before?" ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") her "That was... different..." ("annoyed", "base", "angry", "R", cheeks="blush") - gen "I mean, do you truly believe professor flit-stick has shown this kind of behaviour before?" ("base", xpos="far_left", ypos="head") + gen "If you say so..." ("base", xpos="far_left", ypos="head") + gen "So, do you believe that professor flit-stick is showing this kind of behaviour frequently?" ("base", xpos="far_left", ypos="head") else: gen "Lucky man." ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") From 1e63a1651c4874bd86801bcd5db7a8e0808a0fd4 Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 3 Oct 2022 18:44:30 +0200 Subject: [PATCH 12/27] vibrator Event * Muted weather sounds during public CG --- .../hermione/events/items/vibrators.rpy | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 55f33f06..727e138b 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -2394,6 +2394,7 @@ label hg_vibrators_public_return: 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." ("open", "squint", "base", "R", cheeks="blush") call play_music("stop") + $ renpy.music.stop(channel="weather", fadeout=4) show screen blkfade with d5 @@ -2504,6 +2505,7 @@ label hg_vibrators_public_return: her "Yes, in short--" ("open", "narrow", "base", "R", cheeks="blush") call play_music("stop") + $ renpy.music.stop(channel="weather", fadeout=4) #CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression @@ -2843,6 +2845,8 @@ label hg_vibrators_public_return: hide cg with fade + call weather_sound + 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?" ("angry", "base", "base", "mid") @@ -2865,6 +2869,7 @@ label hg_vibrators_public_return: show her_vibrators_public_xray zorder 15 as cg play background "sounds/day.ogg" fadein 2 fadeout 2 play bg_sounds "sounds/vibrator_high.ogg" fadein 2 + $ renpy.music.stop(channel="weather", fadeout=4) with fade gen "So, the vibrators were going at full force on your breasts and pussy, yet the boys didn't suspect a thing?" @@ -3128,6 +3133,8 @@ label hg_vibrators_public_return: hide screen blkfade with d3 + call weather_sound + gen "And...{w=0.4} What happened next?" ("base", xpos="far_left", ypos="head") her "Well..." ("angry", "closed", "base", "mid", cheeks="blush") her "At first I felt fulfilled, almost happy, and bold, I somehow managed to get away without being caught." ("angry", "narrow", "base", "down", cheeks="blush") @@ -3236,6 +3243,8 @@ label hg_vibrators_public_return: hide cg with fade + call weather_sound + gen "That's one hell of an orgasm... And here I thought I took that crown." ("base", xpos="far_left", ypos="head") gen "So, is this like a bad ending or what?" ("base", xpos="far_left", ypos="head") her "A bad ending?" ("angry", "base", "base", "mid", cheeks="blush") @@ -3357,6 +3366,8 @@ label hg_vibrators_public_return: hide cg with fade + call weather_sound + gen "..." ("base", xpos="far_left", ypos="head") if not her_vibrators_public_stage == 2: @@ -3449,6 +3460,8 @@ label hg_vibrators_public_return: hide cg with fade + call weather_sound + her "--The vibrators stopped..." ("angry", "narrow", "base", "down", cheeks="blush") gen "Denied! I bet you loved that!" ("grin", xpos="far_left", ypos="head") her "I did not!" ("mad", "squint", "annoyed", "mid", cheeks="blush") @@ -3515,6 +3528,8 @@ label hg_vibrators_public_return: hide cg with fade + call weather_sound + gen "Well then...{w=0.4} I suppose that shall do for now, [hermione_name]." ("base", xpos="far_left", ypos="head") else: # Strength was set to high before. (second to worst ending) @@ -3544,6 +3559,8 @@ label hg_vibrators_public_return: hide cg with fade + call weather_sound + if not her_vibrators_public_stage == 2: her "Of course, it only lasted until you turned them back on while I was on my way here..." ("soft", "narrow", "base", "down", cheeks="blush") gen "What can I say, I like to keep you on your toes." ("grin", xpos="far_left", ypos="head") From 10e99cbc0564da9c8e09ece7fa6334e84d8aa035 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Thu, 6 Oct 2022 22:16:39 +0100 Subject: [PATCH 13/27] Bug fixes and additions * Added rummage sound * Added noshake parameter to personal CG * Remastered vibrator sounds to avoid clipping * Improved dialogue pacing * Improved chibis positioning * Fixed weather sounds playing over public CG * Fixed shaking CG displayable * Fixed logic issues --- game/scripts/cg/hermione.rpy | 20 ++- .../hermione/events/items/vibrators.rpy | 137 ++++++++++-------- game/scripts/shaders.rpy | 2 +- game/sounds/rummage.ogg | 3 + game/sounds/vibrator_high.ogg | 4 +- game/sounds/vibrator_low.ogg | 4 +- game/sounds/vibrator_medium.ogg | 4 +- game/sounds/vibrator_overdrive.ogg | 4 +- 8 files changed, 100 insertions(+), 78 deletions(-) create mode 100644 game/sounds/rummage.ogg diff --git a/game/scripts/cg/hermione.rpy b/game/scripts/cg/hermione.rpy index 4f6c8d2d..62e5bdbb 100644 --- a/game/scripts/cg/hermione.rpy +++ b/game/scripts/cg/hermione.rpy @@ -68,6 +68,7 @@ image CG ass expand classroom A2: layeredimage her_vibrators_public: fit "cover" + fit_first True attribute background default @@ -146,10 +147,14 @@ layeredimage her_vibrators_personal hermione1: group vibrator multiple variant "vibrator": attribute base default - attribute eggl default at shake_xlinear - attribute eggr default at shake_xlinear + attribute eggl default at shake_xlinear if_not "noshake" + attribute eggr default at shake_xlinear if_not "noshake" + attribute eggl default if_any "noshake" + attribute eggr default if_any "noshake" attribute tape default + attribute noshake null + layeredimage her_vibrators_personal hermione2: fit "cover" fit_first True @@ -172,11 +177,16 @@ layeredimage her_vibrators_personal hermione2: group vibrator multiple variant "vibrator": attribute base default - attribute eggl default at shake_xlinear - attribute eggr default at shake_xlinear - attribute eggm default at shake_xlinear + attribute eggl default at shake_xlinear if_not "noshake" + attribute eggr default at shake_xlinear if_not "noshake" + attribute eggm default at shake_xlinear if_not "noshake" + attribute eggl default if_any "noshake" + attribute eggr default if_any "noshake" + attribute eggm default if_any "noshake" attribute tape default + attribute noshake null + layeredimage her_vibrators_personal hermione3: fit "cover" fit_first True diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 727e138b..2352a884 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -15,12 +15,14 @@ label hg_vibrators: gen "I've got a gift for you, [hermione_name]." ("base", xpos="far_left", ypos="head") her "A gift?" ("open", "base", "base", "mid",xpos="base",ypos="base") - gen "Yep, just close your eyes and put your hand in this box!" ("base", xpos="far_left", ypos="head") + gen "Yep, just come closer, close your eyes and put your hand in this box!" ("base", xpos="far_left", ypos="head") + call her_walk("desk", "base") ">You present the Box-o-fun to Hermione." if not her_vibrators_seen: her "\"Satisfaction guaranteed\"? What does that mean?" ("open", "squint", "base", "mid") gen "It means what it says on the box, now close your eyes and put your hand in there." ("base", xpos="far_left", ypos="head") her "Alright..." ("open", "closed", "base", "mid") + play sound "sounds/rummage.ogg" ">Hermione puts a hand in the box and takes out a set of egg-shaped vibrators." gen "Interesting... You've chosen well." ("base", xpos="far_left", ypos="head") her "Can I open my eyes now?" ("soft", "closed", "base", "mid") @@ -28,11 +30,11 @@ label hg_vibrators: else: if her_tier < 4: #Fail her "This again?" ("annoyed", "base", "base", "mid") - her "It's not going to be something weird like last time, is it?" ("annoyed", "happy", "worried", "mid") + her "It's not going to be something weird like the last time, is it?" ("annoyed", "happy", "worried", "mid") gen "Of course not... Just close your eyes and put your hand in the box." ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "mid") her "" ("annoyed", "closed", "base", "mid") - call ctc + play sound "sounds/rummage.ogg" ">Hermione rummages around in the box and brings out the egg-shaped vibrators." gen "Alright, you can open--" ("base", xpos="far_left", ypos="head") else: @@ -315,7 +317,7 @@ label hg_vibrators_fail: her "!!!" ("clench", "wide", "base", "stare") #Wide eyed play sound "sounds/drop_plastic.ogg" - show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 gen "There it is!" ("grin", xpos="far_left", ypos="head") @@ -357,7 +359,7 @@ label hg_vibrators_fail: her "I think I should go..." ("angry", "narrow", "base", "R", cheeks="blush") play sound "sounds/drop_plastic.ogg" - show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 #Hermione leaves @@ -369,6 +371,8 @@ label hg_vibrators_fail: call gen_chibi("stand", 230, "base", flip=True) call gen_walk(path=[(230, 470), (440, 470), (450, 430)]) + call gen_chibi(flip=False) + with d5 pause 0.5 @@ -393,7 +397,7 @@ label hg_vibrators_fail_repeat: her "..." ("disgust", "squint", "angry", "mid") play sound "sounds/drop_plastic.ogg" - show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 gen "And who said I wanted you to use it in front of me?" ("base", xpos="far_left", ypos="head") @@ -417,7 +421,7 @@ label hg_vibrators_fail_repeat: her "{size=+6}No!{/size}" ("open", "base", "angry", "mid") with hpunch play sound "sounds/drop_plastic.ogg" - show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 gen "Oh..." ("base", xpos="far_left", ypos="head") @@ -445,6 +449,7 @@ label hg_vibrators_fail_repeat: call gen_chibi("stand", 230, "base", flip=True) call gen_walk(path=[(230, 470), (440, 470), (450, 430)]) + call gen_chibi(flip=False) pause 0.5 @@ -488,7 +493,7 @@ label hg_vibrators_public: gen "You're not allowed to touch the controllers." ("base", xpos="far_left", ypos="head") her "Wait, then how do I control them?" ("angry", "base", "base", "mid", cheeks="blush") gen "You don't. I'll control them myself using the remote, that way you can just focus on enjoying yourself." ("base", xpos="far_left", ypos="head") - her "You'll... But then how am I supposed to know when they'll go off?" ("clench", "base", "base", "mid", cheeks="blush") + her "You will? But then how am I supposed to know when they'll go off?" ("clench", "base", "base", "mid", cheeks="blush") gen "That's what makes it fun." ("base", xpos="far_left", ypos="head") her "What if they go off when there's other students or teachers around?" ("angry", "squint", "base", "mid", cheeks="blush") gen "That's just a risk you'll have to take." ("base", xpos="far_left", ypos="head") @@ -703,7 +708,8 @@ label hg_vibrators_personal: play sound "sounds/click4.ogg" play bg_sounds "sounds/vibrator_low.ogg" - her "*Ah*...{w=0.4} That's better..." ("base", "closed", "worried", "mid", cheeks="blush") + her "*Ah*...{w=0.4} That's better... Just a little more--" ("base", "closed", "worried", "mid", cheeks="blush") + gen "Now-now, let's not get hasty." ("base", xpos="far_left", ypos="head") "-Raise the intensity-": @@ -712,10 +718,11 @@ label hg_vibrators_personal: her "{cps=16}*Ahhhhhhhhh*{/cps} [genie_name]!!" ("disgust", "narrow", "base", "up", cheeks="blush") gen "Oops, my bad! My hand slipped..." ("base", xpos="far_left", ypos="head") - gen "(Wouldn't want to end it too soon...)" ("base", xpos="far_left", ypos="head") - play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + gen "(Wouldn't want to end it too soon...)" ("base", xpos="far_left", ypos="head") + + play sound "sounds/click4.ogg" + stop bg_sounds gen "Now, why don't you do me a favour, and lie down on the desk for me?" ("base", xpos="far_left", ypos="head") her "You...{w=0.4} You want me to do what?!" ("angry", "wide", "base", "mid", cheeks="blush") @@ -731,10 +738,12 @@ label hg_vibrators_personal: her "The what--" ("angry", "base", "base", "mid", cheeks="blush") call play_music("stop") - stop bg_sounds fadeout 2.0 #Hermione legs closed - show her_vibrators_personal hermione1 eyebrows_upset eyes_squint_right mouth_annoyed zorder 15 as cg with fade + if game.daytime: + show her_vibrators_personal hermione1 noshake eyebrows_upset eyes_squint_right mouth_annoyed zorder 15 as cg with fade + else: + show her_vibrators_personal hermione1 noshake eyebrows_upset eyes_squint_right mouth_annoyed zorder 15 as cg at color_temperature(1.0) with fade call play_music("playful_tension") # SEX THEME. gen "I love a good transition to get straight to the point." ("base", xpos="far_left", ypos="head") @@ -767,7 +776,7 @@ label hg_vibrators_personal: play bg_sounds "sounds/vibrator_low.ogg" #Hermione legs closed - show her_vibrators_personal hermione1 eyebrows_upset eyes_wide_crossed mouth_open as cg with d5 + show her_vibrators_personal hermione1 eyebrows_upset eyes_wide_crossed mouth_open -noshake as cg with d5 her "*Ah*!" @@ -1030,7 +1039,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_worried eyes_clenched mouth_open effects_wetness as cg with d5 - her "*Nnnnngh*--{w=0.8}{nw}" + her "*Nnnnngh*--{w=0.8}{nw}" with kissiris #Hermione pelvis up @@ -1156,10 +1165,10 @@ label hg_vibrators_personal: her "O--{w=0.2} Of course..."#annoyed show her_vibrators_personal mouth_annoyed as cg with d5 - call ctc + pause 1 show her_vibrators_personal eyebrows_worried eyes_closed mouth_annoyed as cg with d5 - call ctc + pause 1 show her_vibrators_personal mouth_open as cg with d5 @@ -1321,7 +1330,7 @@ label hg_vibrators_personal: gen "You shall not cum.{fast}{w=0.4}{nw}" ("base", xpos="far_left", ypos="head") - show her_vibrators_personal eyebrows_neutral eyes_wide_forward mouth_shocked as cg with d5 + show her_vibrators_personal noshake eyebrows_neutral eyes_wide_forward mouth_shocked as cg with d5 her "W--{w=0.2} What?!" @@ -1548,9 +1557,9 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_worried eyes_squint_crossed as cg with d5 - her "*Ah*!! [genie_name], I can't--" + her "*Aheeeee*!! [genie_name], I can't--" gen "Answer me!" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.2} *Ah*...{w=0.2} I..." + her "*Ahhh*...{w=0.2} *Ahee*...{w=0.2} I..." gen "Tell me you want to cum!" ("base", xpos="far_left", ypos="head") gen "Say it!" ("angry", xpos="far_left", ypos="head") @@ -1558,7 +1567,7 @@ label hg_vibrators_personal: her "*Ah*...{w=0.4}{size=+4} I want to cum!{/size}{heart}" gen "How much do you want it?" ("base", xpos="far_left", ypos="head") - her "{heart}{heart}{size=+4}A lot, please let me cum!{/size}{heart}{heart}" + her "{heart}{heart}{size=+4}A lot, please, [genie_name], please let me cum!!!{/size}{heart}{heart}" show her_vibrators_personal eyebrows_worried mouth_ahegao_wet as cg with d5 @@ -1583,7 +1592,7 @@ label hg_vibrators_personal: her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{w=0.4}{nw}" ("grin", "narrow", "annoyed", "up", cheeks="blush") - show her_vibrators_personal -effects_squirt as cg + show her_vibrators_personal -effects_squirt effects_puddle as cg her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{fast}" ("grin", "narrow", "annoyed", "up", cheeks="blush") @@ -1595,7 +1604,7 @@ label hg_vibrators_personal: play sound "sounds/slick_01.ogg" her "{size=+8}{heart}*Ah*!{heart}{/size}{w=0.4}{nw}" - show her_vibrators_personal -effects_squirt effects_puddle as cg with d5 + show her_vibrators_personal -effects_squirt as cg with d5 her "{size=+8}{heart}*Ah*!{heart}{/size}{fast}" @@ -1699,18 +1708,18 @@ label hg_vibrators_personal: if not her_outfit_vibrators.unlocked: gen "You can take those vibrators with you, if you want." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "base", "base", "stare", cheeks="blush") + her "..." ("soft", "base", "base", "R", cheeks="blush") - call her_walk("desk", "base") pause 0.5 hide vibrators_floor + $ hermione.hide() call unlock_clothing(">Congratulations! You have unlocked a new outfit!", 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") her "........*sigh*" ("base", "narrow", "base", "down", cheeks="blush") her "I won't..." ("base", "narrow", "base", "down", cheeks="blush") - gen "Who said that?" ("base", xpos="far_left", ypos="head") + gen "Who said that?" ("open", xpos="far_left", ypos="head") else: gen "Don't forget your vibrators." ("base", xpos="far_left", ypos="head") @@ -1940,7 +1949,7 @@ label hg_vibrators_personal: with d3 play sound "sounds/drop_plastic.ogg" - show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 gen "What the--" ("base", xpos="far_left", ypos="head") @@ -1950,10 +1959,8 @@ 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!" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") - hide vibrators_floor - with d5 + nar ">Hermione bends over and picks up the vibrators from the ground, slamming them onto your desk." - call her_walk("desk", "base") play sound "sounds/punch01.ogg" show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with hpunch @@ -1984,9 +1991,12 @@ label hg_vibrators_personal: her "Thanks..." ("annoyed", "narrow", "angry", "R", cheeks="blush") $ hermione.equip(her_outfit_last) - with d3 + $ hermione.hide() + with fade pause 1 + her "..." ("annoyed", "narrow", "worried", "R", cheeks="blush") + call her_walk(action="leave") @@ -2014,7 +2024,7 @@ label hg_vibrators_personal: $ hermione.equip([her_panties_base1, her_bra_base1]) $ hermione.unequip("accessory0", "accessory1") play sound "sounds/drop_plastic.ogg" - show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) + show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 her "I have told you to not turn it up without letting me know beforehand!" ("clench", "wide", "annoyed", "mid", cheeks="blush") @@ -2022,16 +2032,18 @@ label hg_vibrators_personal: her "I can't believe you tried to make me apologise!" ("angry", "base", "angry", "mid", cheeks="blush") gen "..." ("angry", xpos="far_left", ypos="head") + nar ">Hermione bends over and picks up the vibrators from the ground, slamming them onto your desk." + hide vibrators_floor with d5 - call her_walk("desk", "base") play sound "sounds/punch01.ogg" show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with hpunch her "My points! Now!" ("open", "base", "annoyed", "mid", cheeks="blush") gen "Alright, alright... Don't get your panties in a twist." ("angry", xpos="far_left", ypos="head") + $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") @@ -2041,17 +2053,17 @@ label hg_vibrators_personal: gen "There, happy?" ("base", xpos="far_left", ypos="head") her "Very!" ("open", "narrow", "angry", "R") # Sarcastic - call her_walk("mid", "base") - $ hermione.equip(her_outfit_last) - with d3 + $ hermione.hide() + with fade pause 1 + her "*Hmph*!" ("normal", "base", "angry", "mid", cheeks="blush") + call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - else: #low mood penalty $ her_mood += 10 @@ -2125,7 +2137,7 @@ label hg_vibrators_personal: stop bg_sounds hide vibrators_floor - with d3 + with fade jump end_hermione_event @@ -2147,7 +2159,7 @@ label hg_vibrators_public_return: call her_walk("mid", "base", action="enter") gen "Finally! What took you--" ("base", xpos="far_left", ypos="head") - her "I'm so sorry, [genie_name]!!" ("scream", "happyCl", "worried", "mid", cheeks="blush", xpos="base", ypos="base") + her "I'm so sorry, [genie_name]!!" ("scream", "happyCl", "worried", "mid", cheeks="blush", xpos="mid", ypos="base") her "" ("angry", "happyCl", "worried", "mid", cheeks="blush") play sound "sounds/cloth_sound3.ogg" @@ -2211,6 +2223,9 @@ label hg_vibrators_public_return: her "These things...{w=0.4} *Ah*...{w=0.4} They turned on as I was walking up the stairs to your tower..." ("angry", "closed", "worried", "stare", cheeks="blush") gen "They--" ("base", xpos="far_left", ypos="head") + $ hermione.hide() + with d3 + play sound "sounds/drawer_open.ogg" pause 1 @@ -2223,7 +2238,7 @@ label hg_vibrators_public_return: stop bg_sounds gen "*Loud cough*{fast}" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} F-Finally..." ("angry", "narrow", "base", "down", cheeks="blush") + her "*Ah*...{w=0.4} F-Finally..." ("angry", "narrow", "base", "down", cheeks="blush", xpos="base") play sound "sounds/cloth_sound3.ogg" $ hermione.wear("panties") @@ -2285,27 +2300,24 @@ label hg_vibrators_public_return: call gen_chibi("stand", 225, "base") with d5 - her "What are you--" ("angry", "base", "base", "mid", cheeks="blush") + her "...?" ("soft", "base", "base", "mid", cheeks="blush") - call gen_chibi("stand", 225, "base", flip=True) - call gen_walk(path=[(230, 470), (440, 470), (450, 430)]) + call gen_walk(path=[(230, 470), (440, 470), (450, 430)], speed=1.2) pause 0.5 play sound "sounds/boing02.ogg" - gen "Boop!" ("base", xpos="far_left", ypos="head") + gen "Boop!" ("base", xpos="far_left", ypos="base") her "{heart}*Ah*!!!{heart}" ("angry", "base", "base", "stare", cheeks="blush") her "Why did you do that?" ("angry", "narrow", "base", "mid", cheeks="blush") gen "I don't know, just felt like it." ("base", xpos="far_left", ypos="base") call gen_chibi("stand", 450, 430, flip=False) - pause 0.5 + with d5 - call gen_walk(path=[(450, 430), (440, 470), (230, 470)]) - - pause 0.5 + call gen_walk(path=[(450, 430), (440, 470), (230, 470)], speed=1.2) call gen_chibi("sit_behind_desk") - with d3 + with d5 pause 1 her "*Hmph*... As I was saying..." ("angry", "base", "base", "R", cheeks="blush") @@ -2394,7 +2406,7 @@ label hg_vibrators_public_return: 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." ("open", "squint", "base", "R", cheeks="blush") call play_music("stop") - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 show screen blkfade with d5 @@ -2505,7 +2517,7 @@ label hg_vibrators_public_return: her "Yes, in short--" ("open", "narrow", "base", "R", cheeks="blush") call play_music("stop") - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 #CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression @@ -2844,7 +2856,6 @@ label hg_vibrators_public_return: stop background fadeout 2 hide cg with fade - call weather_sound gen "{size=+4}THEY WERE WHAT?!?{/size}" ("angry", xpos="far_left", ypos="head") @@ -2869,7 +2880,7 @@ label hg_vibrators_public_return: show her_vibrators_public_xray zorder 15 as cg play background "sounds/day.ogg" fadein 2 fadeout 2 play bg_sounds "sounds/vibrator_high.ogg" fadein 2 - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 with fade gen "So, the vibrators were going at full force on your breasts and pussy, yet the boys didn't suspect a thing?" @@ -3128,13 +3139,13 @@ label hg_vibrators_public_return: stop music fadeout 1.0 hide vibrator_interface hide cg + call weather_sound + her "The vibrators turned off." hide screen blkfade with d3 - call weather_sound - gen "And...{w=0.4} What happened next?" ("base", xpos="far_left", ypos="head") her "Well..." ("angry", "closed", "base", "mid", cheeks="blush") her "At first I felt fulfilled, almost happy, and bold, I somehow managed to get away without being caught." ("angry", "narrow", "base", "down", cheeks="blush") @@ -3223,14 +3234,17 @@ label hg_vibrators_public_return: her "I didn't care what would happen, as long as I could cum and see this through to the very end." her "And that's when they called my name..." - show her_vibrators_public eyebrows_worried eyes_crossed mouth_shocked -npc_shock_harry as xray_child - show her_vibrators_public_proxy eyebrows_worried eyes_crossed mouth_shocked -npc_shock_harry as xray_overlay + show her_vibrators_public eyebrows_worried eyes_crossed mouth_shocked as xray_child + show her_vibrators_public_proxy eyebrows_worried eyes_crossed mouth_shocked as xray_overlay - her "Their voices brought me back to reality, and I finally took in my surroundings, realising the situation I was in, but it was too late." + her "Their voices brought me back to reality, and I finally took in my surroundings, realizing the situation I was in, but it was too late." show her_vibrators_public no_hermione as xray_child show her_vibrators_public_proxy no_hermione as xray_overlay + play sound "sounds/fall.ogg" + with hpunch + her "My legs finally buckled, as orgasm, after orgasm had finally took its toll on my body." her "My friends seeing this, yelped out in shock, calling my name again." her "And after sitting down on my knees in a moment that felt like eternity, I finally slumped to the floor and everything went dark." @@ -3242,7 +3256,6 @@ label hg_vibrators_public_return: hide vibrator_interface hide cg with fade - call weather_sound gen "That's one hell of an orgasm... And here I thought I took that crown." ("base", xpos="far_left", ypos="head") @@ -3365,7 +3378,6 @@ label hg_vibrators_public_return: hide vibrator_interface hide cg with fade - call weather_sound gen "..." ("base", xpos="far_left", ypos="head") @@ -3459,7 +3471,6 @@ label hg_vibrators_public_return: hide vibrator_interface hide cg with fade - call weather_sound her "--The vibrators stopped..." ("angry", "narrow", "base", "down", cheeks="blush") @@ -3527,7 +3538,6 @@ label hg_vibrators_public_return: hide vibrator_interface hide cg with fade - call weather_sound gen "Well then...{w=0.4} I suppose that shall do for now, [hermione_name]." ("base", xpos="far_left", ypos="head") @@ -3558,7 +3568,6 @@ label hg_vibrators_public_return: hide vibrator_interface hide cg with fade - call weather_sound if not her_vibrators_public_stage == 2: diff --git a/game/scripts/shaders.rpy b/game/scripts/shaders.rpy index 58881bd1..cff58c16 100644 --- a/game/scripts/shaders.rpy +++ b/game/scripts/shaders.rpy @@ -38,5 +38,5 @@ transform color_temperature(factor=1.0, strength=1.0): mesh True shader "color_temperature_shader" - u_factor factor + u_factor factor # 0.075 dusk, 0.1 dawn, 0.5 evening, 1.0 night u_strength strength diff --git a/game/sounds/rummage.ogg b/game/sounds/rummage.ogg new file mode 100644 index 00000000..b550610c --- /dev/null +++ b/game/sounds/rummage.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27ffafc100251fa4208c1555dd141e2b1eada3ad083058bf6a6ae7d811fed5ae +size 32938 diff --git a/game/sounds/vibrator_high.ogg b/game/sounds/vibrator_high.ogg index afec2bfa..75113030 100644 --- a/game/sounds/vibrator_high.ogg +++ b/game/sounds/vibrator_high.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e0f0773da01907310ba36b56656689a486c40d36cbf64ab528d57e570852a35 -size 56371 +oid sha256:a0935d61d3aba35ef26fa7d4efebeed91f206869a1da60c742dbe6ca5a7ca1fc +size 17136 diff --git a/game/sounds/vibrator_low.ogg b/game/sounds/vibrator_low.ogg index b4cf5d12..407fb080 100644 --- a/game/sounds/vibrator_low.ogg +++ b/game/sounds/vibrator_low.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:224ebba0d6993b05c0da0516762277fa236064079c455d4f996e1b2e185d6e48 -size 75638 +oid sha256:d20f2f195f4ed0d1bc8ec0f5ef52e8eb0c12ac5130317de1bd94542845cbcf14 +size 30793 diff --git a/game/sounds/vibrator_medium.ogg b/game/sounds/vibrator_medium.ogg index eb94a40c..d7613101 100644 --- a/game/sounds/vibrator_medium.ogg +++ b/game/sounds/vibrator_medium.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17e1702a5f186dd926558423f2884806b2648062d4c9ce6260d1345c78483499 -size 62353 +oid sha256:7db332321f95243c7b8e6ba95df8f99169d4f8018ec9eb8e8cf3be92e2cf638a +size 17657 diff --git a/game/sounds/vibrator_overdrive.ogg b/game/sounds/vibrator_overdrive.ogg index bf9a2a4f..b487927c 100644 --- a/game/sounds/vibrator_overdrive.ogg +++ b/game/sounds/vibrator_overdrive.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a89f735ef532fc978f08f85769e724c84837a5a67c88e6efad468294a97f0001 -size 58767 +oid sha256:5145b45700570e4b603052eae2c79baaf3b29b4af905f57b9acb529e5e6f0aa0 +size 15116 From b2fc769e69a2c951cacc99e9af27f0e2f4fa9d80 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 8 Oct 2022 21:59:31 +0100 Subject: [PATCH 14/27] Save Compatibility * Added a workaround for call stack issues on old saves * Rebuilt whitespace * Removed redundant load_fix functions --- game/images.whitespace | 312 +++++++++++++++++++++++++++++- game/scripts/utility/load_fix.rpy | 51 ----- game/scripts/utility/updater.rpy | 13 ++ 3 files changed, 318 insertions(+), 58 deletions(-) delete mode 100644 game/scripts/utility/load_fix.rpy diff --git a/game/images.whitespace b/game/images.whitespace index 89cd5c5b..a2782ad5 100644 --- a/game/images.whitespace +++ b/game/images.whitespace @@ -1945,10 +1945,21 @@ characters/hermione/clothes/accessory/ball_sash/1.webp:498,766,131,125 characters/hermione/clothes/accessory/ball_sash/extra.webp:510,769,43,117 characters/hermione/clothes/accessory/ball_sash/outline.webp:414,765,308,232 characters/hermione/clothes/accessory/ball_sash/outline_back.webp:458,990,242,7 +characters/hermione/clothes/accessory/bb_tie/0.webp:501,513,176,362 +characters/hermione/clothes/accessory/bb_tie/1.webp:502,569,83,305 +characters/hermione/clothes/accessory/bb_tie/2.webp:502,574,81,300 +characters/hermione/clothes/accessory/bb_tie/outline.webp:501,511,178,366 +characters/hermione/clothes/accessory/bb_tie/skin.webp:514,535,127,339 characters/hermione/clothes/accessory/bunny_badge/0.webp:568,789,60,99 characters/hermione/clothes/accessory/bunny_badge/outline.webp:568,789,61,101 characters/hermione/clothes/accessory/cat_tail/0.webp:315,950,147,237 characters/hermione/clothes/accessory/cat_tail/outline.webp:312,947,152,240 +characters/hermione/clothes/accessory/clit_vibrators/0.webp:530,835,85,155 +characters/hermione/clothes/accessory/clit_vibrators/1.webp:527,849,95,77 +characters/hermione/clothes/accessory/clit_vibrators/2.webp:558,964,133,38 +characters/hermione/clothes/accessory/clit_vibrators/extra.webp:533,899,63,75 +characters/hermione/clothes/accessory/clit_vibrators/outline.webp:525,834,167,170 +characters/hermione/clothes/accessory/clit_vibrators/skin.webp:542,838,67,131 characters/hermione/clothes/accessory/croft_belt/0.webp:432,815,278,240 characters/hermione/clothes/accessory/croft_belt/1.webp:443,869,225,175 characters/hermione/clothes/accessory/croft_belt/2.webp:494,854,61,38 @@ -1965,6 +1976,12 @@ characters/hermione/clothes/accessory/leg_wrap/1.webp:504,857,169,168 characters/hermione/clothes/accessory/leg_wrap/outline.webp:488,856,207,170 characters/hermione/clothes/accessory/msmarv_ribbon/0.webp:434,797,270,317 characters/hermione/clothes/accessory/msmarv_ribbon/outline.webp:431,794,275,323 +characters/hermione/clothes/accessory/nipple_vibrators/0.webp:437,553,276,135 +characters/hermione/clothes/accessory/nipple_vibrators/1.webp:436,548,193,137 +characters/hermione/clothes/accessory/nipple_vibrators/2.webp:661,589,73,47 +characters/hermione/clothes/accessory/nipple_vibrators/extra.webp:440,628,257,35 +characters/hermione/clothes/accessory/nipple_vibrators/outline.webp:434,547,302,143 +characters/hermione/clothes/accessory/nipple_vibrators/skin.webp:451,571,266,94 characters/hermione/clothes/accessory/tifa_belt/0.webp:452,841,237,111 characters/hermione/clothes/accessory/tifa_belt/1.webp:524,894,22,10 characters/hermione/clothes/accessory/tifa_belt/extra.webp:452,849,237,52 @@ -2073,11 +2090,15 @@ characters/hermione/clothes/bottom/yen_skirt/0.webp:454,824,239,151 characters/hermione/clothes/bottom/yen_skirt/outline.webp:451,822,244,155 characters/hermione/clothes/bra/bandaids/0.webp:437,634,169,66 characters/hermione/clothes/bra/bandaids/outline.webp:435,632,173,68 -characters/hermione/clothes/bra/basic_bra_1/0.webp:448,515,232,211 +characters/hermione/clothes/bra/basic_bra_1/0.webp:436,516,243,209 characters/hermione/clothes/bra/basic_bra_1/1.webp:523,677,26,22 characters/hermione/clothes/bra/basic_bra_1/mask.webp:0,0,1010,1200 characters/hermione/clothes/bra/basic_bra_1/outline.webp:447,515,235,211 characters/hermione/clothes/bra/basic_bra_1/skin.webp:507,526,151,199 +characters/hermione/clothes/bra/basic_bra_vibrators/0.webp:436,516,243,209 +characters/hermione/clothes/bra/basic_bra_vibrators/1.webp:524,677,25,22 +characters/hermione/clothes/bra/basic_bra_vibrators/outline.webp:434,515,247,211 +characters/hermione/clothes/bra/basic_bra_vibrators/skin.webp:507,527,151,198 characters/hermione/clothes/bra/bikini_bra_1/0.webp:436,626,160,65 characters/hermione/clothes/bra/bikini_bra_1/1.webp:450,626,148,67 characters/hermione/clothes/bra/bikini_bra_1/extra.webp:433,635,149,51 @@ -2330,10 +2351,14 @@ characters/hermione/clothes/neckwear/whore_collar/overlay.webp:577,486,74,29 characters/hermione/clothes/neckwear/yen_choker/0.webp:579,477,69,29 characters/hermione/clothes/neckwear/yen_choker/extra.webp:579,503,26,32 characters/hermione/clothes/neckwear/yen_choker/outline.webp:577,475,72,60 -characters/hermione/clothes/panties/basic_panties_1/0.webp:459,821,223,113 +characters/hermione/clothes/panties/basic_panties_1/0.webp:459,822,223,112 characters/hermione/clothes/panties/basic_panties_1/1.webp:527,850,19,18 characters/hermione/clothes/panties/basic_panties_1/outline.webp:459,819,225,117 characters/hermione/clothes/panties/basic_panties_1/skin.webp:463,824,208,101 +characters/hermione/clothes/panties/basic_panties_vibrators/0.webp:459,822,223,112 +characters/hermione/clothes/panties/basic_panties_vibrators/1.webp:528,850,17,17 +characters/hermione/clothes/panties/basic_panties_vibrators/outline.webp:458,819,226,117 +characters/hermione/clothes/panties/basic_panties_vibrators/skin.webp:463,824,209,101 characters/hermione/clothes/panties/bikini_panties_1/0.webp:532,898,34,37 characters/hermione/clothes/panties/bikini_panties_1/1.webp:472,849,94,82 characters/hermione/clothes/panties/bikini_panties_1/outline.webp:466,840,203,96 @@ -2517,6 +2542,11 @@ characters/hermione/clothes/stockings/xmas/outline.webp:459,846,228,354 characters/hermione/clothes/stockings/yen_stockings/0.webp:474,1010,214,190 characters/hermione/clothes/stockings/yen_stockings/outline.webp:479,1026,204,174 characters/hermione/clothes/tattoo/10g_tattoo/0.webp:520,843,49,55 +characters/hermione/clothes/tattoo/bb_tattoo/0.webp:602,840,71,91 +characters/hermione/clothes/tattoo/bb_tattoo/1.webp:620,858,38,28 +characters/hermione/clothes/tattoo/bb_tattoo/2.webp:620,875,50,36 +characters/hermione/clothes/tattoo/bb_tattoo/extra.webp:619,858,51,54 +characters/hermione/clothes/tattoo/bb_tattoo/skin.webp:620,858,51,54 characters/hermione/clothes/tattoo/bunny_tattoo1/0.webp:616,874,50,79 characters/hermione/clothes/tattoo/cockhole_tattoo/0.webp:515,847,63,37 characters/hermione/clothes/tattoo/cumhere_tattoo1/0.webp:530,545,130,39 @@ -2728,6 +2758,13 @@ characters/hermione/cum/legs/heavy.webp:457,860,215,340 characters/hermione/cum/legs/light.webp:510,860,146,191 characters/hermione/cum/pussy/heavy.webp:537,923,21,114 characters/hermione/cum/pussy/light.webp:537,923,20,44 +characters/hermione/cum/pussy/underwear_heavy.webp:529,918,35,51 +characters/hermione/cum/pussy/underwear_light.webp:529,918,35,38 +characters/hermione/cum/pussy/vibrator_post.webp:526,895,41,89 +characters/hermione/cum/pussy/vibrator_pre.webp:533,920,32,22 +characters/hermione/cum/pussy/vibrator_squirt.webp:513,895,54,136 +characters/hermione/cum/pussy/vibratorp_heavy.webp:529,911,35,58 +characters/hermione/cum/pussy/vibratorp_light.webp:529,918,35,38 characters/hermione/emote/angry.webp:602,319,45,43 characters/hermione/emote/confused.webp:449,166,129,101 characters/hermione/emote/happy.webp:472,135,131,127 @@ -4183,6 +4220,30 @@ characters/susan/clothes/panties/sport_panties_1/0.webp:454,866,269,157 characters/susan/clothes/panties/sport_panties_1/1.webp:454,846,267,183 characters/susan/clothes/panties/sport_panties_1/outline.webp:452,843,272,187 characters/susan/clothes/panties/sport_panties_1/skin.webp:458,847,240,184 +characters/susan/clothes/robe/robe_school_1/0.webp:417,555,349,645 +characters/susan/clothes/robe/robe_school_1/1.webp:491,512,218,140 +characters/susan/clothes/robe/robe_school_1/extra.webp:517,648,61,13 +characters/susan/clothes/robe/robe_school_1/outline.webp:416,510,352,690 +characters/susan/clothes/robe/robe_school_1/skin.webp:527,532,130,133 +characters/susan/clothes/robe/robe_school_2/0.webp:417,555,349,645 +characters/susan/clothes/robe/robe_school_2/1.webp:491,512,218,140 +characters/susan/clothes/robe/robe_school_2/extra.webp:406,620,262,580 +characters/susan/clothes/robe/robe_school_2/outline.webp:416,510,352,690 +characters/susan/clothes/robe/robe_school_2/skin.webp:504,532,192,668 +characters/susan/clothes/robe/robe_school_3/0.webp:417,555,349,645 +characters/susan/clothes/robe/robe_school_3/1.webp:491,512,218,140 +characters/susan/clothes/robe/robe_school_3/1_back.webp:487,1165,23,35 +characters/susan/clothes/robe/robe_school_3/2.webp:487,1165,23,35 +characters/susan/clothes/robe/robe_school_3/extra.webp:406,648,262,552 +characters/susan/clothes/robe/robe_school_3/outline.webp:416,510,352,690 +characters/susan/clothes/robe/robe_school_3/skin.webp:492,532,204,668 +characters/susan/clothes/robe/robe_school_4/0.webp:455,747,314,453 +characters/susan/clothes/robe/robe_school_4/1.webp:449,735,292,124 +characters/susan/clothes/robe/robe_school_4/1_back.webp:424,997,87,203 +characters/susan/clothes/robe/robe_school_4/extra.webp:483,815,233,45 +characters/susan/clothes/robe/robe_school_4/outline.webp:447,731,322,469 +characters/susan/clothes/robe/robe_school_4/outline_back.webp:425,918,87,282 +characters/susan/clothes/robe/robe_school_4/skin.webp:452,770,261,430 characters/susan/clothes/stockings/short_school_1/0.webp:480,1121,222,79 characters/susan/clothes/stockings/short_school_1/1.webp:469,1078,241,122 characters/susan/clothes/stockings/short_school_1/extra.webp:505,1101,101,90 @@ -4402,6 +4463,11 @@ characters/tonks/clothes/accessory/flower/extra.webp:634,542,72,64 characters/tonks/clothes/accessory/flower/outline.webp:632,541,75,67 characters/tonks/clothes/accessory/neck_towel/0.webp:433,497,265,269 characters/tonks/clothes/accessory/neck_towel/outline.webp:431,494,269,274 +characters/tonks/clothes/accessory/office_pin/0.webp:440,671,46,30 +characters/tonks/clothes/accessory/office_pin/1.webp:451,647,16,27 +characters/tonks/clothes/accessory/office_pin/2.webp:442,671,44,11 +characters/tonks/clothes/accessory/office_pin/extra.webp:441,672,42,25 +characters/tonks/clothes/accessory/office_pin/outline.webp:440,646,47,56 characters/tonks/clothes/accessory/police_badge/0.webp:609,609,56,52 characters/tonks/clothes/accessory/police_badge/outline.webp:608,608,58,54 characters/tonks/clothes/accessory/succubus_tail/0.webp:694,871,142,163 @@ -4423,6 +4489,15 @@ characters/tonks/clothes/bottom/leggings/0.webp:433,818,321,382 characters/tonks/clothes/bottom/leggings/outline.webp:433,815,322,385 characters/tonks/clothes/bottom/leggings_hole/0.webp:433,818,321,382 characters/tonks/clothes/bottom/leggings_hole/outline.webp:433,815,322,385 +characters/tonks/clothes/bottom/mechanic_shorts/0.webp:430,857,276,145 +characters/tonks/clothes/bottom/mechanic_shorts/1.webp:436,851,248,86 +characters/tonks/clothes/bottom/mechanic_shorts/2.webp:568,889,35,35 +characters/tonks/clothes/bottom/mechanic_shorts/3.webp:432,945,278,72 +characters/tonks/clothes/bottom/mechanic_shorts/outline.webp:428,848,284,171 +characters/tonks/clothes/bottom/mechanic_shorts/skin.webp:441,889,248,133 +characters/tonks/clothes/bottom/office/0.webp:428,819,332,381 +characters/tonks/clothes/bottom/office/outline.webp:426,817,336,383 +characters/tonks/clothes/bottom/office/skin.webp:488,822,156,32 characters/tonks/clothes/bottom/police/0.webp:431,823,279,196 characters/tonks/clothes/bottom/police/1.webp:460,823,211,61 characters/tonks/clothes/bottom/police/outline.webp:428,821,286,200 @@ -4515,6 +4590,9 @@ characters/tonks/clothes/gloves/leather_gloves/0_front.webp:433,827,295,99 characters/tonks/clothes/gloves/leather_gloves/extra.webp:433,830,291,89 characters/tonks/clothes/gloves/leather_gloves/outline.webp:432,826,300,101 characters/tonks/clothes/gloves/leather_gloves/outline_front.webp:432,826,300,101 +characters/tonks/clothes/gloves/mechanic_gloves/0.webp:433,818,298,108 +characters/tonks/clothes/gloves/mechanic_gloves/outline.webp:432,748,519,179 +characters/tonks/clothes/gloves/mechanic_gloves/skin.webp:447,842,216,80 characters/tonks/clothes/gloves/succubus_gloves/0.webp:396,539,449,387 characters/tonks/clothes/gloves/succubus_gloves/0_front.webp:396,539,449,387 characters/tonks/clothes/gloves/succubus_gloves/outline.webp:395,615,451,312 @@ -4525,6 +4603,10 @@ characters/tonks/clothes/hair/base/0.webp:482,220,236,248 characters/tonks/clothes/hair/base/1.webp:494,235,205,121 characters/tonks/clothes/hair/base/outline.webp:481,218,239,254 characters/tonks/clothes/hair/base/skin.webp:519,328,98,61 +characters/tonks/clothes/hair/mechanic_hair/0.webp:473,249,217,247 +characters/tonks/clothes/hair/mechanic_hair/1.webp:482,256,198,123 +characters/tonks/clothes/hair/mechanic_hair/outline.webp:472,248,221,255 +characters/tonks/clothes/hair/mechanic_hair/skin.webp:532,336,91,63 characters/tonks/clothes/hair/new/0.webp:475,256,245,235 characters/tonks/clothes/hair/new/0_back.webp:462,399,101,116 characters/tonks/clothes/hair/new/1.webp:477,263,235,139 @@ -4552,6 +4634,12 @@ characters/tonks/clothes/headgear/elf/outline.webp:594,200,207,131 characters/tonks/clothes/headgear/horns/0.webp:474,243,220,98 characters/tonks/clothes/headgear/horns/1.webp:474,243,220,52 characters/tonks/clothes/headgear/horns/outline.webp:472,242,224,101 +characters/tonks/clothes/headgear/mechanic_cap/0.webp:507,263,171,92 +characters/tonks/clothes/headgear/mechanic_cap/1.webp:484,289,161,97 +characters/tonks/clothes/headgear/mechanic_cap/extra.webp:543,294,25,34 +characters/tonks/clothes/headgear/mechanic_cap/mask.webp:0,0,1010,1200 +characters/tonks/clothes/headgear/mechanic_cap/outline.webp:481,261,199,127 +characters/tonks/clothes/headgear/mechanic_cap/skin.webp:514,368,112,40 characters/tonks/clothes/headgear/police/0.webp:450,282,218,127 characters/tonks/clothes/headgear/police/1.webp:469,257,192,74 characters/tonks/clothes/headgear/police/2.webp:477,298,142,29 @@ -4592,10 +4680,9 @@ characters/tonks/clothes/neckwear/bunny_bowtie_1/skin.webp:532,515,93,65 characters/tonks/clothes/neckwear/choker_1/0.webp:574,494,73,34 characters/tonks/clothes/neckwear/choker_1/extra.webp:575,501,52,24 characters/tonks/clothes/neckwear/choker_1/outline.webp:573,492,76,38 -characters/tonks/clothes/neckwear/choker_beads/0.webp:575,502,65,18 -characters/tonks/clothes/neckwear/choker_beads/1.webp:575,505,59,15 -characters/tonks/clothes/neckwear/choker_beads/extra.webp:575,504,59,17 -characters/tonks/clothes/neckwear/choker_beads/outline.webp:575,501,67,20 +characters/tonks/clothes/neckwear/choker_beads/0.webp:575,496,69,27 +characters/tonks/clothes/neckwear/choker_beads/1.webp:572,498,73,21 +characters/tonks/clothes/neckwear/choker_beads/outline.webp:572,495,73,29 characters/tonks/clothes/neckwear/pearls_1/0.webp:564,504,90,37 characters/tonks/clothes/neckwear/pearls_1/extra.webp:564,504,91,38 characters/tonks/clothes/neckwear/pearls_1/outline.webp:562,501,96,44 @@ -4626,6 +4713,9 @@ characters/tonks/clothes/panties/bikini_panties_1_striped/0.webp:475,805,179,165 characters/tonks/clothes/panties/bikini_panties_1_striped/1.webp:475,805,180,165 characters/tonks/clothes/panties/bikini_panties_1_striped/outline.webp:475,803,180,168 characters/tonks/clothes/panties/bikini_panties_1_striped/skin.webp:486,819,154,101 +characters/tonks/clothes/panties/mechanic_bikini/0.webp:460,824,205,147 +characters/tonks/clothes/panties/mechanic_bikini/outline.webp:458,822,210,151 +characters/tonks/clothes/panties/mechanic_bikini/skin.webp:466,832,181,108 characters/tonks/clothes/panties/ribbon/0.webp:487,869,215,179 characters/tonks/clothes/panties/ribbon/extra.webp:487,872,175,175 characters/tonks/clothes/panties/ribbon/outline.webp:485,867,219,181 @@ -4669,13 +4759,19 @@ characters/tonks/clothes/pubes/unshaved/0.webp:514,908,63,53 characters/tonks/clothes/robe/auror_coat/0.webp:396,499,449,701 characters/tonks/clothes/robe/auror_coat/0_back.webp:454,496,218,704 characters/tonks/clothes/robe/auror_coat/0_front.webp:694,736,128,148 -characters/tonks/clothes/robe/auror_coat/1.webp:448,606,213,433 +characters/tonks/clothes/robe/auror_coat/1.webp:472,608,202,461 characters/tonks/clothes/robe/auror_coat/outline.webp:394,497,452,703 characters/tonks/clothes/robe/auror_coat/outline_front.webp:693,736,130,149 +characters/tonks/clothes/robe/auror_coat/skin.webp:526,537,116,107 characters/tonks/clothes/robe/dressing_gown/0.webp:391,522,465,497 characters/tonks/clothes/robe/dressing_gown/1.webp:390,522,466,497 characters/tonks/clothes/robe/dressing_gown/outline.webp:389,519,468,501 characters/tonks/clothes/robe/dressing_gown/skin.webp:442,533,299,493 +characters/tonks/clothes/robe/office/0.webp:392,522,460,461 +characters/tonks/clothes/robe/office/0_back.webp:695,838,56,94 +characters/tonks/clothes/robe/office/1.webp:469,764,279,100 +characters/tonks/clothes/robe/office/outline.webp:390,521,464,464 +characters/tonks/clothes/robe/office/skin.webp:458,530,158,454 characters/tonks/clothes/robe/silk_robe/0.webp:393,507,386,693 characters/tonks/clothes/robe/silk_robe/0_back.webp:563,1016,62,184 characters/tonks/clothes/robe/silk_robe/outline.webp:388,506,395,694 @@ -4709,6 +4805,9 @@ characters/tonks/clothes/stockings/long_striped/1.webp:441,998,310,202 characters/tonks/clothes/stockings/long_striped/extra.webp:441,985,291,215 characters/tonks/clothes/stockings/long_striped/outline.webp:432,932,323,268 characters/tonks/clothes/stockings/long_striped/skin.webp:436,944,253,54 +characters/tonks/clothes/stockings/mechanic_thigh_socks/0.webp:450,999,303,201 +characters/tonks/clothes/stockings/mechanic_thigh_socks/outline.webp:447,995,308,205 +characters/tonks/clothes/stockings/mechanic_thigh_socks/skin.webp:443,1007,260,61 characters/tonks/clothes/stockings/xmas/0.webp:449,847,286,247 characters/tonks/clothes/stockings/xmas/1.webp:456,1054,298,146 characters/tonks/clothes/stockings/xmas/outline.webp:448,846,307,354 @@ -4743,8 +4842,19 @@ characters/tonks/clothes/top/elf_dress/0.webp:423,582,361,416 characters/tonks/clothes/top/elf_dress/extra.webp:423,613,260,384 characters/tonks/clothes/top/elf_dress/outline.webp:422,581,363,418 characters/tonks/clothes/top/elf_dress/skin.webp:447,581,330,418 +characters/tonks/clothes/top/mechanic_vest/0.webp:438,527,277,264 +characters/tonks/clothes/top/mechanic_vest/1.webp:450,525,265,271 +characters/tonks/clothes/top/mechanic_vest/2.webp:498,625,59,108 +characters/tonks/clothes/top/mechanic_vest/outline.webp:435,522,283,276 +characters/tonks/clothes/top/mechanic_vest/skin.webp:493,536,218,271 characters/tonks/clothes/top/nightie_1/0.webp:431,532,302,523 characters/tonks/clothes/top/nightie_1/outline.webp:429,530,305,526 +characters/tonks/clothes/top/office/0.webp:394,494,453,450 +characters/tonks/clothes/top/office/0_front.webp:552,494,106,72 +characters/tonks/clothes/top/office/1.webp:540,566,47,315 +characters/tonks/clothes/top/office/outline.webp:392,519,457,428 +characters/tonks/clothes/top/office/outline_front.webp:549,491,112,77 +characters/tonks/clothes/top/office/skin.webp:489,504,237,445 characters/tonks/clothes/top/police1/0.webp:436,527,275,277 characters/tonks/clothes/top/police1/1.webp:435,498,361,395 characters/tonks/clothes/top/police1/2.webp:548,702,13,107 @@ -5320,6 +5430,39 @@ images/CG/common/bg.webp:0,0,2160,1200 images/CG/common/day_overlay.webp:0,0,3840,2160 images/CG/common/mask.webp:0,0,2160,1200 images/CG/common/night_overlay.webp:0,0,3840,2160 +images/CG/her_flash/public/her_flash_public_background.webp:0,0,2160,1200 +images/CG/her_flash/public/her_flash_public_blush_heavy.webp:1560,239,188,162 +images/CG/her_flash/public/her_flash_public_effects_exclamation.webp:844,19,380,394 +images/CG/her_flash/public/her_flash_public_effects_herquestion.webp:1095,20,457,301 +images/CG/her_flash/public/her_flash_public_effects_question.webp:844,19,380,394 +images/CG/her_flash/public/her_flash_public_effects_questions.webp:844,19,380,394 +images/CG/her_flash/public/her_flash_public_eyebrows_worried.webp:1560,223,155,44 +images/CG/her_flash/public/her_flash_public_eyes_clenched.webp:1568,263,148,29 +images/CG/her_flash/public/her_flash_public_eyes_open_forward.webp:1566,248,157,69 +images/CG/her_flash/public/her_flash_public_eyes_open_left.webp:1566,248,157,69 +images/CG/her_flash/public/her_flash_public_eyes_open_right.webp:1566,248,157,69 +images/CG/her_flash/public/her_flash_public_hermione_pose1.webp:1453,0,707,1200 +images/CG/her_flash/public/her_flash_public_hermione_pose2.webp:112,0,2048,1200 +images/CG/her_flash/public/her_flash_public_hermione_pose3.webp:1453,0,707,1200 +images/CG/her_flash/public/her_flash_public_hermione_pose4.webp:112,0,2048,1200 +images/CG/her_flash/public/her_flash_public_mouth_frown.webp:1610,364,61,26 +images/CG/her_flash/public/her_flash_public_mouth_smile.webp:1607,361,69,28 +images/CG/her_flash/public/her_flash_public_mouth_soft.webp:1620,362,51,36 +images/CG/her_flash/public/her_flash_public_npc_pose1.webp:164,14,945,1186 +images/CG/her_flash/public/her_flash_public_npc_pose2.webp:164,14,945,1186 +images/CG/her_flash/public/her_flash_public_npc_pose3.webp:200,0,886,1200 +images/CG/her_flash/public/her_flash_public_npc_pose4.webp:200,0,886,1200 +images/CG/her_flash/public/her_flash_public_npc_pose5.webp:198,0,890,1200 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_background.webp:0,0,4320,4800 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_feather.webp:294,385,188,442 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione.webp:0,0,4320,4800 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_eyebrows_neutral.webp:2052,609,256,48 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_eyebrows_raised.webp:2052,602,243,52 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_eyes_down.webp:2054,658,240,71 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_eyes_forward.webp:2053,661,237,68 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_hand.webp:769,764,887,497 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_mouth_closed.webp:2051,782,344,204 +images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_mouth_open.webp:2048,804,341,210 images/CG/her_intro/bg.webp:0,0,2160,1200 images/CG/her_intro/day_overlay.webp:0,0,3840,2160 images/CG/her_intro/hermione_bendover.webp:1381,333,622,839 @@ -5352,6 +5495,144 @@ images/CG/her_sex/hold_armfix.webp:878,640,1102,1004 images/CG/her_sex/night_overlay.webp:0,0,2500,2550 images/CG/her_sex/open_wide_tongue.webp:542,1616,226,176 images/CG/her_sex/scream.webp:542,1616,226,175 +images/CG/her_vibrators/personal/her_vibrators_personal_background.webp:0,0,2160,1200 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_blush_heavy.webp:1021,154,143,64 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_body.webp:427,22,1068,1097 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_puddle.webp:831,685,467,402 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness.webp:1063,686,68,56 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_effects_wetness_minor.webp:1075,693,39,45 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyebrows_neutral.webp:1022,134,120,16 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyebrows_upset.webp:1033,135,112,23 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyebrows_worried.webp:1024,141,117,20 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_clenched.webp:1033,155,102,20 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_closed.webp:1032,162,103,12 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_narrow_crossed.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_narrow_forward.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_narrow_right.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_open_forward.webp:1028,152,110,26 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_open_right.webp:1028,152,110,26 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_squint_crossed.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_squint_forward.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_squint_right.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_wide_crossed.webp:1028,150,110,29 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_wide_forward.webp:1028,150,110,29 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_eyes_wide_right.webp:1028,150,110,29 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_fringe.webp:876,22,412,367 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_ahegao.webp:1067,208,38,47 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_ahegao_wet.webp:1067,208,38,47 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_angry.webp:1062,208,48,33 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_annoyed.webp:1065,212,40,20 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_horny.webp:1071,212,31,25 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_open.webp:1066,211,37,30 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_shocked.webp:1068,208,36,38 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_mouth_worried.webp:1066,211,37,28 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_shadow.webp:506,582,907,519 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_vibrator_base.webp:933,314,320,353 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_vibrator_eggl.webp:974,333,44,54 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_vibrator_eggr.webp:1154,337,44,53 +images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_vibrator_tape.webp:962,340,248,46 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_blush_heavy.webp:1021,154,143,64 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_body.webp:677,22,858,1081 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_puddle.webp:831,685,467,402 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness.webp:1040,660,131,82 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_effects_wetness_minor.webp:1076,645,38,56 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyebrows_neutral.webp:1022,134,120,16 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyebrows_upset.webp:1033,135,112,23 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyebrows_worried.webp:1024,141,117,20 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_clenched.webp:1033,155,102,20 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_closed.webp:1032,162,103,12 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_narrow_crossed.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_narrow_forward.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_narrow_right.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_open_forward.webp:1028,152,110,26 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_open_right.webp:1028,152,110,26 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_squint_crossed.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_squint_forward.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_squint_right.webp:1028,155,110,22 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_wide_crossed.webp:1028,150,110,29 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_wide_forward.webp:1028,150,110,29 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_eyes_wide_right.webp:1028,150,110,29 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_fringe.webp:876,22,412,367 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_ahegao.webp:1067,208,38,47 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_ahegao_wet.webp:1067,208,38,47 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_angry.webp:1062,208,48,33 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_annoyed.webp:1065,212,40,20 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_horny.webp:1071,212,31,25 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_open.webp:1066,211,37,30 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_shocked.webp:1068,208,36,38 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_mouth_worried.webp:1066,211,37,28 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_shadow.webp:728,629,750,477 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_vibrator_base.webp:933,314,369,381 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_vibrator_eggl.webp:974,333,44,54 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_vibrator_eggm.webp:1073,593,45,61 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_vibrator_eggr.webp:1154,337,44,53 +images/CG/her_vibrators/personal/hermione2/her_vibrators_personal_hermione2_vibrator_tape.webp:962,340,248,307 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_blush_heavy.webp:1003,188,134,76 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_body.webp:552,147,1033,923 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_mascara.webp:1011,183,121,78 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_puddle.webp:831,685,467,402 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_squirt.webp:996,331,141,276 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness.webp:1019,511,141,116 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_effects_wetness_minor.webp:1047,508,53,89 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_eyebrows_worried.webp:1017,184,97,26 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_eyes_ahegao.webp:1018,199,100,27 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_eyes_clenched.webp:1017,204,101,21 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_eyes_closed.webp:1016,209,101,14 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_mouth_ahegao.webp:1054,236,33,54 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_mouth_open.webp:1052,238,35,25 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_shadow.webp:595,555,896,529 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_vibrator_base.webp:931,265,343,340 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_vibrator_eggl.webp:933,279,32,35 +images/CG/her_vibrators/personal/hermione3/her_vibrators_personal_hermione3_vibrator_eggr.webp:1169,267,34,34 +images/CG/her_vibrators/public/her_vibrators_public_background.webp:0,0,2160,1200 +images/CG/her_vibrators/public/her_vibrators_public_npc_shock_harry.webp:1887,30,252,218 +images/CG/her_vibrators/public/her_vibrators_public_npc_shock_harry_effect.webp:1596,70,150,140 +images/CG/her_vibrators/public/her_vibrators_public_npc_shock_ron.webp:0,142,280,204 +images/CG/her_vibrators/public/her_vibrators_public_npc_shock_ron_effect.webp:410,57,139,169 +images/CG/her_vibrators/public/her_vibrators_public_npc_sus_ron.webp:0,131,280,222 +images/CG/her_vibrators/public/hermione/her_vibrators_public_blush_heavy.webp:1059,207,144,89 +images/CG/her_vibrators/public/hermione/her_vibrators_public_blush_neutral.webp:1075,233,111,50 +images/CG/her_vibrators/public/hermione/her_vibrators_public_body.webp:965,187,338,1013 +images/CG/her_vibrators/public/hermione/her_vibrators_public_bra.webp:1020,334,219,149 +images/CG/her_vibrators/public/hermione/her_vibrators_public_effects_shaky_legs.webp:964,944,344,92 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyebrows_neutral.webp:1083,210,94,16 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyebrows_surprised.webp:1082,206,95,19 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyebrows_upset.webp:1084,209,93,17 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyebrows_worried.webp:1084,207,93,19 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_ahegao.webp:1088,225,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_base.webp:1088,225,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_big_ahegao.webp:1088,224,86,22 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_big_crossed.webp:1088,224,86,22 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_clenched.webp:1087,225,89,22 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_closed.webp:1087,231,87,13 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_crossed.webp:1088,225,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_down.webp:1088,225,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_forward.webp:1088,225,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_left.webp:1088,225,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_eyes_sad.webp:1088,226,86,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_hair.webp:960,117,353,343 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_ahegao.webp:1116,271,33,47 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_disappointed.webp:1115,276,34,16 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_grossedout1.webp:1116,243,32,59 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_grossedout2.webp:1115,261,34,32 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_lip_bite.webp:1115,274,33,21 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_neutral.webp:1115,277,34,15 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_open.webp:1116,271,34,26 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_shocked.webp:1116,271,33,29 +images/CG/her_vibrators/public/hermione/her_vibrators_public_mouth_upset.webp:1115,276,34,17 +images/CG/her_vibrators/public/hermione/her_vibrators_public_outfit_uniform.webp:935,303,376,897 +images/CG/her_vibrators/public/hermione/her_vibrators_public_panties.webp:996,606,276,167 +images/CG/her_vibrators/public/hermione/her_vibrators_public_tears_ahegao.webp:1090,234,81,31 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_lower_base.webp:1128,611,163,173 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_lower_effect.webp:1101,656,53,70 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_lower_egg.webp:1110,663,180,66 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_lower_tape.webp:1109,662,181,67 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_upper_base.webp:1008,363,252,133 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_upper_effect.webp:1038,372,182,45 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_upper_egg.webp:1022,366,209,124 +images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_upper_tape.webp:1022,366,209,124 +images/CG/her_vibrators/public/hermione/her_vibrators_public_wetness_legs.webp:1078,732,97,137 +images/CG/her_vibrators/public/hermione/her_vibrators_public_wetness_vagina.webp:1104,680,55,78 images/CG/herm_boob/1.webp:91,0,903,600 images/CG/herm_boob/10.webp:284,0,710,600 images/CG/herm_boob/11.webp:284,0,710,600 @@ -6385,6 +6666,7 @@ images/misc/drop.webp:178,205,17,56 images/misc/exclamation.webp:6,137,81,103 images/misc/folks.webp:128,40,826,160 images/misc/gameover.webp:313,258,444,342 +images/misc/geniedrawing.webp:216,80,402,732 images/misc/heart.webp:0,0,17,14 images/misc/hearts.webp:4,192,86,71 images/misc/intro/01_01.webp:0,0,1080,600 @@ -6402,6 +6684,7 @@ images/misc/intro/06_01.webp:0,0,1080,600 images/misc/intro/06_02.webp:0,0,1080,600 images/misc/light.webp:0,0,1080,600 images/misc/old.webp:1,1,405,364 +images/misc/paper.webp:0,6,773,831 images/misc/question.webp:23,127,68,128 images/misc/redhead.webp:212,124,173,657 images/misc/smoke.webp:0,440,2160,760 @@ -6417,6 +6700,7 @@ images/misc/tut_04.webp:0,0,800,600 images/misc/tut_05.webp:0,0,800,600 images/misc/tut_06.webp:0,0,800,600 images/misc/tut_07.webp:0,0,800,600 +images/misc/vibrators_floor.webp:0,0,84,33 images/rooms/_bg_/castle.webp:0,0,1080,600 images/rooms/_bg_/corridor.webp:0,0,1080,600 images/rooms/_bg_/custom.webp:0,0,1080,600 @@ -6808,6 +7092,19 @@ images/title/fire05.webp:0,208,697,709 images/title/fire06.webp:0,208,697,709 images/title/fire07.webp:0,208,697,709 images/title/sparkle.webp:0,0,49,50 +images/ui/vibrator_interface/vibrator_interface_background.webp:13,70,845,241 +images/ui/vibrator_interface/vibrator_interface_caption_high.webp:546,13,136,58 +images/ui/vibrator_interface/vibrator_interface_caption_low.webp:212,8,129,60 +images/ui/vibrator_interface/vibrator_interface_caption_medium.webp:347,12,191,85 +images/ui/vibrator_interface/vibrator_interface_emoji_high.webp:489,10,243,262 +images/ui/vibrator_interface/vibrator_interface_emoji_high_disabled.webp:489,10,243,261 +images/ui/vibrator_interface/vibrator_interface_emoji_low.webp:148,10,246,262 +images/ui/vibrator_interface/vibrator_interface_emoji_low_disabled.webp:149,10,245,261 +images/ui/vibrator_interface/vibrator_interface_emoji_medium.webp:318,10,246,262 +images/ui/vibrator_interface/vibrator_interface_emoji_medium_disabled.webp:319,10,245,261 +images/ui/vibrator_interface/vibrator_interface_vibration_high.webp:0,187,867,134 +images/ui/vibrator_interface/vibrator_interface_vibration_low.webp:27,191,823,130 +images/ui/vibrator_interface/vibrator_interface_vibration_medium.webp:0,191,867,130 interface/achievements/glass.webp:6,6,84,84 interface/achievements/glass_iconbox.webp:3,2,43,44 interface/achievements/glass_selected.webp:0,0,84,84 @@ -7033,6 +7330,7 @@ interface/icons/bat_spleen.webp:244,188,464,579 interface/icons/bats_trophy.webp:1,0,769,166 interface/icons/beads.webp:36,58,257,201 interface/icons/bicorn_horn.webp:233,218,484,518 +interface/icons/box-o-fun.webp:14,59,937,871 interface/icons/box_blue_1.webp:44,66,261,231 interface/icons/box_blue_2.webp:34,57,259,225 interface/icons/box_blue_3.webp:34,67,259,215 diff --git a/game/scripts/utility/load_fix.rpy b/game/scripts/utility/load_fix.rpy deleted file mode 100644 index fa56b40e..00000000 --- a/game/scripts/utility/load_fix.rpy +++ /dev/null @@ -1,51 +0,0 @@ - -# Must be appended AFTER update_patcher -init 2 python: - config.load_failed_label = "load_failed" - #config.after_load_callbacks.append(load_fix) - -# load_fix function breaks saves compatiblity in Ren'py 7.4.9 onward, -# in fact, Ren'py will clear its own callstack and find correct label to jump to. - -# init -1 python: -# def load_fix(): -# # Scan the call stack for missing labels -# # If a label is missing, assume a fatal error will occur eventually -# # Then wipe the stack and jump to config.load_failed_label to prevent the error - -# context = renpy.game.context() -# script = renpy.game.script -# for i in xrange(-1, -len(context.return_stack)-1, -1): -# node = None - -# if script.has_label(context.return_stack[i]): -# node = script.lookup(context.return_stack[i]) -# elif script.has_label(context.call_location_stack[i]): -# node = script.lookup(context.call_location_stack[i]).next - -# if node is None: -# # Clean up similar to RollbackLog.load_failed -# while renpy.exports.call_stack_depth(): -# renpy.exports.pop_call() - -# renpy.game.contexts[0].force_checkpoint = True -# renpy.game.contexts[0].goto_label(renpy.config.load_failed_label) - -# raise renpy.game.RestartTopContext() -# return - -label load_failed: - python: - # Clear all screens and stop all sound - renpy.scene("screens") - for c in ["music", "bg_sounds", "weather"]: - renpy.music.stop(c, 0.5) - active_girl = None - - $ renpy.block_rollback() # Prevent rollback to broken past - show screen blktone - "Something went wrong while loading your save, but all is not lost! You will be back in the office with the same progress as when you saved the game. However, you can't rollback to a time before that moment." - hide screen blktone - with d5 - $ renpy.block_rollback() # Prevent rollback to this message - jump main_room diff --git a/game/scripts/utility/updater.rpy b/game/scripts/utility/updater.rpy index 618040f9..5e8aa8be 100644 --- a/game/scripts/utility/updater.rpy +++ b/game/scripts/utility/updater.rpy @@ -53,6 +53,16 @@ init python: def __call__(self): renpy.invoke_in_new_context(updater.update, self.url, simulate=self.simulate, **self.kwargs) + def fix_return_stack(): + for layer in config.layers: + renpy.scene(layer) + + for channel in renpy.audio.audio.channels.keys(): + if isinstance(channel, str) and not channel.startswith("_"): + renpy.music.stop(channel) + + renpy.set_return_stack(("main_room",)) + def version_float(): control, major, minor = config.version.split(" ")[0].split(".") return float("{}.{}{}".format(control, major, minor)) @@ -113,6 +123,8 @@ init python: char.rebuild() + fix_return_stack() + if current > latest: raise Exception("Loaded save file is incompatible. (Save Version: {}, Game Version: {})".format(current, latest)) @@ -123,6 +135,7 @@ init python: achievements.attempt_repair() renpy.call_in_new_context("modal_popup", "Update Successful", "\nYour save file has been successfully updated to version {{b}}{}{{/b}}.\n\n{}".format(config.version, message), None, "Hurray!") + renpy.block_rollback() return From b55fceda834bc86ab038303d16e76e583c3c2e14 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sat, 8 Oct 2022 23:40:16 +0200 Subject: [PATCH 15/27] Vibrator Event * Fixed small inconsistency in intro on replay success writing if she's hasn't worn them before. --- .../characters/hermione/events/items/vibrators.rpy | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 2352a884..78800cbf 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -91,7 +91,10 @@ label hg_vibrators: if her_tier < 5: her "The vibrators again..." ("normal", "happy", "base", "mid", cheeks="blush") gen "How lucky for you." ("base", xpos="far_left", ypos="head") - gen "Ready to give them another whirl?" ("base", xpos="far_left", ypos="head") + if her_vibrators_worn: + gen "Ready to give them another whirl?" ("base", xpos="far_left", ypos="head") + else: + gen "Ready to give them a whirl?" ("base", xpos="far_left", ypos="head") her "*Hmm*...{w=0.4} Sure, but only if you pay me twenty points!" ("open", "narrow", "base", "R", cheeks="blush") gen "Yeah, yeah, now get on with it." ("base", xpos="far_left", ypos="head") her "..." ("normal", "happy", "base", "mid", cheeks="blush") @@ -99,8 +102,13 @@ label hg_vibrators: her "I see..." ("base", "squint", "base", "mid", cheeks="blush") gen "That's a lucky pull!" ("grin", xpos="far_left", ypos="head") gen "Looks like it might be a shiny, even!" ("grin", xpos="far_left", ypos="head") - gen "Oh wait, that's just some remaining residue from the last time." ("grin", xpos="far_left", ypos="head") - gen "Although, you could give them another try to see if the experience increases its rarity!" ("grin", xpos="far_left", ypos="head") + if her_vibrators_worn: + gen "Oh wait, that's just some remaining residue from the last time." ("grin", xpos="far_left", ypos="head") + gen "Although, you could give them another try to see if the experience increases its rarity!" ("grin", xpos="far_left", ypos="head") + else: + gen "Oh wait, that's just some remaining residue from whoever used them previously." ("grin", xpos="far_left", ypos="head") + her "Someone else has already used these?" ("open", "narrow", "base", "mid", cheeks="blush") + gen "Err... Of course not!" ("grin", xpos="far_left", ypos="head") her "If you say so..." ("base", "narrow", "base", "R", cheeks="blush") # Introduction (worn) From 896c73f7d8649088fb11826a721ab96e42ab3ede Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 8 Oct 2022 23:35:43 +0100 Subject: [PATCH 16/27] Update credits --- game/scripts/interface/credits.rpy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/scripts/interface/credits.rpy b/game/scripts/interface/credits.rpy index ea86d4cf..863dac8c 100644 --- a/game/scripts/interface/credits.rpy +++ b/game/scripts/interface/credits.rpy @@ -28,7 +28,7 @@ define credits_text = "\n".join([ credits_group( "{size=+4}Akabur{/size}", "{color=#808080}{size=-5}{k=0.7}Creator of the original Witch Trainer and other awesome games! {a=https://www.patreon.com/akabur}PATREON{/a}{/size}{/color}{/k}\n", - "Dr. Lupin", "Lineup", "MaiL", "MedicBear", "STG Anon", "Booom313", "Sandmaster", "Pinguino", "UE Crew", "Catbug", "CaptainNemo", "Artguy", "Linear", "Amadan", "Anons", "Heretic", "Maverick", "Cleanzo", "Techy", "Zuel32", "Darwin7", "Ven" + "Dr. Lupin", "Lineup", "MaiL", "MedicBear", "STG Anon", "Booom313", "Sandmaster", "Pinguino", "UE Crew", "Catbug", "CaptainNemo", "Artguy", "Linear", "Amadan", "Anons", "Heretic", "Maverick", "Cleanzo", "Techy", "Zuel32", "Darwin7", "Ven", "NotTera", "Armise" ), """{vspace=100} \n\n From def7eeb07e3f9d2febc6151bb3ef1c42cf6545dd Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 9 Oct 2022 21:04:09 +0100 Subject: [PATCH 17/27] Bugfix * Fixed Tonks' nicknames soft-crashing to main menu --- game/scripts/characters/tonks/talk.rpy | 55 ++++++++++++++------------ 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/game/scripts/characters/tonks/talk.rpy b/game/scripts/characters/tonks/talk.rpy index 6ec35ed9..562575a4 100644 --- a/game/scripts/characters/tonks/talk.rpy +++ b/game/scripts/characters/tonks/talk.rpy @@ -57,17 +57,17 @@ label tonks_talk: label .sir: # Local label unavailable from global scope $ ton_genie_name = "Sir" ton "Of course, [ton_genie_name]." ("base", "base", "base", "mid") - jump tonks_talk + "-Dumbledore-": label .dumbledore: $ ton_genie_name = "Dumbledore" ton "Sure thing, [ton_genie_name]." ("base", "base", "base", "mid") - jump tonks_talk + "-Professor-": label .professor: $ ton_genie_name = "Professor" ton "Alright, [ton_genie_name]." ("base", "base", "base", "mid") - jump tonks_talk + "-Old man-": label .old_man: $ ton_genie_name = "Old man" @@ -83,7 +83,7 @@ label tonks_talk: ton "Didn't you say you were an \"all knowing\" being?" ("open", "base", "angry", "mid") ton "I guess you really are an \"old man\", Genie..." ("base", "base", "base", "mid") gen "..............." ("base", xpos="far_left", ypos="head") - jump tonks_talk + "-Genie-": label .genie: $ ton_genie_name = "Genie" @@ -104,7 +104,7 @@ label tonks_talk: ton "(I guess I can jerk him off some other time...)" ("mad", "base", "worried", "R") gen "If you find a golden, shiny looking lamp, return it to me..." ("base", xpos="far_left", ypos="head") ton "Sure, [ton_genie_name]..." ("upset", "base", "base", "R") - jump tonks_talk + "-Lord Voldemort-": label .lord_voldemort: $ ton_genie_name = "Lord Voldemort" @@ -130,7 +130,7 @@ label tonks_talk: gen "Are you going to call me \"Lord Voldemort\" now or what?" ("base", xpos="far_left", ypos="head") ton "Fine... I will call you, [ton_genie_name], if it makes you happy..." ("base", "base", "base", "mid") gen "Yippee!" ("grin", xpos="far_left", ypos="head") - jump tonks_talk + "-Daddy-": label .daddy: $ ton_genie_name = "Daddy" @@ -139,7 +139,7 @@ label tonks_talk: gen "(Geezers?)" ("base", xpos="far_left", ypos="head") gen "But I thought you didn't mind it?" ("base", xpos="far_left", ypos="head") ton "Oh, I don't mind at all, [ton_genie_name]!" ("horny", "base", "base", "mid") - jump tonks_talk + "-Lover-" (style="disabled") if ton_friendship < 60: label .lover_fail: ton "You mean that you \"love how well we work together\", right?" ("base", "narrow", "raised", "mid") @@ -156,6 +156,7 @@ label tonks_talk: ton "Just a little bit." ("base", "narrow", "base", "R") gen "Well, I suppose that's what lovers do, am I right?" ("base", xpos="far_left", ypos="head") ton "Nice try..." ("base", "narrow", "base", "mid") + "-Lover-" if ton_friendship >= 60: label .lover: $ ton_genie_name = "Lover" @@ -163,6 +164,7 @@ label tonks_talk: gen "Just \"Lover\" is fine." ("base", xpos="far_left", ypos="head") ton "Yes my love..." ("base", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") + "-Master-" (style="disabled") if ton_friendship < 60: label .master_fail: ton "No." ("base", "base", "base", "R") @@ -173,7 +175,7 @@ label tonks_talk: gen "!!!" ("angry", xpos="far_left", ypos="head") ton "Until then you can forget about it..." ("base", "base", "base", "mid") gen "...................." ("base", xpos="far_left", ypos="head") - jump tonks_talk + "-Master-" if ton_friendship >= 60: label .master: $ ton_genie_name = "Master" @@ -185,10 +187,10 @@ label tonks_talk: gen "You have permission to speak?" ("base", xpos="far_left", ypos="head") ton "Thank you, [ton_genie_name]." ("base", "base", "base", "down") gen "(I could get used to that.)" ("grin", xpos="far_left", ypos="head") - jump tonks_talk + "-Custom Input--" (style="disabled") if ton_friendship < 60: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") - jump tonks_talk + "-Custom Input-" if ton_friendship >= 60: $ temp_name = renpy.input("(Please enter the name.)", ton_genie_name, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() @@ -197,16 +199,15 @@ label tonks_talk: if temp_name.lower() == "master" and ton_friendship < 60: jump tonks_talk.master_fail $ renpy.jump("tonks_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label - elif temp_name == "": - jump tonks_talk else: $ ton_genie_name = temp_name ton "*Hmm*... [ton_genie_name]... I like it." ("horny", "base", "raised", "mid") jump tonks_talk "-Never mind-": - jump tonks_talk + pass + jump tonks_talk "-From now on I will address you as-": menu: @@ -214,7 +215,7 @@ label tonks_talk: label .tonks: # Local label unavailable from global scope. $ tonks_name = "Tonks" ton "Sure, [ton_genie_name]." ("base", "base", "base", "mid") - jump tonks_talk + "-Nymphadora-": $ tonks_name = "Nymphadora" label .nymphadora: @@ -223,14 +224,14 @@ label tonks_talk: ton "I hate that name..." ("open", "base", "worried", "R") gen "Well you better get used to hearing it then, [tonks_name]..." ("base", xpos="far_left", ypos="head") ton "................" ("upset", "base", "angry", "R") - jump tonks_talk + "-Nympho-": label .nympho: $ tonks_name = "Nympho" ton "You think I'm a nympho, [ton_genie_name]?" ("horny", "base", "raised", "mid") ton "Like a filthy, sex craved maniac? Who wouldn't shy away from fulfilling every single one of her fantasies?" ("grin", "base", "shocked", "mid") ton "It fits quite well, actually." ("base", "base", "base", "R") - jump tonks_talk + "-Bitch-": label .bitch: $ tonks_name = "Bitch" @@ -238,7 +239,7 @@ label tonks_talk: ton "If only you knew..." ("horny", "base", "raised", "R") gen "(...)" ("base", xpos="far_left", ypos="head") gen "(What does she mean by that?)" ("angry", xpos="far_left", ypos="head") - jump tonks_talk + #"-Fuck Puppet-": #label .fuck_puppet_fail: #ton "A what?" ("soft", "wide", "shocked", "mid") @@ -247,6 +248,7 @@ label tonks_talk: #ton "Just another puppet for you to fuck?" ("open", "closed", "angry", "mid") #gen "That's right... And such a fine puppet as well." ("base", xpos="far_left", ypos="head") #ton "*Hmph*... Sorry, but this puppet comes with a brain included." ("annoyed", "narrow", "angry", "R") + "-Fuck Puppet-": label .fuck_puppet: $ tonks_name = "Fuck Puppet" @@ -255,13 +257,14 @@ label tonks_talk: gen "Wouldn't anyone." ("base", xpos="far_left", ypos="head") ton "Such a charmer..." ("base", "base", "raised", "R") ton "Of course, [ton_genie_name]... you can call me that if you like." ("horny", "base", "base", "mid") - jump tonks_talk + #"-Slut-": #label .slut_fail: #ton "You're not my dad, I can dress however I like!" ("open", "narrow", "angry", "R") #gen "..." ("base", xpos="far_left", ypos="head") #ton "Don't ask..." ("open", "closed", "worried", "mid") #gen "I wasn't going to." ("base", xpos="far_left", ypos="head") + "-Slut-": $ tonks_name = "Slut" ton "Maybe I am..." ("base", "narrow", "base", "R") @@ -269,6 +272,7 @@ label tonks_talk: gen "Weird thing to say in bed but I ain't judging." ("base", xpos="far_left", ypos="head") ton "Oh, you mean like that..." ("grin", "narrow", "raised", "mid") ton "In that case, I'm the \"sluttiest slut\" of them all." ("base", "narrow", "base", "mid") + #"-Whore-": #Todo put under public checks #label .whore_fail: #ton "A what?!" ("clench", "wide", "shocked", "mid") @@ -279,6 +283,7 @@ label tonks_talk: #gen "You-- Hold on, what did you say?" ("base", xpos="far_left", ypos="head") #ton "I've not slept around enough to have the privilege of you calling me that." ("annoyed", "base", "angry", "R") #gen "I feel like this relationship of ours is backwards for some reason..." ("base", xpos="far_left", ypos="head") + "-Whore-": #Todo put under public checks label .whore: $ tonks_name = "Whore" @@ -289,6 +294,7 @@ label tonks_talk: ton "But I can assure you it's to encourage them to do better during class." ("base", "narrow", "base", "R") gen "Sure... Doesn't make you less of a whore though." ton "*Mmm*... Alright, fine, If calling me a whore is the punishment for being a good teacher then you can call me a whore any day..." ("horny", "narrow", "base", "mid") + "-Cunt-" (style="disabled") if ton_friendship < 60: label .cunt_fail: ton "[ton_genie_name], I'm used to getting insulted by my many previous lovers..." ("base", "base", "raised", "mid") @@ -298,7 +304,7 @@ label tonks_talk: gen "Of course.{w} And I will respect that." ("base", xpos="far_left", ypos="head") ton "I'm glad.{w} You are a very polite man, [ton_genie_name]..." ("base", "base", "base", "mid") gen "..........................." ("base", xpos="far_left", ypos="head") - jump tonks_talk + "-Cunt-" if ton_friendship >= 60: label .cunt: $ tonks_name = "Cunt" @@ -306,13 +312,14 @@ label tonks_talk: ton "You better not call me that in front of a student..." ("open", "base", "base", "mid") gen "What if I do?" ("grin", xpos="far_left", ypos="head") ton "Do it, I dare you!" ("horny", "base", "base", "mid", hair="horny") - jump tonks_talk + "-Slave-"(style="disabled") if ton_friendship < 60: label .slave_fail: ton "To who?" ("soft", "base", "raised", "mid") gen "To me." ("grin", xpos="far_left", ypos="head") ton "*giggles*" ("grin", "closed", "base", "mid") ton "No, I don't think so [ton_genie_name]." ("base", "base", "base", "mid") + "-Slave-" if ton_friendship >= 60: label .slave: $ tonks_name = "Slave" @@ -334,9 +341,9 @@ label tonks_talk: ton "At least it's better that you're doing it to forget rather some power fantasy to stick the middle finger to humanity and your creator." ("base", "base", "base", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") gen "Now give me ten push-ups, slave!" ("base", xpos="far_left", ypos="head") + "-Custom Input--" (style="disabled") if ton_friendship < 60: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") - jump tonks_talk "-Custom Input-" if ton_friendship >= 60: $ temp_name = renpy.input("(Please enter the name.)", tonks_name, ALLOWED_CHARACTERS, length=14) @@ -345,8 +352,6 @@ label tonks_talk: if temp_name.lower() == "cunt" and ton_friendship < 60: jump tonks_talk.cunt_fail $ renpy.jump("tonks_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label - elif temp_name == "": - jump tonks_talk else: $ tonks_name = temp_name ton "*Hmm*..." ("base", "base", "base", "R") @@ -356,9 +361,9 @@ label tonks_talk: ton "I've been called quite many things by my lovers!" ("base", "base", "base", "R") gen "I'm your lover now?" ("grin", xpos="far_left", ypos="head") ton "Never say never." ("base", "base", "base", "mid") - jump tonks_talk "-Never mind-": - jump tonks_talk + pass + jump tonks_talk "-Never mind-": jump tonks_requests From 94b86e0b55f830afdbdb5c6c4d6d2cb692c245f5 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 9 Oct 2022 22:48:10 +0200 Subject: [PATCH 18/27] Cleaned Hermione up * Removed Cum layer as Hermione changes clothing. --- game/scripts/characters/hermione/events/items/vibrators.rpy | 3 +++ 1 file changed, 3 insertions(+) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 78800cbf..86652fb7 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -1998,6 +1998,7 @@ label hg_vibrators_personal: gen "{number=current_payout} points to Gryffindor, [hermione_name]." ("base", xpos="far_left", ypos="head") her "Thanks..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + $ hermione.set_cum(None) $ hermione.equip(her_outfit_last) $ hermione.hide() with fade @@ -2061,6 +2062,7 @@ label hg_vibrators_personal: gen "There, happy?" ("base", xpos="far_left", ypos="head") her "Very!" ("open", "narrow", "angry", "R") # Sarcastic + $ hermione.set_cum(None) $ hermione.equip(her_outfit_last) $ hermione.hide() with fade @@ -2133,6 +2135,7 @@ label hg_vibrators_personal: gen "(Why is she still blush-- Oh, I see...)" ("base", xpos="far_left", ypos="head") gen "Okay [hermione_name], you may leave..." ("base", xpos="far_left", ypos="head") + $ hermione.set_cum(None) $ hermione.equip(her_outfit_last) with d3 From be85fbbda2a6cb903771428131882d0ea06bc3f9 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 9 Oct 2022 23:49:33 +0200 Subject: [PATCH 19/27] Vibrator Event - Additional Menu option * Added option to send Hermione away if Public path isn't available. --- .../hermione/events/items/vibrators.rpy | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 86652fb7..3f80cc94 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -306,10 +306,48 @@ label hg_vibrators: her "But it's already past curfew..." gen "Oh, right..." ("base", xpos="far_left", ypos="head") nar "This option is only available during the day." - - jump .choices + "-That shall do for now-" if _temp_lockout or not game.daytime: + jump her_vibrators_nevermind "-Have her stay for a personal session-": jump hg_vibrators_personal +label her_vibrators_nevermind: + gen "In that case, that shall do for now." ("base", xpos="far_left", ypos="head") + her "Really?!" ("angry", "base", "base", "mid") + if not game.daytime: + gen "Yes, I've realised that my options are too limited at night." ("base", xpos="far_left", ypos="head") + her "Options?" ("angry", "base", "base", "mid") + gen "Yes, I know. It's a difficult concept, but I do in fact have options at times." ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "base", "base", "mid") + gen "You can leave the vibrators here on my desk." ("base", xpos="far_left", ypos="head") + gen "Off you go." ("base", xpos="far_left", ypos="head") + else: + gen "Yes, you can leave the vibrators with me, if you like." ("base", xpos="far_left", ypos="head") + if her_tier >= 5: #wants to keep them + her "Oh... *Ehm*..." ("soft", "base", "base", "mid", cheeks="blush") + gen "Or you could keep them, of course." ("base", xpos="far_left", ypos="head") + her "Thank you..." ("soft", "base", "base", "R", cheeks="blush") + else: + her "Oh, okay then..." ("soft", "base", "base", "mid", cheeks="blush") + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) + with d5 + + $ hermione.equip(her_outfit_last) + $ hermione.hide() + with fade + pause 1 + + if game.daytime: + her "Good day then, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") + gen "Until next time." ("base", xpos="far_left", ypos="head") + else: + her "Good night then, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") + gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + + hide vibrators_floor + with d5 + jump end_hermione_event label hg_vibrators_fail: her "What on earth is this?!" ("angry", "base", "base", "mid") From 1c4e01b3dadd92518bf69b0f78ab7cfc78d23b97 Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 10 Oct 2022 13:40:58 +0200 Subject: [PATCH 20/27] Bug fixes * Fixed return events not initiating on Buttplug gift item event. * Fixed soundfile naming issue. --- .../scripts/characters/hermione/events/items/butt_plugs.rpy | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/butt_plugs.rpy b/game/scripts/characters/hermione/events/items/butt_plugs.rpy index 07ed906d..ef69503e 100644 --- a/game/scripts/characters/hermione/events/items/butt_plugs.rpy +++ b/game/scripts/characters/hermione/events/items/butt_plugs.rpy @@ -77,6 +77,7 @@ label hg_butt_plugs: her "I'll do it in the girls' bathroom, [genie_name]." ("annoyed", "narrow", "angry", "R") gen "*Hmm*... Alright, I'll see you tonight then." ("base", xpos="far_left", ypos="head") else: + $ ev_her_small_plug.enqueue() # Repeat with small butt plug if her_whoring > 21: call play_music("chipper_doodle") @@ -181,7 +182,7 @@ label hg_butt_plugs: gen "Try spitting on it." ("base", xpos="far_left", ypos="head") her "........." ("angry", "narrow", "base", "down") - $ renpy.sound.play("sounds/spit.ogg.ogg") + $ renpy.sound.play("sounds/spit.ogg") ">She spits on the end of the butt plug and attempts to insert it again." @@ -213,7 +214,7 @@ label hg_butt_plugs: her "{size=-5}(Not even a hundred points...){/size}" ("annoyed", "narrow", "angry", "R") else: # Repeat with medium butt plug - + $ ev_her_medium_plug.enqueue() if her_whoring < 21: gen "Today my gracious request will be..." ("base", xpos="far_left", ypos="head") her "........." ("angry", "base", "base", "mid",xpos="right",ypos="base") @@ -408,6 +409,7 @@ label hg_butt_plugs: gen "(Maybe I could buy some lube to help me with my--{w=0.2} *Ahem*, {i}her{/i} friction problems...)" ("base", xpos="far_left", ypos="head") else: + $ ev_her_large_plug.enqueue() # Repeat with large butt plug call play_music("chipper_doodle") gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") From 257e932617dc152f964e8b9228be25625c90df9a Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 10 Oct 2022 13:49:16 +0200 Subject: [PATCH 21/27] Bugfix * Fixed wrong expressing being used on genie speaker. --- .../characters/hermione/events/requests/flirt_with_teachers.rpy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy index 5cdbe298..1f6892a5 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy @@ -179,7 +179,7 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick menu: "\"Here are your points though.\"": - gen "Know that I am a merciful master-- I mean a headmaster." ("annoyed", "squint", "base", "mid") + gen "Know that I am a merciful master-- I mean a headmaster." ("base", xpos="far_left", ypos="head") her "Really?" ("angry", "base", "worried", "mid") her "Thank you so much [genie_name]!" ("smile", "happyCl", "base", "mid") From 4cfd4d25116fca2edfe015ea56c0e00c03b471c6 Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 10 Oct 2022 15:29:07 +0200 Subject: [PATCH 22/27] Added Squirt layers to Nude Hermione Base pose --- game/characters/hermione/cum/pussy/squirt.webp | 3 +++ game/characters/hermione/cum/pussy/squirt_post.webp | 3 +++ game/characters/hermione/cum/pussy/wet.webp | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 game/characters/hermione/cum/pussy/squirt.webp create mode 100644 game/characters/hermione/cum/pussy/squirt_post.webp create mode 100644 game/characters/hermione/cum/pussy/wet.webp diff --git a/game/characters/hermione/cum/pussy/squirt.webp b/game/characters/hermione/cum/pussy/squirt.webp new file mode 100644 index 00000000..e9ef3e3c --- /dev/null +++ b/game/characters/hermione/cum/pussy/squirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d686b2f827ad0a486de64e44393a471f6d8b248acf8bc1305f21ad3c79c5c862 +size 3100 diff --git a/game/characters/hermione/cum/pussy/squirt_post.webp b/game/characters/hermione/cum/pussy/squirt_post.webp new file mode 100644 index 00000000..3699fcad --- /dev/null +++ b/game/characters/hermione/cum/pussy/squirt_post.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e39e08fbb91037ee05ea9ab5355eff8df66cc3931db4ca932ed890a5feade6d +size 3754 diff --git a/game/characters/hermione/cum/pussy/wet.webp b/game/characters/hermione/cum/pussy/wet.webp new file mode 100644 index 00000000..b85a4d60 --- /dev/null +++ b/game/characters/hermione/cum/pussy/wet.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e069a4b0f74ab0264dab7295c4ff69a51c17d65b5de92f728f1bf634636551f +size 820 From 215bb24f9bfba177d96ba731f029429aee8a1a00 Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 10 Oct 2022 17:11:30 +0200 Subject: [PATCH 23/27] Hermione Masturbate favour Squirting * Added squirting to Hermione masturbate favour. * Added "squirt_transition" image variants (mix of "squirt" and "squirt_post" for when she cums multiple times). * Removed unnecessary code that's already part of end label. * Removed "set music volume" for one of the events. --- .../hermione/cum/pussy/squirt_transition.webp | 3 + .../cum/pussy/squirt_transition.webp | 3 + .../events/favors/dance_for_me_masturbate.rpy | 69 ++++++++++--------- 3 files changed, 43 insertions(+), 32 deletions(-) create mode 100644 game/characters/hermione/cum/pussy/squirt_transition.webp create mode 100644 game/characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp diff --git a/game/characters/hermione/cum/pussy/squirt_transition.webp b/game/characters/hermione/cum/pussy/squirt_transition.webp new file mode 100644 index 00000000..b92b0b66 --- /dev/null +++ b/game/characters/hermione/cum/pussy/squirt_transition.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7b0e186bfa9e7caaa443f2a5fc4504fd09c77ec8b40eb68033bd6f16b68e8ae +size 5420 diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp b/game/characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp new file mode 100644 index 00000000..b8c9f62b --- /dev/null +++ b/game/characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e09b5dc087a6867a4109368496f184a4de58583d4863967a9b084d20edb299cd +size 4906 diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy index 103724e6..2d97f594 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy @@ -105,9 +105,7 @@ label hg_pf_strip_T4_fingering: her "To help my--... *Ah*" ("open", "closed", "worried", "down") play bg_sounds "sounds/slickloopfast.ogg" call nar(">You notice Hermione beginning to move her fingers a little faster.") - # - # TODO: Add wet layer for panties/pussy - # + $ hermione.set_cum(pussy="wet") her "*Ah*...{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") her "My classmates win the house cup..." ("angry", "wink", "base", "mid") gen "As if that's the only reason..." ("grin", xpos="far_left", ypos="head") @@ -175,6 +173,7 @@ label hg_pf_strip_T4_fingering: her "...{size=-5}A Slut...{/size} But only if it's not too much to ask..." ("soft", "narrow", "base", "down", cheeks="blush") gen "That's unbecoming of you to use such language, you little whore..." ("base", xpos="far_left", ypos="head") + $ hermione.set_cum(pussy="wet") her "*Ah*...{heart}{heart}" ("open", "closed", "annoyed", "mid") gen "What would your parents think if they saw this?" ("base", xpos="far_left", ypos="head") her "I-{heart}" ("open", "narrow", "worried", "up", cheeks="blush") @@ -203,14 +202,16 @@ label hg_pf_strip_T4_fingering: gen "What?" ("base", xpos="far_left", ypos="head") her "It's not {size=-5}wet...{/size}" ("annoyed", "narrow", "worried", "R", cheeks="blush") - gen "Are you sure? Because from where I'm sitting it looks nice and wet." ("base", xpos="far_left", ypos="head") + gen "Are you sure?" ("base", xpos="far_left", ypos="head") her "*Ah*...{heart}" ("soft", "narrow", "base", "up", cheeks="blush") - her "It...{w=0.4} it's just sweat, [genie_name]..." ("open", "narrow", "base", "R", cheeks="blush") + her "It...{w=0.4} I'm sure it's just sweat, [genie_name]..." ("open", "narrow", "base", "R", cheeks="blush") gen "if you say so..." ("base", xpos="far_left", ypos="head") her "..............." ("soft", "closed", "base", "up", cheeks="blush") gen "Slut." ("base", xpos="far_left", ypos="head") play bg_sounds "sounds/slickloopfast.ogg" + $ hermione.set_cum(pussy="wet") her "{heart}{heart}{heart}" ("silly", "narrow", "base", "up_soft", cheeks="blush") + gen "Wow, that sure is a lot of sweat, [hermione_name]." ("grin", xpos="far_left", ypos="head") her "Sir... please..." ("open", "narrow", "base", "mid_soft", cheeks="blush") $ hermione.set_body_zorder(armright=3) @@ -376,6 +377,7 @@ label hg_pf_strip_T5_fingering: her "*Ah*...{w=0.4} yes... please....{heart}" ("open", "happyCl", "worried", "mid") gen "*Tch*... Such a dirty whore..." ("base", xpos="far_left", ypos="head") play bg_sounds "sounds/slickloopfast.ogg" + $ hermione.set_cum(pussy="wet") her "Yes [genie_name], *Ah*...{heart}" ("grin", "narrow", "base", "up", cheeks="blush") her "Please... *Ah*...{w=0.4} more...{heart}" ("grin", "base", "angry", "mid", cheeks="blush") gen "You deserve to be punished for being such a filthy slut!" ("angry", xpos="far_left", ypos="head") @@ -386,19 +388,23 @@ label hg_pf_strip_T5_fingering: gen "Anything [hermione_name]?" ("base", xpos="far_left", ypos="head") her "*Ah-a*...{heart} Yessss..." ("silly", "narrow", "base", "up", cheeks="blush") gen "Cum." ("base", xpos="far_left", ypos="head") - # - # TODO: CUM LAYERS - # + her "{heart}{heart}{heart}!!!{heart}{heart}{heart}" ("silly", "narrow", "base", "dead", cheeks="blush") with kissiris with hpunch $ renpy.play("sounds/slick_01.ogg") + $ hermione.set_cum(pussy="squirt") + pause .8 + $ hermione.set_cum(pussy="squirt_post") her "*Ah*...{heart}...{heart}" ("grin", "narrow", "annoyed", "up", cheeks="blush") with kissiris with hpunch $ renpy.play("sounds/slick_01.ogg") + $ hermione.set_cum(pussy="squirt_transition") + pause .8 + $ hermione.set_cum(pussy="squirt_post") her "*Ah*... *Ah*...{heart}" ("silly", "base", "base", "ahegao", cheeks="blush") play bg_sounds "sounds/slickloopfast.ogg" her "..." ("open_tongue", "closed", "base", "up", cheeks="blush") @@ -415,8 +421,6 @@ label hg_pf_strip_T5_fingering: $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) - $ hermione.wear("all") - jump end_hg_pf_strip ### Tier 6 ### @@ -470,7 +474,6 @@ label hg_pf_strip_T6_fingering: her "*Mmmh*...{heart}" ("base", "narrow", "base", "down", cheeks="blush") her "[genie_name]...{w=0.4} Do you...{w=0.4} like it when I do it like this?" ("grin", "narrow", "base", "down", cheeks="blush") - $ renpy.music.set_volume(0.3, 0.0) call play_music("chipper_doodle") # HERMIONE'S THEME. gen "Yes, I love it..." ("base", xpos="far_left", ypos="head") @@ -478,6 +481,7 @@ label hg_pf_strip_T6_fingering: her "Alright [genie_name]..." ("base", "happyCl", "base", "mid", cheeks="blush") play bg_sounds "sounds/slickloopfast.ogg" her "*Ah*...{w=0.4} *Ah*...{w=0.4}{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") + $ hermione.set_cum(pussy="wet") her "*Ah*...{w=0.6} [genie_name]...{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") menu: @@ -569,11 +573,13 @@ label hg_pf_strip_T6_fingering: ">Hermione slowly climbs down from the desk and stands in front of you." pause.5 - # Both hands down + # Reset pose $ hermione.set_body_zorder(armright=0) $ hermione.set_body(armleft="down", armright="down") + $ hermione.set_pose(None) + $ hermione.strip("all") - call her_chibi_scene("behind_desk_show_tits") #TODO Replace with naked chibi + call her_chibi_scene("behind_desk_front") hide screen blktone hide screen bld1 @@ -682,29 +688,36 @@ label hg_pf_strip_T6_fingering: her "*Ah*...{heart} yes!!" ("mad", "narrow", "annoyed", "dead", cheeks="blush") her "I'm about to cum [genie_name]!!{heart}" ("grin", "narrow", "base", "dead", cheeks="blush") her "From being fucked by your fingers!!{heart}{heart}" ("open_tongue", "base", "base", "ahegao", cheeks="blush") - gen "Touch your tits [hermione_name]!" ("base", xpos="far_left", ypos="head") - gen "I want to see you play with them as you cum." ("base", xpos="far_left", ypos="head") - - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armright="on_tits") - - her "*Ah*...{w=0.4} Yes...{w=0.4}*Ah*... my--" ("soft", "narrow", "base", "dead", cheeks="blush") + her "*Ah*...{w=0.4} Yes...{w=0.4}*Ah*..." ("soft", "narrow", "base", "dead", cheeks="blush") her "[genie_name]{heart}... I'm...*Ah*...{w=0.4} I'm cumming!{heart}" ("silly", "narrow", "annoyed", "dead", cheeks="blush") + her "{heart}{heart}{heart}!!!{heart}{heart}{heart}" ("silly", "narrow", "base", "dead", cheeks="blush") with kissiris with hpunch $ renpy.play("sounds/slick_01.ogg") - # - # TODO: CUM LAYERS - # + $ hermione.set_cum(pussy="squirt") + pause .8 + + $ hermione.set_cum(pussy="squirt_post") + her "*Ah*...{w=0.4}{heart}...{heart}" ("grin", "narrow", "annoyed", "dead", cheeks="blush") with kissiris with hpunch $ renpy.play("sounds/slick_01.ogg") + $ hermione.set_cum(pussy="squirt_transition") + pause .8 + + $ hermione.set_cum(pussy="squirt_post") + her "*Ah*...{w=0.4} *Ah*...{heart}" ("silly", "narrow", "annoyed", "dead", cheeks="blush") + $ hermione.set_cum(pussy="squirt_transition") with kissiris with hpunch $ renpy.play("sounds/slick_01.ogg") + pause .8 + + $ hermione.set_cum(pussy="squirt_post") + her "*Mmmmmmh*!!!" ("soft", "base", "annoyed", "dead", cheeks="blush") her "........................" ("grin", "base", "annoyed", "dead", cheeks="blush") stop bg_sounds @@ -718,17 +731,9 @@ label hg_pf_strip_T6_fingering: show screen bld1 with d3 - # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") - $ hermione.set_pose(None) - gen "This shall do for now [hermione_name]." ("base", xpos="far_left", ypos="head") her "*Ah*...{w=0.4} *Ah*...{heart}" ("open", "narrow", "annoyed", "dead", cheeks="blush") - her "Yes...{w=0.4} yes, [genie_name]{heart}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") - - $ hermione.wear("all") - $ renpy.music.set_volume(1.0, 3.0) + her "Yes...{w=0.4} yes, [genie_name].{heart}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") jump end_hg_pf_strip From 5e76ca2cb275dce7aa0634f910ab9b8dc90241c4 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Mon, 10 Oct 2022 18:54:02 +0100 Subject: [PATCH 24/27] Bugfixes * Fixed leaking menu option (dev) * Proofreading (dev) --- .../hermione/events/items/vibrators.rpy | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 3f80cc94..23db65eb 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -298,30 +298,39 @@ label hg_vibrators: menu: "-Send her out-" if not _temp_lockout and game.daytime: jump hg_vibrators_public + "-Send her out-" (style="disabled") if _temp_lockout and game.daytime: gen "She already said no..." ("base", xpos="far_left", ypos="head") jump .choices + "-Send her out-" (style="disabled") if not game.daytime: her "But it's already past curfew..." gen "Oh, right..." ("base", xpos="far_left", ypos="head") nar "This option is only available during the day." - "-That shall do for now-" if _temp_lockout or not game.daytime: + + jump .choices + + "-Finish early-" if _temp_lockout or not game.daytime: jump her_vibrators_nevermind + "-Have her stay for a personal session-": jump hg_vibrators_personal + label her_vibrators_nevermind: gen "In that case, that shall do for now." ("base", xpos="far_left", ypos="head") her "Really?!" ("angry", "base", "base", "mid") + if not game.daytime: - gen "Yes, I've realised that my options are too limited at night." ("base", xpos="far_left", ypos="head") + gen "Yes, I've realized that my options are too limited at night." ("base", xpos="far_left", ypos="head") her "Options?" ("angry", "base", "base", "mid") gen "Yes, I know. It's a difficult concept, but I do in fact have options at times." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "base", "mid") - gen "You can leave the vibrators here on my desk." ("base", xpos="far_left", ypos="head") + gen "You can leave the vibrators here, on my desk." ("base", xpos="far_left", ypos="head") gen "Off you go." ("base", xpos="far_left", ypos="head") else: gen "Yes, you can leave the vibrators with me, if you like." ("base", xpos="far_left", ypos="head") + if her_tier >= 5: #wants to keep them her "Oh... *Ehm*..." ("soft", "base", "base", "mid", cheeks="blush") gen "Or you could keep them, of course." ("base", xpos="far_left", ypos="head") @@ -337,10 +346,10 @@ label her_vibrators_nevermind: pause 1 if game.daytime: - her "Good day then, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") + her "Good day to you, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") gen "Until next time." ("base", xpos="far_left", ypos="head") else: - her "Good night then, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") + her "Good night, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") From 34f5d96e3be44d7675395ac9a19c709516816528 Mon Sep 17 00:00:00 2001 From: Johnny Date: Mon, 10 Oct 2022 20:01:50 +0200 Subject: [PATCH 25/27] Small logic fix * Adjusted writing (dev) --- .../characters/hermione/events/items/vibrators.rpy | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index 23db65eb..75d2cb64 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -333,8 +333,14 @@ label her_vibrators_nevermind: if her_tier >= 5: #wants to keep them her "Oh... *Ehm*..." ("soft", "base", "base", "mid", cheeks="blush") - gen "Or you could keep them, of course." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("soft", "base", "base", "R", cheeks="blush") + if not her_outfit_vibrators.unlocked: + gen "I'm waiting..." + her "..." ("soft", "base", "base", "mid", cheeks="blush") + show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) + with d5 + else: + gen "Or you could keep them, of course." ("base", xpos="far_left", ypos="head") + her "Thank you..." ("soft", "base", "base", "R", cheeks="blush") else: her "Oh, okay then..." ("soft", "base", "base", "mid", cheeks="blush") show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) From a8d7c731bdce9fd665b1965454adb07ed4dc6f7c Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Mon, 10 Oct 2022 19:18:11 +0100 Subject: [PATCH 26/27] Version bump * Updated configuration * Updated whitespace --- game/images.whitespace | 5 +++++ game/scripts/options.rpy | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/game/images.whitespace b/game/images.whitespace index a2782ad5..6df232ec 100644 --- a/game/images.whitespace +++ b/game/images.whitespace @@ -2758,6 +2758,9 @@ characters/hermione/cum/legs/heavy.webp:457,860,215,340 characters/hermione/cum/legs/light.webp:510,860,146,191 characters/hermione/cum/pussy/heavy.webp:537,923,21,114 characters/hermione/cum/pussy/light.webp:537,923,20,44 +characters/hermione/cum/pussy/squirt.webp:514,921,49,139 +characters/hermione/cum/pussy/squirt_post.webp:477,913,91,149 +characters/hermione/cum/pussy/squirt_transition.webp:477,913,91,149 characters/hermione/cum/pussy/underwear_heavy.webp:529,918,35,51 characters/hermione/cum/pussy/underwear_light.webp:529,918,35,38 characters/hermione/cum/pussy/vibrator_post.webp:526,895,41,89 @@ -2765,6 +2768,7 @@ characters/hermione/cum/pussy/vibrator_pre.webp:533,920,32,22 characters/hermione/cum/pussy/vibrator_squirt.webp:513,895,54,136 characters/hermione/cum/pussy/vibratorp_heavy.webp:529,911,35,58 characters/hermione/cum/pussy/vibratorp_light.webp:529,918,35,38 +characters/hermione/cum/pussy/wet.webp:545,921,17,24 characters/hermione/emote/angry.webp:602,319,45,43 characters/hermione/emote/confused.webp:449,166,129,101 characters/hermione/emote/happy.webp:472,135,131,127 @@ -3191,6 +3195,7 @@ characters/hermione/poses/masturbate/cum/pussy/heavy.webp:537,923,21,114 characters/hermione/poses/masturbate/cum/pussy/light.webp:537,923,20,44 characters/hermione/poses/masturbate/cum/pussy/squirt.webp:470,952,93,132 characters/hermione/poses/masturbate/cum/pussy/squirt_post.webp:481,956,86,106 +characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp:470,956,97,128 characters/hermione/poses/masturbate/cum/pussy/wet.webp:540,963,19,17 characters/hermione/poses/masturbate/face/cheeks/blush.webp:515,398,97,26 characters/hermione/poses/masturbate/face/eyebrows/angry.webp:507,358,114,20 diff --git a/game/scripts/options.rpy b/game/scripts/options.rpy index fcdaf4b2..8e200000 100644 --- a/game/scripts/options.rpy +++ b/game/scripts/options.rpy @@ -30,7 +30,7 @@ define config.developer = "auto" define config.console = True # Game version and naming -define config.version = "1.44.0" +define config.version = "1.44.1" define compatible_version = 1.43 define config.name = "Witch Trainer Silver" From 54d12585c1f73ec17c1ee325fc05501dc7c22adc Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 15 Oct 2022 18:56:47 +0100 Subject: [PATCH 27/27] Bug fixes * Fixed code logic for Hermione's gift items --- game/scripts/characters/hermione/gifts.rpy | 174 ++++++++++----------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/game/scripts/characters/hermione/gifts.rpy b/game/scripts/characters/hermione/gifts.rpy index 8d489b60..226b3188 100644 --- a/game/scripts/characters/hermione/gifts.rpy +++ b/game/scripts/characters/hermione/gifts.rpy @@ -9,23 +9,23 @@ label give_her_gift(gift_item): $ gave_hermione_gift = True if gift_item == lollipop_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "A lollipop?" ("base", "base", "base", "mid") call give_gift(">You give the candy to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-5) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Candy?" ("normal", "base", "base", "mid") her "Candy is for kids, [genie_name]." ("open", "base", "base", "mid") call give_gift(">You give the candy to Hermione...",gift_item) her "Thank you..." ("annoyed", "base", "worried", "R") call her_mood(-5) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Candy?" ("normal", "base", "base", "mid") call give_gift(">You give the candy to Hermione...",gift_item) her "*Ehm*... Sure, thanks..." ("open", "squint", "base", "mid") call her_mood(-5) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "A lollipop?" ("base", "base", "base", "mid") her "Clever girls use candy like this as a \"weapon\"." ("smile", "base", "base", "R") call give_gift(">You give the candy to Hermione...",gift_item) @@ -33,12 +33,12 @@ label give_her_gift(gift_item): call her_mood(-5) elif gift_item == chocolate_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "A chocolate bar?" ("base", "base", "base", "mid") call give_gift(">You give the chocolate to Hermione...", gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "A chocolate bar?" ("normal", "base", "base", "mid") her "*Hmm*..." ("annoyed", "squint", "angry", "mid") her "That thing about fairies..." @@ -46,13 +46,13 @@ label give_her_gift(gift_item): call give_gift(">You give the chocolate to Hermione...", gift_item) her "Thank you..." ("soft", "base", "base", "mid") call her_mood(-10) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A chocolate bar?" ("normal", "base", "base", "mid") her "I just like the way it crunches, [genie_name]! N-not the taste..." ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift(">You give the chocolate to Hermione...", gift_item) her "*Ehm*... Sure, thanks..." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "A chocolate bar?" ("base", "base", "base", "mid") her "You spoil me, [genie_name]." ("smile", "base", "angry", "mid") call give_gift(">You give the chocolate to Hermione...", gift_item) @@ -60,26 +60,26 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == plush_owl_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "A stuffed owl?" ("base", "base", "base", "mid") her "It's cute..." ("base", "base", "base", "mid") call give_gift(">You give the owl to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-7) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "A plush toy?" ("open", "base", "worried", "mid") her "I like it!" ("base", "base", "base", "mid") call give_gift(">You give the owl to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A toy?" ("base", "base", "base", "mid") her "Toys are for kids, [genie_name]." ("open", "base", "base", "mid") her "But I'll take it..." ("annoyed", "base", "worried", "R") call give_gift(">You give the owl to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-15) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "This is one of those adult toys isn't it?" ("disgust", "narrow", "base", "mid_soft") her "There's got to be a switch or a button somewhere..." ("open", "narrow", "worried", "down") her "So... Does it vibrate or something?" ("base", "narrow", "worried", "down") @@ -91,27 +91,27 @@ label give_her_gift(gift_item): call her_mood(-4) elif gift_item == butterbeer_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "Butterbeer?" ("base", "base", "base", "mid") her "Are you sure about that, [genie_name]?" ("open", "squint", "base", "mid") her "It does contain alcohol, you know..." ("base", "base", "base", "mid") call give_gift(">You give the bottle to Hermione...",gift_item) her "Thank you." ("base", "base", "base", "mid") call her_mood(-3) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Butterbeer, [genie_name]?" ("open", "base", "worried", "mid") her "To let you in on a little secret, [genie_name]..." ("open", "base", "base", "mid") her "I'm a big fan of this completely harmless beverage." ("base", "base", "base", "mid") call give_gift(">You give the bottle to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Butterbeer?" ("base", "base", "base", "mid") her "Thank you, [genie_name]." ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift(">You give the bottle to Hermione...",gift_item) her "I shall drink this with the girls later." ("base", "base", "base", "mid") call her_mood(-15) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "Butterbeer...?" ("base", "base", "base", "mid") her "Thank you, [genie_name]." ("base", "base", "base", "mid") call give_gift(">You give the bottle to Hermione...",gift_item) @@ -120,26 +120,26 @@ label give_her_gift(gift_item): call her_mood(-20) elif gift_item == science_mag_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "\"Popular magic\" magazines?" ("base", "base", "base", "mid") call give_gift(">You give an assortment of educational magazines to Hermione...",gift_item) her "Thank you, [genie_name]!" ("base", "base", "base", "mid") her "I will use them for my research!" call her_mood(-15) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Sometimes I find information in magazines that I could never find in a book..." ("base", "base", "base", "mid") call give_gift(">You give an assortment of educational magazines to Hermione...",gift_item) her "Thank you, [genie_name]!" ("base", "base", "base", "mid") her "I will use them for my research!" call her_mood(-10) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Oh..." ("open", "base", "base", "mid") her "Yes, I used to read magazines like that a lot..." ("base", "base", "base", "mid") her "Lately not so much though..." ("open", "base", "worried", "R") call give_gift(">You give an assortment of educational magazines to Hermione...",gift_item) her "Thank you, [genie_name]!" ("base", "base", "base", "mid") call her_mood(-3) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "*Ehm*..." ("open", "base", "worried", "R") her "To be honest, magazines like that lost their appeal to me completely lately..." ("open", "squint", "base", "mid") her "But I don't mind taking them off you hands anyway, [genie_name]." ("open", "base", "worried", "mid") @@ -148,25 +148,25 @@ label give_her_gift(gift_item): call her_mood(0) elif gift_item == girls_mag_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "*Hmm*?" ("soft", "base", "base", "mid") her "This is the sort of press some Slytherin bimbo would appreciate." ("annoyed", "squint", "base", "mid") her "I am way above silly magazines like that, [genie_name]." ("open", "closed", "base", "mid") call her_mood(0) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "I don't read magazines of that nature, [genie_name]..." ("open", "closed", "angry", "mid") her "................" ("soft", "base", "base", "R") her "But I could give it a try just to humour you I suppose..." ("open", "closed", "angry", "mid") call give_gift(">You give an assortment of rather girly magazines to Hermione...",gift_item) her "Thank you, [genie_name]!" ("open", "squint", "base", "mid") call her_mood(-5) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "I ashamed to admit this, but..." ("open", "base", "worried", "R") her "I really enjoy reading magazines like that lately..." ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift(">You give an assortment of rather girly magazines to Hermione...",gift_item) her "Thank you, [genie_name]." ("open", "squint", "base", "mid") call her_mood(-15) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "The Latest edition of \"Girlz\"?!" ("angry", "wide", "base", "stare") her "I can't have enough of that brilliant magazine!" ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift(">You give an assortment of rather girly magazines to Hermione...",gift_item) @@ -174,25 +174,25 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == adult_mag_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "Are that...?" ("open", "base", "base", "mid") her "Adult magazines, [genie_name]?" ("open", "base", "base", "mid") her "Given to me by An esteemed wizard of your status?" ("annoyed", "narrow", "angry", "R") her "[genie_name], surely you could find a more productive way to spend your free time." ("disgust", "narrow", "base", "mid_soft") her "And I most definitely would not have use for those..." ("angry", "base", "angry", "mid") call her_mood(7) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Adult magazines?" ("angry", "base", "angry", "mid") her "[genie_name], I have no interest in things like that." ("annoyed", "narrow", "angry", "R") her "And how is this an appropriate present for one of your students, [genie_name]?" ("angry", "base", "angry", "mid") call her_mood(3) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Adult magazines?" ("open", "base", "base", "mid") her "[genie_name], this is such an inappropriate present for a girl like me..." ("angry", "happyCl", "worried", "mid",emote="sweat") call give_gift(">You give an assortment of adult magazines to Hermione...",gift_item) her "I shall throw these away myself..." ("annoyed", "narrow", "annoyed", "mid") call her_mood(-8) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "The New edition of \"L.o.v.e.\"!!!" ("smile", "happyCl", "base", "mid") her "Err.. I mean, adult magazines?" ("angry", "wink", "base", "mid") her "This is a little inappropriate..." @@ -202,18 +202,18 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == porn_mag_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "*Hmm*... What is this?" ("base", "base", "base", "mid") her "[genie_name], those are porn magazines!" ("scream", "wide", "base", "stare") her "Shame on you, [genie_name]!" ("angry", "base", "angry", "mid",cheeks="blush") call her_mood(15) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Porn magazines?" ("shock", "wide", "base", "stare") her "[genie_name], what do you expect me to do with those?" ("open", "narrow", "worried", "down") her "Research them?" ("annoyed", "narrow", "annoyed", "mid") her "Despicable!" ("scream", "base", "angry", "mid",emote="angry") call her_mood(8) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "That's hardcore porn, [genie_name]." ("open", "base", "base", "mid") her "Which is a completely inappropriate gift for a girl like me!" ("angry", "happyCl", "worried", "mid",emote="sweat") her ".............." ("angry", "narrow", "base", "down") @@ -221,7 +221,7 @@ label give_her_gift(gift_item): call give_gift(">You give an assortment of porn magazines to Hermione...",gift_item) her "And I shall throw them in the trash, where they and... girls who like these things belong..." ("annoyed", "narrow", "annoyed", "mid") call her_mood(0) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "Pornography?" ("shock", "wide", "base", "stare") her "................" ("angry", "narrow", "base", "down") her "How can women even agree to do things like that, [genie_name]?" ("angry", "base", "base", "mid") @@ -232,25 +232,25 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == krum_poster_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "A Quidditch poster?" ("annoyed", "narrow", "worried", "down") her "What am I supposed to do with it, [genie_name]?" ("annoyed", "narrow", "annoyed", "mid") her "No, thank you." ("annoyed", "closed", "base", "mid") call her_mood(0) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "A Quidditch poster?" ("annoyed", "narrow", "worried", "down") her "*Hmm*..." ("annoyed", "narrow", "annoyed", "mid") her "I think I saw this player once or twice..." ("annoyed", "narrow", "worried", "down") her "He is that Durmstrang student, right?" ("base", "base", "base", "mid") call give_gift(">You give the poster to Hermione...",gift_item) call her_mood(-5) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A Viktor Krum poster, [genie_name]?" ("annoyed", "narrow", "worried", "down") her "Can't say that I care much for Quidditch, but..." ("open", "squint", "base", "mid") her "I can see why the girls find the brutish physique of some players appealing..." ("open", "narrow", "worried", "down") call give_gift(">You give the poster to Hermione...",gift_item) call her_mood(-15) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "A Viktor Krum poster?!" ("scream", "wide", "base", "mid") her "Thank you, [genie_name]!" ("grin", "happyCl", "worried", "mid",emote="sweat") call give_gift(">You give the poster to Hermione...",gift_item) @@ -259,22 +259,22 @@ label give_her_gift(gift_item): call her_mood(-25) elif gift_item == sexy_lingerie_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "lingerie?" ("angry", "narrow", "base", "down") her "[genie_name], I cannot accept a gift like this from you..." ("upset", "closed", "base", "mid") call her_mood(10) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "sexy lingerie?" ("angry", "narrow", "base", "down") her "You know I cannot possibly accept a gift like that from you, [genie_name]." ("angry", "base", "base", "mid") her "(It's pretty though)........." ("angry", "narrow", "base", "down") call her_mood(0) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "sexy lingerie?" ("base", "narrow", "worried", "down") her "[genie_name] that is so inappropriate..." ("angry", "wink", "base", "mid") call give_gift(">You give the lingerie to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "R",cheeks="blush") call her_mood(-7) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "sexy lingerie?" ("base", "narrow", "worried", "down") her "Do You think it will make me look like one of the witches in those adult magazines, [genie_name]?" ("grin", "narrow", "base", "dead") her "Oh... I mean, thank you, [genie_name]." ("angry", "wink", "base", "mid") @@ -282,50 +282,50 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == sexy_stockings_ITEM : - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "Stockings?" ("base", "narrow", "worried", "down") her "[genie_name], are you insinuating that I wear these?" ("angry", "closed", "base", "mid") call her_mood(8) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Sexy stockings?" ("angry", "narrow", "base", "down") her "Isn't this a bit inappropriate, [genie_name]?" ("annoyed", "base", "base", "mid") call her_mood(0) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Sexy stockings?" ("base", "narrow", "worried", "down") her "Thank you I guess..." ("base", "wink", "base", "mid",cheeks="blush") call give_gift(">You give the stockings to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "R",cheeks="blush") call her_mood(-8) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "Sexy stockings?" ("base", "narrow", "worried", "down") her "These are almost completely transparent, [genie_name]!" ("grin", "wide", "base", "mid") call give_gift(">You give the stockings to Hermione...",gift_item) call her_mood(-10) elif gift_item == pink_condoms_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "Condoms?!" ("angry", "wide", "base", "stare") her "[genie_name], I wouldn't even know what to do with them..." ("scream", "closed", "angry", "mid") call her_mood(6) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "... Condoms?" ("normal", "squint", "angry", "mid") her "*Ehm*... Is this a part of some new Hogwarts sex ed program or something?" ("open", "closed", "angry", "mid") her "No, [genie_name]... It feels wrong to accept a thing like this from you..." ("open", "base", "base", "R",cheeks="blush") call her_mood(0) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A pack of condoms?" ("normal", "base", "base", "mid") her "[genie_name], what possible use could I have for those?" her "Well, I shall accept them simply because it is rude to refuse a gift..." ("open", "closed", "angry", "mid") call give_gift(">You give a pack of condoms to Hermione...", gift_item) call her_mood(-3) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "A pack of condoms?" ("open", "squint", "base", "mid") her "I appreciate your concern, [genie_name]. Thank you." ("base", "narrow", "base", "mid_soft") call give_gift(">You give a pack of condoms to Hermione...", gift_item) call her_mood(-4) elif gift_item == vibrator_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "A magic wand?" ("base", "base", "base", "mid") her "No, it doesn't look like--" ("soft", "base", "base", "mid") her ".........?" @@ -333,12 +333,12 @@ label give_her_gift(gift_item): her "[genie_name]!" ("angry", "base", "angry", "mid",cheeks="blush") her "This is just beyond inappropriate!" ("scream", "closed", "angry", "mid") call her_mood(10) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "Is this what I think it is?" ("angry", "narrow", "base", "down") her "[genie_name], let me remind you that I belong to the noble house of Gryffindor." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "A present like that would be appropriate for a girl from Slytherin, [genie_name]." ("upset", "closed", "base", "mid") call her_mood(10) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Is that a... vibrator?" ("angry", "narrow", "base", "down") her "The design..." her "it reminds me of my wand..." @@ -347,7 +347,7 @@ label give_her_gift(gift_item): her "But I shall take it nonetheless..." ("annoyed", "base", "worried", "R") call give_gift(">You give the vibrator to Hermione...",gift_item) call her_mood(0) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "This vibrator..." ("open", "base", "worried", "mid") her "It's... calling out for me..." ("open", "base", "worried", "R") her "But not in a dirty way, [genie_name]." ("disgust", "narrow", "base", "mid_soft") @@ -356,18 +356,18 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == anal_lube_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "I don't know what this is..." ("open", "base", "base", "mid") her "But I have the feeling that the jar is full of something vile and inappropriate..." ("angry", "base", "angry", "mid") her "No, thank you, [genie_name]." call her_mood(6) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "*Hmm*..." ("annoyed", "narrow", "worried", "down") her "I think I know what this is..." ("disgust", "narrow", "base", "mid_soft") her "But why would you give something like this to one of your pupils, [genie_name]?" her "No, thank you." ("annoyed", "narrow", "angry", "R") call her_mood(2) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Anal lubricant?" ("angry", "narrow", "base", "down") her "*Ehm*.. well... I know this girl..." ("open", "base", "base", "R",cheeks="blush") her "I mean I don't know her, she is a friend of a friend..." @@ -375,7 +375,7 @@ label give_her_gift(gift_item): call give_gift(">You give the jar to Hermione...",gift_item) her "Still, I think you should not give presents like this to your pupils, [genie_name]." ("open", "narrow", "annoyed", "mid", cheeks="blush") call her_mood(0) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "Anal lubricant, [genie_name]?" ("base", "narrow", "worried", "down") her "I know a couple of girls who would do anything for a commodity like that." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "Thank for looking out for us, [genie_name]." ("base", "narrow", "base", "mid_soft") @@ -383,14 +383,14 @@ label give_her_gift(gift_item): call her_mood(-5) elif gift_item == ballgag_and_cuffs_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "What is this?" ("angry", "narrow", "base", "down") her "Is this like one of those adult toys?" ("angry", "squint", "base", "mid",cheeks="blush") her "What woman in her right mind would subject herself to a humiliation like that?" ("scream", "closed", "angry", "mid") her "And what possible use could I have for such objects?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "This is just insulting, [genie_name]..." ("angry", "base", "angry", "mid",cheeks="blush") call her_mood(10) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "[genie_name], do you not realise how inappropriate it would be for me to accept a present like that?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "And I would not even know what to do with them anyway..." ("open", "base", "base", "R",cheeks="blush") her "I mean these fluffy things are obviously handcuffs..." ("angry", "narrow", "base", "down") @@ -398,7 +398,7 @@ label give_her_gift(gift_item): her "[genie_name], please..." ("upset", "closed", "base", "mid") her "Just put them away." call her_mood(5) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A month ago I would've felt insulted to receive a gift like this..." ("upset", "closed", "base", "mid") her "But by now I know that some girls really do find pleasure in toys like..." ("angry", "narrow", "base", "down") her "But I assure you that I am not one of them, [genie_name]." ("upset", "closed", "base", "mid") @@ -406,7 +406,7 @@ label give_her_gift(gift_item): her "Yes, I shall take these to her..." ("base", "base", "base", "R",cheeks="blush") call give_gift(">You give the ball gag and cuffs to Hermione...",gift_item) call her_mood(-9) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "A ball gag and handcuffs?" ("open", "happy", "base", "mid",cheeks="blush") her "This is completely inappropriate, [genie_name]." ("angry", "wink", "base", "mid") # :) her "But a gift is a gift, right?" ("base", "squint", "base", "mid") @@ -414,25 +414,25 @@ label give_her_gift(gift_item): call her_mood(-15) elif gift_item == anal_plugs_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "*Hmm*...?" ("base", "base", "base", "mid") her "Are those like key chain toys?" ("soft", "base", "base", "mid") call give_gift(">You give the anal plugs to Hermione...",gift_item) her "Thank you, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") call her_mood(-8) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "[genie_name], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "those are some of those anal things, aren't they?" ("angry", "base", "angry", "mid",cheeks="blush") her "[genie_name] this is nothing but a weapon meant to oppress women!" her "Despicable!" ("upset", "closed", "base", "mid") call her_mood(15) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "Yes, I know that some girls have *uhm*..." ("upset", "closed", "base", "mid") her "Have use for things such as these..." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "But not me, [genie_name]." her "No, thank you." ("upset", "closed", "base", "mid") call her_mood(0) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "Anal plugs?" ("angry", "narrow", "base", "down") her "I have no use for things like that, [genie_name]..." ("angry", "base", "base", "mid") her "They are so pretty though..." ("angry", "wink", "base", "mid") @@ -444,7 +444,7 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == testral_strapon_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "What is that?" ("angry", "wide", "base", "stare") her "An artefact of some sort or a trophy?" ("open", "base", "base", "mid") her "So well-crafted..." ("base", "base", "base", "mid") @@ -452,7 +452,7 @@ label give_her_gift(gift_item): call give_gift(">You give the strap-on to Hermione...",gift_item) her "Thank you very much, [genie_name]. I promise to take good care of it." ("open", "closed", "base", "mid") call her_mood(-20) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "!!!" ("angry", "wide", "base", "stare") her "That is..." ("angry", "narrow", "base", "down") her "But it doesn't even look... human..." @@ -462,7 +462,7 @@ label give_her_gift(gift_item): her ".................." ("open", "narrow", "worried", "down") her "Please put it away, [genie_name]." ("angry", "base", "angry", "mid") call her_mood(15) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "That thing..." ("angry", "narrow", "base", "down") her "Is that the actual size of the... of the real \"thing\"?" ("angry", "base", "base", "mid") her "I mean..." ("open", "base", "base", "R",cheeks="blush") @@ -472,7 +472,7 @@ label give_her_gift(gift_item): her "I will take it..." ("normal", "happyCl", "worried", "mid") call give_gift(">You give the strap-on to Hermione...",gift_item) call her_mood(-10) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "It's... It's magnificent, [genie_name]..." ("shock", "wide", "base", "stare") her "Is it really modelled after a thestral?" ("open", "base", "base", "R",cheeks="blush") her "But the creatures are invisible..." ("open", "happy", "base", "mid",cheeks="blush") @@ -485,7 +485,7 @@ label give_her_gift(gift_item): call her_mood(-30) elif gift_item == broom_2000_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "A broom...?" ("base", "base", "base", "mid") her "*Hmm*..." ("normal", "base", "base", "mid") her "What is that silly-looking thing attached to it?" ("normal", "squint", "angry", "mid") @@ -493,7 +493,7 @@ label give_her_gift(gift_item): call give_gift(">You give the broom to Hermione...",gift_item) her "Thank you for the gift, [genie_name]." ("open", "base", "worried", "mid") call her_mood(-20) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "A broom...?" ("base", "base", "base", "mid") her "*Hmm*..." ("normal", "squint", "angry", "mid") her "It's a sex-toy of some sort, isn't it?" ("angry", "base", "angry", "mid") @@ -501,7 +501,7 @@ label give_her_gift(gift_item): call give_gift(">You give the broom to Hermione...",gift_item) her "Thank you, [genie_name]." ("upset", "closed", "base", "mid") call her_mood(-20) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A broom...?" ("angry", "narrow", "base", "down") her "*Hmm*..." her "What kind of saddle is that...?" ("disgust", "narrow", "base", "mid_soft") @@ -510,7 +510,7 @@ label give_her_gift(gift_item): call give_gift(">You give the broom to Hermione...",gift_item) her "Thank you, [genie_name]." ("upset", "closed", "base", "mid") call her_mood(-30) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "A broom..." ("base", "narrow", "worried", "down") her "*Hmm*..." her "That saddle, [genie_name]..." ("open", "base", "base", "R",cheeks="blush") @@ -522,23 +522,23 @@ label give_her_gift(gift_item): call her_mood(-30) elif gift_item == sexdoll_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "Is this..." ("shock", "wide", "base", "stare") her "A sex doll?!" ("angry", "happyCl", "worried", "mid",emote="sweat") her "[genie_name]!!!" ("scream", "happyCl", "worried", "mid") call her_mood(20) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "A sex doll?" ("shock", "wide", "base", "stare") her "This is just so unbecoming for an esteemed wizard such as yourself, [genie_name]..." ("upset", "closed", "base", "mid") call her_mood(20) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 18: # Lv 5-6. her "A sex doll..." ("angry", "narrow", "base", "down") her "This is a little inappropriate..." ("upset", "closed", "base", "mid") her "But maybe we could use it for a prank or something..." ("base", "narrow", "worried", "down") call give_gift(">You give the blow-up doll to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "narrow", "worried", "down") call her_mood(-10) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "the Joanne sex doll?" ("annoyed", "narrow", "worried", "down") her "I Can't say that I approve of this..." ("open", "base", "base", "R",cheeks="blush") her "But I know Harry would love to have a go at it..." ("base", "narrow", "worried", "down") @@ -547,24 +547,24 @@ label give_her_gift(gift_item): call her_mood(-30) elif gift_item == anal_beads_ITEM: - if her_whoring >= 0 and her_whoring <= 5: # Lv 1-2. + if her_whoring < 6: # Lv 1-2. her "*Hmm*...?" ("base", "base", "base", "mid") her "Is this a necklace?" ("soft", "base", "base", "mid") call give_gift(">You give the anal beads to Hermione...",gift_item) her "Thank you, [genie_name]." ("base", "base", "base", "mid") call her_mood(-8) - elif her_whoring >= 6 and her_whoring <= 11: # Lv 3-4. + elif her_whoring < 12: # Lv 3-4. her "[genie_name], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid", cheeks="blush") her "This is one of those butt... bead things, aren't they?" ("angry", "base", "angry", "mid",cheeks="blush") her "[genie_name] get them away from me!" her "Gross!" ("upset", "closed", "base", "mid") call her_mood(15) - elif her_whoring >= 12 and her_whoring <= 17: # Lv 5-6. + elif her_whoring < 17: # Lv 5-6. her "That's not a necklace..." ("upset", "closed", "base", "mid") her "I wouldn't have any use for this..." ("open", "narrow", "annoyed", "mid", cheeks="blush") her "Thanks but no thanks [genie_name]." ("upset", "closed", "base", "mid") call her_mood(0) - elif her_whoring >= 18: # Lv 7+ + else: # Lv 7+ her "Anal beads?" ("angry", "narrow", "base", "down") her "Obviously I don't need this sort of thing, [genie_name]..." ("angry", "base", "base", "mid") her "Although it's got a nice colour..." ("angry", "wink", "base", "mid") @@ -576,25 +576,25 @@ label give_her_gift(gift_item): call her_mood(-10) elif gift_item == wine_ITEM or gift_item == firewhisky_ITEM: - if her_whoring <= 6 and her_whoring <= 11: + if her_whoring < 7: + call give_gift(">You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) + her "Thank you, [genie_name], I'll ask Ginny to drink some with me later." ("soft", "base", "base", "mid", cheeks="blush") + call her_mood(-20) + elif her_whoring < 12: her "[genie_name]?! Drinking alcohol on school grounds is forbidden.." ("open", "base", "angry", "mid") her "And you as a headmaster should know it!" ("upset", "base", "angry", "mid") call her_mood(10) - elif her_whoring <= 12 and her_whoring <= 17: + elif her_whoring < 18: her "But, [genie_name].. I can't drink alcohol." ("base", "narrow", "worried", "down") her "I guess I could use it for some potion mixing though.." ("open", "base", "base", "R") call give_gift(">You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) her "" ("base", "base", "base", "R") call her_mood(-5) - elif her_whoring >= 18: + else: her "But, [genie_name].. You know I can't drink.." ("soft","base", "base", "mid", cheeks="blush") her "I get drunk too fast and I might do something I'll regret later." ("open", "base", "base", "R", cheeks="blush") her "" ("base", "base", "base", "R", cheeks="blush") call her_mood(0) - else: - call give_gift(">You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) - her "Thank you, [genie_name], I'll ask Ginny to drink some with me later." ("soft", "base", "base", "mid", cheeks="blush") - call her_mood(-20) her "" (xpos="base",ypos="base") hide hermione_main