From c49fe7900246064aad33cd5bc9041c1da54206ca Mon Sep 17 00:00:00 2001 From: Jacoder23 Date: Wed, 10 Apr 2024 02:15:29 +0800 Subject: [PATCH] Completed the stage instructions for the icebreakers Word count: 6,106 words --- game/screens/choice_screen.rpy | 4 +- game/script.rpy | 489 ++++++++++++++++++++++++++------- 2 files changed, 392 insertions(+), 101 deletions(-) diff --git a/game/screens/choice_screen.rpy b/game/screens/choice_screen.rpy index 8967cc4..0fe1dd8 100644 --- a/game/screens/choice_screen.rpy +++ b/game/screens/choice_screen.rpy @@ -10,7 +10,7 @@ screen choice(items): style_prefix "choice" - grid 2 6: + grid 2 3: for i in items: textbutton i.caption action i.action: xalign 0.5 @@ -19,7 +19,7 @@ screen choice(items): style choice_grid: xalign 0.5 ypos 405 - yanchor 0.0 + yanchor 0.4 spacing 33 style choice_button: diff --git a/game/script.rpy b/game/script.rpy index 14be0ff..a4fe923 100644 --- a/game/script.rpy +++ b/game/script.rpy @@ -1,11 +1,12 @@ # What is left? # TEXT STAGE VAR # introduction Y Y Y -# icebreakers Y N Y +# icebreakers Y Y Y # hands-on lecture Y N Y # consultation Y N Y # exam N N N # side convos N N N +# sunflower talk N N N # secret ending N N N default persistent.pixelfont = True @@ -86,6 +87,12 @@ transform thrown_offscreen: ease .2 xoffset 3200 yoffset -3200 ease .1 xoffset 6400 yoffset -6400 +transform flip: + xzoom -1.0 + +transform unflip: + xzoom 1.0 + transform idle_vertical: yoffset 0 ease 0.06 @@ -248,37 +255,6 @@ transform spin: rotate 0 linear 0.125 rotate 360 -# TODO: List all needed expressions -python: - """ - Yuuka - - neutral - - happy - - irritated (smirking?) - - rage (snarling?) - Yumemi - - neutral - - happy - - wistful - Alice - - neutral - - happy - - concern, worry - - surprise - - anger - Marisa - - neutral - - happy - - laughing - - defiant - - surprise - Reimu - - neutral, on the tired side - - happy - - ticked off, looking for a fight - - surprise - """ - image yuuka amused: "yuuka amused.png" function SpriteFocus('yuuka') @@ -415,8 +391,8 @@ screen devModeButtons1(): $ i += 1 hbox: spacing 20 - xpos 200 - ypos 1020 + xpos 50 + ypos 1000 textbutton "(1*)": action Jump("DevModePage1") textbutton "(2)": @@ -434,8 +410,8 @@ screen devModeButtons2(): $ i += 1 hbox: spacing 20 - xpos 200 - ypos 1020 + xpos 50 + ypos 1000 textbutton "(1)": action Jump("DevModePage1") textbutton "(2*)": @@ -453,8 +429,8 @@ screen devModeButtons3(): $ i += 1 hbox: spacing 20 - xpos 200 - ypos 1020 + xpos 50 + ypos 1000 textbutton "(1)": action Jump("DevModePage1") textbutton "(2)": @@ -467,8 +443,8 @@ screen devModeButtons3(): screen devModeButtons4(): hbox: spacing 20 - xpos 200 - ypos 1020 + xpos 50 + ypos 1000 textbutton "(1)": action Jump("DevModePage1") textbutton "(2)": @@ -495,6 +471,11 @@ label start: 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 + yumemi_progress = 0 label laozi: scene bg black @@ -563,7 +544,7 @@ label start: label presentation_begins: # TODO # TEXT Y - # STAGE N + # STAGE Y # VAR Y image audi_front: @@ -575,7 +556,6 @@ label start: image chills: "chills.png" - show audi_front zorder 150 show bg auditorium back behind audi_front @@ -626,7 +606,7 @@ label start: label intro: # TODO # TEXT Y - # STAGE N + # STAGE Y # VAR Y play music tension if_changed @@ -915,18 +895,42 @@ label start: stop music fadeout 2.0 + show yuuka neutral: + xalign 0.0 + yalign 0.5 + yuuka "..." marisa "..." + show marisa neutral: + xalign 1.0 + yalign 0.5 + marisa "So does that mean..." + show yuuka irritated unmarked: + xalign 0.0 + yalign 0.5 + yuuka "Fine, so she's not here?" + show marisa neutral: + xalign 1.0 + yalign 0.5 + marisa "No, but I'm figuring out where she went. " + show yuuka neutral: + xalign 0.0 + yalign 0.5 + yuuka "I see. Any leads?" + show marisa concerned: + xalign 1.0 + yalign 0.5 + marisa "Well, I was trailing your fan until..." narrator "{i}The student was crawling to their feet, awe-struck gaze at Yuuka's newly grown sunflower.{/i}" @@ -937,12 +941,18 @@ label start: marisa "We're pretty sure all the humans in this school aren't from Gensokyo." - yuuka "Idiotic." - marisa "I'll leave the two of you to it then." + show marisa serious: + xalign 1.0 + yalign 0.5 + marisa "Don't mess this up, teach." + show yuuka irritated: + xalign 0.0 + yalign 0.5 + yuuka "Don't call me tha- and she's gone." narrator "{i}The student approached Yuuka, only slightly rattled.{/i}" @@ -957,6 +967,11 @@ label start: # STAGE N # VAR Y + show yuuka amused: + xalign 0.0 + yalign 0.5 + with easeinleft + jump icebreakers label icebreakers: @@ -964,7 +979,6 @@ label start: show yuuka amused: xalign 0.0 yalign 0.5 - with easeinleft yuuka "Yes, that would be very helpful." @@ -1012,8 +1026,8 @@ label start: show marisa happy: xalign 0.8 - yalign 0.5 - with easeinright + yalign -0.5 + with easeinbottom marisa "Hey teach, how about we get a move on before lunch's on!" @@ -1034,19 +1048,19 @@ label start: show alice neutral: xalign 1.0 - yalign 0.5 - with easeinright + yalign -0.5 + with easeinbottom yuuka "{i}Sitting next to her was Alice Margatroid, hatchling spawn from Makai, and the relatively reasonable one of the three.{/i}" (cb_name="") - show reimu angry: + show reimu serious: xalign 1.2 - yalign 0.5 - with easeinright + yalign -0.5 + with easeinbottom yuuka "{i}Last was Reimu Hakurei, sitting in the back, with a glint in her eye staring back at me.{/i}" (cb_name="") - yuuka "{i}She seemed to be itching for a fight.{/i}" (cb_name="") + yuuka "{i}She seemed to be itching for a fight. That or the stupidity of her face got to me. One of the two.{/i}" (cb_name="") if not attacked_student: reimu "A misunderstanding?" (cb_name="") @@ -1070,65 +1084,178 @@ label start: narrator "{i}Barely contained sighs and groans erupted throughout the room.{/i}" + hide marisa + hide alice + with easeoutbottom + + show reimu surprise: + xalign 1.2 + yalign -0.5 + yuuka "You there, in the red and white! Introduce yourself and tell us an interesting fact about yourself." yuuka "{i}I could be patient as long as it meant seeing these three flounder.{/i}" (cb_name="") reimu "I... uh, what?" - narrator "{i}Yuuka's smile grew wider.{/i}" + show yuuka amused: + xalign 0.0 + yalign 0.5 + + narrator "{i}Yuuka's smile grew just that bit wider.{/i}" yuuka "You heard me." - narrator "{i}There were barely stifled giggles from Marisa's seat as Reimu looked at Yuuka like she cloned herself.{/i}" + show marisa laugh: + xalign 0.8 + yalign -0.5 + with easeinbottom - narrator "{i}That's Reimu realized her folly, allowing Yuuka to use her new assumed position to do something unforgivable: mildly inconviencing her.{/i}" + narrator "{i}There were barely stifled giggles from Marisa's seat as Reimu gaped.{/i}" - narrator "{i}Her hand went to her gohei before she remembered all the students around her.{/i}" + hide marisa surprised + with easeoutbottom + + narrator "{i}Her hand went to her gohei and glare to Marisa before she realized the class had its eyes on her.{/i}" + + show reimu concerned: + xalign 1.2 + yalign -0.5 reimu "Well, I'm Reimu Hakurei. I'm a shrine maiden." reimu "Uh, interesting facts..." + show yuuka amused: + xalign 0.1 + yalign 0.5 + with ease + + yuuka "Stand up first, make sure the class can see you, Miss Hakurei." + + show reimu angry: + xalign 1.0 + yalign 0.5 + with ease + + reimu "Tch." + + show yuuka happy: + xalign 0.2 + yalign 0.5 + with ease + + yuuka "What was that now?" + + show reimu serious: + xalign 1.0 + yalign 0.5 + + reimu "Nothing." + narrator "{i}A lull fell for a moment as Reimu collected her thoughts.{/i}" + show yuuka amused: + xalign 0.2 + yalign 0.5 + yuuka "We haven't got all day, Ms. Hakurei." + show reimu concerned: + xalign 1.0 + yalign 0.5 + reimu "Well that's... I guess I'm ambidextrous?" + show yuuka amused: + xalign 0.0 + yalign 0.5 + with ease + + show marisa laugh: + xalign 0.8 + yalign -0.5 + with easeinbottom + + show alice worried: + xalign 1.0 + yalign -0.5 + with easeinbottom + + hide reimu + + show reimu angry: + xalign 1.2 + yalign -0.5 + with ease + narrator "{i}Marisa then broke out into laughter, unfazed by Alice's glance, and Reimu's melting glare.{/i}" - marisa "I-I can't, she's the teacher? They hired HER?" + marisa "I-I can't, she's really the teacher? They hired HER?" - yuuka "Yes, they did. You're up next, blondie. I want TWO interesting facts now." + show yuuka irritated: + xalign 0.0 + yalign 0.5 + + yuuka "You're up next, blondie." + + show marisa surprise: + xalign 0.8 + yalign -0.5 marisa "Oh, crap." + scene bg black with fade + yuuka "{i}The rest of our time left in the class went swimmingly.{/i}" (cb_name="") yuuka "{i}Some of you may think I was overly hostile, judgemental, and sadistic on my first day.{/i}" (cb_name="") - yuuka "{i}To that I will say: I could've gone farther. I exercised excellent restraint.{/i}" (cb_name="") + yuuka "{i}To that I will say: That's all? A sign of my excellent restraint.{/i}" (cb_name="") - yuuka "{i}Afterwards, the trio I named earlier pulled me aside.{/i}" (cb_name="") + yuuka "{i}Afterwards, the trio pulled me aside.{/i}" (cb_name="") + + scene bg hallway with fade + + # four way arrangement of characters with yuuka slightly separated + + show yuuka amused: + xalign -0.25 + yalign 0.5 + + show reimu serious: + xalign 0.4 + yalign 0.5 + + show marisa neutral: + xalign 0.75 + yalign 0.5 + + show alice neutral: + xalign 1.10 + yalign 0.5 reimu "What do you think you're doing, exactly, Yuuka?" - yuuka "I think you'll find I'm doing exactly as people expect of me." + yuuka "I think you'll find I'm doing exactly as people ought to expect of me." - reimu "Terrorizing and intimidating humans?" + reimu "Terrorizing and intimidating the young and innocent?" - marisa "Sending minions to do your dirty work?" + marisa "Invading Gensokyo?" - alice "Standing in the middle of a field ominously?" + alice "Standing in the middle of a field for hours at a time?" yuuka "I've not done those since this morning. You know how routines get." + show yuuka happy + yuuka "I'm merely here to take a debt owed." yuuka "You?" - reimu "Hm, this school just showed up one day. Apparently it's Yumemi's." + reimu "Hm, this school just showed up earlier today. Apparently it's Yumemi's from what the students keep saying." + + show marisa laugh marisa "Been a long time since that huh? The scramble for a wish, exploring those ruins..." @@ -1138,41 +1265,101 @@ label start: yuuka "Neither was I." + show marisa neutral + marisa "Great times." reimu "Right, anyways we're just here to find her. There've been noise complaints from the Human Village about what they're getting up to here." if not attacked_student: - marisa "Plus, all of the students? They're not from the village. They didn't even know about Reimu! We're thinking this is a major breach of the barrier." + show marisa surprise + marisa "Plus, all of the students? They're not from the village. They don't even know they're in Gensokyo!" else: - marisa "We're thinking this is a major breach of the barrier. I already said we think these students aren't from the village but they don't even know the first thing about Gensokyo!" + show marisa surprise + marisa "Plus, all of the students? Like I said, they're not from the village." + marisa "They don't even know they're in Gensokyo!" - alice "But, there's otherwise no evidence of anything other than some disturbances caused by this school." + show marisa serious + + marisa "We're thinking this is a major breach of the barrier." + + reimu "Except the barrier's entirely untouched." + + alice "But, there's otherwise no evidence of anything done other than some disturbances caused by this school." + + show yuuka rage + + yuuka "{i}A flicker of something worse nearly escaped me. I paused. I was angry. I was here for retribution.{/i}" (cb_name="") + + yuuka "{i}But I'd do no wrong to anyone who didn't deserve it. I would not lash out needlessly.{/i}" (cb_name="") + + show yuuka irritated yuuka "Other than the flower field they destroyed?" - yuuka "{i}I paused for a response. I was angry. I was here for retribution.{/i}" (cb_name="") + show reimu surprise reimu "That's new." + show yuuka neutral yuuka "It's how I found out about this wretched place." + show reimu serious + reimu "In any case, we'll keep it in mind. We're going to keep attending as students until we figure this out." + show yuuka looking + yuuka "Good, and I will be looking for Yumemi." + show yuuka neutral + + show marisa laugh + narrator "{i}Marisa chuckled.{/i}" marisa "Yuuka, who do you think you were substituting for?" yuuka "...huh?" + show marisa happy + marisa "She's out for the week. No one told you, {bt}professor{/bt}?" - narrator "{i}Yuuka grit her teeth and snarled. Marisa stepped back instinctively.{/i}" + show yuuka rage + + show alice surprise + + show reimu surprise: + xalign 0.5 + yalign 0.5 + show marisa surprise: + xalign 0.85 + yalign 0.5 + with ease + + narrator "{i}Yuuka snarled. Marisa and Reimu stepped back instinctively.{/i}" + + show yuuka irritated at flip yuuka "This charade is absurd and I've apparently no reason to be here. Good day to you all." - yuuka "{i}I stomped my way back through the hallway, turning a corner before Alice caught up to me.{/i}" (cb_name="") + hide yuuka + with easeoutleft + + hide alice + with easeoutleft + + hide reimu + hide marisa + with easeoutright + + yuuka "{i}I stomped my way back through the hallway.{/i}" (cb_name="") + + show yuuka irritated at left + show alice worried at right + with dissolve + + yuuka "{i}I was turning the corner before Alice caught up to me.{/i}" (cb_name="") alice "Don't you think you're missing an opportunity?" @@ -1180,27 +1367,45 @@ label start: alice "If you stick around, which by the way would be easy given the students have already accepted the fact that you're their teacher," - alice "You can just sit tight for a week and Yumemi will walk right up to you." + alice "You can just sit tight for a week and Yumemi will walk right into you. No messy incidents, no plotting." + + show yuuka neutral yuuka "I could lay a trap." alice "Exactly." - yuuka "A tempting offer, but I don't think I'll need any tricks to deal with her." + show yuuka irritated + + yuuka "A tempting offer, but I don't think I'll need any tricks to deal with that lout. I'll find her myself." + + show yuuka irritated at flip yuuka "{i}Once more I turned away, and...{/i}" (cb_name="") + show alice angry + alice "Oh for Shinki's sake, are you scared of something?" + show yuuka neutral at unflip + yuuka "What?" alice "You talk to humans less than I do and I live in a poisonous swamp of a forest." alice "You've barely talked to anyone other than us three after leaving your mansion in Mugenkan years ago." - yuuka "They're beneath me. Besides, I talk with Medicine." + show yuuka amused - alice "She's one kid." + yuuka "They're beneath me." + + show yuuka neutral + + yuuka "Besides, I talk with Medicine." + + alice "She's one kid. That hardly proves anything." + + show alice worried 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." @@ -1212,12 +1417,18 @@ label start: yuuka "I do not agree with your points, Alice." + show yuuka amused + yuuka "But I consider you to know me better than most." yuuka "Very well, I'll play along." + show alice happy + alice "Thank you. That's all I'm asking." + show yuuka neutral at flip + yuuka "I'll be back tomorrow. Goodbye Alice." alice "Goodbye." @@ -1522,6 +1733,7 @@ label start: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." return + # side character stuff here label hallway: if day == 1: @@ -1592,10 +1804,17 @@ label hallway: "Go to the faculty room" if did_not_visit_faculty: "" + $ did_not_visit_faculty = False + + + "Faculty Member" "Ah, looking for something?" + + # explains the exam thing jump hallway_navigation "Go to the audiotorium" if did_not_visit_audiotorium: "" + $ did_not_visit_audiotorium = False jump hallway_navigation "Go to her classroom" if did_not_visit_classroom: @@ -1645,7 +1864,8 @@ label hallway: 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_audiotorium = False + $ did_not_visit_classroom = False + $ reimu_progress += 1 jump hallway_navigation "Wait here" if janitor_talks == 0: @@ -1671,7 +1891,7 @@ label hallway: janitor "Suit 'urself, whippersnapper." # janitor leaves - + jump hallway_navigation elif day == 2: label hallway_navigation2: @@ -1785,20 +2005,65 @@ label faculty: yuuka "{i}The students kept attending, for the most part, which was a surprise.{/i}" (cb_name="") - yuuka "Professor Okazaki was apparently equally eccentric as I was.{/i}" (cb_name="") + yuuka "{i}Professor Okazaki was apparently equally eccentric as I was.{/i}" (cb_name="") yuuka "{i}Part of what convinced people I was the real substitute.{/i}" (cb_name="") yuuka "{i}Which only made it more odd that the real one never showed up, if there ever was one.{/i}" (cb_name="") - yuuka "{i}Soon however, the midterm exams would come.{/i}" (cb_name="") + label additional_lecture: + # added to flesh out her teaching more and actually see the classroom setting - yuuka "{i}No, it's not as dramatic a climax as final exams but who would allow an untrained substitute that late into the semester to dictate the class?{/i}" (cb_name="") + yuuka "The care of flowers should not only be to ensure their appearance, but to ensure they are fulfilled." + + yuuka "To prolong the life, to let it bloom and thrive, to not..." + + yuuka "..." + + yuuka "To not allow harm to come to it." + + if investigation_progress >= 2: + yuuka "{i}I had gotten some leads into the destruction of the field that precipitated my arrival here.{/i}" (cb_name="") + yuuka "{i}However, I had found just as many dead ends. Things didn't add up.{/i}" (cb_name="") + yuuka "{i}I don't think I could've seen it coming, but I made my decision all the same.{/i}" (cb_name="") + elif investigation_progress == 1: + yuuka "{i}I had only begun investigating the destruction of the field that precipatated my arrival here.{/i}" (cb_name="") + yuuka "{i}I should've set aside more time for that. I couldn't have known either way...{/i}" (cb_name="") + yuuka "{i}But it never hurts to be prepared.{/i}" (cb_name="") + else: + yuuka "{i}I had neglected to look into the the destruction of the field that precipatated my arrival here.{/i}" (cb_name="") + yuuka "{i}And for what reason should I have? It was obvious who was at fault.{/i}" (cb_name="") + yuuka "{i}Perhaps, I should've looked into it.{/i}" (cb_name="") + + 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." + + menu: + "Who does Yuuka answer a question from?" + + "One of the normal students": + + "" + "" + + "Reimu": + $ reimu_progress += 1 + "" + "" + + yuuka "{i}Soon however, exams would come.{/i}" (cb_name="") + + yuuka "{i}Now I'm talking about midterms, right?{/i}" (cb_name="") + + yuuka "{i}No, it's not as dramatic a climax as final exams.{/i}" (cb_name="") + + yuuka "{i}But who would allow an untrained substitute that late into the semester to dictate the class?{/i}" (cb_name="") + + yuuka "{i}Especially one who has no idea what they're learning or even what subject she's taking over for.{/i}" (cb_name="") yuuka "{i}That's why it would've have made sense if it were midterms, but unfortunately Professor Okazaki is, again, very eccentric.{/i}" (cb_name="") - yuuka "{i}I am also prone to lying. Apologies/{/i}" (cb_name="") - yuuka "{i}The FINAL exams would come soon.{/i}" (cb_name="") # faculty room @@ -1864,7 +2129,7 @@ label faculty: menu: - "What does Yuuka do?" + "What does Yuuka propose?" "Revolution, obviously": @@ -1903,7 +2168,7 @@ label faculty: alice "Could we bring this back to the topic at hand? You're creating chaos, the students are out of control!" - "Make the students teach themselves": + "Students teach students": yuuka "Class, I'll be opening up student tutoring regarding Magi-Physics." @@ -1915,7 +2180,7 @@ label faculty: yuuka "Are we clear on this?" - narrrator "{i}A familiar hand went up.{/i}" + narrator "{i}A familiar hand went up.{/i}" yuuka "Yes?" @@ -2071,11 +2336,13 @@ label faculty: reimu "If you care about their exam, then do you have a plan? A next step?" + yuuka "Yes, I just need to ensure certain people are convinced the exam is unnecessary or that they would rather not go at all." + if revolution != 0: menu: - "What does Yuuka decide?" + "Who does Yuuka \"convince\"?" - "Convince the faculty to not give the exam": + "The faculty": # DONE @@ -2102,7 +2369,7 @@ label faculty: "Student" "I'm happy we have a substitute who's so forgiving, huh Alice?" alice "Right, forgiving." - "If no one goes on exam day, there's no one to fail": + "The students": yuuka "Thinking about it, I don't even need to talk to the teachers do I?" @@ -2181,6 +2448,7 @@ label faculty: jump ending $ next_label = "exam" + $ day += 1 jump day_transition else: @@ -2195,6 +2463,7 @@ label faculty: yuuka "{i}The day fast approached and I had my own preparations to do...{/i}" (cb_name="") $ next_label = "exam" + $ day += 1 jump day_transition @@ -2218,13 +2487,6 @@ label faculty: "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." return -screen mangainput: - viewport: - xalign 0.5 - yalign 0.5 - xysize (400,300) - input length 100 pos (0,0) color "#081820" xmaximum 400 ymaximum 300 - label exam: if day == 3: # TODO @@ -2274,11 +2536,11 @@ label exam: "Student" "Now, we need a way to measure the force of a-" - yuuka "Take your seats and put away anything other than a pen." + yuuka "Take your seats and put away anything that isn't a pen." # F = m × a or m = F/a - $ msg = renpy.input("Answer?", screen=u'exam_input') + $ msg = renpy.input("Answer?") $ persistent.playeranswer = msg $ renpy.save_persistent() @@ -2328,6 +2590,35 @@ label day_transition: else: renpy.say("", "Proceeding without saving game.") narrator "{i}The next day...{/i}" + # sunflower talk + if day == 1: + # TODO + # TEXT N + # STAGE N + # VAR N + "" + elif day == 2: + # TODO + # TEXT N + # STAGE N + # VAR N + "" + elif day == 3: + # TODO + # TEXT N + # STAGE N + # VAR N + "" + elif day == 4: + # TODO + # TEXT N + # STAGE N + # VAR N + "" + else: + "Day is currently set to [day]. This should be impossible. You've likely encountered a bug." + return + $ renpy.jump(next_label) label ending: