Houston, we have a problem.
The dev has implemented 28 "random" style menu choices via code she obviously didn't create herself.
An example:
Python:
$ ep06_oilapply = random_menu(
None, None, None,
[
(not ep06_oil_back, "Back", "ep06_ambernight_app_back"),
(not ep06_oil_legs, "Legs", "ep06_ambernight_app_legs"),
(not ep06_oil_feet, "Feet", "ep06_ambernight_app_feet"),
]
)
if ep06_rub == "ep06_ambernight_rub_back":
jump ep06_ambernight_app_back
elif ep06_rub == "ep06_ambernight_rub_legs":
jump ep06_ambernight_app_legs
elif ep06_rub == "ep06_ambernight_rub_feet":
jump ep06_ambernight_app_feet
The problem is that SanchoMod's guide Python code is setup for standard RenPy context menu choices that call a specific language menu choice screen.
An example:
Python:
menu:
"Lock the Door":
mc_s "Okay, okay. Let's lock the door then."
amb "I'm sure [mo_r] knows what we're up to anyway."
mc_s "Yeah, but let's not make it obvious."
pass
"Leave and Avoid Awkwardness":
mc_s "Uhm... I don't know, Amber... I can't."
...
This "random" function requests a list for it's input. SanchoMod's guide is a multi-function coded app on it's own, not a list. So, I have to figure out a way to recode these damn random menu choices. It's stupid really as that very first example could have simply be written the standard RenPy way such as:
Python:
menu:
"Back" if not ep06_oil_back:
jump ep06_ambernight_app_back
"Legs" if not ep06_oil_legs:
jump ep06_ambernight_app_legs
"Feet" if not ep06_oil_feet:
jump ep06_ambernight_app_feet
I can only assume she did this 'cause she either doesn't know that RenPy menu choices can work of conditionals (like my final example) or she just wanted to jumble the order of the choices up for no real apparent reason. I have no idea... but this a massive new delay I did not see coming from a mile away.
This won't be a quick fix... and I'm not about to recode all those damn menu choices and those in the future, fuck that. With the mod being created for the huge price of free I don't think I bank enough to waste that much time so I must think of a way via code to inject into that random menu function nonsense.
That function is exactly this for those who are code literate:
Python:
def random_menu(character=None, character_dialogue=None, prompt=None, options=[]):
shuffled_options = list(options)
renpy.random.shuffle(shuffled_options)
menu_items = [
(label, action)
for condition, label, action in shuffled_options
if condition
]
if prompt is not None:
menu_items.insert(0, (prompt, None))
if character and character_dialogue:
renpy.say(character, character_dialogue)
return renpy.display_menu(menu_items)
Fuck my life... no, fuck this VN, my life is fine. But now I need another drink...