error fixing and codex

This commit is contained in:
Jacoder23 2024-04-19 12:21:17 +08:00
parent d28fe15a5a
commit be9c2fb37a
9 changed files with 1952 additions and 83 deletions

1436
dialogue.txt Normal file

File diff suppressed because it is too large Load Diff

82
game/category.rpy Normal file
View File

@ -0,0 +1,82 @@
#-----------------------------------------------------
# How this basically works:
# -Player clicks on the "Codex" button in the main menu/quick menu.
# -Show "category_welcome" screen where they can select a category.
# -that brings them to the welcome page/main page of the selected category. Ex.: people_welcome in people.rpy
# -there they can select an entry to read.
image background = HBox(
Solid("#292835AA", xsize=800, ysize=700)
)
##-----------------------------------------------
##-------CATEGORY NAVIGATION---------------------
##-----------------------------------------------
screen category_nav():
#This is where we create the menu where we can select the category.
#Add background image
viewport:
xpos 25 ypos 400
xsize 350 ysize 350
mousewheel True
scrollbars "vertical"
draggable True
pagekeys True
vbox:
spacing 10
xoffset 350
##Here you list the categories
textbutton "People" action ShowMenu("people_welcome")
##people_welcome is the main screen/welcome screen of the "People" category, defined in people.rpy. I suggest you create seperate files
# for all categories so it's easier to edit.
##The buttons below don't do anything. Set up your category as seen in people.rpy then
## switch "NullAction" with the "ShowMenu("screen name")" command like above.
# textbutton "Locations" action NullAction()
# textbutton "Historical events" action NullAction()
# textbutton "Books and tales" action NullAction()
# textbutton "Rumors" action NullAction()
# textbutton "Culture and Religion" action NullAction()
# textbutton "Miscellaneous" action NullAction()
textbutton "Return" action Return() yoffset 1000 xoffset 25
##-----------------------------------------------
##-------------CODEX WELCOME---------------------
##-----------------------------------------------
screen category_welcome():
#This is the "Welcome screen", the first screen the player sees when they go into the codex menu.
tag menu
use category_nav #instead of the usual menu, we'll use the one we created above
style_prefix "codex"
vbox:
xsize 850
xalign 0.5 yalign 0.5
xoffset 200
#xoffset 400
text _p("""CODEX{p}The contents of this codex are not representative of Touhou canon.""")
#text _p("""Welcome to the codex!""")
#Really short text might not be centered correctly, you have to adjust the xoffset.
style codex_label is gui_label:
xalign 0.5
xoffset 150
yoffset 100
size 50
style codex_label_text is gui_label_text
style codex_text is gui_text:
justify True
style codex_label_text:
size 100
style codex_scrollbar is gui_vscrollbar:
xoffset 100

View File

@ -49,9 +49,10 @@ define gui.about = _p("""A game created for Touhou Fan Game Jam 13.
By Jacoder23, Shyraku, Nanossis, hermit_irl, and Spear. By Jacoder23, Shyraku, Nanossis, hermit_irl, and Spear.
Uses EasyRenPyGui and Achievements for Ren'Py both by Feniks Development Uses {a=https://feniksdev.itch.io/easy-renpy-gui}EasyRenPyGui{/a} and {a=https://feniksdev.itch.io/achievements-for-renpy}Achievements{/a} for Ren'Py both by Feniks Development
Uses Renpy Auto Highlight and Kinetic Text Tags both by Wattson Uses {a=https://wattson.itch.io/renpy-auto-highlight}Renpy Auto Highlight{/a} and {a=https://wattson.itch.io/kinetic-text-tags}Kinetic Text Tags{/a} both by Wattson
Uses Lint+ by KigyoDev""") Uses {a=https://kigyo.itch.io/renpy-word-counter}Lint+{/a} by KigyoDev
Uses {a=https://skolaztika.itch.io/renpy-codex-screen}Ren'py Codex{/a} by Skolaztika""")
## Sounds and music ############################################################ ## Sounds and music ############################################################

322
game/people.rpy Normal file
View File

@ -0,0 +1,322 @@
##-----------------------------------------------
##-------CODEX ENTRY NAVIGATION------------------
##-----------------------------------------------
image background = HBox(
Solid("#292835AA", xsize=800, ysize=700)
)
screen people_nav():
viewport:
xpos 25 ypos 400
xsize 450 ysize 350
mousewheel True
draggable True
pagekeys True
side_yfill True
scrollbars "vertical"
vbox:
spacing 10
xoffset 350
textbutton "Reimu Hakurei" action ShowMenu("reimu")
textbutton "Marisa Kirisame" action ShowMenu("marisa")
textbutton "Alice Margatroid" action ShowMenu("alice")
textbutton "Yuuka Kazami" action ShowMenu("yuuka")
textbutton "Yumemi Okazaki" action ShowMenu("yumemi")
textbutton "Janitor" action ShowMenu("janitor")
# ##The following button will require a condition to be true in order to appear.
# if persistent.bob:
# textbutton "Bob" action ShowMenu("bob")
# textbutton "Lew Ciszek" action NullAction()
# textbutton "Aidan Evans" action NullAction()
# textbutton "Wincenty Borkowski" action NullAction()
# textbutton "Sascha Windisch" action NullAction()
# textbutton "Kelemen Bence" action NullAction()
# textbutton "Biró Erik" action NullAction()
# textbutton "Return to categories" action ShowMenu("category_welcome") yoffset 950 xoffset 25
textbutton "Return" action Return() yoffset 1000 xoffset 25
##-----------------------------------------------
##-------------CODEX WELCOME---------------------
##-----------------------------------------------
screen people_welcome():
##This is the "People" category's welcome page. This is the first screen players see after they select a category.
tag menu
use people_nav
style_prefix "codex"
vbox:
xsize 850
xalign 0.5 yalign 0.5
xoffset 200
text _("In this category you can read about all the wonderful characters in this game! (and also the Janitor)")
##-----------------------------------------------
##----------ENTRIES START HERE-------------------
##-----------------------------------------------
screen reimu():
tag menu
use people_nav
style_prefix "codex"
label "Reimu Hakurei"
viewport:
xsize 1300
ysize 800
xalign 0.5
xoffset 200 yoffset 200
side_yfill True
#scrollbars "vertical"
#mousewheel True
#draggable True
#pagekeys True
vbox:
text _p("""The shrine maiden of Hakurei Shrine. She enforces Gensokyo's border with the Outside World.
Her birthday is on January 6th.""")
screen marisa():
tag menu
use people_nav
style_prefix "codex"
label "Marisa Kirisame"
viewport:
xsize 1300
ysize 800
xalign 0.5
xoffset 200 yoffset 200
side_yfill True
#scrollbars "vertical"
#mousewheel True
#draggable True
#pagekeys True
vbox:
text _p("""The black-white human magician who wields love-colored magic. She's the close 2nd to Reimu as an incident resolver.
Her birthday is July 7th.""")
screen alice():
tag menu
use people_nav
style_prefix "codex"
label "Alice Margatroid"
viewport:
xsize 1300
ysize 800
xalign 0.5
xoffset 200 yoffset 200
side_yfill True
#scrollbars "vertical"
#mousewheel True
#draggable True
#pagekeys True
vbox:
text _p("""The seven-colored puppeteer of dolls. She's a magician like Marisa. She's friendly with humans despite being a youkai.
Her birthday is July 16th.""")
screen yuuka():
tag menu
use people_nav
style_prefix "codex"
label "Yuuka Kazami"
viewport:
xsize 1300
ysize 800
xalign 0.5
xoffset 200 yoffset 200
side_yfill True
#scrollbars "vertical"
#mousewheel True
#draggable True
#pagekeys True
vbox:
text _p("""The sleeping terror of the Garden of the Sun. She's a terrifying youkai with a sharp wit who can manipulate flowers.
Her birthday is August 7th.""")
screen yumemi():
tag menu
use people_nav
style_prefix "codex"
label "Yumemi Okazaki"
viewport:
xsize 1300
ysize 800
xalign 0.5
xoffset 200 yoffset 200
side_yfill True
#scrollbars "vertical"
#mousewheel True
#draggable True
#pagekeys True
vbox:
text _p("""The Professor. An eccentric scientist. She was kicked out from her previous position at a college for giving a presentation on magic.
Her birthday is January 5th.""")
screen janitor():
tag menu
use people_nav
style_prefix "codex"
label "Janitor"
viewport:
xsize 1300
ysize 800
xalign 0.5
xoffset 200 yoffset 200
side_yfill True
#scrollbars "vertical"
#mousewheel True
#draggable True
#pagekeys True
vbox:
text _p("""She's just the janitor.""")
# screen zack():
# tag menu
# use people_nav
# style_prefix "codex"
# label "Zack Moss"
# viewport:
# xsize 1300
# ysize 800
# xalign 0.5
# xoffset 200 yoffset 200
# side_yfill True
# scrollbars "vertical"
# mousewheel True
# draggable True
# pagekeys True
# vbox:
# #You write the actual entry here. I suggest you split your text into smaller text _p sections, otherwise the text might overlap with
# #the scrollbars. If you're sure that your text fits the screen and scrolling is not needed then comment out everything starting from "scrollbars vertical" to
# #"pagekeys True" as seen in the next entry. If you do this, splitting the text is not needed.
# text _p("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non massa iaculis, mattis urna at,
# eleifend augue. Vivamus non finibus velit. Suspendisse sit amet luctus turpis. Nullam felis orci, maximus luctus aliquam eget,
# cursus nec lectus.Donec sollicitudin auctor urna, non rutrum sem aliquet et. Duis dignissim molestie luctus.
# {p}Morbi a mi metus.
# Fusce mollis nisl in cursus blandit. Proin tempor ex sit amet porta tempus. Morbi quis ante vitae odio ultricies posuere ut non lorem.
# Suspendisse diam ipsum, elementum vel scelerisque ut, auctor tincidunt nibh. Nullam placerat ante at tellus vehicula sollicitudin.
# Aliquam lorem nunc, tempus quis faucibus et, tincidunt vitae tellus. Nulla aliquam posuere sem, eget aliquet tortor venenatis a.
# Suspendisse sit amet lobortis nisi, ac rutrum magna.
# {p} """)
# text _p("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non massa iaculis, mattis urna at,
# eleifend augue. Vivamus non finibus velit. Suspendisse sit amet luctus turpis. Nullam felis orci, maximus luctus aliquam eget,
# cursus nec lectus.Donec sollicitudin auctor urna, non rutrum sem aliquet et. Duis dignissim molestie luctus. Morbi a mi metus.
# Fusce mollis nisl in cursus blandit.
# Aliquam lorem nunc, tempus quis faucibus et, tincidunt vitae tellus. Nulla aliquam posuere sem, eget aliquet tortor venenatis a.
# Suspendisse sit amet lobortis nisi, ac rutrum magna.{p} """)
# text _p("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non massa iaculis, mattis urna at,
# eleifend augue. Vivamus non finibus velit.
# {p}Suspendisse sit amet luctus turpis. Nullam felis orci, maximus luctus aliquam eget,
# cursus nec lectus.Donec sollicitudin auctor urna, non rutrum sem aliquet et. Duis dignissim molestie luctus.""")
##--------------------------------------------------------------------------------------------------------------------------------------------------------------------
# screen nelson():
# tag menu
# use people_nav
# style_prefix "codex"
# label "Nelson Shea"
# viewport:
# xsize 1300
# ysize 800
# xalign 0.5
# xoffset 200 yoffset 200
# side_yfill True
# #scrollbars "vertical"
# #mousewheel True
# #draggable True
# #pagekeys True
# vbox:
# text _p("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non massa iaculis, mattis urna at,
# eleifend augue. Vivamus non finibus velit. Suspendisse sit amet luctus turpis.{p}Nullam felis orci, maximus luctus aliquam eget,
# cursus nec lectus.Donec sollicitudin auctor urna, non rutrum sem aliquet et. Duis dignissim molestie luctus.""")
# text _p("""Aliquam nec neque risus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Etiam tempor, nisl vitae fermentum
# tempus, metus nibh bibendum augue, et fermentum turpis massa eget ligula. Donec feugiat neque sit amet molestie ultrices. Vestibulum
# lacinia mi eros, in maximus neque sagittis vitae. Cras vestibulum cursus nulla eu rhoncus. Sed hendrerit faucibus dignissim. Vivamus
# sed mattis dui. Nunc eu finibus sem. Morbi malesuada lectus nec arcu auctor fermentum. """)
##--------------------------------------------------------------------------------------------------------------------------------------------------------------------
# screen bob():
# tag menu
# use people_nav
# style_prefix "codex"
# label "Bob the bobman"
# viewport:
# xsize 1300
# ysize 800
# xalign 0.5
# xoffset 200 yoffset 200
# side_yfill True
# scrollbars "vertical"
# mousewheel True
# draggable True
# pagekeys True
# vbox:
# text _p("""
# The lorekeeper just told me about Bob
# """)
# #The following text will only appear if a certain condition is True.
# if persistent.boblooks:
# text _p("""
# Apparently he wears funny hats. Interesting.
# """)
# #The following text will only appear if a certain condition is True.
# if persistent.bobbackground:
# text _p("""
# He came from an unknown land....I wonder what happened.
# But he's an accountant now! Good for him.
# """)

View File

@ -83,7 +83,10 @@ screen quick_menu():
hbox: hbox:
style_prefix "quick" style_prefix "quick"
spacing -5
textbutton _("Back") action Rollback() textbutton _("Back") action Rollback()
textbutton _("Codex") action ShowMenu('category_welcome')
textbutton _("History") action ShowMenu('history') textbutton _("History") action ShowMenu('history')
textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True) textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
textbutton _("Auto") action Preference("auto-forward", "toggle") textbutton _("Auto") action Preference("auto-forward", "toggle")

View File

@ -21,8 +21,12 @@ screen game_menu(title):
textbutton _("Start") action Start() textbutton _("Start") action Start()
textbutton _("Codex") action ShowMenu('category_welcome')
else: else:
textbutton _("Codex") action ShowMenu('category_welcome')
textbutton _("History") action ShowMenu("history") textbutton _("History") action ShowMenu("history")
textbutton _("Save") action ShowMenu("save") textbutton _("Save") action ShowMenu("save")

View File

@ -7,8 +7,13 @@
## Replace this with your background image, if you like ## Replace this with your background image, if you like
image main_menu_background = "Main_Menu3.png" image main_menu_background = "Main_Menu3.png"
image main_menu_foreground = HBox(
Solid("#292835AA", xsize=325, ysize=530) image main_menu_foreground_pc = HBox(
Solid("#292835AA", xsize=325, ysize=580)
)
image main_menu_foreground_web = HBox(
Solid("#292835AA", xsize=325, ysize=500)
) # TODO: use platform checking to make this smaller on web and bigger on other platforms as for some reason this is larger on web ) # TODO: use platform checking to make this smaller on web and bigger on other platforms as for some reason this is larger on web
screen main_menu(): screen main_menu():
@ -20,18 +25,26 @@ screen main_menu():
ypos -20 ypos -20
xpos -70 xpos -70
add "main_menu_foreground": if renpy.emscripten:
add "main_menu_foreground_web":
xalign 0.5
yalign 0.95
else:
add "main_menu_foreground_pc":
xalign 0.5 xalign 0.5
yalign 0.95 yalign 0.95
vbox: vbox:
xalign 0.5 xalign 0.5
yalign 0.95 yalign 0.95
spacing -3 spacing -8
textbutton _("Start") action Start(): textbutton _("Start") action Start():
xalign 0.5 xalign 0.5
textbutton _("Codex") action ShowMenu('category_welcome'):
xalign 0.5
textbutton _("Load") action ShowMenu("load"): textbutton _("Load") action ShowMenu("load"):
xalign 0.5 xalign 0.5

View File

@ -98,6 +98,8 @@ screen preferences():
style_prefix "check" style_prefix "check"
action Preference("all mute", "toggle") action Preference("all mute", "toggle")
textbutton _("Clear All Progress") action persistent._clear(progress=True)
### PREF ### PREF
style pref_label: style pref_label:
top_margin 15 top_margin 15

View File

@ -129,6 +129,8 @@ label TT_Consultations:
if(not tt_Goal_Consultation_Mention): if(not tt_Goal_Consultation_Mention):
yuuka "Perhaps I could try to get the exams cancelled this time around?" yuuka "Perhaps I could try to get the exams cancelled this time around?"
yuuka "Though maybe without making all the teachers hate me."
yuuka "Easier said than done..." yuuka "Easier said than done..."
$ tt_Goal_Consultation_Mention = True $ tt_Goal_Consultation_Mention = True
jump hallway jump hallway
@ -201,7 +203,7 @@ screen inventory_display_toggle:
# inventory item descriptions # inventory item descriptions
default item_descriptions = {"Strange Device" : "Keychain-sized, has the initials PSH, has an Outside World look to it.", "Keycard" : "Given by that stranger I never got a look at...", "Clue #1" : "Yumemi's doing something on a different order of magnitude than before.","Clue #2" : "The passcode is likely to do with an important day, month, or year like a birthday.", "Clue #3" : "Yumemi's fond of symmetry, possibly ambigrams.", "Clue #4" : "01101101 01100101 01100100 01101001 01110101 01101101 00100000 01101001 01110011 00100000 01101101 01110011 01100111"} default item_descriptions = {"Strange Device" : "Keychain-sized, has the initials PSH, has an Outside World look to it.", "Keycard" : "Given by that stranger I never got a look at...", "Clue #1" : "Yumemi's doing something on a different order of magnitude than before.","Clue #2" : "The passcode is likely partly to do with an important day, month, or year like a birthday. Marisa thinks it's not a year.", "Clue #3" : "Yumemi's fond of symmetry, possibly ambigrams.", "Clue #4" : "01101101 01100101 01100100 01101001 01110101 01101101 00100000 01101001 01110011 00100000 01101101 01110011 01100111"}
default inventory_items = [] default inventory_items = []
default item_description = "" default item_description = ""
@ -772,6 +774,7 @@ init python:
tt_Goal_Consultation_Mention = False tt_Goal_Consultation_Mention = False
tt_Goal_Exam_Mention = False tt_Goal_Exam_Mention = False
asked_field_faculty = True # TODO: Probably make this a choice variable asked_field_faculty = True # TODO: Probably make this a choice variable
time_to_go = False
def SaveChoices(): # for a future run def SaveChoices(): # for a future run
persistent.attacked_student = attacked_student persistent.attacked_student = attacked_student
@ -780,9 +783,9 @@ init python:
persistent.revolution = revolution persistent.revolution = revolution
persistent.exam_cancelled = exam_cancelled persistent.exam_cancelled = exam_cancelled
persistent.investigation_progress = investigation_progress persistent.investigation_progress = investigation_progress
persistent.reimu_progress = reimu_progress persistent.reimu_progress = 1
persistent.alice_progress = alice_progress persistent.alice_progress = 0
persistent.marisa_progress = marisa_progress persistent.marisa_progress = 0
persistent.time_traveling = time_traveling persistent.time_traveling = time_traveling
persistent.asked_office_location = asked_office_location persistent.asked_office_location = asked_office_location
persistent.did_not_submit_passcode = did_not_submit_passcode persistent.did_not_submit_passcode = did_not_submit_passcode
@ -913,7 +916,7 @@ label start:
show bg auditorium back behind audi_front show bg auditorium back behind audi_front
$ renpy.pause(2) $ renpy.pause(5)
stop sound fadeout 2.0 stop sound fadeout 2.0
@ -1225,6 +1228,8 @@ label start:
play sound "bowling.mp3" play sound "bowling.mp3"
show bg entrance at damaged
show marisa surprise at damaged, spin, thrown_offscreen: show marisa surprise at damaged, spin, thrown_offscreen:
xalign 1.0 xalign 1.0
yalign 0.5 yalign 0.5
@ -1916,7 +1921,7 @@ label start:
$ next_label = "classroom" $ next_label = "classroom"
jump day_transition jump day_transition
else: else:
"Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..." # "Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..."
$ day = 0 $ day = 0
$ raise Exception("Impossible day " + str(day) + " for location") $ raise Exception("Impossible day " + str(day) + " for location")
return return
@ -2335,7 +2340,7 @@ label start:
jump hallway jump hallway
return return
else: else:
"Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..." # "Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..."
$ day = 1 $ day = 1
jump classroom jump classroom
$ raise Exception("Impossible day " + str(day) + " for location") $ raise Exception("Impossible day " + str(day) + " for location")
@ -2345,6 +2350,8 @@ label start:
# side character stuff here and the puzzle # side character stuff here and the puzzle
label hallway: label hallway:
$ janitor_talks = 0
scene bg hallway with fade scene bg hallway with fade
if day == 1: if day == 1:
# TODO # TODO
@ -2644,6 +2651,8 @@ label hallway:
yuuka "{i}With all the data gone...{/i}" (cb_name="") yuuka "{i}With all the data gone...{/i}" (cb_name="")
$ time_to_go = True
jump exam_cancel_check jump exam_cancel_check
else: else:
yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" yuuka "A keycard!? You mean I've been working my ass off to just get another lock?"
@ -2692,20 +2701,8 @@ label hallway:
"Where does Yuuka go?" "Where does Yuuka go?"
"Exit school": "Exit school":
if did_not_visit_faculty:
yuuka "I can't yet." yuuka "I can't yet."
jump hallway_navigation2 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: "Go to the faculty room" if did_not_visit_faculty:
@ -2959,7 +2956,8 @@ label hallway:
# a scene with alice # a scene with alice
show alice happy at flip with dissolve show alice happy at flip with dissolve:
xalign 0.5
yuuka "Fancy seeing you here." yuuka "Fancy seeing you here."
@ -3176,6 +3174,8 @@ label hallway:
yuuka "{i}With all the data gone...{/i}" (cb_name="") yuuka "{i}With all the data gone...{/i}" (cb_name="")
$ time_to_go = True
jump exam_cancel_check jump exam_cancel_check
else: else:
yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" yuuka "A keycard!? You mean I've been working my ass off to just get another lock?"
@ -3194,7 +3194,7 @@ label hallway:
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." 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.": "No, not yet.":
jump hallway_navigation jump hallway_navigation2 # :)
elif day == 3: # exams elif day == 3: # exams
# TODO # TODO
# TEXT Y # TEXT Y
@ -3544,6 +3544,10 @@ label hallway:
marisa "Doesn't have to be, but probably. It's an easy order to stick in your head: significant date then something less obvious." marisa "Doesn't have to be, but probably. It's an easy order to stick in your head: significant date then something less obvious."
marisa "And this is just a hunch... but Yumemi doesn't seem like the kind to get stuck on a particular year, yeah? Just conjecture, 'course."
marisa "But I think, a day or month would make more sense."
yuuka "Alright. Thank you, Marisa." yuuka "Alright. Thank you, Marisa."
show marisa laugh show marisa laugh
@ -3754,6 +3758,8 @@ label hallway:
yuuka "{i}With all the data gone...{/i}" (cb_name="") yuuka "{i}With all the data gone...{/i}" (cb_name="")
$ time_to_go = True
jump exam_cancel_check jump exam_cancel_check
else: else:
yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" yuuka "A keycard!? You mean I've been working my ass off to just get another lock?"
@ -3772,7 +3778,7 @@ label hallway:
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." 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.": "No, not yet.":
jump hallway_navigation jump hallway_navigation3
elif day == 4: elif day == 4:
# TODO # TODO
# TEXT N # TEXT N
@ -3930,6 +3936,8 @@ label hallway:
yuuka "{i}With all the data gone...{/i}" (cb_name="") yuuka "{i}With all the data gone...{/i}" (cb_name="")
$ time_to_go = True
jump exam_cancel_check jump exam_cancel_check
else: else:
yuuka "A keycard!? You mean I've been working my ass off to just get another lock?" yuuka "A keycard!? You mean I've been working my ass off to just get another lock?"
@ -4826,13 +4834,13 @@ label faculty:
scene bg black with fade scene bg black with fade
# then determine if the teachers quit or not, and if not do the exams still happen? # then determine if the teachers quit or not, and if not do the exams still happen
label exam_cancel_check:
if revolution > 0: if revolution > 0:
$ exam_cancelled = True $ exam_cancelled = True
label exam_cancel_check:
if time_traveling: if time_traveling:
stop music fadeout 2.0 stop music fadeout 2.0
stop sound fadeout 2.0 stop sound fadeout 2.0
@ -4847,7 +4855,23 @@ label faculty:
else: else:
yuuka "{i}As you all know, the exams were to be called off the next day.{/i}" (cb_name="") yuuka "{i}As you all know, the exams were to be called off the next day.{/i}" (cb_name="")
if revolution >= 2 and not time_traveling: if time_traveling and time_to_go:
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
elif revolution >= 2:
stop music fadeout 2.0 stop music fadeout 2.0
@ -4869,46 +4893,12 @@ label faculty:
yuuka "{i}Best of luck.{/i}" (cb_name="") yuuka "{i}Best of luck.{/i}" (cb_name="")
# 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(): if very_loud_quitting.has():
"Very Loud Quitting already has been completed. Consider finding a different ending." "Very Loud Quitting already has been completed. Consider finding a different ending."
$ very_loud_quitting.grant() $ very_loud_quitting.grant()
jump ending jump ending
elif time_traveling:
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
else: else:
yuuka "{i}The students were estatic but the faculty were deeply worried.{/i}" (cb_name="") yuuka "{i}The students were estatic but the faculty were deeply worried.{/i}" (cb_name="")
@ -4937,7 +4927,7 @@ label faculty:
jump hallway jump hallway
else: else:
"Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..." # "Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..."
$ day = 2 $ day = 2
jump faculty jump faculty
$ raise Exception("Impossible day " + str(day) + " for location") $ raise Exception("Impossible day " + str(day) + " for location")
@ -5108,7 +5098,7 @@ label exam:
jump penultimate_presentation jump penultimate_presentation
else: else:
"Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..." # "Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..."
$ day = 3 $ day = 3
jump exam jump exam
$ raise Exception("Impossible day " + str(day) + " for location") $ raise Exception("Impossible day " + str(day) + " for location")
@ -5344,7 +5334,11 @@ label penultimate_presentation:
# TODO: Go for suitably dramatic endings here # TODO: Go for suitably dramatic endings here
if (reimu_progress < 2 and alice_progress < 2 and marisa_progress < 2) and (reimu_progress + alice_progress + marisa_progress) >= 2: if (reimu_progress < 3 and alice_progress < 3 and marisa_progress < 3) and (reimu_progress + alice_progress + marisa_progress) >= 2:
# required progress
# reimu_progress + 1 for the classroom
# reimu, marisa, or alice progress for the question
show yuuka neutral show yuuka neutral
@ -5394,6 +5388,8 @@ label penultimate_presentation:
play sound "bowling.mp3" play sound "bowling.mp3"
show bg auditorium at damaged
show yumemi wistful at damaged, spin, thrown_offscreen: show yumemi wistful at damaged, spin, thrown_offscreen:
xalign 1.0 xalign 1.0
yalign 0.5 yalign 0.5
@ -5426,12 +5422,12 @@ label penultimate_presentation:
"RETURN and you'll find things not to be the same." "RETURN and you'll find things not to be the same."
show text "You may be locked out of certain endings, depending on this playthrough." # show text "You may be locked out of certain endings, depending on this playthrough."
$ renpy.pause(7.0) $ renpy.pause(7.0)
$ they_have_your_back.grant() $ they_have_your_back.grant()
elif reimu_progress >= 2 or alice_progress >= 2 or marisa_progress >= 2: elif reimu_progress >= 3 or alice_progress >= 3 or marisa_progress >= 3:
transform leftbottompresent: transform leftbottompresent:
xalign -0.05 xalign -0.05
@ -5579,6 +5575,8 @@ label penultimate_presentation:
play sound "bowling.mp3" play sound "bowling.mp3"
show bg auditorium at damaged
show yumemi wistful at damaged, spin, thrown_offscreen: show yumemi wistful at damaged, spin, thrown_offscreen:
xalign 1.0 xalign 1.0
yalign 0.5 yalign 0.5
@ -5611,12 +5609,12 @@ label penultimate_presentation:
"RETURN and you'll find things not to be the same." "RETURN and you'll find things not to be the same."
show text "You may be locked out of certain endings, depending on this playthrough." # show text "You may be locked out of certain endings, depending on this playthrough."
$ renpy.pause(7.0) $ renpy.pause(7.0)
$ she_has_your_back.grant() $ she_has_your_back.grant()
elif (reimu_progress + alice_progress + marisa_progress) < 2: else:
show yuuka happy show yuuka happy
@ -5642,6 +5640,8 @@ label penultimate_presentation:
play sound "bowling.mp3" play sound "bowling.mp3"
show bg auditorium at damaged
show yumemi wistful at damaged, spin, thrown_offscreen: show yumemi wistful at damaged, spin, thrown_offscreen:
xalign 1.0 xalign 1.0
yalign 0.5 yalign 0.5
@ -5674,7 +5674,7 @@ label penultimate_presentation:
"RETURN and you'll find things not to be the same." "RETURN and you'll find things not to be the same."
show text "You may be locked out of certain endings, depending on this playthrough." # show text "You may be locked out of certain endings, depending on this playthrough."
$ renpy.pause(7.0) $ renpy.pause(7.0)
$ hedgehog_dilemma_solved.grant() $ hedgehog_dilemma_solved.grant()
@ -5733,7 +5733,7 @@ label penultimate_presentation:
jump ending jump ending
else: else:
"Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..." # "Day is currently set to [day]. This should be impossible. You've likely encountered a bug. Doing workaround..."
$ day = 4 $ day = 4
jump penultimate_presentation jump penultimate_presentation
$ raise Exception("Impossible day " + str(day) + " for location") $ raise Exception("Impossible day " + str(day) + " for location")
@ -6243,7 +6243,7 @@ label day_transition:
return return
else: else:
"Day is currently set to [day]. This should be impossible. You've likely encountered a bug." # "Day is currently set to [day]. This should be impossible. You've likely encountered a bug."
$ raise Exception("Impossible day " + str(day) + " for location") $ raise Exception("Impossible day " + str(day) + " for location")
return return
@ -6276,6 +6276,12 @@ label ending:
show screen ending_gallery show screen ending_gallery
hide screen time_travel_device
hide screen time_travel_display_toggle
hide screen inventory_item_description
hide screen inventory_display_toggle
jump pause_loop jump pause_loop
return return