From d2a76938b443066deb88fc137c8aa5d1dcb4b39d Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sun, 2 Jul 2023 16:17:44 +0100 Subject: [PATCH] Luna favours and queue improvements * Converted Luna personal favours into the new system, and cleaned up the code. * Added 'noncompliant' return result to differentiate between unmet event requirements and the disabled states * Added disabled state default parameter --- game/scripts/characters/hermione/summon.rpy | 6 +- .../luna/events/favors/inspect_her_body.rpy | 41 +++++---- .../luna/events/favors/masturbate_for_me.rpy | 32 ++++--- .../luna/events/favors/talk_to_me.rpy | 41 ++++++--- game/scripts/characters/luna/favors.rpy | 87 +++++-------------- game/scripts/characters/luna/summon.rpy | 56 +++++------- game/scripts/characters/luna/vars.rpy | 3 + game/scripts/events/queue.rpy | 15 ++-- 8 files changed, 129 insertions(+), 152 deletions(-) diff --git a/game/scripts/characters/hermione/summon.rpy b/game/scripts/characters/hermione/summon.rpy index 7378911a..c9651f18 100644 --- a/game/scripts/characters/hermione/summon.rpy +++ b/game/scripts/characters/hermione/summon.rpy @@ -168,7 +168,7 @@ label hermione_favor_menu: $ result = show_events_menu(hermione_favors) - if result == "disabled": + if result in ("disabled", "noncompliant"): "You haven't unlocked this favor opportunity yet." jump .favors elif result == "exit": @@ -199,7 +199,7 @@ label hermione_favor_menu: $ result = show_events_menu(hermione_requests) - if result == "disabled": + if result in ("disabled", "noncompliant"): "You haven't unlocked this request opportunity yet." jump .requests elif result == "exit": @@ -212,7 +212,7 @@ label hermione_favor_menu: $ result = show_events_menu(hermione_jobs, report_progress=False) - if result == "disabled": + if result in ("disabled", "noncompliant"): "You haven't unlocked this job opportunity yet." jump .odd_jobs elif result == "exit": diff --git a/game/scripts/characters/luna/events/favors/inspect_her_body.rpy b/game/scripts/characters/luna/events/favors/inspect_her_body.rpy index f6729ffa..994925a9 100644 --- a/game/scripts/characters/luna/events/favors/inspect_her_body.rpy +++ b/game/scripts/characters/luna/events/favors/inspect_her_body.rpy @@ -4,20 +4,18 @@ label ll_pf_inspect: - gen "{size=-4}(I think a physical examination is in order...){/size}" ("base", xpos="far_left", ypos="head") - - if ll_pf_inspect.counter < 1: + if not _events_completed_any: + gen "{size=-4}(I think a physical examination is in order...){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump luna_favor_menu + return - # Start Event - $ ll_pf_inspect.start() - - # End Event - label .end: +label ll_pf_inspect_end: # Setup stop music fadeout 2.0 @@ -41,6 +39,8 @@ label ll_pf_inspect: label ll_pf_inspect_T2_E1_intro: + call ll_pf_inspect + gen "Ready for your physical, [name_luna_genie]?" ("grin", xpos="far_left", ypos="head") lun "My physical, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Your inspection!" ("grin", xpos="far_left", ypos="head") @@ -238,7 +238,6 @@ label ll_pf_inspect_T2_E1_intro: call gen_chibi("cum_behind_desk_done") gen "*Ah*...{w=0.4}*Ah*...{w=0.4} What..." ("base", xpos="far_left", ypos="head") - lun @ cheeks blush "Cumming...{w=0.4} You came again!" ("base", "happyCl", "base", "mid") gen "*Ah*...{w=0.4} I sure did..." ("base", xpos="far_left", ypos="head") gen "Your naked body was enough for me to--" ("grin", xpos="far_left", ypos="head") @@ -248,7 +247,6 @@ label ll_pf_inspect_T2_E1_intro: gen "Like the biggest relief--" ("base", xpos="far_left", ypos="head") lun @ cheeks blush "Can I try it now?" ("smile", "wide", "base", "mid") - menu: "\"Of course!\"": lun @ cheeks blush "Yay!" ("crooked_smile", "happyCl", "base", "mid") @@ -389,10 +387,12 @@ label ll_pf_inspect_T2_E1_intro: gen "(Poor girl doesn't even know how to masturbate.)" ("base", xpos="far_left", ypos="head") gen "(How did this school even function without me...)" ("base", xpos="far_left", ypos="head") - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T2_E2_intro: + call ll_pf_inspect + gen "Alright, time to give those spurts a run for their money..." ("base", xpos="far_left", ypos="head") lun "Finally!" ("clench", "narrow", "base", "down") gen "Now, are you sure you're ready for this--" ("base", xpos="far_left", ypos="head") @@ -646,10 +646,14 @@ label ll_pf_inspect_T2_E2_intro: call lun_walk(action="leave") - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T2_E3_intro: + $ states.lun.ev.inspect_her_body.t2_e3_complete = True + + call ll_pf_inspect + gen "Ready for another attempt?" ("base", xpos="far_left", ypos="head") lun "I...{w=0.3} Yes [name_genie_luna], I believe so..." ("open", "narrow", "base", "downL") @@ -969,11 +973,12 @@ label ll_pf_inspect_T2_E3_intro: else: gen "Maybe I'll find some use for this later..." ("base", xpos="far_left", ypos="head") - - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T2_E4_repeat: + call ll_pf_inspect + gen "How are you feeling, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") gen "Have those spratters been bothering you any further?" ("base", xpos="far_left", ypos="head") lun "I'm feeling a little bit better, [name_genie_luna]." ("soft", "narrow", "low", "down") @@ -1137,11 +1142,12 @@ label ll_pf_inspect_T2_E4_repeat: call lun_walk(action="leave") - - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T3_E1_repeat: + call ll_pf_inspect + gen "Would you like me to help you with--" ("base", xpos="far_left", ypos="head") lun "Yes please!" ("grin", "base", "base", "stare") @@ -1359,5 +1365,4 @@ label ll_pf_inspect_T3_E1_repeat: call lun_walk(action="leave") - - jump ll_pf_inspect.end + jump ll_pf_inspect_end diff --git a/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy b/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy index 627b7ad6..ba8c53ea 100644 --- a/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy +++ b/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy @@ -4,13 +4,15 @@ label ll_pf_masturbate: - gen "{size=-4}(*Hmm*... I wonder if I should ask Luna to masturbate in front of me...){/size}" ("base", xpos="far_left", ypos="head") - if ll_pf_masturbate.counter < 1: + if not _events_completed_any: + gen "{size=-4}(*Hmm*... I wonder if I should ask Luna to masturbate in front of me...){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump luna_favor_menu # Start Event @@ -26,10 +28,9 @@ label ll_pf_masturbate: hide screen blkfade with d5 - $ ll_pf_masturbate.start() + return - # End Event - label .end: +label ll_pf_masturbate_end: # Setup stop music fadeout 2.0 @@ -56,6 +57,8 @@ label ll_pf_masturbate: label ll_pf_masturbate_T3_E1_intro: + call ll_pf_masturbate + gen "So, have the wickerspats finally left you alone [name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "Not at all, [name_genie_luna]... In fact... They've been worse than ever." ("angry", "narrow", "base", "downL", trans=dissolve) gen "Really?" ("base", xpos="far_left", ypos="head") @@ -301,13 +304,15 @@ label ll_pf_masturbate_T3_E1_intro: $ states.lun.status.masturbating = True - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end ##Luna takes off her skirt and later on, her top. She fingers herself for the first time ##She doesn't squirt in this event, but will, druing the third event. label ll_pf_masturbate_T3_E2_intro: + call ll_pf_masturbate + gen "[name_luna_genie], tell me how you've been." ("base", xpos="far_left", ypos="head") lun "I've been okay [name_genie_luna]... But it appears the wrackspurts have come back again..." ("open", "narrow", "base", "down", trans=dissolve) gen "Oh no... Such a shame!" ("base", xpos="far_left", ypos="head") @@ -388,7 +393,6 @@ label ll_pf_masturbate_T3_E2_intro: $ luna.set_pose("hand_on_pussy_and_breast") $ luna.strip("bottom", "panties") - lun @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") lun @ cheeks blush "I've not been able to stop thinking about this since last time..." ("grin", "narrow", "base", "stare") lun @ cheeks blush "I worry those slimy wrackspurts have infested the dormitories, because I'm having trouble sleeping as well..." ("angry", "narrow", "base", "down") @@ -575,10 +579,15 @@ label ll_pf_masturbate_T3_E2_intro: gen "(What an odd girl...)" ("base", xpos="far_left", ypos="head") - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end ##Luna masturbates for Genie, naked and squirts## label ll_pf_masturbate_T3_E3_intro: + + $ states.lun.ev.play_with_yourself.t3_e3_complete = True + + call ll_pf_masturbate + gen "Alright then, time for you to--" ("base", xpos="far_left", ypos="head") lun "Finally..." ("mad", "base", "base", "mid", trans=dissolve) @@ -795,10 +804,13 @@ label ll_pf_masturbate_T3_E3_intro: call lun_walk(action="leave") - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end label ll_pf_masturbate_T3_E4_repeat: + + call ll_pf_masturbate + gen "Ready to avert the spurts?" ("base", xpos="far_left", ypos="head") lun "Avert them, [name_genie_luna]?" ("soft", "base", "base", "mid", trans=dissolve) gen "Ready to insert until you spurt and squirt?" ("base", xpos="far_left", ypos="head") @@ -1063,4 +1075,4 @@ label ll_pf_masturbate_T3_E4_repeat: $ states.lun.level = 24 call end_of_content - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end diff --git a/game/scripts/characters/luna/events/favors/talk_to_me.rpy b/game/scripts/characters/luna/events/favors/talk_to_me.rpy index e39a7e61..10c3180d 100644 --- a/game/scripts/characters/luna/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/luna/events/favors/talk_to_me.rpy @@ -4,20 +4,19 @@ label ll_pf_talk: - gen "{size=-4}(All I'll do is have a little chat with her...){/size}" ("base", xpos="far_left", ypos="head") - - if ll_pf_talk.counter < 1: + if not _events_completed_any: + gen "{size=-4}(All I'll do is have a little chat with her...){/size}" ("base", xpos="far_left", ypos="head") + menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump luna_favor_menu + return - # Start Event - $ ll_pf_talk.start() - - # End Event - label .end: +label ll_pf_talk_end: # Setup stop music fadeout 2.0 @@ -44,6 +43,8 @@ label ll_pf_talk: label ll_pf_talk_T1_E1_intro: + call ll_pf_talk + $ states.gen.masturbating = False gen "So... About the infestation..." ("base", xpos="far_left", ypos="head") @@ -174,10 +175,12 @@ label ll_pf_talk_T1_E1_intro: gen "Sure is a loony one..." ("base", xpos="far_left", ypos="head") gen "Good thing she's hot." ("base", xpos="far_left", ypos="head") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T1_E2_intro: + call ll_pf_talk + gen "Let's continue with your training." ("base", xpos="far_left", ypos="head") lun "My training, [name_genie_luna]?" ("soft", "base", "raised", "mid") gen "*Err*... To become the best and first ever spurt hunter!" ("angry", xpos="far_left", ypos="head") @@ -338,10 +341,14 @@ label ll_pf_talk_T1_E2_intro: call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T1_E3_intro: + $ states.lun.ev.talk_to_me.t1_e3_complete = True + + call ll_pf_talk + gen "Right then... Let's have another crack at this shall we." ("base", xpos="far_left", ypos="head") lun "We're going to try and expel the wrackspurts again, [name_genie_luna]?" ("soft", "base", "base", "mid") gen "That's right, [name_luna_genie]." ("base", xpos="far_left", ypos="head") @@ -525,10 +532,12 @@ label ll_pf_talk_T1_E3_intro: gen "..." ("base", xpos="far_left", ypos="head") gen "(Okay, I guess all that did just happen...)" ("base", xpos="far_left", ypos="head") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T1_E4_repeat: + call ll_pf_talk + gen "How are you feeling, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "I...{w=0.4} I'm okay..." ("open", "narrow", "base", "down") lun "But I'm still worried about this burning sensation between my legs, [name_genie_luna]." ("upset", "narrow", "base", "mid") @@ -642,10 +651,12 @@ label ll_pf_talk_T1_E4_repeat: call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T2_E1_repeat: + call ll_pf_talk + gen "Tell me some more about these spurts..." ("base", xpos="far_left", ypos="head") lun "Again, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Yes... I still don't think I'm quite done with my personal research..." ("base", xpos="far_left", ypos="head") @@ -745,10 +756,12 @@ label ll_pf_talk_T2_E1_repeat: call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T3_E1_repeat: + call ll_pf_talk + gen "Able to help me deal with those spurts again?" ("base", xpos="far_left", ypos="head") lun "Of course, what would you need me to do?" ("grin", "base", "raised", "mid") gen "Just stand there for a bit." ("base", xpos="far_left", ypos="head") @@ -908,4 +921,4 @@ label ll_pf_talk_T3_E1_repeat: call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end diff --git a/game/scripts/characters/luna/favors.rpy b/game/scripts/characters/luna/favors.rpy index 85d97a9b..9c61d9d9 100644 --- a/game/scripts/characters/luna/favors.rpy +++ b/game/scripts/characters/luna/favors.rpy @@ -1,71 +1,24 @@ -# Personal favours -default ll_pf_talk = event_class( - title = "Talk to me!", - start_label = "ll_pf_talk", - start_tier = 1, - events = [ - [# Tier 1 - ["ll_pf_talk_T1_E1_intro"], - ["ll_pf_talk_T1_E2_intro"], - ["ll_pf_talk_T1_E3_intro"], - ["ll_pf_talk_T1_E4_repeat"], - ], +default lun_ev_talk_to_me_t1_e1 = Event(id="lun_ev_talk_to_me_t1_e1", label="ll_pf_talk_T1_E1_intro", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_talk_to_me_t1_e2 = Event(id="lun_ev_talk_to_me_t1_e2", label="ll_pf_talk_T1_E2_intro", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_talk_to_me_t1_e3 = Event(id="lun_ev_talk_to_me_t1_e3", label="ll_pf_talk_T1_E3_intro", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_talk_to_me_t1_e4 = Event(id="lun_ev_talk_to_me_t1_e4", label="ll_pf_talk_T1_E4_repeat", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) +default lun_ev_talk_to_me_t2_e1 = Event(id="lun_ev_talk_to_me_t2_e1", label="ll_pf_talk_T2_E1_repeat", req="states.lun.tier == 2", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) +default lun_ev_talk_to_me_t3_e1 = Event(id="lun_ev_talk_to_me_t3_e1", label="ll_pf_talk_T3_E1_repeat", req="states.lun.tier >= 3", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) - [# Tier 2 - ["ll_pf_talk_T2_E1_repeat"], - ], +default lun_ev_inspect_her_body_t2_e1 = Event(id="lun_ev_inspect_her_body_t2_e1", label="ll_pf_inspect_T2_E1_intro", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_inspect_her_body_t2_e2 = Event(id="lun_ev_inspect_her_body_t2_e2", label="ll_pf_inspect_T2_E2_intro", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_inspect_her_body_t2_e3 = Event(id="lun_ev_inspect_her_body_t2_e3", label="ll_pf_inspect_T2_E3_intro", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_inspect_her_body_t2_e4 = Event(id="lun_ev_inspect_her_body_t2_e4", label="ll_pf_inspect_T2_E4_repeat", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False) +default lun_ev_inspect_her_body_t3_e1 = Event(id="lun_ev_inspect_her_body_t3_e1", label="ll_pf_inspect_T3_E1_repeat", req="states.lun.tier >= 3", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False) - [# Tier 3 - ["ll_pf_talk_T3_E1_repeat"], - ], - ], - iconset = [ - ["heart_empty", "heart_red"], # Tier 1 - ["heart_empty", "heart_red"], # Tier 2 - ], -) +default lun_ev_play_with_yourself_t3_e1 = Event(id="lun_ev_play_with_yourself_t3_e1", label="ll_pf_masturbate_T3_E1_intro", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_play_with_yourself_t3_e2 = Event(id="lun_ev_play_with_yourself_t3_e2", label="ll_pf_masturbate_T3_E2_intro", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_play_with_yourself_t3_e3 = Event(id="lun_ev_play_with_yourself_t3_e3", label="ll_pf_masturbate_T3_E3_intro", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_play_with_yourself_t3_e4 = Event(id="lun_ev_play_with_yourself_t3_e4", label="ll_pf_masturbate_T3_E4_repeat", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False) -default ll_pf_inspect = event_class( - title = "Inspect her body!", - start_label = "ll_pf_inspect", - start_tier = 2, - events = [ - [# Tier 2 - ["ll_pf_inspect_T2_E1_intro"], - ["ll_pf_inspect_T2_E2_intro"], - ["ll_pf_inspect_T2_E3_intro"], - ["ll_pf_inspect_T2_E4_repeat"], - ], - - [# Tier 3 - ["ll_pf_inspect_T3_E1_repeat"], - ], - ], - iconset = [ - ["heart_empty", "heart_red"], # Tier 2 - ], -) - -default ll_pf_masturbate = event_class( - title = "Play with yourself!", - start_label = "ll_pf_masturbate", - start_tier = 3, - events = [ - [# Tier 3 - ["ll_pf_masturbate_T3_E1_intro"], - ["ll_pf_masturbate_T3_E2_intro"], - ["ll_pf_masturbate_T3_E3_intro"], - ["ll_pf_masturbate_T3_E4_repeat"], - ], - ], - iconset = [ - ["heart_empty", "heart_red"], # Tier 3 - ], -) - -default ll_favor_list = [ - ll_pf_talk, - ll_pf_inspect, - ll_pf_masturbate, -] +define luna_favors = [ + ("lun_eventqueue_talk_to_me", "Talk to me!"), + ("lun_eventqueue_inspect_her_body", "Let me inspect you!"), + ("lun_eventqueue_play_with_yourself", "Play with yourself!"), +] \ No newline at end of file diff --git a/game/scripts/characters/luna/summon.rpy b/game/scripts/characters/luna/summon.rpy index d0bcdcc7..5229db0a 100644 --- a/game/scripts/characters/luna/summon.rpy +++ b/game/scripts/characters/luna/summon.rpy @@ -82,19 +82,17 @@ label summon_luna: label update_lun_tier: if states.lun.tier == 1 and states.lun.level >= 3: - if not ll_pf_talk.is_event_complete(1, 3): + if not states.lun.ev.talk_to_me.t1_e3_complete: return $ lun_level_up = 1 elif states.lun.tier == 2 and states.lun.level >= 6: - if not ll_pf_inspect.is_event_complete(2, 3): + if not states.lun.ev.inspect_her_body.t2_e3_complete: return + $ lun_level_up = 2 elif states.lun.tier == 3 and states.lun.level >= 9: - # T4 NOT AVAILABLE - return - - if not ll_pf_masturbate.is_event_complete(3, 3): + if not states.lun.ev.play_with_yourself.t3_e3_complete: return $ lun_level_up = 3 @@ -131,8 +129,6 @@ label luna_level_up(tier=None): # Luna Favor Menu label luna_favor_menu: - call update_luna_favors - menu: "-Level Up-" (icon="interface/icons/small/levelup.webp") if lun_level_up != None: call luna_level_up(tier=lun_level_up) @@ -142,43 +138,37 @@ label luna_favor_menu: call tutorial("hearts") label .personal: - python: - menu_choices = [] - for i in ll_favor_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > states.lun.tier: - menu_choices.append(gui.menu_item("-Not Ready-", "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) - menu_choices.append(("-Never mind-", "nvm")) - result = renpy.display_menu(menu_choices) + $ result = show_events_menu(luna_favors) - if result == "nvm": + if result in ("disabled", "noncompliant"): + "You haven't unlocked this favour opportunity yet." + jump .personal + elif result == "exit": jump luna_favor_menu - elif result == "vague": - call favor_not_ready - jump .personal - elif result == "na": - call not_available - jump .personal else: - $ renpy.jump(result) + $ result.start() "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled"): + label .requests: + call not_available + + # $ result = show_events_menu(hermione_requests) + + # if result in ("disabled", "noncompliant"): + # "You haven't unlocked this request opportunity yet." + # jump .requests + # elif result == "exit": + # jump .skip_points_check + # else: + # $ result.start() + jump luna_favor_menu "-Never mind-": jump luna_requests -label update_luna_favors: - python: - for i in ll_favor_list: - i.tier = states.lun.tier - return - label luna_talk: # General. menu: diff --git a/game/scripts/characters/luna/vars.rpy b/game/scripts/characters/luna/vars.rpy index 3faba0eb..ab350cf1 100644 --- a/game/scripts/characters/luna/vars.rpy +++ b/game/scripts/characters/luna/vars.rpy @@ -40,6 +40,9 @@ default states.lun.ev.spectrespecs.e2_complete = False default states.lun.ev.spectrespecs.e3_complete = False default states.lun.ev.spectrespecs.e4_complete = False default states.lun.ev.quibbler.stocked = False +default states.lun.ev.talk_to_me.t1_e3_complete = False +default states.lun.ev.inspect_her_body.t2_e3_complete = False +default states.lun.ev.play_with_yourself.t3_e3_complete = False # Flags default lun_level_up = None diff --git a/game/scripts/events/queue.rpy b/game/scripts/events/queue.rpy index 3a1f5fb5..caf0b88f 100644 --- a/game/scripts/events/queue.rpy +++ b/game/scripts/events/queue.rpy @@ -121,7 +121,7 @@ init -1 python: _parent = None def __init__(self, id, wait=0, priority=5, daytime=None, req=None, label=None, func=None, queue="eventqueue", autoenqueue=False, autodequeue=True, - repeat=True, fail_suffixes=("_fail", "too_much", "too_much_public"), ignore_labels=[], subevents=[]): + repeat=True, fail_suffixes=("_fail", "too_much", "too_much_public"), ignore_labels=[], subevents=[], disabled=False): self.id = id self.wait = wait self.priority = priority @@ -136,6 +136,7 @@ init -1 python: self.fail_suffixes = tuple(fail_suffixes) self.ignore_labels = ignore_labels self.subevents = subevents + self.disabled = disabled for ev in subevents: getattr(store, ev)._parent = self @@ -144,7 +145,6 @@ init -1 python: self.started = False self.completed = False self.completed_failed = False - self.disabled = False if not renpy.has_label(self.label): raise Exception("Supplied label does not exist.") @@ -343,16 +343,17 @@ init -1 python: if ( ev := queue.next()) and ev.requirements_met(): action = queue - else: + elif ( ev := queue.next()) and ev.disabled: action = "disabled" + else: + action = "noncompliant" _kwargs = {} - if report_progress: - _kwargs = {"progress": icons} - - if action == "disabled": + if action in ("disabled", "noncompliant"): _kwargs["style"] = "disabled" + elif report_progress: + _kwargs = {"progress": icons} location = renpy.game.context().current choice = ui.ChoiceReturn(title, action, location, kwargs=_kwargs)