From 914f03fa73f26168fff81b7dee46f061021f0b8b Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Thu, 19 May 2022 16:44:36 +0100 Subject: [PATCH] Bug fixes and improvements * Simplified and restructured plug events for Hermione * Fixed Snape's sprite flickering * Fixed requirements check for EventQueue class * Adjusted label names for item-related quests --- .../hermione/events/items/butt_plugs.rpy | 533 +++++++++--------- .../hermione/events/items/collars.rpy | 2 +- game/scripts/characters/snape/common.rpy | 2 +- game/scripts/events/queue.rpy | 10 +- game/scripts/inventory/qitems.rpy | 4 +- 5 files changed, 285 insertions(+), 266 deletions(-) diff --git a/game/scripts/characters/hermione/events/items/butt_plugs.rpy b/game/scripts/characters/hermione/events/items/butt_plugs.rpy index 5c91663b..0db1bb33 100644 --- a/game/scripts/characters/hermione/events/items/butt_plugs.rpy +++ b/game/scripts/characters/hermione/events/items/butt_plugs.rpy @@ -1,12 +1,15 @@ +default ev_her_small_plug = Event(id="her_small_plug", daytime=False, label="hg_butt_plugs_small_return") +default ev_her_medium_plug = Event(id="her_medium_plug", daytime=False, label="hg_butt_plugs_medium_return") +default ev_her_large_plug = Event(id="her_large_plug", daytime=False, label="hg_butt_plugs_large_return") -label hg_ps_buttplug: +label hg_butt_plugs: # Setup $ her_outfit_last.save() #Saves current clothing $ current_payout = 55 # Default payout - if hg_ps_buttplug.points == 0: + if not her_buttplug_small1.unlocked: gen "{size=-4}(I could ask her to wear a butt plug around the school today.){/size}" ("base", xpos="far_left", ypos="head") else: gen "{size=-4}(I feel like making her walk around with a butt plug again!){/size}" ("base", xpos="far_left", ypos="head") @@ -29,6 +32,7 @@ label hg_ps_buttplug: jump too_much $ her_buttplug_small1.unlock() + $ ev_her_small_plug.enqueue() her "and what is that supposed to be? Some sort of animals tail?" ("open", "squint", "base", "mid") gen "Not exactly, it's a butt plug. I want you to wear it while you attend class today." ("base", xpos="far_left", ypos="head") @@ -74,18 +78,18 @@ label hg_ps_buttplug: gen "*Hmm*... alright, I'll see you tonight then." ("base", xpos="far_left", ypos="head") else: # Repeat with small butt plug - if her_whoring >= 15: - gen "Today's favour shall be..." ("base", xpos="far_left", ypos="head") - her "........." ("angry", "base", "base", "mid",xpos="right",ypos="base") - gen "Wearing your favourite little butt plug to class!" ("base", xpos="far_left", ypos="head") - her "... again?" ("angry", "narrow", "base", "down") - gen "Sure, why not?" ("base", xpos="far_left", ypos="head") - gen "And another fifty-five house points for the Gryffindor house of course." ("base", xpos="far_left", ypos="head") - her ".........." ("annoyed", "base", "worried", "R") - gen "So... Are you okay with that, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I suppose so..." ("annoyed", "narrow", "angry", "R") + if her_whoring > 21: + call play_music("chipper_doodle") + gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") + her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") + gen "You're eager." ("base", xpos="far_left", ypos="head") + her "well... I mean it is a lot of points and... I've sort of grown fond of how it feels..." ("open", "narrow", "worried", "down") + gen "Great. Go have fun then!" ("base", xpos="far_left", ypos="head") ">You hand her the butt plug." - gen "Fantastic! See you after class." ("base", xpos="far_left", ypos="head") + ">Hermione turns around and lifts her skirt giving you a full view as she inserts it." + her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") + her "I will, [genie_name]. Thank you." ("base", "happyCl", "base", "mid") elif her_whoring >= 19: ">You pull out the large butt plug." @@ -114,23 +118,22 @@ label hg_ps_buttplug: gen "See you tonight [hermione_name]." ("base", xpos="far_left", ypos="head") her "{size=-5}({heart}it feels so good{heart}){/size}" ("grin", "narrow", "annoyed", "up") - elif her_whoring > 21: - call play_music("chipper_doodle") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") - her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") - gen "You're eager." ("base", xpos="far_left", ypos="head") - her "well... I mean it is a lot of points and... I've sort of grown fond of how it feels..." ("open", "narrow", "worried", "down") - gen "Great. Go have fun then!" ("base", xpos="far_left", ypos="head") + elif her_whoring >= 15: + gen "Today's favour shall be..." ("base", xpos="far_left", ypos="head") + her "........." ("angry", "base", "base", "mid",xpos="right",ypos="base") + gen "Wearing your favourite little butt plug to class!" ("base", xpos="far_left", ypos="head") + her "... again?" ("angry", "narrow", "base", "down") + gen "Sure, why not?" ("base", xpos="far_left", ypos="head") + gen "And another fifty-five house points for the Gryffindor house of course." ("base", xpos="far_left", ypos="head") + her ".........." ("annoyed", "base", "worried", "R") + gen "So... Are you okay with that, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "I suppose so..." ("annoyed", "narrow", "angry", "R") ">You hand her the butt plug." - ">Hermione turns around and lifts her skirt giving you a full view as she inserts it." - her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") - her "I will, [genie_name]. Thank you." ("base", "happyCl", "base", "mid") + gen "Fantastic! See you after class." ("base", xpos="far_left", ypos="head") "-Medium, magical-": - if hg_ps_buttplug.points >= 1: - $ buttplug_size = 2 - else: + if not her_buttplug_small1.unlocked: + # Requires small butt plug event. gen "(I don't think she's ready for that yet.)" ("base", xpos="far_left", ypos="head") jump .plug_choice @@ -145,6 +148,7 @@ label hg_ps_buttplug: jump too_much $ her_buttplug_medium1.unlock() + $ ev_her_medium_plug.enqueue() her "and what is this supposed to be?" ("open", "squint", "base", "mid") gen "Can't you tell it's a butt plug? They shouldn't be new to you at this point." ("base", xpos="far_left", ypos="head") @@ -202,7 +206,8 @@ label hg_ps_buttplug: her "{size=-5}(cheap bastard...){/size}" ("annoyed", "narrow", "angry", "R") else: # Repeat with medium butt plug - if her_whoring < 21 and buttplug_size == 2: + + 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") gen "That you wear everyone's favourite magical butt plug to class!" ("base", xpos="far_left", ypos="head") @@ -214,14 +219,14 @@ label hg_ps_buttplug: ">You hand her the butt plug." gen "Fantastic! See you after class." ("base", xpos="far_left", ypos="head") - elif her_whoring < 23 and buttplug_size == 2: + elif her_whoring < 23: ">You pull out the butt plug." gen "Ready to try out the phoenix again?" ("base", xpos="far_left", ypos="head") + her "Oh, I suppose so..." ("soft", "happy", "base", "R",xpos="right",ypos="base") if buttplug_2_question == False: $ buttplug_2_question = True - her "Oh, I suppose so..." ("soft", "happy", "base", "R",xpos="right",ypos="base") her "But is it alright if I ask you something first?" ("open", "narrow", "worried", "down") gen "What's that, [hermione_name]?" ("base", xpos="far_left", ypos="head") her "Don't you worry about us getting caught?" ("annoyed", "base", "base", "mid") @@ -254,14 +259,14 @@ label hg_ps_buttplug: her "Well... Here goes..." ("base", "narrow", "worried", "down") ">Hermione lifts her skirt and pushes it in gently, taking her time." - call set_hermione_plug("medium") - her "{heart}{heart}{heart}*Ah*{heart}{heart}{heart}..." ("grin", "narrow", "annoyed", "up") her "I better... Head to class... Now..." ("soft", "happy", "base", "R") gen "See you tonight, [hermione_name]." ("base", xpos="far_left", ypos="head") her "{size=-5}({heart}It's... So... Good...{heart}){/size}" ("grin", "narrow", "annoyed", "up") - elif her_whoring >= 23 and buttplug_size == 2: + ">Hermione lifts her skirt and pushes it in gently, taking her time." + + else: call play_music("chipper_doodle") gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") @@ -273,161 +278,150 @@ label hg_ps_buttplug: ">You hand her the butt plug." ">Hermione lifts her skirt giving you a full view as she inserts it." - call set_hermione_plug("medium") - - her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") - her "Thank you [genie_name]!" ("open", "base", "base", "R") - her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("grin", "narrow", "annoyed", "up") + her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") + her "Thank you [genie_name]!" ("open", "base", "base", "R") + her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("grin", "narrow", "annoyed", "up") "-Large, magical-": - if buttplug_2_worn and her_whoring > 23: - $ buttplug_size = 3 - else: + if not her_buttplug_medium1.unlocked: + # Requires medium butt plug event. gen "(I don't think she's ready for that yet.)" ("base", xpos="far_left", ypos="head") jump .plug_choice - # else: - # if not buttplug_3_worn and buttplug_size == 3: - # # Large buttplug first time - # call play_music("chipper_doodle") - # gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - # gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") - # her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") - # gen "You're eager. I haven't even said which one yet..." ("base", xpos="far_left", ypos="head") - # her "Oh... Can it be the big one... With the long tail..." ("open", "narrow", "worried", "down") - # her "Please..." ("soft", "happy", "base", "R") - # gen "Well seeing as how you did ask for the big one..." ("base", xpos="far_left", ypos="head") - # call nar(">You hand her the butt plug.") - # her "!!!" ("angry", "narrow", "base", "down") - # her "This isn't the one I meant [genie_name]..." ("angry", "narrow", "base", "down") - # gen "Didn't you ask for the big one?" ("base", xpos="far_left", ypos="head") - # her "I did--" ("grin", "narrow", "annoyed", "up") - # gen "Well here's the {b}big{/b} one." ("base", xpos="far_left", ypos="head") - # her "But, [genie_name]... I don't even think this will fit." ("disgust", "base", "base", "mid",cheeks="blush") - # gen "Never say never!" ("base", xpos="far_left", ypos="head") - # her "You can't be serious!" ("scream", "narrow", "worried", "down") - # her "This thing is ridiculous!" ("open", "closed", "base", "mid") - # gen "You said the same thing about the smaller one." ("base", xpos="far_left", ypos="head") - # her "That was different..." ("disgust", "narrow", "base", "down") - # gen "I have confidence in you!" ("base", xpos="far_left", ypos="head") + if not her_buttplug_large1.unlocked: + # First time with large butt plug + call play_music("chipper_doodle") - # if hg_anal.trigger: - # gen "Besides, you were pretty great when you were taking my cock up your ass!" ("grin", xpos="far_left", ypos="head") + $ her_buttplug_large1.unlock() + $ ev_her_large_plug.enqueue() - # her "[genie_name]!" ("shock", "wide", "base", "mid",cheeks="blush") - # gen "Come on..." ("base", xpos="far_left", ypos="head") - # her "This is too much [genie_name]! even your cock isn't this {b}thick{/b}..." ("open", "narrow", "angry", "R") - # gen "Nothing a little spit can't solve!" ("base", xpos="far_left", ypos="head") - # her "Don't be ridiculous! This is beyond spit!" ("open", "closed", "base", "mid") - # her "Unless you have some sort of actual {i}lubricant{/i} in your possession, I don't think I'll be letting this thing anywhere near me..." ("open", "base", "angry", "mid") + gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") + her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") + gen "You're eager. I haven't even said which one yet..." ("base", xpos="far_left", ypos="head") + her "Oh... Can it be the big one... With the long tail..." ("open", "narrow", "worried", "down") + her "Please..." ("soft", "happy", "base", "R") + gen "Well seeing as how you did ask for the big one..." ("base", xpos="far_left", ypos="head") + call nar(">You hand her the butt plug.") + her "!!!" ("angry", "narrow", "base", "down") + her "This isn't the one I meant [genie_name]..." ("angry", "narrow", "base", "down") + gen "Didn't you ask for the big one?" ("base", xpos="far_left", ypos="head") + her "I did--" ("grin", "narrow", "annoyed", "up") + gen "Well here's the {b}big{/b} one." ("base", xpos="far_left", ypos="head") + her "But, [genie_name]... I don't even think this will fit." ("disgust", "base", "base", "mid",cheeks="blush") + gen "Never say never!" ("base", xpos="far_left", ypos="head") + her "You can't be serious!" ("scream", "narrow", "worried", "down") + her "This thing is ridiculous!" ("open", "closed", "base", "mid") + gen "You said the same thing about the smaller one." ("base", xpos="far_left", ypos="head") + her "That was different..." ("disgust", "narrow", "base", "down") + gen "I have confidence in you!" ("base", xpos="far_left", ypos="head") - # menu: - # "-Use anal lube-" if anal_lube_ITEM.owned > 0: - # $ buttplug_3_worn = True - # $ her_buttplug_large1.unlock() + if hg_anal.trigger: + gen "Besides, you were pretty great when you were taking my cock up your ass!" ("grin", xpos="far_left", ypos="head") - # call play_music("playful_tension") - # gen "Well it just so happens that I recently came across the solution to your problem." ("base", xpos="far_left", ypos="head") - # her "Which is?" ("disgust", "wink", "base", "mid") - # gen "Here." ("base", xpos="far_left", ypos="head") + her "[genie_name]!" ("shock", "wide", "base", "mid",cheeks="blush") + gen "Come on..." ("base", xpos="far_left", ypos="head") + her "This is too much [genie_name]! even your cock isn't this {b}thick{/b}..." ("open", "narrow", "angry", "R") + gen "Nothing a little spit can't solve!" ("base", xpos="far_left", ypos="head") + her "Don't be ridiculous! This is beyond spit!" ("open", "closed", "base", "mid") + her "Unless you have some sort of actual {i}lubricant{/i} in your possession, I don't think I'll be letting this thing anywhere near me..." ("open", "base", "angry", "mid") - # call give_gift(">You hand hermione the jar of anal lubricant.",anal_lube_ITEM) + menu: + "-Use anal lube-" if anal_lube_ITEM.owned > 0: + call play_music("playful_tension") + gen "Well it just so happens that I recently came across the solution to your problem." ("base", xpos="far_left", ypos="head") + her "Which is?" ("disgust", "wink", "base", "mid") + gen "Here." ("base", xpos="far_left", ypos="head") - # her "!!!" ("clench", "wide", "base", "stare") - # her "I wasn't being serious, [genie_name]!" ("scream", "base", "angry", "mid") - # gen "Now, now. No one likes a liar." ("base", xpos="far_left", ypos="head") - # her "I didn't promise anything! Besides, I didn't actually expect you to have a jar of lube in your desk." ("open", "narrow", "angry", "R") - # gen "I bought it for just such an occasion..." ("base", xpos="far_left", ypos="head") - # her "..." ("annoyed", "base", "angry", "mid") - # her "*Ugh*... fine. I'll {b}try{/b} to fit it in." ("disgust", "narrow", "worried", "down") - # her "But I'm not promising anything!" ("open", "closed", "base", "mid") - # gen "That's all I ask." ("base", xpos="far_left", ypos="head") - # call nar(">You hand Hermione the large butt plug.") - # her "I still don't think this is going to work..." ("open", "base", "base", "mid") - # call nar(">Hermione slowly coats the massive butt plug with lube.") - # her "There's barely even enough here to cover it..." ("open", "narrow", "worried", "down") - # her "(There's no way this thing will fit.)" ("disgust", "narrow", "base", "down") - # call nar(">Hermione slowly places the lubed up butt plug to her anus.") - # her "I'm telling you, [genie_name], this isn't going to--" ("open", "closed", "base", "mid") - # her "{size=+10}!!!{/size}" ("soft", "wide", "base", "stare",cheeks="blush",trans=hpunch) - # her "{size=+10}It's moving!{/size}" ("disgust", "happyCl", "worried", "mid") - # gen "Really?" ("base", xpos="far_left", ypos="head") - # her "{size=+5}*Ugh*...{/size}" ("disgust", "happyCl", "worried", "mid") - # her "{size=+5}it's forcing its way inside me....{/size}" ("open", "wide", "worried", "shocked") - # her "*Ah*..." ("shock", "happyCl", "worried", "mid") - # her "It's...{w=0.3} It's..." ("open", "wide", "base", "stare") + call give_gift(">You hand hermione the jar of anal lubricant.",anal_lube_ITEM) - # call play_sound("pop") + her "!!!" ("clench", "wide", "base", "stare") + her "I wasn't being serious, [genie_name]!" ("scream", "base", "angry", "mid") + gen "Now, now. No one likes a liar." ("base", xpos="far_left", ypos="head") + her "I didn't promise anything! Besides, I didn't actually expect you to have a jar of lube in your desk." ("open", "narrow", "angry", "R") + gen "I bought it for just such an occasion..." ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "base", "angry", "mid") + her "*Ugh*... fine. I'll {b}try{/b} to fit it in." ("disgust", "narrow", "worried", "down") + her "But I'm not promising anything!" ("open", "closed", "base", "mid") + gen "That's all I ask." ("base", xpos="far_left", ypos="head") + call nar(">You hand Hermione the large butt plug.") + her "I still don't think this is going to work..." ("open", "base", "base", "mid") + call nar(">Hermione slowly coats the massive butt plug with lube.") + her "There's barely even enough here to cover it..." ("open", "narrow", "worried", "down") + her "(There's no way this thing will fit.)" ("disgust", "narrow", "base", "down") + call nar(">Hermione slowly places the lubed up butt plug to her anus.") + her "I'm telling you, [genie_name], this isn't going to--" ("open", "closed", "base", "mid") + her "{size=+10}!!!{/size}" ("soft", "wide", "base", "stare",cheeks="blush",trans=hpunch) + her "{size=+10}It's moving!{/size}" ("disgust", "happyCl", "worried", "mid") + gen "Really?" ("base", xpos="far_left", ypos="head") + her "{size=+5}*Ugh*...{/size}" ("disgust", "happyCl", "worried", "mid") + her "{size=+5}it's forcing its way inside me....{/size}" ("open", "wide", "worried", "shocked") + her "*Ah*..." ("shock", "happyCl", "worried", "mid") + her "It's...{w=0.3} It's..." ("open", "wide", "base", "stare") - # call set_hermione_plug("large") + call play_sound("pop") - # her "" ("soft", "narrow", "annoyed", "up",cheeks="blush") - # call ctc + her "" ("soft", "narrow", "annoyed", "up",cheeks="blush") + call ctc - # her "{size=+5}incredible!{/size}" ("soft", "narrow", "annoyed", "up",cheeks="blush") + her "{size=+5}incredible!{/size}" ("soft", "narrow", "annoyed", "up",cheeks="blush") - # her "............." ("disgust", "narrow", "annoyed", "up") - # gen "Are you alright, [hermione_name]?" ("base", xpos="far_left", ypos="head") - # her ".........................." ("soft", "narrow", "base", "up") - # her "*Ah*... Y--{w=0.2} yes..." ("open", "narrow", "base", "mid_soft") - # gen "Fantastic! I'll see you after class then." ("base", xpos="far_left", ypos="head") - # her "............." ("disgust", "narrow", "worried", "down",cheeks="blush") - # call nar(">Hermione slowly leaves your office, barely able to walk in a straight line.") + her "............." ("disgust", "narrow", "annoyed", "up") + gen "Are you alright, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her ".........................." ("soft", "narrow", "base", "up") + her "*Ah*... Y--{w=0.2} yes..." ("open", "narrow", "base", "mid_soft") + gen "Fantastic! I'll see you after class then." ("base", xpos="far_left", ypos="head") + her "............." ("disgust", "narrow", "worried", "down",cheeks="blush") + call nar(">Hermione slowly leaves your office, barely able to walk in a straight line.") - # "-Use anal lube-" (style="disabled") if anal_lube_ITEM.owned == 0: - # gen "I'm afraid I do not have that..." ("base", xpos="far_left", ypos="head") - # her "Well then i think I better be off to class then." ("open", "closed", "base", "mid") - # her "{size=-2}unless {size=-2}you {size=-2}have {size=-2}the {size=-2}smaller {size=-2}one?{/size}{/size}{/size}{/size}{/size}{/size}{heart}" ("soft", "narrow", "base", "R_soft",cheeks="blush") - # gen "It just so happens that I do!" ("grin", xpos="far_left", ypos="head") - # call nar(">You hand her a small butt plug.") + "-Use anal lube-" (style="disabled") if anal_lube_ITEM.owned == 0: + gen "I'm afraid I do not have that..." ("base", xpos="far_left", ypos="head") + her "Well then i think I better be off to class then." ("open", "closed", "base", "mid") + her "{size=-2}unless {size=-2}you {size=-2}have {size=-2}the {size=-2}smaller {size=-2}one?{/size}{/size}{/size}{/size}{/size}{/size}{heart}" ("soft", "narrow", "base", "R_soft",cheeks="blush") + gen "It just so happens that I do!" ("grin", xpos="far_left", ypos="head") + call nar(">You hand her a small butt plug.") - # $ buttplug_size = 1 - # call set_hermione_plug("small") + her "{heart}*Ah*{heart}..." ("silly", "narrow", "annoyed", "up") + her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up") + hide hermione_main + with d3 + pause.2 + gen "(Maybe those Weasley boys have anything that could help me with my... *Ahem* {i}her{/i} friction problem...)" ("base", xpos="far_left", ypos="head") - # her "{heart}*Ah*{heart}..." ("silly", "narrow", "annoyed", "up") - # her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") - # her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up") - # hide hermione_main - # with d3 - # pause.2 - # gen "(Maybe those Weasley boys have anything that could help me with my... *Ahem* {i}her{/i} friction problem...)" ("base", xpos="far_left", ypos="head") + else: + # Repeat with large butt plug + call play_music("chipper_doodle") + gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "How do you feel about wearing another butt plug to class today?" ("base", xpos="far_left", ypos="head") + her "..." ("base", "base", "base", "R",xpos="right",ypos="base") + her "Which one?" ("grin", "base", "base", "mid") + gen "How about the big one again?" ("base", xpos="far_left", ypos="head") + her "Really?" ("open", "narrow", "worried", "down") + her "Do i have to?" ("soft", "happy", "base", "R") + gen "You didn't seem to hate wearing it last time..." ("base", xpos="far_left", ypos="head") + her "..." ("open", "narrow", "worried", "down") + her "{size=-5}alright then...{/size}" ("open", "narrow", "worried", "down") + call nar(">You hand her the butt plug.","start") + call nar(">You watch it magically wriggle it's way inside her eager butthole.","end") - # elif buttplug_size == 3: - # # Large buttplug repeat - # call play_music("chipper_doodle") - # gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - # gen "How do you feel about wearing another butt plug to class today?" ("base", xpos="far_left", ypos="head") - # her "..." ("base", "base", "base", "R",xpos="right",ypos="base") - # her "Which one?" ("grin", "base", "base", "mid") - # gen "How about the big one again?" ("base", xpos="far_left", ypos="head") - # her "Really?" ("open", "narrow", "worried", "down") - # her "Do i have to?" ("soft", "happy", "base", "R") - # gen "You didn't seem to hate wearing it last time..." ("base", xpos="far_left", ypos="head") - # her "..." ("open", "narrow", "worried", "down") - # her "{size=-5}alright then...{/size}" ("open", "narrow", "worried", "down") - # call nar(">You hand her the butt plug.","start") - # call nar(">You watch it magically wriggle it's way inside her eager butthole.","end") + her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") + gen "(Didn't even need any lube...)" ("base", xpos="far_left", ypos="head") + her "Thank you, [genie_name]!" ("base", "narrow", "base", "mid_soft") + her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up") - # call set_hermione_plug("large") - - # her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") - # gen "(Didn't even need any lube...)" ("base", xpos="far_left", ypos="head") - # her "Thank you, [genie_name]!" ("base", "narrow", "base", "mid_soft") - # her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up") - - # call her_walk(action="leave") - - # $ hg_ps_buttplug.inProgress = True + call her_walk(action="leave") jump end_hermione_event +label hg_butt_plugs_small_return: -label hg_ps_buttplug_complete: + # TODO: Random numbers cheapen the experience, and make certain paths difficult to follow. $ random_number = renpy.random.randint(1, 3) + call her_walk(action="enter", xpos="mid", ypos="base") - call bld - if her_whoring <= 18 and buttplug_size == 1: + if her_whoring < 19: if random_number == 1: # Got distracted gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") @@ -488,7 +482,7 @@ label hg_ps_buttplug_complete: her "Luckily the stalls where empty! Imagine if they weren't!" ("annoyed", "narrow", "annoyed", "mid") gen "Well, it certainly sounds like you've earned your points." ("base", xpos="far_left", ypos="head") - elif her_whoring < 21 and buttplug_size == 1: + elif her_whoring < 21: if random_number == 1: # Flashed Luna in the library call play_music("chipper_doodle") @@ -571,8 +565,7 @@ label hg_ps_buttplug_complete: gen "Well I suppose something interesting can't happen everyday." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "base", "R",xpos="right",ypos="base",trans=fade) - - elif her_whoring >= 21 and buttplug_size == 1: + else: if random_number == 1: # Pleasured herself in class gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") @@ -664,7 +657,22 @@ label hg_ps_buttplug_complete: gen "Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") her "" ("base", "narrow", "worried", "down") - elif her_whoring <= 21 and buttplug_size == 2: + $ gryffindor += current_payout + gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") + her "Thank you, [genie_name]." + + call her_walk(action="leave") + + jump end_hermione_event + +label hg_butt_plugs_medium_return: + $ random_number = renpy.random.randint(1, 3) + call her_walk(action="enter", xpos="mid", ypos="base") + + if not buttplug_magic_known: + jump .magic_show + + if her_whoring <= 21: if random_number == 1: # Stood in front during potions class gen "[hermione_name], how's your day been?" ("base", xpos="far_left", ypos="head") @@ -707,8 +715,10 @@ label hg_ps_buttplug_complete: elif random_number == 3: # Cat swatting it - label buttplug_magic_show: + label .magic_show: + $ buttplug_magic_known = True + gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") call play_music("chipper_doodle") her "What on earth did you do to this thing?!" ("scream", "happyCl", "worried", "mid",xpos="right",ypos="base") @@ -728,11 +738,10 @@ label hg_ps_buttplug_complete: her "Oh... *Ehm*... No, it's fine really [genie_name], you can leave it the way it is." ("clench", "narrow", "base", "down") gen "Alright then... good work [hermione_name]." ("base", xpos="far_left", ypos="head") - elif her_whoring <= 23 and buttplug_size == 2: + elif her_whoring <= 23: if random_number == 1: # Luna played with it in the library - if not buttplug_magic_known: - jump buttplug_magic_show + call play_music("chipper_doodle") gen "[hermione_name], did you have fun?" ("base", xpos="far_left", ypos="head") her "I suppose you could say that." ("base", "narrow", "worried", "down",xpos="right",ypos="base") @@ -761,8 +770,7 @@ label hg_ps_buttplug_complete: elif random_number == 2: # Friend played with it - if not buttplug_magic_known: - jump buttplug_magic_show + gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") her "I did, [genie_name]." ("open", "closed", "base", "mid",xpos="right",ypos="base") her "Only... *Ehm*..." ("grin", "base", "base", "R") @@ -809,11 +817,9 @@ label hg_ps_buttplug_complete: gen "Well, I suppose it's for the best." ("base", xpos="far_left", ypos="head") - elif her_whoring >= 24 and buttplug_size == 2: + elif her_whoring >= 24: if random_number == 1: # Groped by students - if not buttplug_magic_known: - jump buttplug_magic_show gen "[hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") her "Awful... I was attacked by a group of rabid students, [genie_name]." ("scream", "closed", "angry", "mid",xpos="right",ypos="base") @@ -856,8 +862,7 @@ label hg_ps_buttplug_complete: elif random_number == 2: # Glory hole with Female Student - if not buttplug_magic_known: - jump buttplug_magic_show + gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") her "Yes I did, [genie_name]..." ("base", "base", "base", "mid",xpos="right",ypos="base") her "Did you know there are holes between the stalls in the girls' bathroom?" ("soft", "base", "base", "mid") @@ -910,91 +915,103 @@ label hg_ps_buttplug_complete: her "Expose? I'm not sure I know what you mean...{w=0.4} I was tying my shoelaces........" ("base", "base", "base", "R",cheeks="blush") gen "Very good, [hermione_name]!" ("base", xpos="far_left", ypos="head") - elif buttplug_size == 3: - if random_number == 1: - # Student tries to pull it out - gen "[hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "Awful, the worst thing possible happened!" ("scream", "closed", "angry", "mid",xpos="right",ypos="base") - gen "The worst thing? Worse than someone catching you with a tail up your butt?" ("base", xpos="far_left", ypos="head") - her "Yes, believe it or not." ("annoyed", "base", "angry", "mid") - gen "Now you've got me intrigued." ("base", xpos="far_left", ypos="head") - gen "What happened?" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Well... I was walking down to Hogsmeade as we had the afternoon off..." ("open", "base", "worried", "R") - her "And I thought I was alone but one of the Slytherin students suddenly rushed up behind me..." ("annoyed", "narrow", "angry", "R") - her "And I didn't even have enough time to react before he..." ("angry", "happyCl", "worried", "mid") - her "He..." ("annoyed", "narrow", "angry", "R") - her "Before he shouted \"Let it rip!\" and tugged on my tail!" ("angry", "narrow", "base", "down") - gen "He did what?" ("base", xpos="far_left", ypos="head") - her "I know! How dare he!" ("clench", "narrow", "worried", "down") - gen "Ten points to Slytherin!" ("base", xpos="far_left", ypos="head") - $ slytherin += 10 - her "What?!" ("scream", "wide", "angry", "mid") - her "Why are you giving points to Slytherin?!" ("angry", "wide", "angry", "mid") - gen "Such a one-liner ought to be rewarded!" ("base", xpos="far_left", ypos="head") - her "But [genie_name]! I'm doing this so that Gryffindor can get ahead of Slytherin!" ("upset", "base", "angry", "mid") - gen "Oh, right..." ("base", xpos="far_left", ypos="head") - gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 10 - her "*Hmm*... But now Ravenclaw and Hufflepuff are both behind..." ("open", "narrow", "worried", "down") - gen "Enough about the points. Tell me more about your behind." ("base", xpos="far_left", ypos="head") - her "My-- Oh right..." ("annoyed", "narrow", "angry", "R") - gen "What happened next?" ("base", xpos="far_left", ypos="head") - her "Well... I would normally not say this but I'm glad the plug is as big as it is." ("open", "narrow", "worried", "down") - gen "Didn't budge one bit I assume." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down") - her "Can I have my points now?" ("open", "narrow", "worried", "down") - gen "Certainly." ("base", xpos="far_left", ypos="head") - gen "Nice work, [hermione_name]." ("base", xpos="far_left", ypos="head") + $ gryffindor += current_payout + gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") + her "Thank you, [genie_name]." - elif random_number == 2: - # Hermione is a Dragon - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]..." ("base", "base", "base", "mid", xpos="right", ypos="base") - her "I found the perfect opportunity to show it off today." ("soft", "base", "base", "mid") - gen "Show it off? You actually showed it off to someone this time?" ("base", xpos="far_left", ypos="head") - her "I did..." ("grin", "base", "base", "R") - her "..............." ("grin", "happyCl", "worried", "mid") - gen "go on, [hermione_name]." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Well, we're currently studying Dragons in our care of magical creatures lessons." ("base", "narrow", "base", "down") - gen "Right?" ("base", xpos="far_left", ypos="head") - her "Well I thought it was a great opportunity to give a demonstration how female Dragons attracts their mates.." ("base", "base", "base", "R") - her "You're kidding..." - her "Nope, I was wearing a dragons head and everything!" ("grin", "wink", "base", "mid") - her "They didn't suspect a thing about where the tail was attached!" ("smile", "base", "base", "R") - gen "Did they touch it?" ("base", xpos="far_left", ypos="head") - her "They did..." ("base", "base", "base", "R") - her "And... Well, since I was roleplaying a female dragon in heat..." ("grin", "base", "base", "R") - her "You could probably guess the rest..." ("grin", "base", "base", "R") - gen "I'll be expecting a dragon egg on my desk in the next few months..." ("grin", xpos="far_left", ypos="head") - her "What?! No, I only came, that's all that happened!" ("clench", "wide", "base", "R") - gen "I know, I just wanted to hear you say it." ("grin", xpos="far_left", ypos="head") - gen "I suppose you better get some points, although I assume you've already earned a couple during that lesson." ("base", xpos="far_left", ypos="head") - her "A couple..." ("grin", "base", "base", "R") - gen "You sure have good imagination to come up with and do something this... [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("grin", "base", "base", "R") - gen "Imagine dragons..." ("base", xpos="far_left", ypos="head") - her "*Hmm*?" - gen "Nevermind... I can't bring myself to do it." ("base", xpos="far_left", ypos="head") + call her_walk(action="leave") - elif random_number == 3: - # Rides Hippogriff with it inside - call play_music("chipper_doodle") - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes, I did [genie_name]..." ("base", "squint", "base", "mid",xpos="right",ypos="base") - gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") - her "Yes... As you probably know, you can't really sit very well with this thing inside." - gen "Can't say that I have first hand experience..." ("base", xpos="far_left", ypos="head") - her "Right..." - gen "So, what happened? I thought you'd expect you'd need to sit down at some point." ("base", xpos="far_left", ypos="head") - her "I did, although..." - her "I completely forgot that we were going to ride the Hippogriffs today..." ("base", "narrow", "base", "mid_soft") - gen "When you say ride--" ("base", xpos="far_left", ypos="head") - her "As in on their backs..." - gen "Oh, Good... Can never be too careful these days..." ("base", xpos="far_left", ypos="head") - her "It was quite an experience to say the least..." - gen "Very good, [hermione_name]!" ("base", xpos="far_left", ypos="head") + jump end_hermione_event + +label hg_butt_plugs_large_return: + + $ random_number = renpy.random.randint(1, 3) + call her_walk(action="enter", xpos="mid", ypos="base") + + if random_number == 1: + # Student tries to pull it out + gen "[hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") + her "Awful, the worst thing possible happened!" ("scream", "closed", "angry", "mid",xpos="right",ypos="base") + gen "The worst thing? Worse than someone catching you with a tail up your butt?" ("base", xpos="far_left", ypos="head") + her "Yes, believe it or not." ("annoyed", "base", "angry", "mid") + gen "Now you've got me intrigued." ("base", xpos="far_left", ypos="head") + gen "What happened?" ("base", xpos="far_left", ypos="head") + call play_music("playful_tension") + her "Well... I was walking down to Hogsmeade as we had the afternoon off..." ("open", "base", "worried", "R") + her "And I thought I was alone but one of the Slytherin students suddenly rushed up behind me..." ("annoyed", "narrow", "angry", "R") + her "And I didn't even have enough time to react before he..." ("angry", "happyCl", "worried", "mid") + her "He..." ("annoyed", "narrow", "angry", "R") + her "Before he shouted \"Let it rip!\" and tugged on my tail!" ("angry", "narrow", "base", "down") + gen "He did what?" ("base", xpos="far_left", ypos="head") + her "I know! How dare he!" ("clench", "narrow", "worried", "down") + gen "Ten points to Slytherin!" ("base", xpos="far_left", ypos="head") + $ slytherin += 10 + her "What?!" ("scream", "wide", "angry", "mid") + her "Why are you giving points to Slytherin?!" ("angry", "wide", "angry", "mid") + gen "Such a one-liner ought to be rewarded!" ("base", xpos="far_left", ypos="head") + her "But [genie_name]! I'm doing this so that Gryffindor can get ahead of Slytherin!" ("upset", "base", "angry", "mid") + gen "Oh, right..." ("base", xpos="far_left", ypos="head") + gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 10 + her "*Hmm*... But now Ravenclaw and Hufflepuff are both behind..." ("open", "narrow", "worried", "down") + gen "Enough about the points. Tell me more about your behind." ("base", xpos="far_left", ypos="head") + her "My-- Oh right..." ("annoyed", "narrow", "angry", "R") + gen "What happened next?" ("base", xpos="far_left", ypos="head") + her "Well... I would normally not say this but I'm glad the plug is as big as it is." ("open", "narrow", "worried", "down") + gen "Didn't budge one bit I assume." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "base", "down") + her "Can I have my points now?" ("open", "narrow", "worried", "down") + gen "Certainly." ("base", xpos="far_left", ypos="head") + gen "Nice work, [hermione_name]." ("base", xpos="far_left", ypos="head") + + elif random_number == 2: + # Hermione is a Dragon + gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes I did, [genie_name]..." ("base", "base", "base", "mid", xpos="right", ypos="base") + her "I found the perfect opportunity to show it off today." ("soft", "base", "base", "mid") + gen "Show it off? You actually showed it off to someone this time?" ("base", xpos="far_left", ypos="head") + her "I did..." ("grin", "base", "base", "R") + her "..............." ("grin", "happyCl", "worried", "mid") + gen "go on, [hermione_name]." ("base", xpos="far_left", ypos="head") + call play_music("playful_tension") + her "Well, we're currently studying Dragons in our care of magical creatures lessons." ("base", "narrow", "base", "down") + gen "Right?" ("base", xpos="far_left", ypos="head") + her "Well I thought it was a great opportunity to give a demonstration how female Dragons attracts their mates.." ("base", "base", "base", "R") + her "You're kidding..." + her "Nope, I was wearing a dragons head and everything!" ("grin", "wink", "base", "mid") + her "They didn't suspect a thing about where the tail was attached!" ("smile", "base", "base", "R") + gen "Did they touch it?" ("base", xpos="far_left", ypos="head") + her "They did..." ("base", "base", "base", "R") + her "And... Well, since I was roleplaying a female dragon in heat..." ("grin", "base", "base", "R") + her "You could probably guess the rest..." ("grin", "base", "base", "R") + gen "I'll be expecting a dragon egg on my desk in the next few months..." ("grin", xpos="far_left", ypos="head") + her "What?! No, I only came, that's all that happened!" ("clench", "wide", "base", "R") + gen "I know, I just wanted to hear you say it." ("grin", xpos="far_left", ypos="head") + gen "I suppose you better get some points, although I assume you've already earned a couple during that lesson." ("base", xpos="far_left", ypos="head") + her "A couple..." ("grin", "base", "base", "R") + gen "You sure have good imagination to come up with and do something this... [hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Thank you [genie_name]..." ("grin", "base", "base", "R") + gen "Imagine dragons..." ("base", xpos="far_left", ypos="head") + her "*Hmm*?" + gen "Nevermind... I can't bring myself to do it." ("base", xpos="far_left", ypos="head") + + elif random_number == 3: + # Rides Hippogriff with it inside + call play_music("chipper_doodle") + gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes, I did [genie_name]..." ("base", "squint", "base", "mid",xpos="right",ypos="base") + gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") + her "Yes... As you probably know, you can't really sit very well with this thing inside." + gen "Can't say that I have first hand experience..." ("base", xpos="far_left", ypos="head") + her "Right..." + gen "So, what happened? I thought you'd expect you'd need to sit down at some point." ("base", xpos="far_left", ypos="head") + her "I did, although..." + her "I completely forgot that we were going to ride the Hippogriffs today..." ("base", "narrow", "base", "mid_soft") + gen "When you say ride--" ("base", xpos="far_left", ypos="head") + her "As in on their backs..." + gen "Oh, Good... Can never be too careful these days..." ("base", xpos="far_left", ypos="head") + her "It was quite an experience to say the least..." + gen "Very good, [hermione_name]!" ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/hermione/events/items/collars.rpy b/game/scripts/characters/hermione/events/items/collars.rpy index d8e12c67..c4a6df6e 100644 --- a/game/scripts/characters/hermione/events/items/collars.rpy +++ b/game/scripts/characters/hermione/events/items/collars.rpy @@ -4,7 +4,7 @@ default her_magic_collar_worn = False -label collar_scene: +label hg_collars: # Setup $ her_outfit_last.save() #Saves current clothing diff --git a/game/scripts/characters/snape/common.rpy b/game/scripts/characters/snape/common.rpy index 5337de10..441769be 100644 --- a/game/scripts/characters/snape/common.rpy +++ b/game/scripts/characters/snape/common.rpy @@ -64,7 +64,7 @@ init python: if what: character.snape_say(what, **kwargs) - if head_ypos: + if head_only: renpy.hide(name=tag, layer=layer) screen snape_picture_frame(): diff --git a/game/scripts/events/queue.rpy b/game/scripts/events/queue.rpy index f2e38647..8244719d 100644 --- a/game/scripts/events/queue.rpy +++ b/game/scripts/events/queue.rpy @@ -28,15 +28,15 @@ init -1 python: def start(self): queue = self.queue - queue = filter(lambda x: (x.wait > 0) or (not x.daytime == game.daytime), queue) + queue = filter(lambda x: (x.wait <= 0) and (x.daytime == game.daytime), queue) queue.sort(key=lambda x: x.priority) for ev in queue: - ev.start() - if not ev.requirements_met(): continue + ev.start() + if ev.label: break @@ -64,7 +64,7 @@ init -1 python: if not renpy.has_label(self.label): raise Exception("Supplied label does not exist.") - def enlist(self): + def enqueue(self): self.queued = True if not self in self.queue: @@ -85,4 +85,6 @@ init -1 python: if self.label: renpy.jump(self.label) +init offset = -5 + default eventqueue = EventQueue() diff --git a/game/scripts/inventory/qitems.rpy b/game/scripts/inventory/qitems.rpy index 6e0230c3..893fe148 100644 --- a/game/scripts/inventory/qitems.rpy +++ b/game/scripts/inventory/qitems.rpy @@ -1,7 +1,7 @@ default puzzle_box_ITEM = Item("puzzle_box", "quest", "Puzzle Box", 0, "A wooden box with a slide puzzle located on top of it. It was found hidden behind one of the loose bricks in the fireplace. Who knows what's inside.", limit=1, label="puzzle_minigame", unlocked=False, caption="Open") -default collar_ITEM = Item("collar", "quest", "Magic Collar", 500, "{size=-2}A collar made out of metal. It has an inscription on the back.\n\n{/size}{size=-2}{i}\"Transforms to show the wearers true self.\n WARNING: May cause harm to adjacent clothing during transformation.\"{/i}{/size}", givable=True, give_label="collar_scene", usable_on=["hermione"], caption="Give") -default buttplugs_ITEM = Item("buttplugs", "quest", "Set of Butt Plugs", 500, "An assortment of butt plugs in various themes and sizes.", limit=1, infinite=True, givable=True, give_label="hg_ps_buttplug", usable_on=["hermione"], caption="Give") +default collar_ITEM = Item("collar", "quest", "Magic Collar", 500, "{size=-2}A collar made out of metal. It has an inscription on the back.\n\n{/size}{size=-2}{i}\"Transforms to show the wearers true self.\n WARNING: May cause harm to adjacent clothing during transformation.\"{/i}{/size}", givable=True, give_label="hg_collars", usable_on=["hermione"], caption="Give") +default buttplugs_ITEM = Item("buttplugs", "quest", "Set of Butt Plugs", 500, "An assortment of butt plugs in various themes and sizes.", limit=1, infinite=True, givable=True, give_label="hg_butt_plugs", usable_on=["hermione"], caption="Give") default lootbox_ITEM = Item("cards", "quest", "Pack of Cards", 50, "A pack of wizard cards. You won't know what's inside until you open it.", label="card_lootbox", unlocked=False, caption="Open") default sealed_scroll_ITEM = Item("sealed_scroll", "quest", "Sealed Scroll", 500, "The scroll can be used to transmute one-self into.. something.\n{size=-4}Hint: The user can't be a virgin.{/size}", limit=1, label="tentacle_scene_intro", caption="Read") default quidditchguide_ITEM = Item("quidditch_book", "quest", "Quidditch Guide", 100, "This book contains the basic knowledge of Quidditch.", label="quidditch_guide_book", limit=1, image="interface/icons/generic_book.webp", unlocked=False, caption="Read")