diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy index dcf3244c..ff6e2d9b 100644 --- a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy @@ -60,10 +60,30 @@ label cc_pf_strip_T2_intro_E1: gen "That's very commendable of you..." ("base", xpos="far_left", ypos="head") cho "Thank you, Sir." ("base", "base", "base", "mid") + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + $ cho.equip(cho_outfit_default) + $ game.gold = 1984 + $ game.day = 123 + call room("main_room") + + hide screen blkfade + with d5 + # Ask her to strip. gen "So, Why don't you show me what you are made of?{w=1.0} Let me have a proper look at you!" ("grin", xpos="far_left", ypos="head") cho "Sir?" ("soft", "wink", "raised", "mid") gen "I need you to remove your clothes." ("base", xpos="far_left", ypos="head") + + if _in_replay: + show screen blkfade + with d5 + return + call play_music("stop") cho "!!!" ("soft", "wide", "base", "mid", cheeks="blush") call play_music("cho") diff --git a/game/scripts/characters/cho/events/favors/suck_it.rpy b/game/scripts/characters/cho/events/favors/suck_it.rpy index 4d54d64e..87b79330 100644 --- a/game/scripts/characters/cho/events/favors/suck_it.rpy +++ b/game/scripts/characters/cho/events/favors/suck_it.rpy @@ -47,8 +47,29 @@ label cc_pf_blowjob_T3_intro_E1: gen "Your dream is to become a professional is it not?" ("base", xpos="far_left", ypos="head") cho "I... yes... I suppose it is." ("soft", "narrow", "base", "R") gen "Then we should do our best to prepare you for what's out there!" ("base", xpos="far_left", ypos="head") + + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + $ cho.equip(cho_outfit_default) + $ game.gold = 1984 + $ game.day = 124 + call room("main_room") + + hide screen blkfade + with d5 + gen "I won't be your coach forever... Once you're looking for a proper team, you'll be in fierce competition with the other women athletes." ("base", xpos="far_left", ypos="head") gen "Women that will stop at nothing to get what they want." ("base", xpos="far_left", ypos="head") + + if _in_replay: + show screen blkfade + with d5 + $ renpy.end_replay() + gen "So, as your coach, it's my responsibility to prepare you!" ("base", xpos="far_left", ypos="head") cho "And a blowjob is necessary for this?" ("angry", "narrow", "raised", "mid") diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy index 38aa176d..53f7c622 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy @@ -116,6 +116,24 @@ label start_gryffindor_match: #Next day #Cho flies up in the window and reminds genie about the game label gryffindor_match: + + label .introspection1: # not required, but added for clarity + + if _in_replay: + + show screen blkfade + with d5 + + $ game.gold = 1984 + $ game.day = 665 + $ game.daytime = False + $ game.weather = "clear" + camera screens at sepia + call room("main_room") + + hide screen blkfade + with d5 + # Quidditch match: Ravenclaw vs. Gryffindor $ lun_outfit_last.save() @@ -140,43 +158,65 @@ label gryffindor_match: call play_music("day") gen "*Yawn*" ("base", xpos="far_left", ypos="head") - gen "(Alright then, time to get up and moving.)" ("base", xpos="far_left", ypos="head") - gen "(Today is going to be a good day, I can feel it in those old bones!)" ("grin", xpos="far_left", ypos="head") - gen "(Seeing Cho on that broom again, and wiping the smirk of Snape's smug face when she stomps those--)" ("grin", xpos="far_left", ypos="head") - call play_music("stop") + if _in_replay: + cho "(Oh coach...)" + cho "(I should have pushed harder on the broom being an issue earlier...)" - gen "(Hold on...)" ("base", xpos="far_left", ypos="head") + play music "music/marty-gots-a-plan-by-kevin-macleod.mp3" fadein 1 fadeout 1 - play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1 fadeout 1 + cho "(How do I tell him that his plan isn't going to work?)" + cho "(But... What if he's got a backup plan?)" + cho "(I'll have to ask him!)" - gen "(The final match...)" ("base", xpos="far_left", ypos="head") - gen "{size=-4}*Murmur*...{w=0.4} I feel like I've forgotten something...{/size}" ("base", xpos="far_left", ypos="head") - gen "(Hold your carpets!)" ("angry", xpos="far_left", ypos="head") - gen "(Since it's the finals... That means no more matches!)" ("angry", xpos="far_left", ypos="head") - gen "(Cho won't have any more reason to let me coach her!)" ("angry", xpos="far_left", ypos="head") - gen "(I've been so focused on Snape and our stupid bet that I didn't even begin to see the bigger picture!)" ("base", xpos="far_left", ypos="head") - gen "(What good for is money when there's not a single brothel you can spend it at.)" ("base", xpos="far_left", ypos="head") - gen "(There's only so many sweets and clothes one can buy...)" ("base", xpos="far_left", ypos="head") - gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") - gen "(Perhaps I could pay her to--)" ("base", xpos="far_left", ypos="head") + cho "[cho_genie_name]!" - # Note: I've tried using chibis, but it's too difficult/buggy. + cho "(Wait, he's expecting me to drink the potion as a backup!)" + cho "(I'll just tell him I came to fetch--)" - #Cho appears in the window on her broom/knocks on door - #show image "ch_cho fly_window_masked" onlayer screens zorder 5 - #call cho_chibi("fly_window", "mid", "base") + gen "I'm such an idiot!" ("angry", xpos="far_left", ypos="head") - cho "[cho_genie_name]!" + cho "(Is he talking to himself?)" + cho "(I should say something, so he won't think I've been eavesdropping.)" - if cho_bj_choice == "points": - gen "(No, she got pissed when I offered points before.)" ("base", xpos="far_left", ypos="head") - gen "(Even now I can hear her calling me out, and who knows what she would do if I offered her real money...)" ("base", xpos="far_left", ypos="head") else: - gen "(Nah, I can hear her screaming at me in my head.)" ("base", xpos="far_left", ypos="head") - gen "(All she cares about is that broomstick sport of hers.)" ("base", xpos="far_left", ypos="head") + gen "(Alright then, time to get up and moving.)" ("base", xpos="far_left", ypos="head") + gen "(Today is going to be a good day, I can feel it in those old bones!)" ("grin", xpos="far_left", ypos="head") + gen "(Seeing Cho on that broom again, and wiping the smirk of Snape's smug face when she stomps those--)" ("grin", xpos="far_left", ypos="head") - gen "I'm such an idiot!" ("angry", xpos="far_left", ypos="head") # Says out loud + call play_music("stop") + + gen "(Hold on...)" ("base", xpos="far_left", ypos="head") + + play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1 fadeout 1 + + gen "(The final match...)" ("base", xpos="far_left", ypos="head") + gen "{size=-4}*Murmur*...{w=0.4} I feel like I've forgotten something...{/size}" ("base", xpos="far_left", ypos="head") + gen "(Hold your carpets!)" ("angry", xpos="far_left", ypos="head") + gen "(Since it's the finals... That means no more matches!)" ("angry", xpos="far_left", ypos="head") + gen "(Cho won't have any more reason to let me coach her!)" ("angry", xpos="far_left", ypos="head") + gen "(I've been so focused on Snape and our stupid bet that I didn't even begin to see the bigger picture!)" ("base", xpos="far_left", ypos="head") + gen "(What good for is money when there's not a single brothel you can spend it at.)" ("base", xpos="far_left", ypos="head") + gen "(There's only so many sweets and clothes one can buy...)" ("base", xpos="far_left", ypos="head") + gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") + gen "(Perhaps I could pay her to--)" ("base", xpos="far_left", ypos="head") + + # Note: I've tried using chibis, but it's too difficult/buggy. + + #Cho appears in the window on her broom/knocks on door + #show image "ch_cho fly_window_masked" onlayer screens zorder 5 + #call cho_chibi("fly_window", "mid", "base") + + cho "[cho_genie_name]!" + + if cho_bj_choice == "points": + gen "(No, she got pissed when I offered points before.)" ("base", xpos="far_left", ypos="head") + gen "(Even now I can hear her calling me out, and who knows what she would do if I offered her real money...)" ("base", xpos="far_left", ypos="head") + else: + gen "(Nah, I can hear her screaming at me in my head.)" ("base", xpos="far_left", ypos="head") + gen "(All she cares about is that broomstick sport of hers.)" ("base", xpos="far_left", ypos="head") + + gen "I'm such an idiot!" ("angry", xpos="far_left", ypos="head") # Says out loud cho "Hey, [cho_genie_name]!" cho "The game is about to start... You're going to be late!" gen "W-What..." ("base", xpos="far_left", ypos="head") @@ -193,6 +233,11 @@ label gryffindor_match: gen "[cho_name]?" ("base", xpos="far_left", ypos="head") gen "What are you doing in here?" ("base", xpos="far_left", ypos="head") gen "Or rather, what are you doing {i}out there{/i}, outside my window?" ("base", xpos="far_left", ypos="head") + + if _in_replay: + cho "(I screwed up the whole plan, I poured out the potion you left for me, the broom isn't working, and my world is crumbling to pieces!)" + cho "(...)" + cho "I flew up here to remind you about the finals, [cho_genie_name]." gen "Ah yes, I suppose I better get going..." ("base", xpos="far_left", ypos="head") @@ -216,6 +261,14 @@ label gryffindor_match: cho "(Is it because--)" cho "(No, that's impossible... is it?)" + # Used in Quidditch Outro + if _in_replay: + show screen blkfade + with d5 + camera screens + $ renpy.end_replay() + # + #Cho flies off # gen "(...{w=0.5} Well then, I suppose I better get going, I've still got that prize money to look forward to if she wins...)" ("base", xpos="far_left", ypos="head") @@ -535,6 +588,31 @@ label gryffindor_match: gen "{size=+4}Don't play dumb with me. Tell me what you're planning!{/size}" ("angry", xpos="far_left", ypos="head") sna "As I said--" ("snape_01") ton "*Sigh*...{w=0.4} You boys and your silly bets." ("open", "narrow", "shocked", "downR") + + label .introspection2: + + if _in_replay: + show screen blkfade + with d5 + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 667 + $ game.daytime = False + $ game.weather = "clear" + $ snape_chibi.zorder = 3 + $ tonks_chibi.zorder = 4 + camera screens at sepia + call room("quidditch_stands",) + call quidditch_stands(weather="sun_high", crowd=crowd_full) + call sna_chibi("stand", 150, 290, flip=True) + call ton_chibi("stand", 130, 310, flip=True) + call gen_chibi("stand", 168, 326, flip=True) + call her_chibi("stand", 300, 400, flip=True) + + hide screen blkfade + with d5 + her "--And finally, making their way onto the pitch..." ("angry", "happy", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) her "The Ravenclaw seeker...{w=0.6}{nw}" ("open", "base", "base", "L") @@ -549,6 +627,14 @@ label gryffindor_match: $ renpy.sound.play("sounds/crowd_cheer2.ogg") "The Crowd" "Cho! Cho! Cho!" + # Used in Quidditch Outro + if _in_replay: + show screen blkfade + with d5 + camera screens + $ renpy.end_replay() + # + her "*Hmph*...{w=0.4} It appears some of us aren't here just for sports." ("open", "squint", "annoyed", "L", cheeks="blush") call quidditch_stands(crowd_react=[None, None, None]) sna "She sure has become quite popular amongst the students hasn't she." ("snape_37") @@ -652,130 +738,357 @@ label gryffindor_match: #Fade back to pitch sna "What's she up to anyway? She looks like a niffler who's got caught stealing their grandmother's brooch." ("snape_01") - gen "(Come on, girl...{w=0.4} Focus.)" ("base", xpos="far_left", ypos="head") - gen "(Get that broom going...)" ("base", xpos="far_left", ypos="head") - ">Cho, frustrated in a multitude of ways, looks down towards you in desperation." - menu: - "-Give her a sign-": - ">You begin moving one of your hands in a spanking motion." - ">Her expression changes as she stares at you in confusion." - ">You put your other hand out over what could only be described as an imaginary ass and begin spanking the air violently." - ton "Professor?" ("soft", "base", "raised", "mid") #Confused + label .introspection3: - "-Point towards the Gryffindor players-": - ">You point towards the Gryffindor side of the pitch." - ">Cho looks at you confused, and then points towards that side as well." - ">Shaking your head, you point towards one of the female players." + if _in_replay: - "-Give her a seductive look-": - ">You begin fluttering your eyelashes up towards Cho." - ">She looks down at you in confusion." - ">You lick your lips and give her a wink." - ">Looking at you in horror for a brief moment, she then finally understands what you were trying to say." + #Shifts to new view of Cho Doll flying in the air (her perspective when genie starts gesticulating wildly to have her spank the enemy on their ass) + # TODO: No idea what view is supposed to be. - ">Cho gives you a quick nod and then flies up towards one of the Gryffindor chasers who has positioned themselves near the Ravenclaw goalposts." - her "Johnson passing to Spinnet--" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) - #Spank sound - call play_sound("slap") - "*Smack*!!" - her "What the--" ("soft", "wide", "base", "up", cheeks="blush") - her "What is Cho doing?" ("disgust", "wide", "base", "up", cheeks="blush") + show screen blkfade + with d5 - hide hermione_main - with d3 + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 667 + $ game.daytime = True + $ game.weather = "clear" + $ snape_chibi.zorder = 3 + $ tonks_chibi.zorder = 4 + camera screens at sepia + call room("quidditch_stands",) + call quidditch_stands(weather="sun_high", crowd=crowd_full) + call sna_chibi("stand", 150, 290, flip=True) + call ton_chibi("stand", 130, 310, flip=True) + call gen_chibi("stand", 168, 326, flip=True) + call her_chibi("stand", 300, 400, flip=True) - #Hermione turns around - call her_chibi("stand", 300, 400, flip=False) - with d3 + hide screen blkfade + with d5 - her "Sir!" ("disgust", "narrow", "annoyed", "mid", cheeks="blush", xpos=290, ypos="base", flip=False, trans=d5) - her "She--{w=0.2} She smacked one of the chasers on the bum..." ("angry", "happy", "annoyed", "mid", cheeks="blush") - her "Sir, you can't let her get away with this!" ("clench", "happy", "annoyed", "mid", cheeks="blush") - gen "I'm not hearing any objections from the referee...{w=0.5} Or the player, matter-of-factly..." ("base", xpos="far_left", ypos="head") - gen "Unless she used her elbows, that's not against the rules." ("base", xpos="far_left", ypos="head") - her "But...{w=0.4} Sir!" ("disgust", "base", "annoyed", "mid", cheeks="blush") - gen "I didn't write the rules, Miss Granger..." ("base", xpos="far_left", ypos="head") - her "*Tsk*..." ("soft", "happy", "angry", "R", cheeks="blush") + cho "(Come on, stupid broom, get going already!)" + cho "(Why... Can't... I... Get Horny!!)" - hide hermione_main - with d3 + ">Cho, frustrated in a multitude of ways, looks down towards the commentator tower in desperation." + ">She notices her coach making funny faces and gesticulating wildly." - call her_chibi("stand", 300, 400, flip=True) - with d3 + cho "(What is he doing...)" + cho "(Oh! The other part of our plan! Get close to the enemy team!)" - ">Hermione gritting her teeth holds back her anger, and eventually resumes commentating the game." - ">Looking up at Cho, you see a mix of frustration and worry across her face as she flies off again." + show screen blkfade + with d5 - gen "{size=-4}Damn it...{/size}" ("base", xpos="far_left", ypos="head") #whisper - sna "{size=-4}Miss Chang isn't doing so well this time is she?{/size}" ("snape_05") #whisper - sna "{size=-4}It appears your feeble attempts at riling up Miss Granger were in vain.{/size}" ("snape_37") #whisper - gen "{size=-4}How did you--{/size}" ("angry", xpos="far_left", ypos="head") #whisper - sna "{size=-4}Why, you were the one that told me about their contempt for each other when we made our little bet.{/size}" ("snape_02") #whisper - gen "..." ("base", xpos="far_left", ypos="head") - ton "*Hmm*?" ("soft", "base", "base", "R") - sna "{size=-4}That little witch has successfully been making my life a misery since the moment she got here.{/size}" ("snape_01") - sna "{size=-4}To think that Miss Chang would be able to rile her up...{/size}" ("snape_37") - her "Another goal for Team Gryffindor!" ("crooked_smile", "happy", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) + ">Cho gets close to one of the enemy chasers, Angelina Johnson." - #crowd cheer - $ renpy.sound.play("sounds/crowd_cheer.ogg") - call quidditch_stands(crowd_react=["th", None, "emo8"]) + cho "Hey Angelina!" + "Angelina" "Not now Cho, I'm a little busy if you haven't noticed!" + cho "Cannot say that I have. All I see is you staring at Alicia's butt." + "Angelina" "Are you trying to piss me off, little raven?" + cho "So what if I am?" + "Angelina" "Nice try, but I won't lose my temper, unlike you, I am trying to win this game--" - sna "Go-Go Gryffindor..." ("snape_37") #Smugface, out loud - call quidditch_stands(crowd_react=[None, None, None]) - her "And with such a steady lead, soon it won't even matter if Ravenclaw catches the snitch or not!" ("smile", "base", "base", "L") + #Spank sound + call play_sound("slap") + "*Smack*!!" - hide hermione_main - with d3 + ">Cho smacks Angelina on her shapely bum." + "Angelina" "*Owww*!!" + cho "*imitates Angelina's voice* \"Ohh yes Alicia, please spank me hard!\"" + "Angelina" "H-How--" + ">Cho grins at her briefly, then swiftly flies away." + "Angelina" "Why you little--" + ">Angelina dashes after Cho." + "Angelina" "Come back here, I'm not done with you!" - gen "Hold the fuck up." ("angry", xpos="far_left", ypos="head") - gen "No one has told me that's a thing! I thought the rules were set up in favour of the protagonist!" ("angry", xpos="far_left", ypos="head") + hide screen blkfade + with d3 + + #Hermione turns around + call her_chibi("stand", 300, 400, flip=False) + with d3 + + "Hermione" "Sir!" + cho "(Finally! That's done it!)" + "Hermione" "*inaudible*" + cho "(Look at her going, she's bound to distract her team for me!)" + gen "*Shrugs*" + "Hermione" "*inaudible shouting*" + + call her_chibi("stand", 300, 400, flip=True) + with d3 + + ">Hermione gritting her teeth holds back her anger, and eventually resumes commentating the game." + + #Shifts to screen of Cho Doll flying in the air + ">Cho is being chased by Angelina, but not for long as Alicia's attention turns to them." + "Alicia" "What the hell are you doing, Angelina?!" + "Angelina" "N-Nothing, I'm just--" + "Alicia" "I don't wanna hear it, just get back to the game!" + "Angelina" "...Yes ma'am." + ">Angelina gives up the chase, glaring daggers at Cho." + + cho "(What the--)" + cho "(It didn't work!?!)" + cho "(Our Plan! What am I supposed to do now?!)" + + ">Cho looks down towards her Coach, who appears to be in some sort of argument with Professor Snape." + + "Hermione" "Another goal for Team Gryffindor!" + + cho "(Another goal!)" #Worried + "Hermione" "And with such a steady lead, soon it won't even matter if Ravenclaw catches the snitch or not!" + ">Moving her gaze away from her coach, Cho briefly locks eyes with Hermione." + cho "(Stupid bitch!)" + cho "(Stupid broom!)" + cho "(Now where's that--{w=0.4} Stupid--{w=0.4} snitch!?)" + + ">Cho begins to feverishly look around for the snitch, her eyes darting around the pitch." + ">Unable to locate it, she looks back towards the commentators' tower for assistance." + + cho "Where did he vanish?!" + + "Hermione" "A fantastic--{w=0.4} Hold on...{w=0.4} What's that on the pitch?{fast} Is that--" + cho "(What the--{w=0.4} Where's he going?)" + + pause 0.3 + + call room("quidditch_stands2") + call quidditch_stands2(weather="sun_low", crowd=crowd_full) + call lun_chibi(xpos=620, ypos=400) + show image Transform("images/misc/redhead.webp", zoom=0.26, pos=(805, 240), xzoom=-1) as redhead zorder 2 + show screen blkfade + with ComposeTransition(pushleft, before=faderight) + hide screen blkfade + with ComposeTransition(pushleft, after=faderight) + + #Camera transitions and Genie appears in Luna's tower on the opposite side of the pitch + + $ renpy.sound.play("sounds/run_02.ogg") + pause 1.5 + + call gen_chibi("stand", 780, 480, flip=False) + with d3 + call gen_walk(xpos=740, ypos=470) + + pause 0.5 + + call gen_chibi(flip=True) + with d3 + + cho "Is he talking with Gi--" + cho "Hold on. What's that thing near the balustrade... Is that... Luna?!" + cho "What is she wearing?!" + + #Genie walks down to Luna. + call gen_walk(xpos=650, ypos=430) + + #Hit sound + $ renpy.sound.play("sounds/ball_hit.mp3") + + "Hermione" "Ouch... What a blunder! Surely he should've seen that coming!" #big text + gen "*inaudible*" + "Hermione" "Katie Bell passing to Alicia Spinnet..." #text larger + cho "(Oh right, I did ask him to get someone to cheer for me...)" + "Hermione" "Expertly dodging a bludger..." #text larger + cho "(...)" + "Hermione" "Coming up towards the goal..." #text larger + cho "(To think he'd go so far as asking Loony Luna...)" + "Hermione" "Gryffindor!" #text larger + cho "(He still believes I can do it without the potion...)" + + ">Staring into the distance, Cho begins shuffling on her broom, thinking hard on what to do..." + + cho "(I can't get this stupid broom going...)" + cho "(Spanking Angelina wasn't enough either...)" + + #Cut to cho Doll flying + + ">Glancing towards the commentator booth, Cho's eyes are once again drawn towards Hermione, who is grinning from ear to ear, and jumping on the spot excitedly." + ">Cho moves her gaze away from Hermione angrily, promptly staring into space, trying to figure out what to do next." + + cho "(Think, Cho... Think...)" + cho "(What would coach tell me to do...)" #closes eyes to think + + # Note: We need to make a call because we already are in Replay scope + call cc_pf_strip_T2_intro_E1.introspection + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 667 + call room("quidditch_stands",) + call quidditch_stands(weather="sun_high", crowd=crowd_full) + call lun_chibi(xpos=620, ypos=400) + call gen_chibi("stand", 650, 430, flip=True) + + hide screen blkfade + with d5 + + cho "(That's not it...)" #blush, open eyes + "Hermione" "{{Gryffindor scores another goal!}" + + play sound "sounds/crowd_cheer.mp3" + + cho "..." #angry #eyes closed + + call cc_pf_blowjob_T3_intro_E1.introspection + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 667 + call room("quidditch_stands",) + call quidditch_stands(weather="sun_high", crowd=crowd_full) + call lun_chibi(xpos=620, ypos=400) + call gen_chibi("stand", 650, 430, flip=True) + + hide screen blkfade + with d5 + + cho "(Yes coach... But what am I supposed to do?)" + m "Go on, girl. Start with the top..." ("grin", xpos="far_left", ypos="head") # TODO: Add transparency + cho "(Coach... Please, this isn't the time--)" + cho "(Hold on...)" + cho "(That's it!!)" #open eyes wide + cho "(Granger...)" #mischievous + cho "(She'll be furious...)" #horny + cho "(But... Doing it in front of the entire school...)" + + ">Cho Shifts around slightly on her new broom and suddenly finds herself able to slide up and down the dildo effortlessly." + cho "..." #surprised + cho "..." #smirks + + #Cho flies off the screen + + $ renpy.end_replay() - if quidditchguide_ITEM.used: - sna "I see someone hasn't been paying attention to the \"Basics of Quidditch\"." ("snape_41") - gen "Of course I did, I just... forgot." ("base", xpos="far_left", ypos="head") - sna "Oh well, perhaps next time... Oh wait, there's no next time..." ("snape_46") else: - sna "Of course, you can win the game even without your team being the ones to catch the snitch, albeit it is very uncommon..." ("snape_41") - sna "Perhaps if you'd learnt the actual game you wouldn't need to rely on silly rules like excessive elbow usage..." ("snape_46") # smug + gen "(Come on, girl...{w=0.4} Focus.)" ("base", xpos="far_left", ypos="head") + gen "(Get that broom going...)" ("base", xpos="far_left", ypos="head") - gen "{size=-4}Smug bastard...{/size}" ("base", xpos="far_left", ypos="head") - sna "I'll take that as a compliment." ("snape_37") + ">Cho, frustrated in a multitude of ways, looks down towards you in desperation." - ">As you turn your gaze back to Cho, you see her eyes darting around, seemingly searching for the snitch." - gen "(Damn it... She's lost all confidence in our plan!)" ("base", xpos="far_left", ypos="head") - gen "(Hold on...{w=0.4} Yes! That's it, confidence!)" ("base", xpos="far_left", ypos="head") - gen "Tonks, Where's Lovegood?" ("base", xpos="far_left", ypos="head") - ton "Lovegood, sir?" ("soft", "base", "base", "mid") - gen "Yes, what tower is she in?" ("base", xpos="far_left", ypos="head") - ton "Oh, Miss Lovegood... She should be in that one across the pitch--" ("open", "base", "raised", "mid") + menu: + "-Give her a sign-": + ">You begin moving one of your hands in a spanking motion." + ">Her expression changes as she stares at you in confusion." + ">You put your other hand out over what could only be described as an imaginary ass and begin spanking the air violently." + ton "Professor?" ("soft", "base", "raised", "mid") #Confused - #Genie chibi disappears - $ renpy.sound.play("sounds/run_02.ogg") - call gen_chibi("hide") + "-Point towards the Gryffindor players-": + ">You point towards the Gryffindor side of the pitch." + ">Cho looks at you confused, and then points towards that side as well." + ">Shaking your head, you point towards one of the female players." - ton "Where are you going?!" ("clench", "wide", "base", "mid") + "-Give her a seductive look-": + ">You begin fluttering your eyelashes up towards Cho." + ">She looks down at you in confusion." + ">You lick your lips and give her a wink." + ">Looking at you in horror for a brief moment, she then finally understands what you were trying to say." - with hpunch - $ renpy.sound.play("sounds/falling_stairs.ogg") + ">Cho gives you a quick nod and then flies up towards one of the Gryffindor chasers who has positioned themselves near the Ravenclaw goalposts." - #Falls down stairs - pause 2.0 - sna "*Tsk*, *Tsk*...{w=0.4} The sense of imminent loss must've been too much for him." ("snape_37") + her "Johnson passing to Spinnet--" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) - her "A fantastic--{w=0.4}{nw}" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) - her "A fantastic--{fast} Hold on...{w=0.4} What's that on the pitch?{nw}" ("soft", "narrow", "base", "L") - her "A fantastic-- Hold on... What's that on the pitch?{fast} Is that--" ("clench", "wide", "base", "L") - $ renpy.sound.play("sounds/murmur.ogg") - sna "What the--" ("snape_25") - sna "He's going to blow our cover, running like that!" ("snape_32") - ton "Focus on the game, Miss Granger!" ("scream", "wide", "base", "mid") - her "R-Right!" ("mad", "happy", "base", "L") - her "Fred--{w=0.2} I mean, George Weasley intercepting a bludger--" ("scream", "squint", "base", "L") - hide screen bld1 - hide hermione_main - with d3 + #Spank sound + call play_sound("slap") + "*Smack*!!" + her "What the--" ("soft", "wide", "base", "up", cheeks="blush") + her "What is Cho doing?" ("disgust", "wide", "base", "up", cheeks="blush") + + hide hermione_main + with d3 + + #Hermione turns around + call her_chibi("stand", 300, 400, flip=False) + with d3 + + her "Sir!" ("disgust", "narrow", "annoyed", "mid", cheeks="blush", xpos=290, ypos="base", flip=False, trans=d5) + her "She--{w=0.2} She smacked one of the chasers on the bum..." ("angry", "happy", "annoyed", "mid", cheeks="blush") + her "Sir, you can't let her get away with this!" ("clench", "happy", "annoyed", "mid", cheeks="blush") + gen "I'm not hearing any objections from the referee...{w=0.5} Or the player, matter-of-factly..." ("base", xpos="far_left", ypos="head") + gen "Unless she used her elbows, that's not against the rules." ("base", xpos="far_left", ypos="head") + her "But...{w=0.4} Sir!" ("disgust", "base", "annoyed", "mid", cheeks="blush") + gen "I didn't write the rules, Miss Granger..." ("base", xpos="far_left", ypos="head") + her "*Tsk*..." ("soft", "happy", "angry", "R", cheeks="blush") + + hide hermione_main + with d3 + + call her_chibi("stand", 300, 400, flip=True) + with d3 + + ">Hermione gritting her teeth holds back her anger, and eventually resumes commentating the game." + ">Looking up at Cho, you see a mix of frustration and worry across her face as she flies off again." + + gen "{size=-4}Damn it...{/size}" ("base", xpos="far_left", ypos="head") #whisper + sna "{size=-4}Miss Chang isn't doing so well this time is she?{/size}" ("snape_05") #whisper + sna "{size=-4}It appears your feeble attempts at riling up Miss Granger were in vain.{/size}" ("snape_37") #whisper + gen "{size=-4}How did you--{/size}" ("angry", xpos="far_left", ypos="head") #whisper + sna "{size=-4}Why, you were the one that told me about their contempt for each other when we made our little bet.{/size}" ("snape_02") #whisper + gen "..." ("base", xpos="far_left", ypos="head") + ton "*Hmm*?" ("soft", "base", "base", "R") + sna "{size=-4}That little witch has successfully been making my life a misery since the moment she got here.{/size}" ("snape_01") + sna "{size=-4}To think that Miss Chang would be able to rile her up...{/size}" ("snape_37") + her "Another goal for Team Gryffindor!" ("crooked_smile", "happy", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) + + #crowd cheer + $ renpy.sound.play("sounds/crowd_cheer.ogg") + call quidditch_stands(crowd_react=["th", None, "emo8"]) + + sna "Go-Go Gryffindor..." ("snape_37") #Smugface, out loud + call quidditch_stands(crowd_react=[None, None, None]) + her "And with such a steady lead, soon it won't even matter if Ravenclaw catches the snitch or not!" ("smile", "base", "base", "L") + + hide hermione_main + with d3 + + gen "Hold the fuck up." ("angry", xpos="far_left", ypos="head") + gen "No one has told me that's a thing! I thought the rules were set up in favour of the protagonist!" ("angry", xpos="far_left", ypos="head") + + if quidditchguide_ITEM.used: + sna "I see someone hasn't been paying attention to the \"Basics of Quidditch\"." ("snape_41") + gen "Of course I did, I just... forgot." ("base", xpos="far_left", ypos="head") + sna "Oh well, perhaps next time... Oh wait, there's no next time..." ("snape_46") + else: + sna "Of course, you can win the game even without your team being the ones to catch the snitch, albeit it is very uncommon..." ("snape_41") + sna "Perhaps if you'd learnt the actual game you wouldn't need to rely on silly rules like excessive elbow usage..." ("snape_46") # smug + + gen "{size=-4}Smug bastard...{/size}" ("base", xpos="far_left", ypos="head") + sna "I'll take that as a compliment." ("snape_37") + + ">As you turn your gaze back to Cho, you see her eyes darting around, seemingly searching for the snitch." + gen "(Damn it... She's lost all confidence in our plan!)" ("base", xpos="far_left", ypos="head") + gen "(Hold on...{w=0.4} Yes! That's it, confidence!)" ("base", xpos="far_left", ypos="head") + gen "Tonks, Where's Lovegood?" ("base", xpos="far_left", ypos="head") + ton "Lovegood, sir?" ("soft", "base", "base", "mid") + gen "Yes, what tower is she in?" ("base", xpos="far_left", ypos="head") + ton "Oh, Miss Lovegood... She should be in that one across the pitch--" ("open", "base", "raised", "mid") + + #Genie chibi disappears + $ renpy.sound.play("sounds/run_02.ogg") + call gen_chibi("hide") + + ton "Where are you going?!" ("clench", "wide", "base", "mid") + + with hpunch + $ renpy.sound.play("sounds/falling_stairs.ogg") + + #Falls down stairs + pause 2.0 + sna "*Tsk*, *Tsk*...{w=0.4} The sense of imminent loss must've been too much for him." ("snape_37") + + her "A fantastic--{w=0.4}{nw}" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) + her "A fantastic--{fast} Hold on...{w=0.4} What's that on the pitch?{nw}" ("soft", "narrow", "base", "L") + her "A fantastic-- Hold on... What's that on the pitch?{fast} Is that--" ("clench", "wide", "base", "L") + $ renpy.sound.play("sounds/murmur.ogg") + sna "What the--" ("snape_25") + sna "He's going to blow our cover, running like that!" ("snape_32") + ton "Focus on the game, Miss Granger!" ("scream", "wide", "base", "mid") + her "R-Right!" ("mad", "happy", "base", "L") + her "Fred--{w=0.2} I mean, George Weasley intercepting a bludger--" ("scream", "squint", "base", "L") + hide screen bld1 + hide hermione_main + with d3 pause 0.3 @@ -1831,6 +2144,26 @@ label gryffindor_match_return: $ renpy.play("sounds/giggle2.ogg") ton "*Giggles*..." ("grin", "narrow", "base", "R", trans=d3) #smirks + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + pause 1 + + $ cho.set_pose(None) + $ cho.animation = None + $ cho.strip("all") + + call play_music("stop") + + call room("main_room") + call gen_chibi("hide") + + hide screen blkfade + with d5 + ton "You can come out now Miss Chang... The scary pale man is gone." ("base", "narrow", "base", "L") gen "Just give her one more minute--" ("base", xpos="far_left", ypos="head") ton "Go on Miss Chang, no need to worry." ("soft", "base", "base", "L") @@ -1867,11 +2200,34 @@ label gryffindor_match_return: cho "*Hmm*..." ("soft", "narrow", "base", "down", cheeks="blush", trans=d3) cho "Have f--{w=0.2} Oh, I see..." ("soft", "narrow", "base", "down", cheeks="heavy_blush") + + if _in_replay: + cho "(She thinks I drank the potion... But how does she know I want to--)" + cho "(Is it that obvious...)" + cho "(But how could I ask him... I didn't drink it...)" + cho "(Unless I told him--)" + cho "{size=-4}The potion would let me know if this wasn't what he wanted...{/size}" ("soft", "narrow", "base", "downR", cheeks="heavy_blush") gen "*Huh*?" ("base", xpos="far_left", ypos="head") gen "What are you mumbling--" ("base", xpos="far_left", ypos="head") play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadeout 3 fadein 1.0 cho "[cho_genie_name], Why don't you take your clothes off and get on that desk for me?" ("soft", "narrow", "base", "mid", cheeks="blush") #smirk + + if _in_replay: + return + + + ###### FINISHED HERE + + + + + + + + + + gen "W--{w=0.2} What?!" ("base", xpos="far_left", ypos="head") $ renpy.sound.play("sounds/giggle.ogg") cho "*giggles*" ("smile", "narrow", "base", "R", cheeks="heavy_blush") diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy index cc4d3b3f..bade041a 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy @@ -92,7 +92,29 @@ label cc_gt_return: cho "Please believe me [cho_genie_name]!" ("scream", "closed", "worried", "mid") gen "A school supplied broom will have to suffice." ("base", xpos="far_left", ypos="head") cho "Why aren't you listening, [cho_genie_name]!" ("angry", "wide", "worried", "mid") - cho "The school supplied brooms are ancient, there's no way I'd be able to win anything flying on that rubbish!" ("scream", "narrow", "worried", "mid") + + # Used in Quidditch Outro + label .introspection: + + if _in_replay: + + show screen blkfade + with d5 + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 665 + $ game.daytime = False + $ game.weather = "clear" + camera screens at sepia + call room("main_room") + call cho_chibi(xpos="mid", ypos="base") + + hide screen blkfade + with d5 + # + + cho "The school supplied brooms are ancient, there's no way I'd be able to win anything flying on that rubbish!" ("scream", "narrow", "worried", "mid", xpos="mid") cho "Harry's firebolt--" ("angry", "closed", "worried", "mid") gen "A broom's a broom. I'm sure the expensive ones are just branding." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "base", "mid") @@ -120,8 +142,15 @@ label cc_gt_return: call cho_walk(action="leave") pause .8 - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + # Used in Quidditch Outro + if _in_replay: + show screen blkfade + with d5 + camera screens + $ renpy.end_replay() + # + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") $ cho.equip(cho_outfit_last) # Equip last worn clothes diff --git a/game/scripts/characters/cho/events/quidditch/intros.rpy b/game/scripts/characters/cho/events/quidditch/intros.rpy index d2c109ad..f6cff560 100644 --- a/game/scripts/characters/cho/events/quidditch/intros.rpy +++ b/game/scripts/characters/cho/events/quidditch/intros.rpy @@ -1509,6 +1509,31 @@ label cho_quid_E12: cho "You did?" ("angry", "narrow", "base", "L", cheeks="heavy_blush") hoo "Yes, and I assure you, I understand your feelings completely..." ("base", "narrow", "shocked", "L", cheeks="blush_heavy") hoo "As it happens... There's nothing that gets me more excited than a crowd..." ("base", "narrow", "base", "mid", cheeks="blush_heavy") + + # Used in Quidditch Outro + label .introspection: + + if _in_replay: + show screek blkfade + with d5 + + $ hooch.equip(hoo_outfit_default) + $ hooch.equip(hoo_accessory_broom_dildo) + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 666 + $ game.daytime = True + $ game.weather = "clear" + $ hooch_chibi.move((450, 500), speed=100) # TODO, fix after chibi changes are merged + camera screens at sepia + call room("quidditch_pitch") + call cho_chibi("stand", "right", "base", flip=False) + call gen_chibi(xpos="mid", ypos="base", flip=False) + + hide screen blkfade + with d5 + # + hoo "And all those feelings are imbued into this very broom..." ("base", "narrow", "base", "R", cheeks="blush") hoo "I remember using it at the quidditch world cup finals... Thousands of people watching..." ("grin", "closed", "worried", "mid", cheeks="blush_heavy") cho "" ("horny", "narrow", "base", "downR", cheeks="heavy_blush") @@ -1516,6 +1541,14 @@ label cho_quid_E12: hoo "When I caught the snitch... Why I've never felt such a rush." ("grin", "closed", "shocked", "mid", cheeks="blush_heavy") cho "{size=-6}I'll do it...{/size}" ("disgust", "narrow", "base", "downR", cheeks="heavy_blush") #Small text + # Used in Quidditch Outro + if _in_replay: + show screen blkfade + with d5 + camera screens + $ renpy.end_replay() + # + if cho_received_thestral: gen "Wait, how come when I tried to give you a broom with a--" ("angry", xpos="far_left", ypos="head") else: @@ -1634,3 +1667,474 @@ label cho_quid_E13: $ cho_quid.E13_complete = True jump main_room_menu + +label cho_quid_E14: + + # Quidditch Outro + + call cho_walk("mid", "base", action="enter") + + cho "Hello Coach." + gen "Hello [cho_name]... So, I still am your coach after all?" ("base", xpos="far_left", ypos="head") + cho "Of course you are!" + cho "Unless you would rather not be anymore?" + gen "Nonsense." ("base", xpos="far_left", ypos="head") + gen "If you ever need me, I'll be there before you can even say snitch." ("base", xpos="far_left", ypos="head") + cho "Well, in that case...{w=0.3} {size=-2}Snitch...{/size}" + + #Genie chibi stands up next to his desk + + menu: + "-Use Instant Transmission-": + + # Genie teleports to Cho + + call gen_chibi("stand", 430, "base") + call teleport(position="genie", effect=False) + + cho "Apparition, I presume?" + gen "Appa-- What?" + gen "Isn't that the flying thing from Four Elements Tr-- I mean Avatar!" + cho "What?" + gen "*Err*... Yeah, whatever you said." + + "\"Wait, right now?\"": + + gen "Wait, now?" ("angry", xpos="far_left", ypos="base") + cho "Isn't the coach supposed to make sure their pupil keeps up with their training?" + gen "*Hmm*... I suppose another examination of your physique would be in order." ("base", xpos="far_left", ypos="base") + + call gen_chibi("stand", 225, "base") + with d3 + call gen_walk(path=[(230, 470), (410, 470), (430, "base")]) + + # Genie walks to cho + + gen "So, how about we start with examining your chest, and then move on to--" ("grin", xpos="far_left", ypos="base") + cho "Actually, I was thinking of showing you how I take care of my favourite lumber." + gen "{i}Your favourite lumber?{/i}" ("base", xpos="far_left", ypos="base") + cho "Yes, is it that surprising?" + gen "(Last I checked she didn't have any lumber down there, we have even had sex!)" ("base", xpos="far_left", ypos="base") + gen "(Have my dick gotten so worn down that I can't tell the difference between a pussy and an ass?)" ("base", xpos="far_left", ypos="base") + gen "(Or maybe she's a were-futa?!)" ("angry", xpos="far_left", ypos="base") + gen "(Nah... She would show symptoms much earlier.)" ("angry", xpos="far_left", ypos="base") + gen "(Perhaps she has been under some sort of body concealment charm this entire time?)" + gen "(No... That'd be ridiculous...{w=0.5} Although--)" ("base", xpos="far_left", ypos="base") + cho "Earth to [cho_genie_name]! Are you listening?" + gen "*Huh*?" + cho "I'd like to show off my skills as a beater." #beater is used deliberately instead of beating + gen "(Quidditch... Of course that's what she meant...)" ("base", xpos="far_left", ypos="base") + cho "Why are you looking at me like that?" + gen "Oh, I was just--{w=0.2} Well, I just thought you--" ("base", xpos="far_left", ypos="base") + cho "Is it because I'm a girl?!" + gen "What?!" ("angry", xpos="far_left", ypos="base") + cho "You think I can't do it because I'm a girl?!" + gen "W--What, how are you implying--" ("angry", xpos="far_left", ypos="base") + cho "Just because boys have it easier, it doesn't mean a girl like me can't do it!" + gen "I wasn't saying--{w=0.2} I mean, can you even--" ("angry", xpos="far_left", ypos="base") + cho "Of course I can, I have everything I need right here!" + gen "Y-You do?" ("base", xpos="far_left", ypos="base") + cho "Of course!" + cho "Just close your eyes for a moment, and I'll get to it." + gen "Why would I need to--" ("base", xpos="far_left", ypos="base") + cho "Close them!" + gen "(I hope I don't regret this...)" ("angry", xpos="far_left", ypos="base") + + #Fade to black + #rustle sound + + show screen blkfade + with d5 + + gen "What are you doing?" + cho "One moment [cho_genie_name], I'm just having trouble trying to pull it out..." + gen "*gulp*" + + #rustle sound + + gen "[cho_name], is that...?" + cho "One more second..." + cho "Now, if I could just--" + + #cloth sound + + cho "There we go!" + cho "You can open your eyes now." + + show image Placeholder("bg girl") as cg zorder 15 + + hide screen blkfade + with d5 + + + + #Fade to CG, Cho has arm to her side, normal shirt (ingame shader for night variant) + + #Cho looks down at genie's soft cock + + gen "Whoa! You were talking about my trousers!" ("grin", xpos="far_left", ypos="head") + + #Cho looks up and smiles + + gen "But, I thought you said you wanted to show off your skills--" ("base", xpos="far_left", ypos="head") + gen "Okay, I think I just caught up to what we're doing here..." ("base", xpos="far_left", ypos="head") + cho "I don't know what you're talking about, [cho_genie_name]... This is just yet another normal training session with one of your trainees." + gen "(Sounds like something I would say.)" ("base", xpos="far_left", ypos="head") + gen "I must've rubbed off on you in more ways than one." ("grin", xpos="far_left", ypos="head") + cho "What can I say, I'm very impressionable..." + cho "Speaking off rubbing... Would you like a demonstration of how I enchant my equipment?" + gen "A few minutes ago, I would be hesitant, but now? Sure!" ("grin", xpos="far_left", ypos="head") + cho "Although..." + cho "It looks like the equipment isn't quite ready yet." + gen "The--{w=0.2} (Floppy cock)!!" ("angry", xpos="far_left", ypos="head") + gen "(She got me all stressed out for a moment, but I cannot show weakness!)" + + menu: + "\"It's cold in here!\"": + gen "And I wasn't ready!" ("angry", xpos="far_left", ypos="head") + + "\"I wasn't ready!\"": + gen "And it's cold in here!" ("angry", xpos="far_left", ypos="head") + + cho "No big deal, [cho_genie_name]... I learned how to deal with this sort of thing during one of my lessons." + gen "(During her lessons...?)" + cho "{size=+5}Up!{/size}" + cho "Hold on, that's for brooms, not for--" + + #Genie gets a boner + + cho "Oh, it worked!" + cho "I mean, of course it worked!" + cho "Well then... Let's start with the enchanting process..." + + #Cho takes genie's cock in her hand + #Cho turn head down towards dick + #Spit trailing from mouth towards dick + #Spit on dick + #Cho hand on dick, jacking it. + #Shiny dick (spit) + + gen "That's the stuff, [cho_name]!" ("open", xpos="far_left", ypos="base") + cho "Don't worry, [cho_genie_name], this is just one of the steps I learned about enchanting." + gen "Hold on, you're actually enchanting my cock? I didn't know you could do that!" ("grin", xpos="far_left", ypos="base") + cho "Your cock?" + cho "I'm merely creating a magical connection between myself and this magnificent piece of wood..." + gen "And the spit helps with that?" ("base", xpos="far_left", ypos="base") + cho "Of course! You don't want friction--" + cho "*Ahem*... I mean, you need the element of water to cast a successful enchantment!" + gen "You're not trying to turn my penis into a water geyser, are you?" ("base", xpos="far_left", ypos="base") + cho "*Sigh*" + gen "Alright, I'll listen... What's this magical spit rubbing called again?" ("base", xpos="far_left", ypos="base") + cho "Imbuing." + gen "Fascinating." ("base", xpos="far_left", ypos="base") + cho "I'm basically channelling my magic into the element to create a connection between myself and this piece of wood." + gen "Magic spit, huh." ("base", xpos="far_left", ypos="base") + cho "Once the connection is established, it can then be strengthened and enforced in various ways, through stimulation." + gen "You're starting to sound like Hermione." ("base", xpos="far_left", ypos="base") + cho "Of course, the type of stimulation depends on what the magic user has the strongest affinity for." + gen "Right?" ("base", xpos="far_left", ypos="base") + cho "So, I usually rub the surface..." + cho "Because that's the type of stimulation I enjoy the most..." + gen "Nice." ("base", xpos="far_left", ypos="base") + gen "Although, I still don't get what the fuck you're on about--" ("base", xpos="far_left", ypos="base") + + #Cho stops jacking + #Cho turn head down towards dick + #Spit trailing from mouth towards dick + + #Cho resumes jacking slow + + gen "Ah!" ("angry", xpos="far_left", ypos="base") + cho "You were saying?" + gen "Never mind! I totally get it now!" ("grin", xpos="far_left", ypos="base") + cho "Good! Then we can proceed to the next step." + + #jerking medium + + gen "Damn, [cho_name]! Since when did you get so good at giving handjobs?" ("grin", xpos="far_left", ypos="base") + cho "I'm not sure what you mean by a handjob, [cho_genie_name]." + cho "But what I can tell you is, to establish a strong connection, an enchanter must always use their full potential." + gen "That Hooch lady's sure taught you a lot!" ("grin", xpos="far_left", ypos="base") + cho "*giggles*" + cho "Practice makes perfect... It's what she taught me." + cho "I've practised enchanting on my own equipment a countless times by now." + cho "My snitch absolutely glows with magic once I'm finished with it." + gen "I bet..." ("grin", xpos="far_left", ypos="base") + cho "Although I have to do it in secret, so I end up picking a time and place where I won't be bothered, like the changing rooms after practice." + gen "Clever... *Nghh* girl." ("base", xpos="far_left", ypos="base") + gen "So, is experiencing the real deal any different from your practice?" ("base", xpos="far_left", ypos="base") + cho "It's Somewhat similar, but..." + cho "You know what, Why don't I tell you how I usually do it, and we could compare?" + gen "Sounds like a plan!" ("grin", xpos="far_left", ypos="base") + cho "Well..." + + # This section would either show the CG of Cho masturbating in front of lockers inside a small bubble, to go along with her jerking genie off, or swap to that CG temporarily. + + #Cho puts fingers in mouth (masturbate) + #Cho stops jacking (genie) + #Cho turn head down towards dick (genie) + #Spit trailing from mouth towards dick (genie) + + cho "First, I start by covering the surface with a good coat of spit-- I mean the magical conductor..." + gen "Magical conductor, right." + + #Cho puts hand on clit (masturbate) + #Cho normal head pose (genie) + + cho "I then slowly begin fondling it gently with my fingers." + + #Cho starts jerking (genie) + #Cho starts rubbing clit (masturbate) + + cho "Rubbing it,{w=0.3} up and down,{w=0.3} up and down..." + cho "Once I've spread the coating evenly, then I begin channelling my magic into it." + + #jerking medium (genie) + #rubbing medium (masturbate) + + gen "*Ngh*... You're--{w=0.2} You're able to channel your own magic into your--" ("grin", xpos="far_left", ypos="base") + cho "Of course, any able-bodied witch should be able to do that." + gen "I have so many questions, but... Please, continue..." ("grin", xpos="far_left", ypos="base") + cho "So, after I start channelling, I keep the flow at a rhythm, or I should say flow, to the point where I start feeling tingly..." + cho "That's when I increase the speed-- I mean flow..." + + #jerking fast (genie) + #rubbing fast (masturbate) + + gen "*Ngh*!!!" ("angry", xpos="far_left", ypos="base") + cho "I pour every ounce of magic I've got into the process, until it's almost bursting with magic!" + gen "*Aargh*!" ("angry", xpos="far_left", ypos="base") + + #Cho stops jerking (genie) + #Cho stops masturbating (masturbate) + + cho "Then I stop, leaving it pulsing, and filled to the brim with magical energy." + + #Masturbate view removed + + gen "*Ah*...{w=0.4} Why did you?!" ("angry", xpos="far_left", ypos="base") + cho "Even though it might be tempting, one shouldn't overdo it, or they might have an accidental discharge." + + gen "*Mhm*...{w=0.2} Yes, who would want that to--{w=0.2} *Ngh*...{w=0.4} To happen..." ("open", xpos="far_left", ypos="base") + + cho "Of course, sometimes you can't help it... I've left quite the mess inside the changing room a couple of times." + gen "Then why leave me hanging now, maybe I wanted to experience it myself..." ("open", xpos="far_left", ypos="base") + cho "Huh? Oh, I'm sorry [cho_genie_name]... I got a bit carried away..." + cho "I'm sorry, [cho_genie_name], I don't think I can keep this up..." + gen "W--{w=0.2} What? No, you're doing a fantastic job keeping it up!" ("angry", xpos="far_left", ypos="base") + cho "I mean this role-playing thing." + gen "(Role-playing? Is that what we're doing?)" ("base", xpos="far_left", ypos="base") + cho "There is... Something I need to talk to you about..." + gen "Now?! What about the--" ("base", xpos="far_left", ypos="base") + cho "..." + gen "*Ahem*... Of course, there's no better time for that than now, I suppose..." ("base", xpos="far_left", ypos="base") + gen "(But why does it always have to be one of those times!)" ("base", xpos="far_left", ypos="base") + cho "I thought I could just pretend it never happened, and that I could trick myself into thinking I'm just doing this to get better at Quidditch." + cho "But I can't!" + gen "..." ("angry", xpos="far_left", ypos="base") + cho "I won the cup already!" + cho "So I can't really fool myself that this is about Quidditch, can I?" + gen "*Err*..." ("base", xpos="far_left", ypos="base") + gen "We could pretend that it's to help you with Quidditch still, if it makes you feel better." ("base", xpos="far_left", ypos="base") + gen "Training your body to help you reach for the cock-- I mean the snitch and all that." ("base", xpos="far_left", ypos="base") + cho "..." + gen "Or we could compare wind resistance whenever you fly naked versus clothed." ("base", xpos="far_left", ypos="base") + cho "..." + gen "Still not convinced? Hmm." ("base", xpos="far_left", ypos="base") + gen "How about some sexual-- I mean, completely normal yoga!" ("base", xpos="far_left", ypos="base") + cho "It's okay, [cho_genie_name]..." #looks up at genie + cho "While I'm sure there are still a great number of things you could teach me that I could apply at the pitch--" + cho "--It's clear that this is not about Quidditch any more, I just need to get to terms with it." + gen "Why stick with one hobby when you can have many, that's what I always say!" ("grin", xpos="far_left", ypos="base") + gen "Well, if you're asking me to broaden your horizons, past holding a piece of wood in-between your legs, my answer is--" ("base", xpos="far_left", ypos="base") + cho "Wait!" + gen "--Yes?" ("base", xpos="far_left", ypos="base") + cho "There's one more thing..." + cho "I think it would be best that we be fully honest with each other from now on." + gen "Oh... *Err*..." ("base", xpos="far_left", ypos="base") + cho "You had me do all those naughty things..." + gen "..." ("base", xpos="far_left", ypos="base") + cho "Well, it took me a while, but I finally figured it out..." + gen "You got me! I did it all, just for a chance to get my dick squeezed between your muscly thighs!" ("grin", xpos="far_left", ypos="base") + cho "My--{w=0.4}{nw}" + + #Cho removes hand off genie's dick, putting it to her side + + cho "My--{fast} My Thighs?" + gen "Yes?" ("base", xpos="far_left", ypos="base") + cho "You know, you don't need to lie to me, [cho_genie_name]." + cho "I understand now that the only reason why you had me do all those things, was to help me raise my confidence, despite my recklessness." # Important note + gen "*Huh*?" + cho "I mean, the deal was that I'd sell you favours as a way to repay you for your coaching." + cho "But if it was sex that you were after, then surely you would've wanted us to go all the way before the finals." + cho "But you didn't push me even once to cross that line... You patiently waited for me to be ready, to do what was necessary to win the cup." + gen "(Probably a bad time to tell her that I just kind of forgot...)" + cho "And that's why...{w=0.4} Well, I felt as if I have to--" + cho "You have spent so much of your time guiding and encouraging me..." + cho "And you even gave me a luck potion, just so I could finally achieve my dreams!" + gen "(Did I do that...?)" + cho "But then I threw it all away, my urges for sexual gratification became too strong." + cho "I ended up getting carried away..." + gen "(Been there, done that...)" ("base", xpos="far_left", ypos="base") + cho "I was sort of running on a high after winning the cup, thinking I could do anything I wanted--" + gen "No need to apologise [cho_name], you drank that luck potion after all, if there were any consequences I'm sure they would have happened by now." ("base", xpos="far_left", ypos="base") + cho "*Ehm*..." + cho "It's just... Well, I thought I should... Since we ended up having sex..." + gen "Oh... I understand what you're trying to say..." ("grin", xpos="far_left", ypos="base") + cho "You do?" + gen "Of course, and there's no need to worry, I've coached my swimmers to not accidentally get anyone pregnant." ("grin", xpos="far_left", ypos="base") + cho "That's--{w=0.2} I wasn't even considering that..." + gen "You weren't?!" ("base", xpos="far_left", ypos="base") + cho "No, but I'll keep it in mind for the future." + gen "(Maybe shouldn't have said anything...)" + gen "So, what is bothering you then?" ("base", xpos="far_left", ypos="base") + cho "Well... The potion..." + gen "Yeah?" ("base", xpos="far_left", ypos="base") + cho "I never really drink any it." + gen "I see..." ("base", xpos="far_left", ypos="base") + gen "{size=+4}Wait what?!{/size}" ("angry", xpos="far_left", ypos="base") #Big text + + #Cue flashback effect with woosh sound + #Should we use the replay function that we do for mirror stories for this section? Would we change the day counter at all/set it to 0? + #Editors note. Sections taken from original writing should not be adjusted, for obvious reasons. + + #Office evening, (Gryffindor practice return event) + + #TODO add cho chibi/doll position, night time etc + + $ renpy.call_replay("cc_gt_return.introspection") + + show screen blkfade + with None + hide screen blkfade + with d5 + + #New scene, Flashback Shifts to CG with liquid luck potion bottle on bed + # TODO: Add CG + + show image Placeholder("bg") as cg + + cho "(What's this?)" + cho "(A bottle of...{w=0.3} liquid luck?!)" + cho "(Did coach leave this for me?)" + + #Bottle is removed from covers. + + cho "(That must be why he wasn't so concerned about my equipment...)" + cho "(Unless it's a placebo...)" + + #cork sound + pause .5 + #sniff sound + cho "(*Sniff*)" + + cho "(No, that's liquid luck alright, no doubts about it...)" + cho "(Of course, he would know that you can't trick a Ravenclaw after all.)" + cho "(But to think he'd give me this... Just so I could win the finals...)" + cho "(...)" + cho "(I'll just put it in my pocket for now...)" + + #New scene, Flashback shifts to daytime. Cho is at the quidditch pitch entrance. (early morning shader?) + + call room("quidditch_pitch") + call cho_chibi("stand", "mid", "base") + play bg_sounds "sounds/outskirts.ogg" fadein 2 + with fade + + cho "(Hmm... He's not here yet...)" + cho "(I guess I'll sit down and wait for him.)" + #cloth sound + + #Fade to New CG potion held up into sky + show image Placeholder("bg") as cg zorder 15 + with fade + + cho "..." + cho "(I never thought I'd hold one of those in my hand...)" + cho "([cho_genie_name] must really want me to win if he's willing to risk his career by giving this...)" + cho "(But why did we go through all those lewd favours, if he was just going to give me a luck potion anyway...)" + cho "(Did he agree to train me because of--)" + cho "(... No, he wouldn't, would he?)" + cho "(The training is over if I win, if he just wanted me for my body, he wouldn't try to help me win.)" + cho "(He must want to help me succeed, like he said from the start...)" + cho "(Help me succeed... No matter-- *Yawn*... The cost.)" + + show image Placeholder("bg") as cg zorder 15 at Transform(blur=5) + with d9 + + # Show snape's head + + show image Placeholder("bg") as cg zorder 15 + with d9 + + #CG goes blurry for a moment and back again as Cho blinks, as the CG comes back, Snape's head appear inside the potion. + + sna "Today's lesson will be about Felix Felicis." + sly1 "Who's that?" + sna "It's a potion, you idiot! A luck potion more specifically." + sna "This potion provides the drinker with a tremendous amount of luck, turning an ordinary day into an extraordinary one." + sna "When under its effects, it will make the one who drinks it succeed in whatever activity they partake in, no matter what it is." + sna "However, it is highly toxic in large quantities, therefore can only be consumed a handful of times during one's lifetime." + sly2 "Have you ever tried it yourself, sir?" + sna "Certainly!" + sna "I brewed and drank my very first one when I was about your age." + sna "Even though I knew about how it worked, I still couldn't believe that consuming it was enough to solve all my problems." + sly1 "What problems did it solve, sir?" + sna "Why, losing my virginity of course!" + + show image Placeholder("bg") as cg zorder 15 at Transform(blur=5) + with d9 + + # hide snape's head + + show image Placeholder("bg") as cg zorder 15 + with d9 + + cho "Gross!!" + cho "(What am I thinking...)" + cho "(I can't achieve my goals like this!)" + + show screen blkfade + with d5 + + #Fade to black + #Bottle cork sound + #Pouring liquid sound + + cho "(It's done... There's no going back now.)" + cho "(Hold on... Didn't Snape say luck potion is expensive...)" + cho "(Blimey! I could have sold it got a new broom... )" + cho "(Too late for that now. I better find the best alternative broom I can!)" + cho "(I'm doing this for myself! I want the victory to feel real!)" + + $ renpy.call_replay("cho_quid_E12.introspection") + + show screen blkfade + with None + hide screen blkfade + with d5 + + $ renpy.call_replay("gryffindor_match.introspection1") + + show screen blkfade + with None + hide screen blkfade + with d5 + + $ renpy.call_replay("gryffindor_match.introspection2") + + show screen blkfade + with None + hide screen blkfade + with d5 + + $ renpy.call_replay("gryffindor_match.introspection3") + + show screen blkfade + with None + hide screen blkfade + with d5 + + $ renpy.call_replay("gryffindor_match_return.introspection") + + return diff --git a/game/scripts/characters/cho/summon.rpy b/game/scripts/characters/cho/summon.rpy index 0060cc0f..6c24703d 100644 --- a/game/scripts/characters/cho/summon.rpy +++ b/game/scripts/characters/cho/summon.rpy @@ -24,6 +24,9 @@ label summon_cho: # Gryffindor Quidditch Intro. elif cho_tier == 3 and not cho_quid.E10_complete: jump cho_quid_E10 + # Quidditch Outro + elif cho_tier == 4 and not cho_quid.E14_complete: + jump cho_quid_E14 # Clothes Events call cho_summon_setup diff --git a/game/scripts/events/Quests.rpy b/game/scripts/events/Quests.rpy index 95830b17..39818e70 100644 --- a/game/scripts/events/Quests.rpy +++ b/game/scripts/events/Quests.rpy @@ -424,6 +424,7 @@ default cho_quid = quest_class( E11_complete = False, # Ask Luna for help (Talk) E12_complete = False, # Acquire new broom E13_complete = False, # Notify the player that all preparations are complete + E14_complete = False, # Quidditch Outro hufflepuff_prepared = False, # Ready for practice match? (Requirements: tactic) hufflepuff_training = False, # Finished Hufflepuff practice match? diff --git a/game/scripts/utility/updater.rpy b/game/scripts/utility/updater.rpy index 6ab9630b..6b97348c 100644 --- a/game/scripts/utility/updater.rpy +++ b/game/scripts/utility/updater.rpy @@ -139,6 +139,8 @@ init python: char.rebuild() + if current <= 1.443: + fix_return_stack() if current > latest: