diff --git a/game/audio/teleport.opus b/game/audio/teleport.opus new file mode 100644 index 0000000..3213bfb Binary files /dev/null and b/game/audio/teleport.opus differ diff --git a/game/audio/time travel.mp3 b/game/audio/time travel.mp3 new file mode 100644 index 0000000..99fbfc1 Binary files /dev/null and b/game/audio/time travel.mp3 differ diff --git a/game/images/bg white.png b/game/images/bg white.png new file mode 100644 index 0000000..9fb3440 Binary files /dev/null and b/game/images/bg white.png differ diff --git a/game/screens/history_screen.rpy b/game/screens/history_screen.rpy index 259c197..a385f53 100644 --- a/game/screens/history_screen.rpy +++ b/game/screens/history_screen.rpy @@ -33,21 +33,24 @@ screen history(): frame: has hbox - if h.who: - label h.who style 'history_name': - substitute False - ## Take the color of the who text - ## from the Character, if set - if "color" in h.who_args: - text_color h.who_args["color"] - xsize 200 # this number and the null width - # number should be the same - else: - null width 200 + vbox: + if h.who: + label h.who style 'history_name': + substitute False + ## Take the color of the who text + ## from the Character, if set + if "color" in h.who_args: + text_color h.who_args["color"] + xsize 200 # this number and the null width + # number should be the same + else: + null width 200 - $ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags) - text what: - substitute False + $ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags) + text what: + substitute False + + textbutton "Copy to Clipboard" action CopyToClipboard(what) if not _history_list: label _("The dialogue history is empty.") diff --git a/game/script.rpy b/game/script.rpy index 55dd013..10bc7bc 100644 --- a/game/script.rpy +++ b/game/script.rpy @@ -25,22 +25,157 @@ define yumemi = Character("Yumemi", callback = name_callback, cb_name = "yumemi" define janitor = Character("Totally Normal Janitor", callback = name_callback, cb_name = "yumemi") define narrator = Character(callback = name_callback, cb_name = None) -define longfade = Fade(0, 0.5, 3) -# Camera flash - quickly fades to white, then back to the scene. -define flash = Fade(0.1, 0.0, 0.5, color="#fff") -define longflash = Fade(0.1, 1, 1, color="#fff") - init python: def truncate(n, decimals=0): multiplier = 10 ** decimals return int(n * multiplier) / multiplier +# Special player menus # +screen time_travel_display_toggle: + zorder 200 + frame: + background "#000000cc" + xalign 0.05 + yalign 0.0 + + textbutton "TT": + action ToggleScreen("time_travel_device") + + on "hide" action Hide("inventory_item_description") + +screen time_travel_device: + modal True + window: + background "#000000cc" + xsize 800 + ysize 150 + xalign 0.5 + yalign 0.1 + text "To when, will Yuuka go?": + xfill True + yfill True + + window: + background "#000000cc" + xsize 1250 + ysize 450 + xalign 0.5 + yalign 0.5 + vbox: + box_wrap True + box_wrap_spacing 10 + spacing 10 + xoffset 20 + textbutton "After First Lecture": + action Jump("TT_FirstLecture") + textbutton "After Consultations": + action Jump("TT_Consultations") + textbutton "After Exam Day": + action Jump("TT_ExamDay") + textbutton "After Final Presentation": + action Jump("TT_FinalPresentation") + + + on "hide" action SetVariable("item_description", "") + +define longfade = Fade(0, 0.5, 3) + +# Camera flash - quickly fades to white, then back to the scene. +define flash = Fade(0.1, 0.0, 0.5, color="#fff") + +define longflash = Fade(0.1, 1, 1, color="#fff") + + +label TT_FirstLecture: + stop music + stop sound + play sound "teleport.opus" + scene bg black with fade + scene bg hallway with longflash + play sound "teleport.opus" + $ day = 1 + $ time_traveling = True + $ renpy.pause(4.0) + if(first_time_traveling_through_time): + yuuka "Woah! Fuck." + + yuuka "This thing really works? Huh." + + yuuka "..." + $ first_time_traveling_through_time = False + jump hallway + return + +label TT_Consultations: + stop music + stop sound + play sound "teleport.opus" + scene bg black with fade + scene bg hallway with longflash + play sound "teleport.opus" + $ day = 2 + $ time_traveling = True + $ renpy.pause(4.0) + if(first_time_traveling_through_time): + yuuka "Woah! Fuck." + + yuuka "This thing really works? Huh." + + yuuka "..." + $ first_time_traveling_through_time = False + jump hallway + return + +label TT_ExamDay: + stop music + stop sound + play sound "teleport.opus" + scene bg black with fade + scene bg hallway with longflash + play sound "teleport.opus" + $ day = 3 + $ time_traveling = True + $ renpy.pause(4.0) + if(first_time_traveling_through_time): + yuuka "Woah! Fuck." + + yuuka "This thing really works? Huh." + + yuuka "..." + $ first_time_traveling_through_time = False + jump hallway + return + +label TT_FinalPresentation: + stop music + stop sound + play sound "teleport.opus" + scene bg black with fade + scene bg hallway with longflash + play sound "teleport.opus" + $ day = 4 + $ time_traveling = True + $ renpy.pause(4.0) + if(time_travel_without_choice): + yuuka "Hold, hold, hold on I." + + yuuka "What?" + + yuuka "Okay, okay. I think I've gotten a hold of myself." + + yuuka "I'm not sure if I can keep track of what's happened and what hasn't so this is going to be... confusing." + + yuuka "But I think I remember enough." + $ time_travel_without_choice = False + jump hallway + return + # inventory system taken from a deranged reddit post # https://www.reddit.com/r/RenPy/comments/wanes3/how_to_do_an_inventory_system/ii2vp6i/ screen inventory_display_toggle: zorder 200 frame: - background "#0000008c" + background "#000000cc" xalign 0.0 yalign 0.0 @@ -51,7 +186,7 @@ screen inventory_display_toggle: # inventory item descriptions -default item_descriptions = {"Chococlate" : "Yum!"} +default item_descriptions = {"Strange Device" : "Keychain-sized, has an Outside World look to it.", "Keycard" : "Given by that stranger I never got a look at..."} default inventory_items = [] default item_description = "" @@ -74,7 +209,7 @@ screen inventory_item_description: # use this based on your preference modal True window: - background "#0000008c" + background "#000000cc" xsize 600 ysize 150 xalign 0.5 @@ -84,7 +219,7 @@ screen inventory_item_description: yfill True window: - background "#0000008c" + background "#000000cc" xsize 1290 ysize 600 xalign 0.5 @@ -105,7 +240,6 @@ screen inventory_item_description: on "hide" action SetVariable("item_description", "") label splashscreen: - scene movie1 scene black python: @@ -563,9 +697,19 @@ init python: alice_progress = 0 marisa_progress = 0 yumemi_progress = 0 + time_traveling = False + asked_office_location = False + did_not_submit_passcode = False + has_correct_passcode = False + chose_reimu_question = False + first_time_traveling_through_time = True + time_travel_without_choice = True label start: + if hedgehog_dilemma_solved.has() or they_have_your_back.has() or she_has_your_back.has(): + jump intro + label laozi: scene bg black stop music @@ -579,7 +723,6 @@ label start: $ persistent.laozi = True $ renpy.save_persistent() - # show text " {font=m3x6.ttf}For this reason the great man dwells in the thick, and does not rest with the thin.{/font}\n{font=m6x11.ttf}He dwells in the {color=#cc2222}fruit{/color}, and does not rest with the {color=#ffff00}flower{/font}{/color}.\n {font=m3x6.ttf}- Laozi, Tao Te Ching{/font}" at truecenter show text "{alpha=0.2}For this reason the great man dwells in the thick, and does not rest with the thin.{/alpha}\nHe dwells in the {color=#cc2222}fruit{/color}, and does not rest with the {color=#ffff00}flower{/color}.\n {alpha=0.6}- Laozi, Tao Te Ching{/alpha}" at truecenter with dissolve $ renpy.pause(6) @@ -678,7 +821,9 @@ label start: yuuka "You all may know me as the substitute this past week for Professor Okazaki." - # show screen inventory_display_toggle + # if config.developer: + # show screen time_travel_display_toggle + # show screen time_travel_display_toggle # $ inventory_items.append("Chocolate") hide yuuka_look @@ -727,36 +872,73 @@ label start: yuuka "What the hell am I looking at?" - yuuka "{i}Spring. It was the season for blooming petals, and I had come to one of my second-favorite flower fields in Gensokyo.{/i}" (cb_name="") + if hedgehog_dilemma_solved.has() or they_have_your_back.has() or she_has_your_back.has(): - yuuka "This used to be a gorgeous field of sunflowers, flowering red buckwheat, growing ever so softly towards the sky blue." + # forced time travel - show yuuka irritated unmarked: - ease 1.8 ypos 1180 + yuuka "{i}Spring. It was the season for blooming petals, and I had come to one of my second-favorite flower fields in Gensokyo.{/i}" (cb_name="") - yuuka "Tell me fallen fauna, by whose footsoles were you trampled?" + yuuka "{i}But this time, and I do mean this time my dear audience, I found something more than just a trashed field.{/i}" (cb_name="") - window hide - $ renpy.pause(1.5) - # play a wind sound + show yuuka irritated unmarked: + ease 1.8 ypos 1180 - show yuuka irritated unmarked: - ease 1.6 ypos 1080 + yuuka "What a confoundingly shaped device." - yuuka "Sent by a scientist you say? I think I might know who this is." + yuuka "It reads: {i}\"When does Yuuka want to go?\{/i}" - yuuka "Very well, then." + yuuka "Is this some kind of prank? Because-" - yuuka "I will have to wait until the next spring to enjoy your company, young flowers." + scene bg white with flash - show yuuka happy: - ease 1.6 ypos 1080 + yuuka "{i}And then at that instant I remember it, in flashes and not always clearly but, the future.{/i}" (cb_name="") - yuuka "In the meantime, I think that woman's {sc}bones{/sc} would make for good fertilizer." + yuuka "{i}The future that had already happened.{/i}" (cb_name="") + + yuuka "W-wha-{nw}" + + yuuka "{i}And then I woke up after this presentation ended. Or will end, I suppose.{/i}" (cb_name="") + + show screen time_travel_display_toggle + show screen inventory_display_toggle + $ inventory_items.append("Strange Device") + + jump TT_FinalPresentation + + else: + + yuuka "{i}Spring. It was the season for blooming petals, and I had come to one of my second-favorite flower fields in Gensokyo.{/i}" (cb_name="") + + yuuka "This used to be a gorgeous field of sunflowers, flowering red buckwheat, growing ever so softly towards the sky blue." + + show yuuka irritated unmarked: + ease 1.8 ypos 1180 + + yuuka "Tell me fallen fauna, by whose footsoles were you trampled?" + + window hide + $ renpy.pause(1.5) + # play a wind sound + + show yuuka irritated unmarked: + ease 1.6 ypos 1080 + + yuuka "Sent by a scientist you say? I think I might know who this is." + + yuuka "Very well, then." + + yuuka "I will have to wait until the next spring to enjoy your company, young flowers." + + show yuuka happy: + ease 1.6 ypos 1080 + + yuuka "In the meantime, I think that woman's {sc}bones{/sc} would make for good fertilizer." # TODO: Check if we can remove this because its only here for devmode to fix a softlock - if config.developer: - $ day = 0 + # if config.developer: + # $ day = 0 + + $ day = 0 label entrance: scene bg entrance with fade @@ -801,6 +983,8 @@ label start: $ attacked_student = True + $ marisa_progress += 1 + show yuuka irritated unmarked: xalign 0.0 yalign 0.5 @@ -1522,9 +1706,13 @@ label start: alice "Look, this is the first time I've seen you talk with humans without it being some kind of underlying threat or overlying threat. This could be good for you." + alice "And besides, even if she isn't here this is HER school. Her possessions, her office, they'd all be here. If you're going on a crusade, why leave?" + yuuka "I..." - alice "Before anything else, it's a week. Just a week. At least come in tomorrow and give it a shot?" + alice "Before anything else, I have one last thing to say." + + alice "It's a week. Just a week. At least come in tomorrow and give it a shot?" yuuka "..." @@ -1612,7 +1800,7 @@ label start: jump lecture - "Sunflowers {i}(scheming){/}": + "Sunflowers {i}(scheming){/i}": yuuka "Oh fine then. Alice is so insistent on me interacting with weaklings? Sure, no problems here." yuuka "Especially, if I get a chance to shut them up." @@ -1846,30 +2034,42 @@ label start: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." return - -# side character stuff here +# TODO: SKIPPING THE YUUKA PART OF THE STAGE DIRECTIONS IN THIS AREA FOR NOW +# side character stuff here and the puzzle label hallway: + + scene bg hallway with fade + if day == 1: # TODO # TEXT Y - # STAGE N + # STAGE Y # VAR Y $ did_not_visit_faculty = True - $ did_not_visit_audiotorium = True + $ did_not_visit_auditorium = True $ did_not_visit_classroom = True - yuuka "What a waste of time." + if(time_traveling): + yuuka "Back here, huh?" + else: + yuuka "What a waste of time." label hallway_navigation: + scene bg hallway with fade + menu: "Where does Yuuka go?" "Exit school": + + scene bg black with fade + if did_not_visit_classroom: + yuuka "{i}And leave I did.{/i}" (cb_name="") yuuka "{i}I vowed to return.{/i}" (cb_name="") @@ -1916,24 +2116,55 @@ label hallway: jump day_transition "Go to the faculty room" if did_not_visit_faculty: - "" + + scene bg faculty with fade + $ did_not_visit_faculty = False - "Faculty Member" "Ah, looking for something?" + if(not asked_office_location): + + "Faculty Member" "Ah, looking for something?" + + yuuka "I was just wondering where Professor Okazaki's teaching materials are, I was hoping to take a look at them." + + yuuka "{i}And destroy it so I'd see the look on her face when she returns.{/i}" + + "Faculty Member" "She didn't share it with you? Odd, but she has her own office." + + "Faculty Member" "It's around the corner, behind a keypad. Did she tell you the passcode?" + + yuuka "No, I believe I was too late to catch her before she left." + + "Faculty Member" "Well that's a shame, for all she gushes about her new phone, she's a difficult person to contact." + + "Faculty Member" "You'd know her better than me, probably. It's a four-digit code, can't be that hard to guess right?" + + yuuka "...sure." + + $ asked_office_location = True + else: + yuuka "Nothing of importance here." - # explains the exam thing jump hallway_navigation - "Go to the audiotorium" if did_not_visit_audiotorium: - "" + "Go to the auditorium" if did_not_visit_auditorium: - show screen inventory_display_toggle - $ inventory_items.append("Chocolate THIS IS A TEST") + scene bg auditorium with fade - $ did_not_visit_audiotorium = False + yuuka "{i}It's where we are now. But at the time, it was empty.{/i}" (cb_name="") + + yuuka "Nothing of importance here." + + # show screen inventory_display_toggle + # $ inventory_items.append("Chocolate THIS IS A TEST") + + $ did_not_visit_auditorium = False jump hallway_navigation "Go to her classroom" if did_not_visit_classroom: + + scene bg classroom with fade + yuuka "{i}I walked over to the classroom, opening the door.{/i}" (cb_name="") yuuka "Empty." @@ -1942,6 +2173,8 @@ label hallway: # reimu appears + show reimu serious with dissolve + yuuka "Oh. It's you." yuuka "{i}She rolled her eyes at that one.{/i}" (cb_name="") @@ -1974,10 +2207,14 @@ label hallway: reimu "It was a passing sensation, just an instant, nearly nothing really." + show reimu happy + reimu "Still, I'm looking forward to you next class." yuuka "...I see. Thank you for telling me that, Reimu." + hide reimu with dissolve + yuuka "{i}And then I left without waiting for a response, her footsteps in the opposite direction from mine.{/i}" (cb_name="") $ did_not_visit_classroom = False @@ -1986,82 +2223,687 @@ label hallway: "Wait here" if janitor_talks == 0: - $ janitor_talks += 1 + $ janitor_talks = 1 - yuuka "It's exhausting, hamming it up for so many people." + if("Keycard" in inventory_items): + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + jump hallway_navigation - yuuka "{i}I stood there, learning against a wall, not sure what I was waiting for when a cup of tea with my name was at home.{/i}" (cb_name="") + if(has_correct_passcode): - "???" "Hm, you tha' new substitute teacher?" + show yumemi disguise with dissolve - yuuka "{i}I, of course, did not deign to turn my head to look at whoever was talking to me.{/i}" (cb_name="") + janitor "Hey youngster." - "???" "You younguns', tsk, tsk. No respect for 'ur elders." + janitor "Looks like you've been workin' hard huh? Or hardly workin'?" - # TODO: Yumemi in bad janitor disguise appears + yuuka "Har, har." - janitor "Ya mind standin' somewhere else so I can clean?" + show screen inventory_display_toggle + $ inventory_items.append("Keycard") - yuuka "..." + janitor "Anyhow, here ya go." - janitor "Suit 'urself, whippersnapper." + hide yumemi with dissolve + + yuuka "?" + + yuuka "Hold on, this is!" + + yuuka "Wait, where'd she go?" + + else: + + yuuka "It's exhausting, hamming it up for so many people." + + yuuka "{i}I stood there, learning against a wall, not sure what I was waiting for when a cup of tea with my name was at home.{/i}" (cb_name="") + + janitor "Hm, you tha' new substitute teacher?" + + show yumemi disguise with dissolve + + yuuka "{i}I, of course, did not deign to turn my head to look at whoever was talking to me.{/i}" (cb_name="") + + "???" "You younguns', tsk, tsk. No respect for 'ur elders." + + # TODO: Yumemi in bad janitor disguise appears + + janitor "Ya mind standin' somewhere else so I can clean?" + + yuuka "..." + + janitor "Suit 'urself, whippersnapper." # janitor leaves jump hallway_navigation - elif day == 2: + + "Go to Yumemi's office" if did_not_submit_passcode and asked_office_location: + + scene bg hallway at flip with fade + + if(time_traveling): + yuuka "Here we are again." + yuuka "I better pick carefully." + else: + yuuka "Here we are." + yuuka "Gotta say, it looks like any other door I've seen. Except for the keypad that is." + + menu: + "Does Yuuka enter a passcode?" + + "Yes.": + $ passcode_attempt = renpy.input("ENTER FOUR DIGIT PASSCODE", allow="0123456789", length=4) + if(passcode_attempt == "0110"): + $ has_correct_passcode = True + yuuka "And ...it hasn't locked out on me yet." + "SCAN KEYCARD TO COMPLETE ENTRY" + if("Keycard" in inventory_items): + yuuka "Scan it... how do you make this dreadful thing work?" + + yuuka "Uh huh, uh, okay. There we go." + + "KEYCARD CORRECT" + + "WELCOME PROFESSOR OKAZAKI" + + scene bg black + + yuuka "{i}Now I won't spoil exactly what I saw in that office but I will say.{/i}" (cb_name="") + + yuuka "{i}In addition to finding the exam data, stored in some kind of machinery that I deigned not to try to understand,{/i}" (cb_name="") + + yuuka "{i}Which is to say that I smashed it to little metal bits with great delight.{/i}" (cb_name="") + + yuuka "{i}There was also an intriguing absence of any time machine device, save for an opened safe that looked like it could've stored the device I hold now.{/i}" (cb_name="") + + yuuka "{i}Now, I'm not one for paradoxes...{/i}" (cb_name="") + + yuuka "{i}...{/i}" (cb_name="") + + yuuka "{i}And that's all I have to say on that subject.{/i}" (cb_name="") + + jump finale + else: + yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" + + yuuka "Fuck this. I'm out." + else: + if(time_traveling): + yuuka "And... crap." + yuuka "Wrong again." + else: + yuuka "And that should be... wrong. Great." + yuuka "Oh, and would you look at that, it's locked me out. Wonderful." + yuuka "Damn it, that might've been my only try at this." + yuuka "Fine then, maybe I ought to pivot to focusing on Yumemi herself instead of bothering with what she owns." + yuuka "...or I could bust this door down." + yuuka "Nah, saying it out loud makes it obvious that's just asking for people to turn on me. I'll find another approach to this." + + "No, not yet.": + jump hallway_navigation + + jump hallway_navigation + elif day == 2: # consultations + # TODO + # TEXT Y + # STAGE Y + # VAR Y + + $ did_not_visit_faculty = True + + $ did_not_visit_auditorium = True + + $ did_not_visit_classroom = True + + if(time_traveling): + yuuka "Consultations, right. That's how I found out I wasn't even teaching the same subject as Yumemi." + else: + yuuka "I need to talk to the other teachers." + label hallway_navigation2: + scene bg hallway with fade + menu: "Where does Yuuka go?" "Exit school": - "" - $ next_label = "faculty" + if did_not_visit_faculty: + yuuka "I can't yet." + jump hallway_navigation2 + else: + + scene bg black with fade + + yuuka "I went home." + + $ day = 3 + + $ next_label = "exam" + jump day_transition "Go to the faculty room" if did_not_visit_faculty: - "" - jump hallway_navigation - "Go to the audiotorium" if did_not_visit_audiotorium: - "" - jump hallway_navigation + scene bg faculty with fade + + # yuuka petitions that they revise the exam + # they explain that its yumemi's exam materials that are printed wirelessly but if she wants to rewrite them individually and manually she's free to do so + # she holds that they should all do it + + if(not asked_office_location): + + "Faculty Member" "Ah, looking for something?" + + yuuka "I was just wondering where Professor Okazaki's teaching materials are, I was hoping to take a look at them." + + yuuka "{i}And destroy it so I'd see the look on her face when she returns.{/i}" + + "Faculty Member" "She didn't share it with you? Odd, but she has her own office." + + "Faculty Member" "It's around the corner, behind a keypad. Did she tell you the passcode?" + + yuuka "No, I believe I was too late to catch her before she left." + + "Faculty Member" "Well that's a shame, for all she gushes about her new phone, she's a difficult person to contact." + + "Faculty Member" "You'd know her better than me, probably. It's a four-digit code, can't be that hard to guess right?" + + yuuka "...sure." + + yuuka "I have another concern actually." + + $ asked_office_location = True + else: + "Faculty Member" "Ah, Miss... uh-" + + yuuka "We need to make some last-minute adjustments to the exam." + + "Faculty Member" "Adjustments?" + + yuuka "To incorporate some recent curriculum changes." + + "Faculty Member" "It's quite late for those but even if we wanted to, the exams are automatically printed by Professor Okazaki's wireless printer." + + "Faculty Member" "Given she's not here, it's too late to make any changes." + + yuuka "But, we have pens and blank paper, yes?" + + "Faculty Member" "Yes, but I'm not sure what you're getting at?" + + yuuka "We write up the exam by hand." + + "Faculty Member" "That would take terribly long." + + yuuka "Well..." + + show yuuka rage with easeinbottom + + yuuka "{sc}WE{/sc} better get started." + + $ day = 3 + + $ next_label = "exam" + + $ did_not_visit_faculty = False + + jump day_transition + + "Go to the auditorium" if did_not_visit_auditorium: + + # another scene with reimu + + scene bg auditorium with fade + + yuuka "...no one here." + + yuuka "" + + "???" "We seem to running into each other a lot." + + show reimu serious with dissolve + + yuuka "It's a school. I'm not sure we could avoid each other if we tried." + + reimu "I'm sure you'd manage." + + yuuka "How was the lecture today?" + + if chose_reimu_question: + + show reimu happy + + reimu "Good. I think I got some clarification into what exactly we're learning." + + yuuka "And what are you learning exactly?" + + show reimu sleepy + + reimu "Not quite what you think we are." + + yuuka "?" + + reimu "What about poor Marisa though? She had her own question." + + yuuka "Knowing her it'd be inane. Besides..." + + else: + + show reimu concerned + + reimu "I'm a bit sad I didn't get my question answered." + + yuuka "Well I can't exactly bend to all of your wills at once now can I?" + + yuuka "I'm rather outnumbered, you must understand. Would you think cutting a few down to size could help with that?" + + show reimu sleepy + + reimu "Don't go for Marisa. She needs the blood to live." + + yuuka "And you don't?" + + reimu "I'll borrow some from Marisa." + + yuuka "I don't suppose us, youkai count for that then." + + show reimu happy + + reimu "I'm sure a little pain can't hurt." + + yuuka "It most assuredly can and does. And bisecting a person into two isn't a little." + + reimu "Not for most." + + "..." + + yuuka "You're not going to ask about the exams?" + + reimu "I'm... choosing to trust you on this." + + reimu "For now." + + yuuka "Thank you, Reimu." + + show reimu sleepy + + reimu "No problem." + + $ did_not_visit_auditorium = False + $ reimu_progress += 1 + jump hallway_navigation2 "Go to her classroom" if did_not_visit_classroom: - "" - jump hallway_navigation - "Wait here" if janitor_talks == 0: - "" - jump hallway_navigation + scene bg classroom with fade + + # a scene with alice + + show alice happy at flip with dissolve + + yuuka "Fancy seeing you here." + + show alice surprise at unflip + + alice "Oh!" + + show alice happy + + alice "Nice to see you too, Yuuka." + + yuuka "Mhm." + + narrator "..." + + alice "You know, if you have a question to ask, you can always ask me." + + yuuka "You can tell?" + + show alice neutral + + alice "I've been around you long enough to." + + show alice angry + + alice "Sometimes you act before you think, but other times you just don't know who to talk to." + + show alice happy + + alice "If it's about the exam, the flower field, or anything at all you can always ask." + + yuuka "I... thank you." + + yuuka "I'll think about it." + + show alice neutral + + alice "That's good." + + yuuka "And you? Is there anything you'd want to share with me?" + + show alice happy + + alice "...not at the moment." + + yuuka "Then, I'll be seeing you tomorrow, Alice." + + alice "Goodbye, Yuuka." + + $ did_not_visit_classroom = False + $ alice_progress += 1 + jump hallway_navigation2 + + "Wait here" if janitor_talks < 2: + + $ janitor_talks = 2 + + if("Keycard" in inventory_items): + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + jump hallway_navigation + + if(has_correct_passcode): + + show yumemi disguise with dissolve + + janitor "Hey youngster." + + janitor "Looks like you've been workin' hard huh? Or hardly workin'?" + + yuuka "Har, har." + + show screen inventory_display_toggle + $ inventory_items.append("Keycard") + + janitor "Anyhow, here ya go." + + hide yumemi with dissolve + + yuuka "?" + + yuuka "Hold on, this is!" + + yuuka "Wait, where'd she go?" + + else: + + janitor "Ya ever see anything like it?" + + show yumemi disguise with dissolve + + yuuka "{i}Caught up in my own waiting I did not respond.{/i}" (cb_name="") + + janitor "When the students are out, this place's a lot prettier." + + janitor "'course that's cause of me." + + yuuka "..." + + janitor "See ya in January, green-hair." + + hide yumemi with dissolve + + yuuka "Classes don't even end in J-" + + yuuka "And she's gone." + + jump hallway_navigation2 + "Go to Yumemi's office" if did_not_submit_passcode and asked_office_location: + + scene bg hallway at flip with fade + + if(time_traveling): + yuuka "Here we are again." + yuuka "I better pick carefully." + else: + yuuka "Here we are." + yuuka "Gotta say, it looks like any other door I've seen. Except for the keypad that is." + + menu: + "Does Yuuka enter a passcode?" + + "Yes.": + $ passcode_attempt = renpy.input("ENTER FOUR DIGIT PASSCODE", allow="0123456789", length=4) + if(passcode_attempt == "0110"): + $ has_correct_passcode = True + yuuka "And ...it hasn't locked out on me yet." + "SCAN KEYCARD TO COMPLETE ENTRY" + if("Keycard" in inventory_items): + yuuka "Scan it... how do you make this dreadful thing work?" + + yuuka "Uh huh, uh, okay. There we go." + + "KEYCARD CORRECT" + + "WELCOME PROFESSOR OKAZAKI" + + scene bg black + + yuuka "{i}Now I won't spoil exactly what I saw in that office but I will say.{/i}" (cb_name="") + + yuuka "{i}In addition to finding the exam data, stored in some kind of machinery that I deigned not to try to understand,{/i}" (cb_name="") + + yuuka "{i}Which is to say that I smashed it to little metal bits with great delight.{/i}" (cb_name="") + + yuuka "{i}There was also an intriguing absence of any time machine device, save for an opened safe that looked like it could've stored the device I hold now.{/i}" (cb_name="") + + yuuka "{i}Now, I'm not one for paradoxes...{/i}" (cb_name="") + + yuuka "{i}...{/i}" (cb_name="") + + yuuka "{i}And that's all I have to say on that subject.{/i}" (cb_name="") + + jump finale + else: + yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" + + yuuka "Fuck this. I'm out." + else: + if(time_traveling): + yuuka "And... crap." + yuuka "Wrong again." + else: + yuuka "And that should be... wrong. Great." + yuuka "Oh, and would you look at that, it's locked me out. Wonderful." + yuuka "Damn it, that might've been my only try at this." + yuuka "Fine then, maybe I ought to pivot to focusing on Yumemi herself instead of bothering with what she owns." + yuuka "...or I could bust this door down." + yuuka "Nah, saying it out loud makes it obvious that's just asking for people to turn on me. I'll find another approach to this." + + "No, not yet.": + jump hallway_navigation elif day == 3: + # TODO + # TEXT N + # STAGE N + # VAR N + + $ did_not_visit_faculty = True + + $ did_not_visit_auditorium = True + + $ did_not_visit_classroom = True + + if(time_traveling): + yuuka "Back to exam day." + else: + yuuka "They seemed to enjoy that exam. I'm... I'm glad." + label hallway_navigation3: + + scene bg hallway with fade + menu: "Where does Yuuka go?" "Exit school": - "" + yuuka "{i}Of course, I went home.{/i}" (cb_name="") + + yuuka "{i}I had to be up and rested for today.{/i}" (cb_name="") + + yuuka "{i}Let's run through said day, shall we?{/i}" (cb_name="") + + $ day = 4 + $ next_label = "penultimate_presentation" jump day_transition "Go to the faculty room" if did_not_visit_faculty: "" - jump hallway_navigation + jump hallway_navigation3 - "Go to the audiotorium" if did_not_visit_audiotorium: + "Go to the auditorium" if did_not_visit_auditorium: "" - jump hallway_navigation + jump hallway_navigation3 "Go to her classroom" if did_not_visit_classroom: "" - jump hallway_navigation + jump hallway_navigation3 - "Wait here" if janitor_talks == 0: - "" - jump hallway_navigation + "Wait here" if janitor_talks < 3: + + $ janitor_talks = 3 + + if("Keycard" in inventory_items): + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + jump hallway_navigation + + if(has_correct_passcode): + + show yumemi disguise with dissolve + + janitor "Hey youngster." + + janitor "Looks like you've been workin' hard huh? Or hardly workin'?" + + yuuka "Har, har." + + show screen inventory_display_toggle + $ inventory_items.append("Keycard") + + janitor "Anyhow, here ya go." + + hide yumemi with dissolve + + yuuka "?" + + yuuka "Hold on, this is!" + + yuuka "Wait, where'd she go?" + + else: + + janitor "So it's over, aye?" + + show yumemi disguise with dissolve + + yuuka "You enjoy soliciting conversations from strangers, much?" + + yuuka "{i}In my attempt to ignore this person, I kept my eyes closed.{/i}" (cb_name="") + + janitor "Only the pretty ones." + + janitor "Ah, that's harassment ain't it? Professor Okazak's gonna have my head." + + yuuka "..." + + janitor "Don't tell, nobody, yea?" + + hide yumemi with dissolve + + yuuka "Irritance." + + jump hallway_navigation3 + "Go to Yumemi's office" if did_not_submit_passcode and asked_office_location: + + scene bg hallway at flip with fade + + if(time_traveling): + yuuka "Here we are again." + yuuka "I better pick carefully." + else: + yuuka "Here we are." + yuuka "Gotta say, it looks like any other door I've seen. Except for the keypad that is." + + menu: + "Does Yuuka enter a passcode?" + + "Yes.": + $ passcode_attempt = renpy.input("ENTER FOUR DIGIT PASSCODE", allow="0123456789", length=4) + if(passcode_attempt == "0110"): + $ has_correct_passcode = True + yuuka "And ...it hasn't locked out on me yet." + "SCAN KEYCARD TO COMPLETE ENTRY" + if("Keycard" in inventory_items): + yuuka "Scan it... how do you make this dreadful thing work?" + + yuuka "Uh huh, uh, okay. There we go." + + "KEYCARD CORRECT" + + "WELCOME PROFESSOR OKAZAKI" + + scene bg black + + yuuka "{i}Now I won't spoil exactly what I saw in that office but I will say.{/i}" (cb_name="") + + yuuka "{i}In addition to finding the exam data, stored in some kind of machinery that I deigned not to try to understand,{/i}" (cb_name="") + + yuuka "{i}Which is to say that I smashed it to little metal bits with great delight.{/i}" (cb_name="") + + yuuka "{i}There was also an intriguing absence of any time machine device, save for an opened safe that looked like it could've stored the device I hold now.{/i}" (cb_name="") + + yuuka "{i}Now, I'm not one for paradoxes...{/i}" (cb_name="") + + yuuka "{i}...{/i}" (cb_name="") + + yuuka "{i}And that's all I have to say on that subject.{/i}" (cb_name="") + + jump finale + else: + yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" + + yuuka "Fuck this. I'm out." + else: + if(time_traveling): + yuuka "And... crap." + yuuka "Wrong again." + else: + yuuka "And that should be... wrong. Great." + yuuka "Oh, and would you look at that, it's locked me out. Wonderful." + yuuka "Damn it, that might've been my only try at this." + yuuka "Fine then, maybe I ought to pivot to focusing on Yumemi herself instead of bothering with what she owns." + yuuka "...or I could bust this door down." + yuuka "Nah, saying it out loud makes it obvious that's just asking for people to turn on me. I'll find another approach to this." + + "No, not yet.": + jump hallway_navigation elif day == 4: + # TODO + # TEXT N + # STAGE N + # VAR N + + $ did_not_visit_faculty = True + + $ did_not_visit_auditorium = True + + $ did_not_visit_classroom = True + + yuuka "I shouldn't be able to be here, should I." + + yuuka "Not normally at least." + label hallway_navigation4: + + scene bg hallway with fade + menu: "Where does Yuuka go?" @@ -2071,19 +2913,115 @@ label hallway: "Go to the faculty room" if did_not_visit_faculty: "" - jump hallway_navigation + jump hallway_navigation4 - "Go to the audiotorium" if did_not_visit_audiotorium: + "Go to the auditorium" if did_not_visit_auditorium: "" - jump hallway_navigation + jump hallway_navigation4 "Go to her classroom" if did_not_visit_classroom: "" - jump hallway_navigation + jump hallway_navigation4 - "Wait here" if janitor_talks == 0: - "" - jump hallway_navigation + "Wait here" if janitor_talks < 4: + if("Keycard" in inventory_items): + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + jump hallway_navigation + + if(has_correct_passcode): + + show yumemi disguise with dissolve + + janitor "Hey youngster." + + janitor "Looks like you've been workin' hard huh? Or hardly workin'?" + + yuuka "Har, har." + + show screen inventory_display_toggle + $ inventory_items.append("Keycard") + + janitor "Anyhow, here ya go." + + hide yumemi with dissolve + + yuuka "?" + + yuuka "Hold on, this is!" + + yuuka "Wait, where'd she go?" + else: + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + "{cps=1}...{/cps}" + + jump hallway_navigation4 + "Go to Yumemi's office" if did_not_submit_passcode and asked_office_location: + + scene bg hallway at flip with fade + + if(time_traveling): + yuuka "Here we are again." + yuuka "I better pick carefully." + else: + yuuka "Here we are." + yuuka "Gotta say, it looks like any other door I've seen. Except for the keypad that is." + + menu: + "Does Yuuka enter a passcode?" + + "Yes.": + $ passcode_attempt = renpy.input("ENTER FOUR DIGIT PASSCODE", allow="0123456789", length=4) + if(passcode_attempt == "0110"): + $ has_correct_passcode = True + yuuka "And ...it hasn't locked out on me yet." + "SCAN KEYCARD TO COMPLETE ENTRY" + if("Keycard" in inventory_items): + yuuka "Scan it... how do you make this dreadful thing work?" + + yuuka "Uh huh, uh, okay. There we go." + + "KEYCARD CORRECT" + + "WELCOME PROFESSOR OKAZAKI" + + scene bg black + + yuuka "{i}Now I won't spoil exactly what I saw in that office but I will say.{/i}" (cb_name="") + + yuuka "{i}In addition to finding the exam data, stored in some kind of machinery that I deigned not to try to understand,{/i}" (cb_name="") + + yuuka "{i}Which is to say that I smashed it to little metal bits with great delight.{/i}" (cb_name="") + + yuuka "{i}There was also an intriguing absence of any time machine device, save for an opened safe that looked like it could've stored the device I hold now.{/i}" (cb_name="") + + yuuka "{i}Now, I'm not one for paradoxes...{/i}" (cb_name="") + + yuuka "{i}...{/i}" (cb_name="") + + yuuka "{i}And that's all I have to say on that subject.{/i}" (cb_name="") + + jump finale + else: + yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" + + yuuka "Fuck this. I'm out." + else: + if(time_traveling): + yuuka "And... crap." + yuuka "Wrong again." + else: + yuuka "And that should be... wrong. Great." + yuuka "Oh, and would you look at that, it's locked me out. Wonderful." + yuuka "Damn it, that might've been my only try at this." + yuuka "Fine then, maybe I ought to pivot to focusing on Yumemi herself instead of bothering with what she owns." + yuuka "...or I could bust this door down." + yuuka "Nah, saying it out loud makes it obvious that's just asking for people to turn on me. I'll find another approach to this." + + "No, not yet.": + jump hallway_navigation else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." return @@ -2153,21 +3091,57 @@ label faculty: yuuka "Any questions class?" - narrator "A few hands went up, too many to get to all of them in the time left, though notably one of the hands belonged to Reimu." + narrator "A few hands went up, too many to get to all of them in the time left, though notably one of the hands belonged to Reimu, another to Marisa." menu: - # TODO: FILL OUT THE EXTRA CLASS "Who does Yuuka answer a question from?" "One of the normal students": + $ alice_progress += 1 + yuuka "Yes?" + "Student" "I've heard that flower arranging focuses on having the flowers mirror the sun, moon, and earth." - "" - "" + yuuka "Not really, a question but yes. It's not something I've ever used." + + yuuka "What each flower says shouldn't be limited to how we interpret it. A single petal stretches farther than the ocean beyond." + + narrator "Another hand went up." + + yuuka "Yes?" + + alice "What other than interpretation do we have then?" + + yuuka "I'm glad you asked, let me bring our conversation back to the language of flowers..." "Reimu": + $ chose_reimu_question = True $ reimu_progress += 1 - "" - "" + yuuka "Yes. Ms. Hakurei?" + reimu "Would you say that what we're doing, trying to connect with the flowers, is like what, say, a priest does with a god?" + + yuuka "Mhm, while I wouldn't say it's the exact same, there are definite parallels." + + reimu "What about gods of nature, of seasons, of... flowers? Is what we're doing talking to the flowers or to the god that might represent them?" + + yuuka "That's a matter of demarcation. I've made up my mind on this, but let me walk you through the reasoning..." + + "Marisa": + $ marisa_progress += 1 + yuuka "Yes, Ms. Kirisame?" + + marisa "So when I'm picking out flowers from the forest paths..." + + yuuka "That's a bad thing, yes, if that was your question." + + marisa "But what if I using them to make something good, like medicine?" + + yuuka "Like a disasterous alchemical explosion?" + + marisa "Or that." + + yuuka "Well... if a flower is nearing the end of its lifespan then that would be the time to consider such things." + + yuuka "But we have to be able to tell the difference between a flower whose care has been neglected and one coming to its natural end. The first will..." yuuka "{i}Soon however, exams would come.{/i}" (cb_name="") @@ -2572,10 +3546,7 @@ label faculty: yuuka "{i}I ask not for sympathy. Just an understanding.{/i}" (cb_name="") - $ next_label = "exam" - $ day += 1 - - jump day_transition + jump hallway else: yuuka "{i}The students took to it well.{/i}" (cb_name="") @@ -2591,10 +3562,7 @@ label faculty: yuuka "{i}It took a little bit of convincing but let me allow the results to speak for themselves in a moment.{/i}" (cb_name="") - $ next_label = "exam" - $ day += 1 - - jump day_transition + jump hallway # current plans: after consultations determines if there'll be a final exam at all @@ -2641,10 +3609,14 @@ label exam: reimu "Huh, uh, yeah?" + reimu "{i}Damn, I've been getting way to used to being a student.{/i}" + "Student" "Did you review Professor Okazaki's research into the soul? I'm still confused by it, I was hoping you understood it better than I did." reimu "Oh, you could explain what you know then, to make sure we're on the same page." + reimu "{i}And so I'll know what on earth you're going on about.{/i}" + "Student" "Sure!" "Student" "So the force of a magical attack is its mass measured in the weight of a soul times acceleration." @@ -2756,9 +3728,7 @@ label exam: reimu "{i}Assuming this isn't just a plot of hers.{/i}" reimu "{i}...I hope it isn't. Besides, she's more of the brute force type anyway.{/i}" - $ day += 1 - - jump penultimate_presentation + jump hallway else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." return