From a54b056ab7c0e712abd0cb713c62de038a75fb7a Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Jul 2023 20:18:37 +0100 Subject: [PATCH] Cho's Public Requests * Converted Cho's public requests into the new system, and cleaned up relevant code. --- .../characters/cho/events/favors/suck_it.rpy | 2 +- .../cho/events/quidditch/slytherin_match.rpy | 2 +- .../cho/events/quidditch/training.rpy | 2 +- .../cho/events/requests/manipulate_boys.rpy | 43 ++++--- .../cho/events/requests/manipulate_girls.rpy | 35 ++++-- .../cho/events/requests/spy_on_the_boys.rpy | 21 ++-- .../cho/events/requests/spy_on_the_girls.rpy | 28 ++--- game/scripts/characters/cho/requests.rpy | 115 +++++++++--------- game/scripts/characters/cho/summon.rpy | 18 +-- game/scripts/characters/cho/vars.rpy | 21 +++- game/scripts/events/quests.rpy | 6 - 11 files changed, 156 insertions(+), 137 deletions(-) diff --git a/game/scripts/characters/cho/events/favors/suck_it.rpy b/game/scripts/characters/cho/events/favors/suck_it.rpy index 045c62f5..18cccb73 100644 --- a/game/scripts/characters/cho/events/favors/suck_it.rpy +++ b/game/scripts/characters/cho/events/favors/suck_it.rpy @@ -80,7 +80,7 @@ label cc_pf_blowjob_T3_intro_E1: 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") - if cc_pr_spy_girls.is_event_complete(3, 1): + if states.cho.ev.spy_on_girls.t3_e1_complete: gen "You've seen the girls on the Gryffindor team... You think they would hesitate with something as simple as a blowjob?" ("base", xpos="far_left", ypos="head") cho @ cheeks blush "..." ("disgust", "closed", "base", "down") #Pout gen "I see how it is..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy index d5478923..98d5e9d9 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy @@ -1240,7 +1240,7 @@ label slytherin_match: cra "She's showing us her ass! That luck potion Snape gave us really is working!" - if cc_pr_manipulate_boys.is_event_complete(2, 4): + if states.cho.ev.manipulate_boys.t2_e4_complete: goy "Looks like this little Ravenclaw slut has come back for more, Crabbe." cra "Of course she has Goyle, they've got nothing but wimps in that house of hers." cho "Oh yes, let me see those muscly arms of yours..." diff --git a/game/scripts/characters/cho/events/quidditch/training.rpy b/game/scripts/characters/cho/events/quidditch/training.rpy index 64c7e412..4f58a1d6 100644 --- a/game/scripts/characters/cho/events/quidditch/training.rpy +++ b/game/scripts/characters/cho/events/quidditch/training.rpy @@ -290,7 +290,7 @@ label cho_training: cho @ cheeks blush "What is this plan of yours based on?" ("soft", "narrow", "base", "down") - if cc_pr_manipulate_girls.is_complete(): # has completed "Manipulate the girls!" public request? + if states.cho.ev.manipulate_girls.t3_e4_complete: # has completed "Manipulate the girls!" public request? gen "The girls on the Gryffindor team sure seem fond of you. If you could get close to them, then I'm sure they'll lose focus on the game." ("base", xpos="far_left", ypos="head") cho @ cheeks blush "Maybe so, but that doesn't solve one important issue..." ("open", "base", "raised", "mid") else: diff --git a/game/scripts/characters/cho/events/requests/manipulate_boys.rpy b/game/scripts/characters/cho/events/requests/manipulate_boys.rpy index f087df79..2c826404 100644 --- a/game/scripts/characters/cho/events/requests/manipulate_boys.rpy +++ b/game/scripts/characters/cho/events/requests/manipulate_boys.rpy @@ -11,7 +11,7 @@ label cc_pr_manipulate_boys_start: if states.cho.tier == 1: # Intro - if cc_pr_manipulate_boys.points == 0: + if not _events_filtered_completed_any: gen "So what do we know about our opponents?" ("base", xpos="far_left", ypos="head") cho "Hufflepuff? Well, their team isn't the best, but they have a really strong seeker." ("soft", "base", "base", "mid") gen "Right...{w=0.3} who was that again?" ("base", xpos="far_left", ypos="head") @@ -70,7 +70,7 @@ label cc_pr_manipulate_boys_start: elif states.cho.tier == 2: # Intro - if cc_pr_manipulate_boys.points == 0: + if not _events_filtered_completed_any: gen "[name_cho_genie], how well -- in your opinion -- did you do in your last match?" ("base", xpos="far_left", ypos="head") cho "Well, I pretty much secured the win for my team, distracting those Hufflepuffs--" ("base", "closed", "base", "mid") gen "Only one Hufflepuff!{w=0.6} We were lucky you could secure that win with such low effort..." ("base", xpos="far_left", ypos="head") @@ -138,9 +138,9 @@ label cc_pr_manipulate_boys_start: ### Tier 2 (pre Gryffindor) ### elif states.cho.tier == 3: - if not cc_pr_manipulate_boys.is_event_complete(3, 1): # Completed The Twins? + if not states.cho.ev.manipulate_boys.t3_e1_complete: # Completed The Twins? - if not cc_pr_spy_boys.is_event_complete(3, 1): + if not states.cho.ev.spy_on_boys.t3_e1_complete: # Return if player has not spied on the Twins just yet. gen "Let's try and manipulate the boys on the enemy team!" ("base", xpos="far_left", ypos="head") @@ -150,7 +150,8 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "Time to manipulate the enemy a bit." ("base", xpos="far_left", ypos="head") @@ -167,9 +168,9 @@ label cc_pr_manipulate_boys_start: cho "Wish me luck!" ("open", "narrow", "base", "mid") gen "Good luck." ("base", xpos="far_left", ypos="head") - elif not cc_pr_manipulate_boys.is_event_complete(3, 2): # Completed Ron Weasley? + elif not states.cho.ev.manipulate_boys.t3_e2_complete: # Completed Ron Weasley? - if not cc_pr_spy_boys.is_event_complete(3, 2): + if not states.cho.ev.spy_on_boys.t3_e2_complete: # Return if player has not spied on Ron Weasley just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") @@ -180,7 +181,8 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "Let's target the other Weasley boy this time." ("base", xpos="far_left", ypos="head") cho "You actually want me to target that pervert?" ("disgust", "narrow", "base", "mid") @@ -198,9 +200,9 @@ label cc_pr_manipulate_boys_start: gen "Then it's settled, report to me in the evening as usual." ("base", xpos="far_left", ypos="head") cho "Will do!" ("smile", "base", "base", "mid") - elif not cc_pr_manipulate_boys.is_event_complete(3, 3): # Completed Harry Potter? + elif not states.cho.ev.manipulate_boys.t3_e3_complete: # Completed Harry Potter? - if not cc_pr_spy_boys.is_event_complete(3, 3): + if not states.cho.ev.spy_on_boys.t3_e3_complete: # Return if player has not spied on Harry Potter just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") cho "I'm going to stop you there..." ("angry", "base", "raised", "mid") @@ -210,7 +212,8 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "How about we annoy Miss Granger some more?" ("base", xpos="far_left", ypos="head") cho "Of course!" ("crooked_smile", "base", "base", "mid") @@ -236,7 +239,6 @@ label cc_pr_manipulate_boys_start: # Cho leaves early! call cho_walk(action="leave") - $ cc_pr_manipulate_boys.inProgress = True gen "Twins..." ("base", xpos="far_left", ypos="head") gen "Well, can't say she lacks motivation anymore..." ("base", xpos="far_left", ypos="head") @@ -247,14 +249,8 @@ label cc_pr_manipulate_boys_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_manipulate_boys.inProgress = True - jump end_cho_event - - -### Return Events ### - ### Tier 1 (pre Hufflepuff) ### label cc_pr_manipulate_boys_T1_intro_E1: @@ -645,9 +641,10 @@ label cc_pr_manipulate_boys_T2_intro_E3: jump end_cho_event - label cc_pr_manipulate_boys_T2_E3: + $ states.cho.ev.manipulate_boys.t2_e4_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -721,6 +718,8 @@ label cc_pr_manipulate_boys_T2_E3: label cc_pr_manipulate_boys_T3_twins: + $ states.cho.ev.manipulate_boys.t3_e1_complete = True + # Setup $ cho_outfit_last.save() # Save player outfit $ cho.strip("clothes") @@ -774,10 +773,12 @@ label cc_pr_manipulate_boys_T3_twins: gen "So, why did you come straight to me and not go to your dorm?" ("base", xpos="far_left", ypos="head") cho "And pass through my common room?" ("soft", "base", "angry", "mid") cho "No, thank you... Your office was the closest thing to their stupid shop." ("clench", "base", "angry", "R") + if not item_store_intro_done: gen "Shop? What shop?" ("base", xpos="far_left", ypos="head") cho "Are you kidding me? Surely, you must know about them and their shady businesses." ("soft", "base", "angry", "mid") gen "I have no clue what you're talking about." ("base", xpos="far_left", ypos="head") + cho "..." ("disgust", "base", "base", "down") cho "Don't you have any spare robes or anything?" ("open", "base", "worried", "mid") gen "I suppose I--" ("base", xpos="far_left", ypos="head") @@ -816,6 +817,8 @@ label cc_pr_manipulate_boys_T3_twins: label cc_pr_manipulate_boys_T3_ron: + $ states.cho.ev.manipulate_boys.t3_e2_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -876,6 +879,8 @@ label cc_pr_manipulate_boys_T3_ron: label cc_pr_manipulate_boys_T3_harry: + $ states.cho.ev.manipulate_boys.t3_e3_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") diff --git a/game/scripts/characters/cho/events/requests/manipulate_girls.rpy b/game/scripts/characters/cho/events/requests/manipulate_girls.rpy index d0d55cea..0fad381e 100644 --- a/game/scripts/characters/cho/events/requests/manipulate_girls.rpy +++ b/game/scripts/characters/cho/events/requests/manipulate_girls.rpy @@ -7,10 +7,10 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="right", ypos="base", trans=fade) - if not cc_pr_manipulate_girls.is_event_complete(3, 1): # Completed Alicia Spinnet? + if not states.cho.ev.manipulate_girls.t3_e1_complete: # Completed Alicia Spinnet? # Alicia Spinnet - if not cc_pr_spy_girls.is_event_complete(3, 2): + if not states.cho.ev.spy_on_girls.t3_e2_complete: # Return if player has not spied on Alicia just yet. gen "Let’s try and manipulate the girls on the enemy team!" ("base", xpos="far_left", ypos="head") cho "You're expecting me to just jump in blind?" ("angry", "base", "base", "mid") @@ -19,7 +19,8 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "I think it's time to manipulate the female members of the enemy team a bit, and see if we can find some way to distract them during the game." ("base", xpos="far_left", ypos="head") cho "And how do you suggest we do that?" ("annoyed", "base", "raised", "mid") @@ -43,10 +44,10 @@ label cc_pr_manipulate_girls_start: cho "Wish me luck..." ("horny", "base", "base", "mid") gen "Good luck..." ("grin", xpos="far_left", ypos="head") - elif not cc_pr_manipulate_girls.is_event_complete(3, 2): # Completed Katie Bell - Part 1? + elif not states.cho.ev.manipulate_girls.t3_e2_complete: # Completed Katie Bell - Part 1? # Katie Bell - Part 1 - if not cc_pr_spy_girls.is_event_complete(3, 3): + if not states.cho.ev.spy_on_girls.t3_e3_complete: # Return if player has not spied on Katie just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") cho "I'm going to stop you right there..." ("soft", "base", "angry", "mid") @@ -61,7 +62,8 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "One down, two to go..." ("base", xpos="far_left", ypos="head") gen "I think it's time to manipulate one of the other Gryffindor girls." ("base", xpos="far_left", ypos="head") @@ -77,7 +79,7 @@ label cc_pr_manipulate_girls_start: cho "Yes, I will!" ("mad", "base", "raised", "mid") gen "Great, off you go!" ("grin", xpos="far_left", ypos="head") - elif not cc_pr_manipulate_girls.is_event_complete(3, 3): # Completed Katie Bell - Part 2? + elif not states.cho.ev.manipulate_girls.t3_e3_complete: # Completed Katie Bell - Part 2? # Katie Bell - Part 2 # No return here since it's just a continuation of previous Katie event. @@ -92,10 +94,10 @@ label cc_pr_manipulate_girls_start: gen "Excellent, make sure to come back with an extensive report as usual B." ("base", xpos="far_left", ypos="head") cho @ cheeks blush "Got it..." ("soft", "base", "base", "mid") - elif not cc_pr_manipulate_girls.is_event_complete(3, 4): # Completed Angelina Johnson? + elif not states.cho.ev.manipulate_girls.t3_e4_complete: # Completed Angelina Johnson? # Angelina Johnson - if not cc_pr_spy_girls.is_event_complete(3, 4): + if not states.cho.ev.spy_on_girls.t3_e4_complete: # Return if player has not spied on Angelina just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") cho "I'm going to stop you right there..." ("soft", "base", "angry", "mid") @@ -105,7 +107,8 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "You seem to have gotten to know the Gryffindor girls quite well by now, [name_cho_genie]." ("base", xpos="far_left", ypos="head") gen "If you're not careful, you might turn into one yourself." ("grin", xpos="far_left", ypos="head") @@ -131,8 +134,6 @@ label cc_pr_manipulate_girls_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_manipulate_girls.inProgress = True - jump end_cho_event ### Return Events ### @@ -140,6 +141,8 @@ label cc_pr_manipulate_girls_start: ### Tier 3 (pre Gryffindor) ### label cc_pr_manipulate_girls_T3_alicia: + + $ states.cho.ev.manipulate_girls.t3_e1_complete = True # Alicia Spinnet # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -216,6 +219,9 @@ label cc_pr_manipulate_girls_T3_alicia: jump end_cho_event label cc_pr_manipulate_girls_T3_katie_part1: + + $ states.cho.ev.manipulate_girls.t3_e2_complete = True + # Katie Bell - Part 1 # Cho enters. @@ -313,6 +319,9 @@ label cc_pr_manipulate_girls_T3_katie_part1: jump end_cho_event label cc_pr_manipulate_girls_T3_katie_part2: + + $ states.cho.ev.manipulate_girls.t3_e3_complete = True + # Katie Bell - Part 2 # Cho enters. @@ -377,6 +386,8 @@ label cc_pr_manipulate_girls_T3_katie_part2: label cc_pr_manipulate_girls_T3_angelina: + $ states.cho.ev.manipulate_girls.t3_e4_complete = True + # Angelina Johnson # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") diff --git a/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy b/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy index cf952b12..dd46a445 100644 --- a/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy +++ b/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy @@ -7,10 +7,10 @@ label cc_pr_spy_boys_start: cho "" (xpos="right", ypos="base", trans=fade) - if not cc_pr_spy_boys.is_event_complete(3, 1): # Completed spying on the Weasley Twins? + if not states.cho.ev.spy_on_boys.t3_e1_complete: # Completed spying on the Weasley Twins? # Weasley Twins - handing over candies that turn people into blueberries - if not cc_pr_spy_girls.is_event_complete(3, 1): + if not states.cho.ev.spy_on_girls.t3_e1_complete: # Player has not spied on girls just yet. gen "Time to target the boys for a classic espionage mission C." ("base", xpos="far_left", ypos="head") @@ -67,7 +67,7 @@ label cc_pr_spy_boys_start: gen "Report back to me this evening as usual B!" ("grin", xpos="far_left", ypos="head") cho "Fine..." ("angry", "narrow", "base", "mid") - elif not cc_pr_spy_boys.is_event_complete(3, 2): # Completed Ron Weasley? + elif not states.cho.ev.spy_on_boys.t3_e2_complete: # Completed Ron Weasley? # Spy on Ron Weasley gen "Ready for some more espionage B?" ("base", xpos="far_left", ypos="head") @@ -84,7 +84,7 @@ label cc_pr_spy_boys_start: gen "Quietly, make haste... quietly..." ("base", xpos="far_left", ypos="head") cho "As you wish..." ("base", "narrow", "base", "downR") - elif not cc_pr_spy_boys.is_event_complete(3, 3): # Completed Harry Potter? + elif not states.cho.ev.spy_on_boys.t3_e3_complete: # Completed Harry Potter? # Spy on Harry Potter gen "Ready for some more espionage B?" ("base", xpos="far_left", ypos="head") @@ -122,20 +122,15 @@ label cc_pr_spy_boys_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_spy_boys.inProgress = True - jump end_cho_event - - -### Return Events ### - - ### Tier 3 (pre Gryffindor) ### label cc_pr_spy_boys_T3_twins: ## Weasley Twins - Blueberry candies ## + $ states.cho.ev.spy_on_boys.t3_e1_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -187,6 +182,8 @@ label cc_pr_spy_boys_T3_twins: label cc_pr_spy_boys_T3_ron: ## Ron Weasley ## + $ states.cho.ev.spy_on_boys.t3_e2_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -225,6 +222,8 @@ label cc_pr_spy_boys_T3_ron: ## Harry Potter ## label cc_pr_spy_boys_T3_harry: + $ states.cho.ev.spy_on_boys.t3_e3_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") diff --git a/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy b/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy index 8a0c9df0..d6991ab3 100644 --- a/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy +++ b/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy @@ -7,10 +7,10 @@ label cc_pr_spy_girls_start: cho "" (xpos="right", ypos="base", trans=fade) - if not cc_pr_spy_girls.is_event_complete(3, 1): # Completed shower event? + if not states.cho.ev.spy_on_girls.t3_e1_complete: # Completed shower event? # Shower event - looking through the glory hole - if not cc_pr_spy_boys.is_event_complete(3, 1): + if not states.cho.ev.spy_on_boys.t3_e1_complete: # Player has not spied on boys just yet. gen "Time for some good old espionage!" ("base", xpos="far_left", ypos="head") @@ -76,7 +76,7 @@ label cc_pr_spy_girls_start: gen "Good luck!" ("base", xpos="far_left", ypos="head") cho "Thanks..." ("open", "narrow", "angry", "R") - elif not cc_pr_spy_girls.is_event_complete(3, 2): # Completed Alicia Spinnet? + elif not states.cho.ev.spy_on_girls.t3_e2_complete: # Completed Alicia Spinnet? # Spy on Alicia Spinnet gen "Ready for some more espionage, B?" ("base", xpos="far_left", ypos="head") @@ -93,7 +93,7 @@ label cc_pr_spy_girls_start: gen "Off you go, and good luck!" ("base", xpos="far_left", ypos="head") cho "Thanks, [name_genie_cho]." ("base", "base", "base", "mid") - elif not cc_pr_spy_girls.is_event_complete(3, 3): # Completed Katie Bell? + elif not states.cho.ev.spy_on_girls.t3_e3_complete: # Completed Katie Bell? # Spy on Katie Bell gen "Ready for some more espionage, B?" ("base", xpos="far_left", ypos="head") @@ -118,11 +118,10 @@ label cc_pr_spy_girls_start: gen "(Damn, she must've not heard me...)" ("base", xpos="far_left", ypos="head") # End early, cho already left! - $ cc_pr_spy_girls.inProgress = True jump end_cho_event - elif not cc_pr_spy_girls.is_event_complete(3, 4): # Completed Angelina Johnson? + elif not states.cho.ev.spy_on_girls.t3_e4_complete: # Completed Angelina Johnson? # Spy on Angelina Johnson gen "Ready for some more espionage, B?" ("base", xpos="far_left", ypos="head") @@ -159,20 +158,15 @@ label cc_pr_spy_girls_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_spy_girls.inProgress = True - jump end_cho_event - - -### Return Events ### - - ### Tier 3 (pre Gryffindor) ### label cc_pr_spy_girls_T3_showers: # Showers - looking through the glory hole + $ states.cho.ev.spy_on_girls.t3_e1_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -221,10 +215,11 @@ label cc_pr_spy_girls_T3_showers: jump end_cho_event - ## Alicia Spinnet ## label cc_pr_spy_girls_T3_alicia: + $ states.cho.ev.spy_on_girls.t3_e2_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -318,6 +313,8 @@ label cc_pr_spy_girls_T3_alicia: ## Katie Bell ## label cc_pr_spy_girls_T3_katie: + $ states.cho.ev.spy_on_girls.t3_e3_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -389,10 +386,11 @@ label cc_pr_spy_girls_T3_katie: jump end_cho_event - ## Angelina Johnson ## label cc_pr_spy_girls_T3_angelina: + $ states.cho.ev.spy_on_girls.t3_e4_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") diff --git a/game/scripts/characters/cho/requests.rpy b/game/scripts/characters/cho/requests.rpy index 8dd917b6..122beb42 100644 --- a/game/scripts/characters/cho/requests.rpy +++ b/game/scripts/characters/cho/requests.rpy @@ -1,64 +1,61 @@ -# Public requests -# cc_pr = Cho Chang Public Request -default cc_pr_spy_boys = event_class(title = "Spy on the boys!", start_label = "cc_pr_spy_boys_start", start_tier = 3, - events = [ - [ - ["cc_pr_spy_boys_T3_twins"], - ["cc_pr_spy_boys_T3_ron"], - ["cc_pr_spy_boys_T3_harry"], - ] - ], - icons = ["gryf"], - iconset = [["star_empty", "star_yellow"]] -) +default cho_ev_spy_on_boys_t3_e1 = Event(id="cho_ev_spy_on_boys_t3_e1", label="cc_pr_spy_boys_T3_twins", req="game.daytime==False") +default cho_ev_spy_on_boys_t3_e2 = Event(id="cho_ev_spy_on_boys_t3_e2", label="cc_pr_spy_boys_T3_ron", req="game.daytime==False") +default cho_ev_spy_on_boys_t3_e3 = Event(id="cho_ev_spy_on_boys_t3_e3", label="cc_pr_spy_boys_T3_harry", req="game.daytime==False") -default cc_pr_manipulate_boys = event_class(title = "Manipulate the boys!", start_label = "cc_pr_manipulate_boys_start", - events = [ - [ - ["cc_pr_manipulate_boys_T1_intro_E1"], ["cc_pr_manipulate_boys_T1_E1"], - ["cc_pr_manipulate_boys_T1_E2"], - ["cc_pr_manipulate_boys_T1_E3"] - ], - [ - ["cc_pr_manipulate_boys_T2_intro_E1"], ["cc_pr_manipulate_boys_T2_E1"], - ["cc_pr_manipulate_boys_T2_intro_E2"], - ["cc_pr_manipulate_boys_T2_intro_E3"], ["cc_pr_manipulate_boys_T2_E3"] - ], - [ - ["cc_pr_manipulate_boys_T3_twins"], - ["cc_pr_manipulate_boys_T3_ron"], - ["cc_pr_manipulate_boys_T3_harry"] - ] - ], - icons = ["huff", "slyt", "gryf"], #if a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default cho_ev_spy_on_boys_t3_e1_hub = Event(id="cho_ev_spy_on_boys_t3_e1_hub", label="cc_pr_spy_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_boys_t3_e1"]) +default cho_ev_spy_on_boys_t3_e2_hub = Event(id="cho_ev_spy_on_boys_t3_e2_hub", label="cc_pr_spy_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_boys_t3_e2"]) +default cho_ev_spy_on_boys_t3_e3_hub = Event(id="cho_ev_spy_on_boys_t3_e3_hub", label="cc_pr_spy_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_boys_t3_e3"]) -default cc_pr_spy_girls = event_class(title = "Spy on the girls!", start_label = "cc_pr_spy_girls_start", start_tier = 3, - events = [ - [ - ["cc_pr_spy_girls_T3_showers"], - ["cc_pr_spy_girls_T3_alicia"], - ["cc_pr_spy_girls_T3_katie"], - ["cc_pr_spy_girls_T3_angelina"], - ] - ], - icons = ["gryf"], - iconset = [["star_empty", "star_yellow"]] -) +default cho_ev_spy_on_girls_t3_e1 = Event(id="cho_ev_spy_on_girls_t3_e1", label="cc_pr_spy_girls_T3_showers", req="game.daytime==False") +default cho_ev_spy_on_girls_t3_e2 = Event(id="cho_ev_spy_on_girls_t3_e2", label="cc_pr_spy_girls_T3_alicia", req="game.daytime==False") +default cho_ev_spy_on_girls_t3_e3 = Event(id="cho_ev_spy_on_girls_t3_e3", label="cc_pr_spy_girls_T3_katie", req="game.daytime==False") +default cho_ev_spy_on_girls_t3_e4 = Event(id="cho_ev_spy_on_girls_t3_e4", label="cc_pr_spy_girls_T3_angelina", req="game.daytime==False") -default cc_pr_manipulate_girls = event_class(title = "Manipulate the girls!", start_label = "cc_pr_manipulate_girls_start", start_tier = 3, - events = [ - [ - ["cc_pr_manipulate_girls_T3_alicia"], - ["cc_pr_manipulate_girls_T3_katie_part1"], - ["cc_pr_manipulate_girls_T3_katie_part2"], - ["cc_pr_manipulate_girls_T3_angelina"] - ] - ], - icons = ["gryf"], - iconset = [["star_empty", "star_yellow"]] -) +default cho_ev_spy_on_girls_t3_e1_hub = Event(id="cho_ev_spy_on_girls_t3_e1_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e1"]) +default cho_ev_spy_on_girls_t3_e2_hub = Event(id="cho_ev_spy_on_girls_t3_e2_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e2"]) +default cho_ev_spy_on_girls_t3_e3_hub = Event(id="cho_ev_spy_on_girls_t3_e3_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e3"]) +default cho_ev_spy_on_girls_t3_e4_hub = Event(id="cho_ev_spy_on_girls_t3_e4_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e4"]) -default cc_requests_list = [cc_pr_spy_boys, cc_pr_manipulate_boys, cc_pr_spy_girls, cc_pr_manipulate_girls] +default cho_ev_manipulate_boys_t1_e1 = Event(id="cho_ev_manipulate_boys_t1_e1", label="cc_pr_manipulate_boys_T1_intro_E1", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t1_e2 = Event(id="cho_ev_manipulate_boys_t1_e2", label="cc_pr_manipulate_boys_T1_E1", req="game.daytime==False") +default cho_ev_manipulate_boys_t1_e3 = Event(id="cho_ev_manipulate_boys_t1_e3", label="cc_pr_manipulate_boys_T1_E2", req="game.daytime==False") +default cho_ev_manipulate_boys_t1_e4 = Event(id="cho_ev_manipulate_boys_t1_e4", label="cc_pr_manipulate_boys_T1_E3", req="game.daytime==False") +default cho_ev_manipulate_boys_t2_e1 = Event(id="cho_ev_manipulate_boys_t2_e1", label="cc_pr_manipulate_boys_T2_intro_E1", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t2_e2 = Event(id="cho_ev_manipulate_boys_t2_e2", label="cc_pr_manipulate_boys_T2_E1", req="game.daytime==False") +default cho_ev_manipulate_boys_t2_e3 = Event(id="cho_ev_manipulate_boys_t2_e3", label="cc_pr_manipulate_boys_T2_intro_E2", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t2_e4 = Event(id="cho_ev_manipulate_boys_t2_e4", label="cc_pr_manipulate_boys_T2_intro_E3", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t2_e5 = Event(id="cho_ev_manipulate_boys_t2_e5", label="cc_pr_manipulate_boys_T2_E3", req="game.daytime==False") +default cho_ev_manipulate_boys_t3_e1 = Event(id="cho_ev_manipulate_boys_t3_e1", label="cc_pr_manipulate_boys_T3_twins", req="game.daytime==False") +default cho_ev_manipulate_boys_t3_e2 = Event(id="cho_ev_manipulate_boys_t3_e2", label="cc_pr_manipulate_boys_T3_ron", req="game.daytime==False") +default cho_ev_manipulate_boys_t3_e3 = Event(id="cho_ev_manipulate_boys_t3_e3", label="cc_pr_manipulate_boys_T3_harry", req="game.daytime==False") + +default cho_ev_manipulate_boys_t1_e1_hub = Event(id="cho_ev_manipulate_boys_t1_e1_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e1"]) +default cho_ev_manipulate_boys_t1_e2_hub = Event(id="cho_ev_manipulate_boys_t1_e2_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e2"]) +default cho_ev_manipulate_boys_t1_e3_hub = Event(id="cho_ev_manipulate_boys_t1_e3_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e3"]) +default cho_ev_manipulate_boys_t1_e4_hub = Event(id="cho_ev_manipulate_boys_t1_e4_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e4"]) +default cho_ev_manipulate_boys_t2_e1_hub = Event(id="cho_ev_manipulate_boys_t2_e1_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e1"]) +default cho_ev_manipulate_boys_t2_e2_hub = Event(id="cho_ev_manipulate_boys_t2_e2_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e2"]) +default cho_ev_manipulate_boys_t2_e3_hub = Event(id="cho_ev_manipulate_boys_t2_e3_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e3"]) +default cho_ev_manipulate_boys_t2_e4_hub = Event(id="cho_ev_manipulate_boys_t2_e4_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e4"]) +default cho_ev_manipulate_boys_t2_e5_hub = Event(id="cho_ev_manipulate_boys_t2_e5_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e5"]) +default cho_ev_manipulate_boys_t3_e1_hub = Event(id="cho_ev_manipulate_boys_t3_e1_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t3_e1"]) +default cho_ev_manipulate_boys_t3_e2_hub = Event(id="cho_ev_manipulate_boys_t3_e2_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t3_e2"]) +default cho_ev_manipulate_boys_t3_e3_hub = Event(id="cho_ev_manipulate_boys_t3_e3_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t3_e3"]) + +default cho_ev_manipulate_girls_t3_e1 = Event(id="cho_ev_manipulate_girls_t3_e1", label="cc_pr_manipulate_girls_T3_alicia", req="game.daytime==False") +default cho_ev_manipulate_girls_t3_e2 = Event(id="cho_ev_manipulate_girls_t3_e2", label="cc_pr_manipulate_girls_T3_katie_part1", req="game.daytime==False") +default cho_ev_manipulate_girls_t3_e3 = Event(id="cho_ev_manipulate_girls_t3_e3", label="cc_pr_manipulate_girls_T3_katie_part2", req="game.daytime==False") +default cho_ev_manipulate_girls_t3_e4 = Event(id="cho_ev_manipulate_girls_t3_e4", label="cc_pr_manipulate_girls_T3_angelina", req="game.daytime==False") + +default cho_ev_manipulate_girls_t3_e1_hub = Event(id="cho_ev_manipulate_girls_t3_e1_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e1"]) +default cho_ev_manipulate_girls_t3_e2_hub = Event(id="cho_ev_manipulate_girls_t3_e2_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e2"]) +default cho_ev_manipulate_girls_t3_e3_hub = Event(id="cho_ev_manipulate_girls_t3_e3_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e3"]) +default cho_ev_manipulate_girls_t3_e4_hub = Event(id="cho_ev_manipulate_girls_t3_e4_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e4"]) + +define cho_requests = [ + ("cho_eventqueue_spy_on_boys", "Spy on the boys!"), + ("cho_eventqueue_spy_on_girls", "Spy on the girls!"), + ("cho_eventqueue_manipulate_boys", "Manipulate the boys!"), + ("cho_eventqueue_manipulate_girls", "Manipulate the girls!"), +] diff --git a/game/scripts/characters/cho/summon.rpy b/game/scripts/characters/cho/summon.rpy index f54d1d44..33d6f863 100644 --- a/game/scripts/characters/cho/summon.rpy +++ b/game/scripts/characters/cho/summon.rpy @@ -177,17 +177,17 @@ label cho_favor_menu: "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and states.cho.requests_unlocked: label .requests: - # call tutorial("hearts") + call tutorial("hearts") - # $ result = show_events_menu(cho_requests) + $ result = show_events_menu(cho_requests) - # if result in ("disabled", "noncompliant"): - # "You haven't unlocked this favor opportunity yet." - # jump .favors - # elif result == "exit": - # jump cho_favor_menu - # else: - # $ result.start() + if result in ("disabled", "noncompliant"): + "You haven't unlocked this request opportunity yet." + jump .requests + elif result == "exit": + jump cho_favor_menu + else: + $ result.start() "-Never mind-": jump cho_requests diff --git a/game/scripts/characters/cho/vars.rpy b/game/scripts/characters/cho/vars.rpy index 61543777..eb319118 100644 --- a/game/scripts/characters/cho/vars.rpy +++ b/game/scripts/characters/cho/vars.rpy @@ -45,6 +45,9 @@ default states.cho.ev.panty_thief.soaked = False default states.cho.ev.suck_it.variant = None # Dynamic string. Valid choices: failed, swallow, throat, points, taste. default states.cho.ev.inspect_her_body.tonks_doppler_encounter = False default states.cho.ev.inspect_her_body.tonks_succubus_encounter = False +default states.cho.ev.inspect_her_body.T2_E3_failed = False +default states.cho.ev.inspect_her_body.T2_E3_complete = False +default states.cho.ev.inspect_her_body.T3_E3_complete = False default states.cho.ev.quidditch.e1_complete = False default states.cho.ev.quidditch.e2_complete = False default states.cho.ev.quidditch.e3_complete = False @@ -87,10 +90,22 @@ default states.cho.ev.quiz.hint = "" # Set after reading Quidditch Book default states.cho.ev.talk_to_me.t1_e3_complete = False default states.cho.ev.talk_to_me.t2_e3_complete = False default states.cho.ev.talk_to_me.t3_e3_complete = False -default states.cho.ev.inspect_her_body.T2_E3_failed = False -default states.cho.ev.inspect_her_body.T2_E3_complete = False -default states.cho.ev.inspect_her_body.T3_E3_complete = False default states.cho.ev.suck_it.T3_E3_complete = False +default states.cho.ev.spy_on_boys.t3_e1_complete = False +default states.cho.ev.spy_on_boys.t3_e2_complete = False +default states.cho.ev.spy_on_boys.t3_e3_complete = False +default states.cho.ev.spy_on_girls.t3_e1_complete = False +default states.cho.ev.spy_on_girls.t3_e2_complete = False +default states.cho.ev.spy_on_girls.t3_e3_complete = False +default states.cho.ev.spy_on_girls.t3_e4_complete = False +default states.cho.ev.manipulate_boys.t2_e4_complete = False +default states.cho.ev.manipulate_boys.t3_e1_complete = False +default states.cho.ev.manipulate_boys.t3_e2_complete = False +default states.cho.ev.manipulate_boys.t3_e3_complete = False +default states.cho.ev.manipulate_girls.t3_e1_complete = False +default states.cho.ev.manipulate_girls.t3_e2_complete = False +default states.cho.ev.manipulate_girls.t3_e3_complete = False +default states.cho.ev.manipulate_girls.t3_e4_complete = False # Names diff --git a/game/scripts/events/quests.rpy b/game/scripts/events/quests.rpy index 8cd82d06..5f8e063a 100644 --- a/game/scripts/events/quests.rpy +++ b/game/scripts/events/quests.rpy @@ -196,12 +196,6 @@ label quests: # Note: The return events now get jumped to right after the main match events. - python: - for i in cc_requests_list: - if i.inProgress: - i.inProgress = False - i.start() - $ play_potion_return("cho") #