diff --git a/game/achievements.rpy b/game/achievements.rpy index 7006e98..6b18e5f 100644 --- a/game/achievements.rpy +++ b/game/achievements.rpy @@ -104,7 +104,7 @@ define scare_tactics = Achievement( define very_loud_quitting = Achievement( name=_("Very Loud Quitting"), id="very_loud_quitting", - description=_("You forced all the faculty into quitting."), + description=_("The faculty walked out on you."), locked_image=Transform("gui/blank.png", matrixcolor=SepiaMatrix()), unlocked_image=Transform("gui/blank.png", matrixcolor=SepiaMatrix()), hidden=True, diff --git a/game/images/bg fixedfield.png b/game/images/bg fixedfield.png new file mode 100644 index 0000000..6d16fd5 Binary files /dev/null and b/game/images/bg fixedfield.png differ diff --git a/game/options.rpy b/game/options.rpy index 1203323..3a4d396 100644 --- a/game/options.rpy +++ b/game/options.rpy @@ -14,13 +14,13 @@ ## ## The _() surrounding the string marks it as eligible for translation. -define config.name = _("Jam13Yuuka") +define config.name = _("Dimly Dreamt Lotus Flowers") ## A short name for the game used for executables and directories in the built ## distribution. This must be ASCII-only, and must not contain spaces, colons, ## or semicolons. -define build.name = "Jam13Yuuka" +define build.name = "Dimly Dreamt Lotus Flowers" ## Save directory ############################################################## ## @@ -37,7 +37,7 @@ define build.name = "Jam13Yuuka" ## literal string, not an expression. ## Note: a typical save_directory value looks like "FreshProject-1671818013" -define config.save_directory = "Jam13Yuuka-1256128491" +define config.save_directory = "Jam13Yuuka-1258128491" ## The version of the game. @@ -49,7 +49,7 @@ define config.version = "1.0" define gui.about = _p("""A game created in 3 days for Touhou Fan Game Jam 13. -By Jacoder23, Shyraku, Nanossis, and hermit_irl. +By Jacoder23, Shyraku, Nanossis, hermit_irl, and Spear. Uses EasyRenPyGui and Achievements for Ren'Py both by Feniks Development Uses Renpy Auto Highlight and Kinetic Text Tags both by Wattson @@ -248,4 +248,4 @@ init python: ## The username and project name associated with an itch.io project, separated ## by a slash. -# define build.itch_project = "renpytom/test-project" +define build.itch_project = "jacoder23/dimly-dreamt-lotus-flowers" diff --git a/game/script.rpy b/game/script.rpy index 0dd80cc..df08ce1 100644 --- a/game/script.rpy +++ b/game/script.rpy @@ -7,7 +7,7 @@ # exam Y Y Y # side convos Y Y Y # sunflower talk Y Y Y -# present. endings N N N +# present. endings Y N N default persistent.pixelfont = True default persistent.laozi = False @@ -27,11 +27,6 @@ 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) -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 @@ -242,6 +237,16 @@ screen inventory_item_description: on "hide" action SetVariable("item_description", "") label splashscreen: + + image audi_front: + "bg auditorium front.png" + + image yuuka_look: + "yuuka looking eyes.png" + + image chills: + "chills.png" + scene black python: @@ -710,6 +715,12 @@ init python: marisaClue = False binaryClue = False + # not included in run save + did_not_visit_faculty = True + did_not_visit_classroom = True + did_not_visit_auditorium = True + finale_ready = False + class RunSave: def __init__(self, attacked_student, garden_of_the_sun_lecture, janitor_talks, revolution, exam_cancelled, investigation_progress, reimu_progress, alice_progress, marisa_progress, time_traveling, asked_office_location, did_not_submit_passcode, has_correct_passcode, chose_reimu_question, first_time_traveling_through_time, time_travel_without_choice, aliceClue, reimuClue, marisaClue, binaryClue, inventory_items): self.attacked_student = attacked_student @@ -845,15 +856,6 @@ label start: # STAGE Y # VAR Y - image audi_front: - "bg auditorium front.png" - - image yuuka_look: - "yuuka looking eyes.png" - - image chills: - "chills.png" - show audi_front zorder 150 show bg auditorium back behind audi_front @@ -862,13 +864,6 @@ label start: show yuuka neutral behind yuuka_look with fade - - python: # <- Remove - ''' - show reimu happy: - xalign 0.8 - yalign 0.99 - ''' yuuka "Good evening." @@ -1798,36 +1793,9 @@ label start: $ next_label = "classroom" jump day_transition - elif day == 1: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return - elif day == 2: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return - elif day == 3: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return - elif day == 4: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + $ raise Exception("Impossible day " + day + " for location") return label classroom: @@ -2069,29 +2037,9 @@ label start: jump hallway return - elif day == 2: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return - elif day == 3: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return - elif day == 4: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + $ raise Exception("Impossible day " + day + " for location") return # TODO: SKIPPING THE YUUKA PART OF THE STAGE DIRECTIONS IN THIS AREA FOR NOW @@ -2383,9 +2331,11 @@ label hallway: yuuka "{i}...{/i}" (cb_name="") - yuuka "{i}And that's all I have to say on that subject.{/i}" (cb_name="") + yuuka "{i}And that's all I have to say on that subject. You could call in an expert. That's not what's important.{/i}" (cb_name="") - jump finale + yuuka "{i}With all the data gone...{/i}" (cb_name="") + + jump exam_cancel_check else: yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" @@ -2672,6 +2622,8 @@ label hallway: $ renpy.notify("Clue #1 gotten.") $ inventory_items.append("Clue #1") + $ investigation_progress += 1 + show reimu sleepy reimu "I'll be seeing you around then." @@ -2800,6 +2752,8 @@ label hallway: $ alice_progress += 1 jump hallway_navigation2 + $ investigation_progress += 1 + "Wait here" if janitor_talks < 2: $ janitor_talks = 2 @@ -2921,7 +2875,7 @@ label hallway: "No, not yet.": jump hallway_navigation - elif day == 3: + elif day == 3: # exams # TODO # TEXT Y # STAGE N @@ -3020,7 +2974,14 @@ label hallway: "Faculty Member" "Well, that was the plan but you know how she can get." - "Faculty Member" "Brilliant but impulsive. She's coming back tomorrow." + "Faculty Member" "Brilliant but impulsive. She's coming back tomorrow; one of your students spotted her." + + if "Clue #2" in inventory_items: + yuuka "Marisa?" + + "Faculty Member" "I didn't get a name. Blonde?" + + yuuka "Yes. That's probably her then." yuuka "Tomorrow... that's sooner than I thought." @@ -3262,6 +3223,8 @@ label hallway: show screen inventory_display_toggle $ renpy.notify("Clue #2 gotten.") $ inventory_items.append("Clue #2") + + $ investigation_progress += 1 $ marisaClue = True @@ -3495,15 +3458,16 @@ label hallway: scene bg hallway with fade - # TODO: Have Yuuka recount what happened in these places before. - menu: "Where does Yuuka go?" "{sc}Exit school{/sc}": - "" - # TODO: Put in the binary clue if you have gathered enough other clues (at least two) - jump day_transition + # Finale ready + if finale_ready: + jump finale + else: + show text "{sc}Not... yet...{/sc}" at truecenter with damaged + jump day_transition "Go to the faculty room" if did_not_visit_faculty: scene bg faculty with fade @@ -4126,82 +4090,91 @@ label faculty: if revolution > 0: $ exam_cancelled = True + + label exam_cancel_check: - if exam_cancelled: - yuuka "{i}As you all know, the exams were to be called off the next day.{/i}" (cb_name="") - - if revolution >= 2: - yuuka "{i}Not just that, but the faculty of the school went on a walk out, in protest of what they called my \"heavy-handed approach\".{/i}" (cb_name="") + if exam_cancelled: + yuuka "{i}As you all know, the exams were to be called off the next day.{/i}" (cb_name="") + + if revolution >= 2: + yuuka "{i}Not just that, but the faculty of the school went on a walk out, in protest of what they called my \"heavy-handed approach\".{/i}" (cb_name="") - yuuka "{i}I became very popular with the students however.{/i}" (cb_name="") + yuuka "{i}A shame, really.{/i}" (cb_name="") - yuuka "{i}That's why as you're sitting in your seats, waiting for Professor Okazaki to sweep in and replace me, the menace you welcomed in,{/i}" (cb_name="") - - yuuka "{i}Just know that she won't be making it.{/i}" (cb_name="") - - yuuka "{i}I do hope I've made my distate of her clear by now?{/i}" (cb_name="") + yuuka "{i}It coincided with today and so, I'm sorry you couldn't be here today.{/i}" (cb_name="") - narrator "{i}One or two nervous nods came in response.{/i}" + yuuka "{i}...{/i}" (cb_name="") - yuuka "{i}Yes? Good.{/i}" (cb_name="") + yuuka "{i}But that didn't really happen, otherwise I wouldn't be here to talk to you all would I?{/i}" (cb_name="") - yuuka "{i}Then I'll let you imagine how I dealt with her.{/i}" (cb_name="") + yuuka "{i}And yet here I am.{/i}" (cb_name="") - yuuka "{i}I hope you intend to complete your walk out by quitting, now, dearies.{/i}" (cb_name="") + yuuka "{i}I don't understand how or why.{/i}" (cb_name="") - yuuka "{i}This is my school and my students from here on out.{/i}" (cb_name="") + yuuka "{i}I hope you can, in time.{/i}" (cb_name="") - if very_loud_quitting.has(): - "Very Loud Quitting already has been completed. Consider finding a different ending." + yuuka "{i}Best of luck.{/i}" (cb_name="") - $ very_loud_quitting.grant() + # yuuka "{i}I became very popular with the students however.{/i}" (cb_name="") + + # yuuka "{i}That's why as you're sitting in your seats, waiting for Professor Okazaki to sweep in and replace me, the menace you welcomed in,{/i}" (cb_name="") + + # yuuka "{i}Just know that she won't be making it.{/i}" (cb_name="") + + # yuuka "{i}I do hope I've made my distate of her clear by now?{/i}" (cb_name="") + + # narrator "{i}One or two nervous nods came in response.{/i}" + + # yuuka "{i}Yes? Good.{/i}" (cb_name="") + + # yuuka "{i}Then I'll let you imagine how I dealt with her.{/i}" (cb_name="") + + # yuuka "{i}I hope you intend to complete your walk out by quitting, now, dearies.{/i}" (cb_name="") + + # yuuka "{i}This is my school and my students from here on out.{/i}" (cb_name="") + + if very_loud_quitting.has(): + "Very Loud Quitting already has been completed. Consider finding a different ending." + + $ very_loud_quitting.grant() + + jump ending + else: + yuuka "{i}The students were estatic but the faculty were deeply worried.{/i}" (cb_name="") + + yuuka "{i}Worry no longer, for you now know the truth of how and why.{/i}" (cb_name="") + + yuuka "{i}Though it can never free you, at least you know.{/i}" (cb_name="") + + yuuka "{i}I ask not for sympathy. Just an understanding.{/i}" (cb_name="") + + yuuka "{i}Now there's only one last place for us, all of us, to go.{/i}" (cb_name="") + + $ day = 4 + + $ finale_ready = True + + jump hallway - jump ending else: - yuuka "{i}The students were estatic but the faculty were deeply worried.{/i}" (cb_name="") + yuuka "{i}The students took to it well.{/i}" (cb_name="") - yuuka "{i}Worry no longer, for you now know the truth.{/i}" (cb_name="") + yuuka "{i}We were correct that they had been prepared throughout the semester.{/i}" (cb_name="") - yuuka "{i}Though it can never free you, at least you know.{/i}" (cb_name="") + yuuka "{i}And by that we mean they crammed like their lives depended on it.{/i}" (cb_name="") - yuuka "{i}I ask not for sympathy. Just an understanding.{/i}" (cb_name="") + yuuka "{i}A sentiment that must be familiar to you all.{/i}" (cb_name="") - jump hallway - else: - yuuka "{i}The students took to it well.{/i}" (cb_name="") + yuuka "{i}The day fast approached and I had my own preparations to do...{/i}" (cb_name="") - yuuka "{i}We were correct that they had been prepared throughout the semester.{/i}" (cb_name="") + yuuka "{i}Seeing them work hard (with the addition of an extreme pressure) meant I felt a bit generous.{/i}" (cb_name="") - yuuka "{i}And by that we mean they crammed like their lives depended on it.{/i}" (cb_name="") + 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="") - yuuka "{i}A sentiment that must be familiar to you all.{/i}" (cb_name="") - - yuuka "{i}The day fast approached and I had my own preparations to do...{/i}" (cb_name="") - - yuuka "{i}Seeing them work hard (with the addition of an extreme pressure) meant I felt a bit generous.{/i}" (cb_name="") - - 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="") - - jump hallway - - # current plans: after consultations determines if there'll be a final exam at all - - elif day == 3: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return - elif day == 4: - # TODO - # TEXT N - # STAGE N - # VAR N - window show # placeholder - return + jump hallway else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + $ raise Exception("Impossible day " + day + " for location") return label exam: @@ -4351,6 +4324,7 @@ label exam: jump hallway else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + $ raise Exception("Impossible day " + day + " for location") return label penultimate_presentation: @@ -4359,7 +4333,404 @@ label penultimate_presentation: # TEXT N # STAGE N # VAR N + + yuuka "{i}When I arrived at school I was greeted by one of the faculty members, nervous.{/i}" (cb_name = "") + + "Faculty Member" "Ah it's you. There's been a development." + + if not did_not_visit_faculty or time_traveling: + yuuka "I know, Professor Okazaki's back today right?" + + "Faculty Member" "Yes and you're giving a presentation this evening." + + yuuka "What?" + else: + yuuka "What's this about?" + + "Faculty Member" "Professor Okazaki's arriving today." + + yuuka "She's a few days early." + + "Faculty Member" "Yes and you're giving a presentation this evening." + + yuuka "What?" + "Faculty Member" "I know, I know I didn't want to be the one to break it to you but it's school policy." + + "Faculty Member" "Technically, she wrote it but still. You have to give a presentation if you subsituted for her." + + yuuka "That's absurd." + + "Faculty Member" "You can read the handbook if you want to." + + yuuka "{i}They handed me the book and I opened it in front of them.{/i}" (cb_name = "") + + yuuka "...these are chicken scratches." + + "Faculty Member" "Legally binding chicken scratches." + + yuuka "Hm." + + yuuka "Well, alright then." + + yuuka "Any requirements on what the presentation should have?" + + "Faculty Member" "Other than being about your time here? If there are any it's illegible." + + yuuka "{i}That would make things convenient.{/i}" (cb_name = "") + + scene bg black with fade + + yuuka "{i}I decided to use this opportunity to my advantage.{/i}" (cb_name = "") + + yuuka "{i}To get Reimu, Marisa, and Alice in the same meeting at the same time as Yumemi would only make her defeat all the sweeter.{/i}" (cb_name = "") + + show audi_front zorder 150 + + show bg auditorium back behind audi_front + + $ renpy.pause(2) + + show yuuka amused behind yuuka_look + with dissolve + + yuuka "Now we're back here." + + show yuuka_look + + yuuka "Did you get all of that, {bt}Professor Okazaki?{/bt}" + + show yuuka neutral at left with ease + + # TODO: Fix the transitions not working here + + hide yuuka_look + + show yumemi neutral at right with easeinright + + yumemi "Truly, a wonderful presentation Professor Kazami!" + + yumemi "I understand that the rest of the school who hadn't had the fortune of knowing her prior to her chance encounter with our school won't recognize that name." + + yumemi "This is Yuuka Kazami, a powerful youkai." + + yuuka "I think they'd understand at least that much by now after this entire presentation, no?" + + show yumemi happy + + yumemi "Try and hold your snark for the appetizers, fraulein." + + show yumemi neutral + + yumemi "I have comments after all. You did read the handbook didn't you?" + + if time_traveling: + yumemi "Don't answer that, it's just-{nw}" + + show yumemi serious + + yuuka "Rhetroic, right?" + + yumemi "{cps=1}...{/cps}{nw}clever. clever." + + show yumemi happy + + yumemi "{cps=1}...{/cps}{fast}clever. clever." + + yumemi "Let's skip the pleasantries then, shall we?" + + else: + yumemi "Don't answer that, it's just rhetoric." + + yumemi "Let's go over your track record then, shall we?" + + yumemi "You've said a lot, including things that never happened. Dreams?" + + yumemi "Firstly, I don't know anything about a field of flowers." + + yuuka "You sack of sh-{nw}" + + yumemi "I'm a woman of my word, Yuuka! It's not something I'd do. I extend my deepest of regrets to you." + + yumemi "Truly." + + yumemi "Continuing on..." + + if attacked_student: + yumemi "You attacked one of my students." + + "Excitable Student" "I'm okay!" + + if garden_of_the_sun_lecture: + yumemi "In your dreams, you scared off my entire class by antagonizing them." + + if revolution == 2: + yumemi "You also apparently caused my teachers to quit enmass, despite them being here." + # else: + # no else, since getting that means you get the finale + + if not has_correct_passcode: + if investigation_progress > 3: + yumemi "Wow, you got really far into my puzzle! And yet still stumped? How sad. Use your head, there's barely any candidates left!" + elif investigation_progress > 2: + yumemi "It seems you almost figured out my puzzle. What a shame, you fell short at the finish line." + elif investigation_progress > 1: + yumemi "You made a little progress into my puzzle. Not bad, but not good either. Should've tried a bit harder." + elif investigation_progress > 0: + yumemi "You barely even touched my puzzle! Come on, at least put some effort into the game." + elif investigation_progress <= 0 and asked_office_location: + yumemi "You didn't even get a single clue? Seriously!? Jeez, I expected better." + else: + yumemi "...you don't even know where my office is? Is this just a game to you!? Too good to try!?" + + yumemi "Hmph." + + yumemi "Now." + + yumemi "If this were yesteryear, I'd ask if you had a wish you wanted granted if you win." + + yuuka "How about you grant my wish now? It's for you to shut your face and eat a spellcard." + + yumemi "Why, my dear, it's only if you win." + + yumemi "And probability is on the side of rigorous." + + # TODO: Go for suitably dramatic endings here + + if reimu_progress >= 2 or alice_progress >= 2 or marisa_progress >= 2: + if reimu_progress >= 2: + if alice_progress >= 2: + # reimu & alice + if marisa_progress >= 2: + # everyone + "???" "I'm standing right here, you know." + + show reimu serious # at somewhere + + reimu "Your school is a madhouse wearing a thin mask. Whether from the Outside World or Gensokyo, I can't overlook all these humans here." + + show alice neutral # at somwhere + + alice "This has gone on long enough. You're teaching a mockery of magic to earnest young students." + + alice "You wear a single color. Your power is a mere fourteen-point-two percent of mine!" + + show marisa serious # at somewhere + + marisa "I'm a fan of keeping things suitably dramatic, but you're annoying more than anything else." + + marisa "Sure, make another incident but let's keep normal people out of these things, yeah?" + + yuuka "Thank you, everyone." + else: + "???" "I'm standing right here, you know." + + show reimu serious # at somewhere + + reimu "Your school is a madhouse wearing a thin mask. Whether from the Outside World or Gensokyo, I can't overlook all these humans here." + + show alice neutral # at somwhere + + alice "This has gone on long enough. You're teaching a mockery of magic to earnest young students." + + alice "You wear a single color. Your power is a mere fourteen-point-two percent of mine!" + + yuuka "Thank you, Reimu. You too, Alice." + + elif marisa_progress >= 2: + # reimu & marisa + "???" "I'm standing right here, you know." + + show reimu serious # at somewhere + + reimu "Your school is a madhouse wearing a thin mask. Whether from the Outside World or Gensokyo, I can't overlook all these humans." + + show marisa serious # at somewhere + + marisa "I'm a fan of keeping things suitably dramatic, but you're annoying more than anything else." + + marisa "Sure, make another incident but let's keep normal people out of these things, yeah?" + + yuuka "Thank you, Reimu. You too, Marisa." + else: + # just reimu + "???" "I'm standing right here, you know." + + show reimu serious # at somewhere + + reimu "Your school is a madhouse wearing a thin mask. Whether from the Outside World or Gensokyo, I can't overlook all these humans." + + yuuka "Thank you, Reimu." + elif alice_progress >= 2: + if marisa_progress >= 2: + # alice & marisa + "???" "Long time no see." + + show alice neutral # at somwhere + + alice "This has gone on long enough. You're teaching a mockery of magic to earnest young students." + + alice "You wear a single color. Your power is a mere fourteen-point-two percent of mine!" + + show marisa serious # at somewhere + + marisa "I'm a fan of keeping things suitably dramatic, but you're annoying more than anything else." + + marisa "Sure, make another incident but let's keep normal people out of these things, yeah?" + + yuuka "Thank you, Alice. You too, Marisa." + else: + # just alice + "???" "Long time no see." + + show alice neutral # at somwhere + + alice "This has gone on long enough. You're teaching a mockery of magic to earnest young students." + + alice "You wear a single color. Your power is a mere fourteen-point-two percent of mine!" + + yuuka "Thank you, Alice." + elif marisa_progress >= 2: + # just marisa + "???" "How about we gamble on them odds?" + + show marisa serious # at somewhere + + marisa "I'm a fan of keeping things suitably dramatic, but you're annoying more than anything else." + + marisa "Sure, make another incident but let's keep normal people out of these things, yeah?" + + yuuka "Thank you, Marisa." + + yuuka "Shall we then?" + + yumemi "Hah, turn their hearts if you feel the need. Nothing can compare the infinite worlds I can pick and choose! You face a challenge you can't even concieve of!" + + yuuka "..." + + show yuuka rage: + easeout_expo 1.0 xpos 2700 + yalign 0.5 + + $ renpy.pause(0.85, hard=True) + + play sound "bowling.mp3" + + show yumemi wistful at damaged, spin, thrown_offscreen: + xalign 1.0 + yalign 0.5 + + yuuka "{i}And then I hit her really hard.{/i}" (cb_name="") + + yuuka "From the earth you came, to the dirt you'll bite." + + if she_has_your_back.has(): + "She Has Your Back already has been completed. Consider finding a different ending." + elif not dontsavefutureruns: + $ persistent.officialrun = SaveChoices() + $ persistent.dontsavefutureruns = True + $ she_has_your_back.grant() + + elif (reimu_progress < 2 and alice_progress < 2 and marisa_progress < 2) and (reimu_progress + alice_progress + marisa_progress) >= 2: + + "Excitable Student" "Get away from Miss Kazami! You need to stop, Professor Okazaki!" + + "Various Students" "Don't fight!{nw=1.0}" + + "Various Students" "You'll get your ass beat, she's terrifying, don't try it Professor!{nw=1.0}" + + "Faculty Member" "Can we please all just remain calm, this is getting out of control!{nw=1.0}" + + "Various Students" "She's kind of cute, actually-{nw=0.0}" + + "Various Students" "Huh, what's happening?{nw=1.0}" + + yuuka "Thank you all. But I can fight my own battles." + + yuuka "Shall we then?" + + yumemi "Hah, prepare however you need. No power can compare the infinite worlds I can pick and choose! You face a challenge you can't even concieve of!" + + yuuka "..." + + show yuuka rage: + easeout_expo 1.0 xpos 2700 + yalign 0.5 + + $ renpy.pause(0.85, hard=True) + + play sound "bowling.mp3" + + show yumemi wistful at damaged, spin, thrown_offscreen: + xalign 1.0 + yalign 0.5 + + yuuka "{i}And then I hit her really hard.{/i}" (cb_name="") + + yuuka "From the earth you came, to the dirt you'll bite." + + if they_have_your_back.has(): + "They Have Your Back already has been completed. Consider finding a different ending." + elif not dontsavefutureruns: + $ persistent.officialrun = SaveChoices() + $ persistent.dontsavefutureruns = True + $ they_have_your_back.grant() + + elif (reimu_progress + alice_progress + marisa_progress) < 2: + + yuuka "Shall we then?" + + yumemi "Hah, prepare however you need. No power can compare the infinite worlds I can pick and choose! You face a challenge you can't even concieve of!" + + yuuka "..." + + show yuuka rage: + easeout_expo 1.0 xpos 2700 + yalign 0.5 + + $ renpy.pause(0.85, hard=True) + + play sound "bowling.mp3" + + show yumemi wistful at damaged, spin, thrown_offscreen: + xalign 1.0 + yalign 0.5 + + yuuka "{i}And then I hit her really hard.{/i}" (cb_name="") + + yuuka "From the earth you came, to the dirt you'll bite." + + if hedgehog_dilemma_solved.has(): + "Hedgehog's Dilemma Solved already has been completed. Consider finding a different ending." + elif not dontsavefutureruns: + $ persistent.officialrun = SaveChoices() + $ persistent.dontsavefutureruns = True + $ hedgehog_dilemma_solved.grant() + + #else: + # again no else, because you'd get the finale + + # attacked_student = False + # garden_of_the_sun_lecture = False + # janitor_talks = 0 + # revolution = 0 # 1 means students incited, 2 means students and teachers incited + # exam_cancelled = False + # investigation_progress = 0 + # reimu_progress = 0 + # alice_progress = 0 + # marisa_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 + # aliceClue = False + # reimuClue = False + # marisaClue = False + # binaryClue = False + "Test ending rewards" # ---------------- # @@ -4391,6 +4762,7 @@ label penultimate_presentation: jump ending else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + $ raise Exception("Impossible day " + day + " for location") return label finale: @@ -4398,6 +4770,38 @@ label finale: # it should happen in the garden of the sun + # past yumemi, setting up the time machine in a place that seemed suitable for her + + # the time machine destroys the place its activated + + scene bg fixedfield with fade + + # TODO: finale + + show yumemi glasses with dissolve + + yumemi "Hmm, flux capacitor is definitely the wrong term for this and it's not exactly measurable in gigawatts but..." + + yumemi "I believe the new Probability Space Hypervessel is complete!" + + yumemi "Smaller, sleeker, though with the tradeoff of one person at a time." + + yumemi "Beginning test #1; in three, two." + + yuuka "Stop!" + + narrator "Yumemi turned to towards the voice, taking off her glasses, staring blinkingly." + + show yumemi happy + + yumemi "Ah, the flower youkai! We've not met beyond in passing have we? What a shame, considering our mutual friends." + + yuuka "You..." + + # yumemi "I don't understand." + + # TODO: complete this shit + return label day_transition: @@ -4428,6 +4832,7 @@ label day_transition: show screen inventory_display_toggle $ renpy.notify("Clue #4 gotten.") $ inventory_items.append("Clue #4") + $ investigation_progress += 1 elif("Clue #1" in inventory_items or "Clue #2" in inventory_items or "Clue #3" in inventory_items): scene bg garden at flip with fade @@ -4528,22 +4933,31 @@ label day_transition: play sound "wind1.mp3" $ renpy.pause(3.0, hard=True) - "..." + "{cps=1}...{/cps}" play sound "wind2.mp3" $ renpy.pause(3.0) - "..." + "{cps=1}...{/cps}" play sound "wind3.mp3" $ renpy.pause(3.0) - "..." + if not time_traveling: + "{cps=1}...{/cps}" # how ??? + else: + "{cps=1}Are{/cps}... {cps=1}headed{/cps}... {cps=1}direction{/cps}...{nw}" stop music + + # TODO: Test if this works in this context and still lets us time travel out + + jump pause_loop + return else: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + $ raise Exception("Impossible day " + day + " for location") return $ renpy.jump(next_label)