forked from SilverStudioGames/WTS
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
This commit is contained in:
parent
f10111bfa3
commit
d2a76938b4
@ -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":
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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!"),
|
||||
]
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user