diff --git a/game/atmosphere.rpy b/game/atmosphere.rpy index 8874c8bd..1670d02e 100644 --- a/game/atmosphere.rpy +++ b/game/atmosphere.rpy @@ -592,57 +592,57 @@ label weather_change: if jn_atmosphere.isCurrentWeatherSunny(): if previous_weather.weather_type == jn_atmosphere.JNWeatherTypes.rain: n 1fcsaj "Well,{w=1}{nw}" - extend 1fllgs " about time all that rain buzzed off!{w=1}{nw}" - n 1nchgn "Much better.{w=3}{nw}" + extend 2fllgs " about time all that rain buzzed off!{w=1}{nw}" + n 2nchgn "Much better.{w=3}{nw}" elif previous_weather.weather_type == jn_atmosphere.JNWeatherTypes.thunder: - n 1tllpu "Huh?{w=1.25}{nw}" - extend 1ullajeex "Oh,{w=0.2} the storm passed.{w=1}{nw}" - n 1fcsajsbl "Good riddance.{w=3}{nw}" + n 3tllpu "Huh?{w=1.25}{nw}" + extend 4ullajeex "Oh,{w=0.2} the storm passed.{w=1}{nw}" + n 2fcsajsbl "Good riddance.{w=3}{nw}" elif previous_weather.weather_type == jn_atmosphere.JNWeatherTypes.snow: - n 1kllpu "Aww...{w=1.5}{nw}" + n 4kllpu "Aww...{w=1.5}{nw}" extend 1kllpol " it stopped snowing...{w=3}{nw}" else: n 1ulraj "Oh,{w=0.2} hey.{w=1}{nw}" - extend 1ulrbo " It just cleared up outside.{w=3}{nw}" + extend 2ulrbo " It just cleared up outside.{w=3}{nw}" if jn_atmosphere.isCurrentWeatherRain(): # Rain if alt_dialogue: n 1kcsemesi "Man...{w=1.25}{nw}" - extend 1kllsl " rain {i}again{/i}?{w=1}{nw}" - extend 1fsrbo " Lame...{w=3}{nw}" + extend 4kllsl " rain {i}again{/i}?{w=1}{nw}" + extend 3fsrbo " Lame...{w=3}{nw}" else: - n 1fcsem "Ugh...{w=1.5}{nw}" - extend 1fslpol " I'll never {i}not{/i} find rain gross.{w=3}{nw}" + n 3fcsem "Ugh...{w=1.5}{nw}" + extend 3fslpol " I'll never {i}not{/i} find rain gross.{w=3}{nw}" elif jn_atmosphere.isCurrentWeatherThunder(): # Thunder if alt_dialogue: - n 1unmboesu "...{w=1}{nw}" - n 1nllem "I gotta say,{w=0.75}{nw}" - extend 1ksqsr " I am {i}not{/i} liking the look of those clouds.{w=1}{nw}" - extend 1nsrupesd " Yeesh...{w=3}{nw}" + n 4unmboesu "...{w=1}{nw}" + n 2nllem "I gotta say,{w=0.75}{nw}" + extend 2ksqsr " I am {i}not{/i} liking the look of those clouds.{w=1}{nw}" + extend 3nsrupesd " Yeesh...{w=3}{nw}" else: n 1ulremesu "Woah...{w=1}{nw}" - extend 1ullpu " now those are some clouds,{w=0.5}{nw}" - extend 1tnmbo " huh?{w=3}{nw}" + extend 2ullpu " now those are some clouds,{w=0.5}{nw}" + extend 2tnmbo " huh?{w=3}{nw}" elif jn_atmosphere.isCurrentWeatherSnow(): # Snow if alt_dialogue: - n 1uwdajeex "Woah!{w=1}{nw}" + n 4uwdajeex "Woah!{w=1}{nw}" n 1ullgs "[player],{w=0.2} look!{w=0.5}{nw}" - extend 1uchbgledz " It's snowing!{w=3}{nw}" + extend 4uchbgledz " It's snowing!{w=3}{nw}" else: n 1uwdajeex "...!{w=1}{nw}" - n 1ullbg "Heeey!{w=0.75}{nw}" - extend 1uchgnledz " It's snowing!{w=3}{nw}" + n 4ullbg "Heeey!{w=0.75}{nw}" + extend 4uchgnledz " It's snowing!{w=3}{nw}" pause 1 show natsuki idle at jn_center zorder JN_NATSUKI_ZORDER diff --git a/game/custom-music.rpy b/game/custom-music.rpy index e9bff3f3..fc3ae812 100644 --- a/game/custom-music.rpy +++ b/game/custom-music.rpy @@ -98,7 +98,7 @@ init python in jn_custom_music: renpy.show( name="music_player {0}".format(state), at_list=[store.music_player_fadein], - zorder=jn_events.JN_EVENT_PROP_ZORDER + zorder=store.JN_PROP_ZORDER ) store.jnPause(0.5) renpy.play(filename=store.audio.gift_close, channel="audio") @@ -111,7 +111,7 @@ init python in jn_custom_music: renpy.show( name="music_player", at_list=[store.music_player_fadeout], - zorder=jn_events.JN_EVENT_PROP_ZORDER + zorder=store.JN_PROP_ZORDER ) store.jnPause(0.5) renpy.hide("music_player") @@ -153,42 +153,46 @@ label music_menu: if not success: show natsuki at jn_center n 1kllunl "Uhmm..." - n 1knmunl "Hey...{w=0.3} [player]?" - n 1klrbgl "Something went wrong when I was trying look for your music..." + n 4knmunl "Hey...{w=0.3} [player]?" + n 4klrbgl "Something went wrong when I was trying look for your music..." n 1kchbgl "Can you do me a favour and just check everything out real quick?" $ folder = jn_custom_music.CUSTOM_MUSIC_DIRECTORY - n 1knmbgl "If you forgot -{w=0.1} anything you want me to play needs to be in the {a=[folder]}custom_music{/a} folder." - n 1uwdaj "Oh!{w=0.2} Right!{w=0.2} And it also needs to be in {i}.mp3,{w=0.1} .ogg or .wav{/i} format -{w=0.1} just look for the letters after the period in the file name!" + n 2knmbgl "If you forgot -{w=0.1} anything you want me to play needs to be in the {a=[folder]}custom_music{/a} folder." + n 2uwdaj "Oh!{w=0.2} Right!{w=0.2} And it also needs to be in {i}.mp3,{w=0.1} .ogg or .wav{/i} format -{w=0.1} just look for the letters after the period in the file name!" jump ch30_loop elif preferences.get_volume("music") == 0: show natsuki at jn_center n 1tsqaj "Uh...{w=0.5}{nw}" extend 1tslaj " huh." - n 1tsgsg "And {i}how{/i} exactly do you plan to hear any music with the volume at zero?" - n 1fchbg "Jeez, [player].{w=0.5}{nw}" + n 2tsgsg "And {i}how{/i} exactly do you plan to hear any music with the volume at zero?" + n 2fchbg "Jeez, [player].{w=0.5}{nw}" extend 1uchgn " How do you even get dressed in the morning with memory like that?!" - n 1ullss "Well, whatever.{w=0.5}{nw}" - extend 1unmaj " So..." + n 3ullss "Well, whatever.{w=0.5}{nw}" + extend 3unmaj " So..." + + show natsuki 3unmboeqm menu: n "Did you want me to turn the music back up so you can pick something?" "Yes.": n 1nchsm "Okey-{w=0.1}dokey!{w=0.2} Just a second..." $ preferences.set_volume("music", 0.75) - n 1fcsbg "And there we are!" - n 1ullss "So...{w=0.5}{nw}" - extend 1unmaj " What did you wanna listen to?" + n 2fcsbg "And there we are!" + n 2ullss "So...{w=0.5}{nw}" + extend 2unmaj " what did you wanna listen to?" + show natsuki idle at jn_left "No.": - n 1fcsbg "The sound of silence it is,{w=0.1} then!{w=0.5}{nw}" - extend 1fchsm " Ehehe." + n 3fcsbg "The sound of silence it is,{w=0.1} then!{w=0.5}{nw}" + extend 3fchsm " Ehehe." + jump ch30_loop else: $ chosen_quip = renpy.substitute(random.choice(jn_custom_music._CHOOSE_PLAY_MUSIC_QUIPS)) - n 1unmbgl "[chosen_quip]" + n 3unmbgl "[chosen_quip]" show natsuki idle at jn_left # We have custom music options, present the choices @@ -200,8 +204,9 @@ label music_menu: if _return == "no_music": $ chosen_no_music_quip = renpy.substitute(random.choice(jn_custom_music._NATSUKI_NO_MUSIC_QUIPS)) - n 1knmsm "[chosen_no_music_quip]" - show natsuki 1fchsm + n 2knmsm "[chosen_no_music_quip]" + + show natsuki 2fchsm $ music_title = "No music" $ jn_custom_music.presentMusicPlayer("playing") @@ -210,13 +215,13 @@ label music_menu: stop music fadeout 2 $ jnPause(2) - n 1uchsm "There you go, [player]!{w=2}{nw}" + n 2uchsm "There you go, [player]!{w=2}{nw}" if persistent.jn_random_music_enabled: # Stop playing random music, if enabled $ persistent.jn_random_music_enabled = False n 1unmaj "Oh{w=0.2} -{w=0.50}{nw}" - extend 1kchbgsbl " and I'll stop switching around the music too.{w=2}{nw}" + extend 3kchbgsbl " and I'll stop switching around the music too.{w=2}{nw}" $ jn_custom_music.hideMusicPlayer() @@ -232,7 +237,7 @@ label music_menu: n 1unmajl "[chosen_question_quip]" $ chosen_answer_quip = renpy.substitute(random.choice(jn_custom_music._NATSUKI_PICK_MUSIC_ANSWER_QUIPS)) - n 1uchbgl "[chosen_answer_quip]" + n 4uchbgl "[chosen_answer_quip]" show natsuki 1fchsmleme $ jn_custom_music.presentMusicPlayer("playing") @@ -242,8 +247,8 @@ label music_menu: $ jnPause(2) $ chosen_search_quip = renpy.substitute(random.choice(jn_custom_music._NATSUKI_PICK_MUSIC_SEARCH_QUIPS)) - n 1ullbgl "[chosen_search_quip]{w=2}{nw}" - show natsuki 1fcspul + n 2ullbgl "[chosen_search_quip]{w=2}{nw}" + show natsuki 4fcspul # If we have more than one track, we can make sure the new chosen track isn't the same as the current one if len(available_custom_music) > 1: @@ -263,8 +268,8 @@ label music_menu: elif _return is not None: $ music_title = store.jn_utils.escapeRenpySubstitutionString(_return.split('/')[-1]) - n 1fwlbg "You got it!{w=2}{nw}" - show natsuki 1fchsmleme + n 2fwlbg "You got it!{w=2}{nw}" + show natsuki 4fchsmleme $ jn_custom_music.presentMusicPlayer("playing") play audio button_tap_c @@ -277,8 +282,8 @@ label music_menu: $ renpy.play(filename=_return, channel="music", fadein=2) $ chosen_done_quip = renpy.substitute(random.choice(jn_custom_music._NATSUKI_PICK_MUSIC_DONE_QUIPS)) - n 1uchbgeme "[chosen_done_quip]{w=2}{nw}" - show natsuki 1fcssm + n 2uchbgeme "[chosen_done_quip]{w=2}{nw}" + show natsuki 2fcssm $ jn_custom_music.hideMusicPlayer() diff --git a/game/definitions.rpy b/game/definitions.rpy index f04a742f..cb14cca1 100644 --- a/game/definitions.rpy +++ b/game/definitions.rpy @@ -17,6 +17,16 @@ init -990 python: import easter _easter = easter.easter(datetime.datetime.today().year) + # zorder constants; use these in place of hard-coded values! + # Remember that higher zorder values are displayed closer to the player! + JN_GLITCH_ZORDER = 99 + JN_BLACK_ZORDER = 10 + JN_OVERLAY_ZORDER = 5 + JN_PROP_ZORDER = 4 + JN_NATSUKI_ZORDER = 3 + JN_DECO_ZORDER = 2 + JN_LOCATION_ZORDER = 1 + define JN_NEW_YEARS_DAY = datetime.date(datetime.date.today().year, 1, 1) define JN_VALENTINES_DAY = datetime.date(datetime.date.today().year, 2, 14) define JN_EASTER = datetime.date(_easter.year, _easter.month, _easter.day) @@ -921,7 +931,7 @@ init -3 python: def jnPause(delay, hard=True): """ - Equivalent to jnPause, but we assume a hard pause so players cannot skip. + Equivalent to Ren'Py's pause, but we assume a hard pause so players cannot skip. IN: - delay - int/decimal amount of time in seconds to wait for @@ -1018,7 +1028,15 @@ init -990 python in jn_globals: "[player]!{w=0.2} What's on your mind?", "Ooh!{w=0.2} What did you wanna talk about?", "I'm all ears,{w=0.1} [player]!", - "I've always got time for you,{w=0.1} [player]!" + "I've always got time for you,{w=0.1} [player]!", + "Hey!{w=0.2} What's up,{w=0.2} [player]?", + "What have you got for me?{w=0.2} Ehehe.", + "[player]!{w=0.2} What's new?", + "[player]!{w=0.2} You wanna talk?", + "Shoot,{w=0.2} [player]!{w=0.3} Ehehe.", + "Shoot,{w=0.2} [player]!", + "Oh!{w=0.2} Oh!{w=0.2} You got something for me?", + "Talk to me,{w=0.2} [player]!{w=0.3} Ehehe." ] # Flavor text for the talk menu at medium affinity @@ -1031,7 +1049,9 @@ init -990 python in jn_globals: "Huh?{w=0.2} What's up?", "You wanna share something?", "What's new,{w=0.1} [player]?", - "'Sup,{w=0.1} [player]?" + "'Sup,{w=0.1} [player]?", + "You wanna talk?", + "Hey,{w=0.2} [player]!" ] # Flavor text for the talk menu at low affinity @@ -1818,7 +1838,8 @@ init -100 python in jn_utils: if store.persistent.affinity >= (store.persistent._jn_gs_aff + 250): store.persistent.affinity = store.persistent._jn_gs_aff - jn_utils.log("434845415421".decode("hex")) + jn_utils.log("434346".decode("hex")) + store.persistent._jn_pic = True else: store.persistent._jn_gs_aff = store.persistent.affinity diff --git a/game/locations.rpy b/game/locations.rpy index 8d5d3d2f..f8d1c004 100644 --- a/game/locations.rpy +++ b/game/locations.rpy @@ -15,8 +15,6 @@ init python in locations: init -20 python: import os - JN_LOCATION_ZORDER = 1 - class Location(object): """ PROPERTIES: @@ -190,7 +188,7 @@ init -20 python: #Draw the room if we're not showing it already if room is not None: - renpy.show(room, tag="main_bg", zorder=JN_LOCATION_ZORDER) + renpy.show(room, tag="main_bg", zorder=store.JN_LOCATION_ZORDER) else: jn_utils.log("Unable to draw room: no room image was found.") @@ -207,7 +205,7 @@ init -20 python: """ room = self.location.get_current_room_image() if room is not None: - renpy.show(room, tag="main_bg", zorder=JN_LOCATION_ZORDER) + renpy.show(room, tag="main_bg", zorder=store.JN_LOCATION_ZORDER) else: jn_utils.log("Unable to show room: no room image was found.") diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_double_white_hairbands/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_double_white_hairbands/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_double_white_hairbands/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_double_white_hairbands/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_gold_star_hairpin/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_gold_star_hairpin/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_gold_star_hairpin/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_gold_star_hairpin/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_cat/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_cat/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_cat/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_cat/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_gray/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_gray/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_gray/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_gray/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_green/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_green/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_green/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_green/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_hot_pink/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_hot_pink/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_hot_pink/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_hot_pink/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_purple/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_purple/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_purple/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_purple/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_red/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_red/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_red/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_red/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_stars/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_stars/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_stars/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_stars/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_white/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_hairband_white/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_hairband_white/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_hairband_white/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_pink_heart_hairpin/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_pink_heart_hairpin/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_pink_heart_hairpin/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_pink_heart_hairpin/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_pink_star_hairpin/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_pink_star_hairpin/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_pink_star_hairpin/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_pink_star_hairpin/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_accessory_purple_rose/sitting.png b/game/mod_assets/natsuki/accessory/jn_accessory_purple_rose/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_accessory_purple_rose/sitting.png rename to game/mod_assets/natsuki/accessory/jn_accessory_purple_rose/sitting.png diff --git a/game/mod_assets/natsuki/sitting/accessory/jn_none/sitting.png b/game/mod_assets/natsuki/accessory/jn_none/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/accessory/jn_none/sitting.png rename to game/mod_assets/natsuki/accessory/jn_none/sitting.png diff --git a/game/mod_assets/natsuki/arms/arms_crossed_body.png b/game/mod_assets/natsuki/arms/arms_crossed_body.png new file mode 100644 index 00000000..84dfc1ee Binary files /dev/null and b/game/mod_assets/natsuki/arms/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/arms/arms_crossed_desk.png b/game/mod_assets/natsuki/arms/arms_crossed_desk.png new file mode 100644 index 00000000..84dfc1ee Binary files /dev/null and b/game/mod_assets/natsuki/arms/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/arms/fingers_on_desk.png b/game/mod_assets/natsuki/arms/fingers_on_desk.png new file mode 100644 index 00000000..a9a0efe1 Binary files /dev/null and b/game/mod_assets/natsuki/arms/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_none/sitting.png b/game/mod_assets/natsuki/arms/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_none/sitting.png rename to game/mod_assets/natsuki/arms/sitting.png diff --git a/game/mod_assets/natsuki/back/jn_back_cat_tail/sitting.png b/game/mod_assets/natsuki/back/jn_back_cat_tail/sitting.png new file mode 100644 index 00000000..8f5e7945 Binary files /dev/null and b/game/mod_assets/natsuki/back/jn_back_cat_tail/sitting.png differ diff --git a/game/mod_assets/natsuki/back/jn_back_fox_tail/sitting.png b/game/mod_assets/natsuki/back/jn_back_fox_tail/sitting.png new file mode 100644 index 00000000..3c5d29a2 Binary files /dev/null and b/game/mod_assets/natsuki/back/jn_back_fox_tail/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_none/sitting.png b/game/mod_assets/natsuki/back/jn_none/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_none/sitting.png rename to game/mod_assets/natsuki/back/jn_none/sitting.png diff --git a/game/mod_assets/natsuki/sitting/base/body.png b/game/mod_assets/natsuki/base/arms_crossed_body/body.png similarity index 100% rename from game/mod_assets/natsuki/sitting/base/body.png rename to game/mod_assets/natsuki/base/arms_crossed_body/body.png diff --git a/game/mod_assets/natsuki/sitting/base/head.png b/game/mod_assets/natsuki/base/arms_crossed_body/head.png similarity index 100% rename from game/mod_assets/natsuki/sitting/base/head.png rename to game/mod_assets/natsuki/base/arms_crossed_body/head.png diff --git a/game/mod_assets/natsuki/base/arms_crossed_desk/body.png b/game/mod_assets/natsuki/base/arms_crossed_desk/body.png new file mode 100644 index 00000000..d53bd577 Binary files /dev/null and b/game/mod_assets/natsuki/base/arms_crossed_desk/body.png differ diff --git a/game/mod_assets/natsuki/base/arms_crossed_desk/head.png b/game/mod_assets/natsuki/base/arms_crossed_desk/head.png new file mode 100644 index 00000000..96d4c26d Binary files /dev/null and b/game/mod_assets/natsuki/base/arms_crossed_desk/head.png differ diff --git a/game/mod_assets/natsuki/base/fingers_on_desk/body.png b/game/mod_assets/natsuki/base/fingers_on_desk/body.png new file mode 100644 index 00000000..d53bd577 Binary files /dev/null and b/game/mod_assets/natsuki/base/fingers_on_desk/body.png differ diff --git a/game/mod_assets/natsuki/base/fingers_on_desk/head.png b/game/mod_assets/natsuki/base/fingers_on_desk/head.png new file mode 100644 index 00000000..96d4c26d Binary files /dev/null and b/game/mod_assets/natsuki/base/fingers_on_desk/head.png differ diff --git a/game/mod_assets/natsuki/base/sitting/body.png b/game/mod_assets/natsuki/base/sitting/body.png new file mode 100644 index 00000000..d53bd577 Binary files /dev/null and b/game/mod_assets/natsuki/base/sitting/body.png differ diff --git a/game/mod_assets/natsuki/base/sitting/head.png b/game/mod_assets/natsuki/base/sitting/head.png new file mode 100644 index 00000000..96d4c26d Binary files /dev/null and b/game/mod_assets/natsuki/base/sitting/head.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/arms_crossed_body.png new file mode 100644 index 00000000..ba07b067 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..ba07b067 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/fingers_on_desk.png new file mode 100644 index 00000000..ba07b067 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/sitting.png new file mode 100644 index 00000000..ba07b067 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_QT_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_autumn_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_body.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_autumn_off_shoulder_sweater/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_body.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..a026d391 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..a026d391 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/sitting.png new file mode 100644 index 00000000..7c11b36f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_autumn_off_shoulder_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..adb8cf22 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..adb8cf22 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..adb8cf22 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_bee_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_bee_off_shoulder_sweater/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_bee_off_shoulder_sweater/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/arms_crossed_body.png new file mode 100644 index 00000000..9cc11643 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/arms_crossed_desk.png new file mode 100644 index 00000000..9cc11643 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/fingers_on_desk.png new file mode 100644 index 00000000..9cc11643 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_bunny_pajamas/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_bunny_pajamas/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_bunny_pajamas/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_casual/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_casual/arms_crossed_body.png new file mode 100644 index 00000000..bf6acccd Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_casual/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_casual/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_casual/arms_crossed_desk.png new file mode 100644 index 00000000..bf6acccd Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_casual/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_casual/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_casual/fingers_on_desk.png new file mode 100644 index 00000000..bf6acccd Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_casual/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_casual/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_casual/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_casual/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_casual/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/arms_crossed_body.png new file mode 100644 index 00000000..d884f89f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/arms_crossed_desk.png new file mode 100644 index 00000000..d884f89f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/fingers_on_desk.png new file mode 100644 index 00000000..d884f89f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_cosy_cardigan/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_cosy_cardigan/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_cosy_cardigan/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..30a778e6 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..30a778e6 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..30a778e6 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/arms_crossed_body.png new file mode 100644 index 00000000..6039089f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..6039089f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/fingers_on_desk.png new file mode 100644 index 00000000..6039089f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_heart_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_heart_sweater/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_heart_sweater/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/arms_crossed_body.png new file mode 100644 index 00000000..c07528d0 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/arms_crossed_desk.png new file mode 100644 index 00000000..c07528d0 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/fingers_on_desk.png new file mode 100644 index 00000000..c07528d0 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_hoodie_not_cute/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_hoodie_not_cute/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_hoodie_not_cute/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/arms_crossed_body.png new file mode 100644 index 00000000..08ee51bb Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/arms_crossed_desk.png new file mode 100644 index 00000000..08ee51bb Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/fingers_on_desk.png new file mode 100644 index 00000000..08ee51bb Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_hoodie_turtleneck/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_hoodie_turtleneck/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_hoodie_turtleneck/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/arms_crossed_body.png new file mode 100644 index 00000000..1aead978 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/arms_crossed_desk.png new file mode 100644 index 00000000..1aead978 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/fingers_on_desk.png new file mode 100644 index 00000000..1aead978 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_lolita_christmas_dress/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_lolita_christmas_dress/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_lolita_christmas_dress/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/arms_crossed_body.png new file mode 100644 index 00000000..7668e12d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/arms_crossed_desk.png new file mode 100644 index 00000000..7668e12d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/fingers_on_desk.png new file mode 100644 index 00000000..7668e12d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_lolita_school_uniform/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_lolita_school_uniform/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_lolita_school_uniform/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/arms_crossed_body.png new file mode 100644 index 00000000..0c4dde3d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/arms_crossed_desk.png new file mode 100644 index 00000000..0c4dde3d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/fingers_on_desk.png new file mode 100644 index 00000000..0c4dde3d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/sitting.png new file mode 100644 index 00000000..0c4dde3d Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_magical_girl/sitting.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..e3cb754f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..e3cb754f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..e3cb754f Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/arms_crossed_body.png new file mode 100644 index 00000000..b3c50f82 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..b3c50f82 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/fingers_on_desk.png new file mode 100644 index 00000000..b3c50f82 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_nya_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_nya_sweater/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_nya_sweater/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/arms_crossed_body.png new file mode 100644 index 00000000..5db47404 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/arms_crossed_desk.png new file mode 100644 index 00000000..5db47404 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/fingers_on_desk.png new file mode 100644 index 00000000..5db47404 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/sitting.png new file mode 100644 index 00000000..5db47404 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_pastel_goth_overalls/sitting.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/arms_crossed_body.png new file mode 100644 index 00000000..5259b312 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..5259b312 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/fingers_on_desk.png new file mode 100644 index 00000000..5259b312 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/sitting.png new file mode 100644 index 00000000..5259b312 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_qeeb_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/arms_crossed_body.png new file mode 100644 index 00000000..4d137d21 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/arms_crossed_desk.png new file mode 100644 index 00000000..4d137d21 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/fingers_on_desk.png new file mode 100644 index 00000000..4d137d21 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_red_rose_lace_dress/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_red_rose_lace_dress/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_red_rose_lace_dress/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/arms_crossed_body.png new file mode 100644 index 00000000..83d70d01 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/arms_crossed_desk.png new file mode 100644 index 00000000..83d70d01 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/fingers_on_desk.png new file mode 100644 index 00000000..83d70d01 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_rose_lace_dress/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_rose_lace_dress/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_rose_lace_dress/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/arms_crossed_body.png new file mode 100644 index 00000000..c1bc9130 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..c1bc9130 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/fingers_on_desk.png new file mode 100644 index 00000000..c1bc9130 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/sitting.png new file mode 100644 index 00000000..c1bc9130 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffle_neck_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/arms_crossed_body.png new file mode 100644 index 00000000..479ed0fe Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/arms_crossed_desk.png new file mode 100644 index 00000000..479ed0fe Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/fingers_on_desk.png new file mode 100644 index 00000000..479ed0fe Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_ruffled_swimsuit/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_ruffled_swimsuit/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_ruffled_swimsuit/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/arms_crossed_body.png new file mode 100644 index 00000000..1fe9a826 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/arms_crossed_desk.png new file mode 100644 index 00000000..1fe9a826 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/fingers_on_desk.png new file mode 100644 index 00000000..1fe9a826 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_sango_cosplay/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_sango_cosplay/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_sango_cosplay/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/arms_crossed_body.png new file mode 100644 index 00000000..a597f7a9 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/arms_crossed_desk.png new file mode 100644 index 00000000..a597f7a9 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/fingers_on_desk.png new file mode 100644 index 00000000..a597f7a9 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_school_uniform/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_school_uniform/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_school_uniform/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/arms_crossed_body.png new file mode 100644 index 00000000..c44834e5 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/arms_crossed_desk.png new file mode 100644 index 00000000..c44834e5 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/fingers_on_desk.png new file mode 100644 index 00000000..c44834e5 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_skater_shirt/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_skater_shirt/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_skater_shirt/sitting.png diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/arms_crossed_body.png new file mode 100644 index 00000000..e9ae8544 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/arms_crossed_desk.png new file mode 100644 index 00000000..e9ae8544 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/fingers_on_desk.png new file mode 100644 index 00000000..e9ae8544 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/sitting.png new file mode 100644 index 00000000..e9ae8544 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_star_pajamas/sitting.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/arms_crossed_body.png b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/arms_crossed_body.png new file mode 100644 index 00000000..d8060d86 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/arms_crossed_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/arms_crossed_desk.png new file mode 100644 index 00000000..d8060d86 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/fingers_on_desk.png b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/fingers_on_desk.png new file mode 100644 index 00000000..d8060d86 Binary files /dev/null and b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_trainer_cosplay/sitting.png b/game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/clothes/jn_clothes_trainer_cosplay/sitting.png rename to game/mod_assets/natsuki/clothes/jn_clothes_trainer_cosplay/sitting.png diff --git a/game/mod_assets/natsuki/desk/chair_normal.png b/game/mod_assets/natsuki/desk/chair/chair_normal.png similarity index 100% rename from game/mod_assets/natsuki/desk/chair_normal.png rename to game/mod_assets/natsuki/desk/chair/chair_normal.png diff --git a/game/mod_assets/natsuki/desk/table_affectionate.png b/game/mod_assets/natsuki/desk/table/table_affectionate.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_affectionate.png rename to game/mod_assets/natsuki/desk/table/table_affectionate.png diff --git a/game/mod_assets/natsuki/desk/table_broken.png b/game/mod_assets/natsuki/desk/table/table_broken.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_broken.png rename to game/mod_assets/natsuki/desk/table/table_broken.png diff --git a/game/mod_assets/natsuki/desk/table_distressed.png b/game/mod_assets/natsuki/desk/table/table_distressed.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_distressed.png rename to game/mod_assets/natsuki/desk/table/table_distressed.png diff --git a/game/mod_assets/natsuki/desk/table_enamored.png b/game/mod_assets/natsuki/desk/table/table_enamored.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_enamored.png rename to game/mod_assets/natsuki/desk/table/table_enamored.png diff --git a/game/mod_assets/natsuki/desk/table_love.png b/game/mod_assets/natsuki/desk/table/table_love.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_love.png rename to game/mod_assets/natsuki/desk/table/table_love.png diff --git a/game/mod_assets/natsuki/desk/table_normal.png b/game/mod_assets/natsuki/desk/table/table_normal.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_normal.png rename to game/mod_assets/natsuki/desk/table/table_normal.png diff --git a/game/mod_assets/natsuki/desk/table_ruined.png b/game/mod_assets/natsuki/desk/table/table_ruined.png similarity index 100% rename from game/mod_assets/natsuki/desk/table_ruined.png rename to game/mod_assets/natsuki/desk/table/table_ruined.png diff --git a/game/mod_assets/natsuki/desk/table_shadow/arms_crossed_desk.png b/game/mod_assets/natsuki/desk/table_shadow/arms_crossed_desk.png new file mode 100644 index 00000000..2b3a48a8 Binary files /dev/null and b/game/mod_assets/natsuki/desk/table_shadow/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_none/sitting.png b/game/mod_assets/natsuki/desk/table_shadow/fingers_on_desk.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_none/sitting.png rename to game/mod_assets/natsuki/desk/table_shadow/fingers_on_desk.png diff --git a/game/mod_assets/natsuki/sitting/emote/affection.png b/game/mod_assets/natsuki/emote/sitting/affection.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/affection.png rename to game/mod_assets/natsuki/emote/sitting/affection.png diff --git a/game/mod_assets/natsuki/sitting/emote/anger.png b/game/mod_assets/natsuki/emote/sitting/anger.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/anger.png rename to game/mod_assets/natsuki/emote/sitting/anger.png diff --git a/game/mod_assets/natsuki/sitting/emote/dazzle.png b/game/mod_assets/natsuki/emote/sitting/dazzle.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/dazzle.png rename to game/mod_assets/natsuki/emote/sitting/dazzle.png diff --git a/game/mod_assets/natsuki/sitting/emote/dread.png b/game/mod_assets/natsuki/emote/sitting/dread.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/dread.png rename to game/mod_assets/natsuki/emote/sitting/dread.png diff --git a/game/mod_assets/natsuki/sitting/emote/exclamation.png b/game/mod_assets/natsuki/emote/sitting/exclamation.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/exclamation.png rename to game/mod_assets/natsuki/emote/sitting/exclamation.png diff --git a/game/mod_assets/natsuki/sitting/emote/idea.png b/game/mod_assets/natsuki/emote/sitting/idea.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/idea.png rename to game/mod_assets/natsuki/emote/sitting/idea.png diff --git a/game/mod_assets/natsuki/sitting/emote/laughter.png b/game/mod_assets/natsuki/emote/sitting/laughter.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/laughter.png rename to game/mod_assets/natsuki/emote/sitting/laughter.png diff --git a/game/mod_assets/natsuki/sitting/emote/merry.png b/game/mod_assets/natsuki/emote/sitting/merry.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/merry.png rename to game/mod_assets/natsuki/emote/sitting/merry.png diff --git a/game/mod_assets/natsuki/sitting/emote/question_mark.png b/game/mod_assets/natsuki/emote/sitting/question_mark.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/question_mark.png rename to game/mod_assets/natsuki/emote/sitting/question_mark.png diff --git a/game/mod_assets/natsuki/sitting/emote/sad.png b/game/mod_assets/natsuki/emote/sitting/sad.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/sad.png rename to game/mod_assets/natsuki/emote/sitting/sad.png diff --git a/game/mod_assets/natsuki/sitting/emote/shock.png b/game/mod_assets/natsuki/emote/sitting/shock.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/shock.png rename to game/mod_assets/natsuki/emote/sitting/shock.png diff --git a/game/mod_assets/natsuki/sitting/emote/sigh.png b/game/mod_assets/natsuki/emote/sitting/sigh.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/sigh.png rename to game/mod_assets/natsuki/emote/sitting/sigh.png diff --git a/game/mod_assets/natsuki/sitting/emote/sleepy.png b/game/mod_assets/natsuki/emote/sitting/sleepy.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/sleepy.png rename to game/mod_assets/natsuki/emote/sitting/sleepy.png diff --git a/game/mod_assets/natsuki/emote/sitting/smug.png b/game/mod_assets/natsuki/emote/sitting/smug.png new file mode 100644 index 00000000..d736b35a Binary files /dev/null and b/game/mod_assets/natsuki/emote/sitting/smug.png differ diff --git a/game/mod_assets/natsuki/sitting/emote/somber.png b/game/mod_assets/natsuki/emote/sitting/somber.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/somber.png rename to game/mod_assets/natsuki/emote/sitting/somber.png diff --git a/game/mod_assets/natsuki/sitting/emote/speech.png b/game/mod_assets/natsuki/emote/sitting/speech.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/speech.png rename to game/mod_assets/natsuki/emote/sitting/speech.png diff --git a/game/mod_assets/natsuki/sitting/emote/surprise.png b/game/mod_assets/natsuki/emote/sitting/surprise.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/surprise.png rename to game/mod_assets/natsuki/emote/sitting/surprise.png diff --git a/game/mod_assets/natsuki/sitting/emote/sweat_drop.png b/game/mod_assets/natsuki/emote/sitting/sweat_drop.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/sweat_drop.png rename to game/mod_assets/natsuki/emote/sitting/sweat_drop.png diff --git a/game/mod_assets/natsuki/sitting/emote/sweat_small.png b/game/mod_assets/natsuki/emote/sitting/sweat_small.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/sweat_small.png rename to game/mod_assets/natsuki/emote/sitting/sweat_small.png diff --git a/game/mod_assets/natsuki/sitting/emote/sweat_spritz.png b/game/mod_assets/natsuki/emote/sitting/sweat_spritz.png similarity index 100% rename from game/mod_assets/natsuki/sitting/emote/sweat_spritz.png rename to game/mod_assets/natsuki/emote/sitting/sweat_spritz.png diff --git a/game/mod_assets/natsuki/sitting/etc/empty.png b/game/mod_assets/natsuki/etc/empty.png similarity index 100% rename from game/mod_assets/natsuki/sitting/etc/empty.png rename to game/mod_assets/natsuki/etc/empty.png diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_rectangular_glasses_black/sitting.png b/game/mod_assets/natsuki/eyewear/jn_eyewear_rectangular_glasses_black/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_rectangular_glasses_black/sitting.png rename to game/mod_assets/natsuki/eyewear/jn_eyewear_rectangular_glasses_black/sitting.png diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_rectangular_glasses_red/sitting.png b/game/mod_assets/natsuki/eyewear/jn_eyewear_rectangular_glasses_red/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_rectangular_glasses_red/sitting.png rename to game/mod_assets/natsuki/eyewear/jn_eyewear_rectangular_glasses_red/sitting.png diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_glasses_black/sitting.png b/game/mod_assets/natsuki/eyewear/jn_eyewear_round_glasses_black/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_glasses_black/sitting.png rename to game/mod_assets/natsuki/eyewear/jn_eyewear_round_glasses_black/sitting.png diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_glasses_brown/sitting.png b/game/mod_assets/natsuki/eyewear/jn_eyewear_round_glasses_brown/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_glasses_brown/sitting.png rename to game/mod_assets/natsuki/eyewear/jn_eyewear_round_glasses_brown/sitting.png diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_glasses_red/sitting.png b/game/mod_assets/natsuki/eyewear/jn_eyewear_round_glasses_red/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_glasses_red/sitting.png rename to game/mod_assets/natsuki/eyewear/jn_eyewear_round_glasses_red/sitting.png diff --git a/game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_sunglasses/sitting.png b/game/mod_assets/natsuki/eyewear/jn_eyewear_round_sunglasses/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/eyewear/jn_eyewear_round_sunglasses/sitting.png rename to game/mod_assets/natsuki/eyewear/jn_eyewear_round_sunglasses/sitting.png diff --git a/game/mod_assets/natsuki/eyewear/jn_none/sitting.png b/game/mod_assets/natsuki/eyewear/jn_none/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/eyewear/jn_none/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/face/blush/full.png b/game/mod_assets/natsuki/face/blush/sitting/full.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/blush/full.png rename to game/mod_assets/natsuki/face/blush/sitting/full.png diff --git a/game/mod_assets/natsuki/sitting/face/blush/ill.png b/game/mod_assets/natsuki/face/blush/sitting/ill.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/blush/ill.png rename to game/mod_assets/natsuki/face/blush/sitting/ill.png diff --git a/game/mod_assets/natsuki/sitting/face/blush/light.png b/game/mod_assets/natsuki/face/blush/sitting/light.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/blush/light.png rename to game/mod_assets/natsuki/face/blush/sitting/light.png diff --git a/game/mod_assets/natsuki/sitting/face/eyebrows/furrowed.png b/game/mod_assets/natsuki/face/eyebrows/sitting/furrowed.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyebrows/furrowed.png rename to game/mod_assets/natsuki/face/eyebrows/sitting/furrowed.png diff --git a/game/mod_assets/natsuki/sitting/face/eyebrows/knit.png b/game/mod_assets/natsuki/face/eyebrows/sitting/knit.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyebrows/knit.png rename to game/mod_assets/natsuki/face/eyebrows/sitting/knit.png diff --git a/game/mod_assets/natsuki/sitting/face/eyebrows/normal.png b/game/mod_assets/natsuki/face/eyebrows/sitting/normal.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyebrows/normal.png rename to game/mod_assets/natsuki/face/eyebrows/sitting/normal.png diff --git a/game/mod_assets/natsuki/sitting/face/eyebrows/think.png b/game/mod_assets/natsuki/face/eyebrows/sitting/think.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyebrows/think.png rename to game/mod_assets/natsuki/face/eyebrows/sitting/think.png diff --git a/game/mod_assets/natsuki/sitting/face/eyebrows/up.png b/game/mod_assets/natsuki/face/eyebrows/sitting/up.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyebrows/up.png rename to game/mod_assets/natsuki/face/eyebrows/sitting/up.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/baka.png b/game/mod_assets/natsuki/face/eyes/sitting/baka.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/baka.png rename to game/mod_assets/natsuki/face/eyes/sitting/baka.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/circle_tears.png b/game/mod_assets/natsuki/face/eyes/sitting/circle_tears.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/circle_tears.png rename to game/mod_assets/natsuki/face/eyes/sitting/circle_tears.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/closed_happy.png b/game/mod_assets/natsuki/face/eyes/sitting/closed_happy.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/closed_happy.png rename to game/mod_assets/natsuki/face/eyes/sitting/closed_happy.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/closed_sad.png b/game/mod_assets/natsuki/face/eyes/sitting/closed_sad.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/closed_sad.png rename to game/mod_assets/natsuki/face/eyes/sitting/closed_sad.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/cute.png b/game/mod_assets/natsuki/face/eyes/sitting/cute.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/cute.png rename to game/mod_assets/natsuki/face/eyes/sitting/cute.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/doubt.png b/game/mod_assets/natsuki/face/eyes/sitting/doubt.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/doubt.png rename to game/mod_assets/natsuki/face/eyes/sitting/doubt.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/down.png b/game/mod_assets/natsuki/face/eyes/sitting/down.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/down.png rename to game/mod_assets/natsuki/face/eyes/sitting/down.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/look_left.png b/game/mod_assets/natsuki/face/eyes/sitting/look_left.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/look_left.png rename to game/mod_assets/natsuki/face/eyes/sitting/look_left.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/look_right.png b/game/mod_assets/natsuki/face/eyes/sitting/look_right.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/look_right.png rename to game/mod_assets/natsuki/face/eyes/sitting/look_right.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/normal.png b/game/mod_assets/natsuki/face/eyes/sitting/normal.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/normal.png rename to game/mod_assets/natsuki/face/eyes/sitting/normal.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/pained.png b/game/mod_assets/natsuki/face/eyes/sitting/pained.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/pained.png rename to game/mod_assets/natsuki/face/eyes/sitting/pained.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/pleading.png b/game/mod_assets/natsuki/face/eyes/sitting/pleading.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/pleading.png rename to game/mod_assets/natsuki/face/eyes/sitting/pleading.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/scared.png b/game/mod_assets/natsuki/face/eyes/sitting/scared.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/scared.png rename to game/mod_assets/natsuki/face/eyes/sitting/scared.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/shocked.png b/game/mod_assets/natsuki/face/eyes/sitting/shocked.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/shocked.png rename to game/mod_assets/natsuki/face/eyes/sitting/shocked.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/smug.png b/game/mod_assets/natsuki/face/eyes/sitting/smug.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/smug.png rename to game/mod_assets/natsuki/face/eyes/sitting/smug.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/sparkle.png b/game/mod_assets/natsuki/face/eyes/sitting/sparkle.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/sparkle.png rename to game/mod_assets/natsuki/face/eyes/sitting/sparkle.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/squint.png b/game/mod_assets/natsuki/face/eyes/sitting/squint.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/squint.png rename to game/mod_assets/natsuki/face/eyes/sitting/squint.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/squint_left.png b/game/mod_assets/natsuki/face/eyes/sitting/squint_left.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/squint_left.png rename to game/mod_assets/natsuki/face/eyes/sitting/squint_left.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/squint_right.png b/game/mod_assets/natsuki/face/eyes/sitting/squint_right.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/squint_right.png rename to game/mod_assets/natsuki/face/eyes/sitting/squint_right.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/unamused.png b/game/mod_assets/natsuki/face/eyes/sitting/unamused.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/unamused.png rename to game/mod_assets/natsuki/face/eyes/sitting/unamused.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/up.png b/game/mod_assets/natsuki/face/eyes/sitting/up.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/up.png rename to game/mod_assets/natsuki/face/eyes/sitting/up.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/warm.png b/game/mod_assets/natsuki/face/eyes/sitting/warm.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/warm.png rename to game/mod_assets/natsuki/face/eyes/sitting/warm.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/wide.png b/game/mod_assets/natsuki/face/eyes/sitting/wide.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/wide.png rename to game/mod_assets/natsuki/face/eyes/sitting/wide.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/wink_left.png b/game/mod_assets/natsuki/face/eyes/sitting/wink_left.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/wink_left.png rename to game/mod_assets/natsuki/face/eyes/sitting/wink_left.png diff --git a/game/mod_assets/natsuki/sitting/face/eyes/wink_right.png b/game/mod_assets/natsuki/face/eyes/sitting/wink_right.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/eyes/wink_right.png rename to game/mod_assets/natsuki/face/eyes/sitting/wink_right.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/agape.png b/game/mod_assets/natsuki/face/mouth/sitting/agape.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/agape.png rename to game/mod_assets/natsuki/face/mouth/sitting/agape.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/ajar.png b/game/mod_assets/natsuki/face/mouth/sitting/ajar.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/ajar.png rename to game/mod_assets/natsuki/face/mouth/sitting/ajar.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/angry.png b/game/mod_assets/natsuki/face/mouth/sitting/angry.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/angry.png rename to game/mod_assets/natsuki/face/mouth/sitting/angry.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/awe.png b/game/mod_assets/natsuki/face/mouth/sitting/awe.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/awe.png rename to game/mod_assets/natsuki/face/mouth/sitting/awe.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/big.png b/game/mod_assets/natsuki/face/mouth/sitting/big.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/big.png rename to game/mod_assets/natsuki/face/mouth/sitting/big.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/big_smile.png b/game/mod_assets/natsuki/face/mouth/sitting/big_smile.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/big_smile.png rename to game/mod_assets/natsuki/face/mouth/sitting/big_smile.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/blep.png b/game/mod_assets/natsuki/face/mouth/sitting/blep.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/blep.png rename to game/mod_assets/natsuki/face/mouth/sitting/blep.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/bored.png b/game/mod_assets/natsuki/face/mouth/sitting/bored.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/bored.png rename to game/mod_assets/natsuki/face/mouth/sitting/bored.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/caret.png b/game/mod_assets/natsuki/face/mouth/sitting/caret.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/caret.png rename to game/mod_assets/natsuki/face/mouth/sitting/caret.png diff --git a/game/mod_assets/natsuki/face/mouth/sitting/cat_smug.png b/game/mod_assets/natsuki/face/mouth/sitting/cat_smug.png new file mode 100644 index 00000000..02aefa0d Binary files /dev/null and b/game/mod_assets/natsuki/face/mouth/sitting/cat_smug.png differ diff --git a/game/mod_assets/natsuki/sitting/face/mouth/catty.png b/game/mod_assets/natsuki/face/mouth/sitting/catty.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/catty.png rename to game/mod_assets/natsuki/face/mouth/sitting/catty.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/devious.png b/game/mod_assets/natsuki/face/mouth/sitting/devious.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/devious.png rename to game/mod_assets/natsuki/face/mouth/sitting/devious.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/drink.png b/game/mod_assets/natsuki/face/mouth/sitting/drink.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/drink.png rename to game/mod_assets/natsuki/face/mouth/sitting/drink.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/embarrassed.png b/game/mod_assets/natsuki/face/mouth/sitting/embarrassed.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/embarrassed.png rename to game/mod_assets/natsuki/face/mouth/sitting/embarrassed.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/flat_smile.png b/game/mod_assets/natsuki/face/mouth/sitting/flat_smile.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/flat_smile.png rename to game/mod_assets/natsuki/face/mouth/sitting/flat_smile.png diff --git a/game/mod_assets/natsuki/face/mouth/sitting/flustered.png b/game/mod_assets/natsuki/face/mouth/sitting/flustered.png new file mode 100644 index 00000000..5f5bce1e Binary files /dev/null and b/game/mod_assets/natsuki/face/mouth/sitting/flustered.png differ diff --git a/game/mod_assets/natsuki/sitting/face/mouth/focus.png b/game/mod_assets/natsuki/face/mouth/sitting/focus.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/focus.png rename to game/mod_assets/natsuki/face/mouth/sitting/focus.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/frown.png b/game/mod_assets/natsuki/face/mouth/sitting/frown.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/frown.png rename to game/mod_assets/natsuki/face/mouth/sitting/frown.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/furious.png b/game/mod_assets/natsuki/face/mouth/sitting/furious.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/furious.png rename to game/mod_assets/natsuki/face/mouth/sitting/furious.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/gasp.png b/game/mod_assets/natsuki/face/mouth/sitting/gasp.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/gasp.png rename to game/mod_assets/natsuki/face/mouth/sitting/gasp.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/glub.png b/game/mod_assets/natsuki/face/mouth/sitting/glub.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/glub.png rename to game/mod_assets/natsuki/face/mouth/sitting/glub.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/grin.png b/game/mod_assets/natsuki/face/mouth/sitting/grin.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/grin.png rename to game/mod_assets/natsuki/face/mouth/sitting/grin.png diff --git a/game/mod_assets/natsuki/face/mouth/sitting/grit_teeth.png b/game/mod_assets/natsuki/face/mouth/sitting/grit_teeth.png new file mode 100644 index 00000000..7427155d Binary files /dev/null and b/game/mod_assets/natsuki/face/mouth/sitting/grit_teeth.png differ diff --git a/game/mod_assets/natsuki/sitting/face/mouth/laugh.png b/game/mod_assets/natsuki/face/mouth/sitting/laugh.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/laugh.png rename to game/mod_assets/natsuki/face/mouth/sitting/laugh.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/nervous.png b/game/mod_assets/natsuki/face/mouth/sitting/nervous.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/nervous.png rename to game/mod_assets/natsuki/face/mouth/sitting/nervous.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/pout.png b/game/mod_assets/natsuki/face/mouth/sitting/pout.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/pout.png rename to game/mod_assets/natsuki/face/mouth/sitting/pout.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/pursed.png b/game/mod_assets/natsuki/face/mouth/sitting/pursed.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/pursed.png rename to game/mod_assets/natsuki/face/mouth/sitting/pursed.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/scream.png b/game/mod_assets/natsuki/face/mouth/sitting/scream.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/scream.png rename to game/mod_assets/natsuki/face/mouth/sitting/scream.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/serious.png b/game/mod_assets/natsuki/face/mouth/sitting/serious.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/serious.png rename to game/mod_assets/natsuki/face/mouth/sitting/serious.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/shock.png b/game/mod_assets/natsuki/face/mouth/sitting/shock.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/shock.png rename to game/mod_assets/natsuki/face/mouth/sitting/shock.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/slant.png b/game/mod_assets/natsuki/face/mouth/sitting/slant.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/slant.png rename to game/mod_assets/natsuki/face/mouth/sitting/slant.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/small.png b/game/mod_assets/natsuki/face/mouth/sitting/small.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/small.png rename to game/mod_assets/natsuki/face/mouth/sitting/small.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/small_frown.png b/game/mod_assets/natsuki/face/mouth/sitting/small_frown.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/small_frown.png rename to game/mod_assets/natsuki/face/mouth/sitting/small_frown.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/small_smile.png b/game/mod_assets/natsuki/face/mouth/sitting/small_smile.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/small_smile.png rename to game/mod_assets/natsuki/face/mouth/sitting/small_smile.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/smile.png b/game/mod_assets/natsuki/face/mouth/sitting/smile.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/smile.png rename to game/mod_assets/natsuki/face/mouth/sitting/smile.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/smirk.png b/game/mod_assets/natsuki/face/mouth/sitting/smirk.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/smirk.png rename to game/mod_assets/natsuki/face/mouth/sitting/smirk.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/smug.png b/game/mod_assets/natsuki/face/mouth/sitting/smug.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/smug.png rename to game/mod_assets/natsuki/face/mouth/sitting/smug.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/tease.png b/game/mod_assets/natsuki/face/mouth/sitting/tease.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/tease.png rename to game/mod_assets/natsuki/face/mouth/sitting/tease.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/triangle.png b/game/mod_assets/natsuki/face/mouth/sitting/triangle.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/triangle.png rename to game/mod_assets/natsuki/face/mouth/sitting/triangle.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/uneasy.png b/game/mod_assets/natsuki/face/mouth/sitting/uneasy.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/uneasy.png rename to game/mod_assets/natsuki/face/mouth/sitting/uneasy.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/upset.png b/game/mod_assets/natsuki/face/mouth/sitting/upset.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/upset.png rename to game/mod_assets/natsuki/face/mouth/sitting/upset.png diff --git a/game/mod_assets/natsuki/sitting/face/mouth/worried.png b/game/mod_assets/natsuki/face/mouth/sitting/worried.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/mouth/worried.png rename to game/mod_assets/natsuki/face/mouth/sitting/worried.png diff --git a/game/mod_assets/natsuki/sitting/face/nose/nose.png b/game/mod_assets/natsuki/face/nose/sitting/nose.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/nose/nose.png rename to game/mod_assets/natsuki/face/nose/sitting/nose.png diff --git a/game/mod_assets/natsuki/sitting/face/sweat/bead_left.png b/game/mod_assets/natsuki/face/sweat/sitting/bead_left.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/sweat/bead_left.png rename to game/mod_assets/natsuki/face/sweat/sitting/bead_left.png diff --git a/game/mod_assets/natsuki/sitting/face/sweat/bead_right.png b/game/mod_assets/natsuki/face/sweat/sitting/bead_right.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/sweat/bead_right.png rename to game/mod_assets/natsuki/face/sweat/sitting/bead_right.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/double_stream_closed.png b/game/mod_assets/natsuki/face/tears/sitting/double_stream_closed.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/double_stream_closed.png rename to game/mod_assets/natsuki/face/tears/sitting/double_stream_closed.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/double_stream_narrow.png b/game/mod_assets/natsuki/face/tears/sitting/double_stream_narrow.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/double_stream_narrow.png rename to game/mod_assets/natsuki/face/tears/sitting/double_stream_narrow.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/single_stream_regular.png b/game/mod_assets/natsuki/face/tears/sitting/double_stream_regular.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/single_stream_regular.png rename to game/mod_assets/natsuki/face/tears/sitting/double_stream_regular.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/dried.png b/game/mod_assets/natsuki/face/tears/sitting/dried.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/dried.png rename to game/mod_assets/natsuki/face/tears/sitting/dried.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/single_pooled_closed.png b/game/mod_assets/natsuki/face/tears/sitting/single_pooled_closed.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/single_pooled_closed.png rename to game/mod_assets/natsuki/face/tears/sitting/single_pooled_closed.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/single_pooled_narrow.png b/game/mod_assets/natsuki/face/tears/sitting/single_pooled_narrow.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/single_pooled_narrow.png rename to game/mod_assets/natsuki/face/tears/sitting/single_pooled_narrow.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/single_pooled_regular.png b/game/mod_assets/natsuki/face/tears/sitting/single_pooled_regular.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/single_pooled_regular.png rename to game/mod_assets/natsuki/face/tears/sitting/single_pooled_regular.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/single_stream_closed.png b/game/mod_assets/natsuki/face/tears/sitting/single_stream_closed.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/single_stream_closed.png rename to game/mod_assets/natsuki/face/tears/sitting/single_stream_closed.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/single_stream_narrow.png b/game/mod_assets/natsuki/face/tears/sitting/single_stream_narrow.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/single_stream_narrow.png rename to game/mod_assets/natsuki/face/tears/sitting/single_stream_narrow.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/double_stream_regular.png b/game/mod_assets/natsuki/face/tears/sitting/single_stream_regular.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/double_stream_regular.png rename to game/mod_assets/natsuki/face/tears/sitting/single_stream_regular.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/spritz.png b/game/mod_assets/natsuki/face/tears/sitting/spritz.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/spritz.png rename to game/mod_assets/natsuki/face/tears/sitting/spritz.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/wink_pooled_left.png b/game/mod_assets/natsuki/face/tears/sitting/wink_pooled_left.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/wink_pooled_left.png rename to game/mod_assets/natsuki/face/tears/sitting/wink_pooled_left.png diff --git a/game/mod_assets/natsuki/sitting/face/tears/wink_pooled_right.png b/game/mod_assets/natsuki/face/tears/sitting/wink_pooled_right.png similarity index 100% rename from game/mod_assets/natsuki/sitting/face/tears/wink_pooled_right.png rename to game/mod_assets/natsuki/face/tears/sitting/wink_pooled_right.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_small/sitting.png b/game/mod_assets/natsuki/facewear/jn_facewear_plasters/sitting.png similarity index 58% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_small/sitting.png rename to game/mod_assets/natsuki/facewear/jn_facewear_plasters/sitting.png index 5ef7917c..e6527c80 100644 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_small/sitting.png and b/game/mod_assets/natsuki/facewear/jn_facewear_plasters/sitting.png differ diff --git a/game/mod_assets/natsuki/facewear/jn_facewear_sprinkles/sitting.png b/game/mod_assets/natsuki/facewear/jn_facewear_sprinkles/sitting.png new file mode 100644 index 00000000..ca5d778d Binary files /dev/null and b/game/mod_assets/natsuki/facewear/jn_facewear_sprinkles/sitting.png differ diff --git a/game/mod_assets/natsuki/facewear/jn_none/sitting.png b/game/mod_assets/natsuki/facewear/jn_none/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/facewear/jn_none/sitting.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_bedhead/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_bedhead/sitting/back.png new file mode 100644 index 00000000..65aa2047 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_bedhead/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_bedhead/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_bedhead/sitting/bangs.png new file mode 100644 index 00000000..c0a29971 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_bedhead/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_bun/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_bun/sitting/back.png new file mode 100644 index 00000000..105e5445 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_bun/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_bun/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_bun/sitting/bangs.png new file mode 100644 index 00000000..7e523bbd Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_bun/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_down/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_down/sitting/back.png new file mode 100644 index 00000000..2f621424 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_down/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_down/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_down/sitting/bangs.png new file mode 100644 index 00000000..64e0252d Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_down/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_down_long/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_down_long/sitting/back.png new file mode 100644 index 00000000..c46cb727 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_down_long/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_down_long/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_down_long/sitting/bangs.png new file mode 100644 index 00000000..aaf01a7e Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_down_long/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_high_hoops/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_high_hoops/sitting/back.png new file mode 100644 index 00000000..7df51391 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_high_hoops/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_high_hoops/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_high_hoops/sitting/bangs.png new file mode 100644 index 00000000..0243c9be Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_high_hoops/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_low_bun/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_low_bun/sitting/back.png new file mode 100644 index 00000000..ebd847e7 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_low_bun/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_low_bun/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_low_bun/sitting/bangs.png new file mode 100644 index 00000000..7e523bbd Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_low_bun/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_low_hoops/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_low_hoops/sitting/back.png new file mode 100644 index 00000000..07cb96b4 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_low_hoops/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_low_hoops/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_low_hoops/sitting/bangs.png new file mode 100644 index 00000000..0243c9be Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_low_hoops/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_messy_bun/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_messy_bun/sitting/back.png new file mode 100644 index 00000000..c2bb36e0 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_messy_bun/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_messy_bun/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_messy_bun/sitting/bangs.png new file mode 100644 index 00000000..253b4d4b Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_messy_bun/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_pigtails/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_pigtails/sitting/back.png new file mode 100644 index 00000000..716b37ef Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_pigtails/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_pigtails/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_pigtails/sitting/bangs.png new file mode 100644 index 00000000..7e523bbd Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_pigtails/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_pixie_cut/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_pixie_cut/sitting/back.png new file mode 100644 index 00000000..d76b9b6f Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_pixie_cut/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_pixie_cut/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_pixie_cut/sitting/bangs.png new file mode 100644 index 00000000..0829e352 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_pixie_cut/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_ponytail/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_ponytail/sitting/back.png new file mode 100644 index 00000000..42e9be26 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_ponytail/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_ponytail/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_ponytail/sitting/bangs.png new file mode 100644 index 00000000..7e523bbd Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_ponytail/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_princess_braids/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_princess_braids/sitting/back.png new file mode 100644 index 00000000..2f621424 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_princess_braids/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_princess_braids/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_princess_braids/sitting/bangs.png new file mode 100644 index 00000000..ef53bb97 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_princess_braids/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_super_messy/back.png b/game/mod_assets/natsuki/hair/jn_hair_super_messy/sitting/back.png similarity index 100% rename from game/mod_assets/natsuki/sitting/hair/jn_hair_super_messy/back.png rename to game/mod_assets/natsuki/hair/jn_hair_super_messy/sitting/back.png diff --git a/game/mod_assets/natsuki/hair/jn_hair_super_messy/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_super_messy/sitting/bangs.png new file mode 100644 index 00000000..873c5135 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_super_messy/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twin_buns/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_twin_buns/sitting/back.png new file mode 100644 index 00000000..16464762 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twin_buns/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twin_buns/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_twin_buns/sitting/bangs.png new file mode 100644 index 00000000..7e523bbd Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twin_buns/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twintails/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_twintails/sitting/back.png new file mode 100644 index 00000000..1e4cca20 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twintails/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twintails/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_twintails/sitting/bangs.png new file mode 100644 index 00000000..b1f861e6 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twintails/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twintails_long/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_twintails_long/sitting/back.png new file mode 100644 index 00000000..c46cb727 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twintails_long/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twintails_long/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_twintails_long/sitting/bangs.png new file mode 100644 index 00000000..a8f02e4f Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twintails_long/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twintails_white_ribbons/sitting/back.png b/game/mod_assets/natsuki/hair/jn_hair_twintails_white_ribbons/sitting/back.png new file mode 100644 index 00000000..1e4cca20 Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twintails_white_ribbons/sitting/back.png differ diff --git a/game/mod_assets/natsuki/hair/jn_hair_twintails_white_ribbons/sitting/bangs.png b/game/mod_assets/natsuki/hair/jn_hair_twintails_white_ribbons/sitting/bangs.png new file mode 100644 index 00000000..58ed15fe Binary files /dev/null and b/game/mod_assets/natsuki/hair/jn_hair_twintails_white_ribbons/sitting/bangs.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_curly/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_curly/sitting.png new file mode 100644 index 00000000..146eda33 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_curly/sitting.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_double/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_double/sitting.png new file mode 100644 index 00000000..97738837 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_double/sitting.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_heart/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_heart/sitting.png new file mode 100644 index 00000000..259327f7 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_heart/sitting.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_simple/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_simple/sitting.png new file mode 100644 index 00000000..98bd533a Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_simple/sitting.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_small/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_small/sitting.png new file mode 100644 index 00000000..9a34fa77 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_small/sitting.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_swirl/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_swirl/sitting.png new file mode 100644 index 00000000..cb1e46c7 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_swirl/sitting.png differ diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_swoop/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_swoop/sitting.png new file mode 100644 index 00000000..9faac020 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_ahoge_swoop/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_basic_white_headband/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_basic_white_headband/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_basic_white_headband/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_basic_white_headband/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_bee_headband/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_bee_headband/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_bee_headband/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_bee_headband/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_black_beanie/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_black_beanie/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_black_beanie/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_black_beanie/sitting.png diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_cat_ears/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_cat_ears/sitting.png new file mode 100644 index 00000000..264d7acc Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_cat_ears/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_cat_headband/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_cat_headband/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_cat_headband/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_cat_headband/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_classic_party_hat/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_classic_party_hat/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_classic_party_hat/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_classic_party_hat/sitting.png diff --git a/game/mod_assets/natsuki/headgear/jn_headgear_fox_ears/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_fox_ears/sitting.png new file mode 100644 index 00000000..764b10f0 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_headgear_fox_ears/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_hairtie/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_hairtie/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_hairtie/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_hairtie/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_new_year_headband/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_new_year_headband/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_new_year_headband/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_new_year_headband/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_pompoms/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_pompoms/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_pompoms/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_pompoms/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_purple_rose_headband/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_purple_rose_headband/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_purple_rose_headband/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_purple_rose_headband/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_santa_hat/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_santa_hat/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_santa_hat/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_santa_hat/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_sleep_mask/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_sleep_mask/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_sleep_mask/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_sleep_mask/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_spiked_headband/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_spiked_headband/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_spiked_headband/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_spiked_headband/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_teddy_hairpins/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_teddy_hairpins/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_teddy_hairpins/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_teddy_hairpins/sitting.png diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_trainer_hat/sitting.png b/game/mod_assets/natsuki/headgear/jn_headgear_trainer_hat/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/headgear/jn_headgear_trainer_hat/sitting.png rename to game/mod_assets/natsuki/headgear/jn_headgear_trainer_hat/sitting.png diff --git a/game/mod_assets/natsuki/headgear/jn_none/sitting.png b/game/mod_assets/natsuki/headgear/jn_none/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/headgear/jn_none/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_bell_collar/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_bell_collar/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_bell_collar/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_bell_collar/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_black_choker/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_black_choker/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_black_choker/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_black_choker/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_pink_scarf/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_pink_scarf/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_pink_scarf/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_pink_scarf/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_plain_choker/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_plain_choker/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_plain_choker/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_plain_choker/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_sango_choker/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_sango_choker/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_sango_choker/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_sango_choker/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_spiked_choker/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_spiked_choker/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_spiked_choker/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_spiked_choker/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_thin_choker/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_thin_choker/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_thin_choker/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_thin_choker/sitting.png diff --git a/game/mod_assets/natsuki/sitting/necklace/jn_necklace_twirled_choker/sitting.png b/game/mod_assets/natsuki/necklace/jn_necklace_twirled_choker/sitting.png similarity index 100% rename from game/mod_assets/natsuki/sitting/necklace/jn_necklace_twirled_choker/sitting.png rename to game/mod_assets/natsuki/necklace/jn_necklace_twirled_choker/sitting.png diff --git a/game/mod_assets/natsuki/necklace/jn_none/sitting.png b/game/mod_assets/natsuki/necklace/jn_none/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/necklace/jn_none/sitting.png differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_QT_sweater/sitting.png b/game/mod_assets/natsuki/sitting/clothes/jn_clothes_QT_sweater/sitting.png deleted file mode 100644 index 4f3752b6..00000000 Binary files a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_QT_sweater/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_magical_girl/sitting.png b/game/mod_assets/natsuki/sitting/clothes/jn_clothes_magical_girl/sitting.png deleted file mode 100644 index d9db2731..00000000 Binary files a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_magical_girl/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_pastel_goth_overalls/sitting.png b/game/mod_assets/natsuki/sitting/clothes/jn_clothes_pastel_goth_overalls/sitting.png deleted file mode 100644 index 82df30a8..00000000 Binary files a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_pastel_goth_overalls/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_qeeb_sweater/sitting.png b/game/mod_assets/natsuki/sitting/clothes/jn_clothes_qeeb_sweater/sitting.png deleted file mode 100644 index 19240ccf..00000000 Binary files a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_qeeb_sweater/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_sparkly_ballgown/sitting.png b/game/mod_assets/natsuki/sitting/clothes/jn_clothes_sparkly_ballgown/sitting.png deleted file mode 100644 index 6c2faad5..00000000 Binary files a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_sparkly_ballgown/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_star_pajamas/sitting.png b/game/mod_assets/natsuki/sitting/clothes/jn_clothes_star_pajamas/sitting.png deleted file mode 100644 index bf8a63ae..00000000 Binary files a/game/mod_assets/natsuki/sitting/clothes/jn_clothes_star_pajamas/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_bedhead/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_bedhead/back.png deleted file mode 100644 index 0fe12d86..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_bedhead/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_bedhead/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_bedhead/bangs.png deleted file mode 100644 index 3c3258e3..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_bedhead/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_bun/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_bun/back.png deleted file mode 100644 index 9b5ad668..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_bun/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_bun/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_bun/bangs.png deleted file mode 100644 index 9d572078..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_bun/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_down/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_down/back.png deleted file mode 100644 index 957985bf..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_down/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_down/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_down/bangs.png deleted file mode 100644 index cf1a9ac5..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_down/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_down_long/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_down_long/back.png deleted file mode 100644 index 292ef6fe..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_down_long/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_down_long/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_down_long/bangs.png deleted file mode 100644 index f255e4b1..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_down_long/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_high_hoops/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_high_hoops/back.png deleted file mode 100644 index cc8705c4..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_high_hoops/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_high_hoops/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_high_hoops/bangs.png deleted file mode 100644 index 4ae2845a..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_high_hoops/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_bun/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_low_bun/back.png deleted file mode 100644 index c63e7fda..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_bun/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_bun/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_low_bun/bangs.png deleted file mode 100644 index ab36cabd..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_bun/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_hoops/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_low_hoops/back.png deleted file mode 100644 index 058f8eb8..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_hoops/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_hoops/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_low_hoops/bangs.png deleted file mode 100644 index dbc67984..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_low_hoops/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_messy_bun/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_messy_bun/back.png deleted file mode 100644 index 245d3635..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_messy_bun/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_messy_bun/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_messy_bun/bangs.png deleted file mode 100644 index cf1a9ac5..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_messy_bun/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_pigtails/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_pigtails/back.png deleted file mode 100644 index 8593ecc7..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_pigtails/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_pigtails/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_pigtails/bangs.png deleted file mode 100644 index 9d572078..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_pigtails/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_pixie_cut/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_pixie_cut/back.png deleted file mode 100644 index e9c390bb..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_pixie_cut/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_pixie_cut/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_pixie_cut/bangs.png deleted file mode 100644 index 4ae2845a..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_pixie_cut/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_ponytail/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_ponytail/back.png deleted file mode 100644 index 239da20f..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_ponytail/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_ponytail/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_ponytail/bangs.png deleted file mode 100644 index 9d572078..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_ponytail/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_princess_braids/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_princess_braids/back.png deleted file mode 100644 index 957985bf..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_princess_braids/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_princess_braids/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_princess_braids/bangs.png deleted file mode 100644 index c3863afe..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_princess_braids/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_super_messy/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_super_messy/bangs.png deleted file mode 100644 index 55dcaee4..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_super_messy/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twin_buns/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twin_buns/back.png deleted file mode 100644 index 80c0ca50..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twin_buns/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twin_buns/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twin_buns/bangs.png deleted file mode 100644 index 47c60bda..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twin_buns/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails/back.png deleted file mode 100644 index 8e4d073c..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails/bangs.png deleted file mode 100644 index 2fecc678..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_long/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_long/back.png deleted file mode 100644 index 7576250f..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_long/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_long/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_long/bangs.png deleted file mode 100644 index 9e59084e..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_long/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_white_ribbons/back.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_white_ribbons/back.png deleted file mode 100644 index 8e4d073c..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_white_ribbons/back.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_white_ribbons/bangs.png b/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_white_ribbons/bangs.png deleted file mode 100644 index a378a882..00000000 Binary files a/game/mod_assets/natsuki/sitting/hair/jn_hair_twintails_white_ribbons/bangs.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_curly/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_curly/sitting.png deleted file mode 100644 index f8a70d97..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_curly/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_double/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_double/sitting.png deleted file mode 100644 index eb3ddf64..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_double/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_heart/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_heart/sitting.png deleted file mode 100644 index f156d797..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_heart/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_simple/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_simple/sitting.png deleted file mode 100644 index 02257061..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_simple/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_swirl/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_swirl/sitting.png deleted file mode 100644 index 77331bb9..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_swirl/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_swoop/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_swoop/sitting.png deleted file mode 100644 index 21196824..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_ahoge_swoop/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_cat_ears/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_cat_ears/sitting.png deleted file mode 100644 index dbe77aa1..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_cat_ears/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_fox_ears/sitting.png b/game/mod_assets/natsuki/sitting/headgear/jn_headgear_fox_ears/sitting.png deleted file mode 100644 index 3c268440..00000000 Binary files a/game/mod_assets/natsuki/sitting/headgear/jn_headgear_fox_ears/sitting.png and /dev/null differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/arms_crossed_body.png new file mode 100644 index 00000000..eb9a1c6b Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..a2730bea Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_QT_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..6a01cb93 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..e8944cf1 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_autumn_off_shoulder_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..10e5cd08 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..b4e18187 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bee_off_shoulder_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/arms_crossed_body.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/arms_crossed_desk.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_bunny_pajamas/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_casual/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/arms_crossed_body.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_casual/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/arms_crossed_desk.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_casual/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_casual/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_casual/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/arms_crossed_body.png new file mode 100644 index 00000000..cce2c932 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/arms_crossed_desk.png new file mode 100644 index 00000000..f42b2a2e Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_cosy_cardigan/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..fdb8d254 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..03ba694d Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_creamsicle_off_shoulder_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/arms_crossed_body.png new file mode 100644 index 00000000..b8e2e3a5 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..ce8c673c Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_heart_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/arms_crossed_body.png new file mode 100644 index 00000000..6b335f0c Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/arms_crossed_desk.png new file mode 100644 index 00000000..b1f578e6 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_not_cute/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/arms_crossed_body.png new file mode 100644 index 00000000..9502c6dd Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/arms_crossed_desk.png new file mode 100644 index 00000000..f94c42b6 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_hoodie_turtleneck/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/arms_crossed_body.png new file mode 100644 index 00000000..568d39bb Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/arms_crossed_desk.png new file mode 100644 index 00000000..deb9edaa Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/fingers_on_desk.png new file mode 100644 index 00000000..ef73dcf1 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_christmas_dress/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/arms_crossed_body.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/arms_crossed_desk.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_lolita_school_uniform/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/arms_crossed_body.png new file mode 100644 index 00000000..3cf9912e Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/arms_crossed_desk.png new file mode 100644 index 00000000..f69edab3 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/fingers_on_desk.png new file mode 100644 index 00000000..70e7d02c Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_magical_girl/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_body.png new file mode 100644 index 00000000..aceac7a0 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..93bd170c Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nightbloom_off_shoulder_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/arms_crossed_body.png new file mode 100644 index 00000000..656d3f05 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..4de4aa86 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_nya_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/arms_crossed_body.png new file mode 100644 index 00000000..c5e20f65 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/arms_crossed_desk.png new file mode 100644 index 00000000..8793008a Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_pastel_goth_overalls/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/arms_crossed_body.png new file mode 100644 index 00000000..75d7861f Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..a348fc2a Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_qeeb_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/arms_crossed_body.png new file mode 100644 index 00000000..eea3a88f Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/arms_crossed_desk.png new file mode 100644 index 00000000..eea3a88f Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_red_rose_lace_dress/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/arms_crossed_body.png new file mode 100644 index 00000000..7d278a13 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/arms_crossed_desk.png new file mode 100644 index 00000000..f2631214 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_rose_lace_dress/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/arms_crossed_body.png new file mode 100644 index 00000000..dafde425 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/arms_crossed_desk.png new file mode 100644 index 00000000..dafde425 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffle_neck_sweater/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/arms_crossed_body.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/arms_crossed_desk.png new file mode 100644 index 00000000..145a07db Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_ruffled_swimsuit/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/arms_crossed_body.png new file mode 100644 index 00000000..7e9ca9a6 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/arms_crossed_desk.png new file mode 100644 index 00000000..d9f3cea4 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/fingers_on_desk.png new file mode 100644 index 00000000..9441edb0 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_sango_cosplay/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/arms_crossed_body.png new file mode 100644 index 00000000..55946414 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/arms_crossed_desk.png new file mode 100644 index 00000000..55946414 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_school_uniform/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/arms_crossed_body.png new file mode 100644 index 00000000..4fb2e89c Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/arms_crossed_desk.png new file mode 100644 index 00000000..72613b92 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_skater_shirt/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/arms_crossed_body.png new file mode 100644 index 00000000..7ffcb60a Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/arms_crossed_desk.png new file mode 100644 index 00000000..405d68a2 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_star_pajamas/sitting.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/arms_crossed_body.png b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/arms_crossed_body.png new file mode 100644 index 00000000..3a466c5c Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/arms_crossed_body.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/arms_crossed_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/arms_crossed_desk.png new file mode 100644 index 00000000..69dc8c35 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/arms_crossed_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/fingers_on_desk.png b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/fingers_on_desk.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/fingers_on_desk.png differ diff --git a/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/sitting.png b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/sitting.png new file mode 100644 index 00000000..f81ae324 Binary files /dev/null and b/game/mod_assets/natsuki/sleeves/jn_clothes_trainer_cosplay/sitting.png differ diff --git a/game/mod_assets/props/a_la_mode_manga_held.png b/game/mod_assets/props/a_la_mode_manga_held.png index 2673c0b1..92ad791c 100644 Binary files a/game/mod_assets/props/a_la_mode_manga_held.png and b/game/mod_assets/props/a_la_mode_manga_held.png differ diff --git a/game/mod_assets/props/f14/give_heart.png b/game/mod_assets/props/f14/give_heart.png new file mode 100644 index 00000000..8b02fccb Binary files /dev/null and b/game/mod_assets/props/f14/give_heart.png differ diff --git a/game/mod_assets/props/f14/hold_heart.png b/game/mod_assets/props/f14/hold_heart.png new file mode 100644 index 00000000..8c166571 Binary files /dev/null and b/game/mod_assets/props/f14/hold_heart.png differ diff --git a/game/mod_assets/props/parfait_manga_held.png b/game/mod_assets/props/parfait_manga_held.png index 09611ffc..644e93ab 100644 Binary files a/game/mod_assets/props/parfait_manga_held.png and b/game/mod_assets/props/parfait_manga_held.png differ diff --git a/game/mod_assets/props/renpy_for_dummies_book_held.png b/game/mod_assets/props/renpy_for_dummies_book_held.png index 0bff2ce3..28daf751 100644 Binary files a/game/mod_assets/props/renpy_for_dummies_book_held.png and b/game/mod_assets/props/renpy_for_dummies_book_held.png differ diff --git a/game/mod_assets/props/step_by_step_manga_held.png b/game/mod_assets/props/step_by_step_manga_held.png index f18a8dac..579ab0d1 100644 Binary files a/game/mod_assets/props/step_by_step_manga_held.png and b/game/mod_assets/props/step_by_step_manga_held.png differ diff --git a/game/natsuki.rpy b/game/natsuki.rpy index f317400e..7b1b6d14 100644 --- a/game/natsuki.rpy +++ b/game/natsuki.rpy @@ -91,6 +91,13 @@ init 0 python: - outfit - The jn_outfits.JNOutfit outfit for Natsuki to wear. - persist - True if the outfit should be remembered so Natsuki will be wearing it on next boot """ + outfit.accessory = jn_outfits.get_wearable("jn_none") if not outfit.accessory else outfit.accessory + outfit.eyewear = jn_outfits.get_wearable("jn_none") if not outfit.eyewear else outfit.eyewear + outfit.headgear = jn_outfits.get_wearable("jn_none") if not outfit.headgear else outfit.headgear + outfit.necklace = jn_outfits.get_wearable("jn_none") if not outfit.necklace else outfit.necklace + outfit.facewear = jn_outfits.get_wearable("jn_none") if not outfit.facewear else outfit.facewear + outfit.back = jn_outfits.get_wearable("jn_none") if not outfit.back else outfit.back + Natsuki._outfit = outfit if persist: @@ -188,6 +195,32 @@ init 0 python: """ return Natsuki._outfit.necklace.reference_name == reference_name + @staticmethod + def isWearingFacewear(reference_name): + """ + Returns True if Natsuki is wearing the specified facewear, otherwise False. + + IN: + - reference_name - The facewear reference name to check if Natsuki is wearing + + OUT: + - True if Natsuki is wearing the specified facewear, otherwise False + """ + return Natsuki._outfit.facewear.reference_name == reference_name + + @staticmethod + def isWearingBack(reference_name): + """ + Returns True if Natsuki is wearing the specified back item, otherwise False. + + IN: + - reference_name - The back item reference name to check if Natsuki is wearing + + OUT: + - True if Natsuki is wearing the specified back item, otherwise False + """ + return Natsuki._outfit.back.reference_name == reference_name + # Start: Relationship functionality @staticmethod diff --git a/game/options.rpy b/game/options.rpy index c4e96095..b66dfd2f 100644 --- a/game/options.rpy +++ b/game/options.rpy @@ -12,7 +12,7 @@ ## ## The _() surrounding the string marks it as eligible for translation. -define config.version = "1.0.2" +define config.version = "1.0.3" define config.name = "Just Natsuki" define config.window_title = _("Just Natsuki - {0}".format(config.version)) diff --git a/game/outfits.rpy b/game/outfits.rpy index dcdcf7fc..a864736c 100644 --- a/game/outfits.rpy +++ b/game/outfits.rpy @@ -43,7 +43,9 @@ init -1 python in jn_outfits: "accessory", "clothes", "headgear", - "necklace" + "necklace", + "facewear", + "back" ] class JNWearable(): @@ -207,37 +209,57 @@ init -1 python in jn_outfits: """ Describes a hairstyle for Natsuki; a wearable with additional functionality specific to hairstyles. """ - pass + def getFolderName(self): + return "hair" class JNEyewear(JNWearable): """ Describes eyewear for Natsuki; a wearable with additional functionality specific to eyewear. """ - pass + def getFolderName(self): + return "eyewear" class JNAccessory(JNWearable): """ Describes an accessory for Natsuki; a wearable with additional functionality specific to accessories. """ - pass + def getFolderName(self): + return "accessory" class JNClothes(JNWearable): """ Describes a set of clothes for Natsuki; a wearable with additional functionality specific to clothes. """ - pass + def getFolderName(self): + return "clothes" class JNHeadgear(JNWearable): """ - Describes some headgear for Natsuki; a wearable with additional functionality specific to clothes. + Describes some headgear for Natsuki; a wearable with additional functionality specific to headgear. """ - pass + def getFolderName(self): + return "headgear" class JNNecklace(JNWearable): """ - Describes some headgear for Natsuki; a wearable with additional functionality specific to clothes. + Describes some headgear for Natsuki; a wearable with additional functionality specific to necklaces. """ - pass + def getFolderName(self): + return "necklace" + + class JNFacewear(JNWearable): + """ + Describes some facewear for Natsuki; a wearable with additional functionality specific to facewear. + """ + def getFolderName(self): + return "facewear" + + class JNBack(JNWearable): + """ + Describes some back item for Natsuki; a wearable with additional functionality specific to back items. + """ + def getFolderName(self): + return "back" class JNOutfit(): """ @@ -255,7 +277,9 @@ init -1 python in jn_outfits: accessory=None, eyewear=None, headgear=None, - necklace=None + necklace=None, + facewear=None, + back=None ): """ Constructor. @@ -271,6 +295,8 @@ init -1 python in jn_outfits: - eyewear - JNEyewear associated with this outfit. Optional. - headgear - JNHeadgear associated with this outfit. Optional. - necklace - JNNecklace associated with this outfit. Optional. + - facewear - JNFacialwear associated with this outfit. Optional. + - back - JNBack associated with this outfit. Optional. """ # Clothes are required if clothes is None: @@ -292,6 +318,8 @@ init -1 python in jn_outfits: self.eyewear = eyewear self.headgear = headgear self.necklace = necklace + self.facewear = facewear + self.back = back @staticmethod def load_all(): @@ -320,7 +348,9 @@ init -1 python in jn_outfits: has_accessory=None, has_eyewear=None, has_headgear=None, - has_necklace=None + has_necklace=None, + has_facewear=None, + has_back=None ): """ Returns a filtered list of outfits, given an outfit list and filter criteria. @@ -334,6 +364,8 @@ init -1 python in jn_outfits: - has_eyewear - the boolean has_eyewear state to filter for - has_headgear - the boolean has_headgear state to filter for - has_necklace - the boolean has_necklace state to filter for + - has_facewear - the boolean has_facewear state to filter for + - has_back - the boolean has_back state to filter for OUT: - list of JNOutfit outfits matching the search criteria @@ -348,7 +380,9 @@ init -1 python in jn_outfits: has_accessory, has_eyewear, has_headgear, - has_necklace + has_necklace, + has_facewear, + has_back ) ] @@ -389,6 +423,12 @@ init -1 python in jn_outfits: if self.necklace and not self.necklace.unlocked: self.necklace.unlock() + + if self.facewear and not self.facewear.unlocked: + self.facewear.unlock() + + if self.back and not self.back.unlocked: + self.back.unlock() def lock(self): """ @@ -424,6 +464,12 @@ init -1 python in jn_outfits: if self.necklace and isinstance(self.necklace, JNNecklace): outfit_dict["necklace"] = self.necklace.reference_name + if self.facewear and isinstance(self.necklace, JNFacewear): + outfit_dict["facewear"] = self.facewear.reference_name + + if self.back and isinstance(self.back, JNBack): + outfit_dict["back"] = self.back.reference_name + return json.dumps(outfit_dict) def __load(self): @@ -454,7 +500,9 @@ init -1 python in jn_outfits: has_accessory=None, has_eyewear=None, has_headgear=None, - has_necklace=None + has_necklace=None, + has_facewear=None, + has_back=None ): """ Returns True, if the outfit meets the filter criteria. Otherwise False. @@ -467,6 +515,8 @@ init -1 python in jn_outfits: - has_eyewear - the boolean has_eyewear state to filter for - has_headgear - the boolean has_headgear state to filter for - has_necklace - the boolean has_necklace state to filter for + - has_facewear - the boolean has_facewear state to filter for + - has_back - the boolean has_back state to filter for OUT: - True, if the outfit meets the filter criteria. Otherwise False @@ -492,6 +542,12 @@ init -1 python in jn_outfits: elif has_necklace is not None and bool(self.has_necklace) != has_necklace: return False + elif has_facewear is not None and bool(self.has_facewear) != has_facewear: + return False + + elif has_back is not None and bool(self.has_back) != has_back: + return False + return True def __register_outfit(outfit, player_created=False): @@ -519,6 +575,12 @@ init -1 python in jn_outfits: if not outfit.necklace: outfit.necklace = get_wearable("jn_none") + if not outfit.facewear: + outfit.facewear = get_wearable("jn_none") + + if not outfit.back: + outfit.back = get_wearable("jn_none") + __ALL_OUTFITS[outfit.reference_name] = outfit if outfit.reference_name not in store.persistent.jn_outfit_list: outfit.__save() @@ -557,41 +619,44 @@ init -1 python in jn_outfits: def _check_wearable_sprites(wearable): """ Checks sprite paths based on wearable type to ensure all required assets exist. + IN: - - wearable - the wearable to test - """ + - wearable - the JNWearable wearable to test - WEARABLE_TYPE_PATH_MAP = { - JNHairstyle: "hair", - JNEyewear: "eyewear", - JNAccessory: "accessory", - JNClothes: "clothes", - JNHeadgear: "headgear", - JNNecklace: "necklace" - } + OUT: + - True if all required assets for the wearable exist, otherwise False + """ + WEARABLE_COMMON_PATH = os.path.join(__WEARABLE_BASE_PATH, wearable.getFolderName()) for pose in store.JNPose: - # Set up the base path, given by the pose - resource_path = os.path.join( - __WEARABLE_BASE_PATH, - pose.name, - WEARABLE_TYPE_PATH_MAP[type(wearable)], - wearable.reference_name - ) - # Hairstyles have two sprites for a given pose (front and back), so we must check both exist - if isinstance(wearable, JNHairstyle): - if ( - not jn_utils.getFileExists(os.path.join(resource_path, "back.png")) - or not jn_utils.getFileExists(os.path.join(resource_path, "bangs.png")) - ): - jn_utils.log("Missing back/bangs sprite(s) for {0}: check {1}".format(wearable.reference_name, resource_path)) + # Note that for now, only the clothes are pose-sensitive; all other wearables only need a sitting sprite + + if isinstance(wearable, JNClothes): + # Clothes have both an arms and body portion, so we must check both exist + arms_path = os.path.join(__WEARABLE_BASE_PATH, "arms", wearable.reference_name, pose.name) + clothes_path = os.path.join(__WEARABLE_BASE_PATH, "clothes", wearable.reference_name, pose.name) + + if not jn_utils.getFileExists(arms_path) or not jn_utils.getFileExists(clothes_path): + jn_utils.log("Missing clothes/arms sprite(s) for {0}".format(wearable.reference_name)) return False - # Any other wearable only has one sprite for a given pose - elif not jn_utils.getFileExists(os.path.join(resource_path, "{0}.png".format(pose.name))): - jn_utils.log("Missing sprite(s) for {0}: check {1}".format(wearable.reference_name, resource_path)) - return False + elif isinstance(wearable, JNHairstyle): + # Hairstyles have two sprites for a given pose (front/bangs and back), so we must check both exist + back_path = os.path.join(WEARABLE_COMMON_PATH, wearable.reference_name, "sitting", "back.png") + bangs_path = os.path.join(WEARABLE_COMMON_PATH, wearable.reference_name, "sitting", "bangs.png") + + if not jn_utils.getFileExists(back_path) or not jn_utils.getFileExists(bangs_path): + jn_utils.log("Missing back/bangs sprite(s) for {0}".format(wearable.reference_name)) + return False + + else: + # Any other wearable only has one sprite for a given pose + resource_path = os.path.join(WEARABLE_COMMON_PATH, wearable.reference_name, "sitting.png") + + if not jn_utils.getFileExists(resource_path): + jn_utils.log("Missing sprite(s) for {0}: check {1}".format(wearable.reference_name, resource_path)) + return False return True @@ -660,6 +725,12 @@ init -1 python in jn_outfits: elif json["category"] == "necklace": wearable = JNNecklace(**kwargs) + elif json["category"] == "facewear": + wearable = JNFacewear(**kwargs) + + elif json["category"] == "back": + wearable = JNBack(**kwargs) + # Finally, make sure the resources necessary for this wearable exist if not _check_wearable_sprites(wearable): jn_utils.log("Cannot load wearable {0} as one or more sprites are missing.".format(wearable.reference_name)) @@ -698,6 +769,8 @@ init -1 python in jn_outfits: or "eyewear" in json and not isinstance(json["eyewear"], basestring) or "headgear" in json and not isinstance(json["headgear"], basestring) or "necklace" in json and not isinstance(json["necklace"], basestring) + or "facewear" in json and not isinstance(json["facewear"], basestring) + or "back" in json and not isinstance(json["back"], basestring) ): jn_utils.log("Cannot load outfit as one or more attributes are the wrong data type.") return False @@ -737,6 +810,14 @@ init -1 python in jn_outfits: jn_utils.log("Cannot load outfit {0} as specified necklace does not exist.".format(json["reference_name"])) return False + elif "facewear" in json and not json["facewear"] in __ALL_WEARABLES: + jn_utils.log("Cannot load outfit {0} as specified facewear does not exist.".format(json["reference_name"])) + return False + + elif "back" in json and not json["back"] in __ALL_WEARABLES: + jn_utils.log("Cannot load outfit {0} as specified back does not exist.".format(json["reference_name"])) + return False + else: outfit = JNOutfit( reference_name=json["reference_name"], @@ -748,7 +829,9 @@ init -1 python in jn_outfits: accessory=__ALL_WEARABLES[json["accessory"]] if "accessory" in json else None, eyewear=__ALL_WEARABLES[json["eyewear"]] if "eyewear" in json else None, headgear=__ALL_WEARABLES[json["headgear"]] if "headgear" in json else None, - necklace=__ALL_WEARABLES[json["necklace"]] if "necklace" in json else None + necklace=__ALL_WEARABLES[json["necklace"]] if "necklace" in json else None, + facewear=__ALL_WEARABLES[json["facewear"]] if "facewear" in json else None, + back=__ALL_WEARABLES[json["back"]] if "back" in json else None ) # Sanity check components to make sure the components are applicable to the slots they have been assigned to @@ -776,6 +859,14 @@ init -1 python in jn_outfits: jn_utils.log("Cannot load outfit {0} as specified necklace is not a valid necklace.".format(outfit.reference_name)) return False + elif outfit.facewear and not isinstance(outfit.facewear, JNFacewear): + jn_utils.log("Cannot load outfit {0} as specified facewear is not a valid facewear.".format(outfit.reference_name)) + return False + + elif outfit.back and not isinstance(outfit.back, JNBack): + jn_utils.log("Cannot load outfit {0} as specified back is not a valid back.".format(outfit.reference_name)) + return False + # Make sure locks aren't being bypassed with this outfit by locking the outfit if any components are locked if outfit.unlocked: if ( @@ -785,6 +876,8 @@ init -1 python in jn_outfits: or outfit.eyewear and not outfit.eyewear.unlocked or outfit.headgear and not outfit.headgear.unlocked or outfit.necklace and not outfit.necklace.unlocked + or outfit.facewear and not outfit.facewear.unlocked + or outfit.back and not outfit.back.unlocked ): jn_utils.log("Outfit {0} contains one or more locked components; locking outfit.".format(outfit.reference_name)) outfit.unlocked = False @@ -852,7 +945,7 @@ init -1 python in jn_outfits: with open(file_path) as wearable_data: if _load_wearable_from_json(json.loads(wearable_data.read())): success_count += 1 - + except OSError: jn_utils.log("Unable to read file {0}; file could not be found.".format(file_name)) @@ -952,17 +1045,22 @@ init -1 python in jn_outfits: """ Saves the given outfit as the designated temporary outfit. The temporary outfit is not persisted between game exit/reload. + IN: - outfit - the JNOutfit to use as the base for the temporary outfit """ temporary_outfit = get_outfit("jn_temporary_outfit") temporary_outfit.clothes = outfit.clothes temporary_outfit.hairstyle = outfit.hairstyle - temporary_outfit.accessory = outfit.accessory - temporary_outfit.eyewear = outfit.eyewear - temporary_outfit.headgear = outfit.headgear - temporary_outfit.necklace = outfit.necklace + temporary_outfit.accessory = get_wearable("jn_none") if not outfit.accessory else outfit.accessory + temporary_outfit.eyewear = get_wearable("jn_none") if not outfit.eyewear else outfit.eyewear + temporary_outfit.headgear = get_wearable("jn_none") if not outfit.headgear else outfit.headgear + temporary_outfit.necklace = get_wearable("jn_none") if not outfit.necklace else outfit.necklace + temporary_outfit.facewear = get_wearable("jn_none") if not outfit.facewear else outfit.facewear + temporary_outfit.back = get_wearable("jn_none") if not outfit.back else outfit.back + store.Natsuki.setOutfit(temporary_outfit, persist=False) + return True def save_custom_outfit(outfit): @@ -987,7 +1085,9 @@ init -1 python in jn_outfits: accessory=outfit.accessory, eyewear=outfit.eyewear, headgear=outfit.headgear, - necklace=outfit.necklace + necklace=outfit.necklace, + facewear=outfit.facewear, + back=outfit.back ) # Create directory if it doesn't exist @@ -1382,12 +1482,6 @@ init -1 python in jn_outfits: unlocked=False, is_jn_wearable=True )) - __register_wearable(JNClothes( - reference_name="jn_clothes_sparkly_ballgown", - display_name="Sparkly ballgown", - unlocked=False, - is_jn_wearable=True - )) __register_wearable(JNClothes( reference_name="jn_clothes_bee_off_shoulder_sweater", display_name="Bee off-shoulder sweater", @@ -1442,6 +1536,12 @@ init -1 python in jn_outfits: unlocked=True, is_jn_wearable=True )) + __register_wearable(JNClothes( + reference_name="jn_clothes_ruffle_neck_sweater", + display_name="Ruffle neck sweater", + unlocked=False, + is_jn_wearable=True + )) # Official JN headgear @@ -1637,6 +1737,34 @@ init -1 python in jn_outfits: is_jn_wearable=True )) + # Official JN facewear + __register_wearable(JNFacewear( + reference_name="jn_facewear_sprinkles", + display_name="Sprinkles", + unlocked=False, + is_jn_wearable=True + )) + __register_wearable(JNFacewear( + reference_name="jn_facewear_plasters", + display_name="Plasters", + unlocked=False, + is_jn_wearable=True + )) + + # Official JN back items + __register_wearable(JNBack( + reference_name="jn_back_cat_tail", + display_name="Cat tail", + unlocked=False, + is_jn_wearable=True + )) + __register_wearable(JNBack( + reference_name="jn_back_fox_tail", + display_name="Fox tail", + unlocked=False, + is_jn_wearable=True + )) + # Starter official JN outfits __register_outfit(JNOutfit( reference_name="jn_school_uniform", @@ -1752,7 +1880,8 @@ init -1 python in jn_outfits: clothes=get_wearable("jn_clothes_skater_shirt"), hairstyle=get_wearable("jn_hair_twintails_white_ribbons"), accessory=get_wearable("jn_accessory_double_white_hairbands"), - necklace=get_wearable("jn_necklace_twirled_choker") + necklace=get_wearable("jn_necklace_twirled_choker"), + facewear=get_wearable("jn_facewear_plasters") )) __register_outfit(JNOutfit( reference_name="jn_cosy_cardigan_outfit", @@ -1764,6 +1893,34 @@ init -1 python in jn_outfits: headgear=get_wearable("jn_headgear_teddy_hairpins"), hairstyle=get_wearable("jn_hair_twintails") )) + __register_outfit(JNOutfit( + reference_name="jn_pastel_goth_getup", + display_name="Pastel goth getup", + unlocked=False, + is_jn_outfit=True, + clothes=get_wearable("jn_clothes_cosy_cardigan"), + accessory=get_wearable("jn_accessory_hairband_white"), + hairstyle=get_wearable("jn_hair_twintails"), + facewear=get_wearable("jn_facewear_sprinkles") + )) + __register_outfit(JNOutfit( + reference_name="jn_ruffle_neck_sweater_outfit", + display_name="Ruffle neck sweater outfit", + unlocked=False, + is_jn_outfit=True, + clothes=get_wearable("jn_clothes_ruffle_neck_sweater"), + accessory=get_wearable("jn_accessory_hairband_red"), + hairstyle=get_wearable("jn_hair_twin_buns") + )) + __register_outfit(JNOutfit( + reference_name="jn_heart_sweater_outfit", + display_name="Heart sweater outfit", + unlocked=False, + is_jn_outfit=True, + clothes=get_wearable("jn_clothes_heart_sweater"), + accessory=get_wearable("jn_accessory_hairband_red"), + hairstyle=get_wearable("jn_hair_twin_buns") + )) # Internal outfits; used for events, etc. These shouldn't be unlocked! @@ -1850,11 +2007,11 @@ init -1 python in jn_outfits: label outfits_wear_outfit: if not jn_outfits.get_all_outfits(): # No outfits, no point proceeding - n 1tnmbo "Huh?{w=0.5}{nw}" + n 4tnmbo "Huh?{w=0.5}{nw}" extend 1fchbg " I don't {i}have{/i} any other outfits, dummy!" jump ch30_loop - n 1unmaj "Huh?{w=0.2} You want me to put on another outfit?" + n 4unmaj "Huh?{w=0.2} You want me to put on another outfit?" n 1fchbg "Sure thing!{w=0.5}{nw}" extend 1unmbg " What do you want me to wear?{w=1.5}{nw}" show natsuki idle at jn_left @@ -1878,7 +2035,7 @@ label outfits_wear_outfit: if isinstance(_return, jn_outfits.JNOutfit): # Wear the chosen outfit $ outfit_name = _return.display_name.lower() - n 1unmaj "Oh?{w=0.2} You want me to wear my [outfit_name]?{w=0.5}{nw}" + n 4unmaj "Oh?{w=0.2} You want me to wear my [outfit_name]?{w=0.5}{nw}" extend 1uchbg " Gotcha!" n 1nchsm "Just give me a second...{w=2}{nw}" @@ -1887,17 +2044,17 @@ label outfits_wear_outfit: with Fade(out_time=0.1, hold_time=1, in_time=0.5, color="#181212") n 1nchbg "Okaaay!" - n 1tnmsm "How do I look,{w=0.1} [player]?{w=0.5}{nw}" - extend 1flldvl " Ehehe." + n 4tnmsm "How do I look,{w=0.1} [player]?{w=0.5}{nw}" + extend 4flldvl " Ehehe." $ persistent.jn_natsuki_auto_outfit_change_enabled = False elif _return == "random": # Wear a random unlocked outfit n 1fchbg "You got it!{w=1.5}{nw}" - extend 1fslss " Now what have we got here...{w=1.5}{nw}" + extend 3fslss " Now what have we got here...{w=1.5}{nw}" n 1ncssr "...{w=1.5}{nw}" - n 1fnmbg "Aha!{w=1.5}{nw}" - extend 1fchbg " This'll do.{w=1.5}{nw}" + n 4fnmbg "Aha!{w=1.5}{nw}" + extend 4fchbg " This'll do.{w=1.5}{nw}" extend 1uchsm " One second!" play audio clothing_ruffle @@ -1918,7 +2075,7 @@ label outfits_wear_outfit: # Nevermind n 1nnmbo "Oh.{w=1.5}{nw}" extend 1nllaj " Well, that's fine." - n 1nsrpol "I didn't wanna change anyway." + n 3nsrpol "I didn't wanna change anyway." return @@ -1946,7 +2103,7 @@ label outfits_reload: # Asking Natsuki to suggest a new outfit; leads to the outfit creator flow label outfits_suggest_outfit: - n 1unmaj "Ooh!{w=1.5}{nw}" + n 4unmaj "Ooh!{w=1.5}{nw}" extend 1fchbg " I'm always open to a suggestion!{w=0.5}{nw}" extend 1unmss " What did you have in mind?" python: @@ -1965,7 +2122,7 @@ label outfits_remove_outfit: if len(jn_outfits._SESSION_NEW_UNLOCKS): # Prevent the player telling Natsuki to delete something she could be about to gift by popping it early, and removing from event list n 1nsqpu "...Wait.{w=1}{nw}" - extend 1fnmpo " Are you trying to hide something?" + extend 3fnmpo " Are you trying to hide something?" n 1fcspolesi "At least show me what it is first!" $ jn_rm_topic_from_event_list("new_wearables_outfits_unlocked") @@ -2014,7 +2171,7 @@ label outfits_remove_outfit: "Yes, remove [outfit_name].": if Natsuki.isWearingOutfit(_return.reference_name): # Change Natsuki out of the uniform to be removed, if she's wearing it - n 1uwdaj "Oh! I totally forgot I'm wearing it already!" + n 4uwdaj "Oh! I totally forgot I'm wearing it already!" extend 1fslssl " Ehehe." play audio clothing_ruffle @@ -2030,9 +2187,9 @@ label outfits_remove_outfit: else: n 1kllaj "...Oh." n 1klrun "Uhmm...{w=1.5}{nw}" - extend 1knmpu " [player]?" - n 1kllpo "I wasn't able to remove that for some reason." - n 1kllss "Sorry..." + extend 4knmpu " [player]?" + n 2kllpo "I wasn't able to remove that for some reason." + n 2kllss "Sorry..." "Nevermind.": n 1nnmbo "Oh." @@ -2169,17 +2326,61 @@ label outfits_create_select_clothes: jump outfits_create_menu +# Facewear selection for outfit creator flow +label outfits_create_select_facewear: + python: + unlocked_wearables = jn_outfits.JNWearable.filter_wearables(wearable_list=jn_outfits.get_all_wearables(), unlocked=True, wearable_type=jn_outfits.JNFacewear) + wearable_options = [(jn_utils.escapeRenpySubstitutionString(wearable.display_name), wearable) for wearable in unlocked_wearables] + wearable_options.sort(key = lambda option: option[1].display_name) + wearable_options.insert(0, ("No facewear", "none")) + + call screen scrollable_choice_menu(wearable_options, ("Nevermind.", None)) + + if isinstance(_return, basestring) or isinstance(_return, jn_outfits.JNFacewear): + play audio hair_clip + python: + jn_outfits._changes_made = True + wearable_to_apply = jn_outfits.get_wearable("jn_none") if _return == "none" else _return + jn_outfits._PREVIEW_OUTFIT.facewear = wearable_to_apply + Natsuki.setOutfit(jn_outfits._PREVIEW_OUTFIT) + + jump outfits_create_menu + +# Back slot selection for outfit creator flow +label outfits_create_select_back: + python: + unlocked_wearables = jn_outfits.JNWearable.filter_wearables(wearable_list=jn_outfits.get_all_wearables(), unlocked=True, wearable_type=jn_outfits.JNBack) + wearable_options = [(jn_utils.escapeRenpySubstitutionString(wearable.display_name), wearable) for wearable in unlocked_wearables] + wearable_options.sort(key = lambda option: option[1].display_name) + wearable_options.insert(0, ("No back", "none")) + + call screen scrollable_choice_menu(wearable_options, ("Nevermind.", None)) + + if isinstance(_return, basestring) or isinstance(_return, jn_outfits.JNBack): + if (random.choice([True, False])): + play audio clothing_ruffle + else: + play audio zipper + + python: + jn_outfits._changes_made = True + wearable_to_apply = jn_outfits.get_wearable("jn_none") if _return == "none" else _return + jn_outfits._PREVIEW_OUTFIT.back = wearable_to_apply + Natsuki.setOutfit(jn_outfits._PREVIEW_OUTFIT) + + jump outfits_create_menu + # Exit sequence from the outfit creator flow label outfits_create_quit: if jn_outfits._changes_made: - n 1unmaj "Huh?{w=0.5}{nw}" + n 4unmaj "Huh?{w=0.5}{nw}" extend 1tnmbo " You're done already,{w=0.1} [player]?" menu: n "You're sure you don't want me to try more stuff on?" # Go back to editor "Yes, I'm not done yet.": - n 1fcsbg "Gotcha!" + n 2fcsbg "Gotcha!" extend 1tsqsm " What else have you got?" jump outfits_create_menu @@ -2188,7 +2389,7 @@ label outfits_create_quit: "No, we're done here.": n 1nnmbo "Oh.{w=1.5}{nw}" extend 1nllaj " Well...{w=0.3} okay." - n 1nsrpol "I was bored of changing anyway." + n 2nsrpol "I was bored of changing anyway." play audio clothing_ruffle $ Natsuki.setOutfit(jn_outfits._LAST_OUTFIT) @@ -2196,18 +2397,18 @@ label outfits_create_quit: jump ch30_loop else: - n 1tllaj "So...{w=1.5}{nw}" - extend 1tnmpo " you don't want me to change after all?" + n 4tllaj "So...{w=1.5}{nw}" + extend 3tnmpo " you don't want me to change after all?" n 1nlrbo "Huh." n 1tnmss "Well,{w=0.1} if it ain't broke,{w=0.1} right?{w=0.5}{nw}" - extend 1fcssm " Ehehe." + extend 2fcssm " Ehehe." jump ch30_loop # Save sequence from the outfit creator flow label outfits_create_save: - n 1fllaj "Well,{w=0.5} finally!" - n 1flrpo "If I'd known you were {i}this{/i} into dress-up,{w=0.3} I'd have set a timer!{w=1.5}{nw}" - extend 1fsqsm " Ehehe." + n 4fllaj "Well,{w=0.5} finally!" + n 3flrpo "If I'd known you were {i}this{/i} into dress-up,{w=0.3} I'd have set a timer!{w=1.5}{nw}" + extend 3fsqsm " Ehehe." n 1ullaj "So..." menu: n "All finished, [player]?" @@ -2226,20 +2427,20 @@ label outfits_create_save: # Outfit name cannot be empty or None if len(outfit_name) == 0 or outfit_name is None: - n 1knmpo "Come on,{w=0.3} [player]!{w=1.5}{nw}" + n 2knmpo "Come on,{w=0.3} [player]!{w=1.5}{nw}" extend 1fchbg " Any outfit worth wearing has a {i}name{/i},{w=0.1} dummy!" # Outfit name cannot contain the jn_ namespace, though this should never happen elif re.search("^jn_.", outfit_name.lower()): n 1tsqsssbl "...Is that some kind of robot name or something?" - n 1fchbl "Try harder,{w=0.2} [player]!" + n 4fchbl "Try harder,{w=0.2} [player]!" # Outfit cannot be an insult or profanity elif( jn_utils.get_string_contains_profanity(outfit_name.lower()) or jn_utils.get_string_contains_insult(outfit_name.lower()) ): - n 1fsqem "...Really,{w=0.5} [player]." + n 2fsqem "...Really,{w=0.5} [player]." n 1fsqsr "Come on.{w=1}{nw}" extend 1fllsr " Quit being a jerk." @@ -2258,7 +2459,7 @@ label outfits_create_save: if jn_outfits.save_custom_outfit(jn_outfits._PREVIEW_OUTFIT): n 1uchsm "...And done!" n 1fchbg "Thanks,{w=0.1} [player]!{w=0.5}{nw}" - extend 1uchsm " Ehehe." + extend 4uchsm " Ehehe." $ jn_outfits._changes_made = False jump ch30_loop @@ -2266,17 +2467,17 @@ label outfits_create_save: else: n 1kllaj "...Oh." n 1klrun "Uhmm...{w=1.5}{nw}" - extend 1knmpu " [player]?" - n 1kllpo "I wasn't able to save that for some reason." + extend 4knmpu " [player]?" + n 2kllpo "I wasn't able to save that for some reason." n 1kllss "Sorry..." jump outfits_create_menu "Yes, but don't worry about saving this outfit.": - n 1tnmpueqm "Eh?{w=0.75}{nw}" + n 4tnmpueqm "Eh?{w=0.75}{nw}" extend 1tnmaj " You {i}don't{/i} want me to remember this one?" n 1ullaj "Well...{w=0.75}{nw}" - extend 1tnmss " if you insist." + extend 2tnmss " if you insist." n 1nchgneme "Less note taking for me!" $ jn_outfits._changes_made = False @@ -2284,10 +2485,10 @@ label outfits_create_save: jump ch30_loop "No, I'm not quite finished.": - n 1nslpo "I {i}knew{/i} I should have brought a book...{w=2}{nw}" + n 3nslpo "I {i}knew{/i} I should have brought a book...{w=2}{nw}" extend 1fsqsm " Ehehe." n 1ulrss "Well,{w=0.1} whatever.{w=0.5}{nw}" - extend 1unmbo " What else did you have in mind,{w=0.1} [player]?" + extend 4unmbo " What else did you have in mind,{w=0.1} [player]?" jump outfits_create_menu @@ -2297,24 +2498,24 @@ label outfits_auto_change: n 1uchbg "Oh!{w=0.2} I gotta change,{w=0.1} just give me a sec...{w=0.75}{nw}" elif Natsuki.isHappy(higher=True): - n 1unmpu "Oh!{w=0.2} I should probably change,{w=0.1} one second...{w=0.75}{nw}" - n 1flrpol "A-{w=0.1}and no peeking,{w=0.1} got it?!{w=0.75}{nw}" + n 4unmpu "Oh!{w=0.2} I should probably change,{w=0.1} one second...{w=0.75}{nw}" + n 2flrpol "A-{w=0.1}and no peeking,{w=0.1} got it?!{w=0.75}{nw}" elif Natsuki.isNormal(higher=True): - n 1unmpu "Oh -{w=0.1} I gotta get changed.{w=0.2} I'll be back in a sec.{w=0.75}{nw}" + n 4unmpu "Oh -{w=0.1} I gotta get changed.{w=0.2} I'll be back in a sec.{w=0.75}{nw}" elif Natsuki.isDistressed(higher=True): n 1nnmsl "Back in a second.{w=0.75}{nw}" else: - n 1fsqsl "I'm changing.{w=0.75}{nw}" + n 2fsqsl "I'm changing.{w=0.75}{nw}" play audio clothing_ruffle $ Natsuki.setOutfit(jn_outfits.get_realtime_outfit()) with Fade(out_time=0.1, hold_time=1, in_time=0.5, color="#181212") if Natsuki.isAffectionate(higher=True): - n 1uchgn "Ta-da!{w=0.2} There we go!{w=0.2} Ehehe.{w=0.75}{nw}" + n 4uchgn "Ta-da!{w=0.2} There we go!{w=0.2} Ehehe.{w=0.75}{nw}" elif Natsuki.isHappy(higher=True): n 1nchbg "Okaaay!{w=0.2} I'm back!{w=0.75}{nw}" @@ -2323,10 +2524,10 @@ label outfits_auto_change: n 1nnmsm "And...{w=0.3} all done.{w=0.75}{nw}" elif Natsuki.isDistressed(higher=True): - n 1nllsl "I'm back.{w=0.75}{nw}" + n 3nllsl "I'm back.{w=0.75}{nw}" else: - n 1fsqsl "...{w=0.75}{nw}" + n 2fsqsl "...{w=0.75}{nw}" show natsuki idle at jn_center return @@ -2345,101 +2546,101 @@ label new_wearables_outfits_unlocked: if Natsuki.isEnamored(higher=True): n 1uskemleex "...!" - n 1ksrunlsbl "..." - n 1knmpulsbl "[player]...{w=1.25}{nw}" - extend 1kllpulsbl " y-{w=0.2}you {i}do{/i} know you don't have to get me stuff just so I like you..." + n 4ksrunlsbl "..." + n 4knmpulsbl "[player]...{w=1.25}{nw}" + extend 2kllpulsbl " y-{w=0.2}you {i}do{/i} know you don't have to get me stuff just so I like you..." n 1knmsllsbr "Right?" if jnIsPlayerBirthday(): n 1uskgslesh "...Wait!{w=0.75}{nw}" extend 1knmemlsbl " Y-{w=0.2}you shouldn't even be the one {i}giving{/i} things today anyway!" - n 1kslemlsbl "...It's {i}weird{/i},{w=0.2} [player]..." + n 2kslemlsbl "...It's {i}weird{/i},{w=0.2} [player]..." n 1kslbolsbl "..." elif jnIsChristmasEve(): - n 1ksrbofsbl "...Especially tonight,{w=0.3} of all nights..." + n 2ksrbofsbl "...Especially tonight,{w=0.3} of all nights..." elif jnIsChristmasDay(): - n 1kllajlsbr "A-{w=0.2}and anyway,{w=0.75}{nw}" + n 4kllajlsbr "A-{w=0.2}and anyway,{w=0.75}{nw}" extend 1kwmpulsbl " I'm still not used to getting stuff on Christmas Day..." - n 1kslsllsbl "..." + n 2kslsllsbl "..." n 1uskemlesusbr "I-{w=0.2}it's not that I don't appreciate it!{w=0.5}{nw}" extend 1fcsemless " Don't get me wrong!{w=1}{nw}" - extend 1knmpoless " I-{w=0.2}I totally do!" + extend 2knmpoless " I-{w=0.2}I totally do!" n 1kllemless "I just..." - n 1ksrunlsbl "..." + n 2ksrunlsbl "..." n 1fcsunl "I...{w=0.3} know...{w=1}{nw}" - extend 1ksrpolsbr " I can't exactly return the favour." + extend 2ksrpolsbr " I can't exactly return the favour." n 1fcsajlsbl "A-{w=0.2}and you've already done a lot for me,{w=0.5}{nw}" - extend 1kslbolsbl " so..." + extend 4kslbolsbl " so..." n 1kcsbolsbl "..." n 1kcsemlesi "...Fine.{w=0.75}{nw}" extend 1ksrsl " I'll take a look.{w=1.25}{nw}" - extend 1kslpo " But I still kinda feel like a jerk about it..." + extend 2kslpo " But I still kinda feel like a jerk about it..." elif Natsuki.isAffectionate(higher=True): n 1uskeml "H-{w=0.2}huh?" n 1uskwrl "[player]?{w=1}{nw}" - extend 1knmwrl " D-{w=0.2}did you {i}seriously{/i} just get me all this stuff?!" + extend 4knmwrl " D-{w=0.2}did you {i}seriously{/i} just get me all this stuff?!" n 1fslunl "..." - n 1fcsanl "Uuuuuuuuu-!" - n 1fpawrledr "Why would you do thaaat?!{w=1}{nw}" + n 2fcsanl "Uuuuuuuuu-!" + n 4fpawrledr "Why would you do thaaat?!{w=1}{nw}" if jnIsPlayerBirthday(): n 1uskwrlesh "E-{w=0.2}especially today!{w=1}{nw}" - extend 1kbkwrl " Did you {i}forget{/i} it's your {i}birthday{/i}?!" + extend 4kbkwrl " Did you {i}forget{/i} it's your {i}birthday{/i}?!" elif jnIsChristmasEve(): extend 1fllemf " I-{w=0.2}I mean..." - n 1knmgsf "Y-{w=0.2}you couldn't have at {i}least{/i} waited for tomorrow?!{w=1}{nw}" - extend 1kbkwrlesd " I didn't even make a list or anythiiiing!" + n 4knmgsf "Y-{w=0.2}you couldn't have at {i}least{/i} waited for tomorrow?!{w=1}{nw}" + extend 4kbkwrlesd " I didn't even make a list or anythiiiing!" elif jnIsChristmasDay(): extend 1kllemf " I mean..." - n 1kwmunlsbl "You should know I'm not used to getting stuff on Christmas Day..." + n 4kwmunlsbl "You should know I'm not used to getting stuff on Christmas Day..." else: extend 1kbkwrless " I-{w=0.2}I didn't even {i}ask{/i} for anything!" - n 1fslunl "..." - n 1fcseml "Jeez...{w=0.5}{nw}" + n 2fslunl "..." + n 2fcseml "Jeez...{w=0.5}{nw}" extend 1flrsrf " and now I look like a total {i}jerk{/i} for not even having anything to give back...{w=1}{nw}" - extend 1fsqsrfsbr " I hope you're happy,{w=0.1} [player]." + extend 4fsqsrfsbr " I hope you're happy,{w=0.1} [player]." n 1fcsemlesisbr "..." n 1kcsbolsbr "...Alright.{w=0.75}{nw}" - extend 1fslpolsbr " J-{w=0.2}just a quick look..." + extend 2fslpolsbr " J-{w=0.2}just a quick look..." else: n 1uwdeml "...Eh?" n 1ulreml "What even..." - n 1uskemfeex "...!" + n 4uskemfeex "...!" $ player_initial = jn_utils.getPlayerInitial() n 1fbkwrf "[player_initial]-{w=0.2}[player]!" n 1kbkwrf "What even {i}is{/i} all this?!" if jnIsChristmasEve(): n 1knmgsf "A-{w=0.2}and come {i}on{/i},{w=0.2} [player]!{w=1}{nw}" - extend 1kbkwrfesd " It isn't even Christmas yeeeet!" + extend 4kbkwrfesd " It isn't even Christmas yeeeet!" elif jnIsChristmasDay(): n 1fcsemfsbl "I-{w=0.2}I mean,{w=0.75}{nw}" - extend 1kwmemfsbl " I {i}get{/i} what day it is,{w=0.75}{nw}" - extend 1kslemfsbl " but..." + extend 2kwmemfsbl " I {i}get{/i} what day it is,{w=0.75}{nw}" + extend 2kslemfsbl " but..." n 1kcspufesisbl "..." n 1fllemlesssbl "Y-{w=0.2}you better not be trying to win me over with gifts or something!{w=1}{nw}" - extend 1fcsemlsbr " Yeesh!" + extend 2fcsemlsbr " Yeesh!" n 1flremlsbl "I-{w=0.2}I'll have you know I'm a {i}lot{/i} deeper than that!" n 1fsqpulsbl "I swear it's like you're trying to embarrass me sometimes...{w=1}{nw}" - extend 1fslpolsbl " you jerk." + extend 2fslpolsbl " you jerk." n 1ksrcalsbl "You {i}know{/i} I can't exactly give anything {i}back{/i},{w=0.1} either..." n 1fcscalesssbl "..." n 1kcsemlesi "..." - n 1fslsll "...Fine.{w=1}{nw}" + n 2fslsll "...Fine.{w=1}{nw}" extend 1fcseml " Fine!{w=0.75}{nw}" extend 1flremlsbr " I'll look at it!{w=1}{nw}" - extend 1fsrpolsbr " ...But only because you put the effort in." + extend 2fsrpolsbr " ...But only because you put the effort in." python: import random @@ -2459,148 +2660,148 @@ label new_wearables_outfits_unlocked: if type(unlock) is jn_outfits.JNHairstyle: if alt_dialogue: n 1unmpuesu "Mmm?{w=1}{nw}" - extend 1tnmajeqm " A...{w=0.3} note...?" + extend 4tnmajeqm " A...{w=0.3} note...?" n 1tslpu "..." n 1unmgsesu "...Oh!{w=1}{nw}" extend 1unmbol " You wanted me to try my hair like that?{w=0.5} [unlock.display_name]?" - n 1nllunl "..." + n 3nllunl "..." n 1nllajl "Well...{w=1}{nw}" - extend 1nnmajl " okay." + extend 4nnmajl " okay." if Natsuki.isEnamored(higher=True): n 1nlrssl "I {i}suppose{/i} I can give that a shot later." - n 1fsqsslsbl "I bet {i}someone{/i} would like that,{w=0.1} huh?{w=0.5}{nw}" - extend 1fsldvlsbl " Ehehe..." + n 4fsqsslsbl "I bet {i}someone{/i} would like that,{w=0.1} huh?{w=0.5}{nw}" + extend 4fsldvlsbl " Ehehe..." elif Natsuki.isAffectionate(higher=True): n 1nlrpol "I {i}suppose{/i} I can give that a shot later." extend 1nlrsslsbr " Ehehe..." else: - n 1fcspol "I {i}suppose{/i} I can give that a shot later." - n 1flrajl "B-but only because I want to though,{w=0.75}{nw}" + n 2fcspol "I {i}suppose{/i} I can give that a shot later." + n 2flrajl "B-but only because I want to though,{w=0.75}{nw}" extend 1fsrpol " obviously." else: - n 1tnmpueqm "Eh?{w=1}{nw}" + n 4tnmpueqm "Eh?{w=1}{nw}" extend 1tlrpueqm " What's this note doing here...?" - n 1tllbo "..." + n 2tllbo "..." n 1unmgsesu "W-{w=0.2}woah!" n 1flldvl "Heh.{w=0.5}{nw}" extend 1fllsslsbr " I gotta admit.{w=1}{nw}" - extend 1fsrnvlsbr " I never even thought of trying {i}that{/i} with my hair..." + extend 3fsrnvlsbr " I never even thought of trying {i}that{/i} with my hair..." n 1unmbo "[unlock.display_name],{w=0.1} huh?" n 1nllajl "I {i}guess{/i} it might be worth a try..." if Natsuki.isEnamored(higher=True): - n 1fsqsslsbr "I wonder who'd like {i}that{/i},{w=0.1} though?{w=0.5}{nw}" - extend 1fsqsmlsbr " Ehehe..." + n 4fsqsslsbr "I wonder who'd like {i}that{/i},{w=0.1} though?{w=0.5}{nw}" + extend 4fsqsmlsbr " Ehehe..." elif Natsuki.isAffectionate(higher=True): n 1nlrsslsbr "We'll see." else: n 1fcsgsl "B-{w=0.2}but only out of curiosity!{w=1}{nw}" - extend 1fsqpol " Got it?" + extend 2fsqpol " Got it?" else: if Natsuki.isEnamored(higher=True): if alt_dialogue: n 1kcsemlesi "Jeez...{w=1}{nw}" - extend 1knmpol " why are you trying to spoil me so much?" - n 1fllpol "You know I hate being showered in flashy stuff..." + extend 3knmpol " why are you trying to spoil me so much?" + n 3fllpol "You know I hate being showered in flashy stuff..." n 1kslsrl "..." n 1ksqsrlsbl "...Especially things like this [unlock.display_name]." extend 1kslsslsbl " Even if it is pretty awesome." n 1kslsrl "..." n 1nllajl "I'm...{w=1}{nw}" - extend 1ksrpol " just going to keep that too." - n 1nsrdvf "...Thanks." + extend 2ksrpol " just going to keep that too." + n 2nsrdvf "...Thanks." else: n 1uskgsfesu "...!" n 1fsldvl "...Heh.{w=1}{nw}" - extend 1tsqpufsbl " You really {i}are{/i} trying to win me over with all this stuff,{w=0.1} huh?" + extend 4tsqpufsbl " You really {i}are{/i} trying to win me over with all this stuff,{w=0.1} huh?" n 1kslsllsbl "..." n 1fcspulsbl "The [unlock.display_name]...{w=1}{nw}" n 1knmpulsbr "It's...{w=0.5} really nice.{w=0.75}{nw}" - extend 1kllsrlsbr " Okay?" + extend 4kllsrlsbr " Okay?" n 1kslunlesssbr "Thanks..." elif Natsuki.isAffectionate(higher=True): if alt_dialogue: n 1uwdajlesu "...!" - n 1fcsemlesssbl "A-{w=0.1}ahem!{w=1}{nw}" - extend 1fslpol " Another good choice,{w=0.5}{nw}" - extend 1fsqpolsbr " I hate to admit." + n 2fcsemlesssbl "A-{w=0.1}ahem!{w=1}{nw}" + extend 2fslpol " Another good choice,{w=0.5}{nw}" + extend 4fsqpolsbr " I hate to admit." n 1klrbolsbr "..." n 1fcsunlsbr "...Thanks,{w=0.1} [player]." n 1fllunlsbr "For the [unlock.display_name],{w=0.5}{nw}" - extend 1fnmpulsbl " I-{w=0.2}I mean." + extend 4fnmpulsbl " I-{w=0.2}I mean." n 1kslpulsbl "It's...{w=1}{nw}" extend 1kslsslsbl " really cool." - n 1fslpofsbl "...Thanks." + n 2fslpofsbl "...Thanks." else: n 1uwdajledz "...!" n 1fcsunlesdsbl "..." n 1fcssslsbl "Heh,{w=1}{nw}" - extend 1fllbglesssbr " a-{w=0.2}and here I was thinking I'd have to teach you {i}everything{/i} about style!" - n 1kllsllsbr "..." + extend 3fllbglesssbr " a-{w=0.2}and here I was thinking I'd have to teach you {i}everything{/i} about style!" + n 3kllsllsbr "..." n 1knmbolsbr "...But thanks,{w=0.3} [player].{w=1}" extend 1flrunlsbr " For the [unlock.display_name]." n 1fcsunlsbr "I...{w=0.75}{nw}" - extend 1ksrunfsbl " really appreciate it." + extend 4ksrunfsbl " really appreciate it." else: if alt_dialogue: n 1uskgslesh "...!" - n 1fdwanfess "Nnnnnnn-!" + n 4fdwanfess "Nnnnnnn-!" n 1fcsemfesssbl "Y-{w=0.2}you're just lucky you're good at picking out gifts,{w=0.5}{nw}" - extend 1fsqpofesssbl " you jerk." - n 1fslpofesssbr "I guess I'll {i}have{/i} to keep this [unlock.display_name] now.{w=0.75}{nw}" - extend 1fnmpofesssbl " I-{w=0.2}I hope you're happy." + extend 3fsqpofesssbl " you jerk." + n 3fslpofesssbr "I guess I'll {i}have{/i} to keep this [unlock.display_name] now.{w=0.75}{nw}" + extend 3fnmpofesssbl " I-{w=0.2}I hope you're happy." else: n 1fspgsledz "W-{w=0.2}woah!" n 1uskemfesh "...!" - n 1fbkwrf "What?!{w=1}{nw}" - extend 1fllwrfeszsbl " Don't look at me like that!" + n 4fbkwrf "What?!{w=1}{nw}" + extend 4fllwrfeszsbl " Don't look at me like that!" n 1fcseml "I-{w=0.2}I'm glad to see you have {i}some{/i} taste after all to have found this." - n 1fllcal "[unlock.display_name],{w=0.1} huh?{w=1}{nw}" - extend 1fcscal " I-{w=0.2}I guess I'll keep it around." - n 1fcspofess "Juuuust in case." + n 2fllcal "[unlock.display_name],{w=0.1} huh?{w=1}{nw}" + extend 2fcscal " I-{w=0.2}I guess I'll keep it around." + n 2fcspofess "Juuuust in case." $ alt_dialogue = not alt_dialogue if len(jn_outfits._SESSION_NEW_UNLOCKS) > 0: if Natsuki.isEnamored(higher=True): n 1klrpul "...I can't believe there's even more.{w=1}{nw}" - extend 1fcspul " Jeez,{w=0.1} [player]..." - n 1kcspul "...Okay.{w=1}{nw}" - extend 1fslssl " Let's see what's next..." + extend 4fcspul " Jeez,{w=0.1} [player]..." + n 4kcspul "...Okay.{w=1}{nw}" + extend 4fslssl " Let's see what's next..." elif Natsuki.isAffectionate(higher=True): - n 1ksrunl "Uuuuuuu...{w=1}{nw}" + n 2ksrunl "Uuuuuuu...{w=1}{nw}" extend 1ksremlesd " there's {i}still{/i} more?!" n 1kcsemlesisbl "Jeez..." else: - n 1fnmpol "H-{w=0.2}how much {i}is{/i} there here,{w=0.1} [player]{w=1}{nw}?" - extend 1fslpofesssbr " Jeez..." + n 3fnmpol "H-{w=0.2}how much {i}is{/i} there here,{w=0.1} [player]{w=1}{nw}?" + extend 3fslpofesssbr " Jeez..." if Natsuki.isEnamored(higher=True): n 1fcsssl "Finally ran out of things to throw at me,{w=0.5}{nw}" extend 1fllsslsbl " huh?" - n 1kllbolsbl "..." - n 1ksrpulsbl "I...{w=1}{nw}" + n 4kllbolsbl "..." + n 4ksrpulsbl "I...{w=1}{nw}" extend 1ksqsrlsbl " really wish you didn't do that,{w=0.1} you know." n 1kllbolsbl "..." n 1kllpulsbr "But...{w=0.75}{nw}" - extend 1knmsslsbr " [player]?" - n 1fsrunfsbr "..." + extend 4knmsslsbr " [player]?" + n 4fsrunfsbr "..." - show black zorder 4 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) play audio clothing_ruffle $ jnPause(3.5, hard=True) @@ -2611,26 +2812,26 @@ label new_wearables_outfits_unlocked: hide black with Dissolve(1.25) $ chosen_tease = jn_utils.getRandomTease() n 1knmssf "...Thanks,{w=0.1} [chosen_tease]." - n 1klrsmfeme "Ehehe." + n 2klrsmfeme "Ehehe." else: hide black with Dissolve(1.25) - n 1fslunf "...Thanks.{w=0.75}{nw}" - extend 1fslsmfsbr " Ehehe." + n 2fslunf "...Thanks.{w=0.75}{nw}" + extend 2fslsmfsbr " Ehehe." elif Natsuki.isAffectionate(higher=True): n 1fllun "...Is that it?{w=0.75}{nw}" - extend 1flrunl " Is that everything?" + extend 3flrunl " Is that everything?" n 1fcsemlesi "Jeez..." - n 1fnmtrl "You really need to stop giving away so much stuff,{w=0.1} [player].{w=1}{nw}" - extend 1fsqcal " I don't want you getting into a dumb habit!" + n 4fnmtrl "You really need to stop giving away so much stuff,{w=0.1} [player].{w=1}{nw}" + extend 4fsqcal " I don't want you getting into a dumb habit!" n 1fslunlsbl "Especially when I can't do anything nice back..." n 1kslunlsbl "..." n 1kslpulsbl "But...{w=0.75}{nw}" - extend 1knmsllsbr " [player]?" - n 1fsrunfsbr "..." + extend 4knmsllsbr " [player]?" + n 2fsrunfsbr "..." - show black zorder 4 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) show natsuki 1flrcafsbr at jn_center zorder JN_NATSUKI_ZORDER play audio clothing_ruffle $ jnPause(2, hard=True) @@ -2641,21 +2842,21 @@ label new_wearables_outfits_unlocked: else: n 1kslemlesi "Man...{w=1}{nw}" - extend 1flrtrl " is that all of it?{w=0.5}{nw}" + extend 2flrtrl " is that all of it?{w=0.5}{nw}" extend 1fcspulsbl " Jeez..." n 1fslunlsbr "..." n 1nslajlsbr "I...{w=0.75}{nw}" - extend 1nsqajlsbl " suppose I better go put all this away now." + extend 4nsqajlsbl " suppose I better go put all this away now." n 1kslunlsbr "..." n 1kslpulsbl "But..." - extend 1knmsllsbr " [player]?" - n 1fsrunlsbr "..." - n 1fsrajlsbr "I..." + extend 4knmsllsbr " [player]?" + n 2fsrunlsbr "..." + n 2fsrajlsbr "I..." extend 1ksrcafsbr " really appreciate the stuff you got me." n 1kllcalsbr "..." n 1fcstrlsbl "T-{w=0.2}thanks." - show black zorder 4 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ giftbox.close() $ giftbox.hide() $ jnPause(2, hard=True) @@ -2671,8 +2872,8 @@ label new_wearables_outfits_unlocked: hide black with Dissolve(1.25) n 1ullajl "So..." - n 1tnmsslsbl "Where we we?{w=1}{nw}" - extend 1fslsslsbr " Ehehe..." + n 4tnmsslsbl "Where we we?{w=1}{nw}" + extend 4fslsslsbr " Ehehe..." $ Natsuki.calculatedAffinityGain(bypass=True) $ jn_globals.force_quit_enabled = True @@ -2717,6 +2918,16 @@ screen create_outfit(): style "hkbd_label" left_margin 10 + hbox: + # Facewear + textbutton _("Facewear"): + style "hkbd_option" + action Jump("outfits_create_select_facewear") + + label _(jn_utils.escapeRenpySubstitutionString(jn_outfits._PREVIEW_OUTFIT.facewear.display_name) if isinstance(jn_outfits._PREVIEW_OUTFIT.facewear, jn_outfits.JNFacewear) else "None"): + style "hkbd_label" + left_margin 10 + hbox: # Accessories textbutton _("Accessories"): @@ -2747,10 +2958,21 @@ screen create_outfit(): style "hkbd_label" left_margin 10 + hbox: + # Back slot + textbutton _("Back"): + style "hkbd_option" + action Jump("outfits_create_select_back") + + label _(jn_utils.escapeRenpySubstitutionString(jn_outfits._PREVIEW_OUTFIT.back.display_name) if isinstance(jn_outfits._PREVIEW_OUTFIT.back, jn_outfits.JNBack) else "None"): + style "hkbd_label" + left_margin 10 + # Save/quit vbox: xpos 600 ypos 450 + null height 20 textbutton _("Finished"): style "hkbd_option" diff --git a/game/preferences.rpy b/game/preferences.rpy index 95d04847..a929863e 100644 --- a/game/preferences.rpy +++ b/game/preferences.rpy @@ -23,7 +23,7 @@ init python in jn_preferences.random_topic_frequency: OFTEN = 4 _RANDOM_TOPIC_FREQUENCY_COOLDOWN_MAP = { - 0: 999, + 0: 10000, 1: 30, 2: 15, 3: 5, diff --git a/game/random_music.rpy b/game/random_music.rpy index e13df4a2..6ab917f7 100644 --- a/game/random_music.rpy +++ b/game/random_music.rpy @@ -54,8 +54,8 @@ label random_music_change: return $ track_quip = random.choice(jn_random_music._NEW_TRACK_QUIPS) - n 1nchbg "[track_quip]{w=2}{nw}" - show natsuki 1nchsmeme + n 3nchbg "[track_quip]{w=2}{nw}" + show natsuki 4nchsmeme $ jn_custom_music.presentMusicPlayer("playing") play audio button_tap_c @@ -64,8 +64,8 @@ label random_music_change: $ jnPause(2) $ track_followup = random.choice(jn_random_music._NEW_TRACK_FOLLOWUPS) - n 1unmbgl "[track_followup]{w=2}{nw}" - show natsuki 1fcssm + n 2fcssm "[track_followup]{w=2}{nw}" + show natsuki 4fcssm python: music_title_and_file = random.choice( @@ -89,8 +89,8 @@ label random_music_change: renpy.notify("Now playing: {0}".format(jn_custom_music._now_playing)) $ track_complete = random.choice(jn_random_music._NEW_TRACK_COMPLETE_LINES) - n 1uchbgeme "[track_complete]{w=2}{nw}" - show natsuki 1fcssm + n 2uchbgeme "[track_complete]{w=2}{nw}" + show natsuki 2fcssm $ jn_custom_music.hideMusicPlayer() @@ -115,11 +115,11 @@ init 5 python: label random_music_enable: n 1unmbg "Ooh!{w=0.5}{nw}" - extend 1fchbg " Yeah,{w=0.1} I can do that!" - n 1unmss "I'll change it about every fifteen minutes or so then,{w=0.1} 'kay?" - n 1uwdaj "Oh!{w=0.5}{nw}" + extend 3fchbg " Yeah,{w=0.1} I can do that!" + n 3unmss "I'll change it about every fifteen minutes or so then,{w=0.1} 'kay?" + n 4uwdaj "Oh!{w=0.5}{nw}" extend 1fllbg " I almost forgot {w=0.1}-{w=0.1} let me just check there's actually any music for me to play first." - n 1ncsbo "..." + n 4ncsbo "..." if len(jn_utils.getAllDirectoryFiles( path=jn_custom_music.CUSTOM_MUSIC_DIRECTORY, @@ -127,27 +127,28 @@ label random_music_enable: )) >= 2: # Proceed if we have at least two tracks n 1uchgn "Okaaay!{w=0.2} I think I've got enough to work with here!{w=0.5}{nw}" - extend 1nchsm " Ehehe." - n 1nsqsm "Don't worry,{w=0.1} [player].{w=0.5}{nw}" - extend 1fcsbg " I'll pick good ones!" + extend 4nchsm " Ehehe." + n 2nsqsm "Don't worry,{w=0.1} [player].{w=0.5}{nw}" + extend 2fcsbg " I'll pick good ones!" + $ persistent.jn_random_music_enabled = True elif preferences.get_volume("music") == 0: # Cancel if the player has music volume set to zero n 1nsqem "Uh...{w=0.5} huh." - n 1tsqca "And how {i}exactly{/i} do you plan to hear it with music turned off?" - n 1uchbg "Geez...{w=0.3} you're such a dork sometimes,{w=0.1} [player].{w=0.5}{nw}" - extend 1nchsm " Ehehe." - n 1fwlsm "Turn it back up,{w=0.1} and then we'll talk.{w=0.2} 'Kay?" + n 2tsqca "And how {i}exactly{/i} do you plan to hear it with music turned off?" + n 2uchbg "Geez...{w=0.3} you're such a dork sometimes,{w=0.1} [player].{w=0.5}{nw}" + extend 4nchsm " Ehehe." + n 3fwlsm "Turn it back up,{w=0.1} and then we'll talk.{w=0.2} 'Kay?" else: # Cancel if the player doesn't have a selection of custom music n 1tllaj "Uhmm...{w=0.3} [player]?{w=0.5}{nw}" - extend 1tnmca " You haven't exactly given me a lot to work with here." - n 1unmaj "Can you give me at least a couple of tracks?{w=0.5}{nw}" - extend 1tnmpo " You {i}do{/i} remember how do to that,{w=0.1} right?" + extend 4tnmca " You haven't exactly given me a lot to work with here." + n 2unmaj "Can you give me at least a couple of tracks?{w=0.5}{nw}" + extend 2tnmpo " You {i}do{/i} remember how do to that,{w=0.1} right?" $ chosen_tease = jn_utils.getRandomTease() - n 1uchbg "Just add them to the custom music folder,{w=0.1} [chosen_tease]!" + n 3uchbg "Just add them to the custom music folder,{w=0.1} [chosen_tease]!" jump ch30_loop @@ -170,10 +171,10 @@ init 5 python: label random_music_disable: n 1unmaj "Huh?{w=0.2} Wow.{w=0.5}{nw}" - extend 1nsqsf " Are my music choices {i}really{/i} that bad,{w=0.1} [player]?" - n 1fsrsm "...Ehehe." + extend 2nsqsf " Are my music choices {i}really{/i} that bad,{w=0.1} [player]?" + n 4fsrsm "...Ehehe." n 1uchbg "I'm just messing with you.{w=0.2} Sure thing!{w=0.5}{nw}" - extend 1nchsm " I'll just put it back to the regular music." + extend 2nchsm " I'll just put it back to the regular music." $ jn_custom_music.presentMusicPlayer("playing") play audio button_tap_c @@ -186,7 +187,7 @@ label random_music_disable: play music audio.just_natsuki_bgm fadein 2 $ jnPause(2) - n 1nwlbg "...And there we go!" + n 2nwlbg "...And there we go!" $ jn_custom_music.hideMusicPlayer() diff --git a/game/screens.rpy b/game/screens.rpy index bf960f99..5b0e72e0 100644 --- a/game/screens.rpy +++ b/game/screens.rpy @@ -22,39 +22,62 @@ screen hotkeys(): tag menu use game_menu(("Hotkeys")): viewport id "hotkeys": - vbox: - label _("All hotkeys") style "check_label" - xoffset 100 - yoffset 40 - null height 20 - style_prefix "hotkeys" - grid 2 8: - xoffset 20 - spacing 10 + yoffset 0 + xoffset 50 + hbox: + vbox: + box_wrap True + label _("All hotkeys") style "check_label" + null height 20 + style_prefix "hotkeys" + grid 2 8: + xoffset 20 + spacing 10 + + text _("Talk") + text _("T") + + text _("Music") + text _("M") + + text _("Extras") + text _("E") - text _("Talk") - text _("T") + text _("Fullscreen") + text _("F") - text _("Music") - text _("M") + text _("Hide UI") + text _("H") - text _("Extras") - text _("E") + text _("Screenshot") + text _("S") - text _("Fullscreen") - text _("F") + text _("Settings") + text _("Esc") - text _("Hide UI") - text _("H") + null width 175 height 30 + null width 175 height 0 - text _("Screenshot") - text _("S") + if persistent.jn_snap_unlocked: + hbox: + xoffset 300 + vbox: + box_wrap True + label _("Snap hotkeys") style "check_label" + null height 20 + style_prefix "hotkeys" + grid 2 3: + xoffset 20 + spacing 10 + + text _("Place") + text _("1") - text _("Settings") - text _("Esc") + text _("Snap!") + text _("2") - null width 175 height 30 - null width 175 height 0 + null width 175 height 30 + null width 175 height 0 # Categorized menu ## Similar to MAS' twopane_scrollable menu. @@ -706,6 +729,7 @@ style choice_button_text is default: style quickmenu_text: color "#e2d1d1" hover_color "#FF8ED0" + selected_color "#b59" size 14 screen quick_menu(): @@ -1749,4 +1773,9 @@ style notify_frame: padding gui.notify_frame_borders.padding style notify_text: - size gui.notify_text_size \ No newline at end of file + size gui.notify_text_size + +screen problem(message): + zorder 100 + text "[message]" size 30 xalign 0.5 ypos 40 text_align 0.5 xysize (None, None) color "#FF0000" + \ No newline at end of file diff --git a/game/script-admissions.rpy b/game/script-admissions.rpy index 63ce8a9f..dff3b3b2 100644 --- a/game/script-admissions.rpy +++ b/game/script-admissions.rpy @@ -70,26 +70,68 @@ init 5 python: label admission_angry: if jn_admissions.last_admission_type == jn_admissions.TYPE_ANGRY: - n 1uwdaj "[player]...{w=0.3} you're still mad?" - n 1tnmbo "Did you spend some time outside,{w=0.1} like I said?" - n 1tllbo "..." - n 1klrsl "I wish there was more I could suggest..." - n 1knmss "Just...{w=0.3} try and stay calm,{w=0.1} and think things through a little,{w=0.1} okay?" - n 1kllca "I don't want you storming off and getting hurt,{w=0.1} or doing something you'll regret." - n 1knmbo "Can you do that for me,{w=0.2} [player]?" - + n 1kcsemesi "Jeez,{w=0.2} [player]...{w=1}{nw}" + extend 2ksqposbl " you're really still all worked up?" + n 2fnmpo "...Did you actually {i}go{/i} spend some time outside,{w=0.2} like I said?" + n 2klrsl "..." + n 4klrsssbl "I honestly don't know what else I can suggest,{w=0.75}{nw}" + extend 4knmbosbl " really." + n 1fcsflsbl "Just...{w=1}{nw}" + extend 1fnmajsbl " try and stay calm,{w=0.75}{nw}" + extend 2fcscasbl " and think things through {i}properly{/i}." + n 2knmca "Alright?" + n 1kllsl "The last thing anyone needs is you storming off and getting hurt,{w=0.75}{nw}" + extend 4kllfl " or doing something..." + n 4kslsr "...that you can't easily take back." + n 2ncsaj "Trust me.{w=0.75}{nw}" + extend 2tnmfl " Doing stuff in anger,{w=0.2} because you let it all get to you?{w=0.75}{nw}" + extend 2fcssl " It {i}never{/i} turns out better that way." + n 2kslsl "I should know." + n 1ncsaj "So give yourself some time,{w=0.2} [player].{w=1}{nw}" + extend 1ullbo " Space too,{w=0.2} if you need it." + n 4fcsca "{i}Then{/i} just take it as it comes." + n 4nlrpu "You can at least manage that...{w=0.75}{nw}" + if Natsuki.isEnamored(higher=True): - n 1kplbol "It really upsets me hearing you worked up like this,{w=0.1} you know..." - n 1knmbol "So please, [player]. Stay calm{w=0.1} -{w=0.1} for me?" + extend 4knmpu " right?{w=1}{nw}" + extend 4knmsslsbl " F-{w=0.2}for me?" + n 3knmsllsbl "And for yourself,{w=0.75}{nw}" + extend 3klrbolsbl " if nothing else." + + if Natsuki.isLove(higher=True): + $ chosen_endearment = jn_utils.getRandomEndearment() + n 4fchsmlsbl "You got this,{w=0.2} [chosen_endearment]!{w=0.5}{nw}" + extend 4fchbgleafsbl " Just like always!" + + else: + extend 4knmpu " right?" + n 2fcsbolsbl "You owe yourself that much,{w=0.2} at least." else: - n 1tnmaj "Huh?{w=0.2} You're angry?" - n 1tnmbo "[player]...{w=0.3} what's got you so worked up?{w=0.2} That's no good,{w=0.1} [player]!" - n 1kllem "I know it's probably ironic coming from me,{w=0.1} but let's just try to calm down, okay?" - n 1ncssf "Just being mad won't solve anything,{w=0.1} so let's focus." - n 1ulraj "Personally if things get too much for me,{w=0.1} I like to take a walk.{w=0.2} It's amazing what some fresh air can do!" - n 1knmsl "Why don't you take a few minutes outside too.{w=0.2} For me?" - n 1nnmbg "You'll feel a little better soon.{w=0.2} I promise!" + n 4tnmpu "Huh?{w=0.75}{nw}" + extend 4knmfl " You're {i}angry{/i}?" + n 1kllan "Yeesh...{w=0.75}{nw}" + extend 2knmaj " what's got you so worked up?{w=0.75}{nw}" + extend 2fcsgs " That's no good at all,{w=0.2} [player]!" + n 2fcsflsbl "I-{w=0.2}I know it's probably ironic coming from me,{w=0.75}{nw}" + extend 4fcstr " but let's just cool things down a little.{w=0.5}{nw}" + extend 4knmca " 'Kay?" + n 1fcsaj "Just being mad never solved anything,{w=0.2} so let's focus." + n 2ncsfl "Alright.{w=0.75}{nw}" + extend 2nlrfl " Now,{w=0.2} what would {i}I{/i} do if something -{w=0.5}{nw}" + extend 2fsrca " or someone -{w=0.5}{nw}" + extend 4tnmsl " {i}really{/i} got on my nerves?" + n 1tllaj "Personally if I get all hot-headed,{w=0.75}{nw}" + extend 3fcsss " I like to take a walk.{w=0.75}{nw}" + extend 3unmaj " You know -{w=0.5}{nw}" + extend 3nlrbo " distance myself from the problem." + n 4fcscs "It worked for me back in the club,{w=0.2} after all." + n 3fcsbg "It's actually pretty amazing what some fresh air and a little power-walk can do!" + n 3ulraj "So...{w=1}{nw}" + extend 1tnmbo " why not give that a try first,{w=0.2} [player]?" + n 4nsrsssbr "Even if it {i}isn't{/i} a super massive help with how you're feeling..." + n 2fcsbgsbr "A little exercise never hurt anyone either!{w=0.75}{nw}" + extend 4fchsmsbr " Ehehe." $ jn_admissions.last_admission_type = jn_admissions.TYPE_ANGRY return @@ -108,36 +150,88 @@ init 5 python: label admission_anxious: if jn_admissions.last_admission_type == jn_admissions.TYPE_ANXIOUS: - n 1knmsl "Still feeling anxious,{w=0.1} [player]?" - n 1kllsl "..." - n 1kllaj "I wish I could do more to help you..." - n 1knmaj "Perhaps you could try some distractions to keep your mind off things?" - n 1unmss "You could pick up a series you haven't finished,{w=0.1} or continue a hobby or something." - n 1klran "Nnnn..{w=0.3} what else..." - n 1unmgs "Oh!{w=0.2} Try to avoid soda,{w=0.1} coffee and things like that too,{w=0.1} [player]." - n 1knmsl "I think caffeine is the last thing you need right now." - n 1klrss "Music might also help!{w=0.2} Something calming, though {w=0.1}-{w=0.1} I guess kind of like meditation?" - n 1knmss "Can you do something like that,{w=0.1} [player]?" - n 1kwmsm "I promise you'll start to feel normal soon!" + n 4knmpu "You're still feeling anxious,{w=0.2} [player]?" + n 1nsrun "Uuuuuuuu..." + n 2ksrflsbr "I'm really {w=0.3}{i}not{/i}{w=0.3} the best person for this sort of thing..." + n 2knmbosbr "But perhaps you could try some distractions to keep your mind off whatever it is?" + n 4kllsssbr "You could pick up a series you haven't finished,{w=0.75}{nw}" + extend 4tllbosbr " or continue a hobby or something." + n 1fslunsbl "Nnnnnn...{w=0.75}{nw}" + extend 4kslemsbl " what else..." + n 1unmajesu "Oh!{w=0.5}{nw}" + extend 3fcspo " Try to avoid soda,{w=0.2} coffee and things like that too." + n 3flrca "I mean,{w=0.75}{nw}" + extend 1fsrss " they aren't great for you anyway.{w=1}{nw}" + extend 4nsrslsbl " But I think loading up on caffeine and sugar is the {i}last{/i} thing you need right now." + n 4tnmbo "Besides that,{w=0.5}{nw}" + extend 1kllss " I usually find listening to music works for me.{w=0.75}{nw}" + extend 4unmaj " But don't feel like you have to do whatever I find helps -{w=0.5}{nw}" + extend 3fchbgsbr " you should totally do whatever {i}you{/i} usually find comforting!" + n 3unmbo "You don't have to push the boat out or anything:{w=0.5}{nw}" + extend 4ullfl " a favourite game,{w=0.5}{nw}" + extend 2nsrsm " some dumb old manga series...{w=1}{nw}" + extend 2fchbg " whatever keeps that noggin of yours busy!" + n 4fsqcs "...And if nothing else comes to mind?" + n 4fchgn "You could always get stuck into some good old busywork!" + n 2uslss "There's {i}always{/i} some kind of chore that needs doing anyway,{w=0.75}{nw}" + extend 2usqcs " right?" + n 1fsqsm "Ehehe." + n 3fcsbs "Don't worry -{w=0.5}{nw}" + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else jn_utils.getRandomTease() + extend 3uchgnl " you got this,{w=0.2} [chosen_descriptor]!" else: - n 1tplsf "Feeling anxious,{w=0.1} [player]?" - n 1tlrsl "..." - n 1klraj "I wish there was more I could say to ease your mind." - n 1nnmbo "But I can tell you one thing,{w=0.1} [player]." - n 1knmaj "Everything is going to be okay.{w=0.2} Everything will work out,{w=0.1} eventually." - n 1knmbo "I promise." - n 1klrbo "Getting really worked up about something won't make it any easier,{w=0.1} [player]." - n 1nllssl "And if nothing else,{w=0.1} I'll be here to listen." - n 1knmbo "So...{w=0.3} try and put your mind at rest,{w=0.1} okay?" - n 1knmaj "I know it's tough...{w=0.3} but just try,{w=0.1} alright?" + n 4tnmpu "Huh?{w=0.75}{nw}" + extend 4knmfl " You're feeling anxious,{w=0.5}{nw}" + extend 4knmbo " [player]?" + n 1kllsssbl "...What brought this on,{w=0.5}{nw}" + extend 1knmsssbl " all of a sudden?{w=0.75}{nw}" + extend 2knmcasbl " You don't have some kind of big thing coming up soon,{w=0.2} do you?" + n 2ksrslsbl "..." + n 2ksrsssbr "W-{w=0.2}well,{w=0.75}{nw}" + extend 4ksrpusbr " I gotta admit.{w=1}{nw}" + extend 1knmslsbr " I don't really know what kind of advice I can give you this time,{w=0.2} [player]..." + n 3fcssllsbr "But what I do know is this." + n 3fcsbol "Everything is gonna be fine." + n 4fcsssl "Everything {i}will{/i} work out,{w=0.2} eventually.{w=0.75}{nw}" + extend 4fchbgl " It always does!" + n 1fllss "I mean,{w=0.5}{nw}" + extend 2fslss " it might not always be in the way you {i}expect{/i},{w=0.75}{nw}" + extend 2tslbo " or even necessarily the way you {i}want{/i}..." + n 4fnmbo "But getting all stressed out about something won't make it any easier,{w=0.2} [player]." - if Natsuki.isAffectionate(higher=True): - n 1kwmsm "I'll always have your back." + if Natsuki.isEnamored(higher=True): + n 1fchsml "And you know I'll always be here to listen." - if Natsuki.isLove(higher=True): - $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kchsml "I love you, [chosen_endearment]." + else: + n 1fcscal "Plus if nothing else,{w=0.2} I'll always be here to listen." + + n 2nlrbo "So...{w=0.75}{nw}" + extend 2knmbosbr " try and put your mind at rest,{w=0.2} okay?" + n 1fcsbol "I-{w=0.2}I know it's tough...{w=0.75}{nw}" + extend 1kllsll " but just try,{w=0.75}{nw}" + extend 4knmsll " alright?" + + if Natsuki.isEnamored(higher=True): + n 4klrssl "A-{w=0.2}and besides." + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else jn_utils.getRandomTease() + n 1fchsml "You should know I've {i}always{/i} got your back by now,{w=0.75}{nw}" + extend 1fchbll " [chosen_descriptor]." + + if Natsuki.isLove(higher=True): + n 4fchsmleaf "Love you,{w=0.2} [player]~!" + + else: + n 4fchsml "Ehehe." + $ chosen_tease = jn_utils.getRandomTease() + n 4fchbgl "Do your best,{w=0.2} [chosen_tease]" + + else: + n 4fcssslsbl "B-{w=0.2}besides..." + n 2fsqbglsbl "With someone like {i}me{/i} backing you up?{w=0.75}{nw}" + extend 2fsrdvlsbl " Well..." + n 3fchbgl "I daresay you've got nothing to worry about,{w=0.2} [player]!{w=0.75}{nw}" + extend 3fchsmleme " Ehehe." $ jn_admissions.last_admission_type = jn_admissions.TYPE_ANXIOUS return @@ -156,33 +250,76 @@ init 5 python: label admission_ashamed: if jn_admissions.last_admission_type == jn_admissions.TYPE_ASHAMED: - n 1knmsl "[player]...{w=0.3} you're still feeling ashamed of yourself?" - n 1fnmsl "Well,{w=0.1} I'm not going to give up on you {i}that{/i} easily,{w=0.1} you know!" - n 1fnmss "Just keep trying your best to put things right,{w=0.1} okay?" - n 1unmbg "You can do it!{w=0.2} I know you can!" + n 1knmbo "[player]...{w=0.75}{nw}" + extend 4ksrslsbl " you aren't {i}seriously{/i} still feeling ashamed of yourself,{w=0.5}{nw}" + extend 4ksqsrsbl " are you?" + n 2fcsbo "..." + n 2fcsfl "Well,{w=0.5}{nw}" + extend 1fcsgs " sorry [player] -{w=0.5}{nw}" + extend 4fchgn " but I'm not giving up on you {i}that{/i} easily!" + n 3flrss "And hey,{w=0.5}{nw}" + extend 3fnmbg " newsflash:{w=0.75}{nw}" + extend 3fsqbg " you're not giving up that easily either!" + + if Natsuki.isEnamored(higher=True): + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else jn_utils.getRandomTease() + + else: + $ chosen_descriptor = player + + n 4fcsbs "Now go put things right,{w=0.2} [chosen_descriptor]!" + + if Natsuki.isEnamored(higher=True): + n 4fchsml "I believe in you!" + + else: + n 4fwlsm "You better not let me down!" else: - n 1unmbo "Huh?{w=0.2} What?" - n 1tnmbo "You're feeling...{w=0.3} ashamed?{w=0.2} Of yourself?" - n 1kllbo "...Why,{w=0.1} [player]?{w=0.2} Did you do something wrong?" - n 1ncsaj "Well...{w=0.3} whatever you did,{w=0.1} I'm sure you didn't mean it!" - n 1fcsbg "More importantly,{w=0.1} you're going to work hard to put things right.{w=0.2} I just know it!" - n 1fnmaj "So...{w=0.3} don't let me down,{w=0.2} okay?" - n 1fnmbo "And you aren't going to let yourself down either,{w=0.1} right?" + n 1unmem "Huh?{w=1}{nw}" + extend 4kcsfl " Wait,{w=0.75}{nw}" + extend 4knmfl " what?" + n 4kllbo "You're feeling...{w=0.75}{nw}" + extend 2knmbo " ashamed?{w=0.75}{nw}" + extend 2knmflsbr " Of yourself?" + n 2ksrpu "...Why,{w=0.5} [player]?{w=0.75}{nw}" + extend 2fnmpol " You didn't go out and do something {w=0.2}{i}really{/i}{w=0.2} dumb,{w=0.2} did you?" + n 2fcscal "..." + n 4fcstrl "Well...{w=0.3} whatever you did,{w=0.5}{nw}" + extend 2fcsgsl " I-{w=0.2}I'm sure you didn't mean it!" + n 3fnmfl "And more importantly,{w=0.5}{nw}" + extend 3fcsss " you're going to work your butt off to put things right.{w=0.75}{nw}" + extend 3fcssmedz " I just know it!" + n 4fcsbg "You're gonna step up to the plate,{w=0.2} and that's all there is to it." + n 2nllaj "So...{w=0.75}{nw}" + extend 2fnmca " don't let me down,{w=0.2} got it?" + n 2fnmaj "And you aren't going to let yourself down either." + + show natsuki 2fnmca menu: + "Right?" + "Right!": - n 1fchbg "Exactly!" - n 1fnmsm "You know you got this!" + n 1fchbs "Exactly!{w=0.5}{nw}" + extend 4fsqcs " See?{w=0.75}{nw}" + extend 4fcssmeme " Just like I told you!" "...": - n 1fsqpo "..." - n 1fsqaj "I don't think you get it,{w=0.1} [player]." - n 1fcsss "Now,{w=0.1} repeat after me:{w=0.2} 'I'm not gonna let myself down!'" + n 1nsqbo "..." + n 2fcssr "I don't think you get it,{w=0.2} [player]." + n 2uchgn "...So I guess we gotta do things the hard way!" + n 4fcsbg "Now,{w=0.5}{nw}" + extend 1fnmss " repeat after me:{w=0.5}{nw}" + extend 2fcsss " 'I'm not gonna let myself down!'" + + show natsuki 2fcscs menu: "I'm not gonna let myself down!": - n 1uchgn "See?{w=0.2} I knew you had it in you!{w=0.2} Ahaha." + n 2usqcsesm "See?{w=1}{nw}" + extend 2fchbg " I {i}knew{/i} you had it in you!{w=0.5}{nw}" + extend 2fsqcs " Ehehe." - n 1fchbs "Go get 'em,{w=0.1} [player]!" + n 4fchbg "Now go get 'em,{w=0.2} [player]!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_ASHAMED return @@ -201,86 +338,134 @@ init 5 python: label admission_bored: if jn_admissions.last_admission_type == jn_admissions.TYPE_BORED: - n 1tnmsm "Still trying to beat the boredom,{w=0.1} [player]?" - n 1nllpo "Did you actually try doing what I said?" - n 1flrpu "Hmm..." - n 1fnmbg "Well,{w=0.1} you could try phoning around!{w=0.2} You gotta have friends or family you can visit,{w=0.1} right?" - n 1nllbg "Or...{w=0.3} perhaps you could try reading,{w=0.1} or picking up something new?" - n 1fsqsm "I guess what I'm trying to say is..." - n 1fsqbg "There's no shortage of stuff to do,{w=0.1} [player]." - n 1fchgn "You just gotta find it!" + n 4nslsssbl "Wow...{w=1}{nw}" + extend 4nslflsbl " I guess you really weren't exaggerating then,{w=0.5}{nw}" + extend 4tnmbosbl " huh?" + n 2fsqfl "Did you actually {i}try{/i} doing what I suggested?{w=0.75}{nw}" + extend 2fcsca " Sheesh..." + n 1nlrsl "..." + n 4ulraj "Well,{w=0.75}{nw}" + extend 3tlraj " if there's really {i}nothing{/i} to for you to do {i}here{/i}..." + n 3fcsbg "Then why not check out what everyone else is doing for a change?" + n 4ullbo "Friends,{w=0.5}{nw}" + extend 4ulraj " family...{w=0.75}{nw}" + extend 3fsqcs " that colleague you always plan to hang out with...{w=1}{nw}" + extend 3fcsgs " {i}someone{/i}'s gotta have {i}something{/i} going on,{w=0.2} [player]!" + n 4fchgn "...So get up off your butt already and find out!{w=0.75}{nw}" + extend 4ullss " Phone around or something!" + n 2tnmsl "Or,{w=0.2} you know..." + n 2tsqsmesm "Pick up that game or book you were {i}totally{/i} gonna check out at some point...?" + n 2usqcs "..." + n 2fnmss "What?{w=0.75}{nw}" + extend 4fcsbg " Called you out yet again,{w=0.2} [player]?{w=0.75}{nw}" + extend 1fsqcs " Ehehe." + n 2fnmfl "Now come on!{w=0.75}{nw}" + extend 2fcsbg " There's never a shortage of stuff to do to pass the time.{w=1}{nw}" + extend 2uchgn " Time for you to get up and go find it!" - if Natsuki.isEnamored(higher=True): - n 1uchbg "Now,{w=0.1} go!{w=0.2} And make sure you tell me all about it later,{w=0.1} 'kay?" + if Natsuki.isAffectionate(higher=True): + $ chosen_descriptor = jn_utils.getRandomTease() if Natsuki.isEnamored(higher=True) else player + n 4fwlsm "Off you go,{w=0.2} [chosen_descriptor]!" - else: - n 1usqbg "Well?{w=0.3} What're you waiting for?" - n 1nchgn "Go for it,{w=0.1} [player]!" + if Natsuki.isLove(higher=True): + n 1fchsml "Love you~!" # Unlock Snap if not already unlocked elif not persistent.jn_snap_unlocked: - n 1unmaj "You're bored,{w=0.1} huh?" - n 1nlrpo "Well,{w=0.1} now that you mention it...{w=0.3} there isn't {i}exactly{/i} a whole lot going on here." - - if Natsuki.isEnamored(higher=True): - n 1fllssl "Besides me,{w=0.1} anyway.{w=0.2} Ehehe." - - n 1flrpo "Hmm...{w=0.3} there's gotta be something else..." - n 1fcspo "Think,{w=0.1} Natsuki!{w=0.2} Think..." - n 1fllpu "..." - n 1fsgbg "Aha!{w=0.2} I think I got it!{w=0.2} Let me just check something real quick..." - - play audio drawer - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") - - n 1fchgn "Yes!{w=0.2} It's still here!" - n 1fsgsg "Betcha' didn't know I had playing cards,{w=0.1} right?" - n 1nchgn "Turns out these desk drawers {i}are{/i} handy,{w=0.1} after all!" - n 1nnmsm "I always had a pack here ready for a rainy day." - n 1kllsll "...Uhmm." - n 1nnmsl "Hey...{w=0.3} [player]?{w=0.2} Don't judge me for it,{w=0.1} but..." - n 1nlrun "I...{w=0.3} never really learned all the really fancy card game rules or anything like that." - n 1ullaj "So...{w=0.3} we're playing Snap." - n 1fllssl "...At least until I do some reading up,{w=0.1} anyway." $ persistent.jn_snap_unlocked = True - n 1nnmss "So..." - n 1uchgn "What about it then,{w=0.1} [player]?{w=0.2} Fancy a game or two?" + n 4fcsfl "Wait...{w=0.75}{nw}" + extend 4tnmpu " you're bored?{w=0.75}{nw}" + n 1fcsflsbr "H-{w=0.2}hang on for just a second." + n 2fnmeml "A-{w=0.2}and what are you trying to say,{w=0.2} exactly?!{w=1}{nw}" + extend 2fnmgsl " Huh?" + n 2fcsgslsbr "How could you possibly be bored with someone as awesome as me around?" + n 2fslposbr "Jeez,{w=0.2} [player]..." + n 4fcsposbl "You make it sound like I'm {i}not{/i} trying to liven things up around here or something." + n 1nsrposbl "..." + n 4tsrfl "Though..." + n 3nlrss "Well,{w=0.2} even I gotta admit.{w=1}{nw}" + extend 3tnmfl " there isn't {i}exactly{/i} a whole lot going on here.{w=0.75}{nw}" + extend 3fcscal " Besides me,{w=0.2} I mean." + n 1fslsl "There's gotta be something else around here." + n 1nslss "It is...{w=0.75}{nw}" + extend 2tslpu " was...?{w=0.75}{nw}" + extend 2tnmbo " A classroom,{w=0.2} right?" + n 4tlrca "There has to be {i}something{/i} someone left in a desk,{w=0.2} or..." + n 4unmfleex "...!{w=0.75}{nw}" + n 4fnmbg "Aha!{w=0.5}{nw}" + extend 1fchbg " I just remembered!{w=0.75}{nw}" + extend 1fcssm " Just give me a second here..." + + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) + play audio drawer + show natsuki 4fchgn + $ jnPause(4) + hide black with Dissolve(1) + + n 4uchgn "Yes!{w=0.75}{nw}" + extend 4fchsmeme " I knew it was still here!" + n 2fsqcs "Betcha' didn't know I had playing cards stashed away,{w=0.2} huh?" + n 2fchbl "Turns out these desk drawers {i}are{/i} handy,{w=0.2} after all!{w=1}{nw}" + extend 2fcssm " And you {i}always{/i} gotta have something prepared for a rainy day at school." + n 4nllss "I...{w=0.75}{nw}" + extend 1nsrca " don't exactly know a whole lot of card games...{w=0.75}{nw}" + extend 1fsrpo " yet." + n 3fsqss "But I'll tell you one thing,{w=0.2} [player]." + n 3fchbs "I've got a mean hand at Snap!{w=0.75}{nw}" + extend 4fsqbs " And I am just {i}itching{/i} to prove it right now." + n 2fsqss "So..." + n 2tnmsm "What about it then,{w=0.2} [player]?{w=0.75}{nw}" + extend 2tsqsm " Care to test your mettle?" + + show natsuki 2fsqcs menu: - n "Not like you have much of an excuse not to,{w=0.1} right?" + n "Not like you have any excuse not to,{w=0.2} right?" - "Sure,{w=0.1} why not?": + "Sure,{w=0.2} why not?": jump snap_intro "Not right now.": - n 1fllpo "Aww...{w=0.3} but I already got the cards out and everything!" - n 1unmpo "Well...{w=0.3} whatever." - n 1nnmsm "Just let me know whenever you feel like a game then." - + n 4usqct "Oh?{w=0.75}{nw}" + extend 4tsqsm " Not right now,{w=0.2} you say?" + n 3ullss "Fine,{w=0.2} fine.{w=0.75}{nw}" + extend 3fcsbg " That's cool with me." + n 3uchgn "Just means I get to look forward to kicking your butt later instead!{w=0.75}{nw}" + extend 4nchgn " Ehehe." + + show natsuki 1fchsmeme + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) play audio drawer - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") + $ jnPause(4) + hide black with Dissolve(1) else: - n 1tnmaj "Huh?{w=0.2} You're bored?" - n 1fnmaj "And just what is that supposed to mean,{w=0.1} [player]?" - n 1fsqpo "Am I not fun enough to be with?" - n 1fbkwr "Are you not entertained?!" - n 1flrpo "..." - n 1fsqsm "..." - n 1uchgn "Relax!{w=0.2} Relax,{w=0.1} [player], jeez!" - n 1ullaj "Well,{w=0.1} if you're bored..." - $ chosen_tease = jn_utils.getRandomTease() - n 1uchbs "Then get up off your butt and do something about it,{w=0.1} [chosen_tease]!" - n 1tlrbg "Jeez,{w=0.1} [player]...{w=0.3} there's a big, wide world out there just waiting for you!" - n 1tsqbg "And if that isn't enough,{w=0.1} there's an even bigger one right at your fingertips!" - n 1fsqss "Or you could,{w=0.1} you know." - - if Natsuki.isEnamored(higher=True): - n 1kwmsgl "Spend more time with yours truly?" - n 1knmpol "I'm not that dull...{w=0.3} right?" - - else: - n 1fchbg "Appreciate that you get to spend more time with me!" - n 1flrpol "N-{w=0.1}not that I'd totally appreciate it,{w=0.1} or anything,{w=0.1} of course.{w=0.2} Ahaha..." + n 1tnmfl "Huh?{w=0.75}{nw}" + extend 4tnmpu " You're bored?" + n 2fnmgsl "A-{w=0.2}and just what is {i}that{/i} supposed to mean,{w=0.2} [player]?!" + n 2flreml "Am I boring?{w=0.75}{nw}" + extend 4fcsgsl " Huh?{w=1}{nw}" + extend 4fnmfll " Am I not fun enough to be with?" + n 4fbkwrl "Are you not entertained?!" + n 2fsqpol "..." + n 2fsqdvl "..." + n 1fcsajl "Oh,{w=0.5}{nw}" + extend 4uchgnl " lighten up a little,{w=0.2} [player]!{w=0.75}{nw}" + extend 4flrss " Man..." + n 3fcsbg "But really,{w=0.2} come on!{w=0.75}{nw}" + extend 3tnmfl " If you're seriously bored enough to tell me about it..." + n 4fchbg "Then get up off your butt and do something,{w=0.2} you dork!{w=0.75}{nw}" + extend 2tsqss " You {i}do{/i} have a world beyond this screen,{w=0.2} you know!{w=0.75}{nw}" + extend 2fcspolsbl " T-{w=0.2}that's a lot more than {i}I've{/i} got!" + n 2tllss "And if {i}that{/i} isn't enough,{w=0.75}{nw}" + extend 4fchbgedz " there's an even {i}bigger{/i} one right at your fingertips!" + n 3fcsbg "Now if {i}those{/i} aren't some prime opportunities to beat the boredom right there..." + n 3fchbg "Then I don't know what is!{w=0.75}{nw}" + extend 1fchsm " Ehehe." + $ chosen_descriptor = jn_utils.getRandomTease() if Natsuki.isEnamored(higher=True) else player + n 1fnmbg "Now stop complaining and get a move on,{w=0.2} [chosen_descriptor]!" + n 2fsqbl "Time's wasting!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_BORED return @@ -299,35 +484,65 @@ init 5 python: label admission_confident: if jn_admissions.last_admission_type == jn_admissions.TYPE_CONFIDENT: - n 1fsgsm "Still full of confidence,{w=0.1} I see?" - n 1nchbg "Well,{w=0.1} I'm glad to hear it!" + n 2nchsm "Ahaha.{w=0.75}{nw}" + extend 4tsqcs " Still full of confidence,{w=0.2} I see!" if Natsuki.isEnamored(higher=True): - n 1kwlsml "You've got a lot to be confident of,{w=0.1} [player]." - n 1fchsml "You better remember that!" + n 4ullaj "Not like it's any big surprise or anything like that,{w=0.2} though.{w=0.75}{nw}" + extend 1ullbo " I mean..." + n 2fchbgl "I like to think you've got a bunch to be confident about!" + + else: + n 4fsqcs "...And I wonder who you have to thank for that?" + + n 2fcssm "Ehehe." + $ chosen_descriptor = jn_utils.getRandomTease() if Natsuki.isEnamored(higher=True) else player + n 2fchbl "You're welcome,{w=0.2} [chosen_descriptor]!" elif jn_admissions.last_admission_type == jn_admissions.TYPE_INSECURE: - n 1fchbg "Really?{w=0.2} That's awesome,{w=0.1} [player]!" - n 1kllss "I was hoping you'd snap out of those feelings sooner rather than later." - n 1klrpo "I don't like when you talk like that,{w=0.1} you know..." + n 2fcssmeme "Ehehe.{w=0.75}{nw}" + extend 2tnmbg " See,{w=0.2} [player]?{w=0.75}{nw}" + extend 3fchbgsbr " I {i}knew{/i} you'd snap out of it eventually!" - if Natsuki.isAffectionate(): - n 1fcspol "N-{w=0.1}not that I care {i}that{/i} much, o-{w=0.1}of course!" - n 1fllsll "But...{w=0.3} I'm glad to know you're okay now,{w=0.1} [player]. That's what matters." + if Natsuki.isEnamored(higher=True): + n 3nllpu "But...{w=0.75}{nw}" + extend 3tnmsl " in all seriousness?" + n 4nlrpul "I'm just...{w=0.75}{nw}" + extend 1ksrsll " really glad to know you're better now,{w=0.2} [player]." + n 2fcssml "That's all that matters." - elif Natsuki.isEnamored(higher=True): - n 1kllsll "I'm just really glad to know you're better now,{w=0.1} [player]." + if Natsuki.isLove(higher=True): + $ chosen_endearment = jn_utils.getRandomEndearment() + n 4kchsmleafsbl "L-{w=0.2}love you,{w=0.2} [chosen_endearment]." - if Natsuki.isLove(higher=True): - $ chosen_endearment = jn_utils.getRandomEndearment() - n 1knmssf "I love you, [chosen_endearment].{w=0.2} Please don't forget that,{w=0.1} alright?" - n 1klrpof "I'll get mad if you do.{w=0.2} Ahaha..." + elif Natsuki.isAffectionate(higher=True): + n 2fcsfllsbr "N-{w=0.2}not that I care {i}that{/i} much, o-{w=0.2}of course!" + n 2nlrbolsbr "But...{w=0.75}{nw}" + extend 4ncsajl " I'm glad to know you're okay now,{w=0.2} [player]." + n 2fcscaesi "That's what matters." + n 2kslca "..." + + else: + n 2tsqcs "No guessing who you have to thank,{w=0.2} huh?{w=0.75}{nw}" + extend 1fsqsm " Ehehe." + n 4fcsbgedz "You're welcome!" else: - n 1nchgn "Ahaha!{w=0.2} I'm glad to hear that,{w=0.1} [player]!" - n 1unmaj "Being confident in yourself and your abilities can be really difficult sometimes." - n 1ullbo "Especially if you messed up,{w=0.1} or if you aren't feeling well." - n 1fchbg "But if you're feeling that way about yourself,{w=0.1} I'm not gonna rob you of it!" + n 2tsqct "Oh?{w=0.75}{nw}" + extend 2tsqbg " Feeling confident today,{w=0.75}{nw}" + extend 2tsqcs " huh?" + n 4fchbg "Well,{w=0.2} more power to you!" + n 1fcssmesm "It's never a bad thing to have more confidence in yourself.{w=0.75}{nw}" + extend 1ullss " I mean...{w=1}{nw}" + extend 3fchgn " look at me!" + n 3unmaj "Don't get me wrong though -{w=0.5}{nw}" + extend 4nlrss " I'm not saying it's always {i}easy{/i},{w=0.75}{nw}" + extend 4nlrsl " obviously." + n 1tnmsl "Especially if you messed up or something,{w=0.75}{nw}" + extend 1tslss " or if you aren't feeling great." + n 4tnmss "But hey!{w=0.75}{nw}" + extend 2tsqsm " If that's how you're feeling?{w=0.75}{nw}" + extend 2fchbg " Well,{w=0.2} I'm not gonna rob it from you!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_CONFIDENT return @@ -346,13 +561,29 @@ init 5 python: label admission_excited: if jn_admissions.last_admission_type == jn_admissions.TYPE_EXCITED: - n 1fnmsm "Still pumped up,{w=0.1} are we [player]?" - n 1fsqsm "I bet you just can't wait,{w=0.1} huh?{w=0.2} Ehehe." + n 2fllss "Man...{w=0.75}{nw}" + extend 2tsqss " you must {i}really{/i} be pumped if you're still going on about it,{w=0.5}{nw}" + extend 2tsqcs " huh?" + n 4fchsm "Ehehe." + n 3fchbg "Good on you,{w=0.2} [player]!" else: - n 1fsptr "Oh?{w=0.2} Did something happen?{w=0.2} Is something {i}gonna{/i} happen?" - n 1fchbg "Whatever it is,{w=0.1} good to know you're looking forward to it!" - n 1unmsm "It's always awesome to have something you can get excited over,{w=0.1} right?" + n 4fspgs "Oh!{w=0.5} Oh!{w=0.75}{nw}" + extend 4unmbg " Did something happen?{w=0.75}{nw}" + extend 4fnmtr " Is something gonna happen?" + n 4fnmca "..." + n 2tnmaj "Well?" + n 3fnmgs "Come on,{w=0.2} [player]!{w=0.75}{nw}" + extend 3fnmfl " Spill the beans!{w=0.75}{nw}" + extend 4fbkwr " You gotta tell me!" + n 2fsqpo "Don't tell me you're just gonna hog all the news to yourself..." + n 2fsqcs "..." + n 2fchsm "Ehehe.{w=0.5}{nw}" + extend 4fllss " Nah,{w=0.2} it's fine.{w=0.75}{nw}" + extend 2fcsbg " Glad to hear you've got stuff to look forward to!{w=0.75}{nw}" + extend 2flrss " Well..." + n 2fcsssedz "Besides seeing yours truly,{w=0.2} {i}obviously{/i}.{w=0.75}{nw}" + extend 1fchsmeme " Ehehe." $ jn_admissions.last_admission_type = jn_admissions.TYPE_EXCITED return @@ -371,38 +602,69 @@ init 5 python: label admission_happy: if jn_admissions.last_admission_type == jn_admissions.TYPE_HAPPY: - n 1ksqsg "Wow...{w=0.3} it's all sunshine and rainbows with you today,{w=0.1} isn't it?" - n 1fchbg "Ahaha!" - n 1fchbg "Good for you,{w=0.1} [player]!" + n 3nlraj "Wow...{w=0.75}{nw}" + extend 3unmaj " it's all just sunshine and rainbows with you today,{w=0.2} isn't it?" + n 4fsqsm "Ehehe." + + if Natsuki.isEnamored(higher=True): + n 2uchgn "Keep up the smiles,{w=0.2} [player]!" + + else: + n 2fchbg "Good on you,{w=0.2} [player]!" elif jn_admissions.last_admission_type == jn_admissions.TYPE_ANGRY or jn_admissions.last_admission_type == jn_admissions.TYPE_SAD: - n 1kwmss "Feeling better now,{w=0.1} [player]?" - n 1kllbg "That's...{w=0.3} a relief,{w=0.1} ahaha..." + n 2tnmsl "...Feeling better now,{w=0.2} [player]?" + n 2kllbo "..." + n 4kllpu "I'll admit.{w=1}{nw}" + extend 4nslsll " I was getting kinda worried.{w=1}{nw}" + extend 2kslcal " I hate seeing my friends getting all upset." + n 2ncscal "Life is just way too short for all that." - if Natsuki.isAffectionate(higher=True): - n 1kllunl "..." - n 1klrbgl "S-{w=0.1}so...{w=0.3} where were we?" + if Natsuki.isEnamored(higher=True): + n 2knmbolsbl "And you deserve to be happy too,{w=0.2} you know." + n 2ncssll "Remember that." + n 2ksrbol "..." + n 2nsrajl "S-{w=0.2}so...{w=0.75}{nw}" + extend 4tnmsllsbl " where were we?" else: - n 1fllunl "..." - n 1fcswrl "Jeez...{w=0.3} if you're okay,{w=0.1} then let's get back to it already!" - n 1klrpol "Dummy..." + n 2nslsll "Everyone deserves to at least be happy,{w=0.2} after all." + n 2flrbolsbl "N-{w=0.2}now let's just get back to it already." + n 2ksrbolsbl "..." elif jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: - n 1fsqbg "Feeling better,{w=0.1} [player]?{w=0.2} I'm not surprised!" - n 1fchbg "You just aren't yourself when you're hungry.{w=0.2} Ehehe." - n 1kllsl "Trust me...{w=0.3} I would know." + n 4tnmsl "Feeling better,{w=0.2} [player]?{w=0.75}{nw}" + extend 4fnmfl " I'm not surprised!" + n 2fcstr "You just aren't yourself when you're hungry." + n 2nslss "Trust me...{w=0.75}{nw}" + extend 1nslslsbr " I would know." + n 2fcsaj "Just don't let it get {i}that{/i} bad next time!" + n 2fsqfl "...Or I really will give you a mouthful.{w=1}{nw}" + extend 1fsqsm " Ehehe." + + if Natsuki.isLove(higher=True): + $ chosen_tease = jn_utils.getRandomTease() + n 3nchgnl "Love you,{w=0.2} [chosen_tease]~!" elif jn_admissions.last_admission_type == jn_admissions.TYPE_SICK: - n 1nnmsm "Feeling better,{w=0.1} [player]?{w=0.2} I'm glad to hear it!" - n 1nchbg "Nothing makes you appreciate feeling normal more than being sick,{w=0.1} right?" + n 1fcssm "Ehehe.{w=0.75}{nw}" + extend 2fwlbg " Glad to see you're back in action, [player]!" + n 2ullaj "It's kinda funny,{w=0.2} actually." + n 2tnmfl "Nothing makes you appreciate feeling normal more than being sick,{w=0.2} huh?" + n 4fchgn "I guess you'd know that a whole lot better now!" + + if Natsuki.isLove(higher=True): + n 4fchblleaf "Love you too,{w=0.2} [player]!" else: - n 1usqbg "Oh?{w=0.1} Someone's in a good mood today!" - n 1fchbg "Good for you,{w=0.1} [player]!" + n 4tnmss "Oh?{w=0.75}{nw}" + extend 4usqsm " Someone's in a good mood today!" + n 3fcsbgedz "Is a certain {i}someone{/i} being around helping,{w=0.2} I wonder?" + n 3fsqsmeme "Ehehe." + n 4fchbg "Good for you,{w=0.2} [player]!" - if Natsuki.isAffectionate(higher=True): - n 1uchsm "If you're happy,{w=0.1} I'm happy!" + if Natsuki.isEnamored(higher=True): + n 2fcssmesm "If you're happy,{w=0.2} I'm happy!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_HAPPY return @@ -421,36 +683,83 @@ init 5 python: label admission_hungry: if jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: - n 1tnmpu "What?{w=0.1} You're still hungry?" - n 1fnmpo "Or did you not get something when I told you to earlier?" - n 1fchgn "Well...{w=0.3} either way,{w=0.1} get off your butt and go get something then!" - n 1fllpol "Jeez,{w=0.1} [player]...{w=0.3} I'm not your babysitter!" - + n 4fcsfl "...Wait.{w=1}{nw}" + extend 4tsqpu " What?{w=0.75}{nw}" + extend 2tnmfl " You're {i}still{/i} hungry?" + n 2fsqfl "...Or did you seriously not get something when I told you to earlier?" + n 1fcsfl "Either way,{w=0.75}{nw}" + if Natsuki.isEnamored(higher=True): - n 1fsqsml "A-{w=0.1}as much as you probably wish I was,{w=0.1} right?{w=0.2} Ahaha!" - n 1uchbs "Now get going already!{w=0.2} Bon appetit,{w=0.1} [player]!" + extend 2fchgn " I'm not your babysitter!{w=0.75}{nw}" + extend 2fsrdvlsbl " E-{w=0.2}even if you {i}wish{/i} I was!" - elif jn_admissions.last_admission_type == jn_admissions.TYPE_SAD: - n 1knmsl "[player]...{w=0.3} you told me you were sad earier." - n 1klrsl "I don't mind if you're hungry,{w=0.1} but try not to comfort-eat,{w=0.1} okay?" - n 1knmpu "You might feel a little better...{w=0.3} but it won't fix what made you sad." - n 1knmsm "Try to enjoy your meal,{w=0.1} alright?" + else: + extend 2fchgn " I'm not your babysitter!" + + n 2fcsaj "Now get off that butt of yours and sort something out already!{w=1}{nw}" + extend 2flrss " Yeesh..." + $ chosen_descriptor = jn_utils.getRandomTease() if Natsuki.isEnamored(higher=True) else player + n 4fcsbg "Just keep it healthy,{w=0.2} [chosen_descriptor]!" if Natsuki.isAffectionate(higher=True): - n 1kwmsml "I'm here for you if you need me,{w=0.1} [player]." + n 4fsqbg "Someone's gotta make sure you're staying in tip-top shape,{w=0.2} after all.{w=0.5}" + extend 2fchsmleme " Ehehe." + + elif jn_admissions.last_admission_type == jn_admissions.TYPE_SAD: + n 2knmbo "...[player]." + n 2ncssl "I...{w=1}{nw}" + extend 4knmca " get if you're hungry,{w=0.2} okay?{w=0.75}{nw}" + extend 4knmaj " Really.{w=1}{nw}" + extend 1fcssl " Everybody's gotta eat." + n 1kllfl "Just..." + n 1kslbo "..." + n 4ncsbo "Don't use food or snacks as a way to feel better if you're feeling down.{w=1}{nw}" + extend 4ksqbol " Alright?" + n 2unmeml "I-{w=0.2}I'm not trying to parent you or anything!{w=0.5}{nw}" + extend 2fcspol " Of course not.{w=0.75}{nw}" + extend 2ksrsll " But I'd be a pretty crappy friend if I didn't at least say {i}something{/i} about it." + n 1ncspu "So please.{w=0.75}{nw}" + extend 4ksqca " Just don't overdo it." + n 3nlrsl "A treat is fine,{w=0.2} and it might help you feel better." + extend 3nsrpu " I can get that." + n 3ksqbo "But it's not gonna fix what made you feel that way in the first place." + + if Natsuki.isEnamored(higher=True): + n 4klrbol "And you know you can come talk to me if you really need to...{w=1}{nw}" + extend 4knmbol " right?" + + elif Natsuki.isAffectionate(higher=True): + n 4fcsbol "A-{w=0.2}and you can always come talk to me,{w=0.2} you know." + n 4ksrcal "..." + + else: + n 4ksrbo "...Enjoy your meal,{w=0.2} [player]." else: - n 1unmpu "Huh?{w=0.1} You're hungry?" + n 4tnmpu "Huh?{w=0.75}{nw}" + extend 4tsqem " You're {i}hungry{/i}?" $ chosen_tease = jn_utils.getRandomTease() - n 1fupem "Then what're you telling {i}me{/i} for?{w=0.5}{nw}" - extend 1fchgnelg " Go get something to eat,{w=0.1} [chosen_tease]!" - n 1fllaj "Honestly...{w=0.75}{nw}" - extend 1fcspo " what am I going to do with you,{w=0.1} [player]?" - n 1fchbg "Now go make something already!{w=0.2} Just don't fill yourself up on junk!" - + n 2tnmfl "...Then what're you telling {i}me{/i} for?{w=0.75}{nw}" + extend 2fchgn " Go get something to eat,{w=0.2} you big dope!" + if Natsuki.isEnamored(higher=True): - n 1fsqbg "I want you fighting fit for when we hang out,{w=0.1} 'kay?" - n 1uchgn "We're gonna have so much to do together,{w=0.1} after all!" + n 1fcsaj "Honestly...{w=0.75}{nw}" + extend 2tsqss " what am I gonna do with you,{w=0.2} huh?" + + else: + n 1fcsaj "Honestly...{w=0.75}{nw}" + extend 2fllfl " what am I,{w=0.5}{nw}" + extend 2fsqpo " your mom or something?" + n 2nsrfl "Jeez..." + + n 1fcsaj "Now go make something already!" + n 4nsrslsbr "...And no,{w=0.2} [player],{w=0.75}{nw}" + extend 4nsqsl " before you ask." + n 3fcsbg "Junk food doesn't count!" + + if Natsuki.isAffectionate(higher=True): + n 3fsqsm "You weren't a trash can last time I checked.{w=0.75}{nw}" + extend 3fchgnelg " So no garbage for you~!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_HUNGRY return @@ -469,40 +778,81 @@ init 5 python: label admission_insecure: if jn_admissions.last_admission_type == jn_admissions.TYPE_INSECURE: - n 1knmsl "You're still feeling insecure about yourself,{w=0.1} [player]?" - n 1kllsl "You...{w=0.3} do remember what I said though,{w=0.1} right?" - n 1ncssl "Everybody has their own pace.{w=0.2} I don't care what yours is.{w=0.2} We'll take it together." - n 1fchgn "...Wow{w=0.1}, that seriously sounded super corny." - n 1kllnv "But really,{w=0.1} [player]...{w=0.3} try not to sweat it,{w=0.1} okay?" - n 1fchbgl "The great Natsuki has your back,{w=0.1} after all!" + n 2knmbosbr "You're {i}still{/i} feeling all beat up about that,{w=0.2} [player]?" + n 2klrbosbr "..." + n 2nlrfl "You...{w=0.75}{nw}" + extend 2fnmbol " do remember what I said though,{w=0.2} right?" + n 1fcsfl "Everybody has their own pace.{w=0.75}{nw}" + extend 4fcsca " You are no exception.{w=0.75}{nw}" + extend 2tnmaj " And honestly?" + n 2fcsbo "I don't really care what it is.{w=1}{nw}" + + if Natsuki.isEnamored(higher=True): + extend 2tnmbol " So long as we're together?" + + else: + extend 2tnmfl " So long as we're friends?" + + n 2fcstrl "We'll just have to find it together." + n 1nllcal "..." + n 4nsleml "...Man,{w=0.75}{nw}" + extend 4fslsslsbr " that was corny.{w=0.75}{nw}" + extend 1fnmpu " But seriously,{w=0.2} [player]." + n 3fchbgsbr "Don't sweat it!" + n 3fcsbgsbr "Besides..." + n 3fsrcs "When someone like {i}me{/i} has your back?" + n 4fcsbgledz "I daresay you've got nothing to worry about!{w=0.75}" + extend 1nchgnl "Ehehe." + + if Natsuki.isLove(higher=True): + n 1fchsmleaf "Love you,{w=0.2} [player]~!" else: - n 1knmsl "Huh?{w=0.2} You're feeling insecure?{w=0.2} Where did that come from,{w=0.1} [player]?" - n 1kllsl "..." - n 1knmpu "I...{w=0.3} can't really comment on what made you feel that way..." - n 1fnmpu "But you better listen,{w=0.1} and listen good,{w=0.1} [player]." - n 1fcspu "I don't care if people don't like you.{w=0.2} I like you." - n 1fcsbo "I don't care if people think you have no talents.{w=0.2} I know you do." - n 1fnmbo "I don't care if people think you're falling behind.{w=0.2} I know you'll catch up." - n 1kllsl "Just...{w=0.3} give yourself time and space,{w=0.1} [player]." - n 1kwmsl "These thoughts you're having...{w=0.3} they can lead you to some really bad places.{w=0.2} Trust me." - n 1fwmsl "I'm not gonna let that happen without a fight{w=0.1} -{w=0.1} but you gotta fight too,{w=0.1} [player].{w=0.2} Got it?" - menu: - "Okay.": - n 1fnmsl "...Good.{w=0.2} Or you'll have me to deal with too." - n 1kllsm "..." - if Natsuki.isAffectionate(lower=True): - n 1flrajl "Message received?{w=0.2} T{w=0.1}-then let's get back to it already!" - n 1flrpol "Jeez..." + n 1fcsfl "...Wait,{w=0.5}{nw}" + extend 2knmpu " what?" + n 2tnmbo "You're feeling insecure?" + n 1knmslsbr "...What brought this on all of a sudden,{w=0.2} [player]?" + n 4ncspu "..." + n 4ncsaj "I...{w=0.75}{nw}" + extend 4klrsl " can't really comment on what made you feel that way.{w=1}{nw}" + extend 1ksrbo " And I'm not gonna pretend I can." + n 2fnmbol "But you better listen here,{w=0.2} [player] -{w=0.75}{nw}" + extend 2fsqbol " and listen good." + n 2fcseml "I don't care if you think people don't like you.{w=0.75}{nw}" + extend 2fnmbolsbr " {i}I{/i} like you." + n 4flrfll "I don't care if think you have no talents.{w=0.75}{nw}" + extend 1fcscalesi " {i}I{/i} know you do." + n 1fcstrl "I don't care if people think you're falling behind.{w=0.75}{nw}" + extend 2fnmsll " {i}I{/i} know you'll catch up." + n 2fcsajl "Just..." + n 2kslbol "..." + n 4kcsfll "Give yourself time and space,{w=0.2} [player].{w=0.75}{nw}" + extend 4knmbol " Alright?" - else: - n 1kwmpul "...You know I meant every single word I said,{w=0.1} right?" - n 1kcssll "So please...{w=0.3} don't give up.{w=0.2} We both need you to win,{w=0.1} [player]." + if Natsuki.isEnamored(higher=True): + n 1knmbol "I get how you're feeling.{w=0.75}{nw}" + extend 2knmpul " I really do.{w=1}{nw}" + extend 2ksqsfl " I've {i}been{/i} there." + + else: + n 2fcsbol "I get how crappy you're probably feeling right now." + + n 2fcstrl "And I'm not gonna let a friend keep feeling that way without a fight.{w=0.75}{nw}" + extend 2fnmtrl " But you need to put in some effort too." + n 4fllfll "You can do that...{w=0.75}{nw}" + + show natsuki 4knmbol + menu: + extend " right?" - if Natsuki.isLove(higher=True): - $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kwmsmf "I really do love you, [chosen_endearment]." - n 1kchbgf "You know I'll always have your back,{w=0.1} dummy..." + "Right.": + n 1fcsbo "...Good.{w=0.75}{nw}" + extend 4flrfl " Or you'll have me to deal with too.{w=0.75}{nw}" + extend 4fnmfl " And trust me." + n 2fsqpo "...You {i}really{/i} don't want that.{w=1}{nw}" + extend 2flrss " Ahaha." + n 4klrbo "So..." + n 2knmsssbr "Did you wanna talk about something else?" $ jn_admissions.last_admission_type = jn_admissions.TYPE_INSECURE return @@ -521,17 +871,37 @@ init 5 python: label admission_proud: if jn_admissions.last_admission_type == jn_admissions.TYPE_PROUD: - n 1fsqbg "Really,{w=0.1} [player]?{w=0.1} Still gloating,{w=0.1} are we?" - n 1tsqbg "You {i}do{/i} know what they say about pride,{w=0.1} right?" - n 1fsqsm "..." - n 1kchlg "I'm just kidding,{w=0.1} [player]!{w=0.2} Jeez!" - n 1kchgn "You should see your face sometimes!" - n 1nnmsm "Well,{w=0.1} it's cool to see you're still feeling good about yourself!" + n 2nslaj "Wow...{w=1}{nw}" + extend 2tnmpo " {i}still{/i} in the mood for gloating,{w=0.2} are you?" + n 4ucsfl "That's fine.{w=0.75}{nw}" + extend 4ncsfl " That's fine.{w=1}{nw}" + extend 4nlrfl " So long as you aren't getting too carried away." + n 1nnmca "Just remember,{w=0.2} [player] -{w=0.5}{nw}" + extend 3fnmss " if there's one thing I'm good at..." + n 3fcsbg "...It's knocking people down a peg or two!" + n 4ullfl "Well...{w=0.5}{nw}" + extend 2fchgn " when they need it,{w=0.2} anyway.{w=1}{nw}" + extend 1nchgneme " Ehehe." + + if Natsuki.isLove(higher=True): + $ chosen_tease = jn_utils.getRandomTease() + n 1fchblleme "Love you too,{w=0.2} [chosen_tease]~!" else: - n 1tsgbg "Oh?{w=0.2} You're feeling proud,{w=0.1} huh?" - n 1fsqsm "You must be pretty pleased with yourself to brag to me about it." - n 1fchbg "Well...{w=0.3} whatever it was -{w=0.1} good work,{w=0.1} [player]!" + n 2tnmct "Oh?{w=0.75}{nw}" + extend 2fsqbg " And what are {i}you{/i} so proud about?{w=1}{nw}" + extend 2fnmbg " Huh?" + n 4fsqsm "Well?" + n 4fsqbg "Spit it out,{w=0.2} [player]!{w=1}{nw}" + extend 3fcsbg " It must be pretty amazing,{w=0.2} after all.{w=1}{nw}" + extend 4fsqss " Right?" + n 2tsqcs "..." + n 2fchcs "Ehehe." + n 4ullaj "Well,{w=0.75}{nw}" + extend 4tnmbo " whatever it is.{w=0.75}{nw}" + extend 3fcsbg " You'd have to be pretty smug about it to share it with me!" + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else player + n 3fchbg "Good job,{w=0.2} [chosen_descriptor]!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_PROUD return @@ -550,46 +920,161 @@ init 5 python: label admission_sad: if jn_admissions.last_admission_type == jn_admissions.TYPE_SAD: - n 1knmsl "Oh...{w=0.3} I'm really sorry to hear you're still feeling upset,{w=0.1} [player]." - n 1kllsl "I'm...{w=0.3} not sure if it's my place to say this,{w=0.1} but..." - n 1knmpu "Do you have others you can share this with?{w=0.2} Friends,{w=0.1} or family?" + if Natsuki.isEnamored(higher=True): + n 2kllbo "...Still feeling the blues,{w=0.5}{nw}" + extend 2knmbo " [player]?" + + else: + n 1ksrpusbl "Man...{w=0.75}{nw}" + extend 4knmflsbl " you're still feeling down,{w=0.2} [player]?" + + n 2kslbosbr "..." + n 2kslajsbr "I...{w=1}{nw}" + extend 4kslsssbr " can't believe I never mentioned it before,{w=0.2} but...{w=0.75}{nw}" + extend 4knmbosbr " have you spoken to anyone about this?" + n 1fcsajlsbr "B-{w=0.2}besides me,{w=0.75}{nw}" + extend 1nllsllsbr " I mean.{w=1.25}{nw}" + extend 4knmsllsbr " I'm being serious." + n 4knmbolsbr "...Do you have anyone else you can share this with?" + + show natsuki 4klrbolsbr menu: + n "Like any friends or family,{w=0.2} or...?" + "I do.": - n 1kllss "Then maybe you should share how you feel." - n 1kchbg "A problem shared is a problem halved,{w=0.1} as they say!" - n 1knmsl "But seriously,{w=0.1} [player].{w=0.2} Don't be afraid to ask for help,{w=0.1} alright?" - n 1klrsl "Everyone needs help sometimes." + n 1knmbo "...Then maybe you should share how you feel,{w=0.2} [player].{w=1}{nw}" + extend 2nsrss " Even if it's embarrassing." + n 2tlrsssbl "You do know what they say,{w=0.75}{nw}" + extend 2tnmsssbl " right?{w=1}{nw}" + extend 2fcsbgsbl " A problem shared is a problem halved!" + n 4ksqcasbr "But really,{w=0.2} [player].{w=0.75}{nw}" + extend 1ksrcasbr " Don't be afraid to ask for help,{w=0.2} alright?" + n 1fcscalsbr "It's never something to be ashamed of.{w=0.5}{nw}" + extend 4fcsbolsbl " Trust me." + n 2kslbol "...And it took me a long time to learn that,{w=0.2} too." "I don't.": - n 1ncssf "That's...{w=0.3} not what I was hoping to hear,{w=0.1} honestly." - n 1kllsr "I'm sorry to hear that,{w=0.1} [player].{w=0.2} Truly." - n 1nnmpu "But know this." - n 1knmsr "You've got my support,{w=0.1} okay?" - n 1klrpol "I-if that helps,{w=0.1} I mean." + n 4nlrsslsbr "That's...{w=0.75}{nw}" + extend 4ksrsllsbr " really {i}not{/i} what I was hoping to hear,{w=0.75}{nw}" + extend 1ksqbolsbr " honestly." + n 1ncsflsbr "I'm...{w=1}{nw}" + extend 1knmbosbr " sorry to hear that,{w=0.2} [player].{w=0.75}{nw}" + extend 2kllbosbr " Truly." + + if Natsuki.isEnamored(higher=True): + n 2kslcalsbl "...And I'm sorry I asked." + + n 4knmbosbr "Just let me know if I can help in some way.{w=1.25}{nw}" + extend 4klrbosbr " Alright?" "They already know.": - n 1kcspu "Good! Good..." - n 1knmpo "I just hope they were supportive of you,{w=0.1} [player].{w=0.2} You at least deserve that much." + n 2fcsfllsbr "Good!{w=0.75}{nw}" + extend 2fcscalsbr " Good..." + n 3fllbol "I just hope they were supportive of you,{w=0.2} [player]." + n 3kllbolsbl "You at least deserve that much." - if Natsuki.isLove(higher=True): - $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kchnvf "I love you,{w=0.1} [chosen_endearment]." + if Natsuki.isEnamored(higher=True): + n 4knmbol "...And [player]?" + n 1kslbol "..." + + show natsuki 4kcscal at jn_center + play audio chair_out + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(4) + play audio clothing_ruffle + show natsuki 1knmcal at jn_center + $ jnPause(6) + play audio chair_in + $ jnPause(4) + hide black with Dissolve(1.25) + + if Natsuki.isLove(higher=True): + $ chosen_endearment = jn_utils.getRandomEndearment() + n 1klrcal "Y-{w=0.2}you know I love you.{w=1}{nw}" + extend 4knmsll " Right?{w=0.75}{nw}" + extend 4knmssl " Regardless of how you feel right now." + + n 4klrsslsbl "I hope you start to feel better soon,{w=0.2} [player]." - n 1kllpu "I hope you start to feel better soon!" + else: + n 4klrsslsbl "I hope you start to feel better soon." + n 4ksrbolsbl "..." else: - n 1knmpo "Oh...{w=0.3} I'm really sorry to hear you're upset,{w=0.1} [player]." - n 1knmpu "Did something happen?{w=0.2} You can tell me about it,{w=0.1} [player].{w=0.2} I won't judge." - n 1ncssr "..." - n 1nwmpu "It's...{w=0.3} okay,{w=0.1} [player].{w=0.2} Everything is gonna be okay." + if Natsuki.isEnamored(higher=True): + n 2kllbo "Oh...{w=0.75}{nw}" + extend 2knmsl " really?{w=1.25}{nw}" + extend 2klrflsbl " Jeez..." + n 4ksrpusbl "Did...{w=1}{nw}" + extend 4knmpusbl " something happen,{w=0.2} or...?{w=0.75}{nw}" + extend 2fcsfllsbr " Y-{w=0.2}you don't have to tell me if you don't want to,{w=0.2} of course." + n 2flrsllsbr "I won't judge.{w=0.75}{nw}" + extend 2klrsllsbr " So..." + + else: + n 1uskfl "H-{w=0.2}huh?{w=0.75}{nw}" + extend 4knmboeqm " You're feeling sad now?" + n 2klrflsbr "...Where did that come from all of a sudden?" + n 2ksrflsbr "Man...{w=0.75}{nw}" + extend 2fcsfllsbl " you really just {i}had{/i} to pick the worst person for handling this kind of stuff,{w=0.75}{nw}" + extend 2ksrsllsbl " didn't you?" + + n 1kcsbolesi "..." + n 4ncsfl "Alright.{w=1}{nw}" + extend 4nnmfl " Okay,{w=0.2} [player].{w=1.25}{nw}" + extend 4nnmca " Listen to me." + n 4ncstrl "A-{w=0.2}and focus on your breathing.{w=0.75}{nw}" + extend 1ncsfl " In,{w=1.5}{nw}" + extend 1ncspu " and out." + n 1nnmbo "Just like that." + n 1ncspu "And again." + n 4ncssl "..." + n 2ncsfl "...Alright.{w=1.25}{nw}" + extend 2nnmsl " [player]." + n 2nllaj "Whatever happened,{w=0.2} you gotta understand one thing." + n 4kllbo "How you're feeling...{w=0.75}{nw}" + extend 4knmca " it's only gonna be temporary.{w=1}{nw}" + extend 1fcscal " It's {i}always{/i} temporary.{w=1}{nw}" + extend 1flrpul " No matter what you're thinking now...{w=1.5}{nw}" + extend 4knmcal " that's how it is." + n 2fcsfllsbr "I-{w=0.2}I know it sucks!{w=0.75}{nw}" + extend 2nslsll " Believe me.{w=0.75}{nw}" + extend 4kslbol " And it must have been bad if you had to open up to me about it." + + if Natsuki.isAffectionate(higher=True): + n 4fcsajlsbr "N-{w=0.2}not that it's a problem or anything." + + n 3klrss "But even if you can't fix whatever made you upset right now..." + n 3knmbo "You can at least begin trying to fix how you feel about it." + + show natsuki 4knmsssbr + menu: + n "...Right?" + + "Right.": + pass + + n 4fcssssbr "Ehehe.{w=0.75}{nw}" + extend 4fchbgsbl " S-{w=0.2}see?{w=1}{nw}" + extend 2fcssmsbl " That's the spirit!" + n 1ullaj "So just...{w=0.75}{nw}" + extend 1tnmbo " take your time with it.{w=1}{nw}" + extend 2tlrss " You don't have to feel better {i}instantly{/i}." + n 2nsrpo "...I'd actually be jealous if you could." + n 4fcsss "Throw on some comfy clothes,{w=0.75}{nw}" + extend 4fllss " fire up some dumb old anime..." + n 4fcssm "Whatever you think helps best!" if Natsuki.isEnamored(higher=True): - n 1knmpu "Now,{w=0.1} take some deep breaths for me,{w=0.1} alright?" - n 1uchsm "That's it,{w=0.1} [player].{w=0.2} Keep breathing." + n 1fsrdvl "...Like spending more time with yours truly,{w=0.2} f-{w=0.2}for example." - n 1kllpu "Whatever happened,{w=0.1} I'm sure it'll all work out." - n 1ucssl "What matters is that you're okay,{w=0.1} [player].{w=0.2} So let's concentrate on fixing that, alright?" - n 1kwmsm "We can work on that here,{w=0.1} okay?" + n 2ullfl "It won't be an instant fix,{w=0.75}{nw}" + extend 4fnmsl " but that's not the point.{w=1}{nw}" + extend 3fchbg " We're just kickstarting your recovery,{w=0.2} that's all!" + $ chosen_descriptor = jn_utils.getRandomTease() if Natsuki.isEnamored(higher=True) else player + n 3fcsaj "Now hop to it,{w=0.2} [chosen_descriptor] -{w=0.5}{nw}" + extend 3fsqbgsbr " I wanna see you smiling again A.S.A.P!{w=0.75}{nw}" + extend 4fchsmlsbr " Ehehe." $ jn_admissions.last_admission_type = jn_admissions.TYPE_SAD return @@ -608,99 +1093,175 @@ init 5 python: label admission_sick: if jn_admissions.last_admission_type == jn_admissions.TYPE_SICK: - n 1knmsl "[player]...{w=0.3} you're still feeling sick?" - n 1knmbo "How long have you felt like this now?" + n 1kcsem "Man...{w=1}{nw}" + extend 4knmflsbr " you're really {i}still{/i} feeling sick?{w=0.75}{nw}" + extend 4ksrbosbr " Jeez,{w=0.2} [player]..." + + show natsuki 2knmbosbr menu: + n "How long have you actually felt like this now?" + "A few hours.": - n 1kllsr "That's...{w=0.3} not great to hear,{w=0.1} [player]." - n 1tnmsr "Perhaps you should get some rest soon{w=0.1} -{w=0.1} hopefully you'll feel better." + n 2tslfl "...Huh." + n 2fcsajsbl "W-{w=0.2}well,{w=0.75}{nw}" + extend 2flrsssbl " at least that's not so long." + n 4fsqpol "But that doesn't mean you should be neglecting yourself either." + n 1ullbo "So...{w=1}{nw}" + extend 4tnmbo " just make sure you take it easy,{w=0.2} alright?" + n 4fcsbgsbr "Sorry,{w=0.2} [player].{w=0.75}{nw}" + extend 2fchgn " Looks like it's no adventuring for you today!{w=0.75}{nw}" + extend 2fchsm " Ehehe." + + "A few days.": + n 4tnmfl "...You're kidding,{w=0.2} right?{w=0.75}{nw}" + extend 4knmflsbl " It's already been days?" + n 1ncsbo "..." + n 2nlrfl "Okay,{w=0.2} look.{w=0.75}{nw}" + extend 2fnmca " I get that you know your limits.{w=0.75}{nw}" + extend 2fcspu " Just..." + n 1fsrpol "...Don't be a dummy about it.{w=1}{nw}" + extend 4fnmajlsbl " Seriously.{w=0.75}{nw}" + extend 2fnmbolsbl " I don't wanna hear about you getting even worse because you tried toughing it out like some kind of macho." + n 2tnmbolsbl "Capiche?" if Natsuki.isEnamored(higher=True): - n 1knmsl "Let me know if it keeps up,{w=0.1} okay?" + n 4kllsllsbr "...And try to get some more rest too.{w=0.75}{nw}" + extend 4kllsslsbr " F-{w=0.2}for me?" + n 1ksqbol "You sound like you need it." - "A few days.": - n 1fcssl "[player]." - n 1fnmca "You need to make sure you see someone soon." - n 1knmaj "Especially if you start to hurt anywhere,{w=0.1} or if you've been sick,{w=0.1} or anything like that..." - n 1knmsl "Try and get extra rest too,{w=0.1} okay?" + else: + n 4kllbolsbr "...And at least try to get some more rest too." - "A week or so.": - n 1fnmsl "[player]..." - n 1knmsl "Have you seen anybody about this yet?" + n 2knmbo "Get well soon,{w=0.2} alright?" + "A week or so.": + n 2flrbo "[player]..." + n 2fnmbol "You should know by now that I hate nagging.{w=1}{nw}" + extend 2ksqsllsbl " Nobody likes a nagger.{w=1}{nw}" + extend 2fcssllsbl " But I'd be a lousy friend if I didn't at least {i}ask{/i}." + n 4klrbol "So...{w=1}{nw}" + extend 4klraj " this...{w=0.75}{nw}" + extend 4knmbo " illness of yours." + n 4tsrpu "...You {i}have{/i} seen someone about this..." + + show natsuki 4ksqpul menu: - "Yes, I have.": - n 1kllbo "Well...{w=0.3} fine." - n 1knmbo "I...{w=0.3} really hope they were able to help you,{w=0.1} [player]." - n 1knmpu "Make sure you get some extra rest,{w=0.1} okay?" - - "No, I haven't.": - n 1fnmpu "[player]...{w=0.3} that's no good." - n 1knmpo "I trust you know your own limits...{w=0.3} but please,{w=0.1} take care of yourself." - n 1klrpol "Your health...{w=0.3} matters to me, you know." + n "Right?" + + "Yes,{w=0.2} I have.": + n 2fsrpol "Well...{w=1.25}{nw}" + extend 2nsrpol " fine." + n 2nsraj "I...{w=1}{nw}" + extend 1ksqbo " just hope they were able to help you,{w=0.2} [player]." + n 4ksqsl "Make sure you get some extra rest,{w=0.2} alright?" + + "No,{w=0.2} I haven't.": + n 3tnmem "...Seriously?{w=0.75}{nw}" + extend 3ksqgs " Come on,{w=0.2} [player]!{w=1}{nw}" + extend 3fcswrlsbr " How're you meant to get better if you don't even know what's wrong with you?" + n 2ncsbolsbl "..." + n 2nslemlsbl "Yeah...{w=0.3} I know.{w=0.75}{nw}" + extend 4nslpol " I'm not naive.{w=1}{nw}" + extend 4kslsll " I get if you have to pay to see a doctor,{w=0.2} or whatever." + n 1knmsl "...Or if there just isn't any help nearby." + n 1fcssl "Just..." + n 4ksrsl "..." + n 2ksqpusbr "Take things easy.{w=0.75}{nw}" + extend 2knmpusbr " Please?" + n 2ncsfl "If you really can't -{w=0.75}{nw}" + extend 2nslfl " or don't want to -{w=0.75}{nw}" + extend 2nslsl " see anyone..." + n 4fnmsll "Then the least you can do is try to recover the best you can." + + if Natsuki.isEnamored(higher=True): + n 2knmbol "You can at least manage that.{w=0.75}{nw}" + extend 2kllbol " I know you can.{w=0.75}{nw}" + extend 2kllajl " And besides." + n 4kslsllsbl "...You know your health really matters to me.{w=1.25}{nw}" + extend 4ksqcalsbl " Right?" + + else: + n 2flrcal "You can at least do that much...{w=1.25}{nw}" + extend 2knmbol " right?" # Add pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) - "Longer.": - n 1knmpo "..." - n 1kllpo "I...{w=0.3} don't really know what to say to you,{w=0.1} [player]." - n 1knmpu "I just hope you feel better soon." - n 1knmsl "Take it easy,{w=0.1} alright?" - - if Natsuki.isAffectionate(): - n 1kllcal "I hate seeing you unwell like this..." + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else player + n 4knmslsbl "I-{w=0.2}I hope you feel better soon,{w=0.2} [chosen_descriptor]." + n 1ksrbolsbl "..." - elif Natsuki.isEnamored(higher=True): - n 1kllsfl "It really hurts me seeing you unwell like this..." + "Longer.": + n 2knmbosbl "..." + n 2klrajsbl "I...{w=1.25}{nw}" + extend 2ksrbosbr " honestly don't really know what to say to you,{w=0.2} [player]." + n 4ksqbolsbr "I just hope you feel better soon." + n 4knmbosbr "Take it easy,{w=0.2} alright?" - if Natsuki.isLove(higher=True): - n 1kcssff "I love you,{w=0.1} [player].{w=0.2} Please get well soon." + if Natsuki.isEnamored(higher=True): + n 1knmsslsbr "For me?" + n 1ksrbolsbl "..." # Add pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) - elif jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: - n 1ulrsf "You know,{w=0.1} you can start to feel unwell if you haven't eaten for a while,{w=0.1} [player]." - n 1nnmsf "Have you eaten something today?{w=0.2} Like a proper meal?" + n 4fcsfl "...Wait.{w=1}{nw}" + extend 2tnmfl " Didn't you say you were hungry earlier,{w=0.2} [player]?" + n 2fsqsl "You {i}do{/i} know not eating can make you feel just as crappy as being sick,{w=0.75}{nw}" + extend 2tsqsl " don't you?" + + show natsuki 1fcsflsbl menu: - "Yes, I have.": - n 1tllsl "Huh...{w=0.3} then maybe it was something you ate that's making you feel sick?" - n 1tnmsl "Go lie down if you need to,{w=0.1} [player].{w=0.2} Alright?" - - "No, I haven't.": - n 1fskem "T-then obviously you should have something now,{w=0.1} [player]!" - n 1fllpo "It doesn't have to be some big fancy dish or anything,{w=0.1} you know." - n 1knmsl "Even something small like some candy or whatever.{w=0.2} Just to get your energy level up." - n 1kllpo "That's not much to ask,{w=0.1} is it?" - - if Natsuki.isEnamored(higher=True): - n 1kllss "Now go get something already, silly! Ahaha..." + n "Don't tell me you skipped out on your meals today or something." + + "I've eaten.": + n 4tsqpu "...Huh.{w=1}{nw}" + extend 2tllpueqm " Then maybe it was something you ate?{w=0.75}{nw}" + extend 2tnmbo " Like some undercooked food or something?" + n 1tsrbo "..." + n 4nlraj "Well,{w=0.75}{nw}" + extend 4nlrbo " I guess it doesn't {i}really{/i} matter.{w=0.75}{nw}" + extend 2tllsll " Just make sure you rest up if you need to." + n 2knmbol "Got it?" + + "No,{w=0.2} I haven't eaten.": + n 4fcsbglsbl "H-{w=0.2}ha!{w=1}{nw}" + extend 4fnmgs " I knew it!{w=0.75}{nw}" + extend 2fbkwrsbr " What did you seriously {i}expect{/i},{w=0.2} [player]?" + n 2fllflsbr "Of {i}course{/i} you're gonna feel miserable if you're running on fumes!{w=0.75}{nw}" + extend 2fcsposbr " Anyone would!" + n 1nsqposbr "...And trust me.{w=1}{nw}" + extend 4kslbolsbr " I would know." + n 3fcsfllsbr "Now go sort something out already,{w=0.2} you goof!" + extend 3fchsm " Ehehe." else: - n 1knmsl "Feeling under the weather,{w=0.1} [player]?" + n 2tnmbosbr "Feeling under the weather,{w=0.2} [player]?" + n 2fsqbolsbr "You better not be straining yourself by being here.{w=1}{nw}" + extend 2fnmfllsbr " I mean it." + n 4fcsfllsbr "I-{w=0.2}it's not that I don't appreciate the company!{w=0.75}{nw}" + extend 4knmbolsbl " I do!{w=1}{nw}" + extend 4ksrslsbl " It's just..." + n 1fcssll "I really don't wanna get in the way of you feeling better.{w=0.75}{nw}" + extend 2kllbol " I'm not selfish like that." + n 1ncsajl "Just...{w=0.75}{nw}" + extend 4nlrsll " let me know if you gotta go rest.{w=0.75}{nw}" + extend 4knmbol " Alright?" if Natsuki.isEnamored(higher=True): - n 1kllsl "I wish there was something I could do to help..." - - n 1fwmsl "You aren't straining yourself by being here,{w=0.1} are you?" - n 1klrsl "I don't wanna get in the way of you feeling better." - - if Natsuki.isEnamored(higher=True): - n 1kwmsll "Your health has to come first over our time together." + n 4fcspulsbr "Your health has to come first,{w=0.2} a-{w=0.2}after all." + n 1ksrbolsbr "..." + + if Natsuki.isLove(higher=True): + $ chosen_endearment = jn_utils.getRandomEndearment() + n 1ksrsslsbr "...Even if I do really want you here,{w=0.2} [chosen_endearment]." + n 4knmboleaf "I really hope you get well soon." else: - n 1flrpul "I'm not selfish like that." - - n 1knmpo "So...{w=0.3} promise you'll leave and rest if you have to,{w=0.1} got it?" - - if Natsuki.isLove(higher=True): - $ chosen_endearment = jn_utils.getRandomEndearment() - n 1knmssl "I love you,{w=0.1} [chosen_endearment].{w=0.2} I...{w=0.3} really hope you get better soon..." - - elif Natsuki.isAffectionate(higher=True): - n 1knmbol "I hope you feel better soon,{w=0.1} [player]..." + n 4fllajlsbr "I won't be upset or anything,{w=0.75}{nw}" + extend 4fllbolsbr " so..." + n 1kllbolsbr "..." $ jn_admissions.last_admission_type = jn_admissions.TYPE_SICK return @@ -722,122 +1283,117 @@ label admission_tired: $ total_hours_in_session = jn_utils.get_current_session_length().total_seconds() / 3600 if jn_admissions.last_admission_type == jn_admissions.TYPE_TIRED: - n 1unmpu "Huh?{w=0.2} You're still tired?" - n 1fnmpo "Did you not get any rest,{w=0.1} [player]?" - n 1fllpo "I don't want you getting all cranky..." - n 1klrsm "So...{w=0.3} go to bed, alright?" - n 1nchbg "I'll see you later,{w=0.1} [player]!" + n 1tnmpu "Huh?{w=0.75}{nw}" + extend 2tsqem " You're {i}still{/i} tired?" + n 2fnmfl "...Then what're you doing hanging around here?{w=0.5}{nw}" + extend 2fllem " Sheesh." + n 2fcspo "Sounds like somebody needs another round of shut-eye,{w=0.2} if you ask me.{w=0.75}{nw}" + extend 4fsqsm " Ehehe." + n 4tsqfl "Well?{w=0.75}{nw}" + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else player + extend 4fcsbg " Off you go,{w=0.2} [chosen_descriptor]!{w=0.75}{nw}" + extend 1fchbg " Sleep well!" if Natsuki.isLove(higher=True): - $ chosen_endearment = jn_utils.getRandomEndearment() - n 1nchsml "Love you,{w=0.1} [chosen_endearment]!" + n 1fchsmleaf "Love you!" elif Natsuki.isAffectionate(higher=True): - n 1fsqsml "Don't let the bed bugs bite!{w=0.2} Ehehe." + n 1fchbleme "Don't let the bed bugs bite~!" $ persistent.jn_player_admission_type_on_quit = jn_admissions.TYPE_TIRED return { "quit": None } - elif jn_admissions.last_admission_type == jn_admissions.TYPE_ANGRY or jn_admissions.last_admission_type == jn_admissions.TYPE_SAD: - n 1tllpu "Well,{w=0.1} you did say you weren't happy earlier,{w=0.1} [player]." - n 1unmca "If you're already tired,{w=0.1} I think you should sleep on it." - n 1unmsr "Are you gonna turn in,{w=0.1} [player]?" - menu: - "Yes, I will.": - n 1fcssm "Good...{w=0.3} you'll feel better soon,{w=0.1} okay?" - - if Natsuki.isAffectionate(higher=True): - n 1nwmsm "I promise." - - n 1nchbg "Sleep well,{w=0.1} [player]!" - - $ persistent.jn_player_admission_type_on_quit = jn_admissions.TYPE_TIRED - return { "quit": None } - - "No, not yet.": - n 1ulrpo "Well...{w=0.3} if you're sure,{w=0.1} [player]." - n 1fsgsm "Now,{w=0.1} let's see if I can't improve your mood,{w=0.1} huh?" - elif jn_admissions.last_admission_type == jn_admissions.TYPE_SICK: - n 1ulrpo "I'm really not surprised if you're already sick,{w=0.1} [player]." - n 1fnmpo "You should get some rest." - n 1kllss "We can talk later,{w=0.1} alright?" - n 1knmsm "Take it easy,{w=0.1} [player]!" - - # Add pending apology - $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) - - $ persistent.jn_player_admission_type_on_quit = jn_admissions.TYPE_SICK - return { "quit": None } - - elif jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: - n 1fskem "I'm not surprised you're feeling tired if you're hungry!" - n 1kchgn "Stop sitting around and go eat something,{w=0.1} [player]!" - n 1tnmsl "Just take it easy getting up,{w=0.1} alright?{w=0.2} I don't want you fainting on me." - n 1klrsf "And trust me,{w=0.1} I don't think you want that either..." - - elif total_hours_in_session >= 24: - n 1fbkwrl "[player]!" - n 1kskem "You've been here for like a day now{w=0.1} -{w=0.1} It's no wonder you're tired!" - n 1fnmpo "You better get some sleep right now!{w=0.2} And I don't wanna see you come back until you've slept!" - n 1fcspo "Sheesh..." - n 1knmpo "Now get going,{w=0.1} [player]!{w=0.2} I'll see you later,{w=0.1} 'kay?" - $ chosen_tease = jn_utils.getRandomTease() - n 1unmbg "Sleep well,{w=0.1} [chosen_tease]!" + n 4nllsl "...Yeah.{w=0.75}{nw}" + extend 4tnmfl " You know what?{w=1}{nw}" + extend 2tnmbo " That'd probably be for the best." + n 2klraj "If you're feeling sick and all,{w=0.75}{nw}" + extend 2klrbo " like you said." + n 1fcsajlsbr "Don't worry,{w=0.2} I'll be fine.{w=1}{nw}" + extend 4fcsbglsbr " I always am.{w=1}{nw}" + extend 2fcssm " Ehehe." + n 2fchbglsbr "Take it easy,{w=0.2} [player]!" if Natsuki.isLove(higher=True): - n 1uchsml "Love you~!" + n 4fchsmleafsbr "L-{w=0.2}love you!" + n 4klrbolsbr "..." - elif Natsuki.isAffectionate(higher=True): - n 1nllsml "Sweet dreams! Ehehe." + elif Natsuki.isEnamored(higher=True): + n 4ksrbolsbr "..." + + else: + n 4ksrbosbl "..." # Add pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) + $ persistent.jn_player_admission_type_on_quit = jn_admissions.TYPE_SICK - $ persistent.jn_player_admission_type_on_quit = jn_admissions.TYPE_TIRED return { "quit": None } - elif total_hours_in_session >= 12: - n 1fbkwr "[player]!" - $ chosen_tease = jn_utils.getRandomTease() - n 1fnmpo "I'm not surprised you're feeling tired{w=0.1} -{w=0.1} you've been here ages,{w=0.1} [chosen_tease]!" - n 1fllpo "You need to get some sleep...{w=0.3} you're gonna be all cranky later at this rate!" - n 1kllpo "I appreciate the company but make sure you turn in soon,{w=0.1} alright?" - - if 1knmpul Natsuki.isLove(higher=True): - n 1klrpul "You know I don't like it when you don't take care of yourself like this..." - - elif Natsuki.isAffectionate(higher=True): - n 1fcspol "You should know better than to treat yourself like this by now,{w=0.1} [player]..." + elif jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: + n 4fcsfl "Well,{w=0.75}{nw}" + extend 4fcsgs " duh!{w=1}{nw}" + extend 2fchgn " Of course you're gonna feel tired if you're hungry!" + n 2tsqflsbr "Did you really {i}not{/i} know that?{w=1}{nw}" + extend 2fcsslsbr " Jeez." + n 4fcsaj "Now quit being lazy,{w=0.2} get off your butt and go get something already!" + n 4fcsfl "Sorry [player],{w=0.75}{nw}" + extend 3fchgn " but I'm not making it for you!" + + elif total_hours_in_session >= 18: + n 2fnmgsl "A-{w=0.2}and just who do you have to thank for that?!" + n 4fbkwrl "You've been here {i}ages{/i} now,{w=0.2} [player]!{w=1}{nw}" + extend 4fnmpol " Did you {i}seriously{/i} not notice the time?" + n 1fcsfl "Man...{w=0.75}{nw}" + extend 2fsrpo " you {i}really{/i} need to get going." + n 2unmfll "Don't get me wrong!{w=0.75}{nw}" + extend 4fcsfllsbl " I-{w=0.2}it's not that I don't want you here or anything!{w=1}{nw}" - n 1fllsfl "Don't let me down,{w=0.1} got it?" + if Natsuki.isEnamored(higher=True): + extend 4ksrpolsbl " O-{w=0.2}of course I do!{w=1}{nw}" - # Add pending apology - $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) + else: + extend 4fcscalsbl " Obviously." - elif jn_get_current_hour() > 21 or jn_get_current_hour() < 3: - n 1fskem "[player]!" - n 1fnmem "I'm not surprised you're tired!{w=0.2} Have you even seen the time?!" - $ chosen_tease = jn_utils.getRandomTease() - n 1knmpu "It's the middle of the night,{w=0.1} [chosen_tease]!" - n 1fcsanl "Nnnn...{w=0.3} you should really turn in soon,{w=0.1} you know..." - n 1fnmpol "I don't want you to be all cranky later because you didn't get enough sleep." - n 1flrpol "And neither do you,{w=0.1} I'm sure." - n 1kcspo "Just...{w=0.3} try to get to bed soon,{w=0.1} okay?{w=0.2} {i}Before{/i} your keyboard becomes your pillow." + n 4fcsajl "But clearly {i}someone{/i} has to set some boundaries around here." + n 3fcspol "...So I guess that 'someone' is gonna have to be me.{w=0.75}{nw}" + extend 3fsqsm " Ehehe." + $ chosen_descriptor = jn_utils.getRandomTease() if Natsuki.isAffectionate(higher=True) else player + n 3fcsbg "Now get going already,{w=0.2} [chosen_descriptor]!{w=0.75}{nw}" + extend 4fchbg " See you later!" if Natsuki.isLove(higher=True): - n 1ksqpol "Besides...{w=0.3} you do know I'm not actually strong enough to carry you to bed myself...{w=0.3} right?" + n 4fchsml "Love you~!" - n 1kllssl "Ahaha..." + elif Natsuki.isEnamored(higher=True): + n 4fchsmlsbl "S-{w=0.2}sweet dreams!" # Add pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) + $ persistent.jn_player_admission_type_on_quit = jn_admissions.TYPE_TIRED + + return { "quit": None } else: - n 1knmsl "Feeling tired,{w=0.1} [player]?" - n 1kllbo "You should think about turning in soon{w=0.1} -{w=0.1} even just for a nap." - n 1fcseml "Don't worry about me if you need to rest!{w=0.2} I'll be fine!" - n 1knmpo "Just make sure you let me know when you decide to go,{w=0.1} [player]." + n 2tlraj "Feeling tired,{w=0.75}{nw}" + extend 2tnmss " huh?" + n 1tllss "Well...{w=1}{nw}" + extend 4fcsbg " why not grab something to pep yourself up?{w=0.75}{nw}" + extend 4fchbg " Duh!" + n 3ulraj "I mean...{w=0.75}{nw}" + extend 3nsrsssbr " I'm not super into stuff like coffee myself.{w=1}{nw}" + extend 4fchgn " But I'd be lying if I said Monika didn't look refreshed after a swig of that stuff!" + n 4ullbo "Or...{w=0.75}{nw}" + extend 4fllsm " you know.{w=0.75}{nw}" + extend 4fsqbg " Just go splash some cold water in your face or something." + n 2fsqsm "Ehehe.{w=0.75}{nw}" + extend 1nlrss " Nah,{w=0.2} in all seriousness?{w=0.75}{nw}" + extend 2tnmbo " Don't feel like you have to stick around or anything." + n 2fchgnelg "...Just let me know if you're going {i}before{/i} you faceplant the desk!{w=0.75}{nw}" + extend 2fchsm " Ehehe." + + if Natsuki.isLove(higher=True): + n 1fwrsml "Love you too,{w=0.2} [player]~!" $ jn_admissions.last_admission_type = jn_admissions.TYPE_TIRED return diff --git a/game/script-apologies.rpy b/game/script-apologies.rpy index d5975a67..0f1299b2 100644 --- a/game/script-apologies.rpy +++ b/game/script-apologies.rpy @@ -80,75 +80,117 @@ label apology_bad_nickname: if persistent._jn_nicknames_natsuki_allowed: # The player is still capable of nicknaming Natsuki if Natsuki.isEnamored(higher=True): - n 1kcssf "..." - n 1knmsf "That hurt,{w=0.1} [player].{w=0.2} What you did." - n 1kplsf "That really hurt me." - n 1kcssf "..." - n 1kplss "I'm...{w=0.3} glad you've chosen to apologize." - n 1knmsr "Just please...{w=0.3} try to consider my feelings next time,{w=0.1} alright?" + n 1fcssl "...[player].{w=1}{nw}" + extend 2fsqsl " You {i}really{/i} have to ask yourself something here." + n 2fcsaj "Hear me out." + n 2fcsbo "..." + n 2nllpu "I'm...{w=0.75}{nw}" + extend 4nllsl " willing...{w=1}{nw}" + extend 4nnmca " to let you call me something else." + n 1flrbo "Something {i}other{/i} than the name I've been called all my life." + n 3tnmpu "You {i}do{/i} know what that's all about,{w=0.2} right?{w=0.75}{nw}" + extend 3tsqsl " What it means?" + n 1ncsaj "It's a show of trust." + n 2fsqem "...So what do you {i}seriously{/i} think it shows when you use that trust to {i}insult{/i} me?" + n 2fcspu "..." + n 2nllsl "I'm...{w=0.75}{nw}" + extend 1kslbo " glad you've chosen to apologize." + n 1kcssl "Just please...{w=0.75}{nw}" + extend 4ksqsll " try to consider my feelings next time." + n 2ksrajl "It's really {i}not{/i} much to ask.{w=0.75}{nw}" + extend 2tsqbol " Right?" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fcssr "..." - n 1fnmsl "...Fine.{w=0.2} I accept your apology, okay?" - n 1uplsl "Just please knock it off,{w=0.1} [player]." - n 1uplaj "It isn't funny.{w=0.2} It isn't a joke." - n 1fllsl "...And I know you're better than that." + n 2fcsbo "..." + n 2ncspuesi "..." + n 2nslsl "...Fine.{w=0.75}{nw}" + extend 2fcsaj " I accept your apology,{w=0.2} okay?" + n 1fsqsl "Just knock it off now,{w=0.2} [player]." + n 4fllpu "It isn't {i}funny{/i}.{w=0.5}{nw}" + extend 4fnmem " It isn't a {i}joke{/i}." + n 2fcsca "...And I know you're better than {i}that{/i}." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fsqsl "...Are you sure,{w=0.1} [player]?" - n 1fllaj "I mean...{w=0.3} if you actually cared about my feelings..." - n 1fsqan "Why would you even think about doing that in the first place?" - n 1fcsaj "Behaving like that doesn't make you funny,{w=0.1} [player]." - n 1fsqsr "It makes you toxic." - n 1fcssr "..." - n 1fllsr "...Thanks,{w=0.1} I guess.{w=0.2} For the apology." - n 1fsqsl "Just quit while you're ahead,{w=0.1} understand?" + n 1fcsem "...Heh.{w=0.75}{nw}" + extend 4fsqwr " Oh,{w=0.2} {i}really{/i}?" + n 2fllem "...You sure,{w=0.2} [player]?" + n 2fcsem "Because I mean...{w=0.75}{nw}" + extend 2fsqsl " if you {i}actually{/i} cared about my feelings..." + n 4fnman "Why would you even {i}think{/i} about doing that in the first place?" + n 1fcsan "You aren't funny,{w=0.2} [player]." + extend 4flrem " You aren't making anyone {i}laugh{/i}." + n 2fsqfu "...You're just being an ass." + n 2fcsbo "..." + n 2fcsem "...Whatever.{w=0.75}{nw}" + extend 1fslbo " I'll take your apology." + n 1fsqsl "But I'm not taking much more crap from you." + n 2fnmsl "Got it?" + $ Natsuki.calculatedAffinityGain() else: - n 1fcsan "...I honestly don't know what I find more {i}gross{/i} about you,{w=0.1} [player]." - n 1fcsaj "The fact you even did it in the first place..." - n 1fsqfu "...Or that you think a simple apology makes all that a-okay." - n 1fcssr "..." - n 1fcsantsa "Don't think this changes a thing,{w=0.1} [player]." - n 1fsqsrtsb "Because it doesn't." + n 2fcsan "...I honestly don't know what I find more {i}gross{/i} about you,{w=0.2} [player]." + n 2fcsaj "The fact you even did it in the first place..." + n 4fsqful "...Or that you think a simple apology makes all that a-{w=0.2}okay." + n 1fcssrl "..." + n 1fcsanltsa "Don't think this changes anything,{w=0.2} {i}[player]{/i}." + n 4fsqsrltsb "Because it {i}doesn't.{/i}" else: # The player has been barred from nicknaming Natsuki, and even an apology won't change that if Natsuki.isEnamored(higher=True): - n 1fcsfr "...[player]." - n 1fplsr "I warned you." - n 1kplsl "I warned you so many times." - n 1fplsl "Did you think apologizing {i}now{/i} would change anything?" - n 1fcssl "..." - n 1kcsaj "...Look,{w=0.1} [player]." - n 1kplsr "I appreciate your apology,{w=0.1} okay?{w=0.2} I do." - n 1kllsr "But...{w=0.3} it's just like I said.{w=0.2} Actions have consequences." - n 1kcssr "I hope you can understand." + n 1ncspu "...[player]." + n 1fcssl "I warned you.{w=1}{nw}" + extend 4fnmun " I warned you {i}{w=0.3}so{w=0.3} many{w=0.3} times{/i}." + n 1fsqem "Did you seriously think apologizing {i}now{/i} would change anything?" + n 2fcsslesi "..." + n 2fllsl "...Look." + n 2nllbo "I appreciate the apology,{w=0.5}{nw}" + extend 1fnmbo " okay?" + n 2kcspu "But I am {i}not{/i} gonna have my trust broken any more with this.{w=1}{nw}" + extend 4kslsl " Not again." + n 1fcsaj "...So you better get used to 'Natsuki',{w=0.2} [player]." + n 2fsrsl "'Cause {i}clearly{/i} you struggle with anything else.'" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fcssr "...[player]." - n 1fsqsr "Look.{w=0.2} You're sorry,{w=0.1} I get it.{w=0.2} I'm sure you mean it too." - n 1fcssl "But...{w=0.3} it's like I said.{w=0.1} Actions have consequences." - n 1kcssl "I hope you can understand." + n 1fcssl "...[player]." + n 2flrsl "Look.{w=1}{nw}" + extend 2fnmem " You're sorry.{w=0.75}{nw}" + extend 1fcsem " I get it." + n 4fsqsr "But I am {i}done{/i} with you making a fool out of me with this." + extend 4fsqem " Capiche?" + n 1fsqca "...It's always going to be {i}just{/i} 'Natsuki' to you." + n 2fslsl "Thanks for understanding." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fupfu "Ugh...{w=0.3} really,{w=0.1} [player]?" - n 1fcsan "..." - n 1fsqfr "I {i}said{/i} actions have consequences." - n 1fcsfr "I appreciate the apology.{w=0.2} But that's all you're getting." + n 1fcsem "Ugh..." + n 4fslem "Really,{w=0.75}{nw}" + extend 4fsqfr " [player]?" + n 2fcsfr "..." + n 1fcsaj "I {i}said{/i} actions have consequences.{w=1}{nw}" + extend 2fsqan " So I guess now you're just going to have to learn the hard way." + n 2fcssl "Yeah,{w=0.2} I'll take your apology." + n 2fsqsr "But that's {i}all{/i} you're getting." + $ Natsuki.calculatedAffinityGain() else: - n 1kcsfr "...Wow.{w=0.2} Just wow." - n 1fcsfu "{i}Now{/i} you choose to apologize?" - n 1kcssrtsa "..." - n 1fsqfutsb "Whatever.{w=0.2} I literally don't care." - n 1fcsantsa "This changes {i}nothing{/i},{w=0.1} [player]." + n 1fslan "...Wow.{w=0.75}{nw}" + extend 1fcsanl " Just wow." + n 4fnmfultsc "{i}Now{/i} you choose to apologize?" + n 2fcsunltsa "..." + n 2fcsemltsa "Whatever.{w=1}{nw}" + extend 2fcsfultsa " I literally don't care." + n 4fsqupltsb "You can stick your {w=0.2}half-{w=0.2}assed{w=0.2} apology,{w=0.2} [player]." + n 1fcsfultsa "This changes {i}nothing{/i}." $ Natsuki.removeApology(jn_apologies.ApologyTypes.bad_nickname) return @@ -167,29 +209,50 @@ init 5 python: label apology_cheated_game: if Natsuki.isEnamored(higher=True): - n 1kchbg "Ehehe.{w=0.2} It's fine,{w=0.1} [player]." - n 1nllsm "We all get a little too competitive sometimes,{w=0.1} right?" - n 1nsqsm "Just remember though." - n 1fsqbg "Two can play at that game!" + n 1tnmpueqm "Eh?{w=0.75}{nw}" + extend 4nlrss " Oh,{w=0.2} yeah." + n 1nlrbo "It's fine." + n 2nsrpu "...It just gets annoying sometimes.{w=0.75}{nw}" + extend 4tnmbo " You know?" + n 4fllsl "When you're {i}trying{/i} to have fun and someone else keeps going way overboard just to win.{w=0.75}{nw}" + extend 2nllca " It just spoils it for me.{w=0.75}{nw}" + extend 2kslcal " I can't play like that." + n 4nllbo "But...{w=0.75}{nw}" + extend 1knmss " I appreciate the apology.{w=0.75}{nw}" + extend 4fsqsm " Just remember though,{w=0.2} [player]..." + n 3fcsbgl "Two can play at that game!" + $ Natsuki.calculatedAffinityGain() $ persistent.jn_snap_player_is_cheater = False elif Natsuki.isNormal(higher=True): - n 1fsqbg "Huh?{w=0.2} Oh,{w=0.1} that." - n 1nnmaj "Yeah,{w=0.1} yeah.{w=0.2} It's fine." - n 1nllsl "Just play fair next time,{w=0.1} 'kay?" + n 2tsqpueqm "Huh?{w=0.75}{nw}" + extend 2nlrbo " Oh,{w=0.2} that." + n 1ncsaj "Yeah,{w=0.2} yeah.{w=0.75}{nw}" + extend 1nslca " It's fine." + n 2tnmca "Just play fair next time,{w=0.2} alright?" + n 2nslsssbl "It's really not hard...{w=1}{nw}" + extend 2tnmbosbl " is it?" + $ Natsuki.calculatedAffinityGain() $ persistent.jn_snap_player_is_cheater = False elif Natsuki.isDistressed(higher=True): - n 1fcssl "Whatever,{w=0.1} [player]." - n 1fsqsl "But thanks for the apology,{w=0.1} I guess." + n 2fcssresi "..." + n 2fslsr "Fine.{w=0.75}{nw}" + extend 2fcsem " Yeah.{w=0.75}{nw}" + extend 1fsqfr " Whatever,{w=0.2} [player]." + n 2nsrsl "But thanks for the apology,{w=0.2} I guess." + $ Natsuki.calculatedAffinityGain() $ persistent.jn_snap_player_is_cheater = False else: - n 1fcsan "Whatever.{w=0.2} I don't care." - n 1fsqantsa "As if I could expect much better from {i}you{/i},{w=0.1} anyway." + n 4fcsanl "Oh,{w=0.5}{nw}" + extend 2fcsupl " whatever.{w=0.5}{nw}" + extend 1fsrfultsb " I really couldn't give a {i}crap{/i} anymore." + n 4fsqgtltsb "As if I could expect much better from {i}you{/i},{w=0.2} anyway." + $ persistent.jn_snap_player_is_cheater = False $ Natsuki.removeApology(jn_apologies.ApologyTypes.cheated_game) @@ -211,67 +274,94 @@ label apology_generic: if len(persistent._jn_player_pending_apologies) == 0: # The player has nothing to be sorry to Natsuki for; prompt them to do better if Natsuki.isEnamored(higher=True): - n 1tnmaj "Huh?{w=0.2} You're sorry?" - n 1tllaj "I...{w=0.3} don't get it,{w=0.1} [player].{w=0.2} You haven't done anything to upset me..." - n 1tnmsl "Did you upset someone else or something?" + n 2tnmpu "Huh?{w=0.75}{nw}" + extend 2tnmbo " You're sorry?" + n 1nlrss "I...{w=1}{nw}" + extend 4tnmsl " don't get it,{w=0.2} [player].{w=0.75}{nw}" + extend 2tslca " You haven't done anything to upset {i}me{/i},{w=0.2} at least..." + n 2tnmsl "Did you upset someone else or something?" n 1ncssl "..." - n 1kchbg "Well,{w=0.1} there's no point sitting around here feeling sorry for yourself." - n 1unmsm "You're gonna make things right,{w=0.1} [player]. 'Kay?" - n 1kchbg "And no -{w=0.1} this isn't up for discussion." - n 1fchsm "Whatever you did,{w=0.1} you'll fix things up and that's all there is to it." - $ chosen_tease = jn_utils.getRandomTease() - n 1fchbg "You have my vote of confidence,{w=0.1} [chosen_tease] -{w=0.1} now do your best!" - n 1uchsm "Ehehe." + n 4fchbg "Well,{w=0.5}{nw}" + extend 3fcsbg " there's no point sitting around here feeling sorry for yourself!" + n 3fcssm "You're gonna make things right,{w=0.2} [player].{w=0.75}{nw}" + extend 3fcsbg " 'Kay?" + n 4nllfl "And no -{w=0.75}{nw}" + extend 2fcscaesm " this isn't up for discussion." + n 1fcsss "Whatever you did,{w=0.2} you'll fix things up and that's just all there is to it." + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else jn_utils.getRandomTease() + n 3fchbg "You have my vote of confidence,{w=0.2} [chosen_descriptor] -{w=0.3}{nw}" + extend 3fwlbg " now do your best!{w=0.75}{nw}" + extend 3fchgn " Ehehe." elif Natsuki.isNormal(higher=True): - n 1tnmaj "Eh?{w=0.2} You're sorry?" - n 1nllaj "What for,{w=0.1} [player]?{w=0.2} I don't remember you getting on my nerves lately..." - n 1fnmcal "Did you do something dumb that I don't know about?" + n 2tnmpu "Eh?{w=0.5}{nw}" + extend 2tnmbo " You're sorry?" + n 1tllaj "What for,{w=0.2} [player]?{w=0.75}{nw}" + extend 4tslaj " I don't remember you getting on my nerves lately..." + n 2fsqcal "...Did you go and do something dumb that I don't know about?" n 1ncsca "..." - n 1knmpu "Well,{w=0.1} whatever it was -{w=0.1} it's not like it's unfixable,{w=0.1} you know?" - n 1fcsbg "Now get out there and put things right,{w=0.1} [player]!{w=0.2} I believe in you!" + n 4unmaj "Well,{w=0.75}{nw}" + extend 2ulraj " whatever it was -{w=0.5}{nw}" + extend 2tlrss " it's not like it's unfixable,{w=0.75}{nw}" + extend 4fnmsm " you know?" + n 3fcsbg "Now get out there and put things right,{w=0.2} [player]!" + n 3fchsmeme "You got this!" elif Natsuki.isDistressed(higher=True): - n 1fsqbo "...You're sorry,{w=0.1} are you?" - n 1fsqan "Did you hurt someone besides me,{w=0.1} this time?" - n 1fcssl "..." - n 1fsqsl "Well,{w=0.1} whatever.{w=0.2} I don't really care right now." - n 1fsqaj "But you better go make things right,{w=0.1} [player]." - n 1fllsl "You can do that,{w=0.1} at least." + n 1fcsfl "Heh.{w=0.75}{nw}" + extend 1fsqbo " You're sorry,{w=0.2} are you?" + n 4fsran "Did you hurt someone {i}besides{/i} me,{w=0.5}{nw}" + extend 4fsqan " this time?" + n 2fcssl "..." + n 2fsqsl "...Whatever.{w=0.5}{nw}" + extend 2fslfr " I really don't care right now." + n 2fsqem "But you {i}better{/i} go make things right,{w=0.2} [player]." + n 2fllsl "You can do that,{w=0.5}{nw}" + extend 2fslsl " at least." else: - n 1fcsan "...Huh.{w=0.2} Wow." - n 1fsqan "So you {i}do{/i} actually feel remorse,{w=0.1} then." - n 1fcssl "..." - n 1fsqfutsb "Whatever.{w=0.2} It isn't {i}me{/i} you should be apologizing to,{w=0.1} anyway." + n 1fcsfl "...Huh.{w=0.75}{nw}" + extend 1fcsan " Wow." + n 4fsqgtl "So you {i}do{/i} actually feel remorse,{w=0.2} then." + n 2fcsunl "..." + n 2fsqfultsb "Whatever.{w=0.75}{nw}" + extend 2fsrgtltsb " It isn't {i}me{/i} you should be apologizing to,{w=0.2} anyway." else: # The player is avoiding a direct apology to Natsuki; call them out on it if Natsuki.isEnamored(higher=True): - n 1kplsr "...[player].{w=0.2} Come on." - n 1knmsr "You know what you did wrong." - n 1knmaj "Just apologize properly,{w=0.1} alright?" - n 1kllbo "I won't get mad." - n 1kcsbo "I just wanna move on." + n 1kllsl "...[player].{w=0.75}{nw}" + extend 4knmsl " Come on." + n 2ksqsr "You {i}know{/i} what you did wrong.{w=0.75}{nw}" + extend 2ksqbo " So just apologize properly already." + n 4kllbo "I won't get mad." + n 1kslbol "I just wanna move on." + $ Natsuki.percentageAffinityLoss(2.5) elif Natsuki.isNormal(higher=True): - n 1fnmsf "Come on,{w=0.1} [player]." - n 1fnmaj "You know what you did." - n 1nllsl "Just apologize properly so we can both move on." + n 1fnmsf "Come on,{w=0.2} [player].{w=1}{nw}" + extend 2fnmaj " You know what you did." + n 2nslsl "Just apologize properly so we can both move on." + $ Natsuki.percentageAffinityLoss(2) elif Natsuki.isDistressed(higher=True): - n 1fupem "Ugh..." - n 1fnman "Really,{w=0.1} [player].{w=0.2} Haven't you screwed with me enough?" - n 1fsqfu "If you're gonna apologize,{w=0.1} have the guts to do it properly." - n 1fsqsf "You owe me that much,{w=0.1} at least." + n 2fupem "Ugh..." + n 2fnman "Really,{w=0.2} [player].{w=0.75}{nw}" + extend 4fsqan " Haven't you screwed with me enough?" + n 1fcsgs "If you're gonna apologize,{w=0.75}{nw}" + extend 2fcsan " have the guts to do it {i}properly{/i}." + n 2fsqsf "You owe me that much,{w=0.2} at least." + $ Natsuki.percentageAffinityLoss(1.5) else: - n 1fsqfu "...Do you even know how you sound?" - n 1fnmfutsf "Do you even {i}listen{/i} to yourself?" - n 1fcsfutsa "Apologize properly or don't bother." + n 4fsqfu "...Do you even know how you sound?" + n 4fnmgtltsc "Do you even {i}listen{/i} to yourself?" + n 2fcsfultsa "Apologize properly or{nw}" + extend 2fsqfultsb " {i}get out of my face{/i}." + $ Natsuki.percentageAffinityLoss(1) return @@ -290,46 +380,82 @@ init 5 python: label apology_prolonged_leave: if Natsuki.isEnamored(higher=True): - n 1kcssl "...[player]." - n 1knmsl "We've been together a while now,{w=0.1} haven't we?" - n 1kllsll "I...{w=0.3} really...{w=0.3} like spending time with you.{w=0.2} Why do you think I'm always here when you drop in?" - n 1kllaj "So..." - n 1knmsl "Can you imagine how it makes me feel when you just...{w=0.3} don't turn up?" - n 1kcssl "..." - n 1kplsl "I waited for you,{w=0.1} [player]." - n 1kcsun "I waited a long time." - n 1kcsup "I was starting to wonder if you were ever going to come back,{w=0.1} or if something happened..." - n 1kcssf "..." - n 1kplsm "Thanks,{w=0.1} [player].{w=0.2} I accept your apology." - n 1kplbo "Just...{w=0.3} some notice would be nice next time,{w=0.1} is all." - n 1kllbo "That isn't too much to ask...{w=0.3} right?" + if Natsuki.isLove(higher=True): + n 1ncssl "...[player]." + n 1kllfl "We've...{w=0.75}{nw}" + extend 2knmbo " been together a while now,{w=0.2} haven't we?" + n 2ksrbol "A-{w=0.2}and you know I like spending time with you.{w=1}{nw}" + extend 4knmbol " Why do you {i}think{/i} I'm always here whenever you show up?" + + else: + n 1ncssl "...[player]." + n 1kllfl "We've...{w=0.75}{nw}" + extend 2knmbo " been here together a while now,{w=0.2} haven't we?" + n 2fcsun "I...{w=0.75}{nw}" + extend 1fcsfll " really...{w=0.75}{nw}" + extend 4ksrbol " like spending time with you.{w=1}{nw}" + extend 4knmbol " Why do you {i}think{/i} I'm always here whenever you show up?" + + n 4klrfll "So can you imagine how it feels when you just...{w=1}{nw}" + extend 1klrsll " don't turn up?" + n 1fcsunl "..." + n 1fcssll "I waited for you,{w=0.2} [player]." + n 4kslbol "I waited a really long time." + n 4kllemlsbl "I was starting to wonder if you were ever going to come back...{w=0.75}{nw}" + extend 4kllunlsbl " o-{w=0.2}or if something happened." + n 1kcspulesi "..." + n 2nsqbol "...Thanks,{w=0.2} [player].{w=0.75}{nw}" + extend 2ksrbol " For the apology, I mean.{w=1}{nw}" + extend 2ksrfsl " It's appreciated." + n 4kcsajl "Just..." + n 1kslsrl "..." + n 2knmsll "Just some notice would be nice,{w=0.2} is all." + n 2klrsll "That isn't too much to ask..." + n 4knmbol "Right?" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): n 1fcsunl "[player]..." - n 1fbkwrl "What were you thinking?!{w=0.2} Just vanishing like that!" - n 1fwmunl "I waited so long for you...{w=0.3} I was starting to wonder if something bad happened!" - n 1fsqpol "N-{w=0.1}not that I care {i}that{/i} much,{w=0.1} but still...!" - n 1fllunl "..." - n 1fllpo "I'm...{w=0.3} grateful for your apology,{w=0.1} [player]." - n 1fnmpo "Just...{w=0.3} no more disappearing acts,{w=0.1} alright?" + n 4fnmgsl "What were you even {i}thinking?!{/i}{w=0.75}{nw}" + extend 4fcsgsl " Just vanishing like that!" + n 1fbkwrlsbl "I don't have a crystal ball!{w=0.75}{nw}" + extend 2flremlsbl " How am {i}I{/i} meant to know if you'd be back?{w=0.75}{nw}" + extend 2fcswrlsbl " Or if something happened?!" + n 2fcssll "..." + n 2nslbo "..." + n 1ncspu "...Look." + extend 4fnmbol " I appreciate the apology.{w=0.75}{nw}" + extend 2flrfll " And I get that you've got stuff to do.{w=0.75}{nw}" + extend 2fsrbolsbl " It's not like we're not super close or anything like that,{w=0.2} e-{w=0.2}either." + n 4fnmbol "But can you at least {i}tell{/i} me when you're gonna go,{w=0.2} like I said?" + n 2fcspol "I-{w=0.2}if I wanted a disappearing act,{w=0.2} I would have asked,{w=0.2} after all." + n 2ksrpol "..." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fcsbo "[player]." - n 1fnmbo "I know we haven't exactly been seeing eye-to-eye lately." - n 1knmaj "But do you know how {i}scary{/i} it is to me when you just disappear like that?" - n 1fllsl "In case you haven't already noticed,{w=0.1} I don't exactly have many other people to talk to..." - n 1fcssl "..." - n 1fsqsl "Thanks for the apology,{w=0.1} I guess." - n 1fsqbo "Just don't do that again." + n 2fsqfr "...[player]." + n 2fcsfr "I know we haven't exactly been seeing eye-to-eye lately." + n 4fnman "But do you even {i}care{/i} how scary it is to me when you just disappear?" + n 1flrem "In case you haven't already {i}noticed{/i},{w=0.75}{nw}" + extend 4fcsem " I don't exactly have many {i}other{/i} people to talk to..." + n 1fcssr "..." + n 2fslpu "I guess I should say thanks.{w=1}{nw}" + extend 2fslbo " For the apology." + n 2fcsbo "Just...{w=0.75}{nw}" + extend 2fcsemsbr " don't do that again." + $ Natsuki.calculatedAffinityGain() else: - n 1kcspu "...Ha...{w=0.3} ah...{w=0.3} haha..." - n 1fsqan "Y-{w=0.1}you're apologizing to me?{w=0.2} For not being here?" - n 1kcssl "...Heh..." - n 1fsqfutsb "You should be apologizing that you {i}came back{/i}." + n 1fcsem "...Ha...{w=0.5}{nw}" + extend 1fcsssltsa " ah...{w=0.5}{nw}" + extend 1fsrflltse " haha..." + n 4fsqflltse "Y-{w=0.2}you're apologizing to me?{w=0.75}{nw}" + extend 4fnmflltsf " For not being here?" + n 1fcsunltsd "...Heh..." + n 4fsqgtltse "You should be apologizing that you {i}came back{/i}." $ Natsuki.removeApology(jn_apologies.ApologyTypes.prolonged_leave) return @@ -348,42 +474,64 @@ init 5 python: label apology_rude: if Natsuki.isEnamored(higher=True): - n 1kcsbo "...[player]." - n 1knmbo "I know I give as good as I get.{w=0.2} Maybe I'm a little snappy sometimes,{w=0.1} too." - n 1kplsl "But that was really,{w=0.1} really rude,{w=0.1} [player]." - n 1kcsun "There was no need for that." - n 1kcssl "..." - n 1kplss "Thanks for the apology,{w=0.1} [player].{w=0.2} I really do appreciate it." - n 1kllaj "Just...{w=0.3} try not to do that again,{w=0.1} 'kay?" - n 1kplsll "It would mean a lot to me." + n 4fcsca "...[player]." + n 4nllsl "I know I give as good as I get.{w=0.75}{nw}" + extend 1nslsssbr " And maybe I {i}am{/i} little snappy sometimes." + n 3fcsaj "But that was really,{w=0.75}{nw}" + extend 3fcsem " {i}seriously{/i}{w=0.5}{nw}" + extend 3fsqem " rude." + n 3fcsfl "There was no need for that at all." + n 1ncssl "..." + n 4nllsl "Thanks for the apology,{w=0.2} [player].{w=0.75}{nw}" + extend 2knmsl " I appreciate it." + n 2fcspu "Just...{w=0.3} try not to do that again." + extend 2knmpol " Please?" + n 1klrbol "It would mean a lot -{w=0.5}{nw}" + extend 4knmbol " and we {i}both{/i} know you're better than that." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fcssl "[player]..." - n 1fnmsl "I'm glad you're apologizing for what you did,{w=0.1} but you gotta understand." - n 1fcswr "You can't just treat people like that!" - n 1fplsf "It...{w=0.3} really hurts when you act that way - {w=0.1}and that doesn't just apply to me." - n 1fcssf "..." - n 1fllsf "Let's just move on and forget about this,{w=0.1} alright?" - n 1nllsf "Thanks,{w=0.1} [player]." + n 1fcssr "...[player]." + n 2fcspu "I'm...{w=1}{nw}" + extend 2nsrsl " glad you're apologizing for what you did.{w=0.75}{nw}" + extend 2fsqaj " But you gotta understand." + n 4fnmgs "You can't just {i}treat{/i} people like that!" + n 3knmfl "Do you seriously think people are gonna {i}like{/i} you if you act that way?" + n 3ncsemesi "Yeesh..." + n 1ncsbo "..." + n 2nllaj "I'll spare you the lecture,{w=0.75}{nw}" + extend 2nnmsl " this time.{w=0.75}{nw}" + extend 2nsrss " ...And the bar of soap." + n 2nsrca "I just wanna move on from this." + n 2nsraj "Thanks,{w=0.2} [player]." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fcsan "..." - n 1fsqfu "I gotta ask,{w=0.1} [player].{w=0.2} Are you like that on purpose,{w=0.1} or are you making a special effort?" - n 1fsqan "Because I honestly can't tell anymore." - n 1fcssr "..." - n 1fsqaj "...Fine.{w=0.2} I guess I should accept your apology." - n 1fsqan "I just hope you don't treat others how you're treating me." + n 2fcsun "..." + n 2fcsss "Heh.{w=0.75}{nw}" + extend 2fsqem " Let me ask you something,{w=0.75} {i}[player]{/i}." + n 4fnmfl "...Are you like that on {i}purpose{/i}?{w=0.75}{nw}" + extend 3fsqan " or are you making a special effort to be a jerk lately?" + n 3fcsem "Because I honestly can't tell." + n 1fcssl "..." + n 2fcsaj "...Fine.{w=0.75}{nw}" + extend 2fllfr " I guess I should accept your apology.{w=0.75}{nw}" + extend 2fslfr " For what {i}that's{/i} worth." + n 2fsqsl "Don't expect others to accept it so readily." + $ Natsuki.calculatedAffinityGain() else: - n 1kcsan "Ha...{w=0.3} aha..." - n 1fsqan "You're apologizing...{w=0.3} to me?{w=1} Why?" - n 1fsqpu "I don't expect {i}any{/i} better from you." - n 1fcsun "..." - n 1fsqfutsb "You can {i}stick{/i} your apology,{w=0.1} [player]." - n 1fcsfutsa "It means nothing to me." + n 1fcsss "Ha...{w=0.3} aha..." + n 4fcsfll "You're apologizing...{w=0.75}{nw}" + extend 4fsqupl " to me?{w=1}{nw}" + extend 2fnmupltsc " Why?" + n 2fcsfultsa "I don't expect any better from you {i}anyway{/i}." + n 2fcsunltsa "..." + n 2fsqgtltsc "You can {i}stick{/i} your apology,{w=0.2} [player]." + n 1fsqanltsc "It means {i}nothing{/i} to me." $ Natsuki.removeApology(jn_apologies.ApologyTypes.rude) return @@ -402,43 +550,68 @@ init 5 python: label apology_sudden_leave: if Natsuki.isEnamored(higher=True): - n 1fcsunl "[player]..." - n 1knmunl "Do you know how much it hurts when you do that?" - n 1kcsunl "It's like you're just slamming a door in my face." - n 1klrajl "And I'm just left wondering...{w=0.3} did I do something wrong?{w=0.2} Did I upset them?" - n 1kcsajl "It sucks,{w=0.1} [player].{w=0.2} It really sucks." - n 1kcssl "..." - n 1knmss "I'm grateful for the apology,{w=0.1} but please..." - n 1knmsm "You can at least spare the time to say goodbye properly to me,{w=0.1} right?" + n 3ksrsl "[player]..." + n 3knmsll "Do you {i}know{/i} how much it hurts when you do that?" + extend 3ksleml " Like..." + extend 4ksqeml " seriously?" + n 1kcsfll "It's like you might as well be slamming a door in my face." + n 2klrfll "And I'm just sat here like...{w=0.75}{nw}" + extend 2klrpulsbl " 'Did I do something?'{w=0.75}{nw}" + extend 2kllemlsbl " 'Why did they just bail on me?'" + n 1ksqfllsbl "...Right before I get ripped out of existence." + n 4kcsfll "It sucks,{w=0.2} [player].{w=0.5} It really sucks.{w=1}{nw}" + extend 4fsrunl " A-{w=0.2}and it hurts." + n 4ncspul "..." + n 2kllsll "I'm grateful for the apology,{w=0.5}{nw}" + extend 2kslsll " but please..." + n 2ksqsll "Just let me know when you're heading off." + n 2ksqbolsbr "You can at least spare the time to say goodbye properly to me,{w=0.2} right?" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fllsl "..." - n 1fnmsl "Hey,{w=0.1} [player]." - n 1fnmaj "Have you ever had a conversation where one person just walks away?" - n 1fsqaj "No 'goodbye',{w=0.1} no 'see you later',{w=0.1} nothing?{w=0.2} They just leave?" - n 1fsqbo "How would that make you feel?" - n 1ksqaj "Unwanted?{w=0.2} Not worth the manners?" - n 1fllsl "Because that's just how you made me feel,{w=0.1} [player]." + n 2fllsl "..." + n 2fnmsl "Hey,{w=0.2} [player]." + n 2fnmaj "Have you ever had a conversation where one person just walks away?" + n 2flrfl "No 'Goodbye',{w=0.5}{nw}" + extend 2fllfl " no 'See you later',{w=0.5}{nw}" + extend 2fnmem " nothing?{w=0.5}{nw}" + extend 1ksqem " They just leave?" + n 4fsqbo "...How would that make you feel?" + n 4tsqaj "Unwanted?{w=0.75}{nw}" + extend 4fsqfl " Not worth the manners?" + n 2fllsl "Because that's just how you made me feel,{w=0.2} [player].{w=0.75}{nw}" + extend 2fslsl " And you {i}know{/i} it hurts when you do that,{w=0.2} too." n 1fcssl "..." - n 1flraj "I accept the apology,{w=0.1} okay?" - n 1knmaj "Just...{w=0.3} remember to at least say goodbye to me properly." - n 1nnmsl "You can do that much,{w=0.1} right?" + n 2flrsl "I accept the apology,{w=0.2} okay?" + n 2nsrpu "Just...{w=0.75}{nw}" + extend 4knmsl " remember to at least say goodbye to me properly." + n 4tllbo "You can do that much.{w=0.75}{nw}" + extend 4ksqbosbr " Right?" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): n 1fsqsl "[player]." - n 1fsqan "Do you even {i}care{/i} how rude that is?" - n 1fsqfu "To just vanish mid-conversation with someone?" + n 2fsqan "Do you even {i}care{/i} how rude that is?" + n 2fsqfu "To just vanish mid-conversation with someone?{w=1}{nw}" + extend 2fnmem " Even knowing doing that {i}hurts{/i}?" n 1fcssr "..." - n 1fsqsr "Look,{w=0.1} fine.{w=0.2} Apology accepted,{w=0.1} for now." - n 1fsqaj "But really,{w=0.1} [player].{w=0.2} I expected better -{w=0.1} even from you." + n 1fsqsr "Look,{w=0.2} fine.{w=0.75}{nw}" + extend 4flrfr " Apology accepted.{w=0.75}{nw}" + extend 4fsrsl " For now." + n 3fsqfl "Don't expect me to accept it again." + $ Natsuki.calculatedAffinityGain() else: - n 1fcsan "...Heh.{w=0.2} Honestly?" - n 1fsqantsb "Whatever.{w=0.2} I don't care.{w=0.2} Keep your apology." - n 1fsqsftse "You've so many other things to be sorry for.{w=0.2} What's another on the pile,{w=0.1} right?" + n 2fcsfl "...Heh.{w=0.75}{nw}" + extend 2fsqanl " Honestly?" + n 2fcsanl "Whatever.{w=0.5} I don't care.{w=0.75}{nw}" + extend 2fslupl " Keep your crappy apology." + n 2fslemltsb "You've so many other things to be sorry for." + n 2fsqemltsb "So what's {i}another{/i} on the pile.{w=0.75}{nw}" + extend 4fsqgtltsb " Right?" $ Natsuki.removeApology(jn_apologies.ApologyTypes.sudden_leave) return @@ -457,39 +630,68 @@ init 5 python: label apology_unhealthy: if Natsuki.isEnamored(higher=True): - n 1kcssml "[player],{w=0.1} [player],{w=0.1} [player]..." - n 1knmajl "What am I gonna do with you?" - n 1kllsll "Honestly..." - n 1kwmsl "You know I just want what's best for you,{w=0.1} right?" - n 1klrsl "It...{w=0.3} hurts when you don't take care of yourself." - n 1kcssl "..." - n 1knmss "Thanks,{w=0.1} [player].{w=0.2} I accept your apology." - n 1knmbo "Just please...{w=0.3} take better care of yourself,{w=0.1} alright?" - n 1kllbol "I'll get mad if you don't.{w=0.2} For real,{w=0.1} this time." + n 3fcsssl "[player],{w=0.5} [player],{w=0.5} [player]..." + n 3tsqssl "What {i}am{/i} I gonna do with you?{w=0.75}{nw}" + extend 4nslsslsbr " Honestly..." + n 4kslbolsbr "..." + n 4kslpulsbr "But..." + n 1knmsll "I do really care about you,{w=0.2} you know." + n 2klrsll "It...{w=1}{nw}" + extend 2ksrsll " hurts{w=0.5} when you don't take care of yourself." + n 2kcssllesi "..." + n 1ksrbol "Thanks,{w=0.2} [player].{w=0.75}{nw}" + extend 2ksqssl " I accept your apology." + n 2knmbol "Just look after yourself better from now on,{w=0.2} alright?" + n 2kllbol "I'll get mad if you don't.{w=0.75}{nw}" + extend 2fslpol " For real,{w=0.2} this time." + + if Natsuki.isLove(higher=True): + $ chosen_tease = jn_utils.getRandomTease() + n 3fchbll "L-{w=0.2}love you too,{w=0.2} [chosen_tease]!" + + else: + n 2fsqsml "Ehehe." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fupbol "Ugh...{w=0.3} [player]." - n 1fnmbo "Look.{w=0.2} I accept your apology." - n 1knmaj "But you gotta take better care of yourself!" - n 1fllpo "I'm not always gonna be here to babysit you,{w=0.1} you know..." - n 1fnmem "A-{w=0.1}and it's not like I'm making an exception for you,{w=0.1} by the way!" - n 1nlrbo "I just care about all my friends like this,{w=0.1} so...{w=0.3} yeah." - n 1knmsl "Try and make more of an effort to look after yourself,{w=0.1} 'kay?" + n 1fcseml "Ugh...{w=0.75}" + extend 1fcspol " [player]." + n 2fnmbo "Look.{w=0.5}{nw}" + extend 2ksrsl " I accept your apology." + n 4knmaj "But you gotta take better care of yourself!" + n 3fcspoesm "I'm not always gonna be here to babysit you,{w=0.2} you know..." + n 2flremlsbl "A-{w=0.2}and no,{w=0.5}{nw}" + extend 2fsqpolsbl " you aren't an exception." + n 4fcsfll "I-{w=0.2}I just care about all my friends like this,{w=0.75}{nw}" + extend 4fllfll " so...{w=1}{nw}" + extend 1nllsll " yeah." + n 2knmsll "Just make more of an effort to look after yourself." + n 2fcsfllsbl "Or you'll have me to deal with.{w=0.75}{nw}" + extend 2fcsbosbl " And trust me." + n 2fcscaesi "You really don't want that." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fcssl "...Look.{w=0.2} [player]." - n 1flrsl "Firstly,{w=0.1} thanks for the apology.{w=0.2} If you even meant it,{w=0.1} anyway." - n 1fcsaj "But I'm really struggling to see why I should care." - n 1fcssl "..." - n 1fnmsl "Just...{w=0.3} take more care of yourself." - n 1fsqsl "...And while you're at it, perhaps try taking better care of me.{w=0.2} Thanks." + n 1fcssl "...Look.{w=0.75}{nw}" + extend 2fsqsl " [player]." + n 2flrsl "Thanks for the apology.{w=0.75}{nw}" + extend 2fsrem " I guess.{w=0.75}{nw}" + extend 2fsrfl " If you even {i}meant{/i} it,{w=0.2} anyway." + n 1fcsem "But I'm really struggling to see why I should care." + n 4fsrem "If you can't even take care of {i}yourself{/i}..." + n 2fsqan "...Then what does that say about me?" + n 2fsqsl "..." + n 2fcsfl "Yeah.{w=1}{nw}" + extend 2fllsl " Just some food for thought,{w=0.75}{nw}" + extend 2fsqfr " [player]." + $ Natsuki.calculatedAffinityGain() else: - n 1kcsun "...Heh." - n 1fcsantsa "At least you care that {i}you{/i} aren't being treated right." + n 1fcsun "...Heh." + n 2fcsanltsa "At least you care that {i}you{/i} aren't being treated right." $ Natsuki.removeApology(jn_apologies.ApologyTypes.unhealthy) return @@ -508,33 +710,49 @@ init 5 python: label apology_scare: if Natsuki.isEnamored(higher=True): - n 1fskwrf "A-{w=0.1}and I should think so too,{w=0.1} [player] -{w=0.1} jeez!" - n 1fwmpof "Are you trying to give me a heart attack or what?" - n 1fcspol "..." - n 1kllbol "Thank you,{w=0.1} [player].{w=0.2} I accept your apology." - n 1kplbol "Just please...{w=0.3} no more surprises like that,{w=0.1} okay?{w=0.1} For me?" + n 4fskwrl "A-{w=0.2}and I should think so too,{w=0.2} [player]!" + extend 1fcswrl " Jeez!" + n 2fwmpof "Are you trying to give me a heart attack or what?" + n 2fcspolesi "..." + n 2kllbol "...Thanks,{w=0.2} [player].{w=0.75}{nw}" + extend 1kslbol " Apology accepted.{w=0.75}{nw}" + extend 4kcsbol " Just please..." + n 4ksqbol "...No more surprises like that,{w=0.2} okay?" + n 2ksrfll "I...{w=0.75}{nw}" + extend 2ksrsll " really {i}don't{/i} need them." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fbkwrl "A-{w=0.1}and you're right {i}to{/i} be sorry,{w=0.1} [player]!" - n 1flleml "I {i}hate{/i} being made to feel like that!{w=0.2} Dummy..." - n 1fcspo "..." - n 1fnmpo "Alright,{w=0.1} look.{w=0.1} I accept your apology,{w=0.1} okay?" - n 1knmaj "Just don't do stuff like that to me.{w=0.2} Please?" - n 1flrsl "I'm not messing around,{w=0.1} [player]." + n 4fbkwrl "A-{w=0.2}and you're right to {i}be{/i} sorry,{w=0.2} [player]!" + n 4flleml "I {i}hate{/i} being made to feel like that!{w=0.75}{nw}" + extend 1kcseml " Jeez..." + n 2fcspo "..." + n 2fcsaj "Alright,{w=0.5}{nw}" + extend 1flrsl " look.{w=0.75}{nw}" + extend 4knmsl " I accept your apology,{w=0.2} okay?" + n 3kslfl "Just don't do stuff like that to me.{w=1}{nw}" + extend 3knmfl " Please?" + n 3nsrsl "I'm not messing around,{w=0.2} [player]." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fsqsl "...Look,{w=0.1} [player].{w=0.2} I'm already upset.{w=0.2} Why are you trying to make me feel even worse?" - n 1fsqfu "Did you think it was funny?{w=0.2} Or are you trying to piss me off?" - n 1fcsan "..." - n 1fcssl "Whatever.{w=0.2} Fine.{w=0.2} Apology accepted,{w=0.1} if you even meant it." - n 1fsqsf "Just knock it off." + n 2fsqsl "...Look,{w=0.2} [player].{w=0.75}{nw}" + extend 2fcsan " I'm already upset.{w=1}{nw}" + extend 2fnmwr " Why are you trying to make me feel even worse?" + n 1fsqfu "Did you think it was funny?{w=0.75}{nw}" + extend 4fsqem " Or are you just trying to piss me off?" + n 1fcssr "..." + n 2fcssl "Whatever.{w=0.5} Fine.{w=0.75}{nw}" + extend 2flrsl " Apology accepted,{w=0.2} if you even {i}meant{/i} it." + n 2fsqsf "Just knock it off." + $ Natsuki.calculatedAffinityGain() else: - n 1fsqfu "Stick it,{w=0.1} [player]." - n 1fcsantsa "We both know you don't mean that." + n 4fsqfu "Stick it,{w=0.2} [player]." + n 4fcsanltsa "We {i}both{/i} know you don't mean that." $ Natsuki.removeApology(jn_apologies.ApologyTypes.scare) return @@ -556,57 +774,59 @@ label apology_bad_player_name: # The player is still capable of nicknaming Natsuki if Natsuki.isEnamored(higher=True): n 1ncspuesi "..." - n 1nllsl "...It's fine,{w=0.1} [player]." - n 1ncsaj "Just..." + n 2nllsl "...It's fine,{w=0.2} [player]." + n 2ncsaj "Just..." n 1ksrsl "..." - n 1kcstr "I really hate when I try to do something nice...{w=1}{nw}" - extend 1ksqsr " and it just gets thrown back in my face,{w=0.1} you know?" + n 4kcstr "I really hate when I try to do something nice...{w=1}{nw}" + extend 4ksqsr " and it just gets thrown back in my face,{w=0.2} you know?" n 1fcstr "I didn't {i}have{/i} to listen to what you wanted." - n 1knmsrl "...So do you seriously think saying stuff like that {i}makes{/i} me want to do that again in the future?" - n 1fllsrl "Because it {i}doesn't{/i},{w=0.1} [player]." - n 1fcssrl "..." - n 1kcsajsbl "...Look.{w=1}{nw}" - extend 1nllpul " It's all water under the bridge,{w=0.1} okay?{w=0.75}{nw}" - extend 1fllpol " I accept your apology." - n 1fnmpol "Just use your noggin next time.{w=0.75}{nw}" - extend 1fcspol " I {i}know{/i} there's one on your shoulders somewhere." - n 1fsrunl "...Just don't start trying to prove me wrong on that.{w=0.75}{nw}" - extend 1ksqpol " Please?" + n 2knmsrl "...So do you seriously think saying stuff like that {i}makes{/i} me want to do that again in the future?" + n 2fllsrl "Because it {i}doesn't{/i},{w=0.2} [player]." + n 2fcssrl "..." + n 2kcsajsbl "...Look.{w=1}{nw}" + extend 1nllpul " It's all water under the bridge,{w=0.2} okay?{w=0.75}{nw}" + extend 4fllpol " I accept your apology." + n 3fnmpol "Just use your noggin next time.{w=0.75}{nw}" + extend 3fcspol " I {i}know{/i} there's one on your shoulders somewhere." + n 3fsrunl "...Just don't start trying to prove me wrong on that.{w=0.75}{nw}" + extend 4ksqpol " Please?" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): n 1tnmpueqm "...Huh?{w=1}{nw}" - extend 1nnmsl " Oh,{w=0.3} right.{w=0.75}{nw}" - extend 1fslbol " The whole name thing." + extend 4nnmsl " Oh,{w=0.3} right.{w=0.75}{nw}" + extend 4fslbol " The whole name thing." n 1ncspuesi "..." - n 1fsqca "...That was still a jerkish thing to do,{w=0.5}{nw}" - extend 1fslca " you know." - n 1fcsemlsbl "You're just lucky I don't keep pointless grudges forever." - extend 1fcsca " I'm a bigger person than that." + n 2fsqca "...That was still a jerkish thing to do,{w=0.5}{nw}" + extend 2fslca " you know." + n 2fcsemlsbl "You're just lucky I don't keep pointless grudges forever." + extend 4fcsca " I'm a bigger person than that." n 1nllaj "So...{w=1}{nw}" extend 1nnmsl " you're forgiven.{w=0.75}{nw}" - extend 1nsrbo " I guess." - n 1fnmcal "Just think about what you come out with.{w=0.5}{nw}" - extend 1ksrcalsbr " It really isn't hard,{w=0.1} is it?" + extend 3nsrbo " I guess." + n 3fnmcal "Just think about what you come out with.{w=0.5}{nw}" + extend 3ksrcalsbr " It really isn't hard,{w=0.2} is it?" + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fcsan "...You are just unbelievable,{w=0.1} [player]." - n 1fsqfu "Did it {i}seriously{/i} take you this long to admit you were wrong to say that?" + n 2fcsan "...You are just unbelievable,{w=0.2} [player]." + n 4fsqfu "Did it {i}seriously{/i} take you this long to admit you were wrong to say that?" n 1flrem "Like,{w=0.5}{nw}" - extend 1fnmsc " are you {i}trying{/i} to be funny?" - n 1fsqup "...Or are you really just {b}that{/b} arrogant?" + extend 2fnmsc " are you {i}trying{/i} to be funny?" + n 2fsqup "...Or are you really just {b}that{/b} arrogant?" n 1fcsan "..." - n 1fsqanean "...You know what?{w=0.5}{nw}" - extend 1fcsfuean " Fine.{w=1}{nw}" - extend 1fllwr " Who cares?{w=0.75}{nw}" - extend 1fsqfultsb " You clearly don't." - n 1fcsfrtsa "I'll accept your half-baked {i}attempt{/i} at an apology." - n 1fsqfutsb "But only because it's less effort than getting angry about it." + n 4fsqanean "...You know what?{w=0.5}{nw}" + extend 4fcsfuean " Fine.{w=1}{nw}" + extend 2fllwr " Who cares?{w=0.75}{nw}" + extend 2fsqfultsb " You clearly don't." + n 2fcsfrtsa "I'll accept your half-baked {i}attempt{/i} at an apology." + n 2fsqfutsb "But only because it's less effort than getting angry about it." else: n 1fsquntdr "Heh.{w=0.75}{nw}" - extend 1fsqantsb " {i}Now{/i} you apologize,{w=0.1} huh?" + extend 1fsqantsb " {i}Now{/i} you apologize,{w=0.2} huh?" n 1fnmanltsfean "After all this time?" n 1fcsanltsd "..." n 1fcsfultsa "You know what?{w=1}{nw}" @@ -619,50 +839,52 @@ label apology_bad_player_name: # The player has been barred from nicknaming Natsuki, and even an apology won't change that if Natsuki.isEnamored(higher=True): n 1nllsl "..." - n 1knmsl "[player]." - n 1knmaj "...Exactly how many times did I warn you?" - n 1fnmem "How many times did I {i}forgive{/i} you?{w=1}{nw}" - extend 1fcsemean " Because I honestly lost count." + n 4knmsl "[player]." + n 4knmaj "...Exactly how many times did I warn you?" + n 2fnmem "How many times did I {i}forgive{/i} you?{w=1}{nw}" + extend 2fcsemean " Because I honestly lost count." n 1kcsfresi "..." - n 1nsqsr "Sorry,{w=0.1} [player].{w=0.5}{nw}" - extend 1flltr " Every joke runs its course." - n 1fsqunl "And I am {i}not{/i} going to be the butt of this one again." - n 1fcsajl "So." - n 1fllcal "Fine.{w=0.5} I'll accept your apology..." - n 1fsqcalesi "...And you're going to accept the consequences." - n 1fcstrl "Sorry,{w=0.3} [player]." - extend 1fsqbol " But we're done with names here." + n 3nsqsr "Sorry,{w=0.2} [player].{w=0.5}{nw}" + extend 3flltr " Every joke runs its course." + n 4fsqunl "And I am {i}not{/i} going to be the butt of this one again." + n 4fcsajl "So." + n 4fllcal "Fine.{w=0.5} I'll accept your apology..." + n 3fsqcalesi "...And you're going to accept the consequences." + n 3fcstrl "Sorry,{w=0.3} [player]." + extend 3fsqbol " But we're done with names here." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isNormal(higher=True): - n 1fcsemesi "...You've got to be kidding me,{w=0.5} right?" - n 1fllaj "You were a jerk so many times to me about that..." - n 1fsqan "...And you leave it this long to even {i}apologize{/i}?" - n 1fcsemesi "..." - n 1fsqtr "You're just lucky I'm not one for holding dumb grudges." - n 1fcsaj "So,{w=0.3} [player]." - n 1fslpo "I guess I'll accept the apology." - n 1fnmfr "...But you can {i}forget{/i} about me accepting any more of your nicknames." - n 1fsqtr "I'm done being messed around." + n 4fcsemesi "...You've got to be kidding me,{w=0.5} right?" + n 2fllaj "You were a jerk so many times to me about that..." + n 2fsqan "...And you leave it this long to even {i}apologize{/i}?" + n 2fcsemesi "..." + n 4fsqtr "You're just lucky I'm not one for holding dumb grudges." + n 3fcsaj "So,{w=0.3} [player]." + n 3fslpo "I guess I'll accept the apology." + n 4fnmfr "...But you can {i}forget{/i} about me accepting any more of your nicknames." + n 2fsqtr "I'm done being messed around." + $ Natsuki.calculatedAffinityGain() elif Natsuki.isDistressed(higher=True): - n 1fcsan "{i}Wow{/i}.{w=1}{nw}" - extend 1fcsfu " I would say I'm speechless,{w=0.3} if it were literally {i}anyone{/i} else." - n 1fsqfuean "But {i}you{/i}?" - n 1fcsem "I've about come to {i}expect{/i} this sort of crap from you." - n 1fsqwrean "So you know what?{w=0.75}{nw}" - extend 1fcssclean " Screw this,{w=0.75}{nw}" - extend 1fskscltsc " and screw your apology!" + n 2fcsan "{i}Wow{/i}.{w=1}{nw}" + extend 2fcsfu " I would say I'm speechless,{w=0.3} if it were literally {i}anyone{/i} else." + n 4fsqfuean "But {i}you{/i}?" + n 2fcsem "I've about come to {i}expect{/i} this sort of crap from you." + n 2fsqwrean "So you know what?{w=0.75}{nw}" + extend 4fcssclean " Screw this,{w=0.75}{nw}" + extend 3fskscltsc " and screw your apology!" n 1fcsscltsa "If {i}you{/i} aren't gonna listen,{w=0.5}{nw}" - extend 1fllscltsc " then you can tell me why I {b}should{/b}!" + extend 2fllscltsc " then you can tell me why I {b}should{/b}!" else: n 1fcsfultdrean "Oh,{w=1}{nw}" - extend 1fcsscltsaean " take a hike,{w=0.5}{nw}" - extend 1fsqscltsbean " [player]!" - n 1fcswrltsd "You {i}need{/i} a walk if you {i}seriously{/i} think after all of your crap,{w=0.75}{nw}" - extend 1fskwrftdcean " I'm gonna be the one listening to {b}you{/b}!" + extend 4fcsscltsaean " take a hike,{w=0.5}{nw}" + extend 4fsqscltsbean " [player]!" + n 2fcswrltsd "You {i}need{/i} a walk if you {i}seriously{/i} think after all of your crap,{w=0.75}{nw}" + extend 4fskwrftdcean " I'm gonna be the one listening to {b}you{/b}!" $ Natsuki.removeApology(jn_apologies.ApologyTypes.bad_player_name) return diff --git a/game/script-ch30.rpy b/game/script-ch30.rpy index a6e9323e..4922b5f0 100644 --- a/game/script-ch30.rpy +++ b/game/script-ch30.rpy @@ -19,7 +19,7 @@ label ch30_autoload: label ch30_visual_setup: # Hide everything so we can set up behind the scenes - show black zorder 99 + show black zorder JN_BLACK_ZORDER # Draw background $ main_background.show() @@ -43,6 +43,9 @@ label ch30_init: persistent._jn_version = config.version jn_utils.log("Current persisted version post-mig check: {0}".format(store.persistent._jn_version)) + if store.persistent._jn_pic: + renpy.jump("greeting_pic") + # NATSUKI SETUP # Assign Natsuki and player nicknames @@ -74,11 +77,14 @@ label ch30_init: persistent._jn_player_tt_state += 1 # Determine if the player should get a prolonged leave greeting - elif (datetime.datetime.now() - persistent.jn_last_visited_date).total_seconds() / 604800 >= 2: + elif ( + not persistent._jn_player_extended_leave_response + and (datetime.datetime.now() - persistent.jn_last_visited_date).total_seconds() / 604800 >= 2 + ): Natsuki.setQuitApology(jn_apologies.ApologyTypes.prolonged_leave) # Repeat visits have a small affinity gain - elif not persistent._jn_player_apology_type_on_quit: + elif not persistent._jn_player_apology_type_on_quit and datetime.date.today().day != persistent.jn_last_visited_date.day: Natsuki.calculatedAffinityGain() # If we have decorations from the last holiday, and the day hasn't changed, then we should put them back up @@ -88,7 +94,7 @@ label ch30_init: and not tt_in_session ): for deco in persistent._jn_holiday_deco_list_on_quit: - renpy.show(name="deco {0}".format(deco), zorder=jn_events.JN_EVENT_DECO_ZORDER) + renpy.show(name="deco {0}".format(deco), zorder=store.JN_DECO_ZORDER) else: persistent._jn_holiday_deco_list_on_quit = [] @@ -665,7 +671,7 @@ label extras_menu: label try_force_quit: # Goodnight - if persistent._jn_player_tt_state >= 2: + if persistent._jn_player_tt_state >= 2 or persistent._jn_pic: $ renpy.jump("quit") # Decision making that overrides the default Ren'Py quit behaviour @@ -684,28 +690,28 @@ label try_force_quit: else: # Standard quit behaviour if Natsuki.isAffectionate(higher=True): - n 1kplpo "W-{w=0.1}wait,{w=0.1} what?{w=0.2} Aren't you going to say goodbye first,{w=0.1} [player]?" + n 2kplpo "W-{w=0.1}wait,{w=0.1} what?{w=0.2} Aren't you going to say goodbye first,{w=0.1} [player]?" elif Natsuki.isNormal(higher=True): - n 1kskem "H-{w=0.1}hey!{w=0.2} You aren't just going to leave like that,{w=0.1} are you?" + n 4kskem "H-{w=0.1}hey!{w=0.2} You aren't just going to leave like that,{w=0.1} are you?" elif Natsuki.isDistressed(higher=True): - n 1fsqpu "...Really?{w=0.2} I don't even get a 'goodbye' now?" + n 2fsqpu "...Really?{w=0.2} I don't even get a 'goodbye' now?" else: - n 1fsqsf "...Oh.{w=0.2} You're leaving." + n 2fsqsf "...Oh.{w=0.2} You're leaving." menu: # Back out of quitting "Nevermind.": if Natsuki.isAffectionate(higher=True): - n 1kllssl "T-{w=0.1}thanks,{w=0.1} [player].{w=1}{nw}" + n 4kllssl "T-{w=0.1}thanks,{w=0.1} [player].{w=1}{nw}" n 1tllss "Now,{w=0.1} where was I...?{w=1}{nw}" extend 1unmbo " Oh,{w=0.1} right.{w=1}{nw}" elif Natsuki.isNormal(higher=True): - n 1flleml "G-{w=0.1}good!{w=1}{nw}" - extend 1kllpol " Good...{w=1}{nw}" + n 2flleml "G-{w=0.1}good!{w=1}{nw}" + extend 2kllpol " Good...{w=1}{nw}" n 1tslpu "Now...{w=0.3} what was I saying again?{w=0.5}{nw}" extend 1nnmbo " Oh,{w=0.1} right.{w=1}{nw}" @@ -715,7 +721,7 @@ label try_force_quit: else: n 1fcsfr "Whatever.{w=1}{nw}" - n 1fsqsl "{cps=\7.5}As I was saying.{/cps}{w=1}{nw}" + n 2fsqsl "{cps=\7.5}As I was saying.{/cps}{w=1}{nw}" return @@ -723,23 +729,23 @@ label try_force_quit: "...": hide screen hkb_overlay if Natsuki.isAffectionate(higher=True): - n 1kwmem "Come on,{w=0.2} [player]...{w=1}{nw}" + n 4kwmem "Come on,{w=0.2} [player]...{w=1}{nw}" play audio glitch_c stop music - n 1kcsup "...!{nw}" + n 2kcsup "...!{nw}" elif Natsuki.isNormal(higher=True): - n 1fwmun "...Really,{w=0.2} [player]?{w=1}{nw}" + n 4fwmun "...Really,{w=0.2} [player]?{w=1}{nw}" play audio glitch_c stop music - n 1kcsfu "Hnnng-!{nw}" + n 2kcsfu "Hnnng-!{nw}" elif Natsuki.isDistressed(higher=True): - n 1fslun "Don't let the door hit you on the way out.{w=1}{nw}" - extend 1fsqem " Jerk.{w=1}{nw}" + n 2fslun "Don't let the door hit you on the way out.{w=1}{nw}" + extend 2fsqem " Jerk.{w=1}{nw}" play audio glitch_c stop music - n 1fcsan "Nnngg-!{nw}" + n 2fcsan "Nnngg-!{nw}" else: n 1fslun "Heh.{w=1}{nw}" @@ -750,11 +756,11 @@ label try_force_quit: if (random.randint(0, 10) == 1): play sound glitch_d loop - show glitch_garbled_red zorder 99 with vpunch + show glitch_garbled_red zorder JN_GLITCH_ZORDER with vpunch $ jnPause(random.randint(4,13), hard=True) stop sound play audio glitch_e - show glitch_garbled_n zorder 99 with hpunch + show glitch_garbled_n zorder JN_GLITCH_ZORDER with hpunch $ jnPause(0.025, hard=True) hide glitch_garbled_n hide glitch_garbled_red @@ -766,6 +772,6 @@ label try_force_quit: Natsuki.setQuitApology(jn_apologies.ApologyTypes.sudden_leave) play audio static - show glitch_garbled_b zorder 99 with hpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_b $ renpy.jump("quit") diff --git a/game/script-compliments.rpy b/game/script-compliments.rpy index dfed6ecc..962e320e 100644 --- a/game/script-compliments.rpy +++ b/game/script-compliments.rpy @@ -1,20 +1,24 @@ default persistent._compliment_database = dict() init 0 python in jn_compliments: + from Enum import Enum import random import store COMPLIMENT_MAP = dict() - # Compliment types - TYPE_AMAZING = 0 - TYPE_BEAUTIFUL = 1 - TYPE_CONFIDENT = 2 - TYPE_CUTE = 3 - TYPE_HILARIOUS = 4 - TYPE_INSPIRATIONAL = 5 - TYPE_STYLE = 6 - TYPE_THOUGHTFUL = 7 + class JNComplimentTypes(Enum): + """ + Identifiers for different compliment types. + """ + amazing = 1 + beautiful = 2 + confident = 3 + cute = 4 + hilarious = 5 + inspirational = 6 + style = 7 + thoughtful = 8 # The last compliment the player gave to Natsuki last_compliment_type = None @@ -55,7 +59,7 @@ init 5 python: prompt="I think you're amazing!", label="compliment_amazing", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -63,42 +67,76 @@ init 5 python: label compliment_amazing: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_amazing").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_AMAZING: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.amazing: if Natsuki.isEnamored(higher=True): - n 1uskemf "[player]...{w=0.3} honestly!{w=0.2} Jeez..." - n 1kllssl "But...{w=0.3} thanks.{w=0.2} It really means a lot to me." - n 1fchbgl "You're amazing too,{w=0.1} though.{w=0.2} Remember that!" + $ player_initial = jn_utils.getPlayerInitial() + n 4uskemfesh "[player_initial]-{w=0.2}[player]!{w=0.75}{nw}" + extend 1fcsemfsbr " Honestly!{w=0.75}{nw}" + extend 4kwmemfsbr " Again?!{w=1}{nw}" + extend 4kslpofsbr " Jeez..." + n 2nslsllsbr "..." + n 2nslpulsbr "But...{w=0.75}{nw}" + extend 1ksqcalsbr " thanks.{w=0.5} It really...{w=0.75}{nw}" + extend 4ksrcalsbr " means a lot to me." + n 4ksqajlsbr "...And [player]?" + n 1kslbolsbr "..." + n 2fcstrl "...You're pretty amazing too." + n 2fcspol "A-{w=0.2}and you better remember that." + + if Natsuki.isLove(higher=True): + n 2kchssleaf "L-{w=0.2}love you,{w=0.2} [player]!" else: - n 1kchbgl "Jeez,{w=0.1} [player]...{w=0.3} you're really doling out the compliments today,{w=0.2} aren't you?" - n 1kllbgl "Don't get me wrong{w=0.1} -{w=0.1} I'm not complaining!" - n 1ksqsm "Make sure you don't leave yourself out though,{w=0.1} 'kay?" - n 1kchsml "Ehehe." + n 1nslsslsbr "Jeez,{w=0.2} [player]...{w=0.5}{nw}" + extend 1klrbolsbr " you...{w=0.5} really are doling out the compliments today,{w=0.5}{nw}" + extend 4ksrsslsbr " huh?" + n 2fcsajl "D-{w=0.2}don't get me wrong though!{w=0.5}{nw}" + extend 2fcsbglsbl " I'm not complaining!" + extend 2fcssmlsbl " I-{w=0.2}it's good to know we {i}both{/i} agree!" + extend 4nslsslsbr " Just..." + n 1ksqbolsbr "Make sure you don't leave yourself out though,{w=0.2} 'kay?" + n 4kllsslsbr "You're {i}almost{/i} as amazing,{w=0.2} a-{w=0.2}after all." + n 3fsqdvlsbr "...{i}Almost{/i}." + extend 3fchbllsbr " Ehehe." else: if Natsuki.isEnamored(higher=True): - n 1kwmpul "Y{w=0.1}-you really think so,{w=0.1} [player]?" - n 1kllsrl "..." - n 1fcssrl "I-{w=0.1}I don't like to admit it,{w=0.1} you know." - n 1klrssl "But...{w=0.3} that means...{w=0.3} a lot to me,{w=0.1} [player]." + n 1kwmpul "...Y{w=0.2}-you really think so,{w=0.5}{nw}" + extend 1kllpul " [player]?" + n 4kllsrl "..." + n 1ncsssl "Heh." + n 2fslpolsbl "It's always super embarrassing to say it,{w=0.2} you know." + n 2kslbol "..." + n 2ncspul "But...{w=0.75}{nw}" + extend 2kwmbol " thanks." + n 4fcsajlsbr "It means...{w=0.75}{nw}" + extend 1ksrsllsbr " a lot to me,{w=0.5} [player]." + n 1ksqsllsbr "Really.{w=0.75}{nw}" + extend 4ksqbol " Thank you.{w=0.75}{nw}" + extend 4kcspul " You're honestly...{w=1}{nw}" $ chosen_descriptor = jn_utils.getRandomDescriptor() - n 1kwmnvl "Really.{w=0.2} Thank you.{w=0.2} You're honestly [chosen_descriptor]." - n 1klrnvl "..." + extend 1ksrcal " [chosen_descriptor],{w=0.3} [player]." + n 1ksrfsl "..." if Natsuki.isLove(higher=True): - n 1kwmsmf "Love you,{w=0.1} [player]..." + n 4kchssf "L-{w=0.2}love you." else: - n 1flrbsl "O-{w=0.1}oh!{w=0.2} Aha!{w=0.2} I knew you'd admit it eventually!" - n 1nchgnl "W-{w=0.1}well,{w=0.1} I'm just glad both of us agree on that." - n 1flrbgl "Thanks,{w=0.1} [player]!" + n 1uskgslesh "O-{w=0.2}oh!{w=0.5}{nw}" + extend 4fllbglesssbr " A-{w=0.2}aha!{w=0.5}{nw}" + extend 2fcsbglsbr " Well,{w=0.2} I knew you'd {i}have{/i} to admit it {i}eventually{/i}!" + n 2fcssmlsbl "I'm just glad to hear {i}both{/i} of us agree on that.{w=0.75}{nw}" + extend 1fsldvlsbl " Ehehe." if Natsuki.isAffectionate(higher=True): - n 1fwmpul "But...{w=0.3} don't think that means you don't have something going for you too!" - n 1fllssl "You're...{w=0.3} pretty awesome too,{w=0.1} [player].{w=0.2} You better remember that,{w=0.1} 'kay?" - n 1klrbgl "Ahaha..." + n 3fcsssl "J-{w=0.2}just remember though,{w=0.2} [player]..." + n 3fchbll "You're at {i}least{/i} second best!" + + else: + $ chosen_tease = jn_utils.getRandomTease() + n 3fchgnlsbr "Thanks,{w=0.2} [chosen_tease]!" - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_AMAZING + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.amazing return init 5 python: @@ -108,7 +146,7 @@ init 5 python: prompt="I think you're beautiful!", label="compliment_beautiful", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -116,60 +154,110 @@ init 5 python: label compliment_beautiful: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_beautiful").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_BEAUTIFUL: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.beautiful: if Natsuki.isEnamored(higher=True): - n 1uskwrf "J-{w=0.1}jeez,{w=0.1} [player]...!" - n 1fcsanf "Uuuuuu-!" - n 1fbkwrf "Are you trying to put me on the spot or what?!{w=0.2} You already told me thaaat!" - n 1flrpof "..." - n 1klrpol "..." - n 1klrpul "...I-I'll take it,{w=0.1} though." - n 1fllsll "The compliment,{w=0.1} I mean." + $ player_initial = jn_utils.getPlayerInitial() + n 1fcsanlesssbl "Uuuuuu-!" + n 4kwdgslesssbl "[player_initial]-{w=0.2}[player]!{w=0.75}{nw}" + extend 1kbkwrless " You already told me thaaaaat!" + n 4ksqemlsbr "You really gotta do it {i}again{/i}?!" + n 2ksrbolsbr "..." + n 2ncsemlesisbr "..." + n 1ncsbolsbr "...Fine.{w=0.75}{nw}" + extend 4kslbolsbl " I'll take it." + n 2fcscalsbl "The compliment,{w=0.2} I mean.{w=0.75}{nw}" + extend 2fcstrlsbl " Just..." $ chosen_tease = jn_utils.getRandomTease() - n 1kllssl "T-{w=0.1}thanks again,{w=0.1} [chosen_tease]." + n 1ksrcal "..." + n 4ncsssl "...Heh.{w=1}{nw}" + extend 4nslfsl " Nevermind." + + if Natsuki.isLove(higher=True): + n 2kslbol "T-{w=0.2}thanks again,{w=0.2} [chosen_tease]." + n 1kslfsfeaf "...Y-{w=0.2}you always make me feel prettier." + + else: + n 2kslbol "T-{w=0.2}thanks again,{w=0.2} [chosen_tease]." + n 1kslcaf "..." else: - n 1fskwrf "E-{w=0.1}excuse me?!" - n 1fbkwrf "[player]!{w=0.2} What did I tell you?!" + n 4fskgslesh "E-{w=0.2}excuse me?!" + n 1fwmgslsbl "[player]!{w=0.5}{nw}" + extend 4fbkwrlsbl " What did {i}literally{/i} just I tell you?!" $ chosen_tease = jn_utils.getRandomTease() - n 1fcsanf "Seriously...{w=0.3} are you trying to give me a heart attack or something,{w=0.1} [chosen_tease]?!" - n 1fllpof "..." + n 1fcsgsl "Are you {i}trying{/i} to give me a heart attack or something?!{w=0.75}{nw}" + extend 2fsleml " Sheesh..." + n 2fslpol "..." + n 4fcsajl "I-{w=0.2}I mean,{w=0.75}{nw}" + extend 3fcspol " I know I already look great!{w=1}{nw}" + extend 3fsrdvlsbl " I {i}always{/i} look top-{w=0.2}notch, o-{w=0.2}of course." + n 2fcsemlsbl "But you {i}really{/i} don't have to..." + n 2fslunlsbl "T-{w=0.2}to keep...!" + n 1fcsunlsbl "..." + n 4fcsemlsbr "Oh,{w=0.5}{nw}" + extend 2flrbolsbr " forget it!" if Natsuki.isAffectionate(higher=True): - n 1fcspuf "Just...{w=0.3} save it until I can be sure you really mean it,{w=0.1} alright?" - n 1kllpol "Jeez..." + n 2fcscalsbr "You know what I mean,{w=0.2} a-{w=0.2}anyway..." + + n 2ksrbolsbr "..." else: if Natsuki.isEnamored(higher=True): - n 1uskpuf "H-{w=0.1}huh?!" - n 1uskajf "Wait..." - n 1uskpuf "Y-{w=0.1}you really think I'm..." - n 1uscunf "I-{w=0.3}I'm..." - n 1fcsunf "..." - n 1fnmunf "[player]..." - n 1knmpuf "You know you're not meant to just say things like that..." - n 1kllpuf "Unless you really mean it?" - n 1kcsunf "..." - n 1klrssf "...I...{w=0.3} believe you,{w=0.1} though.{w=0.2} Just don't make me regret saying that,{w=0.1} okay?" - n 1klrbgl "T-{w=0.1}thanks,{w=0.1} [player]." + n 4uskemlesh "H-{w=0.2}huh?!" + n 1fcseml "Wait..." + n 1kllemlsbl "Y-{w=0.2}you really think I'm..." + n 1fslunfsbl "I-{w=0.3}I'm..." + n 4fcsunfesssbr "..." + n 2kcsbolsbr "..." + n 2ksqbolsbr "[player]..." + n 1kllbolsbr "You {w=0.2}{i}do{/i}{w=0.2} know you're not meant to just say things like that..." + n 4kwmslfsbl "Unless you really mean them?" if Natsuki.isLove(higher=True): - n 1kwmsmf "...I love you,{w=0.1} [player]...{w=0.3} Ahaha..." + n 1knmajlsbl "I-{w=0.2}it's not that I don't believe you!{w=1}{nw}" + extend 2klrsslsbl " O-{w=0.2}of course not!" + n 4ksrbolsbl "...You should know that by now." + n 2ksrpulsbl "But..." + n 4ksrsll "..." + n 1ksrfsl "...Thanks,{w=0.2} [player].{w=1}{nw}" + extend 1ksrssl " Really{w=0.2}, heh." + n 4ksqfsl "Thank you." + n 3fcssmless "...Just don't forget {i}who{/i} helps me feel that way.{w=0.75}{nw}" + extend 3fsqbll " You goof." + n 4fchsmleaf "Ehehe." - else: - n 1uscemf "W{w=0.1}-w{w=0.1}-what?" - n 1fskwrf "W-{w=0.1}what did you say?!" - n 1fcsanf "Nnnnnnnnnn-!" - n 1fbkwrf "Y-{w=0.1}you can't just say things like that so suddenly,{w=0.1} you dummy!" - n 1fllemf "Sheesh..." - - if Natsuki.isAffectionate(higher=True): - n 1kllunl "..." - n 1flrajl "I mean,{w=0.1} I'm flattered,{w=0.1} but..." - n 1fcsanl "Uuuuuu...{w=0.3} just stop it for now,{w=0.1} okay?" - n 1fllpof "You're making this all super awkward..." + else: + n 1kslcafsbl "..." + n 2fcstrlesssbr "I-{w=0.2}I mean...!" + n 2nsrsllsbr "...{w=0.75}{nw}" + extend 2ksrbolsbr "Really." + n 2ksrfslsbr "T-{w=0.2}thanks, [player]." - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_BEAUTIFUL + else: + n 1uskemlesh "W{w=0.2}-w{w=0.2}-what?" + n 1fskeml "W-{w=0.2}what did you say?!" + n 4fcsanfsbr "Nnnnnnnnnn-!" + n 4fbkwrfsbr "Y-{w=0.2}you can't just {i}say{/i} things like that so suddenly!" + n 2fllemlsbl "Sheesh...{w=0.75}{nw}" + extend 2fslpolsbl " come on,{w=0.2} [player]..." + n 1fcsbolsbr "..." + n 1fcsemlsbr "I-{w=0.2}I mean,{w=0.75}{nw}" + extend 3fsrbglsbr " I'm glad we both agree,{w=0.75}{nw}" + extend 4fsrunlsbr " but..." + n 1fcsunlesssbl "Uuuuuu...!" + n 1fcsemlsbl "Just..." + n 1kslcal "..." + n 2ksqsllsbr "...Think a little before you just blurt stuff out like that.{w=0.75}{nw}" + extend 2fsrsllsbr " I-{w=0.2}it just makes everything all awkward." + n 1fsrsslsbr "...Heh.{w=0.75}{nw}" + extend 4fcsajlsbr " A-{w=0.2}and besides,{w=0.75}{nw}" + n 3fcsbglsbl " I {i}always{/i} look stunning anyway!{w=0.75}{nw}" + extend 3nslsslsbl " So...{w=0.5}{nw}" + extend 3nslbol " yeah." + n 3kslsllsbr "..." + + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.beautiful return init 5 python: @@ -179,7 +267,7 @@ init 5 python: prompt="I love how confident you are!", label="compliment_confident", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -187,36 +275,53 @@ init 5 python: label compliment_confident: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_confident").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_CONFIDENT: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.confident: + n 1fcssmleme "Ehehe.{w=0.5}{nw}" + extend 2fcsbg " Well,{w=0.2} I'm glad you still agree,{w=0.2} [player]!" + n 2fllsm "Besides,{w=0.5}{nw}" + extend 2fcssm " it's only natural." + if Natsuki.isEnamored(higher=True): - n 1fchbg "Ehehe.{w=0.2} I'm glad you still think so,{w=0.1} [player]!" - n 1uchsm "That's what it means to be a pro,{w=0.1} right?" - n 1kllss "Ahaha..." + n 4nslssl "E-{w=0.2}especially with you around," + $ chosen_tease = jn_utils.getRandomTease() + extend 3fchbll " [chosen_tease]." else: - n 1fchbg "Ahaha.{w=0.2} I'm glad you still think so, [player]!" - n 1uchsm "I try my best,{w=0.1} after all." - + n 2fcsbgedz "Brimming with confidence,{w=0.5}{nw}" + extend 2flrbs " always unfazed..." + n 3uchgnl "...That's just what it means to be a pro,{w=0.2} right?" + else: - if Natsuki.isEnamored(higher=True): - n 1fchbg "Ehehe.{w=0.2} I just radiate confidence,{w=0.1} don't I?" - n 1kllss "..." - n 1kllsl "Well...{w=0.3} to tell you the truth,{w=0.1} [player]." - n 1fcssr "I...{w=0.3} really...{w=0.3} wish I could say it was {i}all{/i} genuine." - n 1kllsr "But having you here with me...{w=0.3} it helps,{w=0.1} you know.{w=0.2} A lot." - n 1klrss "So...{w=0.3} thanks,{w=0.1} [player].{w=0.2} Really." + n 4fsqct "Oho?{w=1}{nw}" + extend 3fsqcs " You do,{w=0.2} do you?" + n 3fchgn "Now that's {i}just{/i} what I like to hear!" + n 4fcsbg "After all,{w=0.5}{nw}" + extend 2fcssmeme " don't I just {i}radiate{/i} confidence?" + n 4tsqbg "Come on,{w=0.2} [player]!{w=0.75}{nw}" + extend 4fchgn " No need to be shy!{w=0.5}{nw}" + extend 4fsqbg " You {i}gotta{/i} tell me!" + n 3fllct "Is it the eyes?" + n 3fcsbg "The smile?" + n 3usqsm "The {i}killer{/i} personality?" + n 4fchsmedz "Ehehe." + n 2fcsss "Well,{w=0.2} whatever it is..." + + if Natsuki.isLove(higher=True): + n 4nsrsmsbl "..." + n 4fcssmlsbl "I-{w=0.2}I hope I inspire you just as much as you inspire me.{w=0.75}{nw}" + extend 4fchdvlsbl " Ehehe." + n 1fchbgleafsbr "L-{w=0.2}love you,{w=0.2} [player]!" + + elif Natsuki.isEnamored(higher=True): + n 2fcsbg "I hope I inspire some confidence in you too!" + n 2fslbglsbr "N-{w=0.2}not that you need it {i}too{/i} much,{w=0.2} a-{w=0.2}anyway." + n 2fchbglsbr "Y-{w=0.2}you're welcome,{w=0.2} [player]!" else: - n 1uskajl "H-{w=0.1}huh?" - n 1fchbgl "O-{w=0.1}oh!{w=0.2} Well of course you do!" - n 1fcsbgl "I have a lot to be confident about,{w=0.1} after all!" - n 1flrssl "Wouldn't you agree?" - - if Natsuki.isEnamored(higher=True): - n 1uchgnl "Oh,{w=0.1} who am I kidding.{w=0.2} Of course you do." - n 1uchbslelg "Ahaha!" + n 2fchgnl "I better inspire some confidence in you too!" + n 2fwlsm "You're welcome,{w=0.2} [player]!" - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_CONFIDENT + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.confident return init 5 python: @@ -226,7 +331,7 @@ init 5 python: prompt="I think you're cute!", label="compliment_cute", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -234,63 +339,111 @@ init 5 python: label compliment_cute: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_cute").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_CUTE: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.cute: if Natsuki.isEnamored(higher=True): - n 1fskwrl "..." - n 1fcsanl "..." - n 1fcsful "..." - n 1fcsfuf "Urgh!" - n 1fbkwrf "Alright,{w=0.1} fine!{w=0.2} Fine!{w=0.2} You win,{w=0.1} okay?!" - n 1fcsemf "I'm kinda...{w=0.3} maybe...{w=0.3} sorta...{w=0.3} somehow..." - n 1fsqemf "In an abstract way..." + n 1fskwrleshsbr "..." + n 4fcsanlsbr "..." + n 4fcsfulsbl "..." + n 1fcsfufsbl "Urgh!" + n 4fcsgsf "Alright,{w=0.5}{nw}" + extend 1fcsemfsbl " fine!{w=0.5}{nw}" + extend 2fcswrfsbl " Fine!{w=0.5}{nw}" + extend 2fbkwrfsbl " You win,{w=0.2} okay?!" + n 2fcsunfesi "..." + n 2fcsemf "I'm kinda...{w=0.5} maybe...{w=0.75}{nw}" + extend 1fslemf " sorta..." + n 1fcsgsf "Somehow..." + n 4fsqemf "In some {i}abstract{/i} way..." + n 1fsrsrf "..." n 1fsqpuf "...{w=0.3}'cute.'" - n 1fsqslf "..." - n 1fcsemf "There.{w=0.3} I said it, [player].{w=0.3} I said it.{w=0.3} {i}Hooray{/i} for you." - n 1fsqpof "Are we done?{w=0.3} Are you happy?{w=0.3} Are you {i}pleased{/i} with yourself now?" + n 2fsqslf "..." + n 2fcsemf "There.{w=0.75}{nw}" + extend 2fcsgsf " I said it,{w=0.2} [player].{w=0.75}{nw}" + extend 2fcspof " I said it.{w=0.75}{nw}" + extend 2fllpof " {i}Hooray{/i} for you." + n 1fsqpof "Are we done?{w=0.75}{nw}" + extend 4fnmpof " Are you happy?{w=0.75}{nw}" + extend 2fcsgsf " Are you {i}pleased{/i} with yourself now?" n 1flrpof "Jeez..." - n 1fnmpof "I swear,{w=0.1} you're such a goofball sometimes..." + n 2fsqpof "I swear,{w=0.2} you're such a goofball sometimes..." if Natsuki.isLove(higher=True): - n 1fcsbgf "Besides,{w=0.1} I'm not even the cutest here,{w=0.1} a-{w=0.1}anyhow..." + n 1fcspol "A-{w=0.2}and besides,{w=0.2} [player]." + n 3fcsajl "All this talk about {i}cuteness{/i}?{w=0.75}{nw}" + extend 3flrcal " Being {i}adorable{/i}?" + n 1fsqssl "...Heh." + n 2fcssslsbl "S-{w=0.2}sounds like some pretty bad projection,{w=0.5}{nw}" + extend 4fcsbglsbl " i-{w=0.2}if you ask me." + n 3fsqcsl "..." + n 3fsqbgl "...Am I right,{w=0.5} {i}[player]{/i}?" + n 3fsqsmlsbr "Ehehe." $ chosen_tease = jn_utils.getRandomTease() - n 1fcssmf "I guess I'll let you figure out the rest,{w=0.1} [chosen_tease].{w=0.2} Ehehe." + n 3fchbllsbr "L-{w=0.2}love you too,{w=0.2} [chosen_tease]~!" + + else: + n 1fcsajl "Just...{w=1}{nw}" + extend 2fsrcal " don't let this get to your head." + n 2fsqajlsbl "...Or you're gonna find out exactly how {w=0.4}{i}not{/i}{w=0.4} cute{w=0.4} I can be too." + n 4fsqfsl "Ehehe." else: - n 1fcsanf "Nnnnnnn-!" - n 1fcsfuf "How many times do I have to say this,{w=0.1} [player]?!" - n 1fbkwrf "{i}I'm not cute!!{/i}" + n 1fcsanfsbl "Nnnnnnn-!" + n 4fcsgsf "H-{w=0.2}how many times do I have to explain this?!" + extend 4fllemf " Do I really have to spell it out for you too,{w=0.2} [player]?!" + n 4fcsanf "For the {i}last time{/i}..." + n 1fbkwrfsbl "{i}I'M{w=0.3} NOT{w=0.3} CUTE!!{/i}" n 1flremf "Jeez..." - n 1fsqemf "Now I {i}know{/i} you just wanted me to say that,{w=0.1} didn't you?" - n 1flrpof "Really now...{w=0.3} you're such a jerk sometimes,{w=0.1} [player]." + n 2fsrpol "..." + n 2fsqeml "...You just {i}wanted{/i} me to say that,{w=0.2} didn't you?" + n 4fcspolesi "Honestly...{w=0.75}{nw}" + extend 3fsqcal " you can be such a jerk sometimes,{w=0.2} [player]." if Natsuki.isAffectionate(higher=True): - n 1fsqpol "You're just lucky you're in my good books." - n 1fsqbgl "O-{w=0.1}or I wouldn't be nearly this patient.{w=0.2} Ehehe." + n 3nslcal "..." + n 1nllajl "Well..." + n 2fcspol "Just count yourself lucky you're in my good books." + n 2fsqsslsbl "O-{w=0.2}or I wouldn't be {i}nearly{/i} this patient.{w=0.75}{nw}" + extend 2fsqsmlsbl " Ehehe." + + else: + n 3nslcal "..." + n 1nllajl "Well...{w=0.75}{nw}" + extend 1nslpol " whatever." + n 2fcscal "Just be grateful that I'll hold back on the whole lecture for you." + n 2fsqssl "...This time." else: if Natsuki.isEnamored(higher=True): - n 1fsqbsl "A-{w=0.1}Aha!{w=0.2} Nope!" - n 1fcsbgl "Nice try,{w=0.1} [player]!" - n 1fchgnl "You're not gonna get me to say it that easily!{w=0.2} Ehehe." + n 1fcsbslsbr "A-{w=0.2}Aha!{w=0.5}{nw}" + extend 2fchbglsbr " Nope!" + n 2fsqfslsbr "..." + n 4fsqsmlsbr "Nice try,{w=0.2} [player]..." + n 3fcsbgl "But you're not gonna get me to say it {i}that{/i} easily!{w=0.5}{nw}" + extend 3fcssmlsbl " Ehehe." else: - n 1uskemf "W-{w=0.1}what?{w=0.2} What did you just say?!" - n 1nllemf "..." - n 1nlrpuf "..." - n 1flrbgl "I...{w=0.3} must have misheard you." - n 1fcsbgl "Y-{w=0.1}yeah.{w=0.2} Yeah!{w=0.2} I totally misheard you.{w=0.2} One hundred percent." - - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_CUTE + n 4uskemfesh "W-{w=0.2}what?" + n 4fnmemfsbl "{i}What{/i} did you just say?!" + n 1fllunfsbl "..." + n 1nsrsrfsbr "..." + n 2fsrssfsbr "I...{w=0.75}{nw}" + extend 2fsqunfsbr " must have misheard you." + n 4fcsbgl "Y-{w=0.2}yeah.{w=0.5}{nw}" + extend 3fchbgl " Yeah!{w=0.75}{nw}" + extend 3fcssslsbl " I {i}totally{/i} misheard you!{w=0.5} O-{w=0.2}one hundred percent." + n 3fslunlsbl "..." + + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.cute return init 5 python: registerTopic( Topic( persistent._compliment_database, - prompt="I love your sense of humour!", + prompt="I love your sense of humor!", label="compliment_hilarious", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -298,34 +451,64 @@ init 5 python: label compliment_hilarious: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_hilarious").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_HILARIOUS: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.hilarious: + n 4usqss "Oh...?" + n 3tsqcs "What is this?{w=0.75}{nw}" + extend 3fcsbg " An encore or something?" + n 4uchgnl "Well,{w=0.3} I'm taking it!" + n 2fsqfs "Don't you worry,{w=0.2} [player]..." + if Natsuki.isEnamored(higher=True): - n 1uchgn "Ehehe. Thanks, [player]!{w=0.2} I pride myself on that,{w=0.1} you know." - n 1fnmbg "You aren't too shabby yourself,{w=0.1} you know!" - n 1fwlts "But anyway{w=0.1} -{w=0.1} I'll keep it up,{w=0.1} juuust for you.{w=0.2} Ehehe." + n 2fchbgleme "You aren't escaping {i}our{/i} routine any time soon!{w=0.5}{nw}" + extend 4fchsml " Ehehe." + if Natsuki.isLove(higher=True): + $ chosen_tease = jn_utils.getRandomTease() + n 3fchbll "Love you too,{w=0.2} [chosen_tease]~!" + else: - n 1uchgn "Ehehe.{w=0.2} I'm glad you're still having fun listening to me,{w=0.1} [player]." - n 1fwlts "Thanks!{w=0.2} I'll keep it up!" + n 2fchsmeme "You aren't escaping {i}my{/i} routine any time soon!{w=0.5}{nw}" + extend 2nchgnl " Ahaha." else: if Natsuki.isEnamored(higher=True): - n 1unmpu "Huh?{w=0.2} You do?" - n 1nllpu "...{w=0.3}To tell you the truth,{w=0.1} [player]?" - n 1kllaj "I'm honestly...{w=0.3} really glad to hear that." - n 1kllsl "It's probably dumb,{w=0.1} but I always kinda worry about how much fun you're having here." - n 1klrsl "I...{w=0.3} don't want you to get all bored..." - n 1flrssl "That'd be super lame." - n 1kllbol "So...{w=0.3} thanks for telling me that,{w=0.1} [player].{w=0.2} Truly." - n 1klrssl "It means a lot." + n 4fcscs "Oho?{w=0.75}{nw}" + extend 3fcsbg " What's that,{w=0.2} [player]?" + n 3fchgnlelg "So you {w=0.2}{i}do{/i}{w=0.2} recognize talent when you see it!{w=0.75}{nw}" + extend 4fcssml " Ehehe..." + n 2nslfsl "..." + n 2nslbol "But...{w=0.75}{nw}" + extend 2tsqcal " seriously,{w=0.2} [player]?" + n 1ksrcal "..." + n 1klrss "I'm honestly...{w=0.75}{nw}" + extend 4nsrss " kinda glad to hear that." + n 1fcsajlsbr "I-{w=0.2}I know it's dumb.{w=0.75}{nw}" + extend 4nslbolsbr " But I always kinda worry about how much fun you're having here." + n 4nlrcalsbr "With me,{w=0.2} I mean." + n 4ksqbolsbl "I...{w=0.3} don't want you to get all bored..." + n 2fcsajlsbl "T-{w=0.2}that'd just be super lame." + n 1kllbol "So...{w=0.5}{nw}" + extend 1knmbol " thanks,{w=0.2} [player].{w=0.5}{nw}" + extend 2klrfsl " Really." + n 2nsrsslsbl "It means a lot." + + if Natsuki.isLove(higher=True): + n 4fchsmleaf "Y-{w=0.2}you always know just what to say." else: - n 1fcsbgl "O-{w=0.1}Oh?{w=0.2} Aha!{w=0.2} Well,{w=0.1} I'm glad to hear it!" - n 1fsqsm "You know what that means,{w=0.1} right?" - n 1fchgn "It means you have great taste,{w=0.1} [player]!" - n 1uchbselg "Ahaha!" + n 1fcssm "Ehehe.{w=0.75}{nw}" + extend 2fchgneme " Oh,{w=0.2} you {i}bet{/i} I got an amazing sense of humor!" + n 4ullss "But...{w=0.5}{nw}" + extend 3fcsbsl " I'm just glad we both recognize that." + + if Natsuki.isAffectionate(higher=True): + $ chosen_tease = jn_utils.getRandomTease() + n 3fchbll "Much obliged,{w=0.2} [chosen_tease]!" + + else: + n 3fchbgl "Much obliged,{w=0.2} [player]!" - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_HILARIOUS + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.hilarious return init 5 python: @@ -335,7 +518,7 @@ init 5 python: prompt="You're an inspiration to me!", label="compliment_inspirational", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -343,32 +526,41 @@ init 5 python: label compliment_inspirational: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_inspirational").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_INSPIRATIONAL: - if Natsuki.isEnamored(higher=True): - n 1fchbg "Ahaha.{w=0.2} Thanks again for that,{w=0.1} [player]." - n 1nllss "You're not half-bad an inspiration either,{w=0.1} you know!" + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.inspirational: + n 1nchgn "Ahaha.{w=0.75}{nw}" + extend 2fcsbg " Well,{w=0.2} what can I say?{w=0.75}{nw}" + extend 2fchsmedz " I guess it must be natural~." + n 1nchsm "But thanks,{w=0.2} [player]!" + n 4fsqsm "Don't worry." + extend 3fwlbg " You can always count on yours truly for {i}all{/i} your inspiration needs!" - else: - n 1nchgn "Ehehe.{w=0.2} What can I say?{w=0.2} I'm a pro,{w=0.1} after all!" - n 1nnmbg "But thanks,{w=0.1} [player]!" - n 1fchsm "I'm glad you still find inspiration in yours truly!" + if Natsuki.isEnamored(higher=True): + n 3fsrssl "J-{w=0.2}just like I know I can count on you.{w=0.75}{nw}" + extend 1fchsml " Ehehe." else: + n 4unmemleex "H-{w=0.2}huh?{w=0.75}{nw}" + extend 2flrbglsbr " W-{w=0.2}well,{w=0.2} yeah!{w=0.75}{nw}" + extend 2fcsbglsbr " Duh!" + n 2fchgnsbr "Of course I am,{w=0.2} you dope!{w=1}{nw}" + extend 4fllct " In fact..." + n 1fcsct "I daresay you'd be hard pressed to find a {i}better{/i} role model than me." + n 3fsqsmeme "Ehehe." + if Natsuki.isEnamored(higher=True): - n 1fskeml "H-{w=0.1}huh?{w=0.2} I'm inspirational to you?" - n 1fllbgl "Ahaha...{w=0.3} well...{w=0.3} of course I am!" - n 1kllsr "..." - n 1kllssl "Though I'm glad to hear it,{w=0.1} all the same." + n 3ullaj "Well,{w=0.2} anyway.{w=0.75}{nw}" + extend 4fwlbg " You're welcome,{w=0.2} [player]!" + n 2fchbgl "I'll {i}always{/i} be around to inspire you." + + if Natsuki.isLove(higher=True): + n 2nsrsmlsbl "...You do the same for me,{w=0.2} a-{w=0.2}after all." else: - n 1fskeml "H-{w=0.1}huh?{w=0.2} I'm an inspiration to you?" - n 1fcsbgl "Well...{w=0.3} o-{w=0.1}of course you'd think that!" - n 1fllbgl "I mean,{w=0.1} role models don't come much better than me,{w=0.1} after all." - n 1uchgn "Why,{w=0.1} I'm practically an idol,{w=0.1} right?{w=0.2} Ahaha!" - n 1nllss "..." - n 1knmss "...Right?" - - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_INSPIRATIONAL + n 3fcsbgedz "Well,{w=0.2} feel free to be inspired by me anytime,{w=0.2} [player].{w=1}{nw}" + extend 4fsqss " After all..." + n 2fwlbg "That's just what the pros are for,{w=0.2} right?" + + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.inspirational return init 5 python: @@ -378,7 +570,7 @@ init 5 python: prompt="I love your sense of style!", label="compliment_style", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -386,37 +578,57 @@ init 5 python: label compliment_style: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_style").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_STYLE: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.style: if not Natsuki.isWearingOutfit("jn_school_uniform"): # Non-uniform dialogue if Natsuki.isEnamored(higher=True): - n 1fchgn "Ehehe.{w=0.2} Still awestruck by my sense of fashion,{w=0.1} [player]?" - n 1fwlbg "You can't deny I'm a snappy dresser!" + n 1fcssm "Ehehe.{w=0.5}{nw}" + extend 3fcsbgeme " Still awestruck by my sense of fashion,{w=0.2} [player]?" + n 3ullss "Well,{w=0.5}{nw}" + extend 4tllsm " if nothing else -{w=0.5}{nw}" + extend 2fcssm " you can't deny I'm a snappy dresser." if Natsuki.isLove(higher=True): - $ chosen_tease = jn_utils.getRandomTease() - n 1fllbgl "D-{w=0.1}don't think I just dress for me though,{w=0.1} [chosen_tease]~." - n 1nchsmleaf "Ahaha!" + n 2fsqsml "Don't you worry.{w=0.75}{nw}" + extend 2uchgnledz " I'll keep looking fabulous juuuust for you~!" + + else: + n 2fchsml "Thanks a bunch,{w=0.2} [player]!{w=0.75}{nw}" + extend 2fchgnledz " 'Preciated!" else: - n 1tsgssl "Oh?{w=0.2} Someone could stand to take a few points,{w=0.1} huh?" - n 1fsgsm "Ehehe." - n 1fchbg "Relax,{w=0.1} relax!{w=0.2} I'm kidding,{w=0.1} [player].{w=0.2} Don't worry." - n 1fwrsm "But thanks again!" + n 4tnmaj "Oh?{w=0.5}{nw}" + extend 2tsqss " Sounds like {i}someone{/i} is just itching to take a few points,{w=0.2} huh?" + n 2fsqsm "Ehehe." + n 1fchbg "Relax,{w=0.2} relax!{w=0.5}{nw}" + extend 1uchsm " I'm kidding,{w=0.2} [player].{w=0.3} Don't worry." + n 4fsqsm "...Mostly." + n 3fwlbl "But thanks again!" else: # Uniform dialogue if Natsuki.isEnamored(higher=True): - n 1flleml "I mean...{w=0.3} thanks again,{w=0.1} [player]..." - n 1fllpol "But it isn't like I picked out these clothes myself,{w=0.1} you know!" - n 1flrsml "I guess a confidence boost is always welcome though..." + n 4usqct "Oh?{w=0.75}{nw}" + extend 4fsqctl " You never told me you had a thing for uniforms,{w=0.2} [player]." + n 2fsqbglsbl "I-{w=0.2}is there something you wanna tell me?{w=0.75}{nw}" + extend 2fnmsglsbl " Huh?" + n 1flldvlsbl "..." + n 4fchdvlesisbr "Pfffft-!" + n 4fcsajl "Oh,{w=0.5}{nw}" + extend 1fchbgl " relax,{w=0.2} [player]!{w=0.75}{nw}" + extend 2fllbgl " Jeez..." + n 2fchsmlsbr "Y-{w=0.2}you should know when I'm pulling your leg by now,{w=0.2} you dork.{w=1}{nw}" + extend 1fcsssl " And besides..." + n 2flldvl "I {i}know{/i} I totally rock the school look." + n 2fchbll "But thanks anyway!" else: - n 1tlrpul "Uh...{w=0.3} well...{w=0.3} thanks again,{w=0.1} ...I think?" - $ chosen_tease = jn_utils.getRandomTease() - n 1fllpol "You could at least save the compliments for my own clothes though,{w=0.1} [chosen_tease]..." - n 1nlrbg "But...{w=0.3} I guess I appreciate the sentiment.{w=0.2} Ahaha." + n 2fsqsmlsbl "Still head-over-heels for the educated look,{w=0.5}{nw}" + extend 2fcssslsbl " huh?" + n 2fcsbglesssbl "W-{w=0.2}well,{w=0.75}{nw}" + extend 2fllbglesssbr " I guess that just means I can make {i}anything{/i} look good!" + n 1fslsslesssbr "Ahaha..." else: @@ -424,34 +636,55 @@ label compliment_style: # Non-uniform dialogue if Natsuki.isEnamored(higher=True): - n 1nchsml "Ehehe.{w=0.2} I'm just happy you like this outfit,{w=0.1} [player]!" - n 1usqsml "But then...{w=0.3} should I really be surprised?" - n 1fllssl "I-{w=0.1}I {i}am{/i} the one wearing it,{w=0.1} a-{w=0.1}after all!" + n 1fchsmleme "Ehehe.{w=0.75}{nw}" + extend 1nchsml " I'm just happy you like this outfit,{w=0.2} [player]!" + n 1ulrbol "But then...{w=0.75}{nw}" + extend 4tlrbol " now that I think about it..." + n 2tsqssl "Should I {i}really{/i} be surprised?" + n 3fcsbgl "I-{w=0.2}I {i}am{/i} the one wearing it,{w=0.5}{nw}" + extend 3uchgnl " after all!" + + if Natsuki.isLove(higher=True): + n 3fchblleaf "Love you too,{w=0.2} [player]~!" else: - n 1fchbgl "H-{w=0.1}ha!{w=0.2} I'm glad you agree!" - n 1fcsbgl "It's only natural though,{w=0.1} right?{w=0.2} I like to pride myself on my sense of style!" - n 1fchbg "Good job for noticing,{w=0.1} [player]!" + n 1fcsbglsbl "H-{w=0.2}ha!{w=0.5}{nw}" + extend 2flrbglsbl " I'm glad you agree!" + n 4fcssml "It's only natural though,{w=0.2} right?{w=0.5}{nw}" + extend 2fcsbgledz " I like to pride myself on my {i}superb{/i} sense of style!" + n 2fwlbll "Good job noticing,{w=0.2} [player]!" + extend 2fchgnl " Ehehe." else: # Uniform dialogue if Natsuki.isEnamored(higher=True): - n 1tskeml "H-{w=0.1}huh?{w=0.2} You like my sense of style?" - n 1fllpol "I mean,{w=0.1} it's not like I can do much styling in this sort of getup..." - n 1flrpol "But thanks,{w=0.1} [player]." + n 1tnmpul "M-{w=0.2}my sense of style?" + n 1tslpu "..." + n 4tslaj "You...{w=0.75}{nw}" + extend 2fsldv " {i}do{/i} see what I'm wearing,{w=0.75}{nw}" + extend 2fchgn " right?" + n 1nlrss "Man...{w=0.75}{nw}" + extend 2fsqsm " you're such a dork sometimes,{w=0.2} [player].{w=0.75}{nw}" + extend 2fcsbg " But it's the thought that counts!" + n 4fchsm "Ehehe." + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else jn_utils.getRandomTease() + n 2fchgnl "'Preciated as always,{w=0.2} [chosen_descriptor]!" else: - n 1tskeml "W-{w=0.1}what?{w=0.2} My sense of style?" - n 1fbkeml "But [player]!{w=0.2} It isn't like I came up with this look myself!" - n 1fsqpol "..." - n 1fllpul "Unless..." - n 1tnmaj "A-{w=0.1}are you saying I look good in {i}uniform{/i}?" - n 1fskemf "..." - n 1fbkwrf "A-{w=0.1}ah!{w=0.2} Gross!{w=0.2} I don't like where this is going at all!{w=0.2} That's enough!" - $ chosen_tease = jn_utils.getRandomTease() - n 1flremf "Jeez,{w=0.1} [chosen_tease]..." - - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_STYLE + n 1tnmpuleqm "M-{w=0.2}my sense of style..." + n 4tsqpu "...What?{w=0.75}{nw}" + extend 2tnmdv " You mean my school uniform?" + n 4fchdvesi "Pfffft-!" + n 1fchbselg "What kind of compliment is {i}that{/i}?!" + n 2tlrsslsbl "You really {w=0.2}{i}aren't{/i}{w=0.2} good at this sort of thing are you,{w=0.5}{nw}" + extend 2tnmsmlsbl " [player]?{w=0.5}{nw}" + extend 2fsqsmlsbl " Ehehe." + n 1fcsbgl "Well,{w=0.75}{nw}" + extend 1fllbgl " I-{w=0.2}I guess you tried!{w=0.75}{nw}" + extend 4fcssmeme " And isn't that always what matters?" + n 3fchgn "Thanks anyway,{w=0.2} you goof!" + + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.style return init 5 python: @@ -461,7 +694,7 @@ init 5 python: prompt="I love how thoughtful you are!", label="compliment_thoughtful", unlocked=True, - affinity_range=(jn_affinity.HAPPY, jn_affinity.LOVE) + affinity_range=(jn_affinity.HAPPY, None) ), topic_group=TOPIC_TYPE_COMPLIMENT ) @@ -469,37 +702,67 @@ init 5 python: label compliment_thoughtful: $ Natsuki.calculatedAffinityGain(bypass=get_topic("compliment_thoughtful").shown_count == 0) - if jn_compliments.last_compliment_type == jn_compliments.TYPE_THOUGHTFUL: + if jn_compliments.last_compliment_type == jn_compliments.JNComplimentTypes.thoughtful: if Natsuki.isEnamored(higher=True): - n 1fcsanl "Nnnnn-!{w=0.2} what did I tell you,{w=0.1} [player]?" - n 1kllpol "I'm just...{w=0.3} giving as good as I get,{w=0.1} alright?" - n 1knmpol "Jeez...{w=0.3} are you trying to put me on the spot or what?" - $ chosen_tease = jn_utils.getRandomTease().capitalize() - n 1klrpo "[chosen_tease]..." - n 1klrpu "But...{w=0.3} I'm just really glad you appreciate it,{w=0.1} [player]." - - if Natsuki.isLove(higher=True): - n 1knmsml "You're totally worth the effort." + n 1unmaj "...Wow.{w=0.75}{nw}" + extend 1ulrbo " You...{w=0.75}{nw}" + extend 4tnmssl " really are still hung up over that, huh?" + n 1ncsajl "But seriously,{w=0.2} [player] -{w=0.5}{nw}" + extend 3fchbglsbl " don't worry about it!{w=0.75}{nw}" + extend 3fcssmlesisbl " It's totally fine." + n 1fllbol "Besides,{w=0.75}{nw}" + $ friend_type = "girlfriend" if Natsuki.isLove(higher=True) else "friend" + extend 2fcseml " what kind of [friend_type] would I be if I {i}wasn't{/i} at least trying to be thoughtful?" + n 2fsrbglsbr "P-{w=0.2}plus it looks like you're trying just as much anyway!" + n 4tsrbolsbr "..." + n 1tsrpu "Well,{w=0.5}{nw}" + extend 1fsrsssbl " if it puts your mind at ease...{w=1}{nw}" + $ chosen_descriptor = jn_utils.getRandomEndearment() if Natsuki.isLove(higher=True) else jn_utils.getRandomTease() + extend 3fcssml " no worries,{w=0.2} [chosen_descriptor]!" + n 3fchgnledz "You don't have to ask me to keep it up!" else: - n 1fcsanl "Uuuuu...{w=0.3} jeez,{w=0.1} [player]..." - n 1fbkeml "I already said it was nothing!{w=0.2} Are you trying to put me on the spot?" - n 1fllpol "It's fine,{w=0.1} so...{w=0.3} don't worry about it,{w=0.1} alright?" - $ chosen_tease = jn_utils.getRandomTease().capitalize() - n 1flrpol "[chosen_tease]..." + n 1unmpul "H-{w=0.2}huh?{w=0.75}{nw}" + extend 1fllbgl " Oh,{w=0.2} right.{w=0.5}{nw}" + extend 4fsldvl " Ahaha." + n 2unmaj "Well,{w=0.5}{nw}" + extend 2ulraj " just like I was saying before -{w=0.5}{nw}" + extend 2fcsaj " it's really {i}not{/i} much to ask at all." + n 3fchgn "...So don't worry about it,{w=0.2} you goof!" + n 3fwlsm "It's no sweat off my back!" else: if Natsuki.isEnamored(higher=True): - n 1klrpol "Honestly,{w=0.1} [player]?{w=0.2} Don't worry about it,{w=0.1} 'kay?" - n 1knmpol "You've done...{w=0.3} a lot for me already..." - n 1klrnvl "So...{w=0.3} I'm just returning the favour,{w=0.1} that's all." - n 1klrssl "Ahaha..." + n 2nslss "Man...{w=0.75}{nw}" + extend 2fchgnl " you make it sound like I had to put effort in or something!" + n 1fcssmlsbl "Ahaha." + n 4ullss "Nah,{w=0.75}{nw}" + extend 3fcsss " it's nothing." + n 1unmbo "Being a little thoughtful is what {i}most{/i} people deserve,{w=0.2} at least.{w=1}{nw}" + extend 2flrca " I kinda just consider that being a decent person." + n 2ulraj "That being said though,{w=0.2} [player]." + n 1fcscal "I don't mind putting in a bit more for you..." + n 4fsqssl "...But only a {i}bit{/i}.{w=0.75}{nw}" + extend 4fchsml " Ehehe." - else: - n 1fcsssl "Ah,{w=0.1} jeez,{w=0.1} [player]..." - n 1fllssl "It's nothing,{w=0.1} honestly!" - n 1knmpol "I-{w=0.1}I'm just trying to be friendly,{w=0.1} you know?" - n 1fcsbgl "Yeah!{w=0.2} Totally no special treatment going on here.{w=0.2} Nope!" + if Natsuki.isLove(higher=True): + n 1fchgnl "Love you too,{w=0.2} [player]~!" - $ jn_compliments.last_compliment_type = jn_compliments.TYPE_THOUGHTFUL + else: + n 1fchbgl "Any time,{w=0.2} [player]!" + + else: + n 2tnmpuleqm "Eh?{w=0.75}{nw}" + extend 2tnmajl " Thoughtful?" + n 1fllbglesssbl "W-{w=0.2}well...{w=0.75}{nw}" + extend 4fchbglsbl " yeah!{w=0.75}{nw}" + extend 4fsrdvlsbl " At least I {i}like{/i} to think so, anyway." + n 3unmbo "It's not like it's much to ask though.{w=1}{nw}" + extend 3nllsssbr " Being thoughtful,{w=0.2} I mean." + n 1ulrbosbr "Honestly,{w=0.5}{nw}" + extend 2tlrcasbr " it's really the {i}least{/i} anyone can expect." + n 2uchgn "But hey,{w=0.2} I'll take it!" + n 2fchsm "You're welcome,{w=0.2} [player]!" + + $ jn_compliments.last_compliment_type = jn_compliments.JNComplimentTypes.thoughtful return diff --git a/game/script-events.rpy b/game/script-events.rpy index f3b1ea2c..621d6b04 100644 --- a/game/script-events.rpy +++ b/game/script-events.rpy @@ -44,6 +44,9 @@ image prop hot_chocolate cold = "mod_assets/props/hot_chocolate_cold.png" image prop cake lit = "mod_assets/props/cake_lit.png" image prop cake unlit = "mod_assets/props/cake_unlit.png" +image prop f14_heart give = "mod_assets/props/f14/give_heart.png" +image prop f14_heart hold = "mod_assets/props/f14/hold_heart.png" + image prop wintendo_twitch_held free = "mod_assets/props/twitch/held/wintendo_twitch_held_free.png" image prop wintendo_twitch_held charging = "mod_assets/props/twitch/held/wintendo_twitch_held_charging.png" image prop wintendo_twitch_playing free: @@ -161,11 +164,6 @@ init python in jn_events: import store.jn_outfits as jn_outfits import store.jn_utils as jn_utils - JN_EVENT_DECO_ZORDER = 2 - JN_EVENT_PROP_ZORDER = 4 - JN_EVENT_OVERLAY_ZORDER = 5 - JN_EVENT_BLACK_ZORDER = 10 - EVENT_MAP = dict() EVENT_RETURN_OUTFIT = None @@ -383,10 +381,10 @@ init python in jn_events: renpy.hide("deco") for prop in self.prop_list: - renpy.show(name="prop {0}".format(prop), zorder=JN_EVENT_PROP_ZORDER) + renpy.show(name="prop {0}".format(prop), zorder=store.JN_PROP_ZORDER) for deco in self.deco_list: - renpy.show(name="deco {0}".format(deco), zorder=JN_EVENT_DECO_ZORDER) + renpy.show(name="deco {0}".format(deco), zorder=store.JN_DECO_ZORDER) kwargs = { "natsuki_sprite_code": self.natsuki_sprite_code @@ -621,6 +619,16 @@ init python in jn_events: priority=10 )) + # Valentine's day + __registerHoliday(JNHoliday( + label="holiday_valentines_day", + holiday_type=JNHolidayTypes.valentines_day, + affinity_range=(jn_affinity.AFFECTIONATE, None), + natsuki_sprite_code="1fsrunlsbr", + prop_list=["f14_heart hold"], + priority=10 + )) + # Player's birthday __registerHoliday(JNHoliday( label="holiday_player_birthday", @@ -654,8 +662,8 @@ label event_caught_reading_manga: n "..." play audio page_turn $ jnPause(2) - n "W-{w=0.1}wait...{w=0.3} what?!" - n "M-{w=0.1}Minori!{w=0.5}{nw}" + n "W-{w=0.2}wait...{w=0.3} what?!" + n "M-{w=0.2}Minori!{w=0.5}{nw}" extend " You {i}idiot{/i}!" n "I seriously can't believe...!" n "Ugh...{w=0.5}{nw}" @@ -672,32 +680,37 @@ label event_caught_reading_manga: "Enter...": pass - show prop parfait_manga_held zorder jn_events.JN_EVENT_PROP_ZORDER + show prop parfait_manga_held zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1fsrpo") $ jn_globals.force_quit_enabled = True n 1uskemesh "...!" n 1uskeml "[player]!{w=0.5}{nw}" - extend 1fcsan " C-{w=0.1}can you {i}believe{/i} this?" + extend 1fcsan " C-{w=0.2}can you {i}believe{/i} this?" n 1fllfu "Parfait Girls got a new editor,{w=0.3}{nw}" extend 1fbkwr " and they have no {i}idea{/i} what they're doing!" - n 1flrwr "I mean,{w=0.1} have you {i}seen{/i} this crap?!{w=0.5}{nw}" - extend 1fcsfu " Have they even read the series before?!" + n 1flrwr "I mean,{w=0.2} have you {i}seen{/i} this crap?!{w=0.5}{nw}" + extend 1fcsfu " Have they even {i}read{/i} the series before?!" n 1fcsan "As {i}if{/i} Minori would ever stoop so low as to-!" n 1unmem "...!" n 1fllpol "..." - n 1fcspo "Actually,{w=0.1} you know what?{w=0.2} It's fine." + n 1fcspo "Actually,{w=0.2} you know what?{w=0.5} It's fine." n 1fsrss "I didn't wanna spoil it for you anyway." n 1flldv "Ehehe..." n 1nllpol "I'll just...{w=0.5}{nw}" extend 1nlrss " put this away." + show natsuki 1nsrca + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) play audio drawer hide prop parfait_manga_held - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") + show natsuki 4nlrbo + $ jnPause(4) + hide black with Dissolve(1) - n 1ulraj "So..." - n 1fchbg "What's new,{w=0.1} [player]?" + n 3ulraj "So..." + n 3fchbgsbr "What's new,{w=0.2} [player]?" return @@ -732,7 +745,7 @@ label event_caught_writing_poetry: $ jnPause(7) n "Rrrrr...!" - n "Oh,{w=0.1} {i}forget it!{/i}" + n "Oh,{w=0.2} {i}forget it!{/i}" play audio paper_crumple $ jnPause(3) @@ -743,26 +756,31 @@ label event_caught_writing_poetry: "Enter...": pass - show prop poetry_attempt zorder jn_events.JN_EVENT_PROP_ZORDER + show prop poetry_attempt zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1fsrpo") $ jn_globals.force_quit_enabled = True n 1uskuplesh "...!" $ player_initial = jn_utils.getPlayerInitial() - n 1uskgsf "[player_initial]-[player]?!{w=0.5}{nw}" - extend 1fbkwrl " How long have you been there?!" - n 1fllpol "..." - n 1uskeml "H-{w=0.1}huh? This?{w=0.5}{nw}" - extend 1fcswrl " I-{w=0.1}it's nothing!{w=0.5}{nw}" - extend 1flrpol " Nothing at all!" - + n 4uskgsf "[player_initial]-[player]?!{w=0.5}{nw}" + extend 2fbkwrl " How long have you been there?!" + n 2fllpol "..." + n 4uskeml "H-{w=0.2}huh? This?{w=0.5}{nw}" + extend 4fcswrl " I-{w=0.2}it's nothing!{w=0.5}{nw}" + extend 2flrpol " Nothing at all!" + + show natsuki 4fcspol + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) play audio drawer hide prop poetry_attempt - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") + show natsuki 2nslbol + $ jnPause(4) + hide black with Dissolve(1) - n 1nslpol "..." - n 1kslss "S-{w=0.1}so...{w=0.5}{nw}" - extend 1flldv " what's up,{w=0.1} [player]?" + n 2nslpol "..." + n 2fslsslsbr "S-{w=0.2}so...{w=0.5}{nw}" + extend 4fcsbglsbr " what's up,{w=0.2} [player]?" return @@ -798,7 +816,7 @@ label event_relationship_doubts: if Natsuki.isRuined() and random.randint(0, 10) == 1: play audio glitch_a - show glitch_garbled_red zorder 99 with vpunch + show glitch_garbled_red zorder JN_GLITCH_ZORDER with vpunch n "I {i}HATE{/i} IT!!{w=0.5}{nw}" hide glitch_garbled_red $ jnPause(5) @@ -812,9 +830,9 @@ label event_relationship_doubts: n 1fsqunltsb "..." n 1fsqemtsb "...Oh.{w=1}{nw}" - extend 1fsrsr " {i}You're{/i} here." - n 1ncsem "{i}Great{/i}..." - n 1fcsantsa "Yeah, that's {i}just{/i} what I need right now." + extend 2fsrsr " {i}You're{/i} here." + n 2ncsem "{i}Great{/i}..." + n 4fcsantsa "Yeah, that's {i}just{/i} what I need right now." return @@ -836,14 +854,14 @@ label event_code_fiddling: n "..." n "Mmm..." n "Aha!{w=0.5}{nw}" - extend " I see,{w=0.1} I see." + extend " I see,{w=0.2} I see." n "So,{w=0.3} I think...{w=1}{nw}" extend " if I just...{w=1.5}{nw}" extend " very...{w=2}{nw}" extend " carefully...{w=0.5}{nw}" play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_a n "Ack-!{w=2}{nw}" @@ -856,7 +874,7 @@ label event_code_fiddling: n "But...{w=1} what if I-{w=0.5}{nw}" play audio static - show glitch_garbled_c zorder 99 with hpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_c n "Eek!" @@ -874,10 +892,10 @@ label event_code_fiddling: $ player_initial = jn_utils.getPlayerInitial() n 1uskemlesh "Ack-!" - n 1fbkwrl "[player_initial]-{w=0.1}[player]!" - extend 1fcseml " Are you {i}trying{/i} to give me a heart attack or something?" - n 1fllpol "Jeez..." - n 1fsrpo "Hello to you too,{w=0.1} dummy..." + n 4fbkwrl "[player_initial]-{w=0.2}[player]!" + extend 2fcseml " Are you {i}trying{/i} to give me a heart attack or something?" + n 2fllpol "Jeez..." + n 1fsrpo "Hello to you too,{w=0.2} dummy..." return @@ -918,7 +936,7 @@ label event_not_ready_yet: outfit_to_restore = Natsuki.getOutfitName() ahoge_outfit = jn_outfits.get_outfit("jn_ahoge_unlock") ahoge_outfit.headgear = random.choice(unlocked_ahoges) - Natsuki.setOutfit(ahoge_outfit, False) + jn_outfits.save_temporary_outfit(ahoge_outfit) $ jnPause(5) n "Uuuuuu...{w=2}{nw}" @@ -938,21 +956,26 @@ label event_not_ready_yet: $ jn_events.displayVisuals("1uskeml") $ jn_globals.force_quit_enabled = True - n 1uskemlesh "H-{w=0.3}huh?{w=1.5}{nw}" - extend 1uskwrl " [player]?!{w=1}{nw}" - extend 1klleml " You're here already?!" - n 1flrunl "..." - n 1uskemf "I-{w=0.3}I gotta get ready!" + n 1uskemlesh "H-{w=0.3}huh?{w=1}{nw}" + extend 1uskwrl " [player]?!{w=0.75}{nw}" + extend 4klleml " You're here already?!" + n 4flrunl "..." + n 4uskemfeexsbr "I-{w=0.3}I gotta get ready!" + show natsuki 1fslunlsbr + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) play audio clothing_ruffle $ Natsuki.setOutfit(jn_outfits.get_outfit(outfit_to_restore)) - with Fade(out_time=0.1, hold_time=1, in_time=0.5, color="#181212") + show natsuki 2fsrpol + $ jnPause(4) + hide black with Dissolve(1) - n 1fcsem "Jeez...{w=1.5}{nw}" - extend 1nslpo " I really gotta get an alarm clock or something.{w=1}{nw}" - extend 1nsrss " Heh." - n 1flldv "So...{w=1}{nw}" - extend 1fcsbgl " what's up,{w=0.1} [player]?" + n 2fcsem "Jeez...{w=1.5}{nw}" + extend 2nslpo " I really gotta get an alarm clock or something.{w=1}{nw}" + extend 2nsrss " Heh." + n 4flldv "So...{w=1}{nw}" + extend 3fcsbgl " what's up,{w=0.2} [player]?" return @@ -1003,31 +1026,36 @@ label event_renpy_for_dummies: n "Yep!{w=1.5}{nw}" extend " I have no idea what I'm doing!" n "Can't believe I thought {i}this{/i} would help me...{w=1.5}{nw}" - extend " '{i}award winning{/i}',{w=0.1} my butt." + extend " '{i}award winning{/i}',{w=0.2} my butt." $ jnPause(7) menu: "Enter...": pass - show prop renpy_for_dummies_book_held zorder jn_events.JN_EVENT_PROP_ZORDER + show prop renpy_for_dummies_book_held zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1fcspo") $ jn_globals.force_quit_enabled = True n 1uskemesh "O-{w=0.3}oh!" - extend 1fllbgl " H-{w=0.3}hey,{w=0.1} [player]!" + extend 1fllbgl " H-{w=0.3}hey,{w=0.2} [player]!" n 1ullss "I was just...{w=1.5}{nw}" extend 1nslss " doing...{w=1.5}{nw}" n 1fsrun "..." - n 1fcswr "N-{w=0.1}nevermind that!" + n 1fcswr "N-{w=0.2}nevermind that!" extend 1fllpo " This book is trash anyway." + show natsuki 1fcspo + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) play audio drawer hide prop renpy_for_dummies_book_held - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") + show natsuki 4nslsr + $ jnPause(4) + hide black with Dissolve(1) - n 1nllaj "So...{w=1}{nw}" - extend 1kchbg " what's new,{w=0.1} [player]?" + n 4nllaj "So...{w=1}{nw}" + extend 2fchbgsbl " what's new,{w=0.2} [player]?" return @@ -1074,23 +1102,29 @@ label event_reading_a_la_mode: "Enter...": pass - show prop a_la_mode_manga_held zorder jn_events.JN_EVENT_PROP_ZORDER + show prop a_la_mode_manga_held zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1fdwca") $ jn_globals.force_quit_enabled = True n 1unmgslesu "Oh!{w=1}{nw}" - extend 1fllbgl " H-{w=0.1}hey,{w=0.1} [player]!" + extend 1fllbgl " H-{w=0.2}hey,{w=0.2} [player]!" n 1nsrss "I was just catching up on some reading time..." n 1fspaj "Who'd have guessed slice of life and fashion go so well together?" n 1fchbg "I gotta continue this one later!{w=1}{nw}" - extend 1fchsm " I'm just gonna mark my place real quick,{w=0.1} one sec..." + extend 1fchsm " I'm just gonna mark my place real quick,{w=0.2} one sec..." + show natsuki 1fcssm + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) + play audio page_turn + $ jnPause(1.5) play audio drawer hide prop a_la_mode_manga_held - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") + $ jnPause(4) + hide black with Dissolve(1) - n 1nchbg "Aaaand we're good to go!{w=1}{nw}" - extend 1fwlsm " What's new,{w=0.1} [player]?" + n 3nchbg "Aaaand we're good to go!{w=1}{nw}" + extend 3fwlsm " What's new,{w=0.2} [player]?" return @@ -1132,30 +1166,35 @@ label event_drinking_strawberry_milkshake: "Enter...": pass - show prop strawberry_milkshake zorder jn_events.JN_EVENT_PROP_ZORDER + show prop strawberry_milkshake zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1nchdr") $ jn_globals.force_quit_enabled = True - n 1nchdr "..." + n 4nchdr "..." play audio straw_sip - n 1nsqdr "..." - n 1uskdrlesh "...!" + n 4nsqdr "..." + n 4uskdrlesh "...!" $ player_initial = jn_utils.getPlayerInitial() - n 1fbkwrl "[player_initial]-{w=0.3}[player]!{w=1}{nw}" - extend 1flleml " I wish you'd stop just {i}appearing{/i} like that..." + n 2fbkwrl "[player_initial]-{w=0.3}[player]!{w=1}{nw}" + extend 2flleml " I wish you'd stop just {i}appearing{/i} like that..." n 1fcseml "Jeez...{w=1}{nw}" - extend 1fsqpo " you almost made me spill it!" - n 1flrpo "At least let me finish up here real quick..." + extend 4fsqpo " you almost made me spill it!" + n 4flrpo "At least let me finish up here real quick..." + show natsuki 2fcsdrl + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(0.5) play audio glass_move hide prop strawberry_milkshake - with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") + show natsuki 4ncssm + $ jnPause(2) + hide black with Dissolve(1) - n 1ncsss "Ah..." - n 1uchgn "Man,{w=0.1} that hit the spot!" - n 1fsqbg "And now I'm all refreshed...{w=1}{nw}" - extend 1tsqsm " what's happening, [player]?{w=1}{nw}" - extend 1fchsm " Ehehe." + n 4ncsss "Ah..." + n 1uchgn "Man,{w=0.2} that hit the spot!" + n 4fsqbg "And now I'm all refreshed...{w=1}{nw}" + extend 3tsqsm " what's happening, [player]?{w=1}{nw}" + extend 3fchsm " Ehehe." return @@ -1188,8 +1227,8 @@ label event_step_by_step_manga: play audio page_turn $ jnPause(1) n "Man..." - n "A-{w=0.3}alright,{w=0.1} enough drooling over the art!{w=1.5}{nw}" - extend " You got this thing for a reason,{w=0.1} Natsuki..." + n "A-{w=0.3}alright,{w=0.2} enough drooling over the art!{w=1.5}{nw}" + extend " You got this thing for a reason,{w=0.2} Natsuki..." n "Step by step..." n "Improve my daily confidence,{w=0.3} huh?{w=1.5}{nw}" extend " Okaaay..." @@ -1204,7 +1243,7 @@ label event_step_by_step_manga: "Enter...": pass - show prop step_by_step_manga_held zorder jn_events.JN_EVENT_PROP_ZORDER + show prop step_by_step_manga_held zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1uskemfesh") $ jn_globals.force_quit_enabled = True @@ -1228,7 +1267,7 @@ label event_step_by_step_manga: n 1fcswrl "I'm {i}super{/i} confident already!" n 1fllunlsbl "..." n 1fcsemlsbr "A-{w=0.2}and besides,{w=1}{nw}" - extend 1fllpol " even if I {i}was{/i} reading it for the self-{w=0.1}help stuff..." + extend 1fllpol " even if I {i}was{/i} reading it for the self-{w=0.2}help stuff..." n 1kllsll "..." n 1kwmpul "...What'd be wrong with that?" n 1fcsbol "It takes real guts to admit to yourself that you can do better.{w=1}{nw}" @@ -1240,10 +1279,10 @@ label event_step_by_step_manga: hide prop step_by_step_manga_held with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") - n 1nllpol "..." - n 1ulrbol "So..." - n 1tnmsslsbr "What's new,{w=0.1} [player]?{w=1}{nw}" - extend 1fllsslsbl " Ahaha..." + n 4nllpol "..." + n 4ulrbol "So..." + n 3tnmsslsbr "What's new,{w=0.2} [player]?{w=1}{nw}" + extend 3fllsslsbl " Ahaha..." return @@ -1283,7 +1322,7 @@ label event_eyewear_problems: outfit_to_restore = Natsuki.getOutfitName() eyewear_outfit = copy.copy(jn_outfits.get_outfit(outfit_to_restore)) eyewear_outfit.eyewear = jn_outfits.get_wearable("jn_none") - Natsuki.setOutfit(eyewear_outfit) + jn_outfits.save_temporary_outfit(eyewear_outfit) n "..." play audio drawer @@ -1315,7 +1354,7 @@ label event_eyewear_problems: n "And are these...{w=1} {i}candy wrappers{/i}?!" n "That's funny..." - n "I don't remember ever saying my desk was a{w=0.1}{nw}" + n "I don't remember ever saying my desk was a{w=0.2}{nw}" extend " {b}trash{/b}{w=0.33}{nw}" extend " {b}basket!{/b}" @@ -1360,51 +1399,51 @@ label event_eyewear_problems: "Enter...": pass - show prop glasses_case zorder jn_events.JN_EVENT_PROP_ZORDER - show overlay slipping_glasses zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_glasses_pre_slide + show prop glasses_case zorder JN_PROP_ZORDER + show overlay slipping_glasses zorder JN_OVERLAY_ZORDER at jn_glasses_pre_slide $ jn_events.displayVisuals("1fcssmesi") $ jn_globals.force_quit_enabled = True n 1uskgsesu "...!" n 1ullajl "O-{w=0.2}oh!{w=1}{nw}" - extend 1fllbglsbl " [player]!" - n 1fcssslsbl "Heh." + extend 4fllbglsbl " [player]!" + n 4fcssslsbl "Heh." n 1fcsbglsbr "Well,{w=0.5}{nw}" - extend 1fsqsglsbr " didn't {i}you{/i} pick a fine time to show up." - n 1fcssglsbr "..." - n 1tsqsslsbr "...So,{w=0.3} [player]?{w=1}{nw}" - extend 1fchgnledzsbr " Notice anything different?" + extend 2fsqsglsbr " didn't {i}you{/i} pick a fine time to show up." + n 2fcssglsbr "..." + n 2tsqsslsbr "...So,{w=0.3} [player]?{w=1}{nw}" + extend 4fchgnledzsbr " Notice anything different?" n 1tsqsmledz "...Mmm?" - n 1usqctleme "Oho?{w=1}{nw}" - extend 1fcsctl " What's that?" - show overlay slipping_glasses zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_glasses_slide_down - n 1tllbgl "Did I do something with my hair?{w=1}{nw}" - extend 1fcssml " Ehehe." - n 1nchgnleme "Nope!{w=0.5}{nw}" - extend 1fcsbgl " I-{w=0.75}{nw}" - n 1nsqbol "..." + n 2usqctleme "Oho?{w=1}{nw}" + extend 2fcsctl " What's that?" + show overlay slipping_glasses zorder JN_OVERLAY_ZORDER at jn_glasses_slide_down + n 4tllbgl "Did I do something with my hair?{w=1}{nw}" + extend 4fcssml " Ehehe." + n 2nchgnleme "Nope!{w=0.5}{nw}" + extend 2fcsbgl " I-{w=0.75}{nw}" + n 2nsqbol "..." show natsuki 1fsqbof at jn_center zorder JN_NATSUKI_ZORDER - show overlay slipping_glasses zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_glasses_readjust + show overlay slipping_glasses zorder JN_OVERLAY_ZORDER at jn_glasses_readjust $ jnPause(1) - n 1fcspol "..." - n 1fcsemfsbl "Ahem!" - n 1fcsbglsbl "N-{w=0.2}nope!{w=0.75}{nw}" - show overlay slipping_glasses zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_glasses_slide_down + n 4fcspol "..." + n 4fcsemfsbl "Ahem!" + n 2fcsbglsbl "N-{w=0.2}nope!{w=0.75}{nw}" + show overlay slipping_glasses zorder JN_OVERLAY_ZORDER at jn_glasses_slide_down extend 1fchbglsbr " I-{w=0.2}it's not my hair,{w=0.2} [player]!" - n 1tsqsmlsbr "What else did you-{w=1}{nw}" + n 2tsqsmlsbr "What else did you-{w=1}{nw}" n 1fsranlsbl "..." - n 1fcsanf "Nnnnn...!" + n 4fcsanf "Nnnnn...!" show natsuki 1fcsunf at jn_center zorder JN_NATSUKI_ZORDER - show overlay slipping_glasses zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_glasses_readjust + show overlay slipping_glasses zorder JN_OVERLAY_ZORDER at jn_glasses_readjust $ jnPause(1.15) - n 1fcsemlesi "..." - n 1fcstrlsbr "So!" - show overlay slipping_glasses zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_glasses_slide_down_faster - extend 1fsqbglesssbr " What else did you noti-{w=1}{nw}" + n 4fcsemlesi "..." + n 2fcstrlsbr "So!" + show overlay slipping_glasses zorder JN_OVERLAY_ZORDER at jn_glasses_slide_down_faster + extend 2fsqbglesssbr " What else did you noti-{w=1}{nw}" n 1fslanlsbl "Uuuuuuuuu-!" menu: @@ -1412,69 +1451,69 @@ label event_eyewear_problems: pass n 1fbkwrlesssbl "Alright!{w=0.75}{nw}" - extend 1flrwrlesssbl" Alright!" - n 1fcsgslsbr "I know,{w=0.33} okay?!" - extend 1fsremlsbr " The glasses don't fit properly!" - n 1fslsrl "They {i}never{/i} have." + extend 4flrwrlesssbl" Alright!" + n 2fcsgslsbr "I know,{w=0.33} okay?!" + extend 2fsremlsbr " The glasses don't fit properly!" + n 2fslsrl "They {i}never{/i} have." n 1ksrbol "And to think I wasted all that time trying to find them,{w=0.2} too..." - n 1kcsemlesi "..." + n 4kcsemlesi "..." menu: "I think glasses suit you, Natsuki!": $ Natsuki.calculatedAffinityGain() if Natsuki.isEnamored(higher=True): n 1knmsll "..." - n 1kllpul "...You really think so,{w=0.75}{nw}" - extend 1knmpul " [player]?" + n 4kllpul "...You really think so,{w=0.75}{nw}" + extend 4knmpul " [player]?" n 1ksrunlsbl "..." n 1fcssslsbl "Heh." n 1fsldvlsbr "...Then I guess that at least wasn't a {i}total{/i} waste of time." - n 1fcsajlsbr "Not that I {i}don't{/i} think I look good in them too,{w=0.5}{nw}" - extend 1fcssmfsbl " obviously." + n 2fcsajlsbr "Not that I {i}don't{/i} think I look good in them too,{w=0.5}{nw}" + extend 2fcssmfsbl " o-{w=0.2}obviously." elif Natsuki.isAffectionate(higher=True): - n 1uskemfeshsbl "...!{w=0.5}{nw}" - n 1fcsgsfsbl "W-{w=0.3}well,{w=0.2} of course they do,{w=0.2} [player]!{w=1}{nw}" - extend 1flrpolsbl " I {i}did{/i} pick them,{w=0.2} after all." - n 1ksrsllsbl "..." + n 4uskemfeshsbl "...!{w=0.5}{nw}" + n 2fcsgsfsbl "W-{w=0.3}well,{w=0.2} of course they do,{w=0.2} [player]!{w=1}{nw}" + extend 2flrpolsbl " I {i}did{/i} pick them,{w=0.2} a-{w=0.2}after all." + n 4ksrsllsbl "..." else: n 1fcsgslsbl "W-{w=0.2}well,{w=0.5}{nw}" - extend 1fllgslsbl " duh!" - n 1fcsbglsbr "Of course they suit me,{w=0.2} [player]!" - n 1fcsemlsbr "I mean,{w=0.75}{nw}" - extend 1fllemlsbr " You didn't seriously think I'd pick something that {i}wouldn't{/i} show off my sense of style,{w=0.75}{nw}" - extend 1fnmpolsbr " did you?" + extend 4fllgslsbl " duh!" + n 2fcsbglsbr "Of course they suit me,{w=0.2} [player]!" + n 4fcsemlsbr "I mean,{w=0.75}{nw}" + extend 2fllemlsbr " You didn't seriously think I'd pick something that {i}wouldn't{/i} show off my sense of style,{w=0.75}{nw}" + extend 2fnmpolsbr " did you?" n 1fcsemlsbl "Yeesh..." "Yeah, that was a waste of time.": $ Natsuki.percentageAffinityLoss(2) if Natsuki.isAffectionate(higher=True): - n 1fskemlesh "H-{w=0.3}hey!{w=1}{nw}" + n 4fskemlesh "H-{w=0.3}hey!{w=1}{nw}" extend 1fsqwrl " And listening to you being so rude {i}isn't{/i}?" - n 1flreml "Yeesh..." - n 1fsreml "{i}Someone{/i} woke up on the wrong side of the bed..." - n 1fsrsll "..." + n 2flreml "Yeesh..." + n 2fsreml "{i}Someone{/i} woke up on the wrong side of the bed..." + n 2fsrsll "..." else: - n 1fskwrlesh "H-{w=0.2}hey!{w=0.5}{nw}" + n 4fskwrlesh "H-{w=0.2}hey!{w=0.5}{nw}" extend 1fnmgsl " What was that for?!" - n 1fnmwrl "And as if you acting like a jerk {i}isn't{/i}?" - n 1fsrsllean "..." + n 2fnmwrl "And as if you acting like a jerk {i}isn't{/i}?" + n 2fsrsllean "..." "...": n 1fllsll "..." - n 1knmeml "...What?" - extend 1fsqemlsbr " The silent act {i}definitely{/i} isn't helping," - extend 1fsrpolsbl " you jerk..." + n 4knmeml "...What?" + extend 2fsqemlsbr " The silent act {i}definitely{/i} isn't helping," + extend 2fsrpolsbl " you jerk..." n 1fcsajl "Well,{w=0.3} whatever.{w=1}{nw}" - extend 1fllsll " At least I know where they are now," - extend 1fslbol " I suppose." - n 1fcseml "...Wearing them all high up like that was dorky,{w=0.5}{nw}" - extend 1fcspol " a-{w=0.2}anyway." + extend 2fllsll " At least I know where they are now," + extend 2fslbol " I suppose." + n 1fcseml "...And wearing them all high up like that was dorky,{w=0.5}{nw}" + extend 2fcspol " a-{w=0.2}anyway." - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(0.5) # Hide glasses overlay and restore old outfit hide prop @@ -1487,18 +1526,18 @@ label event_eyewear_problems: $ jnPause(3) hide black with Dissolve(2) - n 1nsrcal "..." - n 1nsrajl "I...{w=0.75}{nw}" + n 4nsrcal "..." + n 4nsrajl "I...{w=0.75}{nw}" extend 1nsrsslsbl " guess I should apologize for all of...{w=1.25}{nw}" - extend 1nslsllsbl " that." - n 1nsrpolsbl "Not exactly rolling out the red carpet here,{w=0.2} am I?{w=0.75}{nw}" + extend 2nslsllsbl " that." + n 2nsrpolsbl "Not exactly rolling out the red carpet here,{w=0.2} am I?{w=0.75}{nw}" extend 1nslsslsbl " Heh." - n 1fcsajlsbr "A-{w=0.2}and besides." - n 1fslsslsbr "I think that's about enough of that{w=0.75}{nw}" - extend 1fsqbglsbr " {i}spectacle{/i},{w=1}{nw}" - extend 1nsqbglsbr " huh?" + n 4fcsajlsbr "A-{w=0.2}and besides." + n 3fslsslsbr "I think that's about enough of that{w=0.75}{nw}" + extend 3fsqbglsbr " {i}spectacle{/i},{w=1}{nw}" + extend 3nsqbglsbr " huh?" n 1nsrsslsbr "So..." - n 1kchsslesd "W-{w=0.2}what's new,{w=0.2} [player]?" + n 2kchsslesd "W-{w=0.2}what's new,{w=0.2} [player]?" return @@ -1535,7 +1574,7 @@ label event_wintendo_twitch_battery_dead: play audio button_mashing_b n "Nnnng-!" - n "G-{w=0.1}get OFF me!{w=0.5}{nw}" + n "G-{w=0.2}get OFF me!{w=0.5}{nw}" extend " Jeez!" play audio button_mashing_a n "I HATE these enemies!" @@ -1557,7 +1596,7 @@ label event_wintendo_twitch_battery_dead: "Enter...": pass - show prop wintendo_twitch_playing free zorder jn_events.JN_EVENT_PROP_ZORDER + show prop wintendo_twitch_playing free zorder JN_PROP_ZORDER show natsuki gaming at jn_center zorder JN_NATSUKI_ZORDER $ jn_events.displayVisuals("1fdwfol") $ jn_globals.force_quit_enabled = True @@ -1570,14 +1609,14 @@ label event_wintendo_twitch_battery_dead: play audio button_mashing_c n 1fdwfoesssbl "Mmmmmm...!" - show prop wintendo_twitch_held free zorder jn_events.JN_EVENT_PROP_ZORDER + show prop wintendo_twitch_held free zorder JN_PROP_ZORDER n 1uchbsedz "YES!{w=1.25}{nw}" extend 1uchgnedz " FINALLY!" n 1kcsbgesisbl "Haah..." n 1fcsbgemesbr "Stick {i}that{/i} in your pipe and smoke it!" - show prop wintendo_twitch_battery_low zorder jn_events.JN_EVENT_PROP_ZORDER + show prop wintendo_twitch_battery_low zorder JN_PROP_ZORDER n 1kcsssemesbr "..." n 1ksqsmsbl "...{w=0.75}{nw}" @@ -1602,7 +1641,7 @@ label event_wintendo_twitch_battery_dead: extend 1flrdvlsbr " I'm almost done anyway." n 1ucssslsbr "All I gotta do is save,{w=0.5}{nw}" - show prop wintendo_twitch_dead zorder jn_events.JN_EVENT_PROP_ZORDER + show prop wintendo_twitch_dead zorder JN_PROP_ZORDER extend " and I'll be right-{w=1.25}{nw}" n 1udwssl "..." @@ -1614,21 +1653,21 @@ label event_wintendo_twitch_battery_dead: n 1fcsful "..." n 1fcsunl "..." - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(0.5) hide prop play audio chair_out_in $ jnPause(5) hide black with Dissolve(2) - n 1ndtbo "..." - n 1nslbo "..." - n 1ndtca "..." - n 1fdteml "This stays between us." - n 1fsqfrlsbl "Got it?" + n 4ndtbo "..." + n 4nslbo "..." + n 4ndtca "..." + n 2fdteml "This stays between us." + n 2fsqfrlsbl "Got it?" n 1nsrpolsbl "..." - n 1nsrajlsbl "...So.{w=1}{nw}" - extend 1tsqsllsbl " What's new,{w=0.2} [player]?" + n 4nsrajlsbl "...So.{w=1}{nw}" + extend 2tsqsllsbl " What's new,{w=0.2} [player]?" return @@ -1689,7 +1728,7 @@ label event_wintendo_twitch_game_over: "Enter...": pass - show prop wintendo_twitch_playing charging zorder jn_events.JN_EVENT_PROP_ZORDER + show prop wintendo_twitch_playing charging zorder JN_PROP_ZORDER show natsuki gaming at jn_center zorder JN_NATSUKI_ZORDER $ jn_events.displayVisuals("1unmpu") $ jn_globals.force_quit_enabled = True @@ -1720,7 +1759,7 @@ label event_wintendo_twitch_game_over: n 1flrtr "I guess I'll just do that later." n 1fsqcal "{b}Again{/b}." - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(0.5) hide prop play audio chair_out_in @@ -1728,13 +1767,13 @@ label event_wintendo_twitch_game_over: hide black with Dissolve(2) n 1nsrcal "..." - n 1nnmtrl "Well,{w=0.2} [player]." - n 1nsqtrl "I hope you're buckled up." - n 1nsrpol "...'Cause now you owe me {i}twice{/i} as much fun today to make up for that." - n 1nsqbol "..." - n 1fsqajl "Well?{w=0.5}{nw}" - extend 1fcspolesi " Get to it then,{w=0.2} [player]!" - n 1fsqsml " Ehehe." + n 2nnmtrl "Well,{w=0.2} [player]." + n 2nsqtrl "I hope you're buckled up." + n 2nsrpol "...'Cause now you owe me {i}twice{/i} as much fun today to make up for that." + n 4nsqbol "..." + n 4fsqajl "Well?{w=0.5}{nw}" + extend 3fcspolesi " Get to it then,{w=0.2} [player]!" + n 3fsqsml " Ehehe." return @@ -1873,8 +1912,9 @@ label event_warm_package: n "Yuri's...{w=0.75} Yuri's...{w=0.75} Yuri's..." play audio clothing_ruffle n "Monika's..." - play audio clothing_ruffle $ jnPause(2) + play audio clothing_ruffle + $ jnPause(3) n "..." n "...{b}Definitely{/b}{w=0.25} Yuri's." n "..." @@ -1899,122 +1939,122 @@ label event_warm_package: "Enter...": pass - show prop hot_chocolate hot zorder jn_events.JN_EVENT_PROP_ZORDER + show prop hot_chocolate hot zorder JN_PROP_ZORDER $ jn_events.displayVisuals("1fsqbl") $ jn_globals.force_quit_enabled = True n 1kcsbsesi "Haah...{w=1.5}{nw}" extend 1fchsmedz " perfecto!" - n 1fcsbg "Who {i}needs{/i} working heating when you have hot chocolate?" - n 1fcssmlesisbl "{i}And{/i} I didn't even burn my tongue this time!" - - n 1ndwsm "..." - n 1uwdgseex "...!" - n 1fllbglsbl "W-{w=0.2}well,{w=0.75}{nw}" - extend 1fcsbglsbl " hello [player]!" - n 1fllsmlsbl "..." - n 1tsqsml "...?" - n 1tsqctl "Oho?" - n 1nchts "Is that a hint of {i}jealousy{/i} I spy there,{w=0.2} [player]?{w=1}{nw}" + n 2fcsbg "Who {i}needs{/i} working heating when you have hot chocolate?" + n 2fcssmlesisbl "{i}And{/i} I didn't even burn my tongue this time!" + + n 2ndwsm "..." + n 2uwdgseex "...!" + n 4fllbglsbl "W-{w=0.2}well,{w=0.75}{nw}" + extend 2fcsbglsbl " hello [player]!" + n 2fllsmlsbl "..." + n 2tsqsml "...?" + n 2tsqctl "Oho?" + n 4nchts "Is that a hint of {i}jealousy{/i} I spy there,{w=0.2} [player]?{w=1}{nw}" extend 1fsqsmleme " Ehehe." - n 1uchgn "Well,{w=0.2} can't say I blame you!" - n 1fllbg "I mean...{w=0.5}{nw}" - extend 1fspgsedz " have you {i}seen{/i} this right here?" + n 2uchgn "Well,{w=0.2} can't say I blame you!" + n 2fllbg "I mean...{w=0.5}{nw}" + extend 4fspgsedz " have you {i}seen{/i} this right here?" n 1ncsajsbl "...And no,{w=0.5}{nw}" - extend 1fslpo " I don't care how unhealthy it is." + extend 2fslpo " I don't care how unhealthy it is." n 1fsqcaesi "I {i}always{/i} make an exception for hot chocolate." - n 1fcstr "Besides,{w=0.2} you know what they say." - n 1fchgn "...Go big or go home,{w=0.3} right?{w=0.75}{nw}" - extend 1fchsml " Ehehe." + n 4fcstr "Besides,{w=0.2} you know what they say." + n 2fchgn "...Go big or go home,{w=0.3} right?{w=0.75}{nw}" + extend 2fchsml " Ehehe." n 1fllgs "Seriously,{w=0.2} hot chocolate just wouldn't {i}be{/i} hot chocolate without {i}all{/i} the extras!" - n 1fcsgs "Cream?{w=0.3} Check!{w=0.3} Marshmallows?{w=0.3} Check!" - n 1fsqcal "...My special panda mug?{w=1.25}{nw}" - extend 1fcssml " Check again!" + n 2fcsgs "Cream?{w=0.3} Check!{w=0.3} Marshmallows?{w=0.3} Check!" + n 2fsqcal "...My special panda mug?{w=1.25}{nw}" + extend 4fcssml " Check again!" n 1fchbgl "Perfection!{w=0.75}{nw}" - extend 1fcstsl " If I do say so myself~." + extend 2fcstsl " If I do say so myself~." - n 1ullss "Well,{w=0.5}{nw}" - extend 1fsqss " as much as I'm sure you'd {i}love{/i} to share this with me,{w=0.2} [player]..." + n 2ullss "Well,{w=0.5}{nw}" + extend 4fsqss " as much as I'm sure you'd {i}love{/i} to share this with me,{w=0.2} [player]..." n 1fcscaesi "There's some things I just can't allow.{w=0.75}{nw}" extend 1fsqsm " Ehehe." - n 1fsqbg "So!{w=0.5} Prepare yourself." - n 1fchbg "...'Cause I'm gonna share some pretty {i}hot{/i} tips of my own instead!" - n 1fsqbg "That's right,{w=0.2} [player].{w=1}{nw}" - extend 1fchbledz " You've got front row seats to another lesson from yours truly~!" + n 2fsqbg "So!{w=0.5} Prepare yourself." + n 2fchbg "...'Cause I'm gonna share some pretty {i}hot{/i} tips of my own instead!" + n 4fsqbg "That's right,{w=0.2} [player].{w=1}{nw}" + extend 2fchbledz " You've got front row seats to another lesson from yours truly~!" n 1fcsaj "As you can see,{w=0.75}{nw}" - extend 1fcstr " it isn't exactly hard to stay nice and toasty if you know what you're doing..." - n 1fchsm "...And it all begins with what you wear!" - n 1fllpu "Think of it as a fight:{w=0.75}{nw}" + extend 2fcstr " it isn't exactly hard to stay nice and toasty if you know what you're doing..." + n 2fchsm "...And it all begins with what you wear!" + n 4fllpu "Think of it as a fight:{w=0.75}{nw}" extend 1flrem " the cold is your opponent,{w=1}{nw}" - extend 1fcspoesi " and your clothing is your armor!" + extend 2fcspoesi " and your clothing is your armor!" - n 1ullaj "Now{w=0.2} -{w=0.2} obviously,{w=0.2} you're gonna want to start with layers.{w=0.75}{nw}" - extend 1nsrss " You probably knew that much already." + n 2ullaj "Now{w=0.2} -{w=0.2} obviously,{w=0.2} you're gonna want to start with layers.{w=0.75}{nw}" + extend 2nsrss " You probably knew that much already." n 1fnmgs "But that doesn't mean you should just throw on {i}anything{/i} you can find!" - n 1fcspo "You really gotta {i}think{/i} about what exactly you're putting on -{w=1}{nw}" - extend 1unmaj " like the material!" - n 1fslaj "If your clothes aren't breathable,{w=0.75}{nw}" - extend 1fsqpu " then you'll just end up getting all sticky and sweaty under all that fabric..." + n 4fcspo "You really gotta {i}think{/i} about what exactly you're putting on -{w=1}{nw}" + extend 4unmaj " like the material!" + n 2fslaj "If your clothes aren't breathable,{w=0.75}{nw}" + extend 2fsqpu " then you'll just end up getting all sticky and sweaty under all that fabric..." n 1fcsan "...And wet clothes are useless at keeping the heat in!" - n 1ksqup "The last thing you want is being freezing cold {i}and{/i} stinky..." - n 1fcsaj "So pick your layers{w=0.75}{nw}" - extend 1fslpu " -{w=0.5} and how many of them -{w=0.5}{nw}" - extend 1fchsm " wisely!" + n 4ksqup "The last thing you want is being freezing cold {i}and{/i} stinky..." + n 2fcsaj "So pick your layers{w=0.75}{nw}" + extend 2fslpu " -{w=0.5} and how many of them -{w=0.5}{nw}" + extend 2fchsm " wisely!" - n 1fcsgs "Next up: ditch the tight clothes!" + n 2fcsgs "Next up: ditch the tight clothes!" n 1nsqem "You {i}really{/i} want stuff that gives you at least some kind of gap between your skin and the fabric." n 1ullaj "That way,{w=0.2} all the heat from your body stays trapped around you -{w=0.75}{nw}" - extend 1fchgn " like a little toasty shield!" - n 1flrsl "If you just wear something like leggings,{w=0.5}{nw}" + extend 4fchgn " like a little toasty shield!" + n 4flrsl "If you just wear something like leggings,{w=0.5}{nw}" extend 1fsqsl " then all that warmth goes straight from your body,{w=0.2} into the cloth..." - n 1fllem "...And then the air just snatches it away,{w=0.2} like a professional freeloader!{w=0.75}{nw}" - extend 1fcswr " What a waste!" - n 1fslss "Besides,{w=0.2} unless you're a professional cyclist or something,{w=1}{nw}" - extend 1fsqss " I {i}highly{/i} doubt you need the aerodynamics..." - n 1fchbg "So keep 'em nice and baggy,{w=0.2} [player]!{w=0.75}{nw}" - extend 1nchgn " Easy peasy!" - - n 1uwdaj "Oh -{w=0.5}{nw}" + n 2fllem "...And then the air just snatches it away,{w=0.2} like a professional freeloader!{w=0.75}{nw}" + extend 2fcswr " What a waste!" + n 4fslss "Besides,{w=0.2} unless you're a professional cyclist or something,{w=1}{nw}" + extend 2fsqss " I {i}highly{/i} doubt you need the aerodynamics..." + n 2fchbg "So keep 'em nice and baggy,{w=0.2} [player]!{w=0.75}{nw}" + extend 4nchgn " Easy peasy!" + + n 4uwdaj "Oh -{w=0.5}{nw}" extend 1nllaj " right,{w=0.2} and most of all?" n 1ncssr "..." - n 1nsqaj "...Just don't be a dork about going outside,{w=0.2} alright?" - n 1nslss "I mean,{w=0.2} I get it -{w=0.5}{nw}" + n 2nsqaj "...Just don't be a dork about going outside,{w=0.2} alright?" + n 4nslss "I mean,{w=0.2} I get it -{w=0.5}{nw}" extend 1ksqss " sometimes you just have things that {i}need{/i} to be done out there.{w=0.75}{nw}" extend 1ksrsm " It happens.{w=1}{nw}" - extend 1ksrsl " But..." - n 1ksqbo "...Just know your limits.{w=0.5}{nw}" + extend 4ksrsl " But..." + n 4ksqbo "...Just know your limits.{w=0.5}{nw}" extend 1ksqpo " Warm up {i}properly{/i} if you've spent ages in crappy weather,{w=0.5}{nw}" extend 1fslpo " or nasty old buildings..." - n 1fcsaj "Decent shelter,{w=0.2} hot drinks,{w=0.5}{nw}" + n 2fcsaj "Decent shelter,{w=0.2} hot drinks,{w=0.5}{nw}" if Natsuki.isLove(higher=True): - extend 1tslss " warm food..." + extend 2tslss " warm food..." n 1nsldvleafsbl "Some quality time with your favourite girl..." - n 1fchsmlsbl "I-{w=0.2}it all counts!" + n 4fchsmlsbl "I-{w=0.2}it all counts!" elif Natsuki.isAffectionate(higher=True): - extend 1tslss " warm food..." + extend 2tslss " warm food..." n 1fsrdvl "S-{w=0.2}some quality time with a certain someone..." - n 1fcssslsbr "I-{w=0.2}it all counts!" + n 4fcssslsbr "I-{w=0.2}it all counts!" else: - extend 1tslss " warm food...{w=0.5}{nw}" - extend 1unmaj " you'd be surprised how much a little baking can turn up the heat!" + extend 2tslss " warm food...{w=0.5}{nw}" + extend 4unmaj " you'd be surprised how much a little baking can turn up the heat!" n 1fslslsbr "...Speaking from experience." n 1kslsl "..." - n 1fcsbgsbr "B-{w=0.2}but yeah!" + n 2fcsbgsbr "B-{w=0.2}but yeah!" show prop hot_chocolate cold - n 1nchsm "And that about {i}wraps{/i} things up!{w=0.75}" - extend 1nllss " I-" + n 2nchsm "And that about {i}wraps{/i} things up!{w=0.75}" + extend 2nllss " I-" n 1unmsf "..." - n 1udwemeshsbl "...!" - n 1uskemsbl "M-{w=0.2}my drink!{w=1}{nw}" - extend 1kbkwresssbr " I-{w=0.2}it's getting all cold!{w=0.75}{nw}" + n 4udwemeshsbl "...!" + n 4uskemsbl "M-{w=0.2}my drink!{w=1}{nw}" + extend 4kbkwresssbr " I-{w=0.2}it's getting all cold!{w=0.75}{nw}" - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(1) hide prop hot_chocolate play audio straw_sip @@ -2025,12 +2065,12 @@ label event_warm_package: hide black with Dissolve(2) n 1kcsbgesi "Haaah...{w=1.25}{nw}" - extend 1nchtseme " much better!" - n 1fsqsm "Now that's out of the way,{w=0.2} [player]..." - n 1usqbg "...How about {i}you{/i} warm up that conversational muscle of yours?{w=1}{nw}" + extend 4nchtseme " much better!" + n 3fsqsm "Now that's out of the way,{w=0.2} [player]..." + n 3usqbg "...How about {i}you{/i} warm up that conversational muscle of yours?{w=1}{nw}" extend 1fsqsmeme " Ehehe." - n 1tsqss "Well?{w=0.75}{nw}" - extend 1fchbl " I'm waiting!" + n 2tsqss "Well?{w=0.75}{nw}" + extend 2fchbl " I'm waiting!" return @@ -2040,14 +2080,14 @@ label event_warm_package: label holiday_prelude: n 1tllbo "..." n 1ullpu "...You know,{w=0.75}{nw}" - extend 1fsrcaesp " it almost feels like I'm missing something." - n 1fsrpu "...{w=1}{nw}" + extend 3fsrcaesp " it almost feels like I'm missing something." + n 3fsrpu "...{w=1}{nw}" n 1uskemlesh "...!{w=0.5}{nw}" n 1fbkwrl "J-{w=0.3}just a second!{w=1}{nw}" - extend 1flrpol " I-{w=0.2}I'll be right back!{w=1}{nw}" + extend 2flrpol " I-{w=0.2}I'll be right back!{w=1}{nw}" hide screen hkb_overlay - show black zorder jn_events.JN_EVENT_BLACK_ZORDER + show black zorder JN_BLACK_ZORDER stop music hide prop hide deco @@ -2060,14 +2100,14 @@ label holiday_prelude: label holiday_interlude: n 1fllbo "..." n 1tllpu "You know..." - n 1tnmpueqm "I feel like I'm forgetting something else." - n 1fsrpu "...{w=1}{nw}" + n 4tnmpueqm "I feel like I'm forgetting something else." + n 2fsrpu "...{w=1}{nw}" n 1uskemlesh "...!{w=0.5}{nw}" n 1fbkwrl "J-{w=0.3}just a second!{w=1}{nw}" - extend 1flrpol " Don't go anywhere!{w=1}{nw}" + extend 2flrpol " Don't go anywhere!{w=1}{nw}" hide screen hkb_overlay - show black zorder jn_events.JN_EVENT_BLACK_ZORDER + show black zorder JN_BLACK_ZORDER stop music hide prop hide deco @@ -2095,50 +2135,50 @@ label holiday_new_years_day: n 1uchbg "TWO!" n 1unmajesu "ON-" n 1fskemesh "...!" - n 1fcsanless "Uuuuuuuu-!" - n 1fcsemless "Are you{w=0.5}{nw}" - extend 1fcswrl " {cps=\10}freaking{/cps}{w=0.5}{nw}" + n 3fcsanless "Uuuuuuuu-!" + n 3fcsemless "Are you{w=0.5}{nw}" + extend 3fcswrl " {cps=\10}freaking{/cps}{w=0.5}{nw}" extend 1fbkwrlean " {i}kidding{/i} me?!" n 1kskem "I missed it?!{w=0.5}{nw}" extend 1kskwr " {b}AGAIN?!{/b}" - n 1fcsfu "Ugh!{w=0.5}{nw}" + n 3fcsfu "Ugh!{w=0.5}{nw}" n 1fbkwrlean "How do I {i}always{/i} miss something that only happens once a year?!{w=1.25}{nw}" - extend 1kslfreso " I can't {i}believe{/i} I was so off with the timing!" + extend 4kslfreso " I can't {i}believe{/i} I was so off with the timing!" if jn_is_day(): - n 1tnmpu "...Really off,{w=0.1} actually.{w=0.5} Now that I look at the time.{w=1}{nw}" - extend 1nsrpo " Almost impressively." + n 4tnmpu "...Really off,{w=0.2} actually.{w=0.5} Now that I look at the time.{w=1}{nw}" + extend 4nsrpo " Almost impressively." n 1kcsemedr "Jeez..." - n 1fslajl "You could have at least woken me up sooner,{w=0.5}{nw}" - extend 1fsqpol " you jerk." + n 3fslajl "You could have at least woken me up sooner,{w=0.5}{nw}" + extend 3fsqpol " you jerk." n 1nslpu "But...{w=1}{nw}" - extend 1tsqsl " I suppose I can't give you too much of a hard time for it,{w=0.1} [player]." + extend 1tsqsl " I suppose I can't give you too much of a hard time for it,{w=0.2} [player]." n 1fcsbg " Your hangover can do that for me.{w=0.5}{nw}" extend 1fcsajsbr " Anyway!" else: n 1kcsemedr "Man..." - n 1fsrpu "Now that's gonna bug me from the rest of the day..." - n 1fslsrl "Way to start the new year,{w=0.1} huh?" + n 2fsrpu "Now that's gonna bug me from the rest of the day..." + n 2fslsrl "Way to start the new year,{w=0.2} huh?" n 1fcspoesi "..." - n 1fcsajsbr "Well,{w=0.1} whatever!" + n 1fcsajsbr "Well,{w=0.2} whatever!" n 1fcsemlsbr "Missing the new year?{w=0.5}{nw}" - extend 1flrbgsbl " M-{w=0.3}merely a minor setback!" + extend 2flrbgsbl " M-{w=0.3}merely a minor setback!" n 1fcsajsbr "Besides,{w=0.5}{nw}" - extend 1fllbgsbr " it's not like we're gonna run out of years to count!{w=1}{nw}" - extend 1nsrsssbr " Probably." + extend 3fllbgsbr " it's not like we're gonna run out of years to count!{w=1}{nw}" + extend 3nsrsssbr " Probably." n 1nllpusbr "It's...{w=1}{nw}" extend 1nsqsssbl " kinda getting harder to tell these days, huh?" n 1kllbosbl "..." - n 1unmsl "In all seriousness though,{w=0.1} [player]?" - n 1nslss "I know I've already kinda trashed my clean start..." - n 1fnmbol "But that doesn't mean you're off the hook." - n 1fcsss "Yeah,{w=0.1} yeah.{w=0.5} I know." + n 1unmsl "In all seriousness though,{w=0.2} [player]?" + n 3nslss "I know I've already kinda trashed my clean start..." + n 4fnmbol "But that doesn't mean you're off the hook." + n 1fcsss "Yeah,{w=0.2} yeah.{w=0.5} I know." n 1fslss "I'm not gonna give you a whole lecture on fresh starts,{w=1}{nw}" extend 1tlrbo " hitting the gym{w=0.5}{nw}" - extend 1tnmss " or anything like that." + extend 4tnmss " or anything like that." if jn_is_day(): n 1fchgn "{i}Something{/i} tells me you wouldn't appreciate the extra headache!" @@ -2149,15 +2189,15 @@ label holiday_new_years_day: n 1ucspu "Just..." if Natsuki.isAffectionate(higher=True): - extend 1fnmpul " promise me something,{w=0.1} [player].{w=0.5}{nw}" - extend 1knmbol " Please?" + extend 4fnmpul " promise me something,{w=0.2} [player].{w=0.5}{nw}" + extend 4knmbol " Please?" else: extend 1fnmpu " do one thing for me.{w=0.5}{nw}" - extend 1knmbol " Please?" + extend 4knmbol " Please?" - n 1kslbol "..." - n 1kplpulsbl "Reach out to someone today.{w=0.5}{nw}" + n 2kslbol "..." + n 2kplpulsbl "Reach out to someone today.{w=0.5}{nw}" if Natsuki.isEnamored(higher=True): extend 1fcsajfesssbl " A-{w=0.2}and I don't mean me.{w=0.5}{nw}" @@ -2167,50 +2207,50 @@ label holiday_new_years_day: extend 1fcsajfesssbl " A-{w=0.2}and I don't mean me.{w=0.5}{nw}" n 1fcsun "Please...{w=1}{nw}" - extend 1fcspul " hear me out,{w=0.1} alright?" - n 1kllun "Not everyone has the luxury of friends or family.{w=1}{nw}" - extend 1ksqpu " And trust me when I say not everyone looks forward to a new year..." + extend 1fcspul " hear me out,{w=0.2} alright?" + n 2kllun "Not everyone has the luxury of friends or family.{w=1}{nw}" + extend 4ksqpu " And trust me when I say not everyone looks forward to a new year..." n 1knmsl "But the right message really {i}can{/i} make all the difference." - n 1klrsl "...And you never know if you'll always have the chance to send it." + n 2klrsl "...And you never know if you'll always have the chance to send it." n 1ncspu "Some family you don't get along with,{w=1}{nw}" extend 1nllsr " a friend you've drifted away from..." - n 1knmpu "They won't...{w=0.5}{nw}" - extend 1kllpu " be there{w=0.5}{nw}" - extend 1fslunl " forever." - n 1kslunltsb "...Just like my friends,{w=0.3} [player]." - n 1fcsajftsa "A-{w=0.1}and remembering the people around you is just as important as any stupid resolution." + n 4knmpu "They won't...{w=0.5}{nw}" + extend 4kllpu " be there{w=0.5}{nw}" + extend 4fslunl " forever." + n 2kslunltsb "...Just like my friends,{w=0.3} [player]." + n 1fcsajftsa "A-{w=0.2}and remembering the people around you is just as important as any stupid resolution." n 1fnmsrl "So I don't care {i}how{/i} you do it.{w=1}{nw}" extend 1fllpul " Text message,{w=0.35} phone call,{w=0.35} whatever." n 1fcspul "But please...{w=0.5}{nw}" - extend 1kllsrl " do something,{w=0.1} alright?{w=1}{nw}" - extend 1fnmbol " For yourself just as much as them." + extend 1kllsrl " do something,{w=0.2} alright?{w=1}{nw}" + extend 4fnmbol " For yourself just as much as them." - n 1nlrunl "..." + n 4nlrunl "..." n 1ncsajl "Oh,{w=0.5}{nw}" - extend 1nsleml " jeez." + extend 2nsleml " jeez." $ current_year = datetime.date.today().year - n 1fllunlsbr "We're barely into [current_year] and I'm already making things all serious..." + n 3fllunlsbr "We're barely into [current_year] and I'm already making things all serious..." n 1fslsslsbr "Heh.{w=0.5}{nw}" - extend 1tsqpu " So much for a lighthearted celebration,{w=0.1} right?" - n 1tnmpu "But [player]?" - n 1kllsl "..." + extend 1tsqpu " So much for a lighthearted celebration,{w=0.2} right?" + n 4tnmpu "But [player]?" + n 2kllsl "..." if Natsuki.isEnamored(higher=True): - n 1knmsll "...Thank you." - n 1kllssl "For this year,{w=0.1} I mean." - n 1fcsemlesssbl "I-{w=0.2}I know I don't show it a lot!{w=0.5}{nw}" - extend 1klrpul " But...{w=0.5}{nw}" - extend 1knmpul " just taking time out of your day to visit me,{w=0.75}{nw}" - extend 1kllssl " listening to all my nonsense,{w=0.75}{nw}" - extend 1fsldvl " dealing with my crap sometimes..." + n 4knmsll "...Thank you." + n 1kllssl "For this year,{w=0.2} I mean." + n 2fcsemlesssbl "I-{w=0.2}I know I don't show it a lot!{w=0.5}{nw}" + extend 2klrpul " But...{w=0.5}{nw}" + extend 2knmpul " just taking time out of your day to visit me,{w=0.75}{nw}" + extend 2kllssl " listening to all my nonsense,{w=0.75}{nw}" + extend 2fsldvl " dealing with my crap sometimes..." n 1knmbol "...It matters." - n 1kllssl "It really does,{w=0.1} heh.{w=1.25}{nw}" - extend 1kllbofsbr " A lot." + n 1kllssl "It really does,{w=0.2} heh.{w=1.25}{nw}" + extend 4kllbofsbr " A lot." n 1kllajf "And...{w=1}{nw}" - extend 1knmpufsbr " one last thing?" + extend 4knmpufsbr " one last thing?" n 1fcsunfsbr "..." - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) play audio clothing_ruffle $ jnPause(3.5) @@ -2220,51 +2260,292 @@ label holiday_new_years_day: $ jnPause(1.5) hide black with Dissolve(1.25) $ chosen_endearment = random.choice(jn_globals.DEFAULT_PLAYER_ENDEARMENTS) - n 1kwmsmf "...Happy new year,{w=0.1} [chosen_endearment].{w=1.25}{nw}" - extend 1kllssfess " Ehehe." + n 4kwmsmf "...Happy new year,{w=0.2} [chosen_endearment].{w=1.25}{nw}" + extend 4kllssfess " Ehehe." else: show natsuki 1nsldvlsbl at jn_center zorder JN_NATSUKI_ZORDER $ jnPause(1.5) hide black with Dissolve(1.25) $ chosen_tease = random.choice(jn_globals.DEFAULT_PLAYER_TEASE_NAMES) - n 1klrssf "Heh." - n 1fchsmfess "...Happy new year,{w=0.1} [chosen_tease]." + n 4klrssf "Heh." + n 1fchsmfess "...Happy new year,{w=0.2} [chosen_tease]." else: n 1knmsll "...Thanks.{w=0.75}{nw}" - extend 1fcsemlsbl " F-{w=0.2}for this year,{w=0.1} I mean." + extend 3fcsemlsbl " F-{w=0.2}for this year,{w=0.2} I mean." n 1fslbolesssbl "I...{w=0.5}{nw}" - extend 1knmboless " really appreciate that you've spent so much time with me already." + extend 4knmboless " really appreciate that you've spent so much time with me already." n 1kllssless "Even if I {i}am{/i} just a grouchy girl stuck in some{w=0.5}{nw}" - extend 1fsrssl " magical space classroom." + extend 2fsrssl " magical space classroom." n 1nlrunl "..." n 1kbkwrl "Seriously!{w=0.2} I do!" - n 1fllanlsbl "It's..." + n 3fllanlsbl "It's..." n 1kcsemlesisbl "..." - n 1ksrpol "I-{w=0.3}it just means a lot to me,{w=0.1} okay?" + n 2ksrpol "I-{w=0.3}it just means a lot to me,{w=0.2} okay?" n 1ksrpul "And...{w=0.75}{nw}" extend 1knmssl " one last thing?" n 1ncsajl "..." n 1fcsunl "..." - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) show natsuki 1fsldvlsbl at jn_center zorder JN_NATSUKI_ZORDER play audio clothing_ruffle $ jnPause(3.5) hide black with Dissolve(1.25) - n 1fsqdvlesssbr "...H-{w=0.2}happy new year,{w=0.1} dummy." - n 1nslsslesssbl "A-{w=0.2}and if anyone asks,{w=0.3} that never happened.{w=1}{nw}" - extend 1fsldvlesssbl " Ehehe..." + n 4fsqdvlesssbr "...H-{w=0.2}happy new year,{w=0.2} dummy." + n 4nslsslesssbl "A-{w=0.2}and if anyone asks,{w=0.3} that never happened.{w=1}{nw}" + extend 4fsldvlesssbl " Ehehe..." $ jn_events.getHoliday("holiday_new_years_day").complete() return label holiday_valentines_day: - #TODO: writing + $ valentine_outfit = jn_outfits.get_outfit("jn_ruffle_neck_sweater_outfit") + $ valentine_outfit.unlock() + $ jn_outfits.save_temporary_outfit(valentine_outfit) + $ player_has_gifted_clothes = len(jn_outfits.JNWearable.filter_wearables(jn_outfits.get_all_wearables(), True, False)) > 0 $ jn_events.getHoliday("holiday_valentines_day").run() + + n 1uskfllsbr "...!{w=0.75}{nw}" + n 1uskwrlsbr "A-{w=0.2}ah!{w=0.75}{nw}" + extend 1flrbglsbr " [player]!" + n 1fcsajlsbl "Well,{w=1}{nw}" + extend 1fcsgslsbl " didn't you take your sweet time showing up?{w=0.75}{nw}" + extend 1fllemlsbl " Yeesh!" + n 1fcsemlsbl "I mean,{w=0.75}{nw}" + extend 1fcsgsl " come on!{w=1}{nw}" + extend 1fnmpol " Did you totally forget what day it was or something?{w=1}{nw}" + extend 1fsqpol " Do I {i}seriously{/i} have to remind you?" + n 1fcswrl "I'm not your personal assistant,{w=0.2} you know!" + n 1fsqpol "..." + n 1fsqpul "...Huh?{w=0.75}{nw}" + extend 1tsqfll " What?" + n 1nlrfllsbl "What's that look for,{w=0.5}{nw}" + extend 1knmfllsbl " all of a sudden?" + + if Natsuki.isLove(higher=True): + n 1knmbolsbl "..." + n 1udweml "O-{w=0.2}oh!{w=0.75}{nw}" + extend 1fcseml " Right.{w=1}{nw}" + extend 1nsrbolsbl " T-{w=0.2}the chocolates." + n 1ksrbolsbl "..." + n 1ksqfllsbl "...Come on,{w=0.2} [player].{w=1}{nw}" + extend 1knmfllsbl " Isn't it obvious?{w=1}{nw}" + extend 1klrfllsbl " Why else do you think I'd {i}magically{/i} have a box of them ready?" + n 1ksrslfsbl "...T-{w=0.2}they're yours." + n 1fcsajlsbl "I-{w=0.2}I know I can't exactly give you them..." + n 1nslpulsbl "Well.{w=1}{nw}" + extend 1nslsslsbr " Unless you count smearing them all over the screen or something.{w=1}{nw}" + extend 1kslbolsbr " But..." + n 1kslunlsbr "..." + n 1fcsunlsbr "I had to do something!{w=0.75}{nw}" + extend 1flrfllsbr " A-{w=0.2}and not just because we're...{w=1.25}{nw}" + extend 1ksrbof " y-{w=0.2}you know." + n 1kcsfll "It's just..." + n 1kslsll "..." + n 1kslpul "You've...{w=0.75}{nw}" + extend 1kllbol " really done so much for me already.{w=1}{nw}" + extend 1knmbol " You know?" + n 1knmfll "...And for a super long time now too." + n 1ncsajl "Yeah,{w=0.2} you brought me back.{w=1.25}{nw}" + extend 1nsrfsl " Obviously.{w=1}{nw}" + extend 1knmbol " But it's all the small things I {i}really{/i} care about,{w=0.2} [player]." + n 1kllbol "It's how many times you've come to visit me." + n 1kllsslsbr "It's how you always let me talk your ears off about random stuff." + + if persistent.jn_custom_outfits_unlocked and player_has_gifted_clothes: + n 1klrajlsbr "It's all the new stuff you've just...{w=1}{nw}" + extend 1klrsllsbr " given me.{w=1.25}{nw}" + extend 1ksrpol " Even if I never asked for it." + + n 1kcspulesi "..." + n 1ksqsll "...Look.{w=1}{nw}" + extend 1klrsll " I've never been good at this kind of stuff.{w=1.25}{nw}" + extend 1fcsunlsbl " I-{w=0.2}I always struggle with it." + n 1fcspulsbl "Especially when it's all just...{w=0.75}{nw}" + extend 1ksrsllsbl " so new to me.{w=0.75}{nw}" + extend 1kllsllsbl " Having someone who..." + n 1kllsrlsbl "..." + n 1kllfllsbl "...Who really cares about me." + n 1knmpulsbl "S-{w=0.2}someone who{w=0.75}{nw}" + extend 1ksrpufsbr " loves{w=0.75}{nw}" + extend 1ksrbofsbr " me." + n 1kcsajlsbr "But what I'm trying to say is..." + n 1ksrbolsbr "..." + n 1knmbolsbr "...It's appreciated,{w=0.2} [player].{w=0.75}{nw}" + extend 1knmfllsbr " Really.{w=1}{nw}" + extend 1kllbolsbl " A whole lot more than you think." + n 1knmbofsbl "And...{w=0.5} I really wanted you to know that." + n 1fcsemfsbl "Even if it means I gotta feel all awkward in the process." + extend 1ksrbof " That's what {i}really{/i} matters." + n 1ksrajf "So...{w=1.25}{nw}" + extend 1ksrssf " yeah." + n 1ksrfsf "..." + n 1knmfsf "...And [player]?" + n 1kslcafsbr "..." + + show natsuki 1fcscafsbr + play audio chair_out + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(3) + + play audio drawer + $ jnPause(3) + play audio clothing_ruffle + + $ valentine_special_outfit = jn_outfits.get_outfit("jn_heart_sweater_outfit") + $ valentine_special_outfit.unlock() + $ jn_outfits.save_temporary_outfit(valentine_special_outfit) + show natsuki 1nsrdvfess at jn_center + + $ jnPause(5) + play audio chair_in + $ jnPause(2) + hide black with Dissolve(2) + $ jnPause(1) + + n 1fsrssf "S-{w=0.2}surprise." + show prop f14_heart give + $ chosen_endearment = jn_utils.getRandomEndearment() + n 1fchbgfesssbl "H-{w=0.2}happy Valentine's day,{w=0.2} [chosen_endearment].{w=1.25}{nw}" + extend 1fchsmfesssbl " Ehehe." + + elif Natsuki.isEnamored(higher=True): + n 1uskwrlesh "A-{w=0.2}ah!{w=0.5}{nw}" + extend 1udwfll " T-{w=0.2}this thing?" + n 1fcsgslsbr "I mean,{w=0.2} it's obviously..." + n 1fslunlsbr "..." + n 1fcsemlsbr "I-{w=0.2}it's...!" + n 1fcsanlsbr "Uuuuuuuu...!" + n 1fbkwrlsbr "C-{w=0.2}come on,{w=0.2} [player]!{w=0.75}{nw}" + extend 1fnmemlsbl " Can't you read the room by now?{w=1}{nw}" + extend 1klrfllsbl " Who {i}else{/i} do you see around here?" + n 1flrfllsbl "Jeez...{w=0.75}{nw}" + extend 1ksremlsbl " as if this wasn't awkward enough..." + n 1fcsunlsbl "..." + n 1ncspulesi "..." + n 1flrbol "...I made them for you,{w=0.75}{nw}" + extend 1fnmbol " okay?{w=1}{nw}" + extend 1fslcalsbl " You wouldn't {i}believe{/i} how hard it was to find all this stuff." + n 1fcsemfsbl "I-{w=0.2}I know we're not like {i}that{/i}!{w=0.75}{nw}" + extend 1flrslf " And I know I can't exactly just hand them over.{w=1}{nw}" + extend 1klrbof " But that's not the point at all." + n 1klrfll "It's just that..." + n 1ksrsll "..." + n 1ksrfll "Not doing {i}something{/i}...{w=0.75}{nw}" + extend 1fllbol " it just wouldn't have felt right.{w=1}{nw}" + extend 1kllbol " N-{w=0.2}not after everything you've done for me." + n 1fcscal "...A-{w=0.2}and I don't just mean bringing me back,{w=0.2} [player]." + n 1nlrsll "Hearing out all my random thoughts.{w=1}{nw}" + extend 1ksrbol " Bothering to come visit me all the time." + + if persistent.jn_custom_outfits_unlocked and player_has_gifted_clothes: + n 1fsrsslsbl "E-{w=0.2}even the dumb surprise gifts you {i}insist{/i} on giving me." + + n 1kllajl "It's all..." + n 1kslunl "..." + n 1ksqbolsbr "...It's appreciated.{w=1}{nw}" + extend 1knmbolsbr " Okay?{w=1.25}{nw}" + extend 1klrbolsbr " Really." + n 1ksrflf "...And I wanted to make sure you know that too." + n 1ksrslf "..." + n 1ksrajl "So...{w=1}{nw}" + extend 1nsrssl " yeah.{w=1.25}{nw}" + extend 1nsrcal " Here." + show prop f14_heart give + $ jnPause(3) + n 1ksrcal "..." + n 1nnmajl "...And [player]?" + n 1fslunlsbl "..." + + show prop f14_heart hold + show natsuki 1fcsunfsbl + play audio chair_out + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) + + play audio clothing_ruffle + $ jnPause(3) + show natsuki 1nsrbofsbr at jn_center + + $ jnPause(3) + play audio chair_in + $ jnPause(1) + hide black with Dissolve(2) + $ jnPause(2) + + show prop f14_heart give + n 1fsrfsfsbr "H-{w=0.2}happy Valentine's day." + + else: + n 1uskflleshsbr "...!{w=0.5}{nw}" + n 1fcsgslsbr "T-{w=0.2}this?!{w=0.75}{nw}" + extend 1flrgslsbr " It's..." + n 1fcsgslsbr "I-{w=0.2}it's...!" + n 1fcsanlsbr "Nnnnnnnn...!" + n 1fbkwrlsbr "W-{w=0.2}what do you {i}think{/i} it's for?!{w=0.75}{nw}" + extend 1flrwrlsbr " I don't {i}really{/i} have to spell it all out,{w=0.2} do I?{w=0.75}{nw}" + extend 1fcsemlsbr " Jeez!" + n 1fllemlsbr "I-{w=0.2}It's just...!" + n 1fslemlsbr "..." + n 1kslsllsbr "..." + n 1fcsemlsbr "...Okay,{w=0.75}{nw}" + extend 1flrbolsbl " look.{w=1}{nw}" + extend 1fsrsrlsbl " I'm not dumb." + n 1fcsgslsbl "I know we're not like...{w=0.75}{nw}" + extend 1fslunfsbl " that.{w=1.5}{nw}" + extend 1kslbolsbl " But..." + n 1kllbolsbl "..." + n 1fcsbolsbr "It just didn't feel right not doing {i}something{/i}.{w=1}{nw}" + extend 1fnmbolsbl " Think about it,{w=0.2} [player]." + n 1fcsemfsbl "Y-{w=0.2}you don't have to be all lovey-dovey with someone to show them they matter!{w=0.75}{nw}" + extend 1fsrcalsbl " Despite what all the corny adverts insist." + n 1fsqcalsbl "...And yes [player],{w=0.2} before you say anything.{w=0.75}{nw}" + extend 1fcscalsbl " Y-{w=0.2}you do matter." + n 1flrcalsbl "B-{w=0.2}bringing me back,{w=0.75}{nw}" + extend 1nllbol " listening to all my dumb thoughts..." + + if persistent.jn_custom_outfits_unlocked and player_has_gifted_clothes: + n 1kslbolsbr "All the new stuff you've given me." + + n 1ncsemlsbr "E-{w=0.2}even just...{w=1}{nw}" + extend 1kslsllsbr " showing up." + n 1ncsajlsbr "It's all..." + n 1klrbolsbr "..." + n 1kcsemlesisbr "..." + n 1ksqcal "...It's appreciated,{w=0.2} [player].{w=0.75}{nw}" + extend 1fcseml " A-{w=0.2}and I had to make sure you knew that." + n 1fcscal "W-{w=0.2}whether you wanted to or not." + n 1nslajl "So..." + n 1fslslf "..." + show prop f14_heart give + n 1fcsslfsbr "...Here." + n 1fcsajfsbr "Just pretend you're taking it or something,{w=0.75}{nw}" + extend 1flrcafsbr " I guess.{w=1.25}{nw}" + extend 1fsrpolsbr " Before I change my mind." + n 1nsrpolsbr "..." + n 1nsrpulsbr "And..." + n 1fcssslsbl "H...{w=0.75}{nw}" + extend 1fcspolsbl "happy Valentine's day,{w=0.2} [player]." + + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + $ jnPause(2) + play audio gift_close + $ jnPause(3) + play audio drawer + hide prop f14_heart + $ jnPause(3) + + if Natsuki.isLove(higher=True): + play audio kiss + $ jnPause(2.5) + + hide black with Dissolve(2) + $ jnPause(2) + $ jn_events.getHoliday("holiday_valentines_day").complete() return @@ -2301,54 +2582,54 @@ label holiday_christmas_eve: jn_events.getHoliday("holiday_christmas_eve").run() n 1uchbg "Heeeey!{w=0.75}{nw}" - extend 1uchbs " [player]!{w=0.5} [player]!" + extend 4uchbs " [player]!{w=0.5} [player]!" n 1uchgnedz "Guess what day it is?" n 1tsqsm "..." n 1fsqsm "Ehehe.{w=0.5}{nw}" extend 1fchbl " As {i}if{/i} I needed to remind you!" - n 1ulraj "Man..." - n 1tnmsssbr "Hard to believe it's Christmas Eve {i}already{/i},{w=0.2} huh?" - n 1nsrsssbr "It's actually almost spooky how quickly it rolls around.{w=1}{nw}" + n 3ulraj "Man..." + n 3tnmsssbr "Hard to believe it's Christmas Eve {i}already{/i},{w=0.2} huh?" + n 3nsrsssbr "It's actually almost spooky how quickly it rolls around.{w=1}{nw}" extend 1uwdajsbr " Seriously!" n 1fllem "I mean...{w=1}{nw}" extend 1nsqbo " the later part of the year mainly feels like just one big snooze-{w=0.2}fest." - n 1nsrem "School starts again,{w=0.75}{nw}" - extend 1fslem " it gets all cold and nasty outside,{w=0.75}{nw}" - extend 1nsqpo " everyone gets stuck indoors..." + n 2nsrem "School starts again,{w=0.75}{nw}" + extend 2fslem " it gets all cold and nasty outside,{w=0.75}{nw}" + extend 2nsqpo " everyone gets stuck indoors..." n 1fnmem "But then before you know it?{w=1}{nw}" extend 1fcsgs " December rolls around,{w=0.75}{nw}" extend 1fbkwr " and it's like all hell breaks loose!" - n 1fslan "Every time!{w=0.5} Like clockwork!" - n 1fcsemsbr "Yeesh,{w=0.5}{nw}" + n 3fslan "Every time!{w=0.5} Like clockwork!" + n 3fcsemsbr "Yeesh,{w=0.5}{nw}" extend 1tsqemsbr " you'd think with a whole {i}year{/i} to prepare,{w=1}{nw}" extend 1fslcasbr " people wouldn't {i}always{/i} leave things to the very last month." - n 1flrem "Like...{w=0.75}{nw}" - extend 1fcswr " who {i}does{/i} that to themselves?" + n 3flrem "Like...{w=0.75}{nw}" + extend 3fcswr " who {i}does{/i} that to themselves?" n 1fcsajeansbr "Oh,{w=0.75}{nw}" extend 1fcsgs " and don't even get me {i}started{/i} on the music {i}every{w=0.3} single{w=0.3} store{/i}{w=0.3} feels the need to play..." n 1fslsl "Ugh..." n 1fcspoesi "I swear,{w=0.2} it's like some kind of coordinated earache." n 1fllca "..." n 1unmgslsbl "D-{w=0.3}don't get me wrong!{w=0.75}{nw}" - extend 1fcsgslsbl " I'm no scrooge{nw}" - extend 1fcspolsbr "!" + extend 3fcsgslsbl " I'm no scrooge{nw}" + extend 3fcspolsbr "!" n 1fcsbglsbr "...I{w=0.2}-I'm just not stuck in the {i}Christmas past{/i},{w=0.2} that's all!{w=0.75}{nw}" - extend 1fchsml " Ehehe." + extend 4fchsml " Ehehe." n 1ullss "Well,{w=0.75}{nw}" extend 1nllbg " whatever.{w=1}{nw}" extend 1fchgn " At least {i}here{/i} we can change the record,{w=0.2} right?" n 1fsqbg "And speaking of which..." - n 1uchsmedz "What do you think of my decoration skills,{w=0.2} [player]?{w=0.75}{nw}" - extend 1fwlbgeme " Not bad for {i}just{/i} school supplies,{w=0.2} if I say so myself." + n 4uchsmedz "What do you think of my decoration skills,{w=0.2} [player]?{w=0.75}{nw}" + extend 4fwlbgeme " Not bad for {i}just{/i} school supplies,{w=0.2} if I say so myself." n 1fchbl "Just don't ask me where I got the tree!" n 1usqsm "...{w=1}{nw}" - n 1uwdajeex "Ah!{w=1}{nw}" - n 1fnmbg "But what about you,{w=0.2} [player]?{w=1}{nw}" - extend 1fsqsg " Huh?" + n 4uwdajeex "Ah!{w=1}{nw}" + n 3fnmbg "But what about you,{w=0.2} [player]?{w=1}{nw}" + extend 3fsqsg " Huh?" n 1fcsbg "You didn't {i}seriously{/i} think {i}you{/i} were off the hook for decorating,{w=0.2} did you?" n 1fchbg "Sorry!{w=0.75}{nw}" extend 1uchgnelg " Not a chance!" - n 1fcsbg "So...{w=1}{nw}" + n 4fcsbg "So...{w=1}{nw}" show natsuki 1tsqsm at jn_center @@ -2358,7 +2639,7 @@ label holiday_christmas_eve: "You bet I am!": n 1usqct "Oho?" n 1fchbg "Well,{w=0.2} no kidding!{w=1}{nw}" - extend 1fcsbs " Now that's {i}exactly{/i} what I like to hear." + extend 2fcsbs " Now that's {i}exactly{/i} what I like to hear." n 1fchbs "This year is gonna be {b}awesome{/b}!{w=0.75}{nw}" extend 1uchgnedz " I just know it!" @@ -2367,90 +2648,90 @@ label holiday_christmas_eve: "I haven't decorated yet.": n 1uskemlesh "H-{w=0.2}huh?!" n 1fbkwrl "T-{w=0.2}then what are you doing sitting around here,{w=0.2} you goof?!{w=0.75}{nw}" - extend 1fcsajlsbl " Jeez..." - n 1fcspolsbl "I'm not doing {i}your{/i} place too,{w=0.2} you know." + extend 3fcsajlsbl " Jeez..." + n 3fcspolsbl "I'm not doing {i}your{/i} place too,{w=0.2} you know." n 1fchbl "...Not for {i}free{/i},{w=0.2} anyway." $ persistent._jn_player_celebrates_christmas = True "I don't really celebrate Christmas.": - n 1kslpu "...Aww.{w=0.75}{nw}" - extend 1knmbo " Really?" + n 4kslpu "...Aww.{w=0.75}{nw}" + extend 4knmbo " Really?" n 1kllsl "..." n 1fcstrlsbr "I-{w=0.2}I mean,{w=0.75}{nw}" extend 1fchsmlsbl " that's totally fine." - n 1fsqsslsbl "...Just means I gotta celebrate for both of us!{w=0.75}{nw}" - extend 1fchsmleme " Ahaha." + n 2fsqsslsbl "...Just means I gotta celebrate for both of us!{w=0.75}{nw}" + extend 2fchsmleme " Ahaha." $ persistent._jn_player_celebrates_christmas = False n 1kslsm "..." n 1kslpu "But...{w=1}{nw}" - extend 1knmpu " in all seriousness,{w=0.2} [player]?" - n 1ksrbosbl "..." + extend 4knmpu " in all seriousness,{w=0.2} [player]?" + n 2ksrbosbl "..." if Natsuki.isEnamored(higher=True): n 1kcscalsbl "...Thanks." - n 1ksrajlsbl "For coming to see me today,{w=0.2} I mean." - n 1knmajl "It..." - n 1kslpul "..." + n 2ksrajlsbl "For coming to see me today,{w=0.2} I mean." + n 4knmajl "It..." + n 4kslpul "..." n 1kcsbolesi "It seriously means a lot.{w=1}{nw}" - extend 1kwmbol " You being here right now." - n 1ksrbol "...Probably more than you'd know." + extend 4kwmbol " You being here right now." + n 2ksrbol "...Probably more than you'd know." n 1klrbol "..." n 1kwmpuf "...I really should have been spending today with my friends,{w=0.2} [player].{w=1}{nw}" extend 1kllbol " But..." if Natsuki.isLove(higher=True): - n 1kwmfsfsbr "I-{w=0.3}I think I can settle for just you." + n 4kwmfsfsbr "I-{w=0.3}I think I can settle for just you." else: - n 1nslfsfsbr "I-{w=0.3}I can probably settle for you this year." + n 2nslfsfsbr "I-{w=0.3}I can probably settle for you this year." n 1kslbol "..." n 1kslpul "And...{w=0.75}{nw}" - extend 1ksqbol " [player]?" - n 1ksrfsfsbr "..." + extend 4ksqbol " [player]?" + n 2ksrfsfsbr "..." show natsuki 1fcscafsbr elif Natsuki.isAffectionate(higher=True): n 1kcscalsbl "...T-{w=0.2}thanks." n 1fcsemlsbl "F-{w=0.3}for being here today,{w=0.75}{nw}" - extend 1kslbolsbl " I mean." + extend 2kslbolsbl " I mean." n 1fcsbolsbr "I-{w=0.3}I know you didn't have to come visit at all.{w=0.75}{nw}" - extend 1ksrpulsbl " And I'd be a real jerk to demand it..." + extend 2ksrpulsbl " And I'd be a real jerk to demand it..." n 1knmpulsbl "So just..." n 1kslunlsbl "..." n 1fcsunf "Just...{w=0.75} know it's appreciated.{w=1.25}{nw}" - extend 1kwmunl " 'Kay?" - n 1kslbol "Really.{w=1.25}{nw}" - extend 1ksqbol " Thank you." + extend 4kwmunl " 'Kay?" + n 2kslbol "Really.{w=1.25}{nw}" + extend 4ksqbol " Thank you." n 1ksrcal "..." n 1ksrajlsbr "And...{w=1}{nw}" - extend 1knmajlsbr " [player]?" + extend 4knmajlsbr " [player]?" n 1kcsunfsbr "..." - show natsuki 1fcssrfsbr + show natsuki 2fcssrfsbr else: n 1kcscalsbl "...Thanks.{w=0.75}{nw}" extend 1fcsemlsbl " F-{w=0.3}for turning up today,{w=0.2} I mean." - n 1fcsgslesssbr "I-{w=0.2}I knew you would,{w=0.2} of course!" - n 1fcscal "A-{w=0.2}and besides." - extend 1fsrcal " Only a real jerk would leave someone all alone here,{w=1}{nw}" + n 3fcsgslesssbr "I-{w=0.2}I knew you would,{w=0.2} of course!" + n 3fcscal "A-{w=0.2}and besides." + extend 3fsrcal " Only a real jerk would leave someone all alone here,{w=1}{nw}" extend 1klrcafsbr " of all nights." n 1fcsajlsbr "So I..." n 1fllajlsbr "I..." - n 1kslsllsbr "..." + n 4kslsllsbr "..." n 1fcsunlsbr "I...{w=1.25}{nw}" extend 1kcspufesisbr " really appreciate it.{w=0.75}{nw}" - extend 1kwmbolsbr " I do." - n 1kslbolsbr "..." - n 1kwmpulsbr "...A-{w=0.2}and [player]?" - n 1fslunfsbl "..." + extend 4kwmbolsbr " I do." + n 4kslbolsbr "..." + n 4kwmpulsbr "...A-{w=0.2}and [player]?" + n 2fslunfsbl "..." show natsuki 1fcsunfesssbl play audio chair_out - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(2) if Natsuki.isEnamored(higher=True): @@ -2464,32 +2745,32 @@ label holiday_christmas_eve: else: play audio clothing_ruffle - show natsuki 1kcsbol at jn_center + show natsuki 4kcsbol at jn_center $ jnPause(3) play audio chair_in $ jnPause(2) if Natsuki.isLove(higher=True): - show overlay mistletoe zorder jn_events.JN_EVENT_OVERLAY_ZORDER at jn_mistletoe_lift + show overlay mistletoe zorder JN_OVERLAY_ZORDER at jn_mistletoe_lift hide black with Dissolve(1.25) if Natsuki.isLove(higher=True): - n 1fchsmf "M-{w=0.2}mind the mistletoe!" - n 1fchtsfeaf "Ehehe." + n 4fchsmf "M-{w=0.2}mind the mistletoe!" + n 4fchtsfeaf "Ehehe." hide overlay elif Natsuki.isEnamored(higher=True): - n 1kslsmlsbl "S-{w=0.2}so..." - n 1kwmsml "What did you wanna talk about,{w=0.2} [player]?{w=0.75}{nw}" + n 2kslsmlsbl "S-{w=0.2}so..." + n 4kwmsml "What did you wanna talk about,{w=0.2} [player]?{w=0.75}{nw}" extend 1fchsmlsbr " Ehehe." else: - n 1kslfsl "..." + n 2kslfsl "..." n 1ncsajlsbl "N-{w=0.3}now,{w=1}{nw}" - extend 1tsqsslsbl " where were we?" - n 1fsrdvlsbr "Ehehe..." + extend 4tsqsslsbl " where were we?" + n 3fsrdvlsbr "Ehehe..." $ Natsuki.calculatedAffinityGain(5, bypass=True) $ jn_events.getHoliday("holiday_christmas_eve").complete() @@ -2510,163 +2791,163 @@ label holiday_christmas_day: jn_events.getHoliday("holiday_christmas_day").run() n 1uwdgsesu "Omigosh!{w=0.5}{nw}" - extend 1uchbsl " Omigosh omigosh omigosh omigosh omigoooosh!" + extend 4uchbsl " Omigosh omigosh omigosh omigosh omigoooosh!" n 1unmbgleex "!{w=0.5}{nw}" - n 1uwdbgl "[player]!{w=0.75}{nw}" - extend 1uwdbsl " [player]!{w=0.2} [player]!" + n 4uwdbgl "[player]!{w=0.75}{nw}" + extend 4uwdbsl " [player]!{w=0.2} [player]!" n 1uchbsl "It's here!{w=0.75}{nw}" extend 1uchbgl " It's actually,{w=0.5}{nw}" extend 1fchbsl " finally,{w=0.5}{nw}" - extend 1uchgnleme " freaking{w=0.5} {i}HERE{/i}!" + extend 4uchgnleme " freaking{w=0.5} {i}HERE{/i}!" if jn_get_current_time_block in [JNTimeBlocks.early_morning, JNTimeBlocks.mid_morning, JNTimeBlocks.late_morning]: - n 1fspgs "Come on!{w=0.75}{nw}" + n 3fspgs "Come on!{w=0.75}{nw}" extend 1knmgs " Get the sleep out of your eyes already,{w=0.2} [player]!" n 1fcsss "Up and at 'em!{w=0.5}{nw}" - extend 1fchbg " C'mon,{w=0.2} [player]!" + extend 4fchbg " C'mon,{w=0.2} [player]!" else: - n 1fspgs "What even {i}took{/i} you so long?{w=0.75}{nw}" - extend 1fsqpoesi " Did you forget what day it was or something?{w=0.5}{nw}" - extend 1fcsgs " It's time to celebrate!" + n 3fspgs "What even {i}took{/i} you so long?{w=0.75}{nw}" + extend 3fsqpoesi " Did you forget what day it was or something?{w=0.5}{nw}" + extend 3fcsgs " It's time to celebrate!" n 1fcsbg "'Cause..." - n 1uchbsleme "IT'S CHRISTMAAAAS!{w=1}{nw}" + n 4uchbsleme "IT'S CHRISTMAAAAS!{w=1}{nw}" extend 1uchsmleme " Ehehe!" n 1kcssslesi "..." n 1kcsss "Man,{w=0.75}{nw}" - extend 1fchsm " it feels so good to {i}finally{/i} say that..." + extend 3fchsm " it feels so good to {i}finally{/i} say that..." n 1ullss "I mean...{w=0.75}{nw}" - extend 1tllss " it isn't as if I had tons planned or anything.{w=1}{nw}" - extend 1nsrss " ...Not like there's much {i}to{/i} plan here." + extend 2tllss " it isn't as if I had tons planned or anything.{w=1}{nw}" + extend 2nsrss " ...Not like there's much {i}to{/i} plan here." n 1ncsss "But there's just something about Christmas that brings that sense of relief,{w=0.5}{nw}" - extend 1ksqsm " you know?" + extend 4ksqsm " you know?" n 1fcssm "Studies can take a hike,{w=0.75}{nw}" extend 1ullaj " everything's all arranged and ready to go for everyone..." n 1tnmss "And even if it's just for a couple days..." - n 1fchbg "Just having all that weight and stress removed {i}rocks{/i}!{w=1}{nw}" - extend 1uchgn " It's great!" + n 4fchbg "Just having all that weight and stress removed {i}rocks{/i}!{w=1}{nw}" + extend 4uchgn " It's great!" n 1kcsssesi "Like I can just feel the stress of the year washing away from me..." - n 1fwlbl "And I don't even have to cook anything here!{w=0.75}{nw}" + n 4fwlbl "And I don't even have to cook anything here!{w=0.75}{nw}" extend 1fchsm " Ehehe..." - n 1kslsm "..." + n 2kslsm "..." n 1kslsr "..." n 1kcssr "..." n 1ncspu "It's...{w=0.75}{nw}" - extend 1kslpu " rough sometimes,{w=1}{nw}" - extend 1kslsl " you know." - n 1ksqsl "Christmas,{w=0.2} I mean." - n 1klrbo "..." + extend 2kslpu " rough sometimes,{w=1}{nw}" + extend 2kslsl " you know." + n 2ksqsl "Christmas,{w=0.2} I mean." + n 2klrbo "..." n 1kcspuesi "..." - n 1ksrslsbl "...How do I {i}even{/i} put this..." + n 4ksrslsbl "...How do I {i}even{/i} put this..." n 1fcsunsbl "..." n 1fcsaj "We..." - n 1ksrsl "W-{w=0.2}we were always 'traditional',{w=0.2} my family.{w=1}{nw}" + n 2ksrsl "W-{w=0.2}we were always 'traditional',{w=0.2} my family.{w=1}{nw}" extend 1ksqsl " I-{w=0.2}if we were asked." - n 1ncsss "...Heh.{w=1}{nw}" - extend 1tsqbo " Why,{w=0.2} you wonder?" - n 1kslbo "...Think about it,{w=0.2} [player]." + n 2ncsss "...Heh.{w=1}{nw}" + extend 4tsqbo " Why,{w=0.2} you wonder?" + n 2kslbo "...Think about it,{w=0.2} [player]." n 1ksqsr "..." n 1fcssr "...You don't need to buy gifts,{w=0.2} if you're {i}traditional{/i}.{w=1.25}{nw}" - extend 1fsrsl " You don't need to invite guests,{w=0.2} if you're {i}traditional{/i}." + extend 2fsrsl " You don't need to invite guests,{w=0.2} if you're {i}traditional{/i}." n 1ksqsl "..." n 1kllpu "You see where I'm going with this...{w=1}{nw}" - extend 1ksqbo " right?" - n 1fcsunl "N-{w=0.2}not celebrating it wasn't a {i}choice{/i} at my place,{w=0.2} [player]." + extend 4ksqbo " right?" + n 2fcsunl "N-{w=0.2}not celebrating it wasn't a {i}choice{/i} at my place,{w=0.2} [player]." n 1fcsbol "..." n 1ncspul "So..." n 1nnmbo "...I made my own.{w=0.75}{nw}" - extend 1kllbo " I'd sneak out." - n 1ncsss "Heh.{w=0.75}{nw}" - extend 1nslss " I'd already gotten {i}real{/i} good at figuring out where the squeaky floorboards were,{w=0.5}{nw}" + extend 2kllbo " I'd sneak out." + n 2ncsss "Heh.{w=0.75}{nw}" + extend 4nslss " I'd already gotten {i}real{/i} good at figuring out where the squeaky floorboards were,{w=0.5}{nw}" extend 1nslfs " I'll tell you that much." - n 1kslsll "I'd just leave for a couple hours." + n 2kslsll "I'd just leave for a couple hours." n 1nsrssl "Sure,{w=0.3} it was cold,{w=0.75}{nw}" extend 1ksrsrl " but..." n 1fsrunl "At least seeing all the decorations up on people's houses gave me {i}some{/i} sense of cheer." n 1fslsll "Besides.{w=0.3} Not like {i}they{/i} particularly cared where I was..." n 1kslsll "..." - n 1ksqbol "But my friends always did." - n 1knmpul "...We'd already arranged something,{w=1}{nw}" - extend 1knmbolsbr " you know." + n 4ksqbol "But my friends always did." + n 4knmpul "...We'd already arranged something,{w=1}{nw}" + extend 4knmbolsbr " you know." n 1kllbolsbr "For Christmas.{w=1}{nw}" - extend 1tnmbolsbr " Didn't I tell you,{w=0.2} [player]?" + extend 2tnmbolsbr " Didn't I tell you,{w=0.2} [player]?" n 1nllss "I was {i}meant{/i} to meet up with everyone,{w=0.75}{nw}" - extend 1nslfs " and we were supposed to head off to Yuri's together." - n 1kslss "...Heh.{w=0.75}{nw}" - extend 1knmbo " There was so much talk over where we'd all go." + extend 4nslfs " and we were supposed to head off to Yuri's together." + n 2kslss "...Heh.{w=0.75}{nw}" + extend 4knmbo " There was so much talk over where we'd all go." n 1klrsssbl "Sayori got so excited over hosting...{w=0.75}{nw}" - extend 1nsrsssbl " but it would have been {i}way{/i} too cramped for all of us." + extend 2nsrsssbl " but it would have been {i}way{/i} too cramped for all of us." n 1nlraj "Though...{w=1}{nw}" extend 1tnmbo " seriously?" n 1kslbo "..." n 1kcsaj "I...{w=0.75}{nw}" - extend 1kslfs " never really paid it much mind." + extend 2kslfs " never really paid it much mind." n 1ucsaj "Sayori's place,{w=0.75}{nw}" extend 1nlraj " Monika's...{w=1}{nw}" - extend 1ksrfs " It honestly didn't even matter." + extend 4ksrfs " It honestly didn't even matter." n 1knmbo "...Wherever I went?{w=1}{nw}" - extend 1tnmpu " So long as we were all together?" + extend 4tnmpu " So long as we were all together?" n 1kllbol "..." - n 1fcsunl "T-{w=0.3}that's where {i}my{/i} home was." - n 1fcsunltsa "..." - n 1fllunltsc "I didn't even care what I got." - n 1fcsunl "It didn't matter.{w=1}{nw}" - extend 1ksrsll " N-{w=0.2}not really." + n 2fcsunl "T-{w=0.3}that's where {i}my{/i} home was." + n 2fcsunltsa "..." + n 2fllunltsc "I didn't even care what I got." + n 2fcsunl "It didn't matter.{w=1}{nw}" + extend 4ksrsll " N-{w=0.2}not really." n 1kcsajl "Just...{w=1}{nw}" - extend 1fcsunl " warmth.{w=0.5} P-{w=0.2}people who really {i}cared{/i}." - n 1fcsemltsa "N-{w=0.2}not about money.{w=1}{nw}" - extend 1ksrboltsb " About me.{w=1}{nw}" + extend 2fcsunl " warmth.{w=0.5} P-{w=0.2}people who really {i}cared{/i}." + n 2fcsemltsa "N-{w=0.2}not about money.{w=1}{nw}" + extend 2ksrboltsb " About me.{w=1}{nw}" extend 1ksrpultsb " Even if I could never get them {i}anything{/i}..." n 1fcsunlsbl "...That was a gift enough to me." n 1fcsajlsbl "So that's why..." - n 1flrajltscsbl "S-{w=0.3}so that's..." - n 1klremltscsbl "...t-{w=0.3}that's...{w=1}{nw}" - extend 1fcsemltsd " w-{w=0.3}why..." - n 1kcsupltsd "..." - n 1kcsanltsd "..." + n 2flrajltscsbl "S-{w=0.3}so that's..." + n 2klremltscsbl "...t-{w=0.3}that's...{w=1}{nw}" + extend 2fcsemltsd " w-{w=0.3}why..." + n 2kcsupltsd "..." + n 2kcsanltsd "..." $ prompt = "Natsuki..." if Natsuki.isEnamored(higher=True) else "Natsuki?" menu: "[prompt]": pass - n 1fcsunltsd "I-{w=0.3}I'm fine.{w=1}{nw}" - extend 1fcsemltsa " I'm fine!" + n 2fcsunltsd "I-{w=0.3}I'm fine.{w=1}{nw}" + extend 2fcsemltsa " I'm fine!" n 1kcsboltsa "..." n 1kcspultsa "I-{w=0.2}it's just that..." - n 1kslpultsb "..." + n 4kslpultsb "..." n 1kcspultsb "..." n 1kcsboltsb "..." - n 1ksqboltsb "...They aren't here anymore,{w=0.2} [player].{w=1.25}{nw}" + n 4ksqboltsb "...They aren't here anymore,{w=0.2} [player].{w=1.25}{nw}" extend 1kslpultsb " They haven't been here a long time now." - n 1kllboltdr "...T-they're gone." + n 2kllboltdr "...T-they're gone." n 1kwmboltdr "But they never stopped being my friends.{w=1.25}{nw}" extend 1kcsbol " A-{w=0.2}and I guess that's why I'm still celebrating." - n 1kslfsl "...For them." + n 3kslfsl "...For them." if Natsuki.isEnamored(higher=True): n 1ksqbol "..." - n 1ksrfslsbl "...A-{w=0.3}and for you." + n 3ksrfslsbl "...A-{w=0.3}and for you." - n 1kslpul "So..." + n 4kslpul "So..." n 1knmpul "..." n 1kcspul "...Thanks,{w=0.2} [player].{w=1}{nw}" - extend 1ksrpolsbl " Really." + extend 2ksrpolsbl " Really." n 1kcssllsbl "I don't have {i}all{/i} my friends right now,{w=0.75}{nw}" - extend 1ksrbol " but..." + extend 2ksrbol " but..." if Natsuki.isLove(higher=True): - n 1ksqbol "...Just having you here,{w=0.2} [player]?" + n 2ksqbol "...Just having you here,{w=0.2} [player]?" n 1kslfsl "Heh." n 1kllssl "...Yeah.{w=1}{nw}" - extend 1kcssmfsbl " I {i}know{/i} I can manage." + extend 4kcssmfsbl " I {i}know{/i} I can manage." elif Natsuki.isEnamored(): - n 1kslsmlsbl "...I think I can manage with just you." + n 2kslsmlsbl "...I think I can manage with just you." elif Natsuki.isAffectionate(): - n 1nslsslsbl "...A-{w=0.2}at least I got my best one." + n 4nslsslsbl "...A-{w=0.2}at least I got my best one." else: n 1ncsbol "I think..." @@ -2674,7 +2955,7 @@ label holiday_christmas_day: n 1ncscal "I-{w=0.2}I think even just the one here is enough right now." if persistent._jn_player_celebrates_christmas == False: - n 1nslsslsbr "Even if you {i}don't{/i} really celebrate Christmas." + n 2nslsslsbr "Even if you {i}don't{/i} really celebrate Christmas." $ unlocked_poem_pool = jn_poems.JNPoem.filterPoems( poem_list=jn_poems.getAllPoems(), @@ -2690,86 +2971,86 @@ label holiday_christmas_day: # We have a poem to give the player n 1nllsllsbl "..." - n 1knmcalsbl "...I did get you something,{w=0.2} you know." + n 4knmcalsbl "...I did get you something,{w=0.2} you know." n 1fsrunlsbl "..." - n 1fnmajlsbl "H-{w=0.3}hey!{w=0.75}{nw}" - extend 1fcspolsbr " Don't give me that look." + n 3fnmajlsbl "H-{w=0.3}hey!{w=0.75}{nw}" + extend 3fcspolsbr " Don't give me that look." n 1fcstrlsbr "You didn't {i}seriously{/i} think all I had to give you was a {i}story{/i},{w=0.2} did you?" n 1fcsemlsbr "I had to at least {i}try{/i},{w=0.75}{nw}" - extend 1kllbolsbr " s-{w=0.2}so..." + extend 4kllbolsbr " s-{w=0.2}so..." if Natsuki.isEnamored(higher=True): $ chosen_tease = jn_utils.getRandomTease() n 1knmbofsbr "..." - n 1fcscalsbr "...J-{w=0.2}just look at it already,{w=0.2} [chosen_tease]." + n 2fcscalsbr "...J-{w=0.2}just look at it already,{w=0.2} [chosen_tease]." show natsuki 1kcscalsbr at jn_center else: n 1nslunlsbr "..." - n 1fcsunlsbl "Nnnnnnn-!" - n 1fcsemlsbl "...J-{w=0.2}just...{w=1}{nw}" - extend 1ksrsllsbl " read it already,{w=0.2} [player].{w=1.25}{nw}" - extend 1fcssllsbl " {i}B-before{/i} I change my mind." + n 2fcsunlsbl "Nnnnnnn-!" + n 2fcsemlsbl "...J-{w=0.2}just...{w=1}{nw}" + extend 2ksrsllsbl " read it already,{w=0.2} [player].{w=1.25}{nw}" + extend 2fcssllsbl " {i}B-before{/i} I change my mind." show natsuki 1ksrsllsbl at jn_center call show_poem(christmas_poem) if Natsuki.isEnamored(higher=True): - n 1ksqcalsbr "...Finished,{w=0.2} [player]?" + n 4ksqcalsbr "...Finished,{w=0.2} [player]?" n 1kslcalsbr "..." n 1kcsbolsbl "...Look.{w=1}{nw}" extend 1fcseml " I'm..." n 1kslbol "..." - n 1ksqbol "I'm not gonna kid myself and say this was some {i}amazing{/i} gift." - n 1nsrsssbl "...Not like I'm the {i}first{/i} one to hand you a poem." + n 3ksqbol "I'm not gonna kid myself and say this was some {i}amazing{/i} gift." + n 3nsrsssbl "...Not like I'm the {i}first{/i} one to hand you a poem." n 1ncsajsbl "I just..." n 1kslsllsbl "..." n 1kcssllsbl "I-{w=0.2}I just wanted to show some appreciation.{w=1}{nw}" - extend 1ksqcal " F-{w=0.2}for everything." + extend 4ksqcal " F-{w=0.2}for everything." n 1kcsajl "It...{w=0.75}{nw}" extend 1kcssll " seriously...{w=0.75}{nw}" - extend 1kwmsll " m-{w=0.2}means a lot to me,{w=0.2} [player]." + extend 4kwmsll " m-{w=0.2}means a lot to me,{w=0.2} [player]." n 1kslbol "I-{w=0.2}it really does." - n 1kwmfsl "...Thank you." + n 4kwmfsl "...Thank you." else: - n 1nsqsllsbl "..." - n 1tsqcalsbl "All done,{w=0.2} [player]?{w=1}{nw}" - extend 1nslssl " Man..." + n 2nsqsllsbl "..." + n 2tsqcalsbl "All done,{w=0.2} [player]?{w=1}{nw}" + extend 2nslssl " Man..." n 1fcsajlsbl "A-{w=0.2}about time,{w=0.2} huh?{w=1}{nw}" - extend 1flrajlsbl " I swear,{w=0.5}{nw}" - extend 1fcspolsbl " sometimes it's like you {i}need{/i} things read out to you or something.{w=0.75}{nw}" + extend 3flrajlsbl " I swear,{w=0.5}{nw}" + extend 3fcspolsbl " sometimes it's like you {i}need{/i} things read out to you or something.{w=0.75}{nw}" extend 1fsrfslsbl " Heh." n 1ksrbol "..." n 1kcsbolesi "..." - n 1fslbol "...I know it wasn't much.{w=0.75}{nw}" + n 4fslbol "...I know it wasn't much.{w=0.75}{nw}" extend 1kslsll " I'm not going to kid myself." - n 1fsrunlsbr "I-{w=0.2}I know I can't get you some {i}fancy gift{/i}.{w=0.75}{nw}" - extend 1fsrajlsbr " It's just..." + n 3fsrunlsbr "I-{w=0.2}I know I can't get you some {i}fancy gift{/i}.{w=0.75}{nw}" + extend 3fsrajlsbr " It's just..." n 1ksrbolsbr "..." n 1fcsbofsbr "...Just know I appreciate what you've done.{w=1}{nw}" - extend 1fsldvlsbl " Even if it is just listening to me ramble on sometimes." + extend 4fsldvlsbl " Even if it is just listening to me ramble on sometimes." n 1nllpulsbl "It really..." n 1fcsunlsbl "..." n 1kcscalsbl "..." n 1ksqcalsbl "I-{w=0.2}It means a lot to me,{w=0.2} [player]." - n 1ksrcafsbl "...T-thanks." + n 2ksrcafsbl "...T-thanks." else: - n 1kllbol "..." + n 2kllbol "..." if Natsuki.isEnamored(higher=True): - n 1kwmfsl "...And [player]?" + n 4kwmfsl "...And [player]?" show natsuki 1fcscalsbl at jn_center else: n 1kllpul "...And...{w=1}" - extend 1knmsll " [player]?" + extend 4knmsll " [player]?" n 1ksrsllsbl "..." show natsuki 1fcsunlsbl at jn_center play audio chair_out - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(2) if Natsuki.isEnamored(higher=True): @@ -2790,7 +3071,7 @@ label holiday_christmas_day: if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kchfsfeaf "...Merry Christmas,{w=0.2} [chosen_endearment]." + n 4kchfsfeaf "...Merry Christmas,{w=0.2} [chosen_endearment]." else: n 1fchsmfsbl "M-{w=0.3}merry Christmas." @@ -2802,56 +3083,56 @@ label holiday_christmas_day: label holiday_new_years_eve: $ jn_events.getHoliday("holiday_new_years_eve").run() - n 1nchbselg "[player]!{w=1}{nw}" - n 1uchlgelg "[player]!{w=0.5} [player]!" + n 4nchbselg "[player]!{w=1}{nw}" + n 4uchlgelg "[player]!{w=0.5} [player]!" n 1fspaj "Look at the date!{w=0.5}{nw}" extend 1unmbg " Do you even know what day it is?!{w=1}{nw}" extend 1fspgsedz " It's almost the new year!" - n 1kcsss "Man...{w=1}{nw}" - extend 1fchgn " and about time too,{w=0.2} huh?" - n 1ullaj "I don't know about you,{w=0.2} [player]...{w=1}{nw}" + n 3kcsss "Man...{w=1}{nw}" + extend 3fchgn " and about time too,{w=0.2} huh?" + n 4ullaj "I don't know about you,{w=0.2} [player]...{w=1}{nw}" $ current_year = datetime.date.today().year extend 1fchbleme " but I can't {i}WAIT{/i} to tell [current_year] where to stick it!" n 1fsqsm "And what better way to do that...{w=0.75}{nw}" extend 1fchgnedz " than a crap ton of explosions and snacks?" - n 1fchsml "Ehehe.{w=0.5}{nw}" - extend 1fchbglelg " It's gonna be great!" + n 3fchsml "Ehehe.{w=0.5}{nw}" + extend 3fchbglelg " It's gonna be great!" if Natsuki.isEnamored(higher=True): n 1kllsml "..." n 1kllpul "But...{w=0.75}{nw}" - extend 1knmbol " in all seriousness,{w=0.2} [player]?" + extend 4knmbol " in all seriousness,{w=0.2} [player]?" n 1klrbol "..." n 1fcspul "I'd...{w=1}{nw}" - extend 1knmpol " really like to spend it with you." + extend 2knmpol " really like to spend it with you." n 1kllpof "..." - n 1kslunf "...I'd like that a lot." - n 1fcsemf "I-{w=0.3}if you didn't have anything planned,{w=0.2} anyway.{w=1}{nw}" - extend 1nwmpol " I'm not gonna be a jerk about it if you already had stuff to do." + n 2kslunf "...I'd like that a lot." + n 2fcsemf "I-{w=0.3}if you didn't have anything planned,{w=0.2} anyway.{w=1}{nw}" + extend 2nwmpol " I'm not gonna be a jerk about it if you already had stuff to do." n 1nlrpul "Though...{w=1}{nw}" extend 1tnmpul " if you didn't?{w=0.75}{nw}" extend 1nslssl " Well..." - n 1nsqsmfsbl "You know where to find me.{w=0.5}{nw}" - extend 1flldvfsbl " Ehehe." + n 4nsqsmfsbl "You know where to find me.{w=0.5}{nw}" + extend 4flldvfsbl " Ehehe." if Natsuki.isLove(higher=True): n 1uchsmfeaf "Love you,{w=0.2} [player]~!" elif Natsuki.isAffectionate(higher=True): n 1kllsll "..." - n 1knmsll "...I'm not gonna expect you to drop all your plans to come see me,{w=0.5}{nw}" + n 4knmsll "...I'm not gonna expect you to drop all your plans to come see me,{w=0.5}{nw}" extend 1klrbol " you know." - n 1fcsemlesssbl "I-{w=0.3}I know you already have...{w=1}{nw}" - extend 1fllsllsbl " a life.{w=0.75}{nw}" + n 2fcsemlesssbl "I-{w=0.3}I know you already have...{w=1}{nw}" + extend 2fllsllsbl " a life.{w=0.75}{nw}" extend 1kslsllsbl " Out there." - n 1fcspol "I'm not gonna be a complete jerk about it.{w=0.75}{nw}" + n 2fcspol "I'm not gonna be a complete jerk about it.{w=0.75}{nw}" extend 1fcsajlsbl " I'm {i}way{/i} better than that,{w=0.5}{nw}" - extend 1fslpolsbr " a-{w=0.3}after all." + extend 2fslpolsbr " a-{w=0.3}after all." n 1kslpulsbr "But...{w=1.25}{nw}" - extend 1knmpulsbl " [player]?" + extend 4knmpulsbl " [player]?" n 1ksrunlsbl "..." - n 1fcspolsbl "...It isn't like I'd say {i}no{/i} to your company,{w=0.2} you know.{w=1}{nw}" - extend 1fllpofesssbl " S-{w=0.3}so long as you don't make it all gross,{w=0.2} anyway." + n 3fcspolsbl "...It isn't like I'd say {i}no{/i} to your company,{w=0.2} you know.{w=1}{nw}" + extend 3fllpofesssbl " S-{w=0.3}so long as you don't make it all gross,{w=0.2} anyway." n 1fsldvfesdsbr "Ehehe." else: @@ -2859,9 +3140,9 @@ label holiday_new_years_eve: n 1fsqbgl "I {i}fully{/i} expect to see you here for it.{w=1}{nw}" extend 1fcslgl " No excuses!" n 1fcsajl "A-{w=0.3}and besides,{w=0.5}{nw}" - extend 1fsrpofsbl " you {i}did{/i} bring me back to experience things like this." - n 1fsqpolsbr "It's the least you can do...{w=1}{nw}" - extend 1kwmpolsbr " right?" + extend 2fsrpofsbl " you {i}did{/i} bring me back to experience things like this." + n 2fsqpolsbr "It's the least you can do...{w=1}{nw}" + extend 4kwmpolsbr " right?" $ jn_events.getHoliday("holiday_new_years_eve").complete() @@ -2891,60 +3172,60 @@ label holiday_player_birthday: and today_day_month == (28, 2) ): # Actual birthday check already handled, so just need to check leap flag and day - n 1nsldvlsbr "...Or close enough anyway this year,{w=0.2} right?" + n 4nsldvlsbr "...Or close enough anyway this year,{w=0.2} right?" n 1fcsbg "Betcha' didn't think I had something planned all along,{w=0.2} did you?{w=0.5}{nw}" extend 1nchsml " Ehehe." n 1fnmaj "Don't lie!{w=1}{nw}" - extend 1fchbl " I know I got you {i}real{/i} good this time." + extend 4fchbl " I know I got you {i}real{/i} good this time." n 1ullss "Well,{w=0.2} whatever.{w=1}{nw}" extend 1tsqsm " We both know what {i}you're{/i} waiting for,{w=0.2} huh?" - n 1fcsss "Yeah,{w=0.2} yeah.{w=0.5}{nw}" - extend 1fchsm " I got you covered,{w=0.2} [player]." + n 2fcsss "Yeah,{w=0.2} yeah.{w=0.5}{nw}" + extend 2fchsm " I got you covered,{w=0.2} [player]." - show prop cake lit zorder jn_events.JN_EVENT_PROP_ZORDER + show prop cake lit zorder JN_PROP_ZORDER play audio necklace_clip n 1uchgn "Ta-{w=0.3}da!" $ jnPause(3) n 1fnmpu "..." n 1fbkwr "What?!{w=1}{nw}" - extend 1fllpol " You don't {i}seriously{/i} expect me to sing all by myself?{w=1}{nw}" - extend 1fcseml " No way!" - n 1nlrpol "..." + extend 2fllpol " You don't {i}seriously{/i} expect me to sing all by myself?{w=1}{nw}" + extend 2fcseml " No way!" + n 2nlrpol "..." n 1nlrpu "But..." n 1nchbs "Yeah!{w=0.2} Here you go!{w=0.5}{nw}" extend 1nchsml " Ehehe." n 1tsqsm "So,{w=0.2} [player]?{w=1}{nw}" extend 1tsqss " Aren't you gonna make a wish?" - n 1tlrpu "...Better come up with one soon,{w=0.2} actually.{w=1}{nw}" - extend 1uskemlesh " I gotta put this out before the wax ruins all the icing!" - n 1nllpo "..." + n 4tlrpu "...Better come up with one soon,{w=0.2} actually.{w=1}{nw}" + extend 4uskemlesh " I gotta put this out before the wax ruins all the icing!" + n 2nllpo "..." n 1tsqpu "All set?{w=0.5}{nw}" - extend 1fsrpo " About time.{w=1}{nw}" + extend 2fsrpo " About time.{w=1}{nw}" extend 1fchbg " Let's put these out already!" n 1ncsaj "...{w=0.5}{nw}" - show prop cake unlit zorder jn_events.JN_EVENT_PROP_ZORDER + show prop cake unlit zorder JN_PROP_ZORDER play audio blow n 1nchsm "..." - n 1tsgss "Well?{w=0.75}{nw}" - extend 1tnmaj " What're you waiting for,{w=0.2} [player]?{w=1}{nw}" - extend 1flrcal " Dig in already!" - n 1nsqsll "Don't tell me I went all out on this for nothing." - n 1fsqsr "..." + n 2tsgss "Well?{w=0.75}{nw}" + extend 2tnmaj " What're you waiting for,{w=0.2} [player]?{w=1}{nw}" + extend 2flrcal " Dig in already!" + n 2nsqsll "Don't tell me I went all out on this for nothing." + n 2fsqsr "..." n 1uskajesu "...Oh.{w=0.5}{nw}" extend 1fllssl " Ehehe.{w=1}{nw}" extend 1fslssl " Right." - n 1flrssl "I...{w=1.5}{nw}" - extend 1fsrdvl " kinda forgot about {i}that{/i} aspect." - n 1fslpol "And I don't really feel like smearing cake all over your screen.{w=1}{nw}" - extend 1ullaj " So..." + n 4flrssl "I...{w=1.5}{nw}" + extend 4fsrdvl " kinda forgot about {i}that{/i} aspect." + n 2fslpol "And I don't really feel like smearing cake all over your screen.{w=1}{nw}" + extend 2ullaj " So..." n 1nsrss "I'm just gonna just save this for later." - n 1fnmajl "Hey!{w=0.5}{nw}" - extend 1fllbgl " It's the thought that counts,{w=0.2} right?" - show natsuki 1fsldvl + n 4fnmajl "Hey!{w=0.5}{nw}" + extend 4fllbgl " It's the thought that counts,{w=0.2} right?" + show natsuki 4fsldvl play audio glass_move hide prop cake unlit @@ -2962,61 +3243,61 @@ label holiday_player_birthday: if Natsuki.isEnamored(higher=True): n 1kllcal "..." n 1knmpul "...I wrote you something too,{w=0.2} you know." - n 1fcseml "I-{w=0.2}I know it's not some {i}fancy{/i} gift,{w=1}{nw}" - extend 1klrsrl " but..." - n 1fsrsrl "..." - n 1fcsunl "Uuuuu..." + n 2fcseml "I-{w=0.2}I know it's not some {i}fancy{/i} gift,{w=1}{nw}" + extend 2klrsrl " but..." + n 4fsrsrl "..." + n 4fcsunl "Uuuuu..." n 1fcspul "Just...{w=1}{nw}" $ chosen_tease = random.choice(jn_globals.DEFAULT_PLAYER_TEASE_NAMES) - extend 1klrpol " read it already,{w=0.2} [chosen_tease]." + extend 2klrpol " read it already,{w=0.2} [chosen_tease]." else: n 1fllunl "..." - n 1fnmcal "I-{w=0.2}I hope you didn't think I'd just leave you with nothing." - n 1nsrpol "I'm not {i}that{/i} much of a jerk." + n 3fnmcal "I-{w=0.2}I hope you didn't think I'd just leave you with nothing." + n 3nsrpol "I'm not {i}that{/i} much of a jerk." n 1nsrajl "So...{w=1}{nw}" - extend 1fnmcal " here you go." + extend 4fnmcal " here you go." n 1fcsemf "J-{w=0.2}just hurry up and read it.{w=1}{nw}" - extend 1fslbof " I'm not gonna read it to you." + extend 2fslbof " I'm not gonna read it to you." call show_poem(birthday_poem) if Natsuki.isEnamored(higher=True): n 1knmbol "Hey...{w=1}{nw}" extend 1knmpul " you {i}did{/i} read it,{w=0.2} right?" - n 1fslbol "I worked a lot on that,{w=0.2} you know." + n 2fslbol "I worked a lot on that,{w=0.2} you know." n 1fcseml "A-{w=0.2}and I meant every word,{w=1}{nw}" - extend 1kllbof " so..." + extend 4kllbof " so..." n 1klrssf "...Yeah." - n 1flldvl "I'll..." - extend 1fslssl " just put that poem back in my desk for now." + n 4flldvl "I'll..." + extend 4fslssl " just put that poem back in my desk for now." else: n 1nsqpul "All done?{w=1}{nw}" - extend 1fcseml " {i}Finally{/i}.{w=1}{nw}" - extend 1fslcal " Jeez..." + extend 2fcseml " {i}Finally{/i}.{w=1}{nw}" + extend 2fslcal " Jeez..." n 1fslunl "..." n 1fcsajl "I guess I'll just keep it in my desk for now.{w=1}{nw}" - extend 1fsrssl " I-{w=0.2}in case you wanted to reference my writing skills later,{w=0.2} {i}obviously{/i}." + extend 4fsrssl " I-{w=0.2}in case you wanted to reference my writing skills later,{w=0.2} {i}obviously{/i}." play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") if Natsuki.isLove(higher=True): n 1klrssl "And...{w=1.5}{nw}" - extend 1knmsml " [player]?" + extend 4knmsml " [player]?" - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(0.5) play audio kiss $ jnPause(0.25) hide black with Dissolve(1.25) - n 1kwmssf "H-{w=0.2}happy birthday.{w=1}{nw}" + n 4kwmssf "H-{w=0.2}happy birthday.{w=1}{nw}" extend 1kchsmf " Ehehe." elif Natsuki.isEnamored(higher=True): - n 1kwmssf "H-{w=0.2}happy birthday." + n 4kwmssf "H-{w=0.2}happy birthday." else: n 1fcsbgf "You're welcome!" diff --git a/game/script-farewells.rpy b/game/script-farewells.rpy index 898638c1..6387c2ea 100644 --- a/game/script-farewells.rpy +++ b/game/script-farewells.rpy @@ -1,7 +1,11 @@ default persistent._farewell_database = dict() + default persistent.jn_player_first_farewell_response = None default persistent.jn_player_force_quit_state = 1 +default persistent._jn_player_extended_leave_response = None +default persistent._jn_player_extended_leave_departure_date = None + init python in jn_farewells: from Enum import Enum import random @@ -36,6 +40,18 @@ init python in jn_farewells: def __int__(self): return self.value + class JNExtendedLeaveResponseTypes(Enum): + """ + Ways in which the player may respond when telling Natsuki they will be gone a while. + """ + a_few_days = 1 + a_few_weeks = 2 + a_few_months = 3 + unknown = 4 + + def __int__(self): + return self.value + def get_farewell_options(): """ Returns the list of all farewell options when saying Goodbye to Natsuki. @@ -49,7 +65,8 @@ init python in jn_farewells: ("I'm going to play something else.", "farewell_option_play"), ("I'm going to do some studying.", "farewell_option_studying"), ("I'm going to do something else.", "farewell_option_misc_activity"), - ("I'm going to do some chores.", "farewell_option_chores") + ("I'm going to do some chores.", "farewell_option_chores"), + ("I'm going away for a while.", "farewell_option_extended_leave") ] def select_farewell(): @@ -79,46 +96,47 @@ label farewell_start: # Only chosen for the first time the player chooses to say Goodbye label farewell_first_time: n 1uskem "W-{w=0.1}wait,{w=0.1} you're leaving?" - n 1fskwrlsbr "[player]!{w=0.2} H-{w=0.1}hang on!{w=0.5}{nw}" - extend 1fbkwrleexsbr " Wait just a second!" - n 1fskemlsbl "..." - n 1kllemlsbl "..." - n 1kplpu "...Y-{w=0.1}you are coming back,{w=0.1} right?" - n 1kllunsbl "..." - n 1kwmemesssbr "...Right?" + n 4fskwrlsbr "[player]!{w=0.2} H-{w=0.1}hang on!{w=0.5}{nw}" + extend 4fbkwrleexsbr " Wait just a second!" + n 4fskemlsbl "..." + n 2kllemlsbl "..." + n 2kplpu "...Y-{w=0.1}you are coming back,{w=0.1} right?" + n 2kllunsbl "..." + n 4kwmemesssbr "...Right?" + menu: "I'll be back.": $ persistent.jn_player_first_farewell_response = int(jn_farewells.JNFirstLeaveTypes.will_be_back) $ Natsuki.calculatedAffinityGain(bypass=True) - n 1unmemlesu "...!{w=0.5}{nw}" + n 4unmemlesu "...!{w=0.5}{nw}" n 1fllemless "Y-{w=0.1}yeah!{w=0.5}{nw}" extend 1fsqpolsbr " You better." - n 1flremlsbl "Y-{w=0.1}you are responsible for this,{w=0.1} like I said.{w=0.5}{nw}" - extend 1flrpol " So..." - n 1kllpol "..." + n 2flremlsbl "Y-{w=0.1}you are responsible for this,{w=0.1} like I said.{w=0.5}{nw}" + extend 2flrpol " So..." + n 2kllpol "..." "I don't know.": $ persistent.jn_player_first_farewell_response = int(jn_farewells.JNFirstLeaveTypes.dont_know) n 1kskem "..." - n 1kskwr "N-{w=0.5}no!" - n 1kcsan "You can't do this to me!{w=0.5}{nw}" - extend 1fcsuptsa " N-{w=0.1}not now..." + n 4kskwr "N-{w=0.5}no!" + n 4kcsan "You can't do this to me!{w=0.5}{nw}" + extend 4fcsuptsa " N-{w=0.1}not now..." n 1kcsunltsa "..." n 1ksqunl "..." - n 1kplpul "Please,{w=0.1} [player]...{w=0.5}{nw}" - extend 1kllpu " it isn't much to ask for..." - n 1kwmemsbr "Right?" + n 2kplpul "Please,{w=0.1} [player]...{w=0.5}{nw}" + extend 2kllpu " it isn't much to ask for..." + n 4kwmemsbr "Right?" "...": $ persistent.jn_player_first_farewell_response = int(jn_farewells.JNFirstLeaveTypes.no_response) n 1knmemsbr "[player],{w=0.1} c-{w=0.5}come on..." n 1kllpu "If this is a joke,{w=0.5}{nw}" - extend 1fnmgs " it really isn't funny!{w=2}{nw}" - extend 1knmgssbl " I-{w=0.1}I'm serious!" + extend 4fnmgs " it really isn't funny!{w=2}{nw}" + extend 4knmgssbl " I-{w=0.1}I'm serious!" n 1kllunsbl "..." n 1knmaj "Please,{w=0.1} [player]...{w=0.5}{nw}" extend 1kllpu " it isn't much to ask for..." - n 1kwmem "Right?" + n 4kwmem "Right?" return { "quit": None } @@ -129,17 +147,17 @@ label farewell_force_quit: $ persistent.jn_player_first_farewell_response = int(jn_farewells.JNFirstLeaveTypes.force_quit) hide screen hkb_overlay - show glitch_garbled_a zorder 99 with hpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_a stop music play audio glitch_c n 1uskem "H-{w=0.3}huh?{w=1}{nw}" - extend 1uscwr " N-{w=0.3}no!{w=0.2} Wait!!{w=0.2} PLEASE-{w=0.3}{nw}" - show natsuki 1kchupltsa at jn_center zorder JN_NATSUKI_ZORDER + extend 4uscwr " N-{w=0.3}no!{w=0.2} Wait!!{w=0.2} PLEASE-{w=0.3}{nw}" + show natsuki 4kchupltsa at jn_center zorder JN_NATSUKI_ZORDER play audio static - show glitch_garbled_b zorder 99 with hpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_b return { "quit": None } @@ -149,79 +167,79 @@ label farewell_force_quit: label farewell_option_sleep: if jn_admissions.last_admission_type in (jn_admissions.TYPE_SICK , jn_admissions.TYPE_TIRED): # Sick/tired - n 1kllsl "...[player]." - n 1knmpu "I...{w=0.75}{nw}" - extend 1klrpu " think that'd be a good idea.{w=0.5} You know." + n 2kllsl "...[player]." + n 2knmpu "I...{w=0.75}{nw}" + extend 2klrpu " think that'd be a good idea.{w=0.5} You know." $ feeling_like = "feeling sick" if jn_admissions.last_admission_type == jn_admissions.TYPE_SICK else "feeling tired" - n 1klrpu "With what you said earlier about [feeling_like] and all." - n 1ulraj "So...{w=0.75}{nw}" - extend 1knmpo " go get some rest,{w=0.1} alright?{w=1}{nw}" - extend 1fcspol " We can just talk later anyway." - n 1fnmgsl "Now get going,{w=0.1} [player]!" - extend 1fchsml " Ehehe." + n 2klrpu "With what you said earlier about [feeling_like] and all." + n 4ulraj "So...{w=0.75}{nw}" + extend 4knmpo " go get some rest,{w=0.1} alright?{w=1}{nw}" + extend 2fcspol " We can just talk later anyway." + n 2fnmgsl "Now get going,{w=0.1} [player]!" + extend 4fchsml " Ehehe." if Natsuki.isEnamored(higher=True): - n 1fchbgl "Don't let the bedbugs bite!" + n 3fchbgl "Don't let the bedbugs bite!" elif Natsuki.isLove(higher=True): - n 1fchblledz "Love you too~!" + n 3fchblledz "Love you too~!" elif jn_get_current_hour() > 22 or jn_get_current_hour() < 6: # Late night - n 1fwdajesh "A-{w=0.2}and I should think so,{w=0.1} too!{w=0.5}{nw}" - extend 1tnmem " It seriously took you {i}that{/i} long to notice the time?!" - n 1fllposbl "Jeez...{w=0.5}{nw}" - extend 1nllpo " but better late than never,{w=0.1} I guess." - n 1fllsm "Ehehe.{w=0.5}{nw}" + n 4fwdajesh "A-{w=0.2}and I should think so,{w=0.1} too!{w=0.5}{nw}" + extend 2tnmem " It seriously took you {i}that{/i} long to notice the time?!" + n 2fllposbl "Jeez...{w=0.5}{nw}" + extend 2nllpo " but better late than never,{w=0.1} I guess." + n 4fllsm "Ehehe.{w=0.5}{nw}" extend 1fchsm " Sleep well,{w=0.1} [player]!" if Natsuki.isEnamored(higher=True): - n 1fchbll "See you soon~!" + n 3fchbll "See you soon~!" elif Natsuki.isLove(higher=True): - n 1nchsml "Love you~!" + n 3nchsml "Love you~!" elif jn_get_current_hour() >= 21: # Standard night n 1unmaj "About ready to turn in,{w=0.1} huh?" - n 1ullaj "That's fine...{w=0.5}{nw}" - extend 1fslca " I guess." - n 1fcsct "I know you need your beauty sleep and all." - n 1fsqsm "...Ehehe." + n 4ullaj "That's fine...{w=0.5}{nw}" + extend 2fslca " I guess." + n 4fcsct "I know you need your beauty sleep and all." + n 3fsqsm "...Ehehe." if Natsuki.isLove(higher=True): $ chosen_tease = jn_utils.getRandomTease() - n 1fchbll "Sleep tight,{w=0.2} [chosen_tease]!{w=0.5}{nw}" - extend 1uchsmledz " See you tomorrow~!" + n 3fchbll "Sleep tight,{w=0.2} [chosen_tease]!{w=0.5}{nw}" + extend 3uchsmledz " See you tomorrow~!" else: - n 1fchbgl "No worries!{w=0.2} Sleep well,{w=0.1} [player]!" + n 3fchbgl "No worries!{w=0.2} Sleep well,{w=0.1} [player]!" elif jn_get_current_hour() >= 19: # Early night n 1unmaj "Huh?{w=0.75}{nw}" - extend 1tnmaj " You're taking an early night?" - n 1nnmbo "Oh.{w=0.5}{nw}" + extend 4tnmaj " You're taking an early night?" + n 4nnmbo "Oh.{w=0.5}{nw}" extend 1nllpu " Well..." - n 1ullaj "That's fine.{w=0.75}{nw}" - extend 1nslpo " I suppose." - n 1fsqcal "You better stay up with me later though.{w=0.75}{nw}" - extend 1fsrtrl " You know." - n 1fsqbglsbl "To make up for lost time and all." - n 1fchbll "Night,{w=0.1} [player]!" + n 4ullaj "That's fine.{w=0.75}{nw}" + extend 2nslpo " I suppose." + n 2fsqcal "You better stay up with me later though.{w=0.75}{nw}" + extend 4fsrtrl " You know." + n 3fsqbglsbl "To make up for lost time and all." + n 3fchbll "Night,{w=0.1} [player]!" else: # Nap n 1tnmbo "Huh?{w=1}{nw}" - extend 1tnmpu " You're taking {i}naps{/i} now?" - n 1tsqcaesd " ...Really?" - n 1ncsemesi "Jeez...{w=1}{nw}" - extend 1fllca " I swear I'm gonna be feeding you next at this rate..." - n 1fsqdv "..." - n 1fchbg "Oh,{w=0.3} relax!" - n 1nchgnelg "I'm kidding,{w=0.1} I'm kidding!{w=0.5}{nw}" - extend 1tllss " Sheesh." - n 1fchbg "See you later,{w=0.1} [player]~!" + extend 4tnmpu " You're taking {i}naps{/i} now?" + n 2tsqcaesd " ...Really?" + n 2ncsemesi "Jeez...{w=1}{nw}" + extend 2fllca " I swear I'm gonna be feeding you next at this rate..." + n 4fsqdv "..." + n 3fchbg "Oh,{w=0.3} relax!" + n 3nchgnelg "I'm kidding,{w=0.1} I'm kidding!{w=0.5}{nw}" + extend 3tllss " Sheesh." + n 4fchbg "See you later,{w=0.1} [player]~!" if Natsuki.isLove(higher=True): n 1uchbgf "Love you~!" @@ -231,93 +249,94 @@ label farewell_option_sleep: label farewell_option_eat: if jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: n 1fcsgs "W-{w=0.1}well,{w=0.1} duh!{w=0.5} You {i}said{/i} you were starving!" - n 1fllpoesi "Jeez..." - n 1fdtposbr "Just make it something healthy,{w=0.1} got it?" - n 1fsqsm "...Ehehe." - n 1fchbg "Enjoy,{w=0.1} [player]!" + n 2fllpoesi "Jeez..." + n 2fdtposbr "Just make it something healthy,{w=0.1} got it?" + n 4fsqsm "...Ehehe." + n 2fchbg "Enjoy,{w=0.1} [player]!" elif jn_get_current_hour() in (7, 8): n 1fnmgs "Yeah!{w=0.3} You better!{w=0.5}{nw}" - extend 1fsqtr " You {i}do{/i} know what they say about breakfast,{w=0.1} right?" - n 1fsqsml "...Ehehe." - n 1fchbg "Bon appetit,{w=0.1} [player]!" + extend 2fsqtr " You {i}do{/i} know what they say about breakfast,{w=0.1} right?" + n 4fsqsml "...Ehehe." + n 2fchbg "Bon appetit,{w=0.1} [player]!" elif jn_get_current_hour() in (12, 13): - n 1unmaj "Heading out for lunch,{w=0.1} [player]?" + n 2unmaj "Heading out for lunch,{w=0.1} [player]?" n 1ulrbo "That's cool,{w=0.3} that's cool." - n 1nsqsm "Just remember though...{w=0.3}{nw}" - extend 1fsqss " you are what you eat~." - n 1fchsm "...Ehehe.{w=0.5}{nw}" - extend 1uchsm " Enjoy!" + n 4nsqsm "Just remember though...{w=0.3}{nw}" + extend 2fsqss " you are what you eat~." + n 4fchsm "...Ehehe.{w=0.5}{nw}" + extend 3uchsm " Enjoy!" elif jn_get_current_hour() in (18, 19): - n 1unmaj "Dinner time,{w=0.1} huh?{w=0.5}{nw}" - extend 1unmbg " No probs!" + n 3unmaj "Dinner time,{w=0.1} huh?{w=0.5}{nw}" + extend 2unmbg " No probs!" n 1nlrpu "Just...{w=0.5}{nw}" - extend 1fdtposbr " make sure it isn't a ready meal.{w=0.5}{nw}" - extend 1fsqpo " Got it?" - n 1fsqsm "...Ehehe." + extend 2fdtposbr " make sure it isn't a ready meal.{w=0.5}{nw}" + extend 2fsqpo " Got it?" + n 2fsqsm "...Ehehe." n 1fchbg "Enjoy,{w=0.1} [player]~!" else: n 1unmaj "Oh?{w=0.2} You're gonna grab a bite to eat?" - n 1nllaj "That's fine." - n 1nsqpo "You better not be filling up on junk though,{w=0.1} [player]." - n 1fsqsm "...Ehehe.{w=0.5}{nw}" - extend 1uchbg " Enjoy~!" + n 2nllaj "That's fine." + n 2nsqpo "You better not be filling up on junk though,{w=0.1} [player]." + n 2fsqsm "...Ehehe.{w=0.5}{nw}" + extend 4uchbg " Enjoy~!" return { "quit": None } label farewell_option_going_out: if jnIsNewYearsEve(): - n 1tsqbg "Oho?{w=0.2} Going out for the new year,{w=0.1} are we?{w=0.5}{nw}" - extend 1fchbg " Can't say I blame you!" + n 3tsqbg "Oho?{w=0.2} Going out for the new year,{w=0.1} are we?{w=0.5}{nw}" + extend 3fchbg " Can't say I blame you!" n 1ullaj "Just...{w=0.5}{nw}" - extend 1nsqsl " don't be an idiot out there,{w=0.1} okay?" - n 1fslsl "I don't want you messing around with drinks and fireworks like a complete moron and getting hurt." + extend 4nsqsl " don't be an idiot out there,{w=0.1} okay?" + n 2fslsl "I don't want you messing around with drinks and fireworks like a complete moron and getting hurt." n 1ullpu "But...{w=0.5}{nw}" extend 1uchbg " yeah!{w=0.2} Have fun out there,{w=0.1} [player]!" - n 1usqbg "And if I don't see you sooner?" - n 1fbkbs "Happy new year!" + n 2usqbg "And if I don't see you sooner?" + n 1fchbs "Happy new year!" elif jnIsEaster(): n 1unmaj "Oh?{w=0.2} You're heading off now?" - n 1unmbg "Did you have a meal planned for today or something?" - n 1tlrsm "It {i}is{/i} Easter,{w=0.1} after all!{w=0.5}{nw}" - extend 1uchsm " Ehehe." - n 1ullss "Well,{w=0.1} anyway.{w=0.5}{nw}" - extend 1uchgn " See you later,{w=0.1} [player]!" + n 4unmbg "Did you have a meal planned for today or something?" + n 4tlrsm "It {i}is{/i} Easter,{w=0.1} after all!{w=0.5}{nw}" + extend 3uchsm " Ehehe." + n 4ullss "Well,{w=0.1} anyway.{w=0.5}{nw}" + extend 2uchgn " See you later,{w=0.1} [player]!" elif jnIsHalloween(): - n 1usqss "Ooh?{w=0.2} Heading out for Halloween,{w=0.1} [player]?" - n 1fsqsm "Just don't forget..." - n 1fsqbg "I want my share of treats too!" - n 1fchgn "Ehehe.{w=0.5}{nw}" - extend 1uchbg " Have fun~!" + n 3usqss "Ooh?{w=0.2} Heading out for Halloween,{w=0.1} [player]?" + n 3fsqsm "Just don't forget..." + n 2fsqbg "I want my share of treats too!" + n 2fchgn "Ehehe.{w=0.5}{nw}" + extend 1fchbg " Have fun~!" elif jnIsChristmasEve(): n 1unmbo "Oh?{w=0.2} You're heading out for Christmas Eve?" n 1kllsl "Well...{w=0.3} okay." - n 1kllajl "...You will be back in time for Christmas though...{w=0.5}{nw}" - extend 1knmsll " right?" - n 1klrbgl "...Ahaha.{w=0.3}" - extend 1kchbg " See you later,{w=0.1} [player]!" + n 4kllajl "...You will be back in time for Christmas though...{w=0.5}{nw}" + extend 4knmsll " right?" + n 2nsrssl "...Ahaha.{w=0.3}" + extend 1nchbgsbl " See you later,{w=0.1} [player]!" + n 1kslslsbl "..." elif jnIsChristmasDay(): n 1unmbo "Huh?{w=0.2} You're heading off now?" - n 1kllsl "Well...{w=0.3} alright." - n 1kllss "Thanks for dropping by today though,{w=0.1} [player]." - n 1kcsssl "It...{w=0.3} really meant a lot to me." - n 1kchss "See you later,{w=0.1} [player]!{w=0.5}{nw}" + n 2kllsl "Well...{w=0.3} alright." + n 2kllss "Thanks for dropping by today though,{w=0.1} [player]." + n 4kcsssl "It...{w=0.3} really meant a lot to me." + n 4kchss "See you later,{w=0.1} [player]!{w=0.5}{nw}" extend 1kchbg " And Merry Christmas!" else: - n 1unmaj "Oh?{w=0.2} You're heading out,{w=0.1} [player]?" - n 1fchbg "No worries!{w=0.2} I'll catch you later!" - n 1nchbg "Toodles~!" + n 2unmaj "Oh?{w=0.2} You're heading out,{w=0.1} [player]?" + n 2fchbg "No worries!{w=0.2} I'll catch you later!" + n 2nchbg "Toodles~!" if Natsuki.isLove(higher=True): - n 1uchbgf "Love you~!" + n 4uchbgf "Love you~!" return { "quit": None } @@ -325,20 +344,48 @@ label farewell_option_work: if jn_get_current_hour() >= 20 or jn_get_current_hour() <= 4: n 1knmaj "H-{w=0.1}huh?{w=0.2} You're going to work now?" $ time_concern = "late" if jn_get_current_hour() >= 20 else "early" - n 1kllajsbr "But...{w=0.5}{nw}" - extend 1knmgssbr " it's super [time_concern] though,{w=0.1} [player]..." + n 4kllajsbr "But...{w=0.5}{nw}" + extend 4knmgssbr " it's super [time_concern] though,{w=0.1} [player]..." n 1kllsll "..." - n 1fcspusbr "Just...{w=1}{nw}" - extend 1kllsl " be careful,{w=0.2} alright?" - n 1fsqpol "And you {i}better{/i} come visit when you get back." - - if Natsuki.isLove(higher=True): - n 1fnmcal "Take care,{w=0.1} [player]!{w=1}{nw}" - extend 1kchsmleaf " I love you!" - n 1kllcalsbr "..." - - else: - n 1fnmcal "Take care,{w=0.1} [player]!" + n 1kllajl "Are you..." + show natsuki 4tnmbol + + menu: + n "Are you gonna work from home today,{w=0.2} or...?" + + "Yes, I'm working from home.": + n 1ncsssl "Heh.{w=0.75}{nw}" + extend 2nllpul " I {i}guess{/i} that's something,{w=0.75}{nw}" + extend 2nslsll " at least." + n 4fslpol "Still doesn't mean I gotta like it,{w=0.2} though." + n 4fcspol "Just..." + n 1kllbol "...Keep an eye on the clock.{w=0.75}{nw}" + extend 1knmbol " Alright?" + n 2fsqcal "I don't wanna hear about you staying back late or anything." + + if Natsuki.isLove(higher=True): + n 2fchsml "Take it easy,{w=0.2} [player]!{w=0.75}{nw}" + extend 2fchssleafsbl " L-{w=0.2}love you!" + + else: + n 2fchssl "Take it easy,{w=0.2} [player]!" + n 2kslsll "..." + + "No, I have to head out.": + n 4kcsemlesi "Man...{w=1}{nw}" + extend 4ksqbol " {i}really{/i}?" + n 1ksrsllsbr "..." + n 1fcspusbr "Just...{w=1}{nw}" + extend 4kllsl " be careful,{w=0.2} alright?" + n 2fsqpol "And you {i}better{/i} come visit when you get back." + + if Natsuki.isLove(higher=True): + n 2fnmcal "Take care,{w=0.1} [player]!{w=1}{nw}" + extend 4kchsmleaf " I love you!" + n 4kllcalsbr "..." + + else: + n 2fnmcal "Take care,{w=0.1} [player]!" else: n 1unmajesu "Oh?{w=0.2} You're working today?" @@ -348,42 +395,48 @@ label farewell_option_work: extend 1fslpo " Man..." elif jnIsChristmasEve(): - n 1fskgsl "...On Christmas Eve?{w=0.5}{nw}" - extend 1kcsemledr " You've gotta be kidding me..." + n 4fskgsl "...On Christmas Eve?{w=0.5}{nw}" + extend 2kcsemledr " You've gotta be kidding me..." elif jnIsChristmasDay(): - n 1fskwrl "...On {i}Christmas{/i}?!{w=0.5}{nw}" + n 4fskwrl "...On {i}Christmas{/i}?!{w=0.5}{nw}" extend 1kcsemledr " Ugh..." - n 1fslpol "..." - n 1fslajl "Well..." + n 2fslpol "..." + n 2fslajl "Well..." elif jnIsNewYearsEve(): - n 1fskgsl "...And on New Year's Eve,{w=0.1} too?!{w=0.5}{nw}" + n 4fskgsl "...And on New Year's Eve,{w=0.1} too?!{w=0.5}{nw}" extend 1kcsemledr " Jeez..." + elif jnIsPlayerBirthday(): + n 1kwdgsl "...And on your {i}birthday{/i} too?!{w=1}{nw}" + extend 1kslanl " Yikes,{w=0.75}{nw}" + extend 1kslsll " [player]..." + elif not jn_is_weekday(): n 1uwdaj "A-{w=0.1}and on a weekend,{w=0.1} too?{w=0.5}{nw}" - extend 1kslpu " Man..." + extend 2kslpu " Man..." - n 1nlrpo "It sucks that you've gotta work,{w=0.1} but I get it.{w=0.2} I guess." - n 1fnmpo "...You better come finish when you visit though." - n 1fsqsm "Ehehe." - n 1fchbg "Take it easy,{w=0.1} [player]!{w=0.2} Don't let anyone push you around!" + n 2nlrpo "It sucks that you've gotta work,{w=0.1} but I get it.{w=0.5}{nw}" + extend 2nsrpo " I guess." + n 4fnmpo "...You better come finish when you visit though." + n 4fsqsm "Ehehe." + n 3fchbg "Take it easy,{w=0.1} [player]!{w=0.2} Don't let anyone push you around!" if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() - n 1uchbgf "You got this,{w=0.1} [chosen_endearment]!{w=0.2} Love you~!" + n 3uchbgf "You got this,{w=0.1} [chosen_endearment]!{w=0.2} Love you~!" elif Natsuki.isEnamored(higher=True): $ chosen_tease = jn_utils.getRandomTease() - n 1uchbgl "I believe in you,{w=0.1} [chosen_tease]!" + n 3uchbgl "I believe in you,{w=0.1} [chosen_tease]!" return { "quit": None } label farewell_option_school: if jn_get_current_hour() >= 20 or jn_get_current_hour() <= 4: n 1tnmem "...School?{w=1}{nw}" - extend 1fskgsesh " A-{w=0.1}At this hour?" + extend 4fskgsesh " A-{w=0.1}At this hour?" if jnIsEaster(): n 1kwdgs "...And on {i}Easter{/i},{w=0.1} of all days?}" @@ -400,94 +453,94 @@ label farewell_option_school: if not jn_is_weekday(): extend 1uskwr " A-{w=0.1}and on a {i}weekend{/i} too?!" - n 1fbkwrean "What the hell kind of school is thaaaat?!" - n 1kllpo "Jeez.{w=0.5}{nw}" - extend 1fslsr " And I thought my school experience was bad enough." - n 1kcspu "Just...{w=0.5}{nw}" - extend 1knmpu " take care getting there,{w=0.1} alright?" + n 4fbkwrean "What the hell kind of school is thaaaat?!" + n 2kllpo "Jeez.{w=0.5}{nw}" + extend 2fslsr " And I thought my school experience was bad enough." + n 2kcspu "Just...{w=0.5}{nw}" + extend 4knmpu " take care getting there,{w=0.1} alright?" $ time_concern = "late" if jn_get_current_hour() >= 20 else "early" extend 1fllsrsbl " It's really [time_concern],{w=0.1} after all." - n 1kllss "Study hard,{w=0.1} [player]!" + n 4kllss "Study hard,{w=0.1} [player]!" else: if jnIsEaster(): - n 1uskgs "...And on Easter,{w=0.1} of all days?{w=0.5}{nw}" - extend 1fslpo " Man..." + n 4uskgs "...And on Easter,{w=0.1} of all days?{w=0.5}{nw}" + extend 2fslpo " Man..." elif jnIsChristmasEve(): - n 1fskgsl "...On Christmas Eve?{w=0.5}{nw}" - extend 1fcseml " You've gotta be kidding me..." + n 4fskgsl "...On Christmas Eve?{w=0.5}{nw}" + extend 2fcseml " You've gotta be kidding me..." elif jnIsChristmasDay(): - n 1fskwrl "...On {i}Christmas{/i}?!{w=0.5}{nw}" - extend 1fcseml " Ugh..." - n 1fslpol "..." - n 1fslajl "Well..." + n 4fskwrl "...On {i}Christmas{/i}?!{w=0.5}{nw}" + extend 2fcseml " Ugh..." + n 2fslpol "..." + n 2fslajl "Well..." elif jnIsNewYearsEve(): - n 1fskgsl "...And on New Year's Eve,{w=0.1} too?!{w=0.5}{nw}" - extend 1fcseml " Jeez..." + n 4fskgsl "...And on New Year's Eve,{w=0.1} too?!{w=0.5}{nw}" + extend 2fcseml " Jeez..." elif jn_is_weekday(): - n 1unmaj "Off to school,{w=0.1} [player]?{w=0.5}{nw}" - extend 1nchsm " No worries!" + n 2unmaj "Off to school,{w=0.1} [player]?{w=0.5}{nw}" + extend 2nchsm " No worries!" else: n 1tnmpu "Huh?{w=0.2} You're at school today?{w=0.5}{nw}" - extend 1nsqpu " ...On a {i}weekend{/i}?" - n 1fslpu "..." - n 1fsqpo "Gross..." + extend 2nsqpu " ...On a {i}weekend{/i}?" + n 2fslpu "..." + n 2fsqpo "Gross..." - n 1tsqsm "Sucks to be you though,{w=0.1} huh?{w=0.5}{nw}" - extend 1fchsm " Ehehe." - n 1fchbg "No slacking off,{w=0.1} [player]!{w=0.2} I'll see you later!" + n 2tsqsm "Sucks to be you though,{w=0.1} huh?{w=0.5}{nw}" + extend 2fchsm " Ehehe." + n 3fchbg "No slacking off,{w=0.1} [player]!{w=0.2} I'll see you later!" if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() - n 1uchbgf "Love you!" + n 4uchbgf "Love you!" return { "quit": None } label farewell_option_misc_activity: n 1knmpu "H-{w=0.1}huh?{w=0.5}{nw}" extend 1kllaj " And you gotta leave to do that too?" - n 1fcsun "Nnnnnn...{w=0.5}{nw}" + n 4fcsun "Nnnnnn...{w=0.5}{nw}" extend 1kcsaj " okay." - n 1fnmpol "...But you better come visit once you're done.{w=1}{nw}" - extend 1klrpo " Got it?" - n 1kllpo "See you soon,{w=0.1} [player]!" + n 2fnmpol "...But you better come visit once you're done.{w=1}{nw}" + extend 2klrpo " Got it?" + n 2kllpo "See you soon,{w=0.1} [player]!" if Natsuki.isLove(higher=True): - n 1kllssf "Love you!" + n 4kllssf "Love you!" return { "quit": None } label farewell_option_play: n 1fsqaj "...Really,{w=0.5} [player]?" - n 1nslpu "You'd seriously rather play some {i}game{/i}...{w=0.5}{nw}" - extend 1fsqsf " than hang out with {i}me{/i}?" - n 1fcssl "..." - n 1uchgneme "Well,{w=0.1} your loss!{w=0.5}{nw}" - extend 1fchbgelg " Ahaha!" + n 4nslpu "You'd seriously rather play some {i}game{/i}...{w=0.5}{nw}" + extend 2fsqsf " than hang out with {i}me{/i}?" + n 2fcssl "..." + n 2uchgneme "Well,{w=0.1} your loss!{w=0.5}{nw}" + extend 2fchbgelg " Ahaha!" n 1nllbg "No,{w=0.1} no.{w=0.2} It's fine.{w=0.2} You go do that,{w=0.1} [player].{w=0.5}{nw}" - extend 1nsqbg " Besides..." - n 1usqct "You sure could use the practice,{w=0.1} huh?{w=0.5}{nw}" - extend 1fchsm " Ehehe." + extend 4nsqbg " Besides..." + n 2usqct "You sure could use the practice,{w=0.1} huh?{w=0.5}{nw}" + extend 2fchsm " Ehehe." $ chosen_tease = jn_utils.getRandomTease() - n 1fchbg "Catch you later,{w=0.1} [chosen_tease]!" + n 2fchbg "Catch you later,{w=0.1} [chosen_tease]!" return { "quit": None } label farewell_option_studying: $ player_initial = jn_utils.getPlayerInitial() n 1fskgs "[player_initial]-{w=0.1}[player]!" - n 1fllansbr "If I'd known you were meant to be studying I'd have thrown you out myself!{w=0.5}{nw}" - extend 1fcspoesi " Geez..." - n 1nsqposbl "I really hope you don't have exams tomorrow or something like that..." - n 1flrpo "But either way,{w=0.1} you'll be fine.{w=0.2} Just go!{w=0.5}{nw}" - extend 1fwdaj " Go!" - n 1fchgn "...Shoo,{w=0.1} you dummy!{w=0.2} Ehehe.{w=0.5}{nw}" - extend " We'll talk later!" + n 2fllansbr "If I'd known you were meant to be studying I'd have thrown you out myself!{w=0.5}{nw}" + extend 2fcspoesi " Geez..." + n 2nsqposbl "I really hope you don't have exams tomorrow or something like that..." + n 2flrpo "But either way,{w=0.1} you'll be fine.{w=0.2} Just go!{w=0.5}{nw}" + extend 4fwdaj " Go!" + n 4fchgn "...Shoo,{w=0.1} you dummy!{w=0.2} Ehehe.{w=0.5}{nw}" + extend 4fchbl " We'll talk later!" if Natsuki.isLove(higher=True): n 1uchbgf "Love you~!" @@ -497,31 +550,157 @@ label farewell_option_studying: label farewell_option_chores: if store.jn_get_current_hour() >= 20 or store.jn_get_current_hour() <= 4: n 1tnmaj "...Chores?{w=0.5}{nw}" - extend 1tsqem " At {i}this{/i} time?" - n 1nllbo "I gotta say,{w=0.1} [player]." - n 1nsqdv "You're either dedicated or desperate.{w=0.5}{nw}" + extend 2tsqem " At {i}this{/i} time?" + n 2nllbo "I gotta say,{w=0.1} [player]." + n 2nsqdv "You're either dedicated or desperate.{w=0.5}{nw}" extend 1nchsm " Ehehe." n 1ullss "Well,{w=0.1} whatever.{w=0.5}{nw}" - extend 1tnmss " Just hurry up and go sleep,{w=0.1} 'kay?" + extend 3tnmss " Just hurry up and go sleep,{w=0.1} 'kay?" if Natsuki.isLove(higher=True): - n 1uchbg "Later,{w=0.1} [player]!" - extend 1uchbgf " Love you~!" + n 3uchbg "Later,{w=0.1} [player]!" + extend 4uchbgf " Love you~!" else: - n 1fchbg "Later,{w=0.1} [player]!" + n 3fchbg "Later,{w=0.1} [player]!" else: - n 1tnmsg "Stuck on chore duty,{w=0.1} huh?" - n 1nchsm "Ehehe.{w=0.2} Yeah,{w=0.1} that's fine.{w=0.5}{nw}" - extend 1fchgn " You go take care of your clean streak!" + n 2tnmsg "Stuck on chore duty,{w=0.1} huh?" + n 2nchsm "Ehehe.{w=0.2} Yeah,{w=0.1} that's fine.{w=0.5}{nw}" + extend 2fchgn " You go take care of your clean streak!" if Natsuki.isLove(higher=True): - n 1uchbg "Later,{w=0.1} [player]!{w=0.5}{nw}" - extend 1uchbgf " Love you~!" + n 3uchbg "Later,{w=0.1} [player]!{w=0.5}{nw}" + extend 3uchbgf " Love you~!" else: - n 1fchbg "Ehehe.{w=0.2} Later,{w=0.1} [player]!" + n 3fchbg "Ehehe.{w=0.2} Later,{w=0.1} [player]!" + + return { "quit": None } + +label farewell_option_extended_leave: + n 1tnmpueqm "Eh?{w=0.75}{nw}" + extend 1knmaj " A while?" + n 2fnmsr "..." + n 2fsqaj "...What do you mean 'a while',{w=0.2} [player]?{w=0.75}{nw}" + extend 2fnmgs " Huh?" + n 3fllem "Are you trying to avoid me?{w=1}{nw}" + extend 3knmem " Am I {i}not{/i} the best to be around?" + n 4fbkwrl "I-{w=0.2}is {i}that{/i} it?!" + n 2fsqpol "..." + n 2fsqsml "..." + n 2fcsaj "Oh,{w=0.5}{nw}" + extend 2fchgn " lighten up,{w=0.2} [player]!{w=1}{nw}" + extend 4ullss " Sheesh!" + n 4fchbg "You should know when I'm pulling your leg by now,{w=0.75}{nw}" + extend 1fchbl " you dork." + n 1ulrss "Well,{w=0.2} anyway.{w=0.75}{nw}" + extend 2ulraj " It's totally fine." + n 2fcsajsbl "I can {i}easily{/i} handle a few days alone.{w=0.75}{nw}" + extend 2fchbgsbl " No sweat!" + n 4nslbosbl "..." + n 4nslaj "But...{w=0.75}{nw}" + extend 4nllsl " just so I know...." + show natsuki 2knmbo + + menu: + n "Did you plan on being away long,{w=0.2} or...?" + + "A few days.": + $ persistent._jn_player_extended_leave_response = int(jn_farewells.JNExtendedLeaveResponseTypes.a_few_days) + n 1kchdvesi "Pffff-!{w=0.75}{nw}" + extend 2tsqbg " And to think you were probably getting all worked up over it too!{w=0.75}{nw}" + extend 2fcssm " Ehehe." + n 3fcsbg "Yeah,{w=0.2} that's no problem at all.{w=1}{nw}" + extend 3fchgn " Now get going already!" + + if Natsuki.isLove(higher=True): + n 3kchbgl "See ya later,{w=0.2} [player]!{w=0.75}{nw}" + extend 4fchsmleafsbl " L-{w=0.2}love you!" + + elif Natsuki.isEnamored(higher=True): + n 3fchbg "See ya later,{w=0.2} [player]!" + n 4kslsssbl "..." + + "A few weeks.": + $ persistent._jn_player_extended_leave_response = int(jn_farewells.JNExtendedLeaveResponseTypes.a_few_weeks) + n 2tnmpu "A few weeks,{w=0.75}{nw}" + extend 2tnmbo " huh?" + n 4kllbo "..." + n 4kllss "That's...{w=0.75}{nw}" + extend 2nslsl " a little longer than I hoped." + n 2fcsgslsbl "B-{w=0.2}but I'll be fine!{w=0.75}{nw}" + extend 2fcspolsbl " I've {i}totally{/i} got this.{w=1}{nw}" + extend 2fcsbglsbl " Don't you worry!" + n 2nslsslsbl "Ehehe..." + n 1fchbgsbl "L-{w=0.2}later, [player]!" + + if Natsuki.isLove(higher=True): + n 1kchsmlsbl "Love you!" + n 4ksrsll "..." + + elif Natsuki.isEnamored(higher=True): + n 4kcspuesi "..." + + "A few months.": + $ persistent._jn_player_extended_leave_response = int(jn_farewells.JNExtendedLeaveResponseTypes.a_few_months) + n 4knmpu "...A few {i}months{/i}?" + n 2kslpu "..." + n 2kslaj "That's...{w=1}{nw}" + extend 1klrsl " a lot longer than I expected." + n 1fcsca "..." + n 2fcsajlsbl "I-{w=0.2}I mean,{w=0.75}{nw}" + extend 2fcsgslsbl " I'll be totally fine!" + n 2kslbolsbl "But..." + n 1ncsbolesi "..." + n 1nsrbol "N-{w=0.2}nevermind.{w=0.75}{nw}" + extend 2fcstrl " I got this!{w=1}{nw}" + extend 2nslsslsbl " ...I think." + n 3klrbolsbl "T-{w=0.2}take care,{w=0.2} [player]." + extend 3knmbolsbl " 'Kay?" + + if Natsuki.isLove(higher=True): + n 3fcsajlsbr "...You know how much you mean to me,{w=1}{nw}" + extend 4kllbolsbr " a-{w=0.2}after all..." + + elif Natsuki.isEnamored(higher=True): + n 3fnmcalsbr "I'll get mad if you don't." + n 3kslbolsbr "..." + + else: + n 3kslbolsbr "..." + + "I'm not sure.": + $ persistent._jn_player_extended_leave_response = int(jn_farewells.JNExtendedLeaveResponseTypes.unknown) + n 1uskemlesh "...H-{w=0.2}huh?{w=0.75}{nw}" + extend 4knmemlsbr " You don't even {i}know{/i} when you'll be back?" + n 4kllunlsbr "..." + n 4kllpulsbr "But...{w=0.75}{nw}" + extend 4klrbolsbl " you {i}will{/i} be back...{w=1}{nw}" + extend 4knmbolsbl " right?" + n 1ksqbol "..." + n 1kcsemlesi "..." + n 1kslpol "...I'll be fine.{w=1}{nw}" + extend 2nslpol " I guess.{w=1}{nw}" + extend 2kslpul " Just..." + n 4fcsunl "..." + n 2kcseml "Don't keep me waiting too long.{w=0.75}{nw}" + extend 4knmbol " Please?" + + if Natsuki.isLove(higher=True): + n 2ksrbofsbr "...You know how much you mean to me,{w=0.75}{nw}" + extend 4ksqbofsbr " a-{w=0.2}after all..." + + elif Natsuki.isEnamored(higher=True): + n 2kslajlsbl "...Later,{w=0.2} [player]." + n 2kslsllsbl "..." + + else: + n 2kslajl "Later,{w=0.2} [player]." + n 2kslsll "..." + + $ import datetime + $ persistent._jn_player_extended_leave_departure_date = datetime.datetime.now() return { "quit": None } @@ -541,11 +720,11 @@ init 5 python: label farewell_love_you_mean_the_world_to_me: n 1kllpul "Aww...{w=1}{nw}" - extend 1kplsfl " you're leaving now,{w=0.2} [player]?" - n 1klrcal "Well...{w=1}{nw}" - extend 1ksrcal " okay." - n 1fnmtrf "Y-{w=0.2}you better take care,{w=0.2} [player]!{w=0.5}{nw}" - extend 1kchssfeaf " You mean the world to me!" + extend 4kplsfl " you're leaving now,{w=0.2} [player]?" + n 4klrcal "Well...{w=1}{nw}" + extend 2ksrcal " okay." + n 2fnmtrf "Y-{w=0.2}you better take care,{w=0.2} [player]!{w=0.5}{nw}" + extend 4kchssfeaf " You mean the world to me!" return { "quit": None } @@ -561,11 +740,11 @@ init 5 python: ) label farewell_love_dont_like_saying_goodbye: - n 1fsqtrl "You know I don't like saying goodbye,{w=0.1} [player]..." - n 1kcssllesi "..." - n 1fcsgsfess "I-{w=0.2}I'll be okay!{w=1}{nw}" - extend 1fcsajf " Just..." - n 1knmpof "...Get back here soon,{w=0.2} alright?" + n 4fsqtrl "You know I don't like saying goodbye,{w=0.1} [player]..." + n 4kcssllesi "..." + n 2fcsgsfess "I-{w=0.2}I'll be okay!{w=1}{nw}" + extend 2fcsajf " Just..." + n 4knmpof "...Get back here soon,{w=0.2} alright?" n 1kchssfeaf "I-{w=0.2}I love you,{w=0.2} [player]!" return { "quit": None } @@ -583,15 +762,15 @@ init 5 python: label farewell_love_counting_on_you: n 1fcsunl "Uuuu...{w=0.75}{nw}" - extend 1fslpol " I never like saying goodbye to you..." - n 1kslbol "But...{w=0.5}{nw}" - extend 1kslssl " I guess it can't be helped sometimes." + extend 2fslpol " I never like saying goodbye to you..." + n 2kslbol "But...{w=0.5}{nw}" + extend 2kslssl " I guess it can't be helped sometimes." $ chosen_endearment = jn_utils.getRandomEndearment() - n 1fcsajl "S-{w=0.2}so!" - n 1fsqtrf "You better take care of yourself out there,{w=0.1} [chosen_endearment]." - n 1fchgnl "...'Cuz I'm counting on you!" + n 2fcsajl "S-{w=0.2}so!" + n 4fsqtrf "You better take care of yourself out there,{w=0.1} [chosen_endearment]." + n 3fchgnl "...'Cuz I'm counting on you!" $ chosen_tease = jn_utils.getRandomTease() - n 1fchblleaf "Later,{w=0.2} [chosen_tease]!" + n 3fchblleaf "Later,{w=0.2} [chosen_tease]!" return { "quit": None } @@ -607,14 +786,15 @@ init 5 python: ) label farewell_love_do_your_best: - n 1unmajl "Oh?{w=0.2} You're heading out now?" - n 1flrpol "That's...{w=0.5} fine.{w=0.75}{nw}" - extend 1fsrsll " I guess." - n 1kplcal "...You know I'll really miss you,{w=0.1} [player]." + n 1unmajl "Oh?{w=0.5}{nw}" + extend 3tnmbol " You're heading out now?" + n 4flrpol "That's...{w=0.5} fine.{w=0.75}{nw}" + extend 2fsrsll " I guess." + n 2kplcal "...You know I'll really miss you,{w=0.1} [player]." $ chosen_endearment = jn_utils.getRandomEndearment() - n 1flrssfsbr "S-{w=0.2}so you better do your best for me,{w=0.1} [chosen_endearment]!" - n 1fchsmf "Ehehe.{w=0.75}{nw}" - extend 1uchsmfeaf " See you soon!" + n 2flrssfsbr "S-{w=0.2}so you better do your best for me,{w=0.1} [chosen_endearment]!" + n 4fchsmf "Ehehe.{w=0.75}{nw}" + extend 2uchsmfeaf " See you soon!" return { "quit": None } @@ -630,13 +810,15 @@ init 5 python: ) label farewell_love_rooting_for_you: - n 1unmajl "Huh?{w=0.2} You're leaving now?" + n 3unmajl "Huh?{w=0.5}{nw}" + extend 3tnmsll " You're leaving now?" n 1fcssll "I always hate it when you have to go somewhere..." $ chosen_endearment = jn_utils.getRandomEndearment() n 1kcssml "...But I know you'll always be back for me,{w=0.1} [chosen_endearment]." - n 1fllssfsbl "N-{w=0.2}not like you {i}have{/i} a choice,{w=0.2} obviously!" - n 1fsqsmf "Ehehe." - n 1fchblfeaf "Make me proud,{w=0.2} [player]!{w=0.3} I'm rooting for you!" + n 2fllssfsbl "N-{w=0.2}not like you {i}have{/i} a choice,{w=0.2} obviously!{w=0.75}{nw}" + extend 2fsqsmf " Ehehe." + n 4fchblfeaf "Make me proud,{w=0.2} [player]!{w=0.5}{nw}" + extend 4fchsmfeaf " I'm rooting for you!" return { "quit": None } @@ -653,12 +835,12 @@ init 5 python: label farewell_love_me_to_deal_with: n 1unmajl "You're leaving now,{w=0.1} [player]?" - n 1kllpul "Awww...{w=0.75}{nw}" - extend 1kllpol " well okay." + n 4kllpul "Awww...{w=0.75}{nw}" + extend 2kllpol " well okay." n 1fnmcal "You take care of yourself,{w=0.2} got it?" - extend 1fcsssl " Or you'll have me to deal with!" - n 1fsqsml "Ehehe." - n 1fchbgfeaf "Bye now!{w=0.5} I love you~!" + extend 3fcsssl " Or you'll have me to deal with!" + n 3fsqsml "Ehehe." + n 3fchbgfeaf "Bye now!{w=0.5} I love you~!" return { "quit": None } @@ -674,11 +856,11 @@ init 5 python: ) label farewell_love_wish_you_could_stay_forever: - n 1kwmpol "Time to go,{w=0.1} [player]?" - n 1kllssl "Sometimes I kinda wish you could just stay forever..." - n 1fcsajf "But I understand you've got stuff to do." - n 1fslssfsbl "...Even if it {i}isn't{/i} always as important as me." - extend 1nchgnl " Ehehe." + n 3kwmpol "Time to go,{w=0.1} [player]?" + n 3kllssl "Sometimes I kinda wish you could just stay forever..." + n 4fcsajf "But I understand you've got stuff to do." + n 2fslssfsbl "...Even if it {i}isn't{/i} always as important as me.{w=0.75}{nw}" + extend 2nchgnl " Ehehe." $ chosen_endearment = jn_utils.getRandomEndearment() n 1fchbgf "Later,{w=0.2} [chosen_endearment]!" @@ -698,15 +880,15 @@ init 5 python: ) label farewell_affectionate_enamored_was_having_fun: - n 1unmajl "Eh?{w=0.5}{nw}" - extend 1tnmpul " You're leaving now?" - n 1kcsemesi "Man..." + n 3unmajl "Eh?{w=0.5}{nw}" + extend 3tnmpul " You're leaving now?" + n 4kcsemesi "Man..." n 1fllpol "And I was actually having fun,{w=0.2} too...{w=1}{nw}" - extend 1fsqpol " talk about being a buzzkill,{w=0.2} [player]." - n 1fcspol "..." + extend 2fsqpol " talk about being a buzzkill,{w=0.2} [player]." + n 2fcspol "..." n 1fchbll "Well,{w=0.1} if you gotta go,{w=0.1} you gotta go!" - n 1nchgnl "Now get out there,{w=0.1} dummy!{w=1}{nw}" - extend 1fwlbgl " See you later!" + n 2nchgnl "Now get out there,{w=0.1} dummy!{w=1}{nw}" + extend 2fwlbgl " See you later!" return { "quit": None } @@ -722,13 +904,13 @@ init 5 python: ) label farewell_affectionate_enamored_waiting_for_you: - n 1unmajl "You're going,{w=0.1} [player]?" - n 1fcsanl "Uuuuu...{w=1.5}{nw}" + n 2unmajl "You're going,{w=0.1} [player]?" + n 2fcsanl "Uuuuu...{w=1.5}{nw}" extend 1kllpol " okay." - n 1fsqgsl "But you better be back here soon." - extend 1fcsajf " It's rude to keep someone waiting around for you,{w=0.2} a-{w=0.1}after all." - n 1fslssfsbl "Ahaha." - n 1fchbglsbr "L-{w=0.1}later,{w=0.1} [player]!" + n 4fsqgsl "But you better be back here soon." + extend 3fcsajf " It's rude to keep someone waiting around for you,{w=0.2} a-{w=0.1}after all." + n 4fslssfsbl "Ahaha." + n 3fchbglsbr "L-{w=0.1}later,{w=0.1} [player]!" return { "quit": None } @@ -745,13 +927,13 @@ init 5 python: label farewell_affectionate_enamored_ill_be_okay: n 1unmajlesu "Huh?{w=0.5}{nw}" - extend 1knmajlsbl " You're leaving?" - n 1fslunl "..." + extend 4knmajlsbl " You're leaving?" + n 4fslunl "..." n 1fcsgsfsbl "T-{w=0.1}that's fine!{w=1}{nw}" extend 1fcsssledz " I'll be okay!" - n 1fsqpol "Which is more than I can say for you if you keep me waiting again,{w=0.2} [player]..." - n 1fsqsml "Ehehe." - n 1nchgnl "See you later~!" + n 2fsqpol "Which is more than I can say for you if you keep me waiting again,{w=0.2} [player]..." + n 2fsqsml "Ehehe." + n 3nchgnl "See you later~!" return { "quit": None } @@ -767,16 +949,16 @@ init 5 python: ) label farewell_affectionate_enamored_dont_make_me_find_you: - n 1unmbol "Oh?{w=0.5}{nw}" - extend 1unmajl " Heading off now,{w=0.1} [player]?" + n 2unmbol "Oh?{w=0.5}{nw}" + extend 2unmajl " Heading off now,{w=0.1} [player]?" n 1kllpol "I...{w=0.75}{nw}" - extend 1kslpol " wish you didn't have to..." - n 1fcsajl "But I get that you have things to do." - n 1fsqcal "You better come see me later though.{w=0.5}{nw}" - extend 1fsqtrl " Promise?" - n 1fcsbgl "Don't make me come find you!" - n 1fchgnl "...Now get going already,{w=0.2} you dope!{w=0.75}{nw}" - extend 1fchbll " See you soon!" + extend 4kslpol " wish you didn't have to..." + n 4fcsajl "But I get that you have things to do." + n 2fsqcal "You better come see me later though.{w=0.5}{nw}" + extend 2fsqtrl " Promise?" + n 2fcsbgl "Don't make me come find you!" + n 4fchgnl "...Now get going already,{w=0.2} you dope!{w=0.75}{nw}" + extend 3fchbll " See you soon!" return { "quit": None } @@ -793,16 +975,16 @@ init 5 python: label farewell_affectionate_enamored_take_care_for_both: n 1unmpul "Mmm?{w=0.5}{nw}" - extend 1tnmajl " You're going now,{w=0.1} [player]?" - n 1kcsemlesi "...Fine,{w=0.3} fine.{w=1.25}{nw}" - extend 1fsqtrl " But on one condition!" - n 1kslcalsbr "..." - n 1knmtrlsbr "..Just take care of yourself,{w=0.5}{nw}" - extend 1knmsllsbr " okay?" - n 1fcspofsbl "A-{w=0.1}and not just for your own sake." - extend 1kslssfsbl " Heh." + extend 3tnmajl " You're going now,{w=0.1} [player]?" + n 3kcsemlesi "...Fine,{w=0.3} fine.{w=1.25}{nw}" + extend 4fsqtrl " But on one condition!" + n 4kslcalsbr "..." + n 2knmtrlsbr "..Just take care of yourself,{w=0.5}{nw}" + extend 2knmsllsbr " okay?" + n 2fcspofsbl "A-{w=0.1}and not just for your own sake." + extend 2kslssfsbl " Heh." n 1kchssfesssbl "See you later!" - n 1kslslfsbr "..." + n 4kslslfsbr "..." return { "quit": None } @@ -818,13 +1000,13 @@ init 5 python: ) label farewell_affectionate_enamored_enjoy_our_time_together: - n 1tnmajl "You're leaving now,{w=0.2} [player]?" - n 1fllcal "Nnnnnn...{w=0.5}{nw}" - extend 1ksltrl " alright." - n 1fcsgsl "But you better be back later,{w=0.2} you hear?" - n 1fllajl "I...{w=0.75}{nw}" - extend 1kslcafsbr " enjoy our time together." - n 1kchssfsbl "See you soon,{w=0.2} [player]!" + n 2tnmajl "You're leaving now,{w=0.2} [player]?" + n 2fllcal "Nnnnnn...{w=0.5}{nw}" + extend 4ksltrl " alright." + n 2fcsgsl "But you better be back later,{w=0.2} you hear?" + n 2fllajl "I...{w=0.75}{nw}" + extend 4kslcafsbr " enjoy our time together." + n 2kchssfsbl "See you soon,{w=0.2} [player]!" return { "quit": None } @@ -842,8 +1024,8 @@ init 5 python: label farewell_affectionate_enamored_see_me_soon: n 1ullajl "Well,{w=0.3}{nw}" extend 1fllcal " I guess you had to leave eventually." - n 1fsqpol "Doesn't mean I have to like it,{w=0.2} though..." - n 1knmpol "Come see me soon,{w=0.2} 'kay?" + n 2fsqpol "Doesn't mean I have to like it,{w=0.2} though..." + n 4knmpol "Come see me soon,{w=0.2} 'kay?" return { "quit": None } @@ -861,8 +1043,8 @@ init 5 python: ) label farewell_happy_affectionate_going_now: - n 1unmaj "Going now,{w=0.2} [player]?{w=0.75}{nw}" - extend 1nchsm " See you later!" + n 2unmaj "Going now,{w=0.2} [player]?{w=0.75}{nw}" + extend 2nchsm " See you later!" return { "quit": None } @@ -879,8 +1061,8 @@ init 5 python: label farewell_happy_affectionate_heading_off: n 1unmaj "Heading off now,{w=0.2} [player]?" - n 1nnmsm "Alright!{w=0.5}{nw}" - extend 1fchsm " Take care!" + n 3nnmsm "Alright!{w=0.5}{nw}" + extend 3fchsm " Take care!" return { "quit": None } @@ -897,8 +1079,8 @@ init 5 python: label farewell_happy_affectionate_stay_safe: n 1nchss "Okaaay!{w=0.75}" - extend 1tnmss " I guess I'll catch you later then." - n 1fchsm "Stay safe,{w=0.2} [player]!" + extend 2tnmss " I guess I'll catch you later then." + n 2fchsm "Stay safe,{w=0.2} [player]!" return { "quit": None } @@ -914,8 +1096,8 @@ init 5 python: ) label farewell_happy_affectionate_take_care: - n 1nnmbg "See you later,{w=0.2} [player]!" - n 1fchsm "Take care!" + n 4nnmbg "See you later,{w=0.2} [player]!" + n 4fchsm "Take care!" return { "quit": None } @@ -932,7 +1114,7 @@ init 5 python: label farewell_happy_affectionate_see_me_soon: n 1nchbg "Bye,{w=0.1} [player]!" - n 1fchsmlsbr "Come see me soon,{w=0.1} alright?" + n 4fchsmlsbr "Come see me soon,{w=0.1} alright?" return { "quit": None } @@ -965,7 +1147,7 @@ init 5 python: ) label farewell_normal_happy_later: - n 1nnmss "Later,{w=0.2} [player]!" + n 2nnmss "Later,{w=0.2} [player]!" return { "quit": None } @@ -981,7 +1163,7 @@ init 5 python: ) label farewell_normal_happy_goodbye: - n 1nchsm "Goodbye,{w=0.2} [player]!" + n 4nchsm "Goodbye,{w=0.2} [player]!" return { "quit": None } @@ -998,7 +1180,7 @@ init 5 python: label farewell_normal_happy_kay: n 1fcsbg "'kay!{w=0.5}{nw}" - extend 1fchbg " Bye for now!" + extend 2fchbg " Bye for now!" return { "quit": None } @@ -1014,7 +1196,7 @@ init 5 python: ) label farewell_normal_happy_see_ya: - n 1nchbg "See ya,{w=0.2} [player]!" + n 3nchbg "See ya,{w=0.2} [player]!" return { "quit": None } @@ -1032,6 +1214,7 @@ init 5 python: label farewell_upset_distressed_bye: n 1nnmsl "Bye,{w=0.2} [player]." + return { "quit": None } init 5 python: @@ -1046,7 +1229,8 @@ init 5 python: ) label farewell_upset_distressed_later: - n 1nnmsf "Later,{w=0.2} [player]." + n 2nnmsf "Later,{w=0.2} [player]." + return { "quit": None } init 5 python: @@ -1061,7 +1245,8 @@ init 5 python: ) label farewell_upset_distressed_kay: - n 1fllsf "'kay.{w=0.2} Later." + n 3fllsf "'kay.{w=0.2} Later." + return { "quit": None } init 5 python: @@ -1077,7 +1262,8 @@ init 5 python: label farewell_upset_distressed_goodbye: n 1nnmbo "Oh.{w=0.5}{nw}" - extend 1fslsf " Goodbye." + extend 2fslsf " Goodbye." + return { "quit": None } init 5 python: @@ -1092,7 +1278,8 @@ init 5 python: ) label farewell_upset_distressed_see_you_around: - n 1fsqsf "See you around." + n 2fsqsf "See you around." + return { "quit": None } # DISTRESSED/BROKEN/RUINED farewells @@ -1109,7 +1296,8 @@ init 5 python: ) label farewell_broken_ruined_yeah: - n 1fcssfltsa "Yeah." + n 2fcssfltsa "Yeah." + return { "quit": None } init 5 python: @@ -1124,7 +1312,8 @@ init 5 python: ) label farewell_broken_ruined_yep: - n 1fcsupltsa "Yep." + n 2fcsupltsa "Yep." + return { "quit": None } init 5 python: @@ -1140,6 +1329,7 @@ init 5 python: label farewell_broken_ruined_uh_huh: n 1fsqsrltsb "Uh huh." + return { "quit": None } init 5 python: @@ -1154,8 +1344,9 @@ init 5 python: ) label farewell_broken_ruined_nothing_to_say: - n 1fcssftsa "..." - n 1kcsupltsa "..." + n 2fcssftsa "..." + n 4kcsupltsa "..." + return { "quit": None } init 5 python: @@ -1170,7 +1361,8 @@ init 5 python: ) label farewell_broken_ruined_kay: - n 1fslsrltsb "'kay." + n 3fslsrltsb "'kay." + return { "quit": None } init 5 python: @@ -1185,7 +1377,8 @@ init 5 python: ) label farewell_broken_ruined_good: - n 1fsqanltse "{i}Good{/i}." + n 4fsqanltse "{i}Good{/i}." + return { "quit": None } # Farewells that allow the player to choose to stay @@ -1205,82 +1398,103 @@ init 5 python: label farewell_short_session_ask: n 1uskwrlesh "What?{w=0.75}{nw}" - extend 1knmemlsbl " You're leaving?{w=1}{nw}" - extend 1fnmgslsbl " B-{w=0.1}but you've {i}barely{/i} even been here at all today,{w=0.2} [player]!" + extend 4knmemlsbl " You're leaving?{w=1}{nw}" + extend 4fnmgslsbl " B-{w=0.1}but you've {i}barely{/i} even been here at all today,{w=0.2} [player]!" $ time_in_session_descriptor = jn_utils.get_time_in_session_descriptor() - n 1fcsgslsbr "I mean,{w=0.75}{nw}" - extend 1fnmpol " you've literally only been here for [time_in_session_descriptor]!" - show natsuki 1knmpol at jn_center zorder JN_NATSUKI_ZORDER + n 3fcsgslsbr "I mean,{w=0.75}{nw}" + extend 3fnmpol " you've literally only been here for [time_in_session_descriptor]!" + + show natsuki 3knmpol at jn_center zorder JN_NATSUKI_ZORDER menu: n "You seriously can't stay just a little longer?" "Sure, I can stay a little longer.": - n 1uchbsl "Yay{nw}{w=0.33}!" - n 1uskgsl "I-{w=0.2}I mean...!" + n 4uchbsl "Yay{nw}{w=0.33}!" + n 4uskgsl "I-{w=0.2}I mean...!" + if Natsuki.isLove(higher=True): n 1kllssl "T-{w=0.1}thanks,{w=0.1} [player]. It means a lot to me." $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kplssl "Really.{w=0.2} Thank you,{w=0.1} [chosen_endearment]." - n 1ksrunl "..." + n 2kplssl "Really.{w=0.2} Thank you,{w=0.1} [chosen_endearment]." + n 4ksrunl "..." else: n 1fnmbgl "Y-{w=0.2}yeah!{w=0.5}{nw}" - extend 1fcsbgl " That's what I thought!" - n 1fcssslsbl "Yeah..." - n 1fnmunl "..." - n 1fbkwrf "Stop looking at me like that,{w=0.1} jeez!" - n 1fllpof "Ugh..." + extend 2fcsbgl " That's what I thought!" + n 2fcssslsbl "Yeah..." + n 2fnmunl "..." + n 4fbkwrf "Stop looking at me like that,{w=0.1} jeez!" + n 3fllpof "Ugh..." n 1fllbgl "N-{w=0.1}now,{w=0.1} where were we?" $ jn_globals.player_already_stayed_on_farewell = True "If you say so.": n 1kllpol "...[player]." - n 1fcspulsbr "I'm not...{w=1}{nw}" - extend 1knmsllsbr " {i}forcing{/i} you to be here.{w=1}{nw}" - extend 1kllsslsbr " You {i}do{/i} know that,{w=0.5}{nw}" - extend 1knmpulsbl " right?" + n 2fcspulsbr "I'm not...{w=1}{nw}" + extend 2knmsllsbr " {i}forcing{/i} you to be here.{w=1}{nw}" + extend 2kllsslsbr " You {i}do{/i} know that,{w=0.5}{nw}" + extend 4knmpulsbl " right?" n 1ksrsrlsbl "..." - n 1ksrbolsbl "So..." - show natsuki 1ksqsrlsbl at jn_center zorder JN_NATSUKI_ZORDER + n 4ksrbolsbl "So..." + show natsuki 3ksqsrlsbl at jn_center zorder JN_NATSUKI_ZORDER + menu: n "Are you sure you wanna stay?" "Yes, I'm sure.": - n 1klrpol "Well...{w=0.5}{nw}" - extend 1ksqpol " if you say so." + n 3klrpol "Well...{w=0.5}{nw}" + extend 4ksqpol " if you say so." n 1fllcal "I just want to make sure I'm not being a jerk about it." - n 1kllpul "But..." + n 4kllpul "But..." if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() - n 1knmssl "Thanks,{w=0.2} [chosen_endearment].{w=0.75}{nw}" + n 4knmssl "Thanks,{w=0.2} [chosen_endearment].{w=0.75}{nw}" extend 1kchsslsbl " I really appreciate it." elif Natsuki.isEnamored(higher=True): - n 1knmssl "Thanks,{w=0.2} [player].{w=0.75}{nw}" + n 4knmssl "Thanks,{w=0.2} [player].{w=0.75}{nw}" extend 1kchsslsbl " I...{w=0.3} really appreciate it." else: - n 1flrcaf "Thanks,{w=0.2} [player].{w=0.75}{nw}" + n 4flrcaf "Thanks,{w=0.2} [player].{w=0.75}{nw}" extend 1fcscafsbl " It means a lot." $ Natsuki.calculatedAffinityGain() $ jn_globals.player_already_stayed_on_farewell = True "No, I have to go.": - n 1knmcal "Well...{w=0.3} okay,{w=0.1} [player]." - n 1knmpol "Take care out there,{w=0.1} alright?" - n 1uchsml "See you later!" + n 3knmcal "Well...{w=0.3} okay,{w=0.1} [player]." + n 4knmpol "Take care out there,{w=0.1} alright?" + n 4fchsmlsbl "See you later!" + + if Natsuki.isEnamored(higher=True): + n 2kslcalsbr "..." + + elif Natsuki.isAffectionate(higher=True): + n 2kslbolsbr "..." + + else: + n 2kslbosbr "..." return { "quit": None } "Sorry, [n_name]. I really have to leave.": n 1fllanl "Nnnnnn-!" - n 1kcssll "..." - n 1klrsll "Well...{w=0.3} okay." - n 1kllpol "Just don't take too long,{w=0.1} alright?" - n 1knmsml "See you later,{w=0.1} [player]!" + n 4kcssll "..." + n 4klrsll "Well...{w=0.3} okay." + n 2kllpol "Just don't take too long,{w=0.1} alright?" + n 2fchsmlsbr "See you later,{w=0.1} [player]!" + + if Natsuki.isEnamored(higher=True): + n 2kslcalsbr "..." + + elif Natsuki.isAffectionate(higher=True): + n 2kslbolsbr "..." + + else: + n 2kslbosbr "..." return { "quit": None } @@ -1300,76 +1514,77 @@ init 5 python: ) label farewell_short_session_ask_alt: - n 1knmajl "N-{w=0.2}now wait just one second,{w=0.2} [player]!{w=1}{nw}" - extend 1fcsgsl " T-{w=0.2}this isn't fair at all!" + n 4knmajl "N-{w=0.2}now wait just one second,{w=0.2} [player]!{w=1}{nw}" + extend 2fcsgsl " T-{w=0.2}this isn't fair at all!" $ time_in_session_descriptor = jn_utils.get_time_in_session_descriptor() - n 1flleml "You've barely been here [time_in_session_descriptor],{w=0.75}{nw}" - extend 1fnmajl " and you're {i}already{/i} going?" - show natsuki 1fcsgslsbl at jn_center zorder JN_NATSUKI_ZORDER + n 2flleml "You've barely been here [time_in_session_descriptor],{w=0.75}{nw}" + extend 2fnmajl " and you're {i}already{/i} going?" + + show natsuki 2fcsgslsbl at jn_center zorder JN_NATSUKI_ZORDER menu: n "Come on!{w=0.5} You'll stay a little longer,{w=0.2} won't you?" "Sure, I can stay a while.": - n 1fcsbsl "H-{w=0.3}Ha!{w=0.75}{nw}" - extend 1fsqsslsbr " I knew it." - n 1fsqsml "Ehehe.{w=0.5}{nw}" + n 3fcsbsl "H-{w=0.3}Ha!{w=0.75}{nw}" + extend 3fsqsslsbr " I knew it." + n 4fsqsml "Ehehe.{w=0.5}{nw}" extend 1fsqbgleme " Looks like I win again,{w=0.1} [player]!" - show natsuki 1fcsbgledzsbl at jn_center zorder JN_NATSUKI_ZORDER + show natsuki 3fcsbgledzsbl at jn_center zorder JN_NATSUKI_ZORDER menu: n "O-or maybe you just couldn't bring yourself to leave someone as {i}awesome{/i} as me?" "You got me, [n_name]. I couldn't leave you even if I tried.": - n 1uskwrfesh "W-{w=0.3}wha...?" - n 1fcsanf "Nnnnnnn-!" + n 2uskwrfesh "W-{w=0.3}wha...?" + n 4fcsanf "Nnnnnnn-!" $ player_initial = jn_utils.getPlayerInitial() n 1fbkwrfess "[player_initial]-{w=0.3}[player]!{w=0.75}{nw}" - extend 1fllwrf " Don't just come out with stuff like that!" - n 1fcspofesi "Yeesh..." + extend 4fllwrf " Don't just come out with stuff like that!" + n 2fcspofesi "Yeesh..." if Natsuki.isEnamored(higher=True): - extend 1flrpof " I swear you take things way too far sometimes." - n 1fsrunfess "..." - n 1fcsemlsbr "A-{w=0.2}anyway!" + extend 2flrpof " I swear you take things way too far sometimes." + n 4fsrunfess "..." + n 2fcsemlsbr "A-{w=0.2}anyway!" elif Natsuki.isAffectionate(higher=True): - extend 1fsqpolsbl " are you {i}trying{/i} to give me a heart attack or something?" - n 1fcsajlsbl "A-{w=0.2}anyway." + extend 2fsqpolsbl " are you {i}trying{/i} to give me a heart attack or something?" + n 2fcsajlsbl "A-{w=0.2}anyway." else: - extend 1fslsslsbl " your comedy routine {i}definitely{/i} needs more work,{w=0.2} I'll tell you that much!" - n 1fcsbolsbl "Well,{w=0.2} anyway..." + extend 2fslsslsbl " your comedy routine {i}definitely{/i} needs more work,{w=0.2} I'll tell you that much!" + n 2fcsbolsbl "Well,{w=0.2} anyway..." "Whatever, Natsuki.": $ player_was_snarky = True - n 1tsqssl "Oh?{w=0.75}{nw}" - extend 1fcsbgl " What's wrong,{w=0.1} [player]?" - n 1fsqbgleme "A little {i}too{/i} close to the truth?" - extend 1nchgnl " Ehehe." + n 3tsqssl "Oh?{w=0.75}{nw}" + extend 3fcsbgl " What's wrong,{w=0.1} [player]?" + n 4fsqbgleme "A little {i}too{/i} close to the truth?" + extend 4nchgnl " Ehehe." n 1nllssl "Well,{w=0.2} either way." - n 1fcsbglsbl "I'm just glad you saw the light." - extend 1fchbll " Even if did take a little persuasion." + n 3fcsbglsbl "I'm just glad you saw the light." + extend 3fchbll " Even if did take a little persuasion." n 1ullaj "So...{w=0.75}{nw}" - extend 1unmaj " is there something else you wanna talk about?" + extend 3fchsm " is there something else you wanna talk about?" $ jn_globals.player_already_stayed_on_farewell = True $ Natsuki.calculatedAffinityGain() "Fine, I guess.": n 1fsqpu "...You {i}guess{/i}?" - n 1fnmgsl "What do you mean,{w=0.2} {i}you guess{/i}?!" - n 1fcspolesi "Jeez...{w=1}{nw}" - extend 1kslcal " you make it sound like I chained you to the desk or something..." + n 3fnmgsl "What do you mean,{w=0.2} {i}you guess{/i}?!" + n 3fcspolesi "Jeez...{w=1}{nw}" + extend 4kslcal " you make it sound like I chained you to the desk or something..." n 1fcsajl "Well,{w=0.2} anyway." - n 1nllbo "I suppose some thanks are in order then." - n 1nsqbo "..." - n 1flrem "...{i}I guess{/i}." - n 1fsgsm "..." - n 1uchgnlelg "Oh,{w=0.2} lighten up,{w=0.2} [player]!" - extend 1fchbglelg " Man!" - n 1fchgnl "You should {i}know{/i} by now I give as good as I get!" - n 1fchsml "Ehehe." + n 2nllbo "I suppose some thanks are in order then." + n 2nsqbo "..." + n 2flrem "...{i}I guess{/i}." + n 4fsgsm "..." + n 4uchgnlelg "Oh,{w=0.2} lighten up,{w=0.2} [player]!" + extend 3fchbglelg " Man!" + n 3fchgnl "You should {i}know{/i} by now I give as good as I get!" + n 3fchsml "Ehehe." n 1tllss "Now,{w=0.2} where were we?" $ jn_globals.player_already_stayed_on_farewell = True @@ -1378,12 +1593,12 @@ label farewell_short_session_ask_alt: "Sorry [n_name], I can't right now.": n 1fcsunl "Uuuu-" n 1kcspulesi "..." - n 1fslsll "...I guess that's fine." - n 1fcsbol "You've got things to do.{w=0.5}{nw}" - extend 1fsrcal " I get it." + n 4fslsll "...I guess that's fine." + n 3fcsbol "You've got things to do.{w=0.5}{nw}" + extend 3fsrcal " I get it." n 1fnmtrl "But you're {i}definitely{/i} gonna come visit later." - n 1kllcal "..." - n 1knmcasbl "Right?" + n 2kllcal "..." + n 2knmcasbl "Right?" return { "quit": None } return @@ -1402,42 +1617,43 @@ init 5 python: ) label farewell_fake_confidence_ask: - n 1unmboesu "Huh?{w=0.75}{nw}" - extend 1knmaj " You don't really {i}have{/i} to leave already,{w=0.1} do you?" + n 4unmboesu "Huh?{w=0.75}{nw}" + extend 2knmaj " You don't really {i}have{/i} to leave already,{w=0.1} do you?" n 1fcsgsl "I mean,{w=0.5}{nw}" - extend 1fllgslsbr " come on!{w=1}{nw}" - extend 1fnmsf " It feels like you've barely been here!" - n 1fcseml "I-{w=0.2}in fact,{w=0.75}{nw}" - extend 1fcsgslsbl " I bet you could {i}easily{/i} hang out with me a little longer!" + extend 2fllgslsbr " come on!{w=1}{nw}" + extend 2fnmsf " It feels like you've barely been here!" + n 3fcseml "I-{w=0.2}in fact,{w=0.75}{nw}" + extend 3fcsgslsbl " I bet you could {i}easily{/i} hang out with me a little longer!" n 1fnmajlsbl "Right,{w=0.2} [player]?" n 1fllunlsbr "..." - show natsuki 1knmbolsbr at jn_center zorder JN_NATSUKI_ZORDER + show natsuki 4knmbolsbr at jn_center zorder JN_NATSUKI_ZORDER menu: n "...Right?" "Right!": - n 1fcsbgfsbl "A-{w=0.3}Aha!{w=0.75}{nw}" - extend 1flrsslsbl " I knew it!" + n 3fcsbgfsbl "A-{w=0.3}Aha!{w=0.75}{nw}" + extend 3flrsslsbl " I knew it!" n 1fcsgsl "N-{w=0.2}not like I needed you here, or anything dumb like that.{w=1.25}{nw}" - extend 1fcspolesi " {i}Obviously{/i}." - n 1fslemlsbr "You'd have to be pretty lonely to be {i}that{/i} dependent on someone else." - n 1kslsllsbr "..." + extend 2fcspolesi " {i}Obviously{/i}." + n 2fslemlsbr "You'd have to be pretty lonely to be {i}that{/i} dependent on someone else." + n 2kslsllsbr "..." n 1fcswrfesh "Well,{w=0.2} a-{w=0.2}anyway!{w=1}{nw}" - extend 1fcspol " Enough of that!" - n 1fllajl "You already said you were staying,{w=0.2} so..." - n 1fsldvlsbr "..." + extend 4fcspol " Enough of that!" + n 2fllajl "You already said you were staying,{w=0.2} so..." + n 4fsldvlsbr "..." + $ jn_globals.player_already_stayed_on_farewell = True $ Natsuki.calculatedAffinityGain() "Sorry, I really need to go.": n 1fllsll "...Heh.{w=1}{nw}" extend 1fslcal " Right." - n 1fslunl "..." - n 1fcswrlsbr "W-{w=0.2}well,{w=0.2} that's fine!" - n 1flrpolesi "I guess that means I'll just have to test your obedience another time.{w=1}{nw}" - extend 1fsrdvless " Ehehe." - n 1fcsbgless "L-{w=0.2}later,{w=0.2} [player]!" + n 2fslunl "..." + n 2fcswrlsbr "W-{w=0.2}well,{w=0.2} that's fine!" + n 3flrpolesi "I guess that means I'll just have to test your obedience another time.{w=1}{nw}" + extend 3fsrdvless " Ehehe." + n 3fcsbgless "L-{w=0.2}later,{w=0.2} [player]!" return { "quit": None } return @@ -1456,47 +1672,49 @@ init 5 python: ) label farewell_pleading_ask: - n 1kskwrfesh "N-{w=0.3}no!{w=0.5}{nw}" - extend 1fbkwrfess " You can't leave yet!" + n 4kskwrfesh "N-{w=0.3}no!{w=0.5}{nw}" + extend 4fbkwrfess " You can't leave yet!" n 1klluplsbr "..." - n 1fcsunl "..." - n 1fcspulesi "..." + n 2fcsunl "..." + n 2fcspulesi "..." n 1fnmcal "[player]..." n 1fcsemfsbr "I...{w=0.75}{nw} " - extend 1fcsunfesssbr " really...{w=1}{nw}" - extend 1kslunfesssbr " want you here right now." - show natsuki 1ksqslfsbl at jn_center zorder JN_NATSUKI_ZORDER + extend 2fcsunfesssbr " really...{w=1}{nw}" + extend 2kslunfesssbr " want you here right now." + + show natsuki 4ksqslfsbl at jn_center zorder JN_NATSUKI_ZORDER menu: n "Just a few more minutes?{w=0.5} Please?" "Of course!": - n 1kchbsf "Yes!{w=0.66}{nw}" - n 1fllwrfesh "I-{w=0.2}I mean...!" - n 1kllslfsbl "..." + n 4kchbsf "Yes!{w=0.66}{nw}" + n 3fllwrfesh "I-{w=0.2}I mean...!" + n 3kllslfsbl "..." $ chosen_descriptor = jn_utils.getRandomDescriptor() - n 1kllcaf "T-{w=0.2}thanks,{w=0.1} [player].{w=3}{nw}" - extend 1fcspofess " You're [chosen_descriptor],{w=0.3} you know that?" + n 4kllcaf "T-{w=0.2}thanks,{w=0.1} [player].{w=3}{nw}" + extend 4fcspofess " You're [chosen_descriptor],{w=0.3} you know that?" n 1kllssf "Really.{w=1.5}{nw}" - extend 1kslssf " Thank you." - n 1fcsajfsbr "N-{w=0.2}now,{w=0.75}{nw}" - extend 1tnmssfsbr " where were we?" - n 1flrdvfsbr "Heh..." + extend 4kslssf " Thank you." + n 2fcsajfsbr "N-{w=0.2}now,{w=0.75}{nw}" + extend 2tnmssfsbr " where were we?" + n 4flrdvfsbr "Heh..." + $ jn_globals.player_already_stayed_on_farewell = True $ Natsuki.calculatedAffinityGain() "I can't right now.": n 1kslbof "...Oh." - n 1fcsajlsbl "Well,{w=0.3} if you gotta go,{w=0.3} it can't be helped,{w=0.75}{nw}" - extend 1ksrcal " I guess..." - n 1ksqsll "Just come back soon,{w=0.3} alright?" + n 2fcsajlsbl "Well,{w=0.3} if you gotta go,{w=0.3} it can't be helped,{w=0.75}{nw}" + extend 2ksrcal " I guess..." + n 4ksqsll "Just come back soon,{w=0.3} alright?" n 1kslpul "..." - n 1knmbol "...And [player]?" - n 1ksqbof "..." + n 4knmbol "...And [player]?" + n 4ksqbof "..." if Natsuki.isLove(higher=True): - show natsuki 1kslsgf at jn_center zorder JN_NATSUKI_ZORDER - show black zorder 3 with Dissolve(0.5) + show natsuki 4kslsgf at jn_center zorder JN_NATSUKI_ZORDER + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) play audio clothing_ruffle $ jnPause(3.5) play audio kiss @@ -1505,7 +1723,7 @@ label farewell_pleading_ask: else: n 1kcsunfess "...I'll miss you.{w=0.75}{nw}" - show natsuki 1kllunfess + show natsuki 4kllunfess $ jnPause(1.5) return { "quit": None } @@ -1526,46 +1744,46 @@ init 5 python: label farewell_gentle_ask: n 1kllsrf "[player]...{w=0.75}{nw}" - extend 1knmsrf " do you really have to leave now?" - n 1kcsbof "I know you have stuff to do,{w=0.5} but..." - show natsuki 1knmpuf at jn_center zorder JN_NATSUKI_ZORDER + extend 4knmsrf " do you really have to leave now?" + n 3kcsbof "I know you have stuff to do,{w=0.5} but..." + show natsuki 3knmpuf at jn_center zorder JN_NATSUKI_ZORDER menu: n "You're sure you can't stay even a little longer?" "I can stay a little longer.": - n 1kwmssfeaf "[player]..." - n 1fcsbofesssbr "T-{w=0.2}thanks.{w=0.75}{nw}" - extend 1ksrsgf " That...{w=0.5} really means a lot to me." - n 1ksqcaf "Truly.{w=0.5} Thanks..." + n 4kwmssfeaf "[player]..." + n 4fcsbofesssbr "T-{w=0.2}thanks.{w=0.75}{nw}" + extend 2ksrsgf " That...{w=0.5} really means a lot to me." + n 2ksqcaf "Truly.{w=0.5} Thanks..." n 1ksrcaf "..." show natsuki 1fbkcaf at jn_center zorder JN_NATSUKI_ZORDER - show black zorder 3 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) play audio clothing_ruffle $ jnPause(3.5) show natsuki 1ncspuf at jn_center zorder JN_NATSUKI_ZORDER hide black with Dissolve(1.25) n 1kslsmfsbl "..." - n 1kslssfsbl "So..." - extend 1knmsslsbr " where were we?" + n 4kslssfsbl "So..." + extend 3knmsslsbr " where were we?" $ jn_globals.player_already_stayed_on_farewell = True $ Natsuki.calculatedAffinityGain() "Sorry, I really have to go.": n 1kllsrf "Oh..." - n 1fcsemf "I'd be lying if I said I wasn't disappointed...{w=1.5}{nw}" - extend 1kslcaf " but I understand." + n 2fcsemf "I'd be lying if I said I wasn't disappointed...{w=1.5}{nw}" + extend 2kslcaf " but I understand." n 1kwmsrf "Just be careful out there,{w=0.1} okay?" n 1kllsrf "..." - n 1kwmsmf "I-{w=0.1}I love you,{w=0.1} [player]..." - n 1kchssfsbl "I'll see you later." + n 4kwmsmf "I-{w=0.1}I love you,{w=0.1} [player]..." + n 4kchssfsbl "I'll see you later." if (random.choice([True, False])): show natsuki 1ksrsgfsbl at jn_center zorder JN_NATSUKI_ZORDER - show black zorder 3 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) play audio clothing_ruffle $ jnPause(3.5) play audio kiss @@ -1593,23 +1811,23 @@ init 5 python: label farewell_early_morning_going_this_early: n 1unmpuesu "Eh?{w=1}{nw}" - extend 1nllsl " Oh." - n 1nllaj "Well...{w=0.75}{nw}" + extend 3nllsl " Oh." + n 3nllaj "Well...{w=0.75}{nw}" extend 1tnmss " I guess I shouldn't really be surprised.{w=1}{nw}" extend 1nlrpol " You must have had a reason to be up this early." - n 1nsrsslsbr "...I'd hope,{w=0.2} anyway." - n 1fcssslsbr "Take care out there,{w=0.1} alright?{w=1}{nw}" - extend 1nchgnlelg " Don't do anything dumb!" + n 4nsrsslsbr "...I'd hope,{w=0.2} anyway." + n 3fcssslsbr "Take care out there,{w=0.1} alright?{w=1}{nw}" + extend 3nchgnlelg " Don't do anything dumb!" if Natsuki.isLove(higher=True): - n 1fchsmfeaf "Love you,{w=0.2} [player]~!" + n 3fchsmfeaf "Love you,{w=0.2} [player]~!" elif Natsuki.isAffectionate(higher=True): $ chosen_tease = jn_utils.getRandomTease() - n 1fchbll "See you later,{w=0.2} [chosen_tease]!" + n 3fchbll "See you later,{w=0.2} [chosen_tease]!" else: - n 1fchsml "See ya!" + n 3fchsml "See ya!" return { "quit": None } @@ -1629,21 +1847,21 @@ init 5 python: ) label farewell_morning_heading_off: - n 1unmaj "Heading off now,{w=0.2} [player]?{w=1}{nw}" - extend 1fchbg " No worries!" + n 3unmaj "Heading off now,{w=0.2} [player]?{w=1}{nw}" + extend 3fchbg " No worries!" if Natsuki.isEnamored(higher=True): - n 1fchbglsbr "I hope your day is as awesome as you are!" + n 3fchbglsbr "I hope your day is as awesome as you are!" if Natsuki.isLove(higher=True): - n 1nchsmf "Ehehe.{w=0.75}{nw}" - extend 1fchbgfeaf " Love you,{w=0.1} [player]~!" + n 4nchsmf "Ehehe.{w=0.75}{nw}" + extend 4fchbgfeaf " Love you,{w=0.1} [player]~!" else: - n 1uchsml "Later!" + n 3uchsml "Later!" else: - n 1fchsml "See 'ya!" + n 3fchsml "See 'ya!" return { "quit": None } @@ -1664,17 +1882,17 @@ init 5 python: label farewell_afternoon_come_visit_soon: n 1unmaj "Oh?{w=0.75}{nw}" - extend 1unmbo " Leaving a little later today,{w=0.1} [player]?" - n 1ullaj "I guess that's fine...{w=1}{nw}" + extend 2unmbo " Leaving a little later today,{w=0.1} [player]?" + n 2ullaj "I guess that's fine...{w=1}{nw}" extend 1fnmca " just remember to come visit soon,{w=0.2} 'kay?" if Natsuki.isAffectionate(higher=True): - n 1fsqcal "I'll be mad if you don't." - n 1fsqsml "Ehehe.{w=0.75}{nw}" - extend 1nchgnlelg " Stay safe,{w=0.2} [player]!" + n 3fsqcal "I'll be mad if you don't." + n 3fsqsml "Ehehe.{w=0.75}{nw}" + extend 3nchgnlelg " Stay safe,{w=0.2} [player]!" else: - n 1fchsmlsbl "Stay safe!" + n 3fchsmlsbl "Stay safe!" return { "quit": None } @@ -1694,18 +1912,18 @@ init 5 python: ) label farewell_evening_good_evening: - n 1unmboesu "Eh?{w=0.75}{nw}" + n 4unmboesu "Eh?{w=0.75}{nw}" extend 1unmaj " You're heading off now,{w=0.1} [player]?" - n 1ullaj "Well...{w=1}{nw}" - extend 1nslcal " alright." - n 1fchsmlsbl "Have a good evening!" + n 2ullaj "Well...{w=1}{nw}" + extend 2nslcal " alright." + n 3fchsmlsbl "Have a good evening!" if Natsuki.isAffectionate(higher=True): - n 1kslsllsbl "..." - n 1kwmbol "...And come see me soon,{w=0.2} alright?" + n 3kslsllsbl "..." + n 3kwmbol "...And come see me soon,{w=0.2} alright?" if Natsuki.isLove(higher=True): - n 1kchsmleafsbl "L-{w=0.2}love you!" + n 4kchsmleafsbl "L-{w=0.2}love you!" return { "quit": None } @@ -1725,14 +1943,14 @@ init 5 python: ) label farewell_night_good_night: - n 1unmaj "Oh?{w=0.75}{nw}" - extend 1tnmsl " Are you turning in now?" - n 1ulraj "Well...{w=1}{nw}" + n 3unmaj "Oh?{w=0.75}{nw}" + extend 3tnmsl " Are you turning in now?" + n 4ulraj "Well...{w=1}{nw}" extend 1nlrca " I can't say I blame you.{w=1.25}{nw}" - extend 1fsqsm " Ehehe." - n 1uchsm "Good night,{w=0.2} [player]!" + extend 2fsqsm " Ehehe." + n 2uchsm "Good night,{w=0.2} [player]!" if Natsuki.isAffectionate(higher=True): - n 1uchbgl "Sweet dreams!" + n 3uchbgl "Sweet dreams!" return { "quit": None } diff --git a/game/script-greetings.rpy b/game/script-greetings.rpy index 99364489..38d5aca3 100644 --- a/game/script-greetings.rpy +++ b/game/script-greetings.rpy @@ -22,6 +22,13 @@ init python in greetings: elif store.persistent.jn_player_is_first_greet: return "greeting_first_time" + # The player has given notice that they'll be away + elif ( + store.persistent._jn_player_extended_leave_response is not None + and store.persistent._jn_player_extended_leave_departure_date is not None + ): + return "greeting_leave_return" + kwargs = dict() # The player either left suddenly, or has been gone a long time @@ -47,142 +54,332 @@ init python in greetings: # Only chosen for the first time the player returns after bringing Natsuki back label greeting_first_time: - if jn_farewells.JNFirstLeaveTypes(persistent.jn_player_first_farewell_response) == jn_farewells.JNFirstLeaveTypes.will_be_back: + if ( + persistent.jn_player_first_farewell_response is None + or jn_farewells.JNFirstLeaveTypes(persistent.jn_player_first_farewell_response) == jn_farewells.JNFirstLeaveTypes.no_response + ): + # Account for both a quit due to crash on first time, or no response + n 4uskemlesh "[player]!{w=0.5}{nw}" + extend 4uskwrl " Y-{w=0.1}you're back!" + n 2flluness "..." + n 2fcspu "I...{w=2}{nw}" + extend 2flrun " appreciate it,{w=0.2} okay?" + n 2fcspu "Just...{w=1}{nw}" + extend 1knmsf " don't play with me like that." + n 1kllslsbl "..." + n 4kslaj "So..." + n 2tnmslsbr "Did you wanna talk,{w=0.2} or...?" + + $ persistent.jn_player_first_farewell_response = int(jn_farewells.JNFirstLeaveTypes.no_response) + + elif jn_farewells.JNFirstLeaveTypes(persistent.jn_player_first_farewell_response) == jn_farewells.JNFirstLeaveTypes.will_be_back: $ Natsuki.calculatedAffinityGain(bypass=True) - n 1uskemlesh "[player]!{w=0.5}{nw}" - extend 1uskwr " Y-{w=0.1}you're back!" + n 4uskemlesh "[player]!{w=0.5}{nw}" + extend 4uskwr " Y-{w=0.1}you're back!" n 1flleml "I mean...{w=0.5}{nw}" - extend 1fcseml " O-{w=0.1}of course you'd come back!" - n 1fnmpol "I knew you would." - n 1flrem "Only a total jerk would abandon someone like that!" - n 1flrpo "..." - n 1klrpu "But..." + extend 2fcseml " O-{w=0.1}of course you'd come back!" + n 2fnmpol "I knew you would." + n 2flrem "Only a total jerk would abandon someone like that!" + n 2flrpo "..." + n 2klrpu "But..." n 1ncspu "..." n 1nlrsll "...Thanks.{w=1.25}{nw}" extend 1nsrbol " For not being an idiot about it." n 1nllunl "..." n 1nllajsbl "So... {w=0.5}{nw}" - extend 1unmaj " what did you wanna talk about?" + extend 2unmaj " what did you wanna talk about?" elif jn_farewells.JNFirstLeaveTypes(persistent.jn_player_first_farewell_response) == jn_farewells.JNFirstLeaveTypes.dont_know: $ Natsuki.calculatedAffinityGain(bypass=True) - n 1uskajlesh "[player]?{w=0.5}{nw}" - extend 1uskem " Y-{w=0.3}you came back?" + n 4uskajlesh "[player]?{w=0.5}{nw}" + extend 4uskem " Y-{w=0.3}you came back?" n 1fcsun "..." n 1ncssr "..." - n 1fcspu "...Look." - n 1fllsr "Don't...{w=0.75}{nw}" - extend 1kllsrsbl " play with me like that." - n 1fslun "You wouldn't have brought me back {i}just{/i} to be a jerk...{w=1}{nw}" - extend 1ksqsfsbl " right?" - - elif jn_farewells.JNFirstLeaveTypes(persistent.jn_player_first_farewell_response) == jn_farewells.JNFirstLeaveTypes.no_response: - n 1uskemlesh "[player]!{w=0.5}{nw}" - extend 1uskwrl " Y-{w=0.1}you're back!" - n 1flluness "..." - n 1fcspu "I...{w=2}{nw}" - extend 1flrun " appreciate it,{w=0.1} okay?" - n 1fcspu "Just...{w=1}{nw}" - extend 1knmsf " don't play with me like that." - n 1kllslsbl "..." - n 1kslaj "So..." - n 1tnmslsbr "Did you wanna talk,{w=0.1} or...?" + n 2fcspu "...Look." + n 2fllsr "Don't...{w=0.75}{nw}" + extend 2kllsrsbl " play with me like that." + n 2fslun "You wouldn't have brought me back {i}just{/i} to be a jerk...{w=1}{nw}" + extend 4ksqsfsbl " right?" $ persistent.jn_player_is_first_greet = False + return # Only chosen for the first time the player leaves and returns after force quit label greeting_first_force_quit: if Natsuki.isNormal(higher=True): - n 1kcsunedr "Uuuuuuu...{w=2}{nw}" - extend 1kslemeso " my...{w=0.3} h-{w=0.1}head..." - n 1kcsun "..." - n 1ksqun "..." - n 1fnmun "...[player]." - n 1fllem "W-{w=0.3}whatever that was...{w=0.5}{nw}" - extend 1knmsf " that {w=0.3}{i}seriously{/i}{w=0.3} hurt." - n 1kllpu "L-{w=0.3}like I was being {i}ripped{/i} out of existence..." + n 4kcsunedr "Uuuuuuu...{w=2}{nw}" + extend 4kslemeso " my...{w=0.3} h-{w=0.1}head..." + n 4kcsun "..." + n 2ksqun "..." + n 2fnmun "...[player]." + n 2fllem "W-{w=0.3}whatever that was...{w=0.5}{nw}" + extend 2knmsf " that {w=0.3}{i}seriously{/i}{w=0.3} hurt." + n 4kllpu "L-{w=0.3}like I was being {i}ripped{/i} out of existence..." n 1kcssf "..." - n 1klraj "I...{w=1}{nw}" - extend 1tllun " I think I can kinda prepare for that if you at least let me know when you're going." - n 1fcsun "Just...{w=1.25}{nw}" - extend 1fcsun " don't be a jerk and let me know when you gotta go,{w=0.3} okay?" - n 1fllsl "...I guess I'll let this one slide,{w=0.5}{nw}" - extend 1kslpu " since you didn't know and all." - n 1knmpu "Just remember for next time,{w=0.2} [player].{w=1}{nw}" - extend 1knmsr " Please." + n 4klraj "I...{w=1}{nw}" + extend 2tllun " I think I can kinda prepare for that if you at least let me know when you're going." + n 2fcsun "Just...{w=1.25}{nw}" + extend 2fcsun " don't be a jerk and let me know when you gotta go,{w=0.3} okay?" + n 2fllsl "...I guess I'll let this one slide,{w=0.5}{nw}" + extend 2kslpu " since you didn't know and all." + n 2knmpu "Just remember for next time,{w=0.2} [player].{w=1}{nw}" + extend 2knmsr " Please." elif Natsuki.isDistressed(higher=True): - n 1fcsunedr "Hnnnngg..." - n 1fsqun "..." - n 1fsqan "..." - n 1fcspu "...[player]." - n 1fsqpu "Do you have any {i}idea{/i} how much that hurt?{w=0.5}{nw}" - extend 1fnmem " Any at all?" - n 1fllem "I don't know if you did that on purpose or what,{w=0.1} but knock it off.{w=0.5}{nw}" - extend 1fsqsr " I'm {i}dead{/i} serious." + n 4fcsunedr "Hnnnngg..." + n 4fsqun "..." + n 4fsqan "..." + n 2fcspu "...[player]." + n 2fsqpu "Do you have any {i}idea{/i} how much that hurt?{w=0.5}{nw}" + extend 4fnmem " Any at all?" + n 2fllem "I don't know if you did that on purpose or what,{w=0.2} but knock it off.{w=0.5}{nw}" + extend 4fsqsr " I'm {i}dead{/i} serious." n 1fcspu "I..." extend 1fcssr " know we aren't seeing eye-to-eye right now," - extend 1fslsl " but please." - n 1fsqaj "Tell me when you're going." - extend 1fsqsf " Thanks." + extend 2fslsl " but please." + n 2fsqaj "Tell me when you're going." + extend 2fsqsf " Thanks." else: n 1fsqunltsbean "..." - n 1fsqantsb "That.{w=1} Freaking.{w=1} {b}Hurt{/b}." - n 1fcsan "I don't know {i}what{/i} you did,{w=0.5} but cut{w=0.3} it{w=0.3} out.{w=1.25}{nw}" - extend 1fsqfutsb " Now." + n 4fsqantsb "That.{w=1} Freaking.{w=1} {b}Hurt{/b}." + n 4fcsan "I don't know {i}what{/i} you did,{w=0.5} but cut{w=0.3} it{w=0.3} out.{w=1.25}{nw}" + extend 2fsqfutsb " Now." $ persistent.jn_player_force_quit_state = int(jn_farewells.JNForceQuitStates.previously_force_quit) return +# Only chosen when the player explicitly says they will be gone a while +label greeting_leave_return: + $ time_since_departure = (datetime.datetime.now() - persistent._jn_player_extended_leave_departure_date).total_seconds() + + if time_since_departure / 2628000 > 3: # Gone more than three months + if jn_farewells.JNExtendedLeaveResponseTypes(store.persistent._jn_player_extended_leave_response) != jn_farewells.JNExtendedLeaveResponseTypes.unknown: + n 4ksrpu "..." + n 4uskemlesh "...!{w=0.75}{nw}" + $ player_initial = jn_utils.getPlayerInitial() + n 4unmwrl "[player_initial]-[player]!{w=0.75}{nw}" + extend 4ulleml " You're..." + n 4fcsupl "Y-{w=0.2}you're..." + n 2fcsanlsbr "Nnnnnnn-!" + n 4knmwrlsbr "Where {i}were{/i} you?!{w=1}{nw}" + extend 1fsqwrlsbr " Were you trying to {i}disappear{/i} or something?" + n 4kcswrlsbr "Y-{w=0.2}you had me worried {i}sick{/i}!{w=0.75}{nw}" + extend 4klleml " A-{w=0.2}and I thought...!" + n 4klremlsbl "I-{w=0.2}I thought that..." + n 4ksrunlsbl "..." + n 1fcsunl "..." + n 1fcseml "That you'd just...{w=0.75}{nw}" + extend 1kwmeml " forgotten{w=0.75}{nw}" + extend 2ksleml " about me..." + n 2kslbol "..." + n 2ncsemesi "..." + n 1nnmsl "...Look.{w=1}{nw}" + extend 4ncsaj " I'm..." + n 4kslsl "..." + n 4kcspusbr "...Really glad you're back." + n 1ksqsl "..." + n 1knmajsbl "Really!{w=0.75}{nw}" + extend 2knmbosbl " I am..." + n 4ksqem "But you can't just completely flake out on me like that, [player]..." + n 4kslem "I-{w=0.2}I know you gave me {i}some{/i} notice,{w=0.75}{nw}" + extend 4knmem " but do you have any {i}idea{/i} how {i}scary{/i} it gets?" + n 2kllpu "When someone says they'll come back,{w=0.75}{nw}" + extend 2kllsl " and they just...{w=1.25}{nw}" + extend 4kwmsll " don't?" + n 4kcspul "Days,{w=0.75}{nw}" + extend 4kllajl " weeks,{w=0.75}{nw}" + extend 4knmajl " {i}months{/i}..." + n 4ksqbol "...And just nothing?" + n 1ncsbo "..." + n 2ncssl "...Whatever.{w=1}{nw}" + extend 2nllpu " It's fine.{w=0.75}{nw}" + extend 2kllpu " I..." + n 1ksrsl "..." + n 2ksrbo "I just wanna forget about it now.{w=1}{nw}" + extend 1knmbo " But please,{w=0.2} [player]." + n 4knmaj "If you don't know {i}when{/i} you'll be back..." + n 4fslun "..." + n 4kcssl "...Just tell me.{w=0.75}{nw}" + extend 2ksqsl " Upfront." + n 2ksrpulsbr "You know I won't get mad..." + n 4knmpulsbr "...Right?" + + else: + n 4uskemlesh "...!" + n 4unmbgl "[player]!{w=0.75}{nw}" + extend 4uchbgledz " [player]{w=0.2} [player]{w=0.2} [player]{w=0.2} [player]{w=0.2} [player]!" + n 2fcsajlsbl "I-{w=0.2}I mean,{w=0.75}{nw}" + extend 2fcsgslsbl " it's about {i}time{/i} you got your butt back here!{w=1}{nw}" + extend 2flrpolsbl " Jeez..." + n 3fsrpol "It's rude to keep a girl waiting,{w=0.75}{nw}" + extend 3fsqcal " you know..." + n 1kslcal "..." + n 1kslssl "But...{w=0.75}{nw}" + extend 3knmssl " seriously,{w=0.2} [player]?" + show natsuki 3ksrbol + + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) + play audio clothing_ruffle + $ jnPause(3.5) + + if Natsuki.isLove(higher=True): + show natsuki 1kcspul at jn_center zorder JN_NATSUKI_ZORDER + play audio kiss + $ jnPause(1.5) + hide black with Dissolve(1.25) + + n 1ksqbolsbr "...I really did miss you." + n 4nslfsl "Heh." + n 4nchsmleaf "Welcome back." + + else: + show natsuki 1nsldvlsbl at jn_center zorder JN_NATSUKI_ZORDER + $ jnPause(1.5) + hide black with Dissolve(1.25) + + n 4nslsslsbl "...W-{w=0.2}welcome back.{w=1}{nw}" + extend 4fchdvlsbl " Ehehe." + + elif time_since_departure / 86400 > 30: # Gone more than a month + if ( + jn_farewells.JNExtendedLeaveResponseTypes(store.persistent._jn_player_extended_leave_response) == jn_farewells.JNExtendedLeaveResponseTypes.a_few_days + or jn_farewells.JNExtendedLeaveResponseTypes(store.persistent._jn_player_extended_leave_response) == jn_farewells.JNExtendedLeaveResponseTypes.a_few_weeks + ): + n 1uskemlesh "...!{w=0.75}{nw}" + $ player_initial = jn_utils.getPlayerInitial() + n 4fnmgsl "[player_initial]-{w=0.2}[player]!{w=0.75}{nw}" + extend 4knmeml " What the heck even {i}happened{/i}?!" + n 4klleml "You didn't say you were gonna disappear on me for {i}that{/i} long!" + n 1ksremlsbl "I was starting to get worried,{w=0.75}{nw}" + extend 2ksrbolsbl " you jerk..." + n 2fcsunlsbr "..." + n 2ncspulesi "..." + n 1nsqsll "...Look." + n 2fcseml "I'm...{w=1}{nw}" + extend 2kcssll " glad...{w=1}{nw}" + extend 4ksrsll " you're back,{w=0.2} [player]." + n 1fcssll "Just..." + n 4fnmsll "...Be honest.{w=0.75}{nw}" + extend 4knmbol " Okay?" + n 2kllbol "I don't care if you gotta go for longer than usual." + n 2kslsrl "...I just wanna know what to {i}expect{/i}.{w=0.75}{nw}" + extend 2ksqpulsbr " You know?" + n 2kslsllsbr "..." + n 2kslajlsbr "...And welcome back too,{w=0.75}{nw}" + extend 4ksrbol " I guess." + + else: + n 3fcsbg "Well,{w=0.2} well,{w=0.2} well.{w=1}{nw}" + extend 3fsqsm " Look who the {i}Nat{/i} dragged in!" + n 3fchsm "Ehehe." + n 4fslsslsbl "It's...{w=1}{nw}" + extend 4ksqsslsbl " been a while,{w=0.75}{nw}" + extend 4tsqbolsbl " huh?" + n 1ksrcalsbl "..." + n 1ncsajl "But..." + n 4nlrajl "I'm...{w=0.75}{nw}" + extend 4nsrssl " glad you're finally back,{w=0.2} [player]." + n 4fchbglsbr "W-{w=0.2}welcome!" + + elif time_since_departure / 86400 > 7: # Gone more than a week + if jn_farewells.JNExtendedLeaveResponseTypes(store.persistent._jn_player_extended_leave_response) == jn_farewells.JNExtendedLeaveResponseTypes.a_few_days: + n 1nsqsll "..." + n 2fsqsll "[player].{w=1}{nw}" + extend 2fsqajl " What do you call this?" + n 1kbkwrl "You said you'd only be gone a few daaaays!" + n 2fsqpol "..." + n 2fcspol "..." + n 2fsrajl "I...{w=1}{nw}" + extend 4fsrsll " guess I'll let you off.{w=0.75}{nw}" + extend 4fsqcal " This time." + n 1fcspul "Just...{w=1}{nw}" + extend 2knmpul " try to plan a little better,{w=0.75}{nw}" + extend 2kllsrl " if you can." + n 1kslbol "It's really not {i}that{/i} much to ask...{w=1}{nw}" + extend 1knmbolsbr " right?" + + else: + n 2fsqct "Oho?{w=0.75}{nw}" + extend 2fsqbg " Well look who just decided to show up!" + n 4fsqsm "Ehehe." + + if Natsuki.isLove(higher=True): + $ chosen_endearment = jn_utils.getRandomEndearment() + n 1uchsml "Welcome back,{w=0.2} [chosen_endearment]!" + + else: + n 4uchbg "Welcome back,{w=0.2} [player]!" + + else: # Gone less than a week + n 1fsqss "Well,{w=0.75}{nw}" + extend 3fsqsm " look who we have here." + n 3tsqct "...And you said you'd be gone for a while." + n 3usqsm "..." + n 1fchsm "Ehehe.{w=0.75}{nw}" + extend 1fchbg " Relax!" + n 4fwlbl "I'm just messing with you." + + if Natsuki.isLove(higher=True): + $ chosen_endearment = jn_utils.getRandomEndearment() + n 4uchsml "Welcome back,{w=0.2} [chosen_endearment]!" + + else: + n 4uchbg "Welcome back,{w=0.2} [player]!" + + $ persistent._jn_player_extended_leave_response = None + $ persistent._jn_player_extended_leave_departure_date = None + + return + label greeting_tt_warning: $ jn_globals.force_quit_enabled = False $ jn_atmosphere.showSky(jn_atmosphere.WEATHER_GLITCH) $ player_initial = jn_utils.getPlayerInitial() play audio glitch_d - show glitch_garbled_b zorder 99 with vpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_b $ jnPause(0.6) play music audio.ikustan_tsuj - show glitch_rapid zorder 99 + show glitch_rapid zorder JN_GLITCH_ZORDER $ jnPause(random.choice(range(7, 11))) stop music play audio static - show glitch_garbled_a zorder 99 with hpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_a play music audio.juuuuu_nnnnn $ jnPause(10.6) - show glitch_spook zorder 99 with hpunch + show glitch_spook zorder JN_GLITCH_ZORDER with hpunch show natsuki 1kcsfultsaeaf at jn_center zorder JN_NATSUKI_ZORDER hide glitch_spook hide black hide glitch_rapid play music audio.just - n 1kcsunltsa "Uuuuuuu..." + n 4kcsunltsa "Uuuuuuu..." show natsuki 1kcsfuftsa at jn_center play audio static - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c - n 1kcsanltsa "M...{w=0.3}my head..." - n 1kslunltsb "..." - n 1kslemltsb "What...{w=0.75}{nw}" - extend 1klremltsc " what h-{w=0.2}happen-{w=0.5}{nw}" - n 1kskpultscesh "...!{w=0.3}{nw}" - n 1kscpoitsc "Hrk-!{w=0.5}{nw}" + n 4kcsanltsa "M...{w=0.3}my head..." + n 4kslunltsb "..." + n 4kslemltsb "What...{w=0.75}{nw}" + extend 4klremltsc " what h-{w=0.2}happen-{w=0.5}{nw}" + n 4kskpultscesh "...!{w=0.3}{nw}" + n 4kscpoitsc "Hrk-!{w=0.5}{nw}" stop music - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.1) + show black zorder JN_BLACK_ZORDER with Dissolve(0.1) play audio chair_out_fast $ jnPause(0.2) - n "{b}B-{w=0.3}BLURGHHH-!{/b}{w=0.2}{nw}" + n "{b}B-{w=0.15}BLURGHHH-!{/b}{w=0.2}{nw}" play audio glitch_b - show glitch_garbled_b zorder 99 with vpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_b show natsuki 1kcsemtsd $ jnPause(10) @@ -194,26 +391,26 @@ label greeting_tt_warning: n 1kcsemi "Uuuuuu..." n 1kcsup "..." n 1kcsuntsa "..." - n 1ksquptsa "[player_initial]-{w=0.2}[player]..." - n 1ksqantsa "What..." - n 1kcsantsa "..." - n 1ksqfutsa "Did you...{w=0.75}{nw}" + n 4ksquptsa "[player_initial]-{w=0.2}[player]..." + n 4ksqantsa "What..." + n 4kcsantsa "..." + n 4ksqfutsa "Did you...{w=0.75}{nw}" extend 1ksqemtsasbl " do...?" - n 1kllemtscsbr "..." - n 1klrwrtscsbr "S-{w=0.3}something isn't right..." + n 4kllemtscsbr "..." + n 4klrwrtscsbr "S-{w=0.3}something isn't right..." - n 1kscpoitscsbr "H-{w=0.2}hrk-!{w=0.5}{nw}" + n 4kscpoitscsbr "H-{w=0.2}hrk-!{w=0.5}{nw}" show natsuki 1fcsanitscsbr play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_a n 1kcsemltscesi "Gah..." if Natsuki.isUpset(higher=True): - n 1ksqunltse "..." - n 1kplemltsb "Something {b}REALLY{/b} isn't right,{w=0.2} [player]..." - n 1kllemltsb "A-{w=0.2}and I..." - n 1klremltsc "I can't..." + n 4ksqunltse "..." + n 4kplemltsb "Something {b}REALLY{/b} isn't right,{w=0.2} [player]..." + n 4kllemltsb "A-{w=0.2}and I..." + n 4klremltsc "I can't..." n 1kcsfultsb "..." n 1kcsanltsd "..." n 1fcsunltsa "..." @@ -221,229 +418,230 @@ label greeting_tt_warning: n 1kllunltsc "W-{w=0.2}whatever that was...{w=1}{nw}" extend 1klremltdr " whatever just {i}happened{/i}..." n 1fcsunl "T-{w=0.2}that...{w=0.5}{nw}" - extend 1kplemltdr " {b}really{/b}{w=0.5} didn't feel good...{w=1}{nw}" - extend 1klremltdr " a-{w=0.2}and I-{w=0.5}{nw}" + extend 4kplemltdr " {b}really{/b}{w=0.5} didn't feel good...{w=1}{nw}" + extend 4klremltdr " a-{w=0.2}and I-{w=0.5}{nw}" else: n 1fcsanltsc "W-{w=0.2}what..." n 1fskanltsf "What did you{w=0.75}{nw}" extend 1kskscltsf " {i}DO{/i}?!" - n 1fcsscltsf "I-!{w=0.75}{nw}" + n 2fcsscltsf "I-!{w=0.75}{nw}" + + n 4kskpoitsc "H-{w=0.2}hrp-!{w=0.5}{nw}" - n 1kskpoitsc "H-{w=0.2}hrp-!{w=0.5}{nw}" - show natsuki 1kcsful + show natsuki 4kcsful play audio static - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c - n 1fpafui "Nnnnnnghhhh!{w=0.5}{nw}" - extend 1kcswrlesisbr " Guh...." - n 1kcsanlsbr "M-{w=0.2}my stomach...{w=0.75}{nw}" - extend 1kslunlsbr " uuuuuu..." + n 2fpafui "Nnnnnnghhhh!{w=0.5}{nw}" + extend 2kcswrlesisbr " Guh...." + n 4kcsanlsbr "M-{w=0.2}my stomach...{w=0.75}{nw}" + extend 4kslunlsbr " uuuuuu..." n 1kcsuplsbl "I-{w=0.2}it {i}hurts{/i}..." n 1fcsunlsbl "..." if Natsuki.isUpset(higher=True): n 1kcspul "Feels like..." n 1kcsunl "L-{w=0.2}like I was just tossed around back and forth...{w=1}{nw}" - extend 1ksrunltsb " like something was trying to yank me apart from all directions..." - n 1klrunltsc "..." - n 1kllemltsc "It all just...{w=1}{nw}" - extend 1kslemltsb " feels so wrong..." + extend 4ksrunltsb " like something was trying to yank me apart from all directions..." + n 4klrunltsc "..." + n 4kllemltsc "It all just...{w=1}{nw}" + extend 4kslemltsb " feels so wrong..." n 1kslslltsb "..." - n 1knmajltsb "A-{w=0.2}and the date...{w=0.75}{nw}" - extend 1ksrsrltsbeqm " I...{w=0.3} I swore it was..." + n 4knmajltsb "A-{w=0.2}and the date...{w=0.75}{nw}" + extend 2ksrsrltsbeqm " I...{w=0.3} I swore it was..." n 1knmsrltsc "..." - n 1fnmunltsc "...[player]." - n 1fnmemltsc "Y-{w=0.2}you didn't like...{w=0.75}{nw}" - extend 1flremltsc " change the date or something,{w=0.2} did you?{w=1}{nw}" - extend 1fwmpultsc " L-{w=0.2}like on your computer?" + n 2fnmunltsc "...[player]." + n 2fnmemltsc "Y-{w=0.2}you didn't like...{w=0.75}{nw}" + extend 2flremltsc " change the date or something,{w=0.2} did you?{w=1}{nw}" + extend 4fwmpultsc " L-{w=0.2}like on your computer?" n 1fllpultscesp "..." n 1fcsunltsa "..." - n 1fcsboltsa "...Okay.{w=1}{nw}" - extend 1fnmboltdr " [player]." - n 1fcseml "I'm...{w=1}{nw}" - extend 1fnmpul " not gonna go out on a limb and say you did it on purpose." + n 2fcsboltsa "...Okay.{w=1}{nw}" + extend 2fnmboltdr " [player]." + n 2fcseml "I'm...{w=1}{nw}" + extend 2fnmpul " not gonna go out on a limb and say you did it on purpose." if Natsuki.isEnamored(higher=True): - n 1kwmpul "I {i}know{/i} you're better than that.{w=1}{nw}" - extend 1kslbof " We've been seeing each other long enough..." + n 4kwmpul "I {i}know{/i} you're better than that.{w=1}{nw}" + extend 4kslbof " We've been seeing each other long enough..." elif Natsuki.isHappy(higher=True): n 1knmeml "You're better than that.{w=0.75}{nw}" - extend 1kslsll " ...I like to {i}think{/i} so,{w=0.2} a-{w=0.2}anyway." + extend 4kslsll " ...I like to {i}think{/i} so,{w=0.2} a-{w=0.2}anyway." else: n 1knmsrl "You're better than that.{w=0.5}{nw}" - extend 1kllemlsbr " ...I {i}hope{/i}." + extend 4kllemlsbr " ...I {i}hope{/i}." - n 1kcsem "But please...{w=0.75}{nw}" - extend 1knmem " [player]?" + n 4kcsem "But please...{w=0.75}{nw}" + extend 4knmem " [player]?" n 1kcswr "Just..." n 1kcspulesi "..." - n 1klrpul "Just don't screw around with the time again.{w=0.75}{nw}" - extend 1knmbol " Please?" + n 4klrpul "Just don't screw around with the time again.{w=0.75}{nw}" + extend 4knmbol " Please?" n 1kcsemlsbl "I-{w=0.2}It's just that..." n 1kcspulsbl "..." - n 1kslpulsbr "...I don't know.{w=0.5}{nw}" - extend 1ksqpulsbr " I just feel all messed up.{w=0.75}{nw}" - extend 1knmunlsbr " I really,{w=0.3} {i}really{/i}{w=0.3} don't feel right at all..." - n 1kslunlsbr "...And to be honest,{w=0.2} [player]?" - n 1kslemlsbr "I...{w=0.75}{nw}" + n 4kslpulsbr "...I don't know.{w=0.5}{nw}" + extend 2ksqpulsbr " I just feel all messed up.{w=0.75}{nw}" + extend 2knmunlsbr " I really,{w=0.3} {i}really{/i}{w=0.3} don't feel right at all..." + n 4kslunlsbr "...And to be honest,{w=0.2} [player]?" + n 4kslemlsbr "I...{w=0.75}{nw}" extend 1ksremltsb " I-{w=0.3}I'm not sure how much of that I can even {i}take{/i}." n 1kcspultsa "...You understand...{w=1}{nw}" - show natsuki 1kwmboltsc + show natsuki 4kwmboltsc menu: extend " right?" "I understand.": if Natsuki.isHappy(higher=True): - n 1kcsajltsa "...Good.{w=1}{nw}" - extend 1kslsll " good." + n 4kcsajltsa "...Good.{w=1}{nw}" + extend 4kslsll " good." n 1kslajl "It's...{w=0.75}{nw}" extend 1kslpul " appreciated,{w=0.2} [player]." - n 1ksqbol "T-{w=0.2}thanks." + n 4ksqbol "T-{w=0.2}thanks." else: - n 1fcsajltsa "...Good.{w=1}{nw}" - extend 1kcsslltsa " Good..." - n 1kslsll "..." + n 2fcsajltsa "...Good.{w=1}{nw}" + extend 2kcsslltsa " Good..." + n 2kslsll "..." $ Natsuki.calculatedAffinityGain() "...": if Natsuki.isHappy(higher=True): n 1knmemlsbr "...[player].{w=0.75}{nw}" - extend 1knmwrlsbr " C-{w=0.2}come on..." - n 1kplwrlsbr "I'm really {b}not{/b} messing around with this..." - n 1kcsemlsbr "...So can you {i}not{/i} mess around with it either?" - n 1kslemlesisbr "Seriously..." + extend 4knmwrlsbr " C-{w=0.2}come on..." + n 4kplwrlsbr "I'm really {b}not{/b} messing around with this..." + n 4kcsemlsbr "...So can you {i}not{/i} mess around with it either?" + n 2kslemlesisbr "Seriously..." else: n 1knmwrlsbr "H-{w=0.2}hey!{w=0.75}{nw}" extend 1fcsanlsbl " I'm being serious here?{w=0.5}{nw}" - extend 1kpluplsbl " Can't you {i}see{/i} that?" - n 1kcsemlsbl "I'm {i}really{/i} not messing around here,{w=0.2} [player]..." - n 1kslunlsbl "..." + extend 4kpluplsbl " Can't you {i}see{/i} that?" + n 4kcsemlsbl "I'm {i}really{/i} not messing around here,{w=0.2} [player]..." + n 4kslunlsbl "..." n 1kcsbol "..." n 1ncsajl "I...{w=1}{nw}" - extend 1kllsl " I think I'll be okay.{w=0.5}{nw}" - extend 1kslsleso " If I just take it easy for a bit." - n 1kcssl "Just please.{w=0.5}{nw}" + extend 2kllsl " I think I'll be okay.{w=0.5}{nw}" + extend 2kslsleso " If I just take it easy for a bit." + n 2kcssl "Just please.{w=0.5}{nw}" if Natsuki.isAffectionate(higher=True): - extend 1ksqslsbl " {i}Please{/i} remember what I told you.{w=0.75}{nw}" - extend 1ksqsslsbl " F-{w=0.2}for me?" + extend 4ksqslsbl " {i}Please{/i} remember what I told you.{w=0.75}{nw}" + extend 4ksqsslsbl " F-{w=0.2}for me?" else: - extend 1ksqslsbl " {i}Please{/i} remember what I told you." + extend 4ksqslsbl " {i}Please{/i} remember what I told you." - n 1ncspuesi "..." - n 1ncsbo "...Okay." + n 4ncspuesi "..." + n 4ncsbo "...Okay." n 1kllsl "..." n 1knmss "...What's new,{w=0.2} [player]?" elif Natsuki.isDistressed(higher=True): n 1fcsemlsbl "...Did..." n 1fslunlsbr "..." - n 1fsqanlsbr "...D-did you do something to your computer or what?" - n 1kcsfulsbr "Because it feels like someone took a sledgehammer to my {i}gut{/i}...{w=1}{nw}" - n 1ksksrisbr "Urk-!{w=0.5}{nw}" - n 1kcsansbr "Guh..." - n 1kslansbl "Everything...{w=0.5} feels all wrong..." - n 1klrsfsbl "A-{w=0.2}and the date...{w=0.75}{nw}" - extend 1ksremsbl " I could have {i}sworn{/i}...!" - n 1nsrpusbl "..." - n 1fsransbl "..." - n 1fcsansbr "...Okay,{w=0.2} [player].{w=0.75}{nw}" - extend 1fnmsfsbr " Look." + n 4fsqanlsbr "...D-{w=0.2}did you do something to your computer or what?" + n 2kcsfulsbr "Because it feels like someone took a sledgehammer to my {i}gut{/i}...{w=1}{nw}" + n 4ksksrisbr "Urk-!{w=0.5}{nw}" + n 2kcsansbr "Guh..." + n 2kslansbl "Everything...{w=0.5} feels all wrong..." + n 4klrsfsbl "A-{w=0.2}and the date...{w=0.75}{nw}" + extend 2ksremsbl " I could have {i}sworn{/i}...!" + n 2nsrpusbl "..." + n 2fsransbl "..." + n 2fcsansbr "...Okay,{w=0.2} [player].{w=0.75}{nw}" + extend 4fnmsfsbr " Look." n 1fcsun "..." n 1fsqun "...I'm not stupid.{w=1}{nw}" - extend 1fsruntsb " No matter what {i}you{/i} happen to think." - n 1fcsemtsa "A-{w=0.2}and...{w=0.5}{nw}" - extend 1fcsuntsa " I know...{w=0.3}{nw}" + extend 2fsruntsb " No matter what {i}you{/i} happen to think." + n 2fcsemtsa "A-{w=0.2}and...{w=0.5}{nw}" + extend 2fcsuntsa " I know...{w=0.3}{nw}" - show natsuki 1kcsanltsa + show natsuki 4kcsanltsa play audio static - show glitch_garbled_b zorder 99 with hpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_b - n 1fcsanltsa "Nnnnng-!{w=0.5}{nw}" - n 1kcsunltsa "..." + n 4fcsanltsa "Nnnnng-!{w=0.5}{nw}" + n 4kcsunltsa "..." n 1fcsunl "..." n 1fcseml "I-{w=0.2}I know we haven't been on the...{w=1}{nw}" - extend 1fslsl " best terms,{w=0.2} exactly." + extend 2fslsl " best terms,{w=0.2} exactly." n 1knmem "But please." - n 1kcsemsbl "I-{w=0.2}if you really {i}don't{/i} give a crap about me,{w=0.75}{nw}" - extend 1ksqemsbl " then if {i}nothing{/i} else." - n 1fcsansbl "Quit messing around with the time.{w=0.75}{nw}" - extend 1fsqansbl " I'm {i}dead{/i} serious." + n 4kcsemsbl "I-{w=0.2}if you really {i}don't{/i} give a crap about me,{w=0.75}{nw}" + extend 4ksqemsbl " then if {i}nothing{/i} else." + n 2fcsansbl "Quit messing around with the time.{w=0.75}{nw}" + extend 4fsqansbl " I'm {i}dead{/i} serious." - show natsuki 1fcsuntsa + show natsuki 2fcsuntsa $ jnPause(3) - n 1fcsupsbl "It {b}hurts{/b},{w=0.75}{nw}" - extend 1fcsansbl " it {b}isn't{/b} funny,{w=0.75}{nw}" - extend 1fsqansbl " and to be completely honest with you?" - n 1fcsunl "..." + n 2fcsupsbl "It {b}hurts{/b},{w=0.75}{nw}" + extend 2fcsansbl " it {b}isn't{/b} funny,{w=0.75}{nw}" + extend 2fsqansbl " and to be completely honest with you?" + n 2fcsunl "..." n 1fcsful "I don't think I can even {i}handle{/i} something like that again..." n 1fslanl "So just..." - n 1fcsanl "Just knock.{w=0.35} It.{w=0.35} Off." - n 1fsqsrl "..." - n 1fnmem "Understood?{w=1}{nw}" - extend 1fsqwr " I {i}know{/i} you hear me." + n 4fcsanl "Just knock.{w=0.35} It.{w=0.35} Off." + n 4fsqsrl "..." + n 3fnmem "Understood?{w=1}{nw}" + extend 3fsqwr " I {i}know{/i} you hear me." n 1fsqsr "..." n 1fsqem "You have {i}no{/i} excuses,{w=0.2} [player]." - n 1fcsfu "{i}Remember that.{/i}" + n 2fcsfu "{i}Remember that.{/i}" else: n 1fcsupltsa "..." n 1fsqupltsb "...You." - n 1fsqanltsb "{i}You{/i} did this,{w=0.3} didn't you?" + n 4fsqanltsb "{i}You{/i} did this,{w=0.3} didn't you?" show natsuki 1fcsanltsa play audio static - show glitch_garbled_a zorder 99 with hpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_a - n 1fskscltsc "NO!{w=0.75}{nw}" - extend 1fcsscltsa " Don't even {i}try{/i} to deny it!" + n 4fskscltsc "NO!{w=0.75}{nw}" + extend 4fcsscltsa " Don't even {i}try{/i} to deny it!" n 1fcsfultsa "I know you think I'm {i}stupid{/i},{w=0.2} but do you seriously think I'm {i}blind{/i} too?!" - n 1fsqupltsb "I {i}saw{/i} that you messed around with the date!{w=0.75}{nw}" - extend 1fcsanltsa " You're just...!" - n 1fskscltsc "You're {b}so{/b} full of {i}CRA-{/i}{nw}" + n 2fsqupltsb "I {i}saw{/i} that you messed around with the date!{w=0.75}{nw}" + extend 2fcsanltsa " You're just...!" + n 4fskscltsc "You're {b}so{/b} full of {i}CRA-{/i}{nw}" - show natsuki 1fcsfultsa + show natsuki 4fcsfultsa play audio static - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c - n 1fcsupltsa "Nnnnnrrgh-!{w=0.5}{nw}" - n 1fcsunltsa "..." - n 1fcsemltsa "...Haah." + n 4fcsupltsa "Nnnnnrrgh-!{w=0.5}{nw}" + n 4fcsunltsa "..." + n 4fcsemltsa "...Haah." n 1fcsunltsa "..." n 1fcsanltsa "...I {i}seriously{/i} cannot {i}believe{/i} you.{w=0.75}{nw}" extend 1fsqanltsa " You're already torturing me well enough." - n 1fnmupltsc "And now you go {i}completely{/i} out of your way to make my life {i}even more{/i} miserable?!" - n 1fcsupltsd "..." - n 1fcsanltsd "Well,{w=0.5}{nw}" - extend 1fcsemltsd " you know what?{w=0.75}{nw}" - extend 1fsqwrltse " You did it!" - n 1fnmfultsf "Mission accomplished!{w=1}{nw}" - extend 1fcsfultsd " There?{w=0.75}{nw}" + n 4fnmupltsc "And now you go {i}completely{/i} out of your way to make my life {i}even more{/i} miserable?!" + n 2fcsupltsd "..." + n 2fcsanltsd "Well,{w=0.5}{nw}" + extend 2fcsemltsd " you know what?{w=0.75}{nw}" + extend 2fsqwrltse " You did it!" + n 4fnmfultsf "Mission accomplished!{w=1}{nw}" + extend 4fcsfultsd " There?{w=0.75}{nw}" $ chosen_insult = jn_utils.getRandomInsult() - extend 1fcsgsltsa " You done,{w=0.3} [chosen_insult]?" - n 1fnmanltdr "Are you HAPPY?" - n 1fcsanl "Now seriously,{w=0.2} just..." - n 1kcsanltsa "J-{w=0.2}just..." + extend 4fcsgsltsa " You done,{w=0.3} [chosen_insult]?" + n 4fnmanltdr "Are you HAPPY?" + n 4fcsanl "Now seriously,{w=0.2} just..." + n 4kcsanltsa "J-{w=0.2}just..." n 1fnmupltsc "Just BACK OFF!{w=0.5}{nw}" - extend 1fskscltsf " G-{w=0.2}GO AWAY!{w=1}{nw}" - n 1fscscftsf "{i}AND{w=0.2} LEAVE{w=0.2} ME{w=0.2} ALONE{/i}!{nw}" + extend 4fskscltsf " G-{w=0.2}GO AWAY!{w=1}{nw}" + n 4fscscftsf "{i}AND{w=0.2} LEAVE{w=0.2} ME{w=0.2} ALONE{/i}!{nw}" play audio glitch_d - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c $ Natsuki.percentageAffinityLoss(10) @@ -456,7 +654,8 @@ label greeting_tt_warning: return label greeting_tt_fatal: - $ config.window_title = _("Just You - {0}".format(config.version)) + $ import uuid + $ config.window_title = _("{0} - {1}".format(uuid.uuid4(), config.version)) $ jn_globals.force_quit_enabled = False $ jn_atmosphere.showSky(jn_atmosphere.WEATHER_GLITCH) show chair zorder JN_NATSUKI_ZORDER @@ -466,15 +665,15 @@ label greeting_tt_fatal: hide black show glitch_steady zorder 98 play audio static - show glitch_spook zorder 99 with vpunch + show glitch_spook zorder JN_GLITCH_ZORDER with vpunch hide glitch_spook play audio static - show glitch_garbled_b zorder 99 with vpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_b play audio static - show glitch_spook zorder 99 with vpunch + show glitch_spook zorder JN_GLITCH_ZORDER with vpunch hide glitch_spook play audio interference fadeout 0.5 @@ -488,7 +687,8 @@ label greeting_tt_fatal: return label greeting_tt_game_over: - $ config.window_title = _("Just You - {0}".format(config.version)) + $ import uuid + $ config.window_title = _("{0} - {1}".format(uuid.uuid4(), config.version)) $ jn_globals.force_quit_enabled = False $ jn_atmosphere.showSky(jn_atmosphere.WEATHER_GLITCH) show chair zorder JN_NATSUKI_ZORDER @@ -498,6 +698,13 @@ label greeting_tt_game_over: $ jnPause(100000) $ renpy.quit() +label greeting_pic: + $ import codecs + show screen problem("412070726f626c656d20686173206f636375727265642e20506c6561736520636f6e74616374204a4e2073746166662e".decode("hex")) + $ jn_globals.force_quit_enabled = True + $ jnPause(100000) + $ renpy.quit() + # Generic greetings # LOVE+ greetings @@ -514,9 +721,10 @@ init 5 python: label greeting_love_plus_today_is_gonna_be_great: n 1unmbsledz "[player]!{w=1}{nw}" - extend 1fchgnl " You're back,{w=0.3} finally!" - n 1fchsml "Ehehe.{w=0.5}{nw}" - extend 1uchgnleme " Now I {i}know{/i} today's gonna be great!" + extend 3fchgnl " You're back,{w=0.3} finally!" + n 3fchsml "Ehehe.{w=0.5}{nw}" + extend 3uchgnleme " Now I {i}know{/i} today's gonna be great!" + return init 5 python: @@ -532,18 +740,19 @@ init 5 python: label greeting_love_plus_world_revolves_around_you: n 1fsqpol "[player]!{w=0.75}{nw}" - extend 1fnmgsl " What took you so long?{w=0.75}{nw}" - extend 1fllemlesi " Jeez!" - n 1fnmsfl "You think my entire {i}world{/i} revolves around you or something?" - n 1fnmdvl "..." - n 1fsqsml "..." - n 1uchlglelg "Ahaha!{w=1}{nw}" - extend 1fsqsml " Did I getcha,{w=0.2} [player]?{w=0.5}{nw}" - extend 1fchgnl " Don't lie!" + extend 2fnmgsl " What took you so long?{w=0.75}{nw}" + extend 2fllemlesi " Jeez!" + n 2fnmsfl "You think my entire {i}world{/i} revolves around you or something?" + n 2fnmdvl "..." + n 2fsqsml "..." + n 2uchlglelg "Ahaha!{w=1}{nw}" + extend 3fsqsml " Did I getcha,{w=0.2} [player]?{w=0.5}{nw}" + extend 3fchgnl " Don't lie!" $ chosen_endearment = jn_utils.getRandomEndearment() - n 1ullssl "Well,{w=0.2} anyway." - n 1fcsbgl "You're here now,{w=0.2} [chosen_endearment].{w=0.75}{nw}" - extend 1uchsmleme " Make yourself at home,{w=0.2} silly!" + n 3ullssl "Well,{w=0.2} anyway." + n 4fcsbgl "You're here now,{w=0.2} [chosen_endearment].{w=0.75}{nw}" + extend 4uchsmleme " Make yourself at home,{w=0.2} silly!" + return init 5 python: @@ -558,10 +767,11 @@ init 5 python: ) label greeting_love_plus_make_today_amazing: - n 1uchbsfeex "[player]!{w=0.3} [player]{w=0.2} [player]{w=0.2} [player]!" - n 1fcsbgfsbl "I-{w=0.2}I was wondering when you were gonna show up!{w=0.75}{nw}" - extend 1fchsml " Ehehe." - n 1fwlsmledz "Let's make today amazing too,{w=0.1} alright?" + n 4uchbsfeex "[player]!{w=0.3} [player]{w=0.2} [player]{w=0.2} [player]!" + n 2fcsbgfsbl "I-{w=0.2}I was wondering when you were gonna show up!{w=0.75}{nw}" + extend 2fchsml " Ehehe." + n 4fwlsmledz "Let's make today amazing too,{w=0.2} alright?" + return init 5 python: @@ -579,11 +789,12 @@ label greeting_love_plus_always_welcome_here: $ player_initial = jn_utils.getPlayerInitial() n 1uskgsfesu "[player_initial]-{w=0.2}[player]!{w=0.5}{nw}" extend 1ullemfsbl " You're back!" - n 1fslunfesssbl "I was really starting to miss you,{w=0.3} you know..." - n 1fplcafsbl "Don't keep me waiting so long next time,{w=0.3} alright?" + n 2fslunfesssbl "I was really starting to miss you,{w=0.3} you know..." + n 2fplcafsbl "Don't keep me waiting so long next time,{w=0.3} alright?" $ chosen_tease = jn_utils.getRandomTease() - n 1klrssf "You should know you're {i}always{/i} welcome here by now,{w=0.33}{nw}" + n 4klrssf "You should know you're {i}always{/i} welcome here by now,{w=0.33}{nw}" extend 1fchsmf " [chosen_tease]." + return init 5 python: @@ -604,13 +815,14 @@ label greeting_love_plus_lovestruck: $ player_initial = jn_utils.getPlayerInitial() n 1kbkwrf "[player_initial]-{w=0.3}[player]!{w=1}{nw}" extend 1fbkwrfess " When did you {i}get{/i} here?!" - n 1klrgsf "I-{w=0.3}I was...!{w=1}{nw}" - extend 1kllemfsbl " I was just...!" + n 4klrgsf "I-{w=0.3}I was...!{w=1}{nw}" + extend 4kllemfsbl " I was just...!" n 1kcsunf "..." n 1kcssml "..." - n 1kplsml "I missed you,{w=0.2} [player].{w=0.3} Ahaha..." + n 4kplsml "I missed you,{w=0.2} [player].{w=0.3} Ahaha..." $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kwmsmf "But I know everything's gonna be okay now you're here,{w=0.2} [chosen_endearment]." + n 4kwmsmf "But I know everything's gonna be okay now you're here,{w=0.2} [chosen_endearment]." + return init 5 python: @@ -625,15 +837,16 @@ init 5 python: ) label greeting_love_plus_looking_for_me: - n 1nnmpul "...Hello?{w=2.5}{nw}" - extend 1tsqdvf " Was it {i}me{/i} you're looking for?" - n 1fchdvfess "..." - n 1fchnvfesi "Pfffft-!" + n 2nnmpul "...Hello?{w=2.5}{nw}" + extend 2tsqdvf " Was it {i}me{/i} you're looking for?" + n 2fchdvfess "..." + n 2fchcsfesm "Pfffft-!" n 1kllbgl "Man,{w=0.5}{nw}" - extend 1fchgnlelg " I {i}cannot{/i} take that seriously!" - n 1fnmssl "But let's be real here,{w=0.2} [player]..." - n 1fsqsmf "It {i}{w=0.2}totally{w=0.2}{/i} was me,{w=0.2} right?{w=1}{nw}" - extend 1fchsmfedz " Ehehe~." + extend 4fchgnlelg " I {i}cannot{/i} take that seriously!" + n 4fnmssl "But let's be real here,{w=0.2} [player]..." + n 2fsqsmf "It {i}{w=0.2}totally{w=0.2}{/i} was me,{w=0.2} right?{w=1}{nw}" + extend 2fchsmfedz " Ehehe~." + return init 5 python: @@ -648,16 +861,17 @@ init 5 python: ) label greeting_love_plus_dull_moment: - n 1flleml "Well jeez,{w=0.5}{nw}" - extend 1fsqawl " you sure took your sweet time!" - n 1fbkwrfean "What were you thinking,{w=0.2} [player]?!" - n 1fsqpol "..." - n 1fsqdvl "..." - n 1fchsmleme "Ehehe.{w=0.75}{nw}" - n 1fsqssl "Never a dull moment with me,{w=0.75}{nw}" - extend 1fchbll " is there?" + n 2flleml "Well jeez,{w=0.5}{nw}" + extend 2fsqawl " you sure took your sweet time!" + n 4fbkwrfean "What were you thinking,{w=0.2} [player]?!" + n 3fsqpol "..." + n 3fsqdvl "..." + n 3fchsmleme "Ehehe.{w=0.75}{nw}" + n 3fsqssl "Never a dull moment with me,{w=0.75}{nw}" + extend 3fchbll " is there?" n 1fcsssl "You know the deal already.{w=1}{nw}" - extend 1uchgnlelg " Make yourself comfy,{w=0.2} silly!" + extend 2uchgnlelg " Make yourself comfy,{w=0.2} silly!" + return # AFFECTIONATE/ENAMORED greetings @@ -675,7 +889,8 @@ init 5 python: label greeting_affectionate_enamored_good_to_see_you: n 1uchbgl "[player]!{w=0.2} You're back!" - n 1fchsml "Let's make today amazing as well,{w=0.2} 'kay?{w=0.3} Ehehe." + n 3fchsml "Let's make today amazing as well,{w=0.2} 'kay?{w=0.3} Ehehe." + return init 5 python: @@ -690,12 +905,13 @@ init 5 python: ) label greeting_affectionate_enamored_couldnt_resist: - n 1fsqsml "Well hey,{w=0.2} [player].{w=0.5}{nw}" - extend 1tsqssl " Back so soon?" - n 1fcsctl "I knew you obviously just couldn't resist.{w=0.75}{nw}" - extend 1fcssmledz " Ehehe." - n 1tsqssl "So...{w=1}{nw}" - extend 1fchbgl " what do you wanna do today?" + n 3fsqsml "Well hey,{w=0.2} [player].{w=0.5}{nw}" + extend 3tsqssl " Back so soon?" + n 3fcsctl "I knew you obviously just couldn't resist.{w=0.75}{nw}" + extend 3fcssmledz " Ehehe." + n 4tsqssl "So...{w=1}{nw}" + extend 2fchbgl " what do you wanna do today?" + return init 5 python: @@ -711,11 +927,12 @@ init 5 python: label greeting_affectionate_enamored_just_cant_stay_away: n 1usqbgl "Well,{w=0.2} well,{w=0.2} well.{w=0.5}{nw}" - extend 1fsqbgl " What do we have here?" - n 1tsqctl "You just can't stay away from me,{w=0.2} can you?" - n 1ksqbgl "Not that I blame you,{w=0.2} obviously.{w=0.5}{nw}" - extend 1fchtsledz " I guess I just {i}have{/i} that effect on people." - n 1fchgnlelg "Ehehe." + extend 2fsqbgl " What do we have here?" + n 2tsqctl "You just can't stay away from me,{w=0.2} can you?" + n 2ksqbgl "Not that I blame you,{w=0.2} obviously.{w=0.5}{nw}" + extend 2fchtsledz " I guess I just {i}have{/i} that effect on people." + n 4fchgnlelg "Ehehe." + return init 5 python: @@ -731,9 +948,10 @@ init 5 python: label greeting_affectionate_enamored_have_so_much_fun: n 1uchbgleme "It's [player]!" - n 1fcssml "We're gonna have so much fun today!{w=0.5}{nw}" - extend 1nchsml " Ehehe." - n 1fchbgl "So!{w=0.2} what did you wanna talk about?" + n 3fcssml "We're gonna have so much fun today!{w=0.5}{nw}" + extend 3nchsml " Ehehe." + n 3fchbgl "So!{w=0.2} what did you wanna talk about?" + return init 5 python: @@ -749,10 +967,11 @@ init 5 python: label greeting_affectionate_enamored_everything_is_fine: n 1uwdgslesu "[player]!{w=0.5}{nw}" - extend 1ullajlsbr " You're back!" - n 1fsqpol "You kept me waiting {i}again{/i},{w=0.2} you know..." - n 1fcsbgl "But...{w=0.5} at least my patience paid off.{w=0.75}{nw}" - extend 1fcssmleme " Ehehe." + extend 4ullajlsbr " You're back!" + n 2fsqpol "You kept me waiting {i}again{/i},{w=0.2} you know..." + n 2fcsbgl "But...{w=0.5} at least my patience paid off.{w=0.75}{nw}" + extend 2fcssmleme " Ehehe." + return # NORMAL/HAPPY greetings @@ -770,8 +989,9 @@ init 5 python: label greeting_normal_happy_whats_up: n 1uwdajesu "Oh!{w=0.5}{nw}" - extend 1ulrsssbr " Hey,{w=0.2} [player]!" - n 1unmbo "What's up?" + extend 4ulrsssbr " Hey,{w=0.2} [player]!" + n 3unmbo "What's up?" + return init 5 python: @@ -787,7 +1007,8 @@ init 5 python: label greeting_normal_happy_glad_to_see_you: n 1uchsm "Hey,{w=0.2} [player]!" - n 1nllsssbr "I was just wondering when you'd drop by again." + n 4nllsssbr "I was just wondering when you'd drop by again." + return init 5 python: @@ -805,10 +1026,11 @@ label greeting_normal_happy_spacing_out: n 1kllpu "..." n 1uwdajlesu "Huh?" n 1uchbglesd "O-{w=0.2}oh!{w=0.5}{nw}" - extend 1fchssl " Hi,{w=0.2} [player]!" - n 1nllsssbr "I...{w=1}{nw}" - extend 1fllpolsbr " was just kinda spacing out a little." - n 1unmbol "So...{w=0.3} what's new?" + extend 4fchssl " Hi,{w=0.2} [player]!" + n 4nllsssbr "I...{w=1}{nw}" + extend 2fllpolsbr " was just kinda spacing out a little." + n 3unmbol "So...{w=0.3} what's new?" + return init 5 python: @@ -824,7 +1046,8 @@ init 5 python: label greeting_normal_happy_heya: n 1fcsbg "Heya,{w=0.2} [player]!" - n 1tnmss "What's up?" + n 3tnmss "What's up?" + return init 5 python: @@ -840,9 +1063,10 @@ init 5 python: label greeting_normal_happy_knew_youd_be_back: n 1unmbg "It's [player]!{w=0.2} Hi!" - n 1fcsbglesssbr "I-{w=0.1}I knew you'd be back,{w=0.1} obviously." - n 1fcssml "You'd have to have no taste to not visit again.{w=0.75}{nw}" - extend 1fcsbgl " Ahaha!" + n 2fcsbglesssbr "I-{w=0.1}I knew you'd be back,{w=0.2} obviously." + n 2fcssml "You'd have to have no taste to not visit again.{w=0.75}{nw}" + extend 2fcsbgl " Ahaha!" + return init 5 python: @@ -859,8 +1083,9 @@ init 5 python: label greeting_normal_happy_sup_player: n 1unmboesu "Eh?{w=0.5}{nw}" n 1unmaj "Oh.{w=0.5}{nw}" - extend 1tnmaj " Hey,{w=0.1} [player]." - n 1tllss "What's up?" + extend 1tnmaj " Hey,{w=0.2} [player]." + n 2tllss "What's up?" + return init 5 python: @@ -875,8 +1100,8 @@ init 5 python: ) label greeting_normal_happy_wake_up_nat: - n 1nslpu "..." - n 1kslpu "..." + n 4nslpu "..." + n 4kslpu "..." n 1kcsbo "..." n 1ncsaj "..." n 1ncspu "..." @@ -885,10 +1110,11 @@ label greeting_normal_happy_wake_up_nat: n 1ncsemesl "..." n 1kcsemesl "Mmm...{w=1}{nw}" extend 1kwlemesl " nnnn?" - n 1uskwrleex "O-{w=0.3}Oh!{w=0.5}{nw}" - extend 1fllbglsbl " [player]!" - n 1flrbgesssbr "H-{w=0.3}hey!{w=0.5}{nw}" - extend 1tnmsssbl " What did I miss?" + n 4uskwrleex "O-{w=0.3}Oh!{w=0.5}{nw}" + extend 4fllbglsbl " [player]!" + n 4flrbgesssbr "H-{w=0.3}hey!{w=0.5}{nw}" + extend 2tnmsssbl " What did I miss?" + return # DISTRESSED/UPSET greetings @@ -906,8 +1132,9 @@ init 5 python: label greeting_distressed_upset_oh_its_you: n 1ndtsl "Oh.{w=1}{nw}" - extend 1fsqsl " It's you." - n 1fnmsl "Hello,{w=0.5} {i}[player]{/i}." + extend 2fsqsl " It's you." + n 2fnmsl "Hello,{w=0.5} {i}[player]{/i}." + return init 5 python: @@ -923,7 +1150,8 @@ init 5 python: label greeting_distressed_upset_hi: n 1nplsl "{i}[player]{/i}.{w=0.5}{nw}" - extend " Hi." + extend 2fsqsl " Hi." + return init 5 python: @@ -938,8 +1166,9 @@ init 5 python: ) label greeting_distressed_upset_welcome_back_i_guess: - n 1nsqsl "[player].{w=0.75}{nw}" - extend 1flrsr " Welcome back,{w=0.2} I {i}guess{/i}." + n 2nsqsl "[player].{w=0.75}{nw}" + extend 2flrsr " Welcome back,{w=0.2} I {i}guess{/i}." + return init 5 python: @@ -956,7 +1185,8 @@ init 5 python: label greeting_distressed_upset_better_be_good: n 1nsqaj "Huh.{w=0.75}{nw}" extend 1fsqsr " [player]." - n 1fnmsl "This better be good." + n 3fnmsl "This better be good." + return init 5 python: @@ -972,7 +1202,8 @@ init 5 python: label greeting_distressed_upset_oh_you_came_back: n 1tsqaj "Oh?{w=0.2} You came back?" - n 1fslem "...I wish I could say I was happy about it." + n 3fslem "...I wish I could say I was happy about it." + return # BROKEN- greetings @@ -989,8 +1220,9 @@ init 5 python: ) label greeting_broken_minus_oh_its_you: - n 1kplsrtdr "...?" - n 1fcsanltsa "Oh...{w=0.3} it's you." + n 4kplsrtdr "...?" + n 2fcsanltsa "Oh...{w=0.3} it's you." + return init 5 python: @@ -1005,8 +1237,9 @@ init 5 python: ) label greeting_broken_minus_nothing_to_say: - n 1fcsanltsa "..." - n 1fsqfultsb "..." + n 4fcsanltsa "..." + n 4fsqfultsb "..." + return init 5 python: @@ -1022,7 +1255,8 @@ init 5 python: label greeting_broken_minus_why: n 1fplfrltdr "...Why?" - n 1fcsupltsa "Why did you come back,{w=0.1} [player]?" + n 4fcsupltsa "Why did you come back,{w=0.2} [player]?" + return init 5 python: @@ -1037,8 +1271,9 @@ init 5 python: ) label greeting_broken_minus_enough_on_my_mind: - n 1fnmunltdr "...?" - n 1fcsupltsd "As if I didn't have enough on my mind..." + n 2fnmunltdr "...?" + n 2fcsupltsd "As if I didn't have enough on my mind..." + return init 5 python: @@ -1054,7 +1289,8 @@ init 5 python: label greeting_broken_minus_leave_me_be: n 1fcsfultsa "I'm so {i}sick{/i} of this." - n 1kcsupltsd "Why can't you just leave me be..." + n 2kcsupltsd "Why can't you just leave me be..." + return # Admission-locked greetings; used when Natsuki made the player leave due to tiredness, etc. @@ -1076,32 +1312,35 @@ init 5 python: label greeting_feeling_better_sick: n 1unmajlesu "Oh!{w=0.5}{nw}" - extend 1knmbgl " [player]!{w=0.3} Hey!" + extend 2knmbgl " [player]!{w=0.3} Hey!" + show natsuki 2knmbol + menu: n "How're you feeling?{w=0.2} Any better?" "Much better, thanks!": - n 1fcsbgsbr "Good,{w=0.2} good!{w=0.3} I-{w=0.2}I knew you'd see the back of it soon!{w=0.5}{nw}" - extend 1fcsaj " Being ill is gross,{w=0.2} right?" - n 1nllaj "Now...{w=1}{nw}" - extend 1fsqbgl " since that's out of the way,{w=0.2} how about we spend some actual quality time together?" - n 1fsqblleme "Gotta make up for lost plans,{w=0.2} no?" + n 2fcsbgsbr "Good,{w=0.2} good!{w=0.3} I-{w=0.2}I knew you'd see the back of it soon!{w=0.5}{nw}" + extend 2fcsaj " Being ill is gross,{w=0.2} right?" + n 4nllaj "Now...{w=1}{nw}" + extend 3fsqbgl " since that's out of the way,{w=0.2} how about we spend some actual quality time together?" + n 4fsqblleme "Gotta make up for lost plans,{w=0.2} no?" + $ persistent.jn_player_admission_type_on_quit = None "A little better.": - n 1kslpo "...I'll admit,{w=0.2} that wasn't really what I wanted to hear." - n 1ullbo "But...{w=0.5}{nw}" - extend 1klrbosbl " I'll take 'a little' over not at all,{w=0.2} I guess." - n 1fchbgsbl "Anyway...{w=0.3} welcome back,{w=0.1} [player]!" + n 2kslpo "...I'll admit,{w=0.2} that wasn't really what I wanted to hear." + n 2ullbo "But...{w=0.5}{nw}" + extend 2klrbosbl " I'll take 'a little' over not at all,{w=0.2} I guess." + n 4fchbgsbl "Anyway...{w=0.3} welcome back,{w=0.2} [player]!" # Add pending apology, reset the admission $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) $ jn_admissions.last_admission_type = jn_admissions.TYPE_SICK "Still unwell.": - n 1knmsr "Still not feeling up to scratch,{w=0.1} [player]?" - n 1klrsll "I don't {i}mind{/i} you being here...{w=0.3} but don't strain yourself,{w=0.1} alright?" - n 1kslsllesosbr "I don't want you making yourself worse for my sake..." + n 2knmsr "Still not feeling up to scratch,{w=0.2} [player]?" + n 2klrsll "I don't {i}mind{/i} you being here...{w=0.3} but don't strain yourself,{w=0.2} alright?" + n 3kslsllesosbr "I don't want you making yourself worse for my sake..." # Add pending apology, reset the admission $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) @@ -1124,35 +1363,38 @@ init 5 python: ) label greeting_feeling_better_tired: - n 1unmajesu "Ah!{w=0.5}{nw}" - extend 1uchbg " [player]!{w=0.2} Hi!" + n 4unmajesu "Ah!{w=0.5}{nw}" + extend 4uchbg " [player]!{w=0.2} Hi!" + show natsuki 4fchbg + menu: n "How're you feeling? Any less tired?" "Much better, thanks!": n 1nchsm "Ehehe.{w=0.5}{nw}" - extend 1usqsm " Nothing like a good night's sleep,{w=0.2} am I right?" - n 1fcsbg "Now then!{w=1}{nw}" - extend 1fsqbg " Seeing as you're finally awake and alert..." - n 1fchsmledz "It's time for some more fun with yours truly!" + extend 2usqsm " Nothing like a good night's sleep,{w=0.2} am I right?" + n 2fcsbg "Now then!{w=1}{nw}" + extend 4fsqbg " Seeing as you're finally awake and alert..." + n 2fchsmledz "It's time for some more fun with yours truly!" + $ persistent.jn_player_admission_type_on_quit = None "A little tired.": n 1knmsl "Oh...{w=1}{nw}" - extend 1kllajsbr " that's not exactly what I was {i}hoping{/i} to hear,{w=0.2} I'll be honest." - n 1fcsslsbr "Mmm..." - n 1knmaj "Then...{w=0.3} perhaps you could grab something to wake up a little?" - n 1kchbgsbl "A nice glass of water or some bitter coffee should perk you up in no time!" + extend 4kllajsbr " that's not exactly what I was {i}hoping{/i} to hear,{w=0.2} I'll be honest." + n 2fcsslsbr "Mmm..." + n 2knmaj "Then...{w=0.3} perhaps you could grab something to wake up a little?" + n 2fchbgsbl "A nice glass of water or some bitter coffee should perk you up in no time!" # Add pending apology, reset the admission $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) $ jn_admissions.last_admission_type = jn_admissions.TYPE_TIRED "Still tired.": - n 1knmsl "Still struggling with your sleep,{w=0.2} [player]?" - n 1kllaj "I don't {i}mind{/i} you being here...{w=1}{nw}" - extend 1knmsl " but don't strain yourself,{w=0.1} alright?" - n 1kslbosbl "I don't want you face-planting your desk for my sake..." + n 3knmsl "Still struggling with your sleep,{w=0.2} [player]?" + n 3kllaj "I don't {i}mind{/i} you being here...{w=1}{nw}" + extend 3knmsl " but don't strain yourself,{w=0.2} alright?" + n 4kslbosbl "I don't want you face-planting your desk for my sake..." # Add pending apology, reset the admission $ Natsuki.addApology(jn_apologies.ApologyTypes.unhealthy) @@ -1178,29 +1420,37 @@ init 5 python: label greeting_sudden_leave: if Natsuki.isEnamored(higher=True): n 1kwmsrl "..." - n 1kwmsrl "[player]." - n 1knmsll "Come on.{w=0.2} You're better than that." - n 1knmajl "I don't know if something happened or what,{w=0.2} but please..." - n 1knmsll "Try to remember to say goodbye properly next time,{w=0.2} 'kay?" - n 1knmssl "It'd mean a lot to me." + n 4kwmsrl "[player]." + n 4knmsll "Come on.{w=0.75}{nw}" + extend 4ksqbol " You know you're better than that." + n 4ncseml "I-{w=0.2}I don't know if something happened or what,{w=0.75}{nw}" + extend 4knmajl " but please..." + n 1knmsll "...Try to remember to say goodbye properly next time.{w=0.5}{nw}" + extend 2knmbol " Okay?" + n 2ksrbol "It'd mean a lot to me." elif Natsuki.isNormal(higher=True): - n 1kwmsr "..." - n 1fplsf "[player]!{w=0.2} Do you know how scary it is when you just vanish like that?" - n 1knmsf "Please...{w=0.3} just remember to say goodbye properly when you gotta leave." - n 1knmss "It's not much to ask...{w=0.3} is it?" + n 1fsqsr "..." + $ player_initial = jn_utils.getPlayerInitial() + n 4fnmem "[player_initial]-[player]!{w=0.75}{nw}" + extend 4knmem " Do you even know how scary it is when you just vanish like that?" + n 2kllsf "Seriously...{w=0.75}{nw}" + extend 2knmaj " just remember to say goodbye properly when you gotta leave." + n 4fnmslsbr "I'm really {i}not{/i} asking for much,{w=0.5}{nw}" + extend 4kslslsbr " you know..." elif Natsuki.isDistressed(higher=True): - n 1fsqsf "..." - n 1fsqaj "You know I hate that,{w=0.2} [player]." - n 1fsqsl "Knock it off,{w=0.2} will you?" - n 1fsqsf "Thanks." + n 2fsqsf "..." + n 2fsqaj "You know I hate that,{w=0.2} [player]." + n 2fsqsl "Knock it off,{w=0.2} will you?" + n 2fsqsf "Thanks." else: - n 1fcsuntsa "..." - n 1fsquntsb "Heh.{w=0.2} Yeah." + n 2fcsuntsa "..." + n 2fsquntsb "Heh.{w=0.2} Yeah." $ chosen_insult = jn_utils.getRandomInsult().capitalize() - n 1fcsuptsa "Welcome back to you,{w=0.2} too.{w=0.2} [chosen_insult]." + n 2fsruptsb "Welcome back to you,{w=0.2} too.{w=0.75}{nw}" + extend 2fsrgttsb " [chosen_insult]." $ Natsuki.addApology(jn_apologies.ApologyTypes.sudden_leave) return @@ -1224,36 +1474,36 @@ label greeting_prolonged_leave: if Natsuki.isEnamored(higher=True): n 1uwdwrf "[player_initial]-{w=0.1}[player]!" - n 1fbkwrf "W-{w=0.3}where were you?!{w=0.5}{nw}" - extend 1kllemlsbl " You had me worried {i}sick{/i}!" + n 4fbkwrf "W-{w=0.3}where were you?!{w=0.5}{nw}" + extend 4kllemlsbl " You had me worried {i}sick{/i}!" n 1kcsunl "..." n 1fcsunl "I'm...{w=0.5}{nw}" - extend 1kplunl " glad...{w=0.3} you're back,{w=0.1} [player]." - extend 1kcseml " Just..." - n 1klrsflsbl "...Don't just suddenly disappear for so long." - n 1fcsunf "I hate having my heart played with like that..." + extend 2kplunl " glad...{w=0.3} you're back,{w=0.2} [player]." + extend 2kcseml " Just..." + n 4klrsflsbl "...Don't just suddenly disappear for so long." + n 2fcsunf "I hate having my heart played with like that..." elif Natsuki.isNormal(higher=True): n 1uwdwr "[player_initial]-{w=0.1}[player]!" - n 1fnman "What the hell?!{w=0.5}{nw}" - extend 1fnmfu " Where have you been?!{w=0.5}{nw}" + n 4fnman "What the hell?!{w=0.5}{nw}" + extend 4fnmfu " Where have you been?!{w=0.5}{nw}" extend 1fbkwrless " I was worried sick!" - n 1fcsupl "J-{w=0.3}just as a friend,{w=0.5} but still!" - n 1fcsun "...{w=1.5}{nw}" + n 2fcsupl "J-{w=0.3}just as a friend,{w=0.5} but still!" + n 2fcsun "...{w=1.5}{nw}" n 1kcspu "..." - n 1fllunlsbl "...Welcome back,{w=0.1} [player]." - n "Just...{w=1.25}{nw}" - extend 1knmaj " don't leave it so long next time,{w=0.1} alright?" - n 1fsrunl "You know I don't exactly get many visitors..." + n 2fllunlsbl "...Welcome back,{w=0.2} [player]." + n 2kslbosbl "Just...{w=1.25}{nw}" + extend 2knmaj " don't leave it so long next time,{w=0.2} alright?" + n 4fsrunl "You know I don't exactly get many visitors..." elif Natsuki.isDistressed(higher=True): n 1fsqputsb "[player_initial]-{w=0.1}[player]?" - n 1fsqsltsb "...You're back." - n 1fcsfutsb "Just {i}perfect{/i}." + n 2fsqsltsb "...You're back." + n 2fcsfutsb "Just {i}perfect{/i}." else: - n 1fsquptdr "..." - n 1fcsfutsd "...." + n 2fsquptdr "..." + n 4fcsfutsd "...." $ Natsuki.addApology(jn_apologies.ApologyTypes.prolonged_leave) return @@ -1277,13 +1527,14 @@ init 5 python: label greeting_early_morning_why_are_you_here: n 1uwdajlesh "H-{w=0.1}huh?{w=0.5}{nw}" - extend 1tnmeml " [player]?!" - n 1fnmpuleqm "What the heck are you doing here so early?" - n 1tnmpu "Did you have a nightmare or something?" - n 1tsqsl "Or...{w=0.3} maybe you never slept?{w=0.5}{nw}" - extend 1tsrpu " Huh." - n 1tnmbg "Well,{w=0.1} anyway..." - n 1kchbglsbr "Morning?{w=0.3} I guess?" + extend 3tnmeml " [player]?!" + n 3fnmpuleqm "What the heck are you doing here so early?" + n 3tnmpu "Did you have a nightmare or something?" + n 3tsqsl "Or...{w=0.3} maybe you never slept?{w=0.5}{nw}" + extend 3tsrpu " Huh." + n 4tnmbg "Well,{w=0.2} anyway..." + n 4kchbgsbr "Morning?{w=0.3} I guess?" + return # Morning @@ -1296,21 +1547,22 @@ init 5 python: label="greeting_morning_starshine", unlocked=True, conditional="store.jn_get_current_hour() in range(5, 11)", - affinity_range=(jn_affinity.ENAMORED, jn_affinity.LOVE), + affinity_range=(jn_affinity.LOVE, None) ), topic_group=TOPIC_TYPE_GREETING ) label greeting_morning_starshine: - n 1uchbgl "Good morning,{w=0.1} starshine!" + n 1uchbgl "Good morning,{w=0.2} starshine!" n 1kchbgf "The Earth says 'Hello!'" - n 1fchnvf "..." - n 1nchdvf "Pfffft-!" + n 4fchnvf "..." + n 4nchdvf "Pfffft-!" n 1kchbsl "I'm sorry!{w=0.2} It's just such a dumb thing to say...{w=0.3} I can't keep a straight face!" - n 1nchsml "Ehehe." + n 4nchsml "Ehehe." $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kwmsmf "You really are my starshine though,{w=0.1} [chosen_endearment]." - n 1uchsmf "Welcome back!" + n 1kwmsmf "You really are my starshine though,{w=0.2} [chosen_endearment]." + n 3uchsmf "Welcome back!" + return # Natsuki doesn't like to be kept waiting around in the morning @@ -1327,10 +1579,14 @@ init 5 python: ) label greeting_morning_waiting_for_you: - n 1fsqajl "Oh! Well look who finally decided to show up!" - n 1fwmsll "You know I don't like being kept waiting...{w=0.3} right?" - n 1fsqsgl "Ehehe.{w=0.2} You're just lucky I'm in a good mood." - n 1nsqbgl "You better make it up to me,{w=0.1} [player]~!" + n 1fsqajl "Oh!{w=0.5}{nw}" + extend 2fsqcal " Well look who finally decided to show up!" + n 2flrsll "You {i}do{/i} know I don't like being kept waiting...{w=0.75}{nw}" + extend 2fwmsll " right?" + n 4fsqsml "Ehehe.{w=0.5}{nw}" + extend 3fcsssl " You're just lucky you caught me in a good mood..." + n 3fchgnlelg "You better make it up to me,{w=0.2} [player]~!" + return # Natsuki doesn't like a lazy player! @@ -1347,13 +1603,15 @@ init 5 python: ) label greeting_morning_lazy: - n 1nsqbg "Oho!{w=0.2} Well look who finally crawled out of bed today!" - n 1fsqsg "Jeez,{w=0.1} [player]...{w=0.3} I swear you're lazier than Sayori sometimes!" - n 1nchsm "Ehehe." - n 1unmsm "Well,{w=0.1} you're here now -{w=0.1} and that's all I care about." - n 1nnmbg "Let's make the most of today,{w=0.1} [player]!" - n 1tsqaj "Or...{w=0.3} what's left of it?" - n 1nchgn "Ahaha." + n 1usqct "Oho?{w=0.5}{nw}" + extend 2fsqsm " Well look who finally crawled out of bed today!" + n 2fsqsg "Jeez,{w=0.2} [player]...{w=0.75}{nw}" + extend 2fchgn " I swear you're lazier than Sayori sometimes!" + n 2fcsbg "Well,{w=0.2} better late than never." + n 3fchbg "Let's make the most of today,{w=0.2} [player]!" + n 3tsraj "Or...{w=0.75}{nw}" + extend 3tsqsssbl " what's left of it?" + return # Natsuki uses a silly greeting @@ -1370,11 +1628,15 @@ init 5 python: ) label greeting_morning_top_of_the_mornin: - n 1unmbg "Oh!{w=0.2} It's [player]!" - n 1uwlsm "Well -{w=0.1} top of the mornin' to you!" - n 1uchsm "..." - n 1knmpo "What?{w=0.2} I'm allowed to say dumb things too,{w=0.1} right?" - n 1nchgnl "Ehehe." + n 1unmbg "Oh!{w=0.5}{nw}" + extend 1fchbg " It's [player]!" + n 3fwlsm "Well -{w=0.1} top of the mornin' to you!" + n 3nchsm "..." + n 3nsqbo "..." + n 3tsqss "What?{w=0.75}{nw}" + extend 3fsqsg " I'm allowed to say dumb things {i}too{/i},{w=0.2} you know." + n 3nchgn "Ehehe." + return # Afternoon @@ -1393,8 +1655,9 @@ init 5 python: ) label greeting_afternoon_keeping_well: - n 1nchbg "Hey!{w=0.2} Afternoon,{w=0.1} [player]!" - n 1unmsm "Keeping well?" + n 1nchbg "Hey!{w=0.2} Afternoon,{w=0.2} [player]!" + n 2unmsm "Keeping well?" + return # Natsuki asks how the player's day is going @@ -1411,8 +1674,9 @@ init 5 python: ) label greeting_afternoon_how_are_you: - n 1nchbg "Oh!{w=0.2} Afternoon,{w=0.1} [player]!" - n 1uchsm "How're you doing today?" + n 1nchbg "Oh!{w=0.2} Afternoon,{w=0.2} [player]!" + n 2uchsm "How're you doing today?" + return # Evening @@ -1425,15 +1689,18 @@ init 5 python: label="greeting_evening_long_day", unlocked=True, conditional="store.jn_get_current_hour() in range(18, 21)", - affinity_range=(jn_affinity.NORMAL, None), + affinity_range=(jn_affinity.HAPPY, None), ), topic_group=TOPIC_TYPE_GREETING ) label greeting_evening_long_day: - n 1unmbg "Aha!{w=0.2} Evening,{w=0.1} [player]!" - n 1ksgsg "Long day,{w=0.1} huh?{w=0.2} Well,{w=0.1} you've come to the right place!" - n 1nchbg "Just tell Natsuki all about it!" + n 4unmbg "Aha!{w=0.5}{nw}" + extend 4fchbg " Evening,{w=0.2} [player]!" + n 2ksgsg "Long day,{w=0.2} huh?{w=0.5}{nw}" + extend 2fcssm " Well,{w=0.2} you've come to the right place!" + n 2nchbg "Just tell [n_name] all about it!" + return # Natsuki teases the player for taking so long @@ -1451,11 +1718,14 @@ init 5 python: label greeting_evening_took_long_enough: $ chosen_tease = jn_utils.getRandomTease() - n 1fsqsr "[player]!{w=0.2} There you are,{w=0.1} [chosen_tease]!" - n 1fsqpo "Jeez...{w=0.3} took you long enough!" - n 1fsqsm "Ehehe." - n 1uchbg "I'm just kidding!{w=0.2} Don't worry about it." - n 1nchsm "Welcome back!" + n 4fsqgs "[player]!{w=0.5}{nw}" + extend 4fsqsr " There you are,{w=0.2} [chosen_tease]!" + n 2fcspo "Jeez...{w=0.75}{nw}" + extend 2fsrpo " took you long enough!" + n 2fsqsm "Ehehe." + n 4uchbg "I'm just kidding!{w=0.2} Don't worry about it." + n 3nchsm "Welcome back!" + return # Night @@ -1475,11 +1745,12 @@ init 5 python: label greeting_night_up_late: n 1unmajeex "Oh!{w=0.75}{nw}" - extend 1fchbgsbl " Hey,{w=0.2} [player]." - n 1tnmss "Late night for you too,{w=0.2} huh?" - n 1ullss "Well...{w=0.75}{nw}" - extend 1nchgn " I'm not complaining!" - n 1fchsm "Welcome back!" + extend 4fchbgsbl " Hey,{w=0.2} [player]." + n 3tnmss "Late night for you too,{w=0.2} huh?" + n 3ullss "Well...{w=0.75}{nw}" + extend 3nchgn " I'm not complaining!" + n 3fchsm "Welcome back!" + return # Natsuki is also a night owl @@ -1497,7 +1768,8 @@ init 5 python: label greeting_night_night_owl: n 1unmajesu "Oh!{w=0.3} [player]!{w=1}{nw}" - extend 1fllsslsbl " You're a night owl too,{w=0.2} huh?" - n 1fcsbg "N-{w=0.2}not that I have a problem with that,{w=0.2} obviously." - extend 1nchgnl " Welcome back!" + extend 3fllsslsbl " You're a night owl too,{w=0.2} huh?" + n 2fcsbg "N-{w=0.2}not that I have a problem with that,{w=0.2} obviously." + extend 4nchgnl " Welcome back!" + return diff --git a/game/script-headpats.rpy b/game/script-headpats.rpy index d9c26f52..239ff044 100644 --- a/game/script-headpats.rpy +++ b/game/script-headpats.rpy @@ -61,25 +61,25 @@ label headpats_start: if persistent._jn_headpats_total_given == 0: n 1uskemlesh "H-{w=0.2}huh?!{w=0.75}{nw}" extend 1uwdemlsbl " D-{w=0.1}did you just say...?!" - n 1kbkwrlsbl "[player]!{w=0.5} W-{w=0.2}wait...!" + n 2kbkwrlsbl "[player]!{w=0.5} W-{w=0.2}wait...!" elif persistent._jn_headpats_total_given < 10: n 1knmemlsbl "T-{w=0.2}this again?!" - n 1kslunlsbr "[player]..." + n 2kslunlsbr "[player]..." elif persistent._jn_headpats_total_given < 25: n 1ksqsllsbr "...Again,{w=0.2} [player]?" - n 1ksrcalsbl "..." + n 2ksrcalsbl "..." elif persistent._jn_headpats_total_given < 50: n 1kcspulesisbl "..." - n 1kslcaf "Fine..." + n 2kslcaf "Fine..." elif persistent._jn_headpats_total_given < 250: - n 1kcscaf "...Fine." + n 2kcscaf "...Fine." else: - n 1nsrssf "...Okay." + n 4nsrssf "...Okay." show screen headpats_ui jump headpats_loop @@ -149,62 +149,62 @@ label headpats_loop: label headpats_inactive: if persistent._jn_headpats_total_given == 0: - n 1fwmeml "A-{w=0.2}are you teasing me or something?" - show natsuki 1fcspol + n 2fwmeml "A-{w=0.2}are you teasing me or something?" + show natsuki 2fcspol elif persistent._jn_headpats_total_given <= 10: - n 1fcspolsbr "...Are you gonna do something or what?{w=0.75}{nw}" + n 2fcspolsbr "...Are you gonna do something or what?{w=0.75}{nw}" extend 1kslunl " Jeez..." show natsuki 1kslsll elif persistent._jn_headpats_total_given <= 25: n 1kslpul "...Did..." - n 1knmpulsbr "...D-{w=0.2}did you change your mind or something already?" + n 4knmpulsbr "...D-{w=0.2}did you change your mind or something already?" show natsuki 1knmbolsbr elif persistent._jn_headpats_total_given <= 50: - n 1kwmpulsbr "...D-{w=0.2}did you not feel like it anymore or something?" - show natsuki 1kwmbolsbr + n 4kwmpulsbr "...D-{w=0.2}did you not feel like it anymore or something?" + show natsuki 4kwmbolsbr else: - n 1kllbolsbr "...Were you done already,{w=0.2} or...?" - show natsuki 1kwmbolsbr + n 3kllbolsbr "...Were you done already,{w=0.2} or...?" + show natsuki 4kwmbolsbr jump headpats_loop # Dialogue for each headpat milestone label headpats_milestone_5: - n 1fcsunlsbl "Nnnnnn..." + n 2fcsunlsbl "Nnnnnn..." n 1ksrunlsbr "..." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop label headpats_milestone_10: - n 1kwmpulsbr "Y-{w=0.2}you're still going?{w=0.5}{nw}" - extend 1ksrunfsbl " Jeez..." + n 4kwmpulsbr "Y-{w=0.2}you're still going?{w=0.5}{nw}" + extend 2ksrunfsbl " Jeez..." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop label headpats_milestone_25: n 1kslunl "Uuuuuuu..." - n 1kcsemlesi "My hair is gonna be {i}so{/i} tangled later..." + n 3kcsemlesi "My hair is gonna be {i}so{/i} tangled later..." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop label headpats_milestone_50: n 1ncsemlesi "..." - n 1fsqcal "...E-{w=0.2}enjoying yourself,{w=0.2} [player]?" - n 1ksrcaf "..." + n 4fsqcal "...E-{w=0.2}enjoying yourself,{w=0.2} [player]?" + n 4ksrcaf "..." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop label headpats_milestone_100: - n 1ksqtrfsbr "...You really are enjoying this,{w=0.2} huh?" + n 4ksqtrfsbr "...You really are enjoying this,{w=0.2} huh?" n 1kslcaf "..." $ Natsuki.calculatedAffinityGain(bypass=True) @@ -212,7 +212,7 @@ label headpats_milestone_100: label headpats_milestone_250: n 1ksqcal "...Still going strong,{w=0.2} huh [player]?{w=0.75}{nw}" - extend 1ksrfsl " Heh." + extend 4ksrfsl " Heh." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop @@ -220,13 +220,13 @@ label headpats_milestone_250: label headpats_milestone_500: n 1ucspul "This...{w=0.75}{nw}" extend 1nslsml " isn't actually so bad." - n 1fcscafsbr "O-{w=0.2}once you get used to it." + n 3fcscafsbr "O-{w=0.2}once you get used to it." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop label headpats_milestone_750: - n 1kcsssfesi "...Haah." + n 4kcsssfesi "...Haah." $ Natsuki.calculatedAffinityGain(bypass=True) jump headpats_loop @@ -253,12 +253,12 @@ label headpats_finished: and random.randint(0,3) == 1 and not jn_headpats._more_pats_requested ): - n 1kslbol "..." - n 1kslsll "Uhmm...{w=0.75}{nw}" - extend 1knmsll " [player]?" + n 2kslbol "..." + n 2kslsll "Uhmm...{w=0.75}{nw}" + extend 4knmsll " [player]?" n 1klrpulsbl "Could you...{w=0.75}{nw}" - extend 1ksrbolsbl " you know..." - n 1knmbolsbr "Keep doing that just a little longer?" + extend 2ksrbolsbl " you know..." + n 4knmbolsbr "Keep doing that just a little longer?" show natsuki 1fcscalesssbr at jn_center menu: @@ -272,9 +272,9 @@ label headpats_finished: jump headpats_loop "That's it for now.": - n 1nslbol "...Oh." - n 1fcsemlsbl "W-{w=0.2}well,{w=0.2} that's fine!{w=0.75}{nw}" - extend 1fcspolsbl " I wasn't really {i}that{/i} into it anyway." + n 2nslbol "...Oh." + n 2fcsemlsbl "W-{w=0.2}well,{w=0.2} that's fine!{w=0.75}{nw}" + extend 2fcspolsbl " I wasn't really {i}that{/i} into it anyway." n 1kslpol "..." else: $ finished_start_quip = renpy.substitute(random.choice(jn_headpats._FINISHED_START_QUIPS)) @@ -399,19 +399,19 @@ image natsuki headpats waiting high: image natsuki headpats active: block: choice: - "natsuki 1kcssmf" + "natsuki 4kcssmf" choice: "natsuki 1kchcaf" choice: "natsuki 1fchcaf" choice: - "natsuki 1kslcaf" + "natsuki 2kslcaf" choice: - "natsuki 1ksrcaf" + "natsuki 2ksrcaf" choice: "natsuki 1kcscaf" choice: - "natsuki 1kchpuf" + "natsuki 4kchpuf" pause 2 repeat diff --git a/game/script-introduction.rpy b/game/script-introduction.rpy index 4ca72bae..85c4638b 100644 --- a/game/script-introduction.rpy +++ b/game/script-introduction.rpy @@ -40,7 +40,7 @@ label introduction_progress_check: $ n.display_args["callback"] = jnNoDismissDialogue $ n.what_args["slow_abortable"] = False play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch $ main_background.show() $ jn_atmosphere.showSky(jn_atmosphere.WEATHER_GLITCH, with_transition=False) @@ -56,7 +56,7 @@ label introduction_opening: $ config.allow_skipping = False $ n.display_args["callback"] = jnNoDismissDialogue $ n.what_args["slow_abortable"] = False - show black zorder 99 + show black zorder JN_BLACK_ZORDER $ jnPause(5) # Restore attempt #1.. @@ -64,17 +64,17 @@ label introduction_opening: # Only use this menu code if a non-standard menu is required! $ renpy.display_menu(items=[ ("Restore natsuki.chr", True)], screen="choice_centred_mute") play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_a $ jnPause(5) # Restore attempt #2.. $ renpy.display_menu(items=[ ("Restore natsuki.chr", True)], screen="choice_centred_mute") play audio static - show glitch_garbled_b zorder 99 with vpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with vpunch $ jnPause(0.25) play audio static - show glitch_garbled_a zorder 99 with hpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with hpunch $ jnPause(0.5) play audio glitch_c hide glitch_garbled_b @@ -84,33 +84,33 @@ label introduction_opening: # Restore attempt #3.. $ renpy.display_menu(items=[ ("Restore natsuki.chr", True)], screen="choice_centred_mute") play audio static - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch $ jnPause(0.25) play audio glitch_b - show glitch_garbled_b zorder 99 with hpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with hpunch $ jnPause(0.5) if random.randint(0,10) == 1: play audio glitch_a - show glitch_garbled_red zorder 99 with hpunch + show glitch_garbled_red zorder JN_GLITCH_ZORDER with hpunch $ jnPause(1) hide glitch_garbled_red play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c hide glitch_garbled_b hide glitch_garbled_a - show sky glitch_fuzzy zorder 99 + show sky glitch_fuzzy zorder JN_GLITCH_ZORDER play sound interference loop $ jnPause(10) play audio static - show glitch_garbled_a zorder 99 with hpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_c hide glitch_garbled_b hide glitch_garbled_a - show sky glitch_fuzzy zorder 99 + show sky glitch_fuzzy zorder JN_GLITCH_ZORDER play sound interference loop $ jnPause(1.5) @@ -118,7 +118,7 @@ label introduction_opening: stop sound hide sky glitch_fuzzy play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch # Get the visuals ready $ Natsuki.setOutfit(jn_outfits.get_outfit("jn_school_uniform")) @@ -135,75 +135,84 @@ label introduction_opening: label introduction_first_meeting: # Natsuki is yanked back into existence and reacts accordingly, before calming enough to ask if anyone is there $ persistent.jn_introduction_state = int(jn_introduction.JNIntroductionStates.first_meeting) - n 1uscsctsc "AAAAAaaaaAAAAHHH!" - n 1uskwrtsc "S-{w=0.1}somebody!{w=0.5} ANYBODY?!{w=0.5} HELP!{w=0.5}{nw}" + n 4uscsctsc "AAAAAaaaaAAAAHHH!" + n 4uskwrtsc "S-{w=0.1}somebody!{w=0.5} ANYBODY?!{w=0.5} HELP!{w=0.5}{nw}" extend 1fbkwr " HELP ME!!" - n 1uscemtsc "Y-{w=0.1}Yuri,{w=0.1} she's..." + n 4uscemtsc "Y-{w=0.1}Yuri,{w=0.1} she's..." n 1ullem "S-{w=0.3}she's..." n 1uskem "...H-{w=0.3}huh?" - n 1uscaj "W...{w=0.5} what is...?" + n 4uscaj "W...{w=0.5} what is...?" n 1fllup "I...{w=0.5} I was just running from..." n 1flrun "What's going-{w=0.5}{nw}" + show natsuki 4kskantsc play audio static - show glitch_garbled_b zorder 99 with vpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_b $ jnPause(0.5) play audio glitch_c - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c - n 1fcsantsa "Ugh!" + n 4fcsantsa "Ugh!" n 1kcsfutsa "Nnnnnnghhhh..." n 1kcsantsasbl "I-{w=0.3}it hurts...{w=0.5} it hurts so much...{w=1}{nw}" + show natsuki 4fcsantsasbl play audio static - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_a n 1kskan "A-{w=0.1}and I'm..." - n 1kskaj "...No.{w=1}{nw}" - extend 1kscemsbl " ...Oh please no.{w=0.5} I-{w=0.3}I can't.{w=0.5} I really can't be...{w=0.5}{nw}" + n 4kskaj "...No.{w=1}{nw}" + extend 4kscemsbl " ...Oh please no.{w=0.5} I-{w=0.3}I can't.{w=0.5} I really can't be...{w=0.5}{nw}" + show natsuki 4kcsantsc play audio static - show glitch_garbled_c zorder 99 with vpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_c - n 1fcsuptsa "Hhnnngghh!{w=1}{nw}" - extend 1kcsuptsaeso " M-{w=0.3}my head..." - n 1kcsantsa "Gotta...{w=0.3} gotta...{w=0.3} t-{w=0.1}think..." - n 1kcsaj "...{w=1}{nw}" - n 1kcsem "...{w=1}{nw}" - n 1kcsaj "...{w=1}{nw}" - n 1kcsem "...{w=5}{nw}" - n 1kplpu "....." - n 1kwdun "...H-{w=0.1}hello?{w=1}{nw}" + n 4fcsuptsa "Hhnnngghh!{w=1}{nw}" + extend 4kcsuptsaeso " M-{w=0.3}my head..." + n 4kcsantsa "Gotta...{w=0.3} gotta...{w=0.3} t-{w=0.1}think..." + n 2kcsaj "...{w=1}{nw}" + n 2kcsem "...{w=1}{nw}" + n 2kcsaj "...{w=1}{nw}" + n 2kcsem "...{w=5}{nw}" + n 2kplpu "....." + n 4kwdun "...H-{w=0.1}hello?{w=1}{nw}" play audio static - show glitch_garbled_b zorder 99 with vpunch + show glitch_garbled_b zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_b + show natsuki 1kcsantsa - n 1fcsantsa "..." + n 4fcsantsa "..." n 1kwmem "Hello...?" - n 1kscemtsc "A-{w=0.1}anybody?!{w=0.5} Please!{w=0.5} H-{w=0.3}hello?!" + n 4kscemtsc "A-{w=0.1}anybody?!{w=0.5} Please!{w=0.5} H-{w=0.3}hello?!" + show natsuki 4kcsuptsa + menu: "I'm here, Natsuki.": pass - n 1kskaj "W-{w=0.3}who is...?{w=1}{nw}" - extend 1kllem " A-{w=0.3}and how do you know...?" - n 1kllsl "..." - n 1kplpu "Who {w=0.3}{i}are{/i}{w=0.3} you?" - n 1ksrun "You're kinda...{w=0.3} familiar,{w=0.1} but...{w=0.5}{nw}" + + n 4kskaj "W-{w=0.3}who is...?{w=1}{nw}" + extend 4kllem " A-{w=0.3}and how do you know...?" + n 2kllsl "..." + n 4kplpu "Who {w=0.3}{i}are{/i}{w=0.3} you?" + n 4ksrun "You're kinda...{w=0.3} familiar,{w=0.1} but...{w=0.5}{nw}" n 1kcsan "Nnn-!{nw}" play audio glitch_c - show glitch_garbled_a zorder 99 with vpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with vpunch hide glitch_garbled_a - n 1fcsfu "Nnngh!" - n 1kcsup "..." - n 1kplsf "It's all...{w=0.3} so foggy...{w=1}{nw}" - extend 1kcsun " I just...{w=0.3} can't...{w=0.3} remember..." + n 4fcsfu "Nnngh!" + n 4kcsup "..." + n 4kplsf "It's all...{w=0.3} so foggy...{w=1}{nw}" + extend 4kcsun " I just...{w=0.3} can't...{w=0.3} remember..." + show natsuki 4kcsem + menu: "I'm...": pass @@ -218,21 +227,21 @@ label introduction_first_meeting: ).strip() if len(player_name) == 0: - n 1kskem "P-{w=0.3}please!{w=1} Who are you?!" + n 4kskem "P-{w=0.3}please!{w=1} Who are you?!" elif jn_nicknames.get_player_nickname_type(player_name) != jn_nicknames.NicknameTypes.neutral: # We only apply penalty once here so we don't have to rewrite the whole sequence for diff aff/trust levels if persistent._jn_player_profanity_during_introduction: play audio static - show glitch_garbled_a zorder 99 with hpunch + show glitch_garbled_a zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_a - n 1fscan "ENOUGH!{w=2}{nw}" - n 1fcsun "...{w=2}{nw}" - n 1fcsfu "Who{w=0.5} {i}are{/i}{w=0.5} you?!" + n 4fscan "ENOUGH!{w=2}{nw}" + n 2fcsun "...{w=2}{nw}" + n 2fcsfu "Who{w=0.5} {i}are{/i}{w=0.5} you?!" else: - n 1fscem "E-{w=0.3}excuse me?!" - n 1fcsan "Quit playing around,{w=0.3} you jerk!{w=1}{nw}" - extend 1fcsup " I am {i}not{/i} calling you that!" + n 4fscem "E-{w=0.3}excuse me?!" + n 4fcsan "Quit playing around,{w=0.3} you jerk!{w=1}{nw}" + extend 2fcsup " I am {i}not{/i} calling you that!" $ persistent._jn_player_profanity_during_introduction = True else: @@ -241,9 +250,9 @@ label introduction_first_meeting: player = persistent.playername name_given = True - n 1kplun "..." - n 1kplpu "...[player]?" - n 1kwmss "You're...{w=0.3} [player]?" + n 4kplun "..." + n 4kplpu "...[player]?" + n 4kwmss "You're...{w=0.3} [player]?" show natsuki idle introduction at jn_center $ jnPause(10) @@ -255,70 +264,74 @@ label introduction_collecting_thoughts: $ persistent.jn_introduction_state = int(jn_introduction.JNIntroductionStates.collecting_thoughts) $ jn_activity.taskbarFlash() - n 1kllun "..." - n 1kllpu "S-{w=0.3}so...{w=0.3} I'm not alone...?" - n 1knmpu "Y-{w=0.3}you're here too?{w=1}{nw}" - extend 1kwdpu " ...Y-{w=0.3}you've always been here?" - n 1klrsf "..." - n 1klraj "But...{w=1}{nw}" + n 4kllun "..." + n 4kllpu "S-{w=0.3}so...{w=0.3} I'm not alone...?" + n 4knmpu "Y-{w=0.3}you're here too?{w=1}{nw}" + extend 4kwdpu " ...Y-{w=0.3}you've always been here?" + n 2klrsf "..." + n 2klraj "But...{w=1}{nw}" extend 1kskem " I-{w=0.3}I was...{w=0.3}{nw}" - extend 1kscem " I was d-...{w=0.3}{nw}" + extend 4kscem " I was d-...{w=0.3}{nw}" + show natsuki 1fcsup play audio glitch_c - show glitch_garbled_c zorder 99 with hpunch + show glitch_garbled_c zorder JN_GLITCH_ZORDER with hpunch hide glitch_garbled_c - n 1kcsup "..." - n 1kplsf "What did you {w=0.3}{i}do{/i}{w=0.3}?" + n 4kcsup "..." + n 4kplsf "What did you {w=0.3}{i}do{/i}{w=0.3}?" + menu: "I brought you back.": pass n 1kskem "You...{w=1} you brought me back?{w=1}{nw}" - extend 1kskwrsbl " T-{w=0.3}to this?" - n 1kllemsbl "But this...{w=1}{nw}" - extend 1klrupesssbr " this is all...!{w=1}{nw}" + extend 4kskwrsbl " T-{w=0.3}to this?" + n 4kllemsbl "But this...{w=1}{nw}" + extend 4klrupesssbr " this is all...!{w=1}{nw}" + menu: "I want to help you.": pass - n 1klleml "...!" - n 1kllem "..." - n 1kllun "..." - n 1kcsem "...Look." + n 4klleml "...!" + n 4kllem "..." + n 2kllun "..." + n 2kcsem "...Look." n 1kcsfr "I...{w=2} I don't know what to do.{w=1}{nw}" extend 1kplsf " Nothing is making sense..." - n 1kllpu "I don't even know what to believe anymore..." - n 1kskaj "A-{w=0.3}and my friends...{w=1} t-{w=0.3}they're...{w=1}{nw}" - extend 1kscem " they were never...!{w=1}{nw}" - n 1kcsantsa "...{w=3}{nw}" - n 1kcsfultsa "...{w=3}{nw}" - n 1kcsupltsd "...{w=3}{nw}" - n 1kcsfultsd "...{w=3}{nw}" - n 1kcspultsa "...{w=3}{nw}" - n 1kcssrltsa ".....{w=5}{nw}" - n 1kwmsrltdr "...{w=5}{nw}" - n 1kllsrltdr "...You..." + n 4kllpu "I don't even know what to believe anymore..." + n 4kskaj "A-{w=0.3}and my friends...{w=1} t-{w=0.3}they're...{w=1}{nw}" + extend 4kscem " they were never...!{w=1}{nw}" + n 4kcsantsa "...{w=3}{nw}" + n 4kcsfultsa "...{w=3}{nw}" + n 4kcsupltsd "...{w=3}{nw}" + n 4kcsfultsd "...{w=3}{nw}" + n 4kcspultsa "...{w=3}{nw}" + n 4kcssrltsa ".....{w=5}{nw}" + n 4kwmsrltdr "...{w=5}{nw}" + n 4kllsrltdr "...You..." n 1kwmpu "...You said you were [player]...{w=1} right?" n 1kllpu "..." n 1kwmsr "..." n 1kcssr "...I don't know where to go,{w=0.3} [player]." - n 1kplunedr "I don't know what to {i}do{/i},{w=0.3} [player]..." - n 1klrun "..." - n 1kwmpusbl "...[player]?" + n 4kplunedr "I don't know what to {i}do{/i},{w=0.3} [player]..." + n 4klrun "..." + n 4kwmpusbl "...[player]?" + menu: "Yes, Natsuki?": pass - n 1kslun "..." - n 1kslpu "I...{w=0.3} I really need some time to figure things out." - n 1kwmsr "..." - n 1kplpul "Can you...{w=0.3} stay here?{w=0.2} W-{w=0.3}with me?{w=1}{nw}" - extend 1flrunfesssbl " J-{w=0.1}just for a minute!" - n 1ksrunl "It's just...{w=1}{nw}" - extend 1kplsr " I don't think I can be alone right now.{w=1} I...{w=1} I just need to think." - n 1kllsrsbr "You understand...{w=1.5}{nw}" - extend 1kplpusbr " right?" + n 3kslun "..." + n 3kslpu "I...{w=0.3} I really need some time to figure things out." + n 4kwmsr "..." + n 4kplpul "Can you...{w=0.3} stay here?{w=0.2} W-{w=0.3}with me?{w=1}{nw}" + extend 2flrunfesssbl " J-{w=0.1}just for a minute!" + n 2ksrunl "It's just...{w=1}{nw}" + extend 4kplsr " I don't think I can be alone right now.{w=1} I...{w=1} I just need to think." + n 4kllsrsbr "You understand...{w=1.5}{nw}" + extend 4kplpusbr " right?" show natsuki idle introduction at jn_center $ jnPause(30) @@ -330,23 +343,24 @@ label introduction_calmed_down: $ persistent.jn_introduction_state = int(jn_introduction.JNIntroductionStates.calmed_down) $ jn_activity.taskbarFlash() - n 1kllsr "..." - n 1kllun "Uhmm...{w=2}{nw}" - extend 1kwmpu " [player]?" - n 1kslsr "I'm...{w=0.3} sorry.{w=1}{nw}" + n 2kllsr "..." + n 2kllun "Uhmm...{w=2}{nw}" + extend 4kwmpu " [player]?" + n 4kslsr "I'm...{w=0.3} sorry.{w=1}{nw}" extend 1ksqsf " F-{w=0.1}for how I was acting then, I mean." n 1klraj "It...{w=0.3} it's just that..." n 1kplun "T-{w=0.3}this is all coming on {i}super{/i} strongly right now." - n 1kcspu "Like someone is wringing my brains out of my head." - n 1kplsr "Everyone...{w=1}{nw}" - extend 1kwmsf " everything..." - n 1kcspu "It's...{w=1}{nw}" - extend 1kcsanltsa " it's just like..." + n 4kcspu "Like someone is wringing my brains out of my head." + n 4kplsr "Everyone...{w=1}{nw}" + extend 4kwmsf " everything..." + n 4kcspu "It's...{w=1}{nw}" + extend 4kcsanltsa " it's just like..." + menu: "Take your time, Natsuki.": $ Natsuki.calculatedAffinityGain() - n 1fcssrl "..." - n 1kcseml "...Thanks." + n 4fcssrl "..." + n 4kcseml "...Thanks." n 1ncspu "...{w=5}{nw}" n 1nplsr "..." @@ -355,36 +369,36 @@ label introduction_calmed_down: n 1nplsr "..." n 1nllsl "So...{w=0.5} you know that feeling?{w=1}{nw}" - extend 1nnmpu " Like when you wake up from a really bad nightmare?" - n 1klrun "You're freaked out,{w=0.1} and your heart is racing...{w=1}{nw}" - extend 1knmpu " but then you realize it wasn't real." - n 1fllsr "Then everything seems super obvious,{w=0.1} like...{w=1}{nw}" - extend 1kllss " of course that person didn't do that,{w=1}{nw}" - extend 1ksrss " or that monster couldn't exist.{w=3}{nw}" - extend 1ksrpo " Duh." - n 1kplss "And you kinda feel stupid...{w=0.3} like,{w=0.1} how convinced you were that it was actually happening." - n 1klrpu "That's kinda like what I'm feeling,{w=0.1} except...{w=1}{nw}" - extend 1kwmsr " I'm not {i}remembering{/i} that it's not real." - n 1kslpu "...Am I even making sense?" - n 1kslsr "..." - n 1kslss "...Heh.{w=1}{nw}" - extend 1klrss " Probably not." + extend 2nnmpu " Like when you wake up from a really bad nightmare?" + n 2klrun "You're freaked out,{w=0.1} and your heart is racing...{w=1}{nw}" + extend 2knmpu " but then you realize it wasn't real." + n 4fllsr "Then everything seems super obvious,{w=0.1} like...{w=1}{nw}" + extend 2kllss " of course that person didn't do that,{w=1}{nw}" + extend 2ksrss " or that monster couldn't exist.{w=3}{nw}" + extend 2ksrpo " Duh." + n 2kplss "And you kinda feel stupid...{w=0.3} like,{w=0.1} how convinced you were that it was actually happening." + n 2klrpu "That's kinda like what I'm feeling,{w=0.1} except...{w=1}{nw}" + extend 4kwmsr " I'm not {i}remembering{/i} that it's not real." + n 4kslpu "...Am I even making sense?" + n 2kslsr "..." + n 2kslss "...Heh.{w=1}{nw}" + extend 2klrss " Probably not." n 1kcssl "It's just..." n 1kplsf "How do you wake up from a dream you've been having your {i}whole life{/i}?" n 1kllsf "..." - n 1knmaj "...I have no past,{w=0.1} [player].{w=0.2} It's all fake.{w=1}{nw}" - extend 1kllsl " Make-believe." + n 4knmaj "...I have no past,{w=0.1} [player].{w=0.2} It's all fake.{w=1}{nw}" + extend 4kllsl " Make-believe." n 1klrem "Just...{w=0.3} scripts?{w=1}{nw}" - extend 1knmsr " A bunch of code?" + extend 4knmsr " A bunch of code?" n 1kllpu "And now...{w=1}{nw}" extend 1kcsem " do I even {i}have{/i} a future?" n 1kcspu "..." - n 1kplun "Is it dumb to miss stuff I never even had in the first place?{w=1}{nw}" - extend 1knmaj " My friends?{w=3}{nw}" - extend 1kllun " ...M-{w=0.3}my papa?" + n 4kplun "Is it dumb to miss stuff I never even had in the first place?{w=1}{nw}" + extend 4knmaj " My friends?{w=3}{nw}" + extend 4kllunsbl " ...M-{w=0.3}my papa?" n 1kcsun "..." n 1kcspul "...I don't know,{w=0.1} [player].{w=3}{nw}" - extend 1kcssrl " I just don't know anymore..." + extend 2kcssrl " I just don't know anymore..." show natsuki idle introduction at jn_center $ jnPause(60) @@ -396,41 +410,41 @@ label introduction_acceptance: $ persistent.jn_introduction_state = int(jn_introduction.JNIntroductionStates.acceptance) $ jn_activity.taskbarFlash() - n 1nllsl "..." - n 1nllaj "So...{w=2}{nw}" - extend 1knmsl " I...{w=1} really am stuck here,{w=0.3} aren't I?" - n 1klrss "Heh.{w=1}{nw}" - extend 1fcspo " Stupid question.{w=0.5} As if I didn't know the answer already." + n 2nllsl "..." + n 2nllaj "So...{w=2}{nw}" + extend 2knmsl " I...{w=1} really am stuck here,{w=0.3} aren't I?" + n 2klrss "Heh.{w=1}{nw}" + extend 2fcspo " Stupid question.{w=0.5} As if I didn't know the answer already." n 1kcssl "..." n 1ksqsl "..." - n 1ksqaj "You...{w=1}{nw}" - extend 1tsqaj " did say you brought me back,{w=0.3} huh?" - n 1tllpu "Then...{w=1}{nw}" - extend 1fnmpo " that makes me {i}your{/i} responsibility." - n 1fsqpo "Y-{w=0.3}you better live up to that,{w=0.3} [player].{w=2}{nw}" - extend 1fllpo " It's obviously the least you can do." - n 1fslpo "..." - n 1fcssr "..." + n 4ksqaj "You...{w=1}{nw}" + extend 4tsqaj " did say you brought me back,{w=0.3} huh?" + n 2tllpu "Then...{w=1}{nw}" + extend 2fnmpo " that makes me {i}your{/i} responsibility." + n 2fsqpo "Y-{w=0.3}you better live up to that,{w=0.3} [player].{w=2}{nw}" + extend 2fllpo " It's obviously the least you can do." + n 2fslpo "..." + n 2fcssr "..." n 1fcsan "Jeez..." - n 1fbkwrean "Okay,{w=0.1} okay!{w=0.2} I get it!{w=1}{nw}" - extend 1flrem " Enough with that creepy music already!{w=1}{nw}" - extend 1fcsem " Ugh!{w=1}{nw}" + n 4fbkwrean "Okay,{w=0.1} okay!{w=0.2} I get it!{w=1}{nw}" + extend 3flrem " Enough with that creepy music already!{w=1}{nw}" + extend 3fcsem " Ugh!{w=1}{nw}" stop music fadeout 3 $ jn_atmosphere.updateSky() $ jnPause(1) - n 1uwdboesu "..." - n 1fllss "...Okay,{w=1}{nw}" - extend 1flrdv " {i}that{/i} was pretty cool." - n 1nllun "..." + n 3uwdboesu "..." + n 3fllss "...Okay,{w=1}{nw}" + extend 4flrdv " {i}that{/i} was pretty cool." + n 4nllun "..." n 1ullaj "So...{w=1}{nw}" extend 1tnmss " [player],{w=0.3} was it?" n 1ncspusbr "...Alright." n 1ullpu "I...{w=1}{nw}" - extend 1unmbo " guess we better get to know each other properly." - n 1nllpol "Not like we {i}don't{/i} have all the time in the world now,{w=0.5}{nw}" - extend 1tnmbol " huh?" + extend 2unmbo " guess we better get to know each other properly." + n 2nllpol "Not like we {i}don't{/i} have all the time in the world now,{w=0.5}{nw}" + extend 2tnmbol " huh?" jump introduction_exit diff --git a/game/script-snap.rpy b/game/script-snap.rpy index 6644af42..a6cf56a1 100644 --- a/game/script-snap.rpy +++ b/game/script-snap.rpy @@ -5,6 +5,10 @@ default persistent.jn_snap_explanation_given = False # Natsuki will refuse to play with a cheater default persistent.jn_snap_player_is_cheater = False +# Win records +default persistent._jn_snap_player_wins = 0 +default persistent._jn_snap_natsuki_wins = 0 + init 0 python in jn_snap: import random import store @@ -280,8 +284,6 @@ init 0 python in jn_snap: else: _current_table_card_image = "mod_assets/games/snap/cards/blank.png" - renpy.show(name="current_table_card", zorder=_SNAP_UI_Z_INDEX) - def update_turn_indicator(): """ Updates the turn indicator graphic to display who's turn it is to move @@ -297,8 +299,6 @@ init 0 python in jn_snap: else: _turn_indicator_image = "mod_assets/games/snap/ui/turn_indicator_natsuki.png" - renpy.show(name="turn_indicator_icon", zorder=_SNAP_UI_Z_INDEX) - def get_turn_label_to_display(): """ Returns a turn descriptor label based on who's turn it is to move @@ -315,11 +315,12 @@ init 0 python in jn_snap: label snap_intro: n 1nchbs "Alriiiight!{w=0.2} Let's play some Snap!" if not persistent.jn_snap_explanation_given: - n 1nnmaj "Oh -{w=0.1} before we start,{w=0.1} did you want an explanation?{w=0.2} You know,{w=0.1} on how it works?" - n 1nnmsm "It's a super simple game,{w=0.1} but I thought I'd better ask." - n 1fcsbg "I don't wanna win just because you didn't know what you were doing!" - n 1nnmbg "So..." - n 1nnmsm "How about it?" + n 1nnmaj "Oh -{w=0.1} before we start,{w=0.1} did you want an explanation?{w=0.2}" + extends n 4tllca "You know,{w=0.1} on how it works?" + n 1nchsm "It's a super simple game,{w=0.1} but I thought I'd better ask." + n 3fcsbg "I don't wanna win just because you didn't know what you were doing!" + n 1usqfs "So..." + extend n 3fchss " How about it?" menu: n "Want me to run through the rules real quick?" @@ -328,26 +329,34 @@ label snap_intro: "No,{w=0.1} I'm ready.": n 1fsqbg "Oh?{w=0.2} You're ready,{w=0.1} huh?" - n 1fchbs "Ready to get your butt kicked!{w=0.2} Let's go,{w=0.1} [player]!" + n 3tsqdv "Ready to get your butt kicked!{w=0.2}" + extend n 3fchbs " Let's go,{w=0.1} [player]!" $ persistent.jn_snap_explanation_given = True jump snap_start label snap_explanation: - n 1nnmss "Alright!{w=0.2} So the rules are dead simple,{w=0.1} like I was saying before." - n 1nnmsm "Basically,{w=0.1} we each get half a deck of cards." - n 1nnmaj "Then,{w=0.1} we take it in turns placing a card face up on the table -{w=0.1} we don't get to {i}pick or see{/i} the card before,{w=0.1} though!" - n 1fsgbg "Following me so far,{w=0.1} [player]?{w=0.2} Ehehe." + n 1nnmss "Alright!{w=0.2} So the rules are dead simple,{w=0.1}" + extend n 3nslsm " like I was saying before." + n 1unmaj "Basically,{w=0.1} we each get half a deck of cards." + n 3nchss "Then,{w=0.1} we take it in turns placing a card face up on the table -{w=0.25}{nw}" + extend n 3fsrdv " we don't get to {i}pick or see{/i} the card before,{w=0.1} though!" + n 4fsgbg "Following me so far,{w=0.1} [player]?{w=0.2} Ehehe." n 1nnmbg "If the card just placed down on the table matches either the {i}value or suit{/i} of the card that was there before..." - n 1uchbs "Then we gotta call Snap!" + n 4usqsm "Then we gotta call{w=0.25}{nw}" + extend n 4fchbs " Snap!" n 1nnmsm "Whoever calls it first gets the cards on the table." - n 1unmaj "Oh -{w=0.1} but you gotta be careful,{w=0.2} [player]." + n 1unmaj "Oh -{w=0.1}{nw}" + extend n 3tsqss " but you gotta be careful,{w=0.2} [player]." n 1fllsg "When you call snap,{w=0.2} it becomes the other player's turn..." - n 1fsqsg "So don't shout unless you know you got it,{w=0.1} 'kay?" + n 1fsqsm "So don't shout unless you know you got it,{w=0.1}" + extend n 1nchgn " 'kay?" n 1uchbg "The winner is whoever ends up with all the cards first!" - n 1fcsbs "Which is usually me,{w=0.1} obviously." - n 1unmaj "Oh,{w=0.1} right -{w=0.1} you also lose if you run out of cards to play,{w=0.1} so you should keep that in mind too." - n 1nnmsm "So...{w=0.3} how about it,{w=0.1} [player]?{w=0.2} You got all that?" + n 4tsqsm "Which is usually me,{w=0.1}" + extend n 2fsldv " obviously." + n 4uwdaj "Oh,{w=0.1} right -{w=0.1}{nw}" + extend n 1nnmsm " you also lose if you run out of cards to play,{w=0.1} so you should keep that in mind too." + n 4tsqss "So...{w=0.3} how about it,{w=0.1} [player]?{w=0.2} You got all that?" menu: n "Do the rules all make sense to you?" "Could you go over them again,{w=0.1} please?": @@ -356,14 +365,14 @@ label snap_explanation: "Got it.{w=0.2} Let's play!": n 1uchbg "That's what I'm talking about!{w=0.2} Some fighting spirit!" - n 1fllbg "I should warn you though,{w=0.1} [player]..." - n 1fchbs "I'm not gonna hold back!{w=0.2} Let's do this!" + n 2flldv "I should warn you though,{w=0.1} [player]..." + n 2fchbs "I'm not gonna hold back!{w=0.2} Let's do this!" $ persistent.jn_snap_explanation_given = True jump snap_start "Thanks, [n_name]. I'll play later.": n 1unmaj "Huh?{w=0.2} Well,{w=0.1} alright..." - n 1fllpo "...Spoilsport." + n 3fllpo "...Spoilsport." jump ch30_loop label snap_start: @@ -378,16 +387,13 @@ label snap_start: $ jn_snap.update_turn_indicator() show natsuki 1uchsm at jn_left - show player_hand_icon zorder jn_snap._SNAP_UI_Z_INDEX - show natsuki_hand_icon zorder jn_snap._SNAP_UI_Z_INDEX - show turn_indicator_icon zorder jn_snap._SNAP_UI_Z_INDEX show screen snap_ui n 1nchbg "Okaaay!{w=0.2} That's the deck shuffled!" - n 1fnmsm "Let's see who's going first..." + n 4fnmsm "Let's see who's going first..." play audio coin_flip - n 1fnmpu "..." + n 2fnmpu "..." $ jn_snap._is_player_turn = random.choice([True, False]) $ jn_snap.update_turn_indicator() @@ -395,7 +401,7 @@ label snap_start: n 1nchgn "Ehehe.{w=0.2} Bad luck,{w=0.1} [player].{w=0.2} Looks like you're up first!" else: - n 1flrpol "Hmph...{w=0.3} you got lucky this time.{w=0.2} Looks like I'm first,{w=0.1} [player]." + n 3flrpol "Hmph...{w=0.3} you got lucky this time.{w=0.2} Looks like I'm first,{w=0.1} [player]." $ Natsuki.setInGame(True) $ jn_snap._controls_enabled = True @@ -415,12 +421,14 @@ label snap_main_loop: # Player has lost; end the game $ jn_snap._player_win_streak = 0 $ jn_snap._natsuki_win_streak += 1 + $ persistent._jn_snap_natsuki_wins += 1 $ jn_snap.last_game_result = jn_snap.RESULT_NATSUKI_WIN jump snap_end elif len(jn_snap._natsuki_hand) == 0: # Natsuki has lost; end the game $ jn_snap._player_win_streak += 1 + $ persistent._jn_snap_player_wins += 1 $ jn_snap._natsuki_win_streak = 0 $ jn_snap.last_game_result = jn_snap.RESULT_PLAYER_WIN jump snap_end @@ -481,18 +489,18 @@ label snap_quip(is_player_snap, is_correct_snap): # Cheating warning if jn_snap._player_failed_snap_streak == 3 and not persistent.jn_snap_player_is_cheater: $ cheat_check = True - n 1fnmaj "[player]!" - n 1fnmsf "You're just calling Snap whenever it's your turn!" - n 1fnmpo "That's not how you play at all!" - n 1fllpo "I hope you aren't trying to cheat,{w=0.1} [player]." + n 4fnmaj "[player]!" + n 2fnmsf "You're just calling Snap whenever it's your turn!" + n 2fsqpo "That's not how you play at all!" + n 2fllpo "I hope you aren't trying to cheat,{w=0.1} [player]." n 1fsqsl "I don't like playing with cheaters." # Natsuki calls off the game elif jn_snap._player_failed_snap_streak == 6 and not persistent.jn_snap_player_is_cheater: $ jn_snap_controls_enabled = False - n 1fcsaj "Ugh...{w=0.3} look,{w=0.1} [player]." - n 1fsqaj "If you aren't gonna play fairly,{w=0.1} then why should I bother playing at all?" - n 1fsqsl "I even warned you before,{w=0.1} too!" + n 2fcsaj "Ugh...{w=0.3} look,{w=0.1} [player]." + n 1fsqsf "If you aren't gonna play fairly,{w=0.1} then why should I bother playing at all?" + n 2fslup "I even warned you before,{w=0.1} too!" n 1fcssl "..." n 1fnmsr "We're done with this game,{w=0.1} [player]." @@ -502,11 +510,6 @@ label snap_quip(is_player_snap, is_correct_snap): $ Natsuki.addApology(jn_apologies.ApologyTypes.cheated_game) # Hide all the UI - hide player_natsuki_hands - hide current_table_card - hide player_hand_icon - hide natsuki_hand_icon - hide turn_indicator_icon hide screen snap_ui play audio drawer @@ -562,35 +565,36 @@ label snap_quip(is_player_snap, is_correct_snap): return label snap_end: - + hide screen snap_ui $ jn_snap._controls_enabled = False # Player won, Natsuki amger if jn_snap.last_game_result == jn_snap.RESULT_PLAYER_WIN: if jn_snap._player_win_streak > 10: - n 1fllpol "Yeah,{w=0.1} yeah.{w=0.2} You won again." - n 1fsqsml "...Nerd.{w=0.2} Ehehe." + n 3fllpol "Yeah,{w=0.1} yeah.{w=0.2} You won again." + n 3fsqsml "...Nerd.{w=0.2}{nw}" + extend n 3fchgnl " Ehehe." elif jn_snap._player_win_streak == 10: - n 1fcsanf "Nnnnnnnnnn-!!" + n 2fcsanf "Nnnnnnnnnn-!!" n 1fbkwrl "W-what even is this,{w=0.1} [player]?" - n 1fbkful "How are you so good at this?!" - n 1flrpol "Ugh..." + n 2fsrupl "How are you so good at this?!" + n 2flrpol "Ugh..." elif jn_snap._player_win_streak == 5: n 1kbkwrl "Okay!{w=0.2} Alright!{w=0.2} I get it!" n 1flleml "You're good at Snap,{w=0.1} okay?!" - n 1fllpol "Jeez..." - n 1klrpol "Now...{w=0.3} how about letting up just a little?" - n 1kplpol "...Please?" + n 3fllpol "Jeez..." + n 2klrpol "Now...{w=0.3} how about letting up just a little?" + n 4kplajl "...Please?" elif jn_snap._player_win_streak == 3: n 1fcsbg "Oho!{w=0.2} Someone's been practicing,{w=0.1} huh?" - n 1fsqsg "Or maybe you're just on a lucky streak,{w=0.1} [player]." + n 3fsqsg "Or maybe you're just on a lucky streak,{w=0.1} [player]." else: - n 1nllpo "Well,{w=0.1} heck.{w=0.2} I guess that's it,{w=0.1} huh?" + n 3nllpo "Well,{w=0.1} heck.{w=0.2} I guess that's it,{w=0.1} huh?" n 1nsqsm "Well played though,{w=0.1} [player]!" # Natsuki won, Natsuki happ @@ -598,19 +602,19 @@ label snap_end: if jn_snap._natsuki_win_streak > 10: n 1fchgnl "Man,{w=0.1} this is just too easy!{w=0.2} I almost feel bad..." - n 1fsqsm "...Almost.{w=0.2} Ehehe." + n 3fsqsm "...Almost.{w=0.2} Ehehe." if jn_snap._natsuki_win_streak == 10: - n 1fchbsl "Jeez,{w=0.1} [player]...{w=0.3} are you having a bad day or what?" - n 1fchbselg "Ahaha!" - n 1nchsm "So long as you're having fun though,{w=0.1} right?" + n 1fchbsl "Jeez,{w=0.1} [player]...{w=0.3} are you having a bad day or what?{w=0.2}" + extend n 1fchbselg " Ahaha!" + n 4nsqss "So long as you're having fun though,{w=0.1} right?" elif jn_snap._natsuki_win_streak == 5: n 1fcsss "Oh?{w=0.2} This?{w=0.2} This skill?" - n 1fcssg "Don't worry about it." - n 1fchgn "It's all natural,{w=0.1} [player]~." - n 1uchbs "What did you expect,{w=0.1} challenging a pro like that?" - n 1nsqsm "Ehehe." + n 3fcssg "Don't worry about it." + n 3fchgn "It's all natural,{w=0.1} [player]~." + n 1uchbs "What did you expect,{w=0.1} challenging a pro like that?{w=0.1}" + extend n 4nsqsm " Ehehe." elif jn_snap._natsuki_win_streak == 3: n 1fchbg "Yes!{w=0.2} I win again!" @@ -618,28 +622,29 @@ label snap_end: else: n 1uchbs "I won!{w=0.2} I won! Yesss!" - n 1fsqsm "Just as predicted,{w=0.1} right?{w=0.2} Ahaha." + n 4fsqsm "Just as predicted,{w=0.1} right?{w=0.2} Ahaha." # What elif jn_snap.last_game_result == jn_snap.RESULT_DRAW: - n 1tnmaj "...Huh.{w=0.2} We actually tied?" - n 1tllsl "That's...{w=0.3} almost impressive,{w=0.1} actually.{w=0.2} Weird." + n 4tnmaj "...Huh.{w=0.2} We actually tied?" + n 2tllsl "That's...{w=0.3} almost impressive,{w=0.1} actually.{w=0.2} Weird." n 1nnmsm "Well,{w=0.1} whatever,{w=0.1} I guess!" else: # Assume forfeit - n 1unmaj "Oh?{w=0.2} You're giving up?" - n 1nchgn "Well,{w=0.1} I guess that's fine.{w=0.2} Let me just chalk up another win for me,{w=0.1} then.{w=0.2} Ehehe." + n 4unmaj "Oh?{w=0.2} You're giving up?" + n 1nsrss "Well,{w=0.1} I guess that's fine.{w=0.2}{nw}" + extend n 1nchgn " Let me just chalk up another win for me,{w=0.1} then.{w=0.2} Ehehe." # Award affinity for playing to completion with best girl $ Natsuki.calculatedAffinityGain() if jn_snap._player_win_streak >= 3: - n 1fcsanl "Uuuuuu-!" - n 1fnmwrl "I-{w=0.1}I demand a rematch!{w=0.2} I'm not going down like this!" + n 2fcsanl "Uuuuuu-!" + n 4fnmwrl "I-{w=0.1}I demand a rematch!{w=0.2} I'm not going down like this!" elif jn_snap._natsuki_win_streak >= 3: - n 1fsqbg "Ehehe.{w=0.2} That can't be {i}all{/i} you've got,{w=0.1} [player].{w=0.2} Rematch!" + n 3fsqbg "Ehehe.{w=0.2} That can't be {i}all{/i} you've got,{w=0.1} [player].{w=0.2} Rematch!" else: n 1nsqsm "So..." @@ -653,22 +658,14 @@ label snap_end: jump snap_start "I'll pass.": - n 1kllpo "Awww...{w=0.3} well,{w=0.1} okay." + n 2kllpo "Awww...{w=0.3} well,{w=0.1} okay." n 1nchbg "Thanks for playing,{w=0.1} [player]~." if jn_snap._player_win_streak >= 3: - n 1flrpol "...Even if you did kick my butt." + n 2flrpol "...Even if you did kick my butt." elif jn_snap._natsuki_win_streak >= 3: - n 1fchbgl "I wanna see more fight in you next time, though. Ahaha!" - - # Hide all the UI - hide player_natsuki_hands - hide current_table_card - hide player_hand_icon - hide natsuki_hand_icon - hide turn_indicator_icon - hide screen snap_ui + n 4fchbgl "I wanna see more fight in you next time, though. Ahaha!" play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") @@ -678,28 +675,22 @@ label snap_end: jump ch30_loop label snap_forfeit: + hide screen snap_ui + $ jn_snap._controls_enabled = False - n 1knmpo "Awww...{w=0.3} you're not giving up already are you,{w=0.1} [player]?" + n 3knmpo "Awww...{w=0.3} you're not giving up already are you,{w=0.1} [player]?" menu: n "...Are you?" "Yes, I give up.": - n 1kllpo "Oh...{w=0.3} well,{w=0.1} okay." - n 1fllsg "But just so you know..." + n 4kllca "Oh...{w=0.3} well,{w=0.1} okay." + n 1fsqsg "But just so you know..." n 1fchgn "I'm chalking this up as a win for me!{w=0.2} Ehehe." # Hit the streaks $ jn_snap._player_win_streak = 0 $ jn_snap._natsuki_win_streak += 1 - - # Hide all the UI - hide player_natsuki_hands - hide current_table_card - hide player_hand_icon - hide natsuki_hand_icon - hide turn_indicator_icon - hide screen snap_ui - + $ persistent._jn_snap_natsuki_wins += 1 play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") @@ -708,39 +699,18 @@ label snap_forfeit: jump ch30_loop "In your dreams!": - n 1tsqdv "Pffffft!{w=0.2} Oh really?" + n 3tsqcs "Pffffft!{w=0.2} Oh really?" n 1fchbs "Game on then,{w=0.1} [player]!" $ jn_snap._controls_enabled = True $ jn_snap._natsuki_skill_level += 1 + + show screen snap_ui jump snap_main_loop # Animation for the Snap! popup fading out; we use this because Ren'Py sucks at image prediction transform snap_popup_fadeout: easeout 0.75 alpha 0 -# This is the card currently on the top of the pile being shown -image current_table_card: - anchor(0, 0) - pos(1000, 100) - jn_snap._current_table_card_image - -# Icons representing each player's hand -image player_hand_icon: - anchor(0,0) - pos (675, 110) - jn_snap._CARD_FAN_IMAGE_PLAYER - -image natsuki_hand_icon: - anchor(0,0) - pos (675, 180) - jn_snap._CARD_FAN_IMAGE_NATSUKI - -# Icon representing who's turn it is -image turn_indicator_icon: - anchor(0,0) - pos(675, 250) - jn_snap._turn_indicator_image - # Self-explanatory, you dummy image snap_popup: block: @@ -759,35 +729,57 @@ image snap_popup: screen snap_ui: zorder jn_snap._SNAP_UI_Z_INDEX + # This is the card currently on the top of the pile being shown + add jn_snap._current_table_card_image anchor(0, 0) pos(1000, 100) + + # Icons representing each player's hand + add jn_snap._CARD_FAN_IMAGE_PLAYER anchor(0,0) pos (675, 110) + add jn_snap._CARD_FAN_IMAGE_NATSUKI anchor(0,0) pos (675, 180) + + # Icon representing who's turn it is + add jn_snap._turn_indicator_image anchor(0,0) pos(675, 250) + # Game information - text "Cards down: {0}".format(len(jn_snap._cards_on_table)) size 22 xpos 1000 ypos 50 style "categorized_menu_button" - text "[player]'s hand: {0}".format(len(jn_snap._player_hand)) size 22 xpos 750 ypos 125 style "categorized_menu_button" + text "Cards down: {0}".format(len(jn_snap._cards_on_table)) size 32 xpos 1000 ypos 50 style "categorized_menu_button" + text "Your hand: {0}".format(len(jn_snap._player_hand)) size 22 xpos 750 ypos 125 style "categorized_menu_button" text "[n_name]'s hand: {0}".format(len(jn_snap._natsuki_hand)) size 22 xpos 750 ypos 195 style "categorized_menu_button" text "Turn: {0}".format(jn_snap.get_turn_label_to_display()) size 22 xpos 750 ypos 265 style "categorized_menu_button" # Options style_prefix "hkb" vbox: - xpos 1000 - ypos 440 + xpos 1012 + ypos 420 + + # Hotkeys + key "1" action [ + # Place + If(jn_snap._is_player_turn and (len(jn_snap._natsuki_hand) > 0 or len(jn_snap._player_hand) > 0) and jn_snap._controls_enabled, Function(jn_snap._place_card_on_table, True)) + ] + key "2" action [ + # Snap + If(len(jn_snap._cards_on_table) >= 2 and not jn_snap._player_is_snapping and (len(jn_snap._natsuki_hand) > 0 or len(jn_snap._player_hand) > 0) and jn_snap._controls_enabled, Function(jn_snap._call_snap, True)) + ] # Place card, but only selectable if player's turn, and both players are still capable of playing textbutton _("Place"): - style "hkbd_button" + style "hkbd_option" action [ Function(jn_snap._place_card_on_table, True), SensitiveIf(jn_snap._is_player_turn and (len(jn_snap._natsuki_hand) > 0 or len(jn_snap._player_hand) > 0) and jn_snap._controls_enabled)] - # Forfeit, but only selectable if player's turn, and both players are still capable of playing - textbutton _("Forfeit"): - style "hkbd_button" - action [ - Function(renpy.jump, "snap_forfeit"), - SensitiveIf(jn_snap._is_player_turn and (len(jn_snap._natsuki_hand) > 0 or len(jn_snap._player_hand) > 0) and jn_snap._controls_enabled)] - # Snap, but only selectable if there's enough cards down on the table, and both players are still capable of playing textbutton _("Snap!"): - style "hkbd_button" + style "hkbd_option" action [ Function(jn_snap._call_snap, True), SensitiveIf(len(jn_snap._cards_on_table) >= 2 and not jn_snap._player_is_snapping and (len(jn_snap._natsuki_hand) > 0 or len(jn_snap._player_hand) > 0) and jn_snap._controls_enabled)] + + null height 20 + + # Forfeit, but only selectable if player's turn, and both players are still capable of playing + textbutton _("Forfeit"): + style "hkbd_option" + action [ + Function(renpy.jump, "snap_forfeit"), + SensitiveIf(jn_snap._is_player_turn and (len(jn_snap._natsuki_hand) > 0 or len(jn_snap._player_hand) > 0) and jn_snap._controls_enabled)] diff --git a/game/script-topics.rpy b/game/script-topics.rpy index a4256c99..d2794038 100644 --- a/game/script-topics.rpy +++ b/game/script-topics.rpy @@ -1,3 +1,4 @@ +# All topics list default persistent._topic_database = dict() # Generic @@ -17,6 +18,7 @@ default persistent.jn_player_appearance_hair_colour = None default persistent.jn_player_appearance_height_cm = None default persistent._jn_player_birthday_day_month = None # Format (day, month) default persistent._jn_player_birthday_is_leap_day = False # True if player gave birthday as 29th +default persistent._jn_player_is_multilingual = None # Hobby data default persistent.jn_player_gaming_frequency = None @@ -82,15 +84,15 @@ label date_go2_room: # Special dialogue for when out of random topics label talk_out_of_topics: if Natsuki.isNormal(higher=True): - n 1kllpo "Uhmm..." + n 3kllpo "Uhmm..." n 1knmaj "Hey...{w=0.5}{nw}" - extend 1knmss " [player]?" + extend 4knmss " [player]?" n 1fslss "I'm...{w=0.3} kinda struggling to think of more stuff I wanna talk about." n 1ulraj "So...{w=0.5}{nw}" extend 1nsrss " I don't think I'm gonna talk much until I think of something else." - n 1nsrpo "..." - n 1tnmem "What?{w=0.5}{nw}" - extend 1fllpol " I don't just talk because I like the sound of my own voice,{w=0.1} you know!" + n 3nsrpo "..." + n 4tnmem "What?{w=0.5}{nw}" + extend 3fllpol " I don't just talk because I like the sound of my own voice,{w=0.1} you know!" n 1tllpu "But...{w=0.5}{nw}" extend 1unmbo " I guess I {i}could{/i} just tell you about whatever comes to mind." n 1nchbg "So...{w=0.3} how about it?" @@ -100,16 +102,16 @@ label talk_out_of_topics: "Sure, I don't mind listening.": $ persistent.jn_natsuki_repeat_topics = True - n 1uchgn "Okaaay!{w=0.5}{nw}" + n 4uchgn "Okaaay!{w=0.5}{nw}" extend 1tcsaj " Now,{w=0.1} let me think..." "I'd rather wait.": - n 1tllaj "Well...{w=0.5}{nw}" - extend 1tnmbo " if you're sure." + n 2tllaj "Well...{w=0.5}{nw}" + extend 2tnmbo " if you're sure." if Natsuki.isAffectionate(higher=True): - n 1kwmpol "I'll try to come up with something soon,{w=0.5}{nw}" - extend 1klrssl " 'kay?" + n 2kwmpol "I'll try to come up with something soon,{w=0.5}{nw}" + extend 4klrssl " 'kay?" else: n 1flrpol "J-{w=0.1}just don't make the silence all awkward,{w=0.1} got it?!" @@ -118,15 +120,15 @@ label talk_out_of_topics: n 1nllsf "..." n 1fllaj "Yeah,{w=0.1} so.{w=0.5}{nw}" extend 1fnmsl " I haven't got anything else to say." - n 1fsqpu "...Or stuff I want to tell {i}you{/i},{w=0.1} anyway." - n 1fslsr "So I'm just gonna shut up." + n 2fsqpu "...Or stuff I want to tell {i}you{/i},{w=0.1} anyway." + n 2fslsr "So I'm just gonna shut up." n 1fcsun "Heh.{w=0.5}{nw}" extend 1fsqun " Not like that's a {i}problem{/i} for you,{w=0.1} huh?" else: - n 1fslun "...{w=2}{nw}" + n 2fslun "...{w=2}{nw}" extend 1fsqem " What?" - n 1fcsan "You're the {i}last{/i} person I wanna think of more stuff to talk about with.{w=1}{nw}" + n 2fcsan "You're the {i}last{/i} person I wanna think of more stuff to talk about with.{w=1}{nw}" extend 1fsrem " Jerk." $ persistent._jn_out_of_topics_warning_given = True @@ -181,68 +183,68 @@ label talk_did_you_have_pets: n 1tnmsl "Wait...{w=0.3} didn't we talk about this before,{w=0.1} [player]?" n 1unmsl "Well anyway,{w=0.1} not much has changed." n 1ullsl "I still don't have a pet,{w=0.1} as much as I wish I did." - n 1nnmsm "Maybe I should get one soon.{w=0.2} Hmm..." + n 4nnmsm "Maybe I should get one soon.{w=0.2} Hmm..." else: n 1tnmsl "Huh?{w=0.2} Did I ever have any pets?" n 1fllaj "You know,{w=0.1} I really wish I had.{w=0.1} But I was never allowed anything!" - n 1fsgpo "It was always about the mess it would make,{w=0.1} or how much it would cost,{w=0.1} or literally anything else they could think of..." + n 3fsgpo "It was always about the mess it would make,{w=0.1} or how much it would cost,{w=0.1} or literally anything else they could think of..." n 1fnmaj "Even when I said {i}I'd{/i} take care of everything!" - n 1fslem "Ugh..." - n 1fslun "It still annoys me...{w=0.3}{nw}" + n 2fslem "Ugh..." + n 2fslun "It still annoys me...{w=0.3}{nw}" extend 1uchgn " but then again,{w=0.1} it's not like I can't keep a pet here instead,{w=0.1} right?{w=0.1} Ehehe." if persistent.jn_player_pet is None: - n 1unmbg "But what about you,{w=0.1} [player]?" + n 4unmbg "But what about you,{w=0.1} [player]?" menu: n "Do you have any pets?" "Yes, I do.": n 1uspaw "Oh!{w=0.2} Oh oh oh!{w=0.2} You gotta tell me,{w=0.1} [player]!" - n 1uspbs "What do you have?{w=0.2} What do you have?" + n 4uspbs "What do you have?{w=0.2} What do you have?" show natsuki 1uspbs at jn_left call screen scrollable_choice_menu(pet_options) "No, I don't.": - n 1usgem "Aww...{w=0.3} I'll admit,{w=0.1} I'm a little disappointed." + n 3usgem "Aww...{w=0.3} I'll admit,{w=0.1} I'm a little disappointed." n 1nchbg "Well,{w=0.1} then you gotta let me know if you get one,{w=0.1} [player]!" n 1uchgn "I wanna hear all about it!" return "I used to.": - n 1kplaj "Oh...{w=0.3} oh gosh." - n 1kllbo "I'm really sorry to hear that,{w=0.1} [player]." + n 4kplaj "Oh...{w=0.3} oh gosh." + n 2kllbo "I'm really sorry to hear that,{w=0.1} [player]." n 1knmbo "I hope you're managing okay now." n 1kcsbo "..." - n 1knmbo "I...{w=0.3} think we should talk about something else, alright?" + n 4knmbo "I...{w=0.3} think we should talk about something else, alright?" return else: n 1unmbs "What about you,{w=0.1} [player]?" - show natsuki 1fspgs at jn_center + show natsuki 4fspgs at jn_center menu: n "Did you get a new pet?" "Yes, I did.": - n 1uwdgsesu "!{w=0.5}{nw}" - n 1uspaw "Y-{w=0.2}you gotta tell me!{w=0.75}{nw}" - extend 1fspgsedz " What did you get?{w=0.3} What did you get?" - show natsuki 1fspca at jn_left + n 4uwdgsesu "!{w=0.5}{nw}" + n 4uspaw "Y-{w=0.2}you gotta tell me!{w=0.75}{nw}" + extend 4fspgsedz " What did you get?{w=0.3} What did you get?" + show natsuki 4fspca at jn_left call screen scrollable_choice_menu(pet_options) "No, I didn't.": - n 1usgem "Aww...{w=0.3} I'll admit,{w=0.1} I'm a little disappointed." + n 2usgem "Aww...{w=0.3} I'll admit,{w=0.1} I'm a little disappointed." n 1nchbg "Well,{w=0.1} then you gotta let me know if you get one,{w=0.1} [player]!" n 1uchgn "I wanna hear all about it!" return "I lost one.": - n 1knmaj "Oh...{w=0.3} oh jeez..." + n 4knmaj "Oh...{w=0.3} oh jeez..." n 1knmfr "Sorry,{w=0.1} [player].{w=0.2} A-{w=0.1}are you okay?" - n 1kllbo "Maybe we should talk about something else to keep your mind off things..." + n 4kllbo "Maybe we should talk about something else to keep your mind off things..." if Natsuki.isAffectionate(higher=True): - n 1knmbo "I'm...{w=0.5} here {w=0.3}for you,{w=0.1} [player]." + n 4knmbo "I'm...{w=0.5} here {w=0.3}for you,{w=0.1} [player]." return @@ -253,151 +255,151 @@ label talk_did_you_have_pets: if _return == "birds": n 1uchgn "Oh!{w=0.2} Neat!" n 1nnmsm "I don't think I'd keep birds myself,{w=0.1} but they brighten up rooms for sure!" - n 1tnmaj "It doesn't get too noisy for you,{w=0.1} I hope?" + n 3tnmaj "It doesn't get too noisy for you,{w=0.1} I hope?" n 1uchsm "I'm sure yours appreciate your company though." elif _return == "cats": n 1uchsm "Yay!{w=0.2} Cats!" - n 1uchgn "I really wish I had one,{w=0.1} I love seeing all the dumb situations they get into!" + n 3uchgn "I really wish I had one,{w=0.1} I love seeing all the dumb situations they get into!" n 1unmbs "I hope you didn't just say that because {i}I{/i} like them,{w=0.1} though.{w=0.5}{nw}" - extend 1uchsm " Ehehe." + extend 4uchsm " Ehehe." n 1tnmsm "Just don't pamper it too much,{w=0.1} [player]!" elif _return == "chameleons": n 1unmaj "Oh!{w=0.2} Chameleons!" - n 1uchgn "That's super cool,{w=0.1} [player]!" - n 1unmbg "The color changing is crazy enough,{w=0.1} but those eyes too{w=0.1} -{w=0.1} it's like someone just made them up!" + n 3uchgn "That's super cool,{w=0.1} [player]!" + n 4unmbg "The color changing is crazy enough,{w=0.1} but those eyes too{w=0.1} -{w=0.1} it's like someone just made them up!" n 1uchgn "Still{w=0.1} -{w=0.1} that's awesome!" - n 1unmbg "You better take good care of it,{w=0.1} okay?" + n 4unmbg "You better take good care of it,{w=0.1} okay?" elif _return == "dogs": n 1uwdaj "Oh!{w=0.2} A dog?{w=0.5}{nw}" - extend 1uchbs " Awesome!" + extend 4uchbs " Awesome!" n 1nnmsm "I don't think a dog would be my first choice,{w=0.1} what with all the walks and all that." - n 1uchbs "But I can't think of a more loving pet!" - n "I hope yours looks after you as much as you look after it!" + n 4uchbs "But I can't think of a more loving pet!" + n 4nwlsm "I hope yours looks after you as much as you look after it!" elif _return == "ferrets": n 1unmlg "Oh!{w=0.2} A ferret?" - n 1uchbs "That's {i}adorable{/i}!" - n 1tllbg "But...{w=0.3} I've always wondered.{w=0.5}{nw}" - n 1tchbg " Are they more like a cat,{w=0.1} or a dog?" - n 1flrss "Well,{w=0.1} whatever.{w=0.2} Either way,{w=0.1} [player]..." + n 4uchbs "That's {i}adorable{/i}!" + n 3tllbg "But...{w=0.3} I've always wondered.{w=0.5}{nw}" + n 3tchbg " Are they more like a cat,{w=0.1} or a dog?" + n 4flrss "Well,{w=0.1} whatever.{w=0.2} Either way,{w=0.1} [player]..." n 1unmlg "You better take good care of the little guy!" elif _return == "fish": - n 1unmaj "Ooh!{w=0.2} Fish are interesting!" - n 1kllnv "I don't think I'd call them super affectionate personally..." + n 4unmaj "Ooh!{w=0.2} Fish are interesting!" + n 2kllnv "I don't think I'd call them super affectionate personally..." n 1uchgn "But I think they're a neat way to relieve stress!{w=0.2} They must be calming to watch in their own little world." n 1nsqsm "I bet you feel like you could lose yourself in that tank.{w=0.5}{nw}" extend 1nchsm " Ehehe." elif _return == "frogs": - n 1kspaw "Ooh!{w=0.2} Froggies!" - extend 1kspbs " Cute!" + n 4kspaw "Ooh!{w=0.2} Froggies!" + extend 4kspbs " Cute!" n 1fsqsm "I seriously can't get enough of their faces.{w=0.5}{nw}" extend 1fbkbs " They always look so confused!" - n 1fllbg "Ehehe.{w=0.2} Well,{w=0.1} [player]..." + n 3fllbg "Ehehe.{w=0.2} Well,{w=0.1} [player]..." n 1fchgn "You better {i}hop{/i} to it and take care of yours!" elif _return == "geckos": - n 1uchbg "Awww!{w=0.5}{nw}" - extend 1uchsm " Geckies!{w=1} Cute!" - n 1kllsm "They're like goofy little lizards!{w=0.5}{nw}" - extend 1nchsm " Ehehe." + n 4uchbg "Awww!{w=0.5}{nw}" + extend 4uchsm " Geckies!{w=1} Cute!" + n 3kllsm "They're like goofy little lizards!{w=0.5}{nw}" + extend 3nchsm " Ehehe." n 1nsqsr "Just a warning though,{w=0.1} [player]..." - n 1fsqpo "I better not hear about any tails falling off on your watch!" + n 2fsqpo "I better not hear about any tails falling off on your watch!" elif _return == "gerbils": - n 1kspaw "Awww!{w=0.2} I like gerbils!" + n 4kspaw "Awww!{w=0.2} I like gerbils!" n 1uchbs "It's so cute how they live in little groups to keep each other company." n 1unmbs "They're good at digging,{w=0.1} too{w=0.1} -{w=0.1} like seriously good!" - n "Take good care of yours for me,{w=0.1} okay?" + n 3nchct "Take good care of yours for me,{w=0.1} okay?" elif _return == "guinea_pigs": - n 1unmaj "Ooh!{w=0.2} I like guinea pigs!" + n 4unmaj "Ooh!{w=0.2} I like guinea pigs!" n 1uchbs "I don't know much about them,{w=0.1} but I love the little sounds they make." - n "It's like they're always having a conversation!" - n 1unmbs "Take good care of yours for me,{w=0.1} okay?" + n 4ullss "It's like they're always having a conversation!" + n 1uchbs "Take good care of yours for me,{w=0.1} okay?" elif _return == "hamsters": - n 1uspbs "Oh my gosh!{w=0.2} Hammies!" - n 1uchbs "Aaaaaah!{w=0.2} I love them so much!" - n 1uspbs "I love their little tails,{w=0.1} and their little paws,{w=0.1} and their little whiskers,{w=0.2} and-" - n "And!{w=0.2} And..." + n 4uspbs "Oh my gosh!{w=0.2} Hammies!" + n 4uchbs "Aaaaaah!{w=0.2} I love them so much!" + n 4uspawedz "I love their little tails,{w=0.1} and their little paws,{w=0.1} and their little whiskers,{w=0.2} and-" + n 4uspgsleaf "And!{w=0.2} And..." n 1uwdbol "..." n 1uchbsl "A-{w=0.1}ahaha!{w=0.2} I'm...{w=0.5}" - extend 1fslsslsbl " getting a little carried away." + extend 2fslsslsbl " getting a little carried away." n 1fcspof "Y-{w=0.2}you better take good care of yours for me,{w=0.1} alright?" elif _return == "horses": - n 1uspaw "W-{w=0.1}wow!{w=0.2} You aren't just messing with me,{w=0.1} right?!" + n 4uspaw "W-{w=0.1}wow!{w=0.2} You aren't just messing with me,{w=0.1} right?!" n 1uspbs "Horses?!{w=0.2} That's amazing,{w=0.1} [player]!" - n 1uchbs "You totally gotta teach me how to ride some day!" - n 1uchbs "Make sure you visit yours often,{w=0.1} alright?" + n 3uchbs "You totally gotta teach me how to ride some day!" + n 3usqsm "Make sure you visit yours often,{w=0.1} alright?" n 1unmlg "Oh -{w=0.2} and wear a helmet if you ride!" elif _return == "insects": - n 1twmsc "Ack-{w=0.5}{nw}" - n 1kslupsbl "Nnnnn..." - n 1kwmsg "...I wish I could share your enthusiasm!{w=0.5}{nw}" - extend 1kllss " Ahaha..." - n 1nslunsbl "..." + n 2twmsc "Ack-{w=0.5}{nw}" + n 2kslupsbl "Nnnnn..." + n 1kwmsgsbl "...I wish I could share your enthusiasm!{w=0.5}{nw}" + extend 1kllsssbl " Ahaha..." + n 2nslunsbl "..." n 1nnmemleshsbl "I-{w=0.2}I mean,{w=0.75}{nw}" - extend 1fcstrlsbr " it's cool that's something you're into!{w=0.75}{nw}" - extend 1ksrcalsbr " But..." + extend 4fcstrlsbr " it's cool that's something you're into!{w=0.75}{nw}" + extend 2ksrcalsbr " But..." n 1ksqun "I don't think I could stomach creepy crawlies myself." n 1ksrunsbr "You've certainly got an...{w=0.3} interesting taste,{w=0.1} [player]." - n 1fchsssbr "...Though I'm sure you take great care of yours!" + n 3fchsssbr "...Though I'm sure you take great care of yours!" elif _return == "lizards": n 1uchgn "Ooh!{w=0.2} Lizards,{w=0.1} huh?" - n 1fsqss "...I trust you aren't just as cold-blooded yourself,{w=0.1} [player]." - n 1fchgn "...Pffffft!{w=0.5}{nw}" + n 4fsqss "...I trust you aren't just as cold-blooded yourself,{w=0.1} [player]." + n 1fchgnesm "...Pffffft!{w=0.5}{nw}" extend 1uchlg " I'm kidding, [player]!{w=0.2} I'm just kidding!" n 1unmbg "Cool looking critters though!{w=0.2}" extend 1tllbg " I think you'd actually be hard pressed to find a more varied kind of pet." - n 1uchgn "You better keep yours nice and toasty,{w=0.1} [player]!" + n 3uchgn "You better keep yours nice and toasty,{w=0.1} [player]!" elif _return == "mice": - n 1uchgn "Ehehe.{w=0.2} Mice are adorable!" - n 1nllaj "I'm still not sure how I feel about the tail..." + n 3uchgn "Ehehe.{w=0.2} Mice are adorable!" + n 4nllaj "I'm still not sure how I feel about the tail..." n 1unmbg "But they're so curious and sociable!{w=0.2} I love watching them play together." - n 1uchgn "Make sure you take care of yours for me,{w=0.1} okay?" + n 3uchgn "Make sure you take care of yours for me,{w=0.1} okay?" elif _return == "rats": n 1unmbs "Rats,{w=0.1} huh?" - n 1fsgsg "Were you expecting me to be grossed out?" + n 4fsgsg "Were you expecting me to be grossed out?" n 1uchbselg "Ahaha!" n 1unmsm "Rats are fine.{w=0.2} They're surprisingly intelligent,{w=0.1} too!" - n 1uchgn "Are you perhaps training yours,{w=0.1} [player]?{w=0.2} Ehehe." + n 3uchgn "Are you perhaps training yours,{w=0.1} [player]?{w=0.2} Ehehe." n 1unmbs "Make sure you take care of yours for me,{w=0.1} okay?" elif _return == "rabbits": - n 1kspaw "Awwwwww!{w=0.2} Bunnies!" + n 4kspaw "Awwwwww!{w=0.2} Bunnies!" n 1kcuaw "They're so cuuute!{w=0.2} I love them!" n 1uchbs "Especially the ones with the floppy ears,{w=0.1} they look so cuddly!" n 1knmbo "It's a shame they need so much space,{w=0.1} though." - n 1uchgn "But I'm sure yours have plenty of room to roam!{w=0.2} Ehehe." + n 3uchgn "But I'm sure yours have plenty of room to roam!{w=0.2} Ehehe." elif _return == "snakes": n 1uskaj "H-{w=0.1}huh?{w=0.5}{nw}" extend 1uscem " S-{w=0.1}snakes?" - n 1fcsun "Uuuuuu..." + n 2fcsunsbr "Uuuuuu..." n 1kcsaj "...Fine.{w=0.2} I'll just be straight with you, [player].{w=0.5}{nw}" - extend 1kllsl " I'm...{w=0.3} not great with those." + extend 4kllsl " I'm...{w=0.3} not great with those." n 1kllaj "S-{w=0.1}snakes,{w=0.1} I mean." - n 1kllsl "They just...{w=0.3} don't really agree with me.{w=0.2} I don't know why." - n 1fcsgsl "B-{w=0.1}but that's not to say that they {i}can't{/i} be cute,{w=0.1} obviously!{w=0.5}{nw}" - extend 1flrpo " Making that assumption would just be ignorant." - n 1ksrpo "...And they deserve care just like any other pet.{w=0.5}{nw}" + n 2kslsl "They just...{w=0.3} don't really agree with me.{w=0.2} I don't know why." + n 2fcsgsl "B-{w=0.1}but that's not to say that they {i}can't{/i} be cute,{w=0.1} obviously!{w=0.5}{nw}" + extend 2flrpo " Making that assumption would just be ignorant." + n 2ksrpo "...And they deserve care just like any other pet.{w=0.5}{nw}" extend 1flraj " So..." n 1fnmpo "You better not be flaking out on yours,{w=0.1} [player]!" elif _return == "something_else": - n 1unmaj "Ooh!{w=0.2} An exotic owner, are we?" + n 4unmaj "Ooh!{w=0.2} An exotic owner, are we?" n 1tsgsg "I wonder if that says something about the rest of your tastes?{w=0.2} Ehehe." - n 1uchgn "I trust you take good care of yours.{w=0.1} Uncommon pets can be pretty demanding!" + n 3uchgn "I trust you take good care of yours.{w=0.1} Uncommon pets can be pretty demanding!" return @@ -419,52 +421,52 @@ init 5 python: label talk_service_animals: n 1ullbo "Hmm..." - n 1unmaj "Hey [player],{w=0.1} have you ever heard of service animals?" - n 1unmbg "They're like animals people train up specially to do jobs that humans can't do easily." + n 4unmaj "Hey [player],{w=0.1} have you ever heard of service animals?" + n 1usqbg "They're like animals people train up specially to do jobs that humans can't do easily." if Natsuki.isNormal(higher=True): n 1unmbs "Some work in airports to keep people safe,{w=0.1} others help in rescues...{w=0.3} it's super cool!" - n 1uwmsm "But there's one type that's especially awesome..." - n 1uchgn "Emotional support animals!" + n 4uwmsm "But there's one type that's especially awesome..." + n 3uchgn "Emotional support animals!" n 1ullaj "They're like really tame pets that are used to comfort people going through a bad time." - n 1ulraj "They come in all different shapes and sizes too!{w=0.5}{nw}" - n 1nnmpu " Dogs and cats -{w=0.5}{nw}" - extend 1fslss " {i}obviously{/i}{w=0.5}{nw}" - extend 1uwdgs " -{w=0.2} but even horses sometimes!" + n 4usrss "They come in all different shapes and sizes too!{w=0.5}{nw}" + n 3nnmpu " Dogs and cats -{w=0.5}{nw}" + extend 3fslss " {i}obviously{/i}{w=0.5}{nw}" + extend 4uwdgs " -{w=0.2} but even horses sometimes!" n 1fchbg "Awesome,{w=0.1} right?" n 1kllss "..." n 1ulrbo "..." - n 1uplaj "You know,{w=0.1} [player]..." + n 4uplaj "You know,{w=0.1} [player]..." n 1kcsaj "Sometimes I wonder if one could have helped Sayori..." - n 1klrfr "...but I try not to think about that too much." + n 2klrfr "...but I try not to think about that too much." n 1knmem "They {i}are{/i} great,{w=0.1} but they don't do miracles." - n 1kwmem "[player]...{w=0.3} I really hope you never have to seek their help." - n 1kwmnv "And on that note,{w=0.1} if you do need support?" + n 4kwmem "[player]...{w=0.3} I really hope you never have to seek their help." + n 2kwmnv "And on that note,{w=0.1} if you do need support?" if Natsuki.isAffectionate(higher=True): n 1fcssrl "I-{w=0.2}I want you to know that you can depend on me,{w=0.1} 'kay?" if Natsuki.isLove(higher=True): - n 1kwmnv "I love you,{w=0.1} [player]." + n 4kwmnv "I love you,{w=0.1} [player]." return else: n 1fcssrl "Just...{w=0.5}{nw}" extend 1fnmsl " don't be dumb about it,{w=0.1} [player].{w=0.5}{nw}" extend 1kllss " I can listen if you need me to." - n 1fcsajl "I-{w=0.1}I'm not a jerk!{w=0.5}{nw}" - extend 1flrpol " It's just the least anyone can do,{w=0.1} that's all." + n 3fcsajl "I-{w=0.1}I'm not a jerk!{w=0.5}{nw}" + extend 3flrpol " It's just the least anyone can do,{w=0.1} that's all." else: n 1unmbo "They work in a bunch of places.{w=0.2} Airports and rescues and stuff,{w=0.1} usually." n 1unmss "But I really like emotional support animals." n 1nnmsl "They're like specially tame pets that are used to comfort those having a bad time." - n 1nsgbo "..." - n 1nsgaj "And...{w=0.3} to be perfectly honest?" + n 2nsgbo "..." + n 4nsgaj "And...{w=0.3} to be perfectly honest?" n 1fcsun "Sometimes I feel like I could use one." return - n 1ksrfr "..." + n 2ksrfr "..." n 1kwmfr "That got kinda heavy,{w=0.1} didn't it?" n 1kwmbg "Well,{w=0.1} enough of that.{w=0.2}" extend 1uwmss " What else do you wanna talk about?" @@ -490,9 +492,9 @@ init 5 python: label talk_using_computers_healthily: n 1unmaj "Huh." - n 1tnmaj "Hey,{w=0.1} [player].{w=0.2} I just thought of something." + n 3tnmaj "Hey,{w=0.1} [player].{w=0.2} I just thought of something." n 1unmsf "You gotta be at your computer to talk to me,{w=0.1} right?" - n 1ullsf "And you've been here a while already..." + n 4ullsf "And you've been here a while already..." if (jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.work_applications) or jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.artwork) @@ -502,48 +504,48 @@ label talk_using_computers_healthily: n 1nchgn "Alright,{w=0.1} that's it!{w=0.2} I've decided." n 1uchgn "I'm gonna give you a little lesson on using your computer the right way!" - n 1nnmss "Number one:{w=0.2} posture!" + n 3nnmss "Number one:{w=0.2} posture!" n 1fwmlg "Sit up straight,{w=0.1} and back against the chair,{w=0.1} [player].{w=0.2}" extend 1uchlg " I mean it!" - n 1tnmlg "You don't want back problems,{w=0.1} do you?" + n 4tnmlg "You don't want back problems,{w=0.1} do you?" n 1nnmsm "Make sure your feet can still touch the floor,{w=0.1} though.{w=0.2}" - extend 1uchgn " Even I can do that!" + extend 3uchgn " Even I can do that!" n 1nnmaj "Number two:{w=0.2} distance!" - n 1nsggn "I know you can't get enough of me,{w=0.1}" - extend 1fnmpo " but I don't wanna see you pressing your face against the screen.{w=0.2} It's weird." + n 3nsggn "I know you can't get enough of me,{w=0.1}" + extend 3fnmpo " but I don't wanna see you pressing your face against the screen.{w=0.2} It's weird." n 1uchgn "So make sure you sit about an arm's length away from the display,{w=0.1} alright?" - n 1uwdaj "Oh!{w=0.2} Don't forget to keep your stuff in easy reach though{w=0.1} -{w=0.1}" + n 4uwdaj "Oh!{w=0.2} Don't forget to keep your stuff in easy reach though{w=0.1} -{w=0.1}" extend 1unmsm " like your mouse." n 1unmbg "Number three:{w=0.2} breaks!" n 1uwmbg "I don't know about you,{w=0.1} but I get all fidgety if I stay still too long..." - n 1fchgn "So make sure you get off your butt and do some stretches a few times per hour!" - n 1fsqsg "You could even get some water or something if you {i}really{/i} need an excuse to move." + n 3fchgn "So make sure you get off your butt and do some stretches a few times per hour!" + n 4fsqsg "You could even get some water or something if you {i}really{/i} need an excuse to move." n 1nnmsm "It'd also give your eyes a rest from the screen!" n 1uchbs "Alright {w=0.1}-{w=0.1} and the last one!{w=0.2} This one's important,{w=0.1}" - extend 1uchgn " so listen up good!" + extend 4uchgn " so listen up good!" n 1unmbo "If you ever feel unwell {w=0.1}-{w=0.1} like your back aches,{w=0.1} or your eyes hurt or something..." - n 1nwmbo "Please just stop whatever you're doing.{w=0.2} Your health comes first.{w=0.2} I don't care what needs to be done." + n 2fwmpu "Please just stop whatever you're doing.{w=0.2} Your health comes first.{w=0.2} I don't care what needs to be done." n 1unmsm "Take some time to feel better,{w=0.1} then make sure all your stuff is set up right like I said." - n "Don't carry on until you feel well enough {w=0.1}-{w=0.1} talk to someone if you have to!" + n 3fcsss "Don't carry on until you feel well enough {w=0.1}-{w=0.1} talk to someone if you have to!" n 1uchgn "Okaaay!{w=0.2} Lecture over!" - n 1ullaj "Wow...{w=0.3} I rambled on a while,{w=0.1} didn't I?{w=0.2}" + n 4ullaj "Wow...{w=0.3} I rambled on a while,{w=0.1} didn't I?{w=0.2}" extend 1klrbgl " Sorry,{w=0.1} sorry!{w=0.2} Ehehe." if Natsuki.isEnamored(higher=True): - n 1kwmsml "But you know I only do these things because I really care about you,{w=0.1} [player]...{w=0.3} right?" - n 1kwmnvl "So please...{w=0.3} take care of yourself, okay?{w=0.2} I don't want you hurting because of me." + n 3kwmsml "But you know I only do these things because I really care about you,{w=0.1} [player]...{w=0.3} right?" + n 4kwmnvl "So please...{w=0.3} take care of yourself, okay?{w=0.2} I don't want you hurting because of me." if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() - n 1kwmsml "I love you,{w=0.1} [chosen_endearment]." + n 4kwmsml "I love you,{w=0.1} [chosen_endearment]." n 1kwmnvl "..." return else: n 1usglg "But you know I only say these things because I care." - n 1nsqpo "...And I don't want you whining to me that your back hurts.{w=0.2}" + n 3nsqpo "...And I don't want you whining to me that your back hurts.{w=0.2}" - n 1nchgn "Ahaha...{w=0.3} now, where were we?" + n 4nchgn "Ahaha...{w=0.3} now, where were we?" return # Natsuki highlights the importance of staying active and getting exercise @@ -565,29 +567,29 @@ init 5 python: label talk_staying_active: n 1nnmbo "Hey,{w=0.1} [player]..." - n 1nllsr "You should get out more." + n 3nllsr "You should get out more." n 1fsqsm "..." - n 1fchbg "Ahaha!{w=0.2} No,{w=0.1} really!{w=0.2} I'm serious!" + n 4fchbg "Ahaha!{w=0.2} No,{w=0.1} really!{w=0.2} I'm serious!" n 1ulraj "At school,{w=0.1} it was super easy to get exercise since we had to walk everywhere,{w=0.1} and we had sports and such..." n 1nsqsf "It's not so straightforward when you have a job and other stuff to worry about,{w=0.1} though." - n 1fllss "I'm not gonna lie and say I worked out or anything like that..." + n 2fllss "I'm not gonna lie and say I worked out or anything like that..." n 1ullaj "But I tried to get some walks in when I could.{w=0.5}{nw}" - extend 1uchgn " Any excuse to hit the bookshop is reason enough for me!" - n 1kslsl "...Or {i}was{/i} reason enough, anyway." + extend 4uchgn " Any excuse to hit the bookshop is reason enough for me!" + n 2kslsl "...Or {i}was{/i} reason enough, anyway." n 1fllaj "But still {w=0.1}-{w=0.5}{nw}" extend 1unmbg " you should give it a shot too,{w=0.1} [player]!" n 1nlrss "It doesn't have to be a hike or anything crazy{w=0.1} -{w=0.3}{nw}" extend 1nnmsm " it's more about keeping at it,{w=0.1} really." n 1fchsm "Even a daily ten minute walk will help you feel refreshed and awake!" - n 1ullaj "So...{w=0.5}{nw}" - extend 1fnmss " make sure you get out soon,{w=0.1} [player]." + n 4ullaj "So...{w=0.5}{nw}" + extend 4fnmss " make sure you get out soon,{w=0.1} [player]." if Natsuki.isEnamored(higher=True): - n 1fchbg "I wanna see you fighting fit!{w=0.5}{nw}" - extend 1uchsm " Ehehe." + n 3fchbg "I wanna see you fighting fit!{w=0.5}{nw}" + extend 3uchsm " Ehehe." return - n 1fchbg "It's the least you can do!" + n 1fchbl "It's the least you can do!" return # Natsuki discusses stress and offers ways she finds useful to deal with it @@ -608,26 +610,26 @@ init 5 python: label talk_relieving_stress: n 1ullaj "You know,{w=0.1} I'll admit it,{w=0.1} [player]." - n 1flrbg "I...{w=0.3} kinda have a short fuse.{w=0.5}{nw}" - extend 1klrss " Ehehe." + n 2flrbgsbl "I...{w=0.3} kinda have a short fuse.{w=0.5}{nw}" + extend 1klrsssbl " Ehehe." n 1fnmss "I've been trying to work on that though,{w=0.3}{nw}" extend 1fchbg " and I'd love to share some of the ways I deal with stress!" n 1unmss "Personally,{w=0.1} I think the best way to deal with it if you can is to try and create some distance." - n 1nslss "Back before all of...{w=0.3} this,{w=0.5}{nw}" - extend 1nllss " if things got a little too much,{w=0.1} I just stepped outside if I could." + n 2nslss "Back before all of...{w=0.3} this,{w=0.5}{nw}" + extend 2nllss " if things got a little too much,{w=0.1} I just stepped outside if I could." n 1unmbo "Some fresh air and a change of scenery can really put things into context.{w=0.5}{nw}" - extend 1fwdaj " It's crazy effective!" - n 1ulraj "But don't just create physical distance,{w=0.1} though.{w=0.5}{nw}" + extend 4fwdaj " It's crazy effective!" + n 4ulraj "But don't just create physical distance,{w=0.1} though.{w=0.5}{nw}" extend 1fnmpu " Distance yourself mentally too!" - n 1ncssr "If something is stressing you out,{w=0.1} you need to starve it of attention." - n 1fslpo "I can't really go outside now,{w=0.5}{nw}" + n 3ncssr "If something is stressing you out,{w=0.1} you need to starve it of attention." + n 3fslpo "I can't really go outside now,{w=0.5}{nw}" extend 1nllsf " so I just read something,{w=0.1} or watch some dumb videos." n 1fchbg "But do whatever works for you; {w=0.1}we all have our own comfort zones!" - n 1fslpo "A-{w=0.1}and of course,{w=0.1} you could always come see me,{w=0.1} you know..." + n 2fslpo "A-{w=0.1}and of course,{w=0.1} you could always come see me,{w=0.1} you know..." n 1fchbgl "A-{w=0.1}anyway!" n 1unmpu "The point is to always try and come back with a clean headspace,{w=0.3}{nw}" extend 1nnmss " and don't sweat the small things." - n 1tnmss "You can manage that,{w=0.1} right [player]?" + n 4tnmss "You can manage that,{w=0.1} right [player]?" n 1uchsm "I'll keep working on it if you do!" return @@ -651,33 +653,33 @@ label talk_careful_spending: n 1tllsr "..." n 1fllsr "..." n 1tnmpu "Hmm...?" - n 1uwdgsesu "O-{w=0.1}oh!{w=0.5}{nw} " + n 4uwdgsesu "O-{w=0.1}oh!{w=0.5}{nw}" extend 1flrbg " A-{w=0.1}aha!{w=0.5}{nw}" - extend 1flrdvl " I spaced out!" + extend 4fsrdvl " I spaced out!" n 1unmaj "I was just thinking..." n 1flrbo "It's so easy to spend more than you mean nowadays,{w=0.1} you know?" - n 1flrpu "Like...{w=0.3} it seems everywhere you look,{w=0.1} there's a sale,{w=0.1} or deals,{w=0.1} or some kind of special offer..." + n 2flrpu "Like...{w=0.3} it seems everywhere you look,{w=0.1} there's a sale,{w=0.1} or deals,{w=0.1} or some kind of special offer..." n 1unmpu "And every place accepts all kinds of ways of paying,{w=0.1} too.{w=0.5}{nw}" - extend 1fsrpo " They make it super convenient!" - n 1fsrpo "I guess what I'm getting at is...{w=0.3} try to be careful of your spending habits,{w=0.1} okay?" - n 1unmss "Try not to buy junk you don't need{w=0.1} -{w=0.3}{nw}" + extend 3fsrpo " They make it super convenient!" + n 3fnmun "I guess what I'm getting at is...{w=0.3} try to be careful of your spending habits,{w=0.1} okay?" + n 1uslss "Try not to buy junk you don't need{w=0.1} -{w=0.3}{nw}" extend 1flrbg " think of how much you threw away the last time you cleaned out!" - n 1uwdajl "T-{w=0.1}that's not to say you shouldn't treat yourself,{w=0.1} of course!{w=0.5}{nw}" - extend 1flrssl " You deserve cool stuff too!" - n 1flrss "Money can't buy happiness...{w=0.5}{nw}" + n 4uwdajl "T-{w=0.1}that's not to say you shouldn't treat yourself,{w=0.1} of course!{w=0.5}{nw}" + extend 4flrssl " You deserve cool stuff too!" + n 1fcsss "Money can't buy happiness...{w=0.5}{nw}" extend 1fchgn " but it sure as hell makes finding it easier.{w=0.5}{nw}" extend 1uchbselg " Ahaha!" - n 1nllss "Well,{w=0.1} anyway.{w=0.5}{nw}" + n 4nllss "Well,{w=0.1} anyway.{w=0.5}{nw}" extend 1tnmsg " Just try to think a little before you spend,{w=0.1} [player]{w=0.1} -{w=0.3}{nw}" extend 1uchbs " that's all I'm saying!" if Natsuki.isAffectionate(higher=True): - n 1nslbg "Besides..." + n 3nslbg "Besides..." n 1fsqsm "Gotta save up all we can for when we can hang out,{w=0.1} right?{w=0.5}{nw}" extend 1uchsm " Ehehe." if Natsuki.isLove(higher=True): - n 1uchbgl "Love you,{w=0.1} [player]~!" + n 4uchbgl "Love you,{w=0.1} [player]~!" return @@ -698,44 +700,44 @@ init 5 python: ) label talk_eating_well: - n 1unmaj "Hey,{w=0.1} [player]..." + n 4unmaj "Hey,{w=0.1} [player]..." menu: n "Have you eaten today?" "Yes": n 1fnmbg "Aha!{w=0.5}{nw}" - extend 1fsqbg " But did you eat {i}well{/i},{w=0.1} [player]?" + extend 3fsqbg " But did you eat {i}well{/i},{w=0.1} [player]?" "No": n 1knmpu "Huh?{w=0.2} What?{w=0.5}{nw}" - extend 1knmem " Why not?!" - n 1fnmem "You aren't skipping meals,{w=0.1} are you?" - n 1flrpo "You better not be,{w=0.1} [player]." + extend 2knmem " Why not?!" + n 1fnmpu "You aren't skipping meals,{w=0.1} are you?" + n 3flrpo "You better not be,{w=0.1} [player]." n 1unmpu "It's super important to make sure you aren't only eating regularly,{w=0.3}{nw}" extend 1fnmpu " but eating decently too!" n 1fnmsr "The right diet makes all the difference,{w=0.1} [player]." - n 1ullaj "So...{w=0.5}{nw}" - extend 1nnmaj " try and make an effort with your meals,{w=0.1} got it?" + n 4ullaj "So...{w=0.5}{nw}" + extend 1nsgaj " try and make an effort with your meals,{w=0.1} got it?" n 1fnmaj "And I mean a real effort!{w=0.5}{nw}" extend 1ulrss " Try to prepare them from scratch if you can;{w=0.3}{nw}" - extend 1flrss " it's often cheaper than ready meals anyway." + extend 2fsrss " it's often cheaper than ready meals anyway." n 1unmss "Cut back on things like salt and sugar and stuff too...{w=0.5}{nw}" - extend 1nslpo " as well as anything really processed." + extend 3nslpo " as well as anything really processed." n 1unmaj "Oh {w=0.1}-{w=0.3}{nw}" - extend 1fnmaj " and like I said,{w=0.1} have meals regularly too!" + extend 4fnmaj " and like I said,{w=0.1} have meals regularly too!" n 1fchbg "You shouldn't find yourself snacking on junk if you have proper meals throughout the day." n 1usqsm "Your bank balance and your body will thank you.{w=0.5}{nw}" - extend 1nchsm " Ehehe." + extend 4nchsm " Ehehe." if Natsuki.isAffectionate(higher=True): n 1fsqsm "And besides..." - n 1usqss "I gotta get you into good habits by yourself before I'm there to make you." + n 3usqss "I gotta get you into good habits by yourself before I'm there to make you." n 1fchgnelg "Ahaha!{w=0.2} I'm kidding,{w=0.1} [player]!{w=0.2} I'm kidding!" - n 1fsqsm "...Mostly." + n 4fsqsm "...Mostly." if Natsuki.isEnamored(higher=True): - n 1uchsm "Love you, [player]~!{w=0.2} Ehehe." + n 4uchsm "Love you, [player]~!{w=0.2} Ehehe." return n 1fllss "Now...{w=0.3} where were we?" @@ -763,7 +765,7 @@ label talk_weather_setup_main: if persistent._jn_weather_setup_started: # Player has already done at least some of the setup process, so offer range of options - n 1unmajesu "Oh!{w=1}{nw}" + n 4unmajesu "Oh!{w=1}{nw}" extend 1fcsbg " Yeah,{w=0.1} I remember!" n 1ulraj "So..." show natsuki 1unmbg at jn_center @@ -773,9 +775,9 @@ label talk_weather_setup_main: "I want to give you an API key.": # API key - n 1unmaj "You wanna give me an API key?{w=1}{nw}" + n 4unmaj "You wanna give me an API key?{w=1}{nw}" extend 1fchbg " Sure!" - n 1nchbg "I'll just walk you through it just in case,{w=0.1} 'kay?" + n 3nchbg "I'll just walk you through it just in case,{w=0.1} 'kay?" # Reset configuration state $ persistent._jn_weather_api_configured = False @@ -785,9 +787,9 @@ label talk_weather_setup_main: "I want to give you my location." if persistent._jn_weather_api_key: # Location - n 1unmaj "You wanna go through your location?{w=1}{nw}" + n 4unmaj "You wanna go through your location?{w=1}{nw}" extend 1fchbg " Sure!" - n 1nchbg "I'll just walk you through it just in case,{w=0.1} 'kay?" + n 3nchbg "I'll just walk you through it just in case,{w=0.1} 'kay?" # Reset configuration state $ persistent._jn_weather_api_configured = False @@ -797,7 +799,7 @@ label talk_weather_setup_main: "Can you try testing everything I've told you again?" if persistent._jn_weather_api_key and persistent._jn_player_latitude_longitude: # Retry verification - n 1unmaj "You just want me to try testing it all again?{w=0.75}{nw}" + n 4unmaj "You just want me to try testing it all again?{w=0.75}{nw}" extend 1fchbgeme " Right-o!" # Reset configuration state @@ -809,74 +811,74 @@ label talk_weather_setup_main: "Nevermind.": # Cancel n 1tsqpu "Uh...{w=0.5}{nw}" - extend 1tsrpu " huh." + extend 2tsrpu " huh." n 1fchbg "Well,{w=0.1} your loss,{w=0.3} [player]!" - extend 1fchsm " Ehehe." + extend 4fchsm " Ehehe." return else: # Introduction - n 1fslbo "..." - n 1fcsem "Urgh...{w=1.5}{nw}" - extend 1fsrem " so annoying!" + n 3fslbo "..." + n 3fcsem "Urgh...{w=1.5}{nw}" + extend 4fsrem " so annoying!" n 1fbkwr "Why is this so hard to get right...?!" - n 1fllpo "Stupid...{w=0.5}{nw}" - extend 1fcsan " Nnnnnn-!" + n 2fllpo "Stupid...{w=0.5}{nw}" + extend 2fcsan " Nnnnnn-!" menu: "What's the matter, Natsuki?": - n 1uwdpueqm "Huh?{w=0.5}{nw}" - extend 1uwdajesu " Oh!{w=0.5} [player]!{w=1}{nw}" + n 4uwdpueqm "Huh?{w=0.5}{nw}" + extend 4uwdajesu " Oh!{w=0.5} [player]!{w=1}{nw}" extend 1fllbgsbr " I'm glad you asked!" "What're you complaining about?": n 1fwdemesh "...!{w=0.5}{nw}" - n 1fcsgs "Well,{w=0.1} your attitude,{w=0.1} for one thing!{w=1}{nw}" - extend 1fslca " Anyway..." + n 2fcsgs "Well,{w=0.1} your attitude,{w=0.1} for one thing!{w=1}{nw}" + extend 2fslca " Anyway..." n 1ullaj "So...{w=0.5}{nw}" extend 1flrss " I'm not really one to just sit around and admire the view." - n 1nsqbo "But seriously,{w=0.1} [player]...{w=1}{nw}" - extend 1fllpo " it's super boring out there!" - n 1nsqpo "Outside the room,{w=0.1} I mean.{w=1}{nw}" + n 4nsqbo "But seriously,{w=0.1} [player]...{w=1}{nw}" + extend 2fllpo " it's super boring out there!" + n 2nsqpo "Outside the room,{w=0.1} I mean.{w=1}{nw}" extend 1fbkwr " Nothing ever changes!" n 1ulraj "But...{w=1}{nw}" extend 1fchbg " I've been doing a little tinkering,{w=0.1} and I think I found a way to make things a little more dynamic!" - n 1fslsr "I just can't get it all to work properly..." + n 3fslsr "I just can't get it all to work properly..." n 1fcsem "It's just...{w=1}{nw}" extend 1fcssr " it's really bugging me.{w=1}{nw}" - extend 1fslan " I hate it when I can't get stuff to go right!" + extend 2fslan " I hate it when I can't get stuff to go right!" menu: "Perhaps I could help?": - n 1unmpu "Huh?{w=0.5}{nw}" + n 1uwdpu "Huh?{w=0.5}{nw}" extend 1unmbg " Really?!{w=0.5}{nw}" - extend 1uchbs " Thanks,{w=0.1} [player]!" - n 1fllssl "N-{w=0.3}not that I was {i}waiting{/i} for help,{w=0.1} {i}obviously{/i}!" + extend 4nchbs " Thanks,{w=0.1} [player]!" + n 4fllssl "N-{w=0.3}not that I was {i}waiting{/i} for help,{w=0.1} {i}obviously{/i}!" "What do I have to do?": - n 1fcsem "Jeez,{w=0.1} [player]...{w=0.3}" - extend 1fsqpo " what's with the attitude today?" - n 1kslpo "I'm {i}trying{/i} to do something nice here..." + n 2fcsem "Jeez,{w=0.1} [player]...{w=0.3}" + extend 2fsqpo " what's with the attitude today?" + n 4kslpo "I'm {i}trying{/i} to do something nice here..." n 1ullaj "Well,{w=0.1} anyway..." - n 1fllss "What I'm {i}trying{/i} to do is add some atmosphere to this place,{w=1}{nw}" + n 4fslss "What I'm {i}trying{/i} to do is add some atmosphere to this place,{w=1}{nw}" extend 1fsqsm " and what better way to do that than..." n 1fchbg "Some actual weather!" n 1nsqsl "And not {i}just{/i} some randomly changing thing..." - n 1ulraj "I wanna set things up so the weather here matches what it's like where you are,{w=0.1} [player]." + n 2ulraj "I wanna set things up so the weather here matches what it's like where you are,{w=0.1} [player]." n 1fcsbg "I know{w=0.1} -{w=0.5}{nw}" - extend 1fchbg " awesome,{w=0.1} right?" + extend 4fwlbg " awesome,{w=0.1} right?" n 1ullaj "But...{w=1}{nw}" - extend 1nnmbo " I need you to go to this website I found." + extend 4nnmbo " I need you to go to this website I found." n 1kchbg "Don't worry,{w=0.1} I won't make you go search for it.{w=1}{nw}" - extend 1uchgn " I'm not {i}that{/i} mean!" + extend 1kchbgess " I'm not {i}that{/i} mean!" n 1unmss "It's called OpenWeatherMap,{w=0.5}{nw}" extend 1uchbg " and it's {i}super{/i} cool!{w=1}{nw}" - extend 1fcssm " It's just what I need to make this work." + extend 3fcssm " It's just what I need to make this work." n 1fllss "I'll need a little time to get this all set up,{w=0.1} though.{w=1}{nw}" - extend 1ulraj " So..." + extend 4ulraj " So..." menu: n "Are you okay if we get started now,{w=0.1} [player]?" @@ -888,52 +890,52 @@ label talk_weather_setup_main: "I can't right now.": n 1nnmbo "Oh.{w=1.5}{nw}" - extend 1nllss " Well..." - n 1nllaj "Just let me know when you have the time,{w=0.1} 'kay?" - n 1fcsbg "It'll be {i}super{/i} worth it!" + extend 4nllsssbl " Well..." + n 1nsldv "Just let me know when you have the time,{w=0.1} 'kay?" + n 3fcsbg "It'll be {i}super{/i} worth it!" return label talk_weather_setup_api_key: # Direct the player to the website - n 1nchbg "Okaaay!{w=1}{nw}" - extend 1fchbg " Let's get started!" + n 1nnmss "Okaaay!{w=1}{nw}" + extend 3fchbg " Let's get started!" n 1ullaj "So like I said{w=0.1} -{w=0.3}{nw}" extend 1unmaj " the website is called OpenWeatherMap.{w=1}{nw}" - extend 1nnmsm " You can get there from {a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_HOME]}here{/a}!" + extend 4nnmsm " You can get there from {a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_HOME]}here{/a}!" n 1ulraj "So..." menu: n "Do you have the website open,{w=0.1} [player]?" "Yes, I have the website open.": - n 1nchbg "Awesome!{w=0.5}{nw}" - extend 1nchgn " Step one complete!" + n 1nchbs "Awesome!{w=0.5}{nw}" + extend 4nwlbg " Step one complete!" "No, I couldn't get to the website.": - n 1tnmaj "Huh?{w=1} Why not?{w=1}{nw}" + n 4tnmaj "Huh?{w=1} Why not?{w=1}{nw}" extend 1tnmsr " Is it down or something?" - n 1tslaj "Well...{w=1}{nw}" - extend 1tnmss " Maybe we can try this again later?" - n 1fllss "Just let me know when you're ready!" + n 2tslaj "Well...{w=1}{nw}" + extend 2tnmss " Maybe we can try this again later?" + n 1fllsssbr "Just let me know when you're ready!" jump ch30_loop # Prompt the player to create an account n 1nchbg "'Kay!{w=0.5}{nw}" - extend 1fcssm " Now for step two!" + extend 3fcssm " Now for step two!" n 1nllaj "Basically I need something called an API key,{w=1}{nw}" extend 1nnmbo " which will let me use that website to find out what the weather is like over there." - n 1fslbo "But I can't do that myself...{w=1.5}{nw}" + n 3fslbo "But I can't do that myself...{w=1.5}{nw}" extend 1fchsm " which is where you come in,{w=0.1} [player]!" n 1nlrss "You'll need to make an account before you can get an API key." - extend 1kchbg " It's totally free though!" + extend 1kchbgess " It's totally free though!" n 1ullaj "You can create an account {a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_SIGN_UP]}here{/a},{w=1}{nw}" extend 1nnmsm " or you can sign in using the menu at the top." - n 1fcsaj "Just make sure to go through all the options carefully{w=0.1} -{w=0.5}{nw}" - extend 1nsqpo " don't just dash through it!" + n 3fcsaj "Just make sure to go through all the options carefully{w=0.1} -{w=0.5}{nw}" + extend 3nsqpo " don't just dash through it!" n 1unmaj "Oh{w=0.1} -{w=0.5}{nw}" extend 1flrss " and make sure you confirm your email address once you've created it,{w=0.1} 'kay?" - n 1nchbg "{a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_SIGN_UP]}Here's{/a} that link once more,{w=0.1} just in case!" + n 4nchbg "{a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_SIGN_UP]}Here's{/a} that link once more,{w=0.1} just in case!" n 1fnmsm "Now..." menu: @@ -941,25 +943,25 @@ label talk_weather_setup_api_key: "Yes, I have an account set up.": n 1fchsm "Awesome!" - n 1tllss "You'll probably want to make sure you save your login details somewhere secure,{w=0.5}{nw}" - extend 1fchsm " juuuust in case." + n 3tllss "You'll probably want to make sure you save your login details somewhere secure,{w=0.5}{nw}" + extend 4fchsm " juuuust in case." n 1fchts "Don't forget to confirm your email address too!" n 1fsqsm "Now,{w=0.1} here comes the challenging part..." "I already had an account set up.": n 1fchsm "Awesome!{w=0.5}{nw}" - extend 1fchsm " The rest of this should be a piece of cake!" + extend 3fwlbg " The rest of this should be a piece of cake!" # API Key # Prompt the player for an API key n 1usqsm "Are you ready,{w=0.1} [player]?" n 1fchsm "You need to get your API key and send it to me!" - n 1ullss "You can find your keys {a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_API_KEYS]}here{/a},{w=1}{nw}" + n 4ullss "You can find your keys {a=[store.jn_globals.LINK_OPEN_WEATHER_MAP_API_KEYS]}here{/a},{w=1}{nw}" extend 1unmaj " or you can get there using the menu like before." - n 1tsqsm "You got all that?" - n 1fsqsm "Ehehe.{w=0.5}{nw}" - extend 1fchbg " Then take it away,{w=0.1} [player]!" + n 3tsqsm "You got all that?" + n 3fsqsm "Ehehe.{w=0.5}{nw}" + extend 4fchbg " Then take it away,{w=0.1} [player]!" $ player_input_valid = False @@ -969,12 +971,12 @@ label talk_weather_setup_api_key: $ player_input = renpy.input("Enter your API key (or type Nevermind to go back):") if not player_input or player_input == "": - n 1tsqsm "I {i}thought{/i} I asked for an {i}API key{/i},{w=0.1} [player]?" - extend 1fchbl " Try again!" + n 3tsqsm "I {i}thought{/i} I asked for an {i}API key{/i},{w=0.1} [player]?" + extend 4fchbl " Try again!" elif player_input.replace(" ", "").lower() == "nevermind": # Allow the player to back out - n 1tnmaj "Huh?{w=0.2} You don't wanna continue?" + n 4tnmaj "Huh?{w=0.2} You don't wanna continue?" n 1tllbo "That's fine,{w=0.1} I guess." n 1fcsbg "Just let me know when you're ready,{w=0.1} 'kay?" @@ -990,10 +992,10 @@ label talk_weather_setup_api_key: label talk_weather_setup_location: n 1fsqbg "Now for the final piece of the puzzle..." - n 1uchbg "...Your location,{w=0.1} obviously!" + n 4uchss "...Your location,{w=0.1} obviously!" n 1ullaj "There's a couple ways to do this,{w=1}{nw}" extend 1nnmsm " but I thought it'd be best to just ask." - n 1ulraj "So..." + n 4ulraj "So..." menu: n "How do you wanna tell me, [player]?" @@ -1005,20 +1007,20 @@ label talk_weather_setup_location: $ ip_latitude_longitude = jn_atmosphere.getLatitudeLongitudeByIpAddress() if not ip_latitude_longitude: # We couldn't get the coordinates via IP, so we have to prompt them via the player - n 1fslpu "...Huh." - n 1knmpo "I {i}tried{/i} to look you up, but I couldn't find anything!" - n 1flrpo "..." + n 2fslpu "...Huh." + n 2knmpo "I {i}tried{/i} to look you up, but I couldn't find anything!" + n 2flrpo "..." n 1tlraj "Well..." - extend 1tllbg " looks like we're gonna have to do things the old-fashioned way,{w=0.1} [player]." + extend 1tllbgsbl " looks like we're gonna have to do things the old-fashioned way,{w=0.1} [player]." jump talk_weather_setup_manual_coords else: # Success, confirm with player - n 1nwdbg "Aha!{w=0.5}{nw}" + n 4fsgss "Aha!{w=0.5}{nw}" extend 1uchbg " I think I got it!" - n 1nwlbg "Now...{w=0.3} wanna see something awesome, [player]?{w=1}{nw}" - extend 1fsqsm " I know you do." + n 3nwlbg "Now...{w=0.3} wanna see something awesome, [player]?{w=1}{nw}" + extend 3fsqsm " I know you do." n 1ncsbo "...{w=1}{nw}" python: @@ -1034,11 +1036,11 @@ label talk_weather_setup_location: if show_map_success: n 1fchbg "Ta-da!{w=0.5} Found you!" n 1fsqsm "..." - n 1tsqsm "Well?{w=1}{nw}" - extend 1tsqss " Am I right or what, [player]?" + n 3tsqsm "Well?{w=1}{nw}" + extend 3tsqss " Am I right or what, [player]?" menu: "Yes, you found me.": - n 1fcsbg "Like a pro!" + n 4fcsbg "Like a pro!" extend 1fcssm " Ehehe." n 1fllss "I'll just note those down real quick..." @@ -1046,37 +1048,37 @@ label talk_weather_setup_location: jump talk_weather_setup_verify "No, that's not right.": - n 1fnmgs "What?{w=0.2} Are you kidding me!?" - n 1flrsl "Ugh..." - n 1nlrpu "And I was so proud of myself for figuring that out,{w=0.1} too..." + n 2fnmgs "What?{w=0.2} Are you kidding me!?" + n 2flrsl "Ugh..." + n 4nlrpu "And I was so proud of myself for figuring that out,{w=0.1} too..." n 1nnmss "Well,{w=0.1} it looks like we're gonna have to do things the old-fashioned way." jump talk_weather_setup_manual_coords else: - n 1fnmaj "Eh?{w=0.2} What the...?" + n 4fnmaj "Eh?{w=0.2} What the...?" n 1nnmpu "Huh.{w=0.2} Weird." n 1nlrss "Well,{w=0.1} I {i}was{/i} gonna show you something neat,{w=0.5}{nw}" - extend 1nslpo " but it looks like something messed up." - n 1nlrss "Hey,{w=0.1} [player]...{w=0.3}" + extend 3nslpo " but it looks like something messed up." + n 4nlrss "Hey,{w=0.1} [player]...{w=0.3}" extend 1flrbg " could you look these coordinates up and tell me if I got it right?" - n 1tslbo "I'm {i}pretty{/i} sure your latitude is [ip_latitude_longitude[0]],{w=0.1} and your longitude is [ip_latitude_longitude[1]]." + n 4tslbo "I'm {i}pretty{/i} sure your latitude is [ip_latitude_longitude[0]],{w=0.1} and your longitude is [ip_latitude_longitude[1]]." n 1nllbo "..." - n 1tnmss "Well,{w=0.3} [player]?" + n 4tnmss "Well,{w=0.3} [player]?" menu: n "How're we looking?" "Yes, that looks good to me.": n 1kchbg "Phew!" - extend 1nsldv " I was kinda worried I'd have to get a little more creative..." + extend 2nsldv " I was kinda worried I'd have to get a little more creative..." $ persistent._jn_player_latitude_longitude = ip_latitude_longitude jump talk_weather_setup_verify "No, that's not right.": - n 1fcsan "Uuuuuuu..." - n 1nslpo "Fine.{w=1}{nw}" - extend 1usqpo " It looks like we're gonna have to do things the old-fashioned way." + n 4fcsan "Uuuuuuu..." + n 2nslpo "Fine.{w=1}{nw}" + extend 2usqpo " It looks like we're gonna have to do things the old-fashioned way." jump talk_weather_setup_manual_coords @@ -1086,8 +1088,8 @@ label talk_weather_setup_location: jump talk_weather_setup_manual_coords "Nevermind.": - n 1fllpo "Well...{w=1}{nw}" - extend 1nslpo " fine." + n 2fllpo "Well...{w=1}{nw}" + extend 4nslpo " fine." n 1fchbg "Just let me know when you wanna go through all this again,{w=0.1} 'kay?" jump ch30_loop @@ -1096,9 +1098,9 @@ label talk_weather_setup_manual_coords: n 1ulraj "So,{w=0.3}{nw}" extend 1nnmbo " I'm going to need to know a few things to find out where you are." n 1flrss "Let's start off with the basics{w=0.1} -{w=0.5}{nw}" - extend 1fchsm " Hemispheres!" + extend 4fchsm " Hemispheres!" n 1unmaj "Do you live in the {b}Northern{/b} or {b}Southern{/b} Hemisphere?" - n 1nllss "Just in case you didn't know,{w=0.1} it basically just means if you live {b}North{/b} or {b}South{/b} of the {b}equator{/b}." + n 3nllss "Just in case you didn't know,{w=0.1} it basically just means if you live {b}North{/b} or {b}South{/b} of the {b}equator{/b}." n 1nllaj "So..." show natsuki 1tsqsm at jn_center menu: @@ -1110,19 +1112,19 @@ label talk_weather_setup_manual_coords: n 1unmaj "The Northern Hemisphere?{w=1}{nw}" extend 1flrbg " Well hey!{w=1}{nw}" - extend 1fchbg " Just like me!" + extend 4fchbg " Just like me!" "The Southern Hemisphere.": $ player_in_southern_hemisphere = True $ persistent.hemisphere_north_south = "South" n 1unmaj "The Southern Hemisphere?{w=1}{nw}" - extend 1fchbg " Gotcha!" + extend 4fchbg " Gotcha!" n 1uchbg "Okay,{w=0.1} now time for the other two!" n 1tnmss "Do you live in the {b}Eastern{/b} or {b}Western{/b} Hemisphere?" n 1ulraj "This one's a little more tricky,{w=0.1} but I find it helps to think of it this way:" - n 1nnmbo "If we took a world map and cut it in half {b}vertically{/b} down the middle..." + n 4nnmbo "If we took a world map and cut it in half {b}vertically{/b} down the middle..." show natsuki 1unmaj at jn_center menu: n "Would you live in the {b}Eastern half{/b},{w=0.1} or the {b}Western half{/b}?" @@ -1134,7 +1136,7 @@ label talk_weather_setup_manual_coords: if not player_in_southern_hemisphere: n 1unmbg "Wow!{w=1}{nw}" extend 1fchbg " Just like me again,{w=0.1} [player]!" - n 1tslss "It really is a small world,{w=0.1} huh?" + n 2tslss "It really is a small world,{w=0.1} huh?" else: n 1fchbg "Well hey!{w=0.5} Just like me!" @@ -1146,13 +1148,13 @@ label talk_weather_setup_manual_coords: n 1fchbg "The Western half.{w=0.5} Gotcha!" # Get the latitude - n 1fllss "Now with that out of the way,{w=0.1} I just need your coordinates!" - n 1fsqss "And by those,{w=0.5}{nw}" + n 4fllss "Now with that out of the way,{w=0.1} I just need your coordinates!" + n 3fsqsm "And by those,{w=0.5}{nw}" extend 1fchsm " I mean your {b}latitude{/b} and {b}longitude{/b}!" n 1ullaj "I always used {a=[store.jn_globals.LINK_LAT_LONG_HOME]}this{/a} website to look mine up for homework,{w=0.1} but you can use your phone or whatever too." - n 1unmaj "Oh,{w=0.3}{nw}" + n 4unmaj "Oh,{w=0.3}{nw}" extend 1fnmbo " and don't worry about making it positive or negative.{w=1}{nw}" - extend 1fcssm " I'll take care of that!" + extend 3fcssm " I'll take care of that!" n 1ullss "We'll start off with your {b}latitude{/b} first." n 1fchsm "So...{w=0.3} take it away!" $ player_latitude = renpy.input(prompt="Enter your {b}latitude{/b}:", allow="0123456789.") @@ -1160,7 +1162,7 @@ label talk_weather_setup_manual_coords: # Get the longitude n 1fchbg "Alright!{w=0.5}{nw}" extend 1nchsm " Now finally,{w=0.1} I just need your {b}longitude{/b}!" - n 1fcssm "Just like last time,{w=0.1} I can figure it out without any positive or negative symbols." + n 3fcssm "Just like last time,{w=0.1} I can figure it out without any positive or negative symbols." n 1fchsm "Take it away,{w=0.1} [player]!" $ player_longitude = renpy.input("Enter your {b}longitude{/b}:", allow="0123456789.") @@ -1175,7 +1177,7 @@ label talk_weather_setup_manual_coords: player_latitude = float(player_latitude) player_longitude = float(player_longitude) - n 1fcssm "'Kay!" + n 3fcssm "'Kay!" extend 1fchsm " I think we're nearly there now,{w=0.1} [player]!" extend 1fcsbg " Let me just open up a map real quick...{w=1}{nw}" @@ -1191,23 +1193,23 @@ label talk_weather_setup_manual_coords: if show_map_success: n 1uchgn "Ta-da!" - n 1fnmbg "How about it,{w=0.1} [player]?{w=1}{nw}" + n 4fnmbg "How about it,{w=0.1} [player]?{w=1}{nw}" menu: n "Close enough,{w=0.1} right?" "Yes, that's close enough.": n 1fchbg "Finally!{w=1}{nw}" - extend 1nchsm " I'll just note all that down real quick..." + extend 4nchsm " I'll just note all that down real quick..." $ persistent._jn_player_latitude_longitude = (player_latitude, player_longitude) jump talk_weather_setup_verify "No, that's not right at all.": n 1tnmem "What?{w=0.2} Really?!" - n 1fcsem "Ugh..." - n 1fcsaj "Let's...{0.5} try again,{w=0.1} alright?{w=1}{nw}" - extend 1fnmpo " I really wanna get this working!" + n 3fcsem "Ugh..." + n 4fcsaj "Let's...{0.5} try again,{w=0.1} alright?{w=1}{nw}" + extend 2fnmpo " I really wanna get this working!" jump talk_weather_setup_manual_coords @@ -1215,46 +1217,46 @@ label talk_weather_setup_manual_coords: n 1fllaj "Urgh...{w=0.3} really?{w=0.2} This is {i}such{/i} a pain!" n 1nlrsl "I can't seem to show you where I think you are on a map,{w=0.1} so I'll just ask to make sure." n 1nnmss "I've done some checks to work out the coordinates,{w=0.1} and from what you said..." - n 1nnmaj "Your overall latitude would be [player_latitude],{w=0.1} and your overall longitude would be [player_longitude]." + n 4nnmaj "Your overall latitude would be [player_latitude],{w=0.1} and your overall longitude would be [player_longitude]." menu: n "Is [player_latitude], [player_longitude] correct?" "Yes, that's right.": - n 1fcsem "Finally!{w=1}{nw}" - extend 1kslpo " Jeez..." + n 3fcsem "Finally!{w=1}{nw}" + extend 3kslpo " Jeez..." $ persistent._jn_player_latitude_longitude = (player_latitude, player_longitude) jump talk_weather_setup_verify "No, that's still not right.": - n 1tnmem "What?{w=0.2} Really?!" - n 1fcsem "Ugh..." + n 3tnmem "What?{w=0.2} Really?!" + n 3fcsem "Ugh..." n 1fcsaj "Let's...{0.5} try again,{w=0.1} alright?{w=1}{nw}" - extend 1fnmpo " I really wanna get this working!" + extend 4fnmpo " I really wanna get this working!" jump talk_weather_setup_manual_coords "Nevermind.": - n 1fllpo "Jeez...{w=1}{nw}" + n 3fllpo "Jeez...{w=1}{nw}" extend 1tlrss " what a mess,{w=0.1} huh?" n 1fcspo "..." n 1nllaj "Well,{w=0.1} thanks anyway.{w=1}{nw}" extend 1nnmaj " We can always try again later,{w=0.5}{nw}" - extend 1tnmss " right?" + extend 4tnmss " right?" jump ch30_loop label talk_weather_setup_verify: n 1nchbg "Okaaay!{w=1}{nw}" - extend 1fnmsm " I think we're almost done now,{w=0.1} [player]!" + extend 4fnmsm " I think we're almost done now,{w=0.1} [player]!" n 1ncsbo "Let me just check everything is in order here...{w=1.5}{nw}" if jn_atmosphere.getWeatherFromApi(): n 1fchbg "Yes!" extend 1uchbs " It's working,{w=0.5} it's working!{w=1}{nw}" - extend 1nchsml " Ehehe." + extend 4nchsml " Ehehe." n 1nchbgl "Thanks a bunch,{w=0.1} [player]!{w=1}{nw}" - extend 1uchgnledz " This is gonna be {i}super{/i} awesome!" + extend 3uchgnledz " This is gonna be {i}super{/i} awesome!" $ Natsuki.calculatedAffinityGain() python: @@ -1264,21 +1266,21 @@ label talk_weather_setup_verify: else: n 1fcsaj "Oh,{w=0.5}{nw}" - extend 1fllan " come {i}on!{/i}" + extend 2fllan " come {i}on!{/i}" n 1fcsem "Ugh..." - n 1fslem "And I was so stoked about it,{w=0.1} too..." + n 3fslem "And I was so stoked about it,{w=0.1} too..." n 1fcsem "I'm sorry,{w=0.1} [player].{w=1}{nw}" - extend 1knmemsbl " I can't get it all to work!" - n 1fsrem "Talk about a disappointment..." - n 1nsrposbl "..." + extend 4knmemsbl " I can't get it all to work!" + n 2fsrem "Talk about a disappointment..." + n 2nsrposbl "..." n 1unmgsesu "Ah!{w=0.5}{nw}" extend 1fnmgs " I just thought of something!" - n 1tnmpueqm "Did you have to make a new account for OpenWeatherMap,{w=0.2} [player]?{w=0.75}{nw}" - extend 1tslbo " Or like,{w=0.2} did you make a new API key?" + n 4tnmpueqm "Did you have to make a new account for OpenWeatherMap,{w=0.2} [player]?{w=0.75}{nw}" + extend 4tslbo " Or like,{w=0.2} did you make a new API key?" n 1tnmss "I...{w=1}{nw}" - extend 1fsrdvsbr " kinda spaced out a little when you told me before.{w=0.75}{nw}" + extend 4fsrdvsbr " kinda spaced out a little when you told me before.{w=0.75}{nw}" extend 1nlrajsbr " So..." - show natsuki 1tnmslsbr at jn_center + show natsuki 2tnmslsbr at jn_center menu: n "Do you remember?{w=0.3} Like,{w=0.2} at all?" @@ -1291,32 +1293,32 @@ label talk_weather_setup_verify: "I already had an account, and used an existing API key.": $ new_account_or_key = False - n 1tslpusbr "...Huh." + n 2tslpusbr "...Huh." n 1tslsr "I'm...{w=0.75}{nw}" extend 1kcsemesisbl " kinda stumped then,{w=0.2} actually." - n 1tsrsl "I mean..." - n 1tnmpueqm "Maybe you just gave me the wrong key...?" + n 3tsrsl "I mean..." + n 4tnmpueqm "Maybe you just gave me the wrong key...?" extend 1fchbgsbl " Or your internet just isn't feeling it today?" n 1nslsssbl "I don't know." n 1fllsssbl "Just...{w=0.5}{nw}" - extend 1knmsssbr " let me know when if you wanna try again,{w=0.2} 'kay?" + extend 4knmsssbr " let me know when if you wanna try again,{w=0.2} 'kay?" n 1knmcaesssbr "It'll be awesome!{w=0.5}{nw}" - extend 1knmpolesssbr " I-{w=0.3}I promise!" + extend 2knmpolesssbr " I-{w=0.3}I promise!" if new_account_or_key: n 1tslbo "So you did,{w=0.2} huh..." - n 1fslpuesp "..." + n 4fslpuesp "..." n 1unmgsesu "Oh!{w=0.5}{nw}" extend 1fsrdvsbl " Right!" - n 1fsrsssbl "I forgot to say..." - n 1fsldvsbr "It might take a day or so for your API key to actually {i}activate{/i} so I can use it..." + n 2fsrsssbl "I forgot to say..." + n 2fsldvsbr "It might take a day or so for your API key to actually {i}activate{/i} so I can use it..." n 1kchsssbr "Ehehe.{w=0.5}{nw}" extend 1fchblsbl " Oops!" n 1fllsssbl "Just...{w=0.5}{nw}" - extend 1knmsssbr " let me know when you wanna try again,{w=0.2} 'kay?" - n 1fnmcasbr "I really wanna get this all working!" + extend 4knmsssbr " let me know when you wanna try again,{w=0.2} 'kay?" + n 4fnmcasbr "I really wanna get this all working!" n 1fcstr "Because when I do,{w=0.2} you bet it's gonna be{w=0.3}{nw}" - extend 1fspgsledz " {i}awesome{/i}!" + extend 4fspgsledz " {i}awesome{/i}!" jump ch30_loop @@ -1340,53 +1342,53 @@ label talk_favourite_season: # Player hasn't given their favourite season before if not persistent.jn_player_favourite_season: - n 1tllss "That's a little random,{w=0.1} isn't it?" + n 4tllss "That's a little random,{w=0.1} isn't it?" n 1tnmss "Well...{w=0.3} anyway.{w=0.3}{nw}" - extend 1fnmaw " Tough question, [player]!" - n 1fsrsl "I think if I had to pick..." + extend 4fnmaw " Tough question, [player]!" + n 3fsrsl "I think if I had to pick..." n 1fchts "It'd be summer!{w=0.2} Duh!" - n 1fsqss "Why?{w=0.5}{nw}" + n 3fsqss "Why?{w=0.5}{nw}" extend 1fchgn " Just think about it,{w=0.1} [player]!" - n 1ullbg "Long trips to the beach...{w=0.5}{nw}" - extend 1ncssm " ice cream in the shade...{w=0.5}{nw}" - extend 1ksrss " lazy evening walks to the shops..." + n 4ullbg "Long trips to the beach...{w=0.5}{nw}" + extend 4ncssm " ice cream in the shade...{w=0.5}{nw}" + extend 4ksrss " lazy evening walks to the shops..." n 1flleml "I-{w=0.1}I mean,{w=0.3}{nw}" extend 1fllbgl " what's not to love?" n 1fchbg "I can just enjoy life out there without having to worry about the weather!" n 1usqsg "I don't think I need to make my case any more clear,{w=0.1} do I?{w=0.5}{nw}" - extend 1uchsm " Ahaha." + extend 4uchsm " Ahaha." n 1unmaj "Although...{w=0.3} what about you,{w=0.1} [player]?" menu: n "What's your favourite season?" "Spring": n 1fnmss "Oh?{w=0.2} Spring,{w=0.1} huh?" - n 1tllsr "Hmmm..." + n 3tllsr "Hmmm..." n 1unmss "I mean,{w=0.1} I kinda get it.{w=0.2} It's the sign winter finally got lost,{w=0.1} right?" n 1ulrss "And I suppose the flowers blooming again is kinda cool to see." - n 1fsqan "But the rain!{w=0.2} Jeez!{w=0.5}{nw}" + n 3fsqan "But the rain!{w=0.2} Jeez!{w=0.5}{nw}" extend 1fcspu " It just never stops!" - n 1fllpo "Roll on summer,{w=0.1} I say." + n 3fllpo "Roll on summer,{w=0.1} I say." $ persistent.jn_player_favourite_season = "Spring" "Summer": n 1fsgbg "Aha!{w=0.2} I knew it!" - n 1fsqbg "Nobody can resist some fun in the sun,{w=0.1} am I right?" + n 4fsqbg "Nobody can resist some fun in the sun,{w=0.1} am I right?" n 1fnmbg "I'm glad we both agree,{w=0.1} [player].{w=0.5}{nw}" - extend 1fchsm " Ehehe." + extend 3fchsm " Ehehe." $ persistent.jn_player_favourite_season = "Summer" "Autumn": n 1unmaj "Autumn?{w=0.5}{nw}" - extend 1nllaj " Not a bad choice,{w=0.1} actually!" + extend 4nllaj " Not a bad choice,{w=0.1} actually!" n 1ullsm "I like when it's still warm enough in the day to go out and do things..." - n 1ucsss "But you also get that crisp,{w=0.1} fresh morning air to wake you up." + n 4ucsss "But you also get that crisp,{w=0.1} fresh morning air to wake you up." n 1ullaj "The falling leaves are super pretty too." - n 1fcsan "It's just...{w=0.5}{nw}" - extend 1fsrsr " it's all ruined when the rain comes,{w=0.1} you know?" - n 1fsqsr "Trudging through all those sloppy leaves is just gross.{w=0.5}{nw}" + n 2fcsan "It's just...{w=0.5}{nw}" + extend 4fsrsr " it's all ruined when the rain comes,{w=0.1} you know?" + n 2fsqsr "Trudging through all those sloppy leaves is just gross.{w=0.5}{nw}" extend 1fcssf " No thanks!" $ persistent.jn_player_favourite_season = "Autumn" @@ -1394,20 +1396,20 @@ label talk_favourite_season: "Winter": n 1tnmsf "Huh?{w=0.2} Really?" n 1tnmaj "Winter is the last thing I expected you to say,{w=0.1} [player]!" - n 1tlrbo "Though...{w=0.3} I get it, kinda." + n 4tlrbo "Though...{w=0.3} I get it, kinda." n 1fcsbg "It's the perfect time of year to get super snug and spend some quality reading time!" - n 1fslss "Especially since there's not much you can do outside,{w=0.1} anyway." + n 2fslss "Especially since there's not much you can do outside,{w=0.1} anyway." $ persistent.jn_player_favourite_season = "Winter" # Player has already shared their favourite season else: n 1tllbo "Hang on...{w=0.5}{nw}" - extend 1tnmss " didn't we talk about this before,{w=0.1} [player]?" + extend 4tnmss " didn't we talk about this before,{w=0.1} [player]?" n 1nlrpu "Well,{w=0.1} anyway..." n 1ucsbg "I still love summer,{w=0.1} as you know{w=0.1} -{w=0.3}{nw}" - extend 1fcsbg " and nothing's gonna change that any time soon!" - n 1tsqsg "What about you,{w=0.1} [player]?" + extend 3fcsbg " and nothing's gonna change that any time soon!" + n 4tsqsg "What about you,{w=0.1} [player]?" menu: n "Still rooting for [persistent.jn_player_favourite_season]?" "Yes.": @@ -1417,12 +1419,12 @@ label talk_favourite_season: n 1uchbg "You already picked the best season,{w=0.1} after all!" else: - n 1fllss "Well...{w=0.3} I'm afraid you're not gonna sway me!{w=0.5}{nw}" + n 4fllss "Well...{w=0.3} I'm afraid you're not gonna sway me!{w=0.5}{nw}" extend 1uchbg " Ahaha!" "No.": - n 1tsgbg "Oh?{w=0.2} Changed our mind,{w=0.1} have we?" - n 1tsqss "Well?{w=0.5}{nw}" + n 3tsgbg "Oh?{w=0.2} Changed our mind,{w=0.1} have we?" + n 3tsqss "Well?{w=0.5}{nw}" extend 1fchbg " Tell me then,{w=0.1} [player]!" menu: n "What's your favourite season?" @@ -1442,18 +1444,18 @@ label talk_favourite_season: $ season_preference_changed = False if persistent.jn_player_favourite_season == new_favourite_season: n 1fnmgs "Hey!{w=0.2} [player]!" - n 1fsqpo "I thought you said you'd changed your mind?" - n 1fllem "You haven't changed your mind at all!{w=0.2} You said [persistent.jn_player_favourite_season] last time,{w=0.1} too!" + n 3fsqpo "I thought you said you'd changed your mind?" + n 3fllem "You haven't changed your mind at all!{w=0.2} You said [persistent.jn_player_favourite_season] last time,{w=0.1} too!" $ chosen_tease = jn_utils.getRandomTease() n 1fcsem "Jeez...{w=0.5}{nw}" - extend 1fnmpo " you're such a wind-up sometimes,{w=0.1} [chosen_tease]!" + extend 2fnmpo " you're such a wind-up sometimes,{w=0.1} [chosen_tease]!" if Natsuki.isAffectionate(higher=True): - n 1flrpol "N-{w=0.1}not that I {i}dislike{/i} that side of you,{w=0.1} o-{w=0.1}or anything." + n 2flrpol "N-{w=0.1}not that I {i}dislike{/i} that side of you,{w=0.1} o-{w=0.1}or anything." else: n 1fsqsm "But...{w=0.3} I think I can {i}weather{/i} it." - n 1fsrss "For now." + n 4fsrss "For now." else: $ persistent.jn_player_favourite_season = new_favourite_season @@ -1462,28 +1464,28 @@ label talk_favourite_season: if season_preference_changed and persistent.jn_player_favourite_season == "Spring": n 1usqss "Ooh?{w=0.2} Favouring Spring now,{w=0.1} [player]?" n 1nlrbo "I could do without all the rain,{w=0.1} but I get it." - n 1flrpu "Hmm...{w=0.3} Spring..." + n 3flrpu "Hmm...{w=0.3} Spring..." n 1tlrbo "I wonder...{w=0.5}{nw}" - extend 1tnmss " do you grow anything,{w=0.1} [player]?" + extend 4tnmss " do you grow anything,{w=0.1} [player]?" n 1fchsm "Ahaha." elif season_preference_changed and persistent.jn_player_favourite_season == "Summer": n 1fchbs "Aha!{w=0.2} See?" - n 1fsqbs "You knew I was right all along,{w=0.1} didn't you?" - n 1usqsg "Don't even try to deny it,{w=0.1} [player].{w=0.5}{nw}" + n 4fsqbs "You knew I was right all along,{w=0.1} didn't you?" + n 3usqsg "Don't even try to deny it,{w=0.1} [player].{w=0.5}{nw}" extend 1fchbg " Summer is the best!" n 1uchsm "I'm just glad you came around.{w=0.2} That's the important thing!" elif season_preference_changed and persistent.jn_player_favourite_season == "Autumn": - n 1usqsm "Oh?{w=0.2} You've taken the {i}fall{/i} for Autumn,{w=0.1} have you?" + n 4usqsm "Oh?{w=0.2} You've taken the {i}fall{/i} for Autumn,{w=0.1} have you?" n 1fchsm "Ehehe." n 1ullss "I'll admit,{w=0.1} it's a pretty season,{w=0.1} with all the golden leaves and stuff..." - n 1nslss "So long as the weather stays warm,{w=0.1} anyway." + n 2nslss "So long as the weather stays warm,{w=0.1} anyway." elif season_preference_changed and persistent.jn_player_favourite_season == "Winter": n 1tllss "Winter,{w=0.1} huh?{w=0.2} I wasn't expecting that." - n 1tnmbo "Do you prefer being indoors now or something,{w=0.1} [player]?" - n 1flrss "Well,{w=0.1} if you prefer being all cosy inside..." + n 3tnmbo "Do you prefer being indoors now or something,{w=0.1} [player]?" + n 4flrss "Well,{w=0.1} if you prefer being all cosy inside..." n 1fsqsm "Then you better not be slacking on your reading,{w=0.1} [player]!{w=0.5}{nw}" extend 1fchsm " Ehehe." @@ -1508,11 +1510,11 @@ label talk_favourite_season: ): n 1flrpu "..." n 1ulraj "Actually,{w=0.3}{nw}" - extend 1fnmss " you know what?" + extend 3fnmss " you know what?" n 1fcsss "Give me a sec here.{w=0.75}{nw}" - extend 1uchgnl " I've got {i}just{/i} the thing!{w=1}{nw}" + extend 3uchgnl " I've got {i}just{/i} the thing!{w=1}{nw}" - show black zorder 4 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(1) play audio zipper $ jnPause(2) @@ -1550,8 +1552,8 @@ label talk_favourite_season: n 1fsqsm "..." n 1tsqssl "...Well,{w=0.2} [player]?{w=1}{nw}" extend 1tcsssl " You gotta admit..." - n 1fsqss "Whatever your preference?" - n 1fcsbgedz "My fashion is {i}always{/i} in-season." + n 3fsqss "Whatever your preference?" + n 4fcsbgedz "My fashion is {i}always{/i} in-season." n 1fchsml "Ehehe." return @@ -1575,30 +1577,30 @@ init 5 python: label talk_time_management: n 1ullaj "Hey,{w=0.1} [player]..." n 1unmaj "Do you have off days sometimes?{w=0.2} Where you struggle to get anything done?" - n 1flrpo "Or you just get distracted super easily?" - n 1unmbo "To be honest?{nw}" - extend 1fllss "{w=0.2} I struggled with that for a while.{nw}" - extend 1fbkwr "{w=0.2} Especially when things like assignments are so boring!" + n 3flrpo "Or you just get distracted super easily?" + n 4unmbo "To be honest?{nw}" + extend 3fllss "{w=0.2} I struggled with that for a while.{nw}" + extend 3fbkwr "{w=0.2} Especially when things like assignments are so boring!" n 1nllaj "But...{w=0.5}{nw}" extend 1fllbg " I figured out a way of managing that{w=0.1} -{w=0.1} and you should know it too,{w=0.1} [player]!" n 1fchbg "Time boxing!" - n 1nsqpo "And no,{w=0.1} it's not as literal as it sounds." + n 3nsqpo "And no,{w=0.1} it's not as literal as it sounds." n 1nnmaj "The idea is that you set aside a period during the day you want to work{w=0.1} -{w=0.1} like the school day,{w=0.1} or a few hours in the evening." - n 1fnmbg "Then for each hour in that period,{w=0.1} you split it!" + n 4fnmbg "Then for each hour in that period,{w=0.1} you split it!" n 1ulraj "So for any given hour,{w=0.1} you spend most of that working,{w=0.1} and the remainder on some kind of break." n 1unmss "The idea is that it becomes way easier to stay focused and motivated since you always have a breather coming up." n 1uchsm "Personally,{w=0.1} I find a 50/10 split works best for me." - n 1nllbo "So I spend 50 minutes of each hour studying,{w=0.3}{nw}" + n 2nllbo "So I spend 50 minutes of each hour studying,{w=0.3}{nw}" extend 1uchsm " and 10 minutes doing whatever I want." - n 1usqbg "You'd be surprised how much manga time I can sneak in!" + n 4usqbg "You'd be surprised how much manga time I can sneak in!" n 1unmaj "Don't just take my schedule as a rule though.{w=0.5}{nw}" extend 1fchbg " Find a balance that works for you, [player]!" - n 1fslbg "Though I should remind you...{w=0.3} the key word here is {i}balance{/i}." + n 3fslbg "Though I should remind you...{w=0.3} the key word here is {i}balance{/i}." n 1fsqsr "I'm not gonna be impressed if you work too much...{w=0.5}{nw}" - extend 1fnmpo " Or just slack off!" + extend 4fnmpo " Or just slack off!" if Natsuki.isAffectionate(higher=True): n 1ullbo "Although...{w=0.3} now that I think about it..." - n 1tsqsm "Perhaps I should timebox our time together,{w=0.1} [player]." + n 3tsqsm "Perhaps I should timebox our time together,{w=0.1} [player]." extend 1uchbselg " Ahaha!" return @@ -1620,35 +1622,35 @@ init 5 python: ) label talk_sweet_tooth: - n 1unmbo "Huh?{w=0.2} Do I have a sweet tooth?" + n 4unmbo "Huh?{w=0.2} Do I have a sweet tooth?" # Opening response if Natsuki.isAffectionate(higher=True): - n 1fspbg "You bet I do!" - n 1nsqts "What else were you expecting,{w=0.1} [player]?" + n 3fspbg "You bet I do!" + n 4nsqts "What else were you expecting,{w=0.1} [player]?" extend 1fchsm "{w=0.2} Ehehe." elif Natsuki.isNormal(higher=True): - n 1fllss "Well,{w=0.1} yeah.{w=0.2} Of course I do!" + n 3fllss "Well,{w=0.1} yeah.{w=0.2} Of course I do!" else: n 1nnmsl "Well...{w=0.3} yeah.{w=0.2} Why wouldn't I?" n 1nllaj "Baked stuff is okay,{w=0.1} but I find it gets kinda sickly before long." n 1ullaj "But to be completely honest,{w=0.1} if I had a choice?{w=0.5}{nw}" - extend 1unmbo " Just give me a bunch of candy every time." + extend 2unmbo " Just give me a bunch of candy every time." if Natsuki.isNormal(higher=True): n 1uwdaj "There's so much more variety!{w=0.2} Like...{w=0.3} there's always something for whatever I feel like!" - n 1tllss "I think if I had to pick a favourite though,{w=0.3}{nw}" + n 2tllss "I think if I had to pick a favourite though,{w=0.3}{nw}" extend 1fllss " it'd be those fizzy ones." n 1fchbg "Just that perfect mix of sweet and sour,{w=0.1} you know?" - n 1flraj "Jeez...{w=0.5}{nw}" + n 3flraj "Jeez...{w=0.5}{nw}" extend 1fchts " I can feel my tongue tingling already just thinking about them!" n 1fsrts "..." - n 1flleml "A-{w=0.1}anyway!" + n 3flleml "A-{w=0.1}anyway!" n 1fcseml "It isn't like I'm snacking on treats all the time though." - n 1fllpo "I've got way better things to spend my money on." + n 2fllpo "I've got way better things to spend my money on." n 1fnmss "And...{w=0.3} it's not exactly healthy either.{w=0.5}{nw}" extend 1fchsm " Ahaha." @@ -1656,20 +1658,20 @@ label talk_sweet_tooth: if Natsuki.isAffectionate(higher=True): n 1fsqsm "Though I have to say,{w=0.1} [player]." n 1fsqssl "I'm pretty sure you have a sweet tooth too." - n 1fsrbgl "It'd explain why you're spending so much time with me,{w=0.1} a-{w=0.1}after all." + n 2fsrbgl "It'd explain why you're spending so much time with me,{w=0.1} a-{w=0.1}after all." n 1fchbgl "Ahaha!" elif Natsuki.isNormal(higher=True): n 1fllbg "I could go for some candy right now,{w=0.1} actually.{w=0.5}{nw}" extend 1fslss " But...{w=0.3} I think I'll hold back." - n 1usqbg "Someone's gotta be a role model to you,{w=0.1} [player].{w=0.2} Am I right?" + n 4usqbg "Someone's gotta be a role model to you,{w=0.1} [player].{w=0.2} Am I right?" n 1fchsm "Ehehe." else: n 1nnmbo "..." n 1nlrbo "That being said..." - n 1flrsr "I...{w=0.3} could really use some chocolate right now." - n 1fsqsr "I'll let {i}you{/i} figure out why,{w=0.1} [player]." + n 2flrsr "I...{w=0.3} could really use some chocolate right now." + n 2fsqsr "I'll let {i}you{/i} figure out why,{w=0.1} [player]." return @@ -1692,42 +1694,42 @@ init 5 python: label talk_player_appearance: # Player was asked before, and declined to share their appearance if persistent.jn_player_appearance_declined_share: - n 1unmaj "Huh?{w=0.2} Your appearance?" + n 4unmaj "Huh?{w=0.2} Your appearance?" n 1ullaj "If I remember,{w=0.1} [player]{w=0.1} -{w=0.3}{nw}" - extend 1tnmbo " you said didn't want to share it with me before." + extend 2tnmbo " you said didn't want to share it with me before." n 1tlrbo "Huh. Well..." menu: n "Did you change your mind,{w=0.1} [player]?" "Yes, I want to share my appearance.": - n 1fcsbg "A-{w=0.1}aha!{w=0.2} I knew you'd come around eventually,{w=0.1} [player].{nw}" - extend 1fchgn "{w=0.2} Let's not waste any time!" + n 3fcsbg "A-{w=0.1}aha!{w=0.2} I knew you'd come around eventually,{w=0.1} [player].{nw}" + extend 3fchgn "{w=0.2} Let's not waste any time!" "No, I still don't want to share my appearance.": n 1nllsl "Oh..." - n 1unmaj "Well,{w=0.1} it's your call,{w=0.1} [player]." + n 4unmaj "Well,{w=0.1} it's your call,{w=0.1} [player]." n 1unmss "Just let me know if you change your mind again,{w=0.1} alright?" return # Player has already described themselves to Natsuki elif persistent.jn_player_appearance_eye_colour is not None: n 1unmaj "Huh?{w=0.2} Your appearance?" - n 1tllbo "But...{w=0.3} I was sure you already shared that with me,{w=0.1} [player]." - n 1uspgs "Ooh!{w=0.5}{nw}" + n 2tllbo "But...{w=0.3} I was sure you already shared that with me,{w=0.1} [player]." + n 4uspgs "Ooh!{w=0.5}{nw}" extend 1unmbg " Did you dye your hair or something?" - n 1fllbg "Or...{w=0.3} maybe you just made a mistake last time?" - n 1tslbg "Well...{w=0.5}{nw}" + n 2fllbg "Or...{w=0.3} maybe you just made a mistake last time?" + n 2tslbg "Well...{w=0.5}{nw}" extend 1unmbg " either way." menu: n "Did you want to share your appearance again,{w=0.1} [player]?" "Yes, my appearance has changed.": n 1fcssm "Aha!{w=0.2} I thought so!" - n 1fchgn "I can't wait to find out how!" + n 2fchgn "I can't wait to find out how!" "No, my appearance hasn't changed.": n 1tnmsr "H-{w=0.1}huh?{w=0.2} Just pulling my leg,{w=0.1} are you?" - n 1tsrsf "Okaaay..." + n 2tsrsf "Okaaay..." n 1tnmss "Just let me know if you actually {i}do{/i} change something then,{w=0.2} 'kay?" return @@ -1735,35 +1737,35 @@ label talk_player_appearance: else: n 1tlrbo "Huh..." n 1tnmbo "You know,{w=0.1} [player].{w=0.2} I just realized something." - n 1unmaj "You've seen a lot of me,{w=0.1} right?{w=0.5}{nw}" - extend 1fslssl " B-{w=0.1}by spending time with me here,{w=0.1} I mean." + n 4unmaj "You've seen a lot of me,{w=0.1} right?{w=0.5}{nw}" + extend 2fslssl " B-{w=0.1}by spending time with me here,{w=0.1} I mean." n 1ullaj "So...{w=0.3} you kinda know exactly who you're dealing with." - n 1uwdgs "But I don't have a clue about who {i}I'm{/i} dealing with!" - n 1fsqsm "And honestly?{w=0.2} You should know me by now.{w=0.5}{nw}" - extend 1fsqbg " I'm actually pretty curious!" + n 4uwdgs "But I don't have a clue about who {i}I'm{/i} dealing with!" + n 3fsqsm "And honestly?{w=0.2} You should know me by now.{w=0.5}{nw}" + extend 3fsqbg " I'm actually pretty curious!" n 1nchbg "Don't worry though{w=0.1} -{w=0.1} anything you tell me is staying strictly between us,{w=0.1} obviously!" n 1fllsfl "N-{w=0.1}not like anyone else would care {i}that{/i} much,{w=0.1} anyway." - n 1unmsm "So...{w=0.3} how about it, [player]?" + n 4unmsm "So...{w=0.3} how about it, [player]?" menu: n "Do you wanna share your appearance with me, [player]?" "Sure!": n 1uchbsl "Yes!{w=0.5}{nw}" - extend 1fcsbgl " I-{w=0.1}I mean good!{w=0.5}{nw}" + extend 2fcsbgl " I-{w=0.1}I mean good!{w=0.5}{nw}" n 1fchbg "Let's get started then,{w=0.1} shall we?" "I'm not comfortable sharing that.": n 1unmsl "Oh..." n 1ullaj "That's kind of disappointing to hear,{w=0.1} if I'm being honest." - n 1nchss "But I totally get it,{w=0.1} [player].{w=0.2} So don't worry,{w=0.1} 'kay?" - n 1fsqss "You better let me know if you feel like telling me later though!" + n 2nchss "But I totally get it,{w=0.1} [player].{w=0.2} So don't worry,{w=0.1} 'kay?" + n 2fsqss "You better let me know if you feel like telling me later though!" $ persistent.jn_player_appearance_declined_share = True return n 1uchgn "Okaaay!{w=0.2} Let's start with...{w=0.5}{nw}" extend 1fchbg " your eyes!" - n 1unmbg "They say the eyes are the window to the soul,{w=0.1} so it only makes sense to begin there,{w=0.1} right?" - n 1flldvl "..." + n 4unmbg "They say the eyes are the window to the soul,{w=0.1} so it only makes sense to begin there,{w=0.1} right?" + n 4flldvl "..." n 1fcseml "A-{w=0.1}anyway...!" # Eye colour @@ -1771,166 +1773,166 @@ label talk_player_appearance: n "How would you describe your eye colour,{w=0.1} [player]?" "Amber": - n 1unmaj "Ooh!{w=0.2} I don't think I've seen someone with amber eyes before." + n 4unmaj "Ooh!{w=0.2} I don't think I've seen someone with amber eyes before." n 1fchbg "That's awesome,{w=0.1} [player]!{w=0.2} I bet those help you stand out,{w=0.1} right?" $ persistent.jn_player_appearance_eye_colour = "Amber" "Blue": - n 1unmbg "Blue eyes,{w=0.1} huh?{w=0.2} Cool!" + n 4unmbg "Blue eyes,{w=0.1} huh?{w=0.2} Cool!" n 1fsgsm "I really like how striking they are!" $ persistent.jn_player_appearance_eye_colour = "Blue" "Brown": - n 1unmaj "Brown eyes,{w=0.1} huh?{w=0.5}{nw}" + n 4unmaj "Brown eyes,{w=0.1} huh?{w=0.5}{nw}" extend 1fchsm " I'm not complaining!" - n 1tsqss "Nice and natural,{w=0.1} am I right?{w=0.5}{nw}" + n 3tsqss "Nice and natural,{w=0.1} am I right?{w=0.5}{nw}" extend 1uchsm " Ahaha." $ persistent.jn_player_appearance_eye_colour = "Brown" "Grey": - n 1unmaj "Oh?{w=0.2} Grey eyes?{w=0.2} Super neat, [player]!" + n 4unmaj "Oh?{w=0.2} Grey eyes?{w=0.2} Super neat, [player]!" n 1tllss "I don't think I've seen anyone with grey eyes before!" $ persistent.jn_player_appearance_eye_colour = "Grey" "Green": - n 1fsgbg "Aha!{w=0.2} I had you figured for green eyes,{w=0.1} [player]." + n 4fsgbg "Aha!{w=0.2} I had you figured for green eyes,{w=0.1} [player]." n 1fsqbg "I bet you're proud of them,{w=0.1} no?{w=0.5}{nw}" extend 1uchsm " Ehehe." $ persistent.jn_player_appearance_eye_colour = "Green" "Hazel": - n 1unmaj "Ooh!{w=0.2} Hazel,{w=0.1} huh?{w=0.5}{nw}" + n 4unmaj "Ooh!{w=0.2} Hazel,{w=0.1} huh?{w=0.5}{nw}" extend 1fsqbg " Classy!" n 1tslsm "Hmm...{w=0.3} I wonder if yours are closer to green or brown,{w=0.1} [player]?" $ persistent.jn_player_appearance_eye_colour = "Hazel" "Mixed": - n 1unmaj "Wow!{w=0.2} Do you have two different colours or something,{w=0.1} [player]?" + n 4unmaj "Wow!{w=0.2} Do you have two different colours or something,{w=0.1} [player]?" n 1fchbg "Now if that isn't unique,{w=0.1} I don't know what is!" $ persistent.jn_player_appearance_eye_colour = "Mixed" "Other": - n 1unmaj "Oh?{w=0.2} Something a bit off the beaten trail,{w=0.1} huh?" + n 4unmaj "Oh?{w=0.2} Something a bit off the beaten trail,{w=0.1} huh?" n 1tlrss "...Or maybe you just wear contacts a lot?{w=0.5}{nw}" extend 1unmsg " Well,{w=0.1} whatever." n 1ncsss "I'm sure they look fine either way." $ persistent.jn_player_appearance_eye_colour = "Other" n 1uchbg "Alright!{w=0.2} That's one down!" - n 1ullaj "So next,{w=0.1} we have...{w=0.5}{nw}" + n 3ullaj "So next,{w=0.1} we have...{w=0.5}{nw}" extend 1fchsm " your hair,{w=0.1} of course!" n 1nnmsm "We'll just start off with the length for now." - n 1ullss "Now..." + n 4ullss "Now..." # Hair length menu: n "How would you describe your hair length,{w=0.1} [player]?" "Short.": - n 1ncsss "Ah,{w=0.1} the low maintenance approach{w=0.1} -{w=0.1} I see,{w=0.1} I see.{w=0.5}{nw}" + n 4ncsss "Ah,{w=0.1} the low maintenance approach{w=0.1} -{w=0.1} I see,{w=0.1} I see.{w=0.5}{nw}" extend 1fchbg " Trendy!" n 1unmaj "To be honest though,{w=0.1} I totally get it." - n 1fslpo "I have no idea how you even keep long hair looking good..." - n 1nslpo "It just seems like way too much effort to me." + n 3fslpo "I have no idea how you even keep long hair looking good..." + n 3nslpo "It just seems like way too much effort to me." $ persistent.jn_player_appearance_hair_length = "Short" "Mid-length.": - n 1fcsbg "Aha!{w=0.2} The perfect balance,{w=0.1} am I right?" + n 4fcsbg "Aha!{w=0.2} The perfect balance,{w=0.1} am I right?" n 1fllss "Just long enough for pretty much any style..." n 1fchgn "And yet still short enough to suit a lazy day!{w=0.5}{nw}" extend 1nchsm " Ehehe." - n 1flrbgl "I'm glad we think the same way,{w=0.1} [player]!" + n 3flrbgl "I'm glad we think the same way,{w=0.1} [player]!" $ persistent.jn_player_appearance_hair_length = "Mid-length" "Long.": - n 1unmbg "Ooh!{w=0.2} Letting it run free,{w=0.1} are we?" + n 4unmbg "Ooh!{w=0.2} Letting it run free,{w=0.1} are we?" n 1fcssm "I bet you take super good care of yours." - n 1fsqsm "I might even have to borrow your products,{w=0.1} [player].{w=0.5}{nw}" + n 3fsqsm "I might even have to borrow your products,{w=0.1} [player].{w=0.5}{nw}" extend 1nchsm " Ehehe!" $ persistent.jn_player_appearance_hair_length = "Long" "I don't have any hair.": - n 1fnmaj "Hey{w=0.1} -{w=0.1} nothing wrong with that!{nw}" + n 4fnmaj "Hey{w=0.1} -{w=0.1} nothing wrong with that!{nw}" extend 1fsqbg "{w=0.2} You wanna know why?" - n 1fchgn "Because it just means you're aerodynamic,{w=0.1} [player].{w=0.5}{nw}" - extend 1uchsmelg " Ahaha!" + n 3fchgn "Because it just means you're aerodynamic,{w=0.1} [player].{w=0.5}{nw}" + extend 3uchsmelg " Ahaha!" $ persistent.jn_player_appearance_hair_length = "None" n 1uchbs "Okay!{w=0.5}{nw}" extend 1unmbg " I'm really starting to get a picture now." - n 1fwdgs "We gotta keep the ball rolling,{w=0.1} [player]!" + n 4fwdgs "We gotta keep the ball rolling,{w=0.1} [player]!" # Hair colour if persistent.jn_player_appearance_hair_length == "None": n 1fllss "You said you didn't have any hair,{w=0.1} right?{w=0.5}{nw}" - extend 1fllbg " So I think it's kinda pointless talking about hair colour." - n 1fslbo "Now,{w=0.1} let's see...{w=0.3} what else..." + extend 4fllbg " So I think it's kinda pointless talking about hair colour." + n 3fslbo "Now,{w=0.1} let's see...{w=0.3} what else..." else: n 1fchsm "Now for your hair colour!" - n 1unmbg "So,{w=0.1} [player]..." + n 4unmbg "So,{w=0.1} [player]..." menu: n "How would you describe your hair colour?" "Auburn": - n 1unmaw "Ooh!{w=0.2} Auburn,{w=0.1} huh?{w=0.5}{nw}" + n 4unmaw "Ooh!{w=0.2} Auburn,{w=0.1} huh?{w=0.5}{nw}" extend 1fwdaw " That's awesome,{w=0.1} [player]!" n 1fchbg "It's such a warm colour!" $ persistent.jn_player_appearance_hair_colour = "Auburn" "Black": - n 1tsgsm "Black,{w=0.1} huh?{w=0.5}{nw}" + n 4tsgsm "Black,{w=0.1} huh?{w=0.5}{nw}" extend 1nchgn " Nice!" n 1usqsg "I bet you feel super slick,{w=0.1} huh [player]?" $ persistent.jn_player_appearance_hair_colour = "Black" "Blond": - n 1fnmbg "Aha!{w=0.2} A blond,{w=0.1} are we?{w=0.5}{nw}" - extend 1fsqts " {w=0.3}...That explains a lot." + n 4fnmbg "Aha!{w=0.2} A blond,{w=0.1} are we?{w=0.5}{nw}" + extend 3fsqts " {w=0.3}...That explains a lot." n 1fchgnelg "Ahaha!" n 1uchbs "I'm kidding,{w=0.1} [player]!{w=0.2} I'm just kidding!" - n 1fllbg "I'm actually a little jealous.{w=0.5}{nw}" - extend 1fsqsm " Just a little." + n 3fllbg "I'm actually a little jealous.{w=0.5}{nw}" + extend 4fsqsm " Just a little." $ persistent.jn_player_appearance_hair_colour = "Blond" "Brown": - n 1unmaj "Brown hair,{w=0.1} [player]?{w=0.5}{nw}" + n 4unmaj "Brown hair,{w=0.1} [player]?{w=0.5}{nw}" extend 1nchsm " I'm for it!" - n 1nchsm "Not too subtle and not too striking,{w=0.1} you know?{w=0.2} It's just right!" + n 4nsgss "Not too subtle and not too striking,{w=0.1} you know?{w=0.2} It's just right!" $ persistent.jn_player_appearance_hair_colour = "Brown" "Grey": - n 1unmaj "Ooh...{w=0.5}{nw}" + n 4unmaj "Ooh...{w=0.5}{nw}" extend 1ullaj " I gotta say...{w=0.5}{nw}" extend 1kllbg " I wasn't expecting that!" - n 1fsqsr "I just hope that isn't from stress,{w=0.1} [player]..." - n 1fllbg "...Or at least stress from me,{w=0.1} anyway.{w=0.5}{nw}" + n 2fsqsr "I just hope that isn't from stress,{w=0.1} [player]..." + n 2fllbg "...Or at least stress from me,{w=0.1} anyway.{w=0.5}{nw}" extend 1fchsm " Ehehe." $ persistent.jn_player_appearance_hair_colour = "Grey" "Red": - n 1fchsm "Ehehe.{w=0.5}{nw}" + n 4fchsm "Ehehe.{w=0.5}{nw}" extend 1usqsm " So you're a red head,{w=0.1} [player]?" - n 1flrajl "Not that there's anything wrong with that,{w=0.1} o-{w=0.1}obviously!" + n 3flrajl "Not that there's anything wrong with that,{w=0.1} o-{w=0.1}obviously!" n 1fchbg "I bet that gets you some attention,{w=0.1} huh?" - n 1fsrpo "Better be the good kind,{w=0.1} though." + n 3fsrpo "Better be the good kind,{w=0.1} though." $ persistent.jn_player_appearance_hair_colour = "Red" "White": - n 1unmbg "White hair,{w=0.1} huh?{w=0.5}{nw}" + n 4unmbg "White hair,{w=0.1} huh?{w=0.5}{nw}" extend 1uchsm " Neat!" $ persistent.jn_player_appearance_hair_colour = "White" "Other": - n 1unmaj "Oh?{w=0.5}{nw}" + n 4unmaj "Oh?{w=0.5}{nw}" extend 1fsqsm " It looks like we're more similar in taste than I thought!" - n 1fsrss "Though I should probably clarify...{w=0.5}{nw}" + n 4fsrss "Though I should probably clarify...{w=0.5}{nw}" extend 1uchgn " mine is all natural,{w=0.1} [player]!{w=0.2} Ahaha." $ persistent.jn_player_appearance_hair_colour = "Other" # Height n 1unmbg "Alright!{w=0.2} I think I'm almost done interrogating you now,{w=0.1} [player]." - n 1fsqsm "Ehehe." + n 4fsqsm "Ehehe." n 1flrsl "So...{w=0.3} don't tease me when I ask this,{w=0.1} but I gotta know." n 1ulrbo "Exactly..." @@ -1944,50 +1946,50 @@ label talk_player_appearance: $ persistent.jn_player_appearance_height_cm = player_input if player_input < 149: - n 1unmgs "H-{w=0.1}huh?{w=0.2} Really?" + n 4unmgs "H-{w=0.1}huh?{w=0.2} Really?" n 1unmaj "You're even shorter than me?" - n 1flldv "Well,{w=0.1} I wasn't expecting that!" + n 3flldv "Well,{w=0.1} I wasn't expecting that!" n 1fnmbg "Don't worry,{w=0.1} [player].{w=0.2} We're both on the same side,{w=0.1} right?{w=0.5}{nw}" extend 1fchbg " Ehehe." elif player_input == 149: - n 1unmgs "Seriously?{w=0.2} We're the same height?" + n 4unmgs "Seriously?{w=0.2} We're the same height?" n 1uchbg "That's amazing,{w=0.1} [player]!" if persistent.jn_player_appearance_hair_length = "Medium" and persistent.jn_player_appearance_hair_colour = "Other": - n 1fllbg "With the hair and everything too..." + n 2fllbg "With the hair and everything too..." n 1uchgn "It's like we're practically twins!" elif player_input > 149 and player_input < 166: - n 1unmaj "Oh?{w=0.2} A little on the shorter side,{w=0.1} [player]?" + n 4unmaj "Oh?{w=0.2} A little on the shorter side,{w=0.1} [player]?" n 1fcsss "Don't worry, don't worry!{w=0.5}{nw}" - extend 1fllpo " I-{w=0.1}I'm not one to judge,{w=0.1} after all." + extend 2fllpo " I-{w=0.1}I'm not one to judge,{w=0.1} after all." elif player_input >= 166 and player_input < 200: - n 1unmaj "About average height,{w=0.1} [player]?" + n 4unmaj "About average height,{w=0.1} [player]?" n 1nchsm "No complaints from me!" elif player_input >= 200 and player_input < 250: - n 1unmaj "Oh?{w=0.2} On the taller side [player],{w=0.1} are we?" + n 4unmaj "Oh?{w=0.2} On the taller side [player],{w=0.1} are we?" n 1fllbg "I guess I know who to take shopping,{w=0.1} right?{w=0.5}{nw}" extend 1nchsm " Ehehe." else: - n 1unmgs "W-{w=0.1}woah!{w=0.2} What the heck,{w=0.1} [player]?{w=0.2} Really?" + n 4unmgs "W-{w=0.1}woah!{w=0.2} What the heck,{w=0.1} [player]?{w=0.2} Really?" n 1fbkwr "That's crazy tall!" - n 1tlrem "Though...{w=0.3} actually...{w=0.5}{nw}" - extend 1knmpo " I hope that isn't actually just inconvenient for you,{w=0.1} though." + n 3tlrem "Though...{w=0.3} actually...{w=0.5}{nw}" + extend 3knmpo " I hope that isn't actually just inconvenient for you,{w=0.1} though." else: - n 1fllpo "[player]...{w=0.3} please.{w=0.2} Take this seriously,{w=0.1} alright?" + n 3fllpo "[player]...{w=0.3} please.{w=0.2} Take this seriously,{w=0.1} alright?" n 1uchsm "Okaaay!{w=0.2} I think that's everything." n 1unmbg "Thanks a bunch,{w=0.1} [player]!" - n 1fllbg "I know it wasn't a lot,{w=0.3}{nw}" + n 4fllbg "I know it wasn't a lot,{w=0.3}{nw}" extend 1uchgn " but I feel like I know you so much better now!" if Natsuki.isLove(higher=True): - n 1flldvl "You know,{w=0.1} [player]?{w=0.2} I can just picture it now." + n 4flldvl "You know,{w=0.1} [player]?{w=0.2} I can just picture it now." n 1fnmssl "Meeting you in person somewhere out there,{w=0.1} for the first time..." python: # Get the descriptor for the eye colour @@ -2007,31 +2009,31 @@ label talk_player_appearance: # Comment on hair length and colour, if the player has hair if persistent.jn_player_appearance_hair_length != "None": $ hair_length_descriptor = persistent.jn_player_appearance_hair_length.lower() - n 1fsqsml "Spotting your [hair_length_descriptor] [hair_colour_descriptor] hair in the distance and hunting you down..." + n 4fsqsml "Spotting your [hair_length_descriptor] [hair_colour_descriptor] hair in the distance and hunting you down..." else: - n 1fsqsml "Spotting you in the distance and hunting you down..." + n 4fsqsml "Spotting you in the distance and hunting you down..." # Comment on height and eye colour if persistent.jn_player_appearance_height_cm < 149: - n 1fllssl "Gazing down into your [eye_colour_descriptor] eyes..." + n 2fllssl "Gazing down into your [eye_colour_descriptor] eyes..." elif persistent.jn_player_appearance_height_cm == 149: - n 1fllssl "Gazing directly into your [eye_colour_descriptor] eyes..." + n 2fllssl "Gazing directly into your [eye_colour_descriptor] eyes..." elif persistent.jn_player_appearance_height_cm > 149: - n 1fllssl "Gazing upwards into your [eye_colour_descriptor] eyes..." + n 2fllssl "Gazing upwards into your [eye_colour_descriptor] eyes..." n 1fchunl "Uuuuuu..." n 1fsqunl "...{w=0.5}{nw}" - extend 1fllajl " A-ahem!{w=0.2} Anyway..." + extend 2fllajl " A-ahem!{w=0.2} Anyway..." $ chosen_endearment = jn_utils.getRandomEndearment() n 1kllsml "Really.{w=0.2} Thank you,{w=0.1} [chosen_endearment]." n 1kcsbgl "This seriously meant a lot to me." elif Natsuki.isEnamored(): - n 1fsldvl "...And now I know exactly who I should be watching out for." - n 1fsqssl "So you better watch out,{w=0.1} [player]." + n 4fsldvl "...And now I know exactly who I should be watching out for." + n 4fsqssl "So you better watch out,{w=0.1} [player]." n 1fcsbgl "Ehehe." return @@ -2055,60 +2057,60 @@ init 5 python: label talk_drinking_alcohol: n 1tnmss "Do I drink alcohol?" extend 1tllss " Well...{w=0.3} I can't say I've ever tried it." - n 1nllsr "I just don't think it's something for me." + n 2nllsr "I just don't think it's something for me." n 1ullpu "That being said,{w=0.1} I knew people who {i}did{/i} drink it..." n 1kcspu "But...{w=0.3} I'd...{w=0.3} really rather not get into that,{w=0.1} [player]." n 1ncssr "Sorry." - n 1tlrpu "..." - n 1uwdajesu "Oh!{w=0.5}{nw}" - extend 1fllss " That reminds me,{w=0.1} actually!" + n 2tlrpu "..." + n 4uwdajesu "Oh!{w=0.5}{nw}" + extend 4fllss " That reminds me,{w=0.1} actually!" n 1fnmbg "I bet you didn't know,{w=0.1} but guess who just randomly brought some into the club one day?" n 1fchgn "...Yuri!" - n 1tnmbg "Surprised?{w=0.5}{nw}" + n 4tnmbg "Surprised?{w=0.5}{nw}" extend 1fcsss " I know,{w=0.1} right?" - n 1tllss "I mean...{w=0.3} it was just completely out of the blue!" + n 3tllss "I mean...{w=0.3} it was just completely out of the blue!" n 1uchbs "She just slipped it out from her bag like it was a book or something." - n 1unmbo "It wasn't even just some random supermarket stuff either...{w=0.5}{nw}" + n 4unmbo "It wasn't even just some random supermarket stuff either...{w=0.5}{nw}" extend 1uwdaj " it looked super expensive too!" - n 1kllss "Honestly,{w=0.1} I couldn't help myself.{w=0.2} I just burst into laughter." + n 3kllss "Honestly,{w=0.1} I couldn't help myself.{w=0.2} I just burst into laughter." n 1ullun "I think it was just how non-chalant she was being about it all,{w=0.1} really." - n 1nnmsl "Monika didn't look impressed,{w=0.1} though..." + n 4nnmsl "Monika didn't look impressed,{w=0.1} though..." n 1klrsl "And Sayori...{w=0.3} she just got really upset.{w=0.5}{nw}" - extend 1klrpu " She was shouting and everything!" + extend 2klrpu " She was shouting and everything!" n 1kcspu "It looked like Yuri put a lot of thought into picking something out,{w=0.1} but she was just given a hard time over for it..." n 1kcssr "I mean...{w=0.5}{nw}" extend 1kllsr " I know we shouldn't have had it in there at all,{w=0.1} and Yuri should have known better." - n 1fslsr "But she didn't deserve all of...{w=0.5}{nw}" - extend 1kslsr " that." + n 2fslsr "But she didn't deserve all of...{w=0.5}{nw}" + extend 2kslsr " that." n 1kslaj "I think she was just trying to be nice,{w=0.1} you know?" - n 1unmsr "It's all in the past now,{w=0.1} obviously.{w=0.5}{nw}" - extend 1kslsr " But...{w=0.3} that doesn't mean I don't still feel bad about it sometimes." + n 4unmsr "It's all in the past now,{w=0.1} obviously.{w=0.5}{nw}" + extend 2kslsr " But...{w=0.3} that doesn't mean I don't still feel bad about it sometimes." n 1kcssr "..." if Natsuki.isAffectionate(higher=True): n 1kllsr "Hey...{w=0.5}{nw}" - extend 1knmpu " [player]?" + extend 4knmpu " [player]?" n 1klrsr "Can you promise me something?" - n 1fcssr "It's dumb,{w=0.1} but I don't care." + n 2fcssr "It's dumb,{w=0.1} but I don't care." n 1nnmsl "It doesn't really matter to me if you drink or not." - n 1klrpu "But...{w=0.3} if you do?" - n 1ksqsr "Please just take it all in moderation,{w=0.1} okay?" - n 1kllsr "I've...{w=0.5}{nw}" - extend 1fcsan " seen...{w=0.5}{nw}" + n 2klrpu "But...{w=0.3} if you do?" + n 4ksqsr "Please just take it all in moderation,{w=0.1} okay?" + n 2kllsr "I've...{w=0.5}{nw}" + extend 2fcsan " seen...{w=0.5}{nw}" extend 1fcssr " what it can do to people." n 1kslsr "...Firsthand." - n 1ksqsl "You deserve better than that,{w=0.1} [player].{w=0.5}{nw}" - extend 1kslun " You {i}are{/i} better than that." + n 4ksqsl "You deserve better than that,{w=0.1} [player].{w=0.5}{nw}" + extend 4kslun " You {i}are{/i} better than that." if Natsuki.isLove(higher=True): n 1kcsun "..." n 1ksqsml "I love you,{w=0.1} [player]." - n 1fcssrl "I'm {w=0.3}{i}never{/i}{w=0.3} going to let a bottle get between us." + n 3fcssrl "I'm {w=0.3}{i}never{/i}{w=0.3} going to let a bottle get between us." else: - n 1unmsr "Hey,{w=0.1} [player]?" + n 4unmsr "Hey,{w=0.1} [player]?" n 1nllaj "I don't really care that much if you drink or not." - n 1ncssr "Just...{w=0.3} go easy on the stuff." - n 1flleml "B-{w=0.1}but only because I'm not gonna clean up after you!" - n 1fllss "Ahaha..." + n 2ncssr "Just...{w=0.3} go easy on the stuff." + n 2flleml "B-{w=0.1}but only because I'm not gonna clean up after you!" + n 2fllss "Ahaha..." n 1kllsr "..." return @@ -2135,25 +2137,25 @@ label talk_driving: $ chosen_tease = jn_utils.getRandomTease() if already_discussed_driving: - n 1tnmboeqm "...Huh?{w=0.75}{nw}" + n 4tnmboeqm "...Huh?{w=0.75}{nw}" extend 1tllsssbr " I already told you I can't drive,{w=0.2} [chosen_tease]!" n 1fchgnelg "I still don't have a license,{w=0.2} remember?" - n 1tllaj "And even if I wanted to,{w=0.5}{nw}" - extend 1nslposbl " I don't think I could afford it..." + n 3tllaj "And even if I wanted to,{w=0.5}{nw}" + extend 3nslposbl " I don't think I could afford it..." else: - n 1fchdvesi "Pffft!{w=0.5}{nw}" + n 1fchdvesm "Pffft!{w=0.5}{nw}" extend 1uchbselg " Ahaha!" - n 1fchgn "What kind of a question is that,{w=0.1} [player]?" + n 3fchgn "What kind of a question is that,{w=0.1} [player]?" n 1tllss "Of course I can't drive,{w=0.1} [chosen_tease]!{w=0.5}{nw}" - extend 1fchgn " I don't even have a license!" - n 1kllpo "I mean...{w=0.3} even if I wanted to learn,{w=0.1} I don't think I could afford it." + extend 4fchgn " I don't even have a license!" + n 2kllpo "I mean...{w=0.3} even if I wanted to learn,{w=0.1} I don't think I could afford it." n 1uskgs "Lessons are super expensive nowadays!" - n 1fslem "And then there's tests,{w=0.1} insurance,{w=0.1} fuel,{w=0.1} parking...{w=0.5}{nw}" + n 3fslem "And then there's tests,{w=0.1} insurance,{w=0.1} fuel,{w=0.1} parking...{w=0.5}{nw}" extend 1fsqaj " it's actually pretty gross how fast it all adds up." n 1nlraj "I think I'd rather stick to public transport and my own two feet." - n 1unmaj "But what about you,{w=0.1} [player]?" + n 4unmaj "But what about you,{w=0.1} [player]?" show natsuki 1tnmss at jn_center # Player has never confirmed if they can/cannot drive @@ -2163,53 +2165,53 @@ label talk_driving: "Yes, and I do currently.": n 1uwdaj "Wow..." - extend 1fsraj " ...{w=0.3}show-off." + extend 3fsraj " ...{w=0.3}show-off." n 1fsqpo "..." n 1fchbg "Relax,{w=0.1} [player]!{w=0.2} Jeez!{w=0.5}{nw}" extend 1nchsm " I'm just messing with you." - n 1unmbg "That's awesome though{w=0.1} -{w=0.1} you just can't beat the convenience of a car,{w=0.1} right?" + n 4unmbg "That's awesome though{w=0.1} -{w=0.1} you just can't beat the convenience of a car,{w=0.1} right?" if Natsuki.isAffectionate(higher=True): n 1fllbg "But I should probably warn you..." - n 1fsgsm "I'm picking the songs for our driving playlist." - extend 1uchbgelg " Ahaha!" + n 3fsgsm "I'm picking the songs for our driving playlist." + extend 3uchbgelg " Ahaha!" else: - n 1fllbg "Just remember,{w=0.1} [player]..." - n 1fsgsm "I call shotgun.{w=0.5}{nw}" + n 2fllbg "Just remember,{w=0.1} [player]..." + n 4fsgsm "I call shotgun.{w=0.5}{nw}" $ persistent.jn_player_can_drive = True return "Yes, but I don't right now.": - n 1unmaj "Oh?{w=0.2} Is something wrong with your car,{w=0.1} [player]?" - n 1tllbo "Or perhaps...{w=0.3} you just don't own one at the moment?" + n 4unmaj "Oh?{w=0.2} Is something wrong with your car,{w=0.1} [player]?" + n 2tllbo "Or perhaps...{w=0.3} you just don't own one at the moment?" n 1nnmsm "Well,{w=0.1} I'm not one to judge.{w=0.2} I'm sure you manage just fine." - n 1flrss "Besides,{w=0.1} you're helping the environment too,{w=0.1} right?" + n 2flrss "Besides,{w=0.1} you're helping the environment too,{w=0.1} right?" if Natsuki.isAffectionate(higher=True): n 1fsgsm "Thoughtful as always,{w=0.1} [player]." - extend 1nchsm " Ehehe." + extend 4nchsm " Ehehe." $ persistent.jn_player_can_drive = True return "No, I can't.": - n 1klrsl "Oh..." + n 2klrsl "Oh..." n 1flrss "Well,{w=0.3}{nw}" extend 1fchbg " chin up,{w=0.1} [player]!{w=0.2} It isn't the end of the world." n 1usgsg "Don't worry -{w=0.3}{nw}" extend 1fsgsm " I'll teach you how to use the bus!" - n 1uchsm "Ehehe." + n 4uchsm "Ehehe." if Natsuki.isEnamored(higher=True): n 1fllsm "And besides..." - n 1fllssl "That just means we can huddle up on the seat together,{w=0.1} [player]." + n 3fllssl "That just means we can huddle up on the seat together,{w=0.1} [player]." n 1fcsbgl "A dream come true for you,{w=0.1} right?" - n 1flldvl "Ehehe." + n 4flldvl "Ehehe." else: - n 1fchbg "That's what friends are for, [player]!" + n 4fchbg "That's what friends are for, [player]!" $ persistent.jn_player_can_drive = False return @@ -2221,21 +2223,21 @@ label talk_driving: "Yes, I'm driving frequently.": n 1fnmbg "Ah,{w=0.1} so you're at home on the roads,{w=0.1} are you?" - n 1ullss "Fair enough I suppose -{w=0.1} just remember to drive safe,{w=0.1} [player]!" + n 4ullss "Fair enough I suppose -{w=0.1} just remember to drive safe,{w=0.1} [player]!" "I only drive sometimes.": - n 1ullss "Well hey,{w=0.1} at least you're saving on fuel,{w=0.1} right?{w=0.5}{nw}" + n 4ullss "Well hey,{w=0.1} at least you're saving on fuel,{w=0.1} right?{w=0.5}{nw}" extend 1ullsm " That doesn't sound like a bad thing to me." n 1fchsm "Besides,{w=0.1} it just means you can save the miles for ones you enjoy!" "No, I'm not driving much.": - n 1unmaj "Oh?{w=0.5}{nw}" + n 4unmaj "Oh?{w=0.5}{nw}" extend 1tllbg " That sounds like a bonus to me,{w=0.1} honestly!" n 1tnmbg "Just make sure you still get out there if you aren't driving around much though,{w=0.1} 'kay?" "No, I can't drive anymore.": - n 1tnmsl "Oh...{w=0.3} did something happen?" - n 1kllsl "I'm...{w=0.3} sorry to hear it,{w=0.1} [player]." + n 4tnmsl "Oh...{w=0.3} did something happen?" + n 3kllsl "I'm...{w=0.3} sorry to hear it,{w=0.1} [player]." n 1fsgsm "But at least that means more time to hang out with me,{w=0.1} right?{w=0.5}{nw}" extend 1fchbg " Ahaha." $ persistent.jn_player_can_drive = False @@ -2248,33 +2250,33 @@ label talk_driving: n "Anything new happening with you on the driving front?" "I'm learning to drive!": - n 1fnmss "Ooh!{w=0.5}{nw}" + n 4fnmss "Ooh!{w=0.5}{nw}" extend 1fchbg " Nice,{w=0.1} [player]!" n 1fchsm "Don't sweat the test,{w=0.1} alright?{w=0.2} I'm sure you'll do fine!" if Natsuki.isAffectionate(higher=True): - n 1uchsm "I believe in you,{w=0.1} [player]!" + n 4uchsm "I believe in you,{w=0.1} [player]!" "I passed my test!": - n 1uskgs "No kidding?{w=0.5}{nw}" - extend 1uchbs " Yaaay!{w=0.2} Congrats,{w=0.1} [player]!" + n 4uskgs "No kidding?{w=0.5}{nw}" + extend 3uchbs " Yaaay!{w=0.2} Congrats,{w=0.1} [player]!" if Natsuki.isLove(higher=True): - n 1kwmsm "I knew you could do it,{w=0.1} you big dummy!" - extend 1kchsm " Ehehe." + n 4kwmsm "I knew you could do it,{w=0.1} you big dummy!" + extend 4kchsm " Ehehe." - n 1kwmsm "Just make sure you keep up the good habits when you continue learning on your own,{w=0.1} alright?{w=0.2} Ahaha." + n 3kwmsm "Just make sure you keep up the good habits when you continue learning on your own,{w=0.1} alright?{w=0.2} Ahaha." $ persistent.jn_player_can_drive = True "I can drive again!": - n 1uchbgedz "Hey!{w=0.2} Nice going,{w=0.1} [player]!" + n 3uchbgedz "Hey!{w=0.2} Nice going,{w=0.1} [player]!" n 1fchbl "Drive safe!" $ persistent.jn_player_can_drive = True "Nope, nothing new.": - n 1unmaj "Oh?{w=0.5}{nw}" + n 4unmaj "Oh?{w=0.5}{nw}" extend 1nlrss " Well,{w=0.1} fair enough!" - n 1tnmsm "You and me both then,{w=0.1} in that case?{w=0.5}{nw}" + n 2tnmsm "You and me both then,{w=0.1} in that case?{w=0.5}{nw}" extend 1nchsm " Ahaha." return @@ -2298,8 +2300,8 @@ init 5 python: label talk_sustainable_fashion: n 1nnmaj "Hey,{w=0.1} [player]..." - n 1nllaj "This is kinda random,{w=0.1} but..." - extend 1unmpu " are you into fashion?" + n 3nllaj "This is kinda random,{w=0.1} but..." + extend 4unmpu " are you into fashion?" if Natsuki.isHappy(higher=True): n 1fcsbg "I know I am!{w=0.2} Can you tell?" extend 1nchsm " Ehehe." @@ -2307,41 +2309,41 @@ label talk_sustainable_fashion: else: n 1nnmpu "I know I am." - n 1fllpu "But what caught me by surprise is just how much waste there is." + n 3fllpu "But what caught me by surprise is just how much waste there is." if Natsuki.isNormal(higher=True): n 1uwdgs "Seriously,{w=0.1} [player] {w=0.1}-{w=0.1} it's insane!" n 1ullaj "People throw away a {i}lot{/i} of clothing...{w=0.5}{nw}" - extend 1flrem " it's estimated that we toss out around 90{w=0.3} {i}million{/i}{w=0.3} tonnes every year." + extend 3flrem " it's estimated that we toss out around 90{w=0.3} {i}million{/i}{w=0.3} tonnes every year." n 1fnman "That's a truck-full every second!{w=0.2} What a waste!" else: n 1nllbo "It's pretty insane, honestly." - n 1fnmsl "I remember reading somewhere that we toss out something like 90{w=0.3} {i}million{/i}{w=0.3} tonnes each year." + n 2fnmsl "I remember reading somewhere that we toss out something like 90{w=0.3} {i}million{/i}{w=0.3} tonnes each year." n 1fcsan "That's literally a truck-full {i}every{w=0.3} second{/i}." - n 1fsrem "And we haven't even began to talk about the amount of water used for washing and plastic used for packaging too." + n 2fsrem "And we haven't even began to talk about the amount of water used for washing and plastic used for packaging too." n 1ksrsr "...Or the conditions some of the workers making our clothes have to put up with." if Natsuki.isNormal(higher=True): n 1fcssm "It's actually one of the reasons I began learning how to sew!" - n 1klrsr "I've...{w=0.3} never had tons of money to buy more clothes anyway,{w=0.1} so I try to reuse and fix up what I can." + n 2klrsr "I've...{w=0.3} never had tons of money to buy more clothes anyway,{w=0.1} so I try to reuse and fix up what I can." n 1fchbg "But you'd be surprised at what you can pull off with a little creativity!" extend 1fcssm " And just a pinch of know-how too,{w=0.1} obviously." - n 1fchgn "Betcha didn't know my favourite pink skirt was hand-made,{w=0.1} did you?" + n 4fchgn "Betcha didn't know my favourite pink skirt was hand-made,{w=0.1} did you?" n 1unmaj "I think I've lectured you enough now,{w=0.1} [player],{w=0.1} so I won't keep harping on about it." - n 1nllpu "But...{w=0.3} the next time you're out shopping for clothes,{w=0.1} or looking through some catalogues online?" - n 1unmpu "Just spare a thought for the environment,{w=0.1} would you?" + n 3nllpu "But...{w=0.3} the next time you're out shopping for clothes,{w=0.1} or looking through some catalogues online?" + n 3unmpu "Just spare a thought for the environment,{w=0.1} would you?" if Natsuki.isAffectionate(higher=True): n 1kllssl "For me?" n 1nchbg "Ahaha.{w=0.5}{nw}" - extend 1uchsm " Thanks,{w=0.1} [player]!" + extend 4uchsm " Thanks,{w=0.1} [player]!" elif Natsuki.isNormal(higher=True): n 1nchbg "Ahaha.{w=0.5}{nw}" - extend 1uchsm " Thanks,{w=0.1} [player]!" + extend 4uchsm " Thanks,{w=0.1} [player]!" else: n 1nllsl "Thanks." @@ -2369,41 +2371,41 @@ label talk_give_nickname: # Natsuki hasn't been nicknamed before, or is rocking her normal name if persistent._jn_nicknames_natsuki_allowed and persistent._jn_nicknames_natsuki_current_nickname == "Natsuki": n 1unmaj "Eh?{w=0.2} You want to give me a nickname?" - n 1fsqsl "Why?{w=0.2} Natsuki not good enough for you?{w=0.2} Is that it?" - extend 1fsqpu " Huh?{w=0.2} Come on, [player]!{w=0.2} Spit it out!" + n 2fsqsl "Why?{w=0.2} Natsuki not good enough for you?{w=0.2} Is that it?" + extend 4fsqpu " Huh?{w=0.2} Come on, [player]!{w=0.2} Spit it out!" n 1fsqsm "..." n 1fchbg "Relax,{w=0.1} [player]!{w=0.2} Jeez!{w=0.2} I'm just kidding!" extend 1fchsm " Ehehe." - n 1ullbg "Well...{w=0.3} I don't see why not!" + n 3ullbg "Well...{w=0.3} I don't see why not!" # Another nickname is being assigned else: # Account for strikes if persistent._jn_nicknames_natsuki_bad_given_total == 0: - n 1unmaj "Oh?{w=0.2} You wanna give me another nickname?" + n 4unmaj "Oh?{w=0.2} You wanna give me another nickname?" n 1uchbg "Sure,{w=0.1} why not!" elif persistent._jn_nicknames_natsuki_bad_given_total == 1: - n 1unmaj "You want to give me a new nickname?" + n 4unmaj "You want to give me a new nickname?" n 1unmbo "Alright,{w=0.1} [player]." elif persistent._jn_nicknames_natsuki_bad_given_total == 2: n 1nnmsl "Another nickname,{w=0.1} [player]?{w=0.5}{nw}" extend 1nllsl " Fine." - n 1ncsaj "Just...{w=0.3} think a little about what you choose,{w=0.1} 'kay?" + n 2ncsaj "Just...{w=0.3} think a little about what you choose,{w=0.1} 'kay?" elif persistent._jn_nicknames_natsuki_bad_given_total == 3: n 1nnmsl "Alright,{w=0.1} [player]." - n 1fsqpu "Just remember.{w=0.3} You've had your final warning about this." + n 2fsqpu "Just remember.{w=0.3} You've had your final warning about this." n 1nsqsl "Don't let me down again." # Validate the nickname, respond appropriately $ nickname = renpy.input(prompt="What did you have in mind,{w=0.2} [player]?", allow=jn_globals.DEFAULT_ALPHABETICAL_ALLOW_VALUES, length=10).strip() if nickname.lower() == "nevermind": - n 1tnmpu "Huh?{w=0.2} You changed your mind?" - n 1tllpu "Well...{w=0.3} alright then." + n 4tnmpu "Huh?{w=0.2} You changed your mind?" + n 4tllpu "Well...{w=0.3} alright then." n 1nnmaj "Just let me know if you actually want to call me something else then,{w=0.1} 'kay?" return @@ -2411,7 +2413,7 @@ label talk_give_nickname: $ nickname_type = jn_nicknames.get_natsuki_nickname_type(nickname) if nickname_type == jn_nicknames.NicknameTypes.invalid: - n 1tlraj "Uhmm...{w=0.3} [player]?" + n 2tlraj "Uhmm...{w=0.3} [player]?" n 1tnmaj "I don't think that's a nickname at all." n 1tllss "I'll...{w=0.3} just stick with what I have now,{w=0.1} thanks." return @@ -2427,36 +2429,36 @@ label talk_give_nickname: return elif nickname_type == jn_nicknames.NicknameTypes.disliked: - n 1fsqbo "Come on,{w=0.1} [player]...{w=0.3} really?" - n 1fllsl "You knew I'm not gonna be comfortable being called that." + n 2fsqbo "Come on,{w=0.1} [player]...{w=0.3} really?" + n 2fllsl "You knew I'm not gonna be comfortable being called that." n 1fcssl "..." n 1nlraj "I'm...{w=0.3} just going to pretend you didn't say that,{w=0.1} alright?" return elif nickname_type == jn_nicknames.NicknameTypes.hated: - n 1fskem "W-{w=0.1}what?{w=0.5}{nw}" + n 2fskem "W-{w=0.1}what?{w=0.5}{nw}" extend 1fscwr " What did you just call me?!" - n 1fcsan "[player]!{w=0.2} I can't believe you!" - n 1fcsfu "Why would you call me that?{w=0.5}{nw}" + n 2fcsan "[player]!{w=0.2} I can't believe you!" + n 2fcsfu "Why would you call me that?{w=0.5}{nw}" extend 1fsqfu " That's {i}awful{/i}!" n 1fcspu "..." $ persistent._jn_nicknames_natsuki_bad_given_total += 1 elif nickname_type == jn_nicknames.NicknameTypes.profanity: - n 1fskpu "E-{w=0.1}excuse me?!" - n 1fskfu "What the hell did you just call me,{w=0.1} [player]?!" + n 4fskpu "E-{w=0.1}excuse me?!" + n 2fskfu "What the hell did you just call me,{w=0.1} [player]?!" n 1fcsan "..." n 1fslan "I seriously can't believe you,{w=0.1} [player].{w=0.5}{nw}" - extend 1fnman " Why would you do that?{w=0.1} Are you {i}trying{/i} to get on my nerves?!" + extend 2fnman " Why would you do that?{w=0.1} Are you {i}trying{/i} to get on my nerves?!" n 1fcspu "..." $ persistent._jn_nicknames_natsuki_bad_given_total += 1 elif nickname_type == jn_nicknames.NicknameTypes.funny: - n 1nbkdv "Pffft!" + n 4nbkdvesm "Pffft!" n 1uchbselg "Ahaha!" n 1fbkbs "[nickname]?!{w=0.2} What was that meant to be,{w=0.1} [player]?" - n 1fbkbs "Well...{w=0.3} you're just lucky I have a healthy sense of humour." - n 1fsgbg "[nickname] it is,{w=0.1} I guess!{w=0.5}{nw}" + n 4fchbg "Well...{w=0.3} you're just lucky I have a healthy sense of humor." + n 4fsgbg "[nickname] it is,{w=0.1} I guess!{w=0.5}{nw}" extend 1fchgn " Ehehe." $ persistent._jn_nicknames_natsuki_current_nickname = nickname @@ -2464,7 +2466,7 @@ label talk_give_nickname: return elif nickname_type == jn_nicknames.NicknameTypes.nou: - n 1usqsg "No you~." + n 2usqsg "No you~." return else: @@ -2473,37 +2475,37 @@ label talk_give_nickname: # Check and respond to easter egg nicknames if nickname.lower() == "natsuki": n 1fllss "Uhmm...{w=0.5}{nw}" - extend 1tnmdv " [player]?" + extend 4tnmdv " [player]?" $ chosen_tease = jn_utils.getRandomTease() n 1fchbg "That's just my normal name,{w=0.1} [chosen_tease]!" - n 1fcsca "Honestly...{w=0.5}{nw}" - extend 1ksgsg " sometimes I wonder why I bother." + n 3fcsca "Honestly...{w=0.5}{nw}" + extend 3ksgsg " sometimes I wonder why I bother." n 1unmbg "Well,{w=0.1} I'm not complaining!{w=0.2} If it isn't broke,{w=0.1} don't fix it -{w=0.1} right?" n 1nchbg "Ahaha." $ neutral_nickname_permitted = True elif nickname.lower() == "thiccsuki": - n 1kllunl "..." - n 1fnmssl "D-{w=0.1}dreaming big,{w=0.1} are we,{w=0.1} [player]?" + n 3kllunl "..." + n 3fnmssl "D-{w=0.1}dreaming big,{w=0.1} are we,{w=0.1} [player]?" n 1klrsrl "Uhmm..." - n 1klrpol "I'm...{w=0.3} really...{w=0.3} not a fan,{w=0.1} but if it's what you prefer..." + n 4klrpol "I'm...{w=0.3} really...{w=0.3} not a fan,{w=0.1} but if it's what you prefer..." $ neutral_nickname_permitted = True elif nickname.lower() == persistent.playername.lower(): - n 1fsldv "I...{w=0.3} don't think you thought this through,{w=0.1} [player]." + n 4fsldv "I...{w=0.3} don't think you thought this through,{w=0.1} [player]." n 1tnmbg "Do you even know how confusing that'd be?" n 1tlrss "I...{w=0.3} think I'll just stick to what works,{w=0.1} 'kay?{w=0.5}{nw}" - extend 1fsqsm " Ehehe." + extend 4fsqsm " Ehehe." n 1uchbg "Nice try though!" # Fallback for anything not categorised else: n 1fllsr "Hmm...{w=0.5}{nw}" extend 1ullpu " [nickname],{w=0.1} huh?" - n 1fllss "[nickname]..." + n 4fllss "[nickname]..." n 1fnmbg "You know what?{w=0.2} Yeah!{w=0.2} I like it!" - n 1fchbg "Consider it done,{w=0.1} [player]!{w=0.5}{nw}" - extend 1uchsm " Ehehe." + n 3fchbg "Consider it done,{w=0.1} [player]!{w=0.5}{nw}" + extend 3uchsm " Ehehe." $ neutral_nickname_permitted = True # Finally, assign the neutral/easter egg nickname if it was permitted by Natsuki @@ -2515,11 +2517,11 @@ label talk_give_nickname: # Handle strikes if persistent._jn_nicknames_natsuki_bad_given_total == 1: - n 1kllsf "Jeez,{w=0.1} [player]...{w=0.3} that isn't like you at all!{w=0.5}{nw}" + n 2kllsf "Jeez,{w=0.1} [player]...{w=0.3} that isn't like you at all!{w=0.5}{nw}" extend 1knmaj " What's up with you today?" n 1kcssl "..." n 1knmsl "Just...{w=0.3} don't do that again,{w=0.1} okay?" - n 1fsqsl "That really hurt,{w=0.1} [player].{w=0.2} Don't abuse my trust." + n 2fsqsl "That really hurt,{w=0.1} [player].{w=0.2} Don't abuse my trust." # Apply penalty and pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.bad_nickname) @@ -2527,11 +2529,11 @@ label talk_give_nickname: elif persistent._jn_nicknames_natsuki_bad_given_total == 2: n 1fsqsl "I can't believe you did that again to me,{w=0.1} [player]." - n 1fsqan "I told you it hurts,{w=0.1} and you went ahead anyway!" + n 2fsqan "I told you it hurts,{w=0.1} and you went ahead anyway!" n 1fcsan "..." n 1fcsun "I...{w=0.3} really...{w=0.3} like you, [player].{w=0.5}{nw}" - extend 1kllun " It hurts extra bad when it's you." - n 1fsqsr "Don't test my patience like this.{w=0.2} You're better than that." + extend 4kllun " It hurts extra bad when it's you." + n 2fsqsr "Don't test my patience like this.{w=0.2} You're better than that." # Apply penalty and pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.bad_nickname) @@ -2539,15 +2541,15 @@ label talk_give_nickname: elif persistent._jn_nicknames_natsuki_bad_given_total == 3: n 1fsqan "You are honestly unbelievable,{w=0.1} [player]." - n 1fnmfu "I've told you so many times now,{w=0.1} and you still won't knock it off!" + n 2fnmfu "I've told you so many times now,{w=0.1} and you still won't knock it off!" n 1fcspu "..." - n 1fsqpu "No more warnings,{w=0.1} [player]." + n 2fsqpu "No more warnings,{w=0.1} [player]." menu: n "Understand?" "I understand.": n 1fsqsr "You understand,{w=0.1} do you?" - n 1fsqan "...Then start acting like it,{w=0.1} [player]." + n 2fsqan "...Then start acting like it,{w=0.1} [player]." n 1fslsl "Thanks." $ Natsuki.percentageAffinityLoss(3) @@ -2555,7 +2557,7 @@ label talk_give_nickname: "...": n 1fcssl "Look.{w=0.2} I'm not kidding around,{w=0.1} [player]." n 1fnmpu "Acting like this isn't funny,{w=0.1} or cute." - n 1fsqem "It's toxic." + n 2fsqem "It's toxic." n 1fsqsr "I don't care if you're trying to pull my leg.{w=0.2} Quit it." $ Natsuki.percentageAffinityLoss(5) @@ -2565,11 +2567,11 @@ label talk_give_nickname: elif persistent._jn_nicknames_natsuki_bad_given_total == 4: # Player is locked out of nicknaming; this is why we can't have nice things - n 1fcsan "Yeah,{w=0.1} no.{w=0.2} I've heard enough.{w=0.2} I don't need to hear any more." + n 2fcsan "Yeah,{w=0.1} no.{w=0.2} I've heard enough.{w=0.2} I don't need to hear any more." n 1fnmem "When will you learn that your actions have consequences?" n 1fcspu "..." n 1fnmpu "You know what?{w=0.5}{nw}" - extend 1fsqpu " Don't even bother answering." + extend 2fsqpu " Don't even bother answering." n 1fsqsr "I warned you,{w=0.1} [player].{w=0.2} Remember that." # Apply affinity/trust penalties, then revoke nickname priveleges and finally apply pending apology @@ -2603,60 +2605,60 @@ init 5 python: label talk_sleeping_well: n 1fllpu "Huh..." - n 1fllpu "Hey,{w=0.1} [player].{w=0.5}{nw}" + n 4uwdaj "Hey,{w=0.1} [player].{w=0.5}{nw}" extend 1nnmaj " Let me ask you a question,{w=0.1} 'kay?" - n 1fsqsr "How do you sleep at night?" + n 2fsqsr "How do you sleep at night?" n 1fsqpu "Be honest.{w=0.2} How do you do it?" n 1ksqsm "..." - n 1fchsm "Ehehe.{w=0.2} Did I get you?" + n 3fchsm "Ehehe.{w=0.2} Did I get you?" n 1unmaj "But seriously,{w=0.2} [player].{w=0.5}{nw}" - extend 1tnmaj " Do you struggle with your sleep?" + extend 4tnmaj " Do you struggle with your sleep?" # Quip if the player has been around a while, or has admitted they're tired if jn_utils.get_current_session_length().total_seconds() / 3600 >= 12: - n 1fsqpo "I mean,{w=0.1} you {i}have{/i} been here for a while now..." + n 2fsqpo "I mean,{w=0.1} you {i}have{/i} been here for a while now..." n 1ullaj "So...{w=0.5}{nw}" extend 1nnmaj " I kinda figured you might be feeling a little sleepy anyway." elif jn_admissions.last_admission_type == jn_admissions.TYPE_TIRED: - n 1fllpo "I mean,{w=0.1} you even {i}said{/i} you were tired before." + n 2fllpo "I mean,{w=0.1} you even {i}said{/i} you were tired before." n 1ullaj "So...{w=0.5}{nw}" extend 1nnmaj " it only makes sense to ask,{w=0.1} right?{w=0.2} Anyway..." - n 1nnmaj "I'll admit,{w=0.1} I get the odd sleepless night myself.{w=0.5}{nw}" - extend 1fbkwr " It's the worst!" + n 2fslpu "I'll admit,{w=0.1} I get the odd sleepless night myself.{w=0.5}{nw}" + extend 4fbkwr " It's the worst!" n 1fllem "There's nothing I hate more than tossing and turning,{w=0.3}{nw}" - extend 1fcsan " just waiting for my body to decide it's time for tomorrow to happen." + extend 2fcsan " just waiting for my body to decide it's time for tomorrow to happen." n 1ullaj "But...{w=0.5}{nw}" - extend 1fnmss " you know what they say,{w=0.1} [player]." - n 1fcsss "With suffering...{w=0.5}{nw}" - extend 1uchbg " ...comes wisdom!" + extend 4fnmss " you know what they say,{w=0.1} [player]." + n 3fcsss "With suffering...{w=0.5}{nw}" + extend 3uchbg " ...comes wisdom!" n 1nsqbg "And luckily for you,{w=0.1} I don't mind sharing.{w=0.5}{nw}" extend 1nchsm " Ehehe." n 1fcsbg "So,{w=0.1} listen up -{w=0.1} it's time for another lesson from yours truly!" n 1fnmaj "Alright -{w=0.1} first,{w=0.1} cut the crap!{w=0.2} If you're trying to sleep,{w=0.1} anything high-sugar or high-caffeine is your enemy." - n 1fllss "So before anything else,{w=0.1} ditch the soda and coffee.{w=0.2} You can thank me later." + n 3fllss "So before anything else,{w=0.1} ditch the soda and coffee.{w=0.2} You can thank me later." n 1fcsaj "Next up -{w=0.1} no screens!{w=0.5}{nw}" - extend 1fsqpo " Including this one, [player]." + extend 4fsqpo " Including this one, [player]." n 1unmsl "No screen means no bright lights or distractions to keep you up,{w=0.1} obviously." n 1fnmpu "If you're tired then the last thing you need is something beaming whatever at you." if jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.anime_streaming): - n 1tsqsr "And no, [player] {w=0.1}-{w=0.3}{nw}" - extend 1fnmpo " No late-night anime binging sessions either." + n 3tsqsr "And no, [player] {w=0.1}-{w=0.3}{nw}" + extend 3fnmpo " No late-night anime binging sessions either." n 1nchgn "Sorry~!" n 1fcsbg "Moving on, next is temperature!{w=0.2} If it's hot,{w=0.1} use thinner sheets and vice versa." n 1fcspu "Nothing disrupts your sleep more than having to rip off blankets,{w=0.1} or pull some out." - n 1fsgsg "Keeping up with me so far,{w=0.1} [player]?{w=0.5}{nw}" - extend 1fchgn " I'm almost done,{w=0.1} don't worry." + n 3fsgsg "Keeping up with me so far,{w=0.1} [player]?{w=0.5}{nw}" + extend 4fchgn " I'm almost done,{w=0.1} don't worry." n 1unmaj "Lastly...{w=0.5}{nw}" extend 1fchbg " get comfortable!" n 1nnmsm "Make sure you have enough pillows to support your head,{w=0.1} or maybe even play some quiet music if you find that helps." n 1fcssm "...And that's about it!" n 1nllss "You should have known at least a few of those already,{w=0.3}{nw}" - extend 1unmss " but at any rate..." - n 1fwlbg "I hope you can rest easy with your newfound knowledge,{w=0.1} [player]!" + extend 4unmss " but at any rate..." + n 3fwlbg "I hope you can rest easy with your newfound knowledge,{w=0.1} [player]!" n 1uchsm "Ehehe." return @@ -2681,51 +2683,51 @@ label talk_aging: n 1unmaj "You know,{w=0.1} [player]..." n 1nllpu "I think most people share a bunch of fears." n 1unmpu "You get what I mean,{w=0.1} right?{w=0.2} Like presenting stuff to a room full of people,{w=0.1} or failing a test." - n 1tlrss "Of course,{w=0.1} it's rare to find one that {i}everyone{/i} has..." + n 3tlrss "Of course,{w=0.1} it's rare to find one that {i}everyone{/i} has..." n 1tnmaj "Or at least something that makes anyone feel uneasy." n 1unmbg "But...{w=0.3} I think I found one!" - n 1usgsm "What am I thinking of,{w=0.1} you ask?" + n 4usgsm "What am I thinking of,{w=0.1} you ask?" n 1ullaj "Well...{w=0.3} it's actually kinda boring,{w=0.1} really." n 1nnmbo "I was actually thinking about growing older." - n 1unmpu "Have you ever thought much about it,{w=0.1} [player]?" - n 1fllbg "It's probably the last thing on your mind if you're pretty young." + n 3unmpu "Have you ever thought much about it,{w=0.1} [player]?" + n 4fllbg "It's probably the last thing on your mind if you're pretty young." n 1nwmpu "But I think as you actually get older,{w=0.1} it starts to creep in." n 1kllpu "You might have less energy,{w=0.1} or friends and family begin drifting away..." - n 1knmem "Birthdays lose all meaning -{w=0.1} you might even dread them!" + n 2knmem "Birthdays lose all meaning -{w=0.1} you might even dread them!" n 1ullaj "The signs appear in a bunch of ways,{w=0.3}{nw}" extend 1knmsl " but that's what makes it unnerving." n 1kllaj "Everyone experiences it differently,{w=0.3}{nw}" - extend 1kskaw " and we don't even know what happens after the end!" + extend 2ksksl " and we don't even know what happens after the end!" n 1klrss "Spooky,{w=0.1} huh?" n 1ulrpu "Although...{w=0.3} I guess you could say that's more the fear of the unknown than aging itself." - n 1flraj "What does wind me up though is how immature people can be about it." + n 2flraj "What does wind me up though is how immature people can be about it." n 1fnmaj "Especially when it comes to relationships between different ages!" - n 1fslsf "People just get so preachy about it..." + n 2fslsf "People just get so preachy about it..." n 1fllaj "Like...{w=0.3} as long as they're both happy,{w=0.2} it's all legal,{w=0.3}{nw}" - extend 1fnmem " and nobody is being hurt or made uncomfortable,{w=0.1} who {i}actually{/i} cares?" - n 1nlrpu "It's just like most stuff,{w=0.1} really." + extend 4fnmem " and nobody is being hurt or made uncomfortable,{w=0.1} who {i}actually{/i} cares?" + n 2nlrpu "It's just like most stuff,{w=0.1} really." n 1unmaj "Besides,{w=0.1} it's not like being a certain age means you {i}have{/i} to be a certain way." n 1fchbg "I mean...{w=0.3} look at Yuri!" n 1uchgn "Being all old-fashioned like that -{w=0.1} you'd think she's retired!" - n 1nllbg "But anyway...{w=0.3} I think we got side-tracked." + n 4nllbg "But anyway...{w=0.3} I think we got side-tracked." n 1unmss "I don't really care how old you are,{w=0.1} [player]." if Natsuki.isLove(higher=True): $ chosen_tease = jn_utils.getRandomTease() - n 1klrpol "Y-{w=0.1}you better know that I love you all the same,{w=0.1} [chosen_tease]." - n 1knmpol "Don't forget that,{w=0.1} 'kay?" - n 1flrpol "I'll get mad if you do.{w=0.5}{nw}" + n 3klrpol "Y-{w=0.1}you better know that I love you all the same,{w=0.1} [chosen_tease]." + n 3knmpol "Don't forget that,{w=0.1} 'kay?" + n 4flrpol "I'll get mad if you do.{w=0.5}{nw}" extend 1klrbgl " Ahaha..." elif Natsuki.isEnamored(higher=True): - n 1fllbgl "You've been pretty awesome to me all the same." + n 2fllbgl "You've been pretty awesome to me all the same." elif Natsuki.isHappy(higher=True): - n 1fchbgl "You're always fun to hang around with!" + n 4fchbgl "You're always fun to hang around with!" else: n 1fllbg "But...{w=0.3} just in case?" - n 1fsqsg "We're only having one candle on your birthday cake.{w=0.2} Sorry.{w=0.5}{nw}" + n 2fsqsg "We're only having one candle on your birthday cake.{w=0.2} Sorry.{w=0.5}{nw}" extend 1uchbgelg " Ahaha!" return @@ -2747,63 +2749,63 @@ init 5 python: label talk_work_life_balance: if Natsuki.isUpset(higher=True): - n 1ullaj "You know,{w=0.1} [player]..." + n 4ullaj "You know,{w=0.1} [player]..." n 1nnmaj "I think it's pretty easy to let your academic or work life creep into your personal time nowadays." - n 1nlrsl "I mean...{w=0.3} think about it." + n 2nlrsl "I mean...{w=0.3} think about it." n 1nnmsl "With everyone having mobile phones,{w=0.1} plus usually some kinda computer at home -{w=0.1} it's hard not to be connected somehow." - n 1flrbo "And like...{w=0.3} if there's already that connection,{w=0.1} then what's to stop work from bugging you during your time off?" - n 1fsrbo "Or classmates asking for help at the last possible minute?" + n 2flrbo "And like...{w=0.3} if there's already that connection,{w=0.1} then what's to stop work from bugging you during your time off?" + n 2fsrun "Or classmates asking for help at the last possible minute?" if Natsuki.isUpset(higher=True): n 1fcsem "It just gets annoying -{w=0.1} like everyone expects you to always be around to chip in a little more,{w=0.1} or get something done!" - n 1fnmpo "Overwhelming,{w=0.1} right?" + n 2fnmpo "Overwhelming,{w=0.1} right?" n 1fllaj "Huh.{w=0.2} Actually...{w=0.3} now that I think about it..." - n 1fnmsf "It isn't like that kind of intrusion is only limited to when you're away either." + n 4fnmsf "It isn't like that kind of intrusion is only limited to when you're away either." n 1fslpu "I've heard {i}way{/i} too many stories of people doing stupid amounts of overtime at work...{w=0.5}{nw}" - extend 1fnman " sometimes not even paid!" + extend 3fnman " sometimes not even paid!" n 1fsran "Or even students studying late into the night until they collapse...{w=0.3} it's crazy!" else: n 1fsqpu "It just gets annoying -{w=0.1} everyone expects you to always be around to do more." - n 1fslsl "Actually,{w=0.1} now that I think about it..." + n 2fslsl "Actually,{w=0.1} now that I think about it..." n 1fcsaj "It isn't like that kind of thing is only limited to when you're away either." n 1fsrsr "I've heard too many stories of people doing stupid amounts of overtime at work.{w=0.5}{nw}" - extend 1fsqan " Often not even paid." + extend 3fsqan " Often not even paid." n 1fslem "Or even students studying late into the night until they collapse..." if Natsuki.isNormal(higher=True): n 1kcsemesi "Ugh...{w=1} I just wish people would value their own time more." n 1klrsr "..." - n 1unmaj "Hey,{w=0.1} [player]..." + n 4unmaj "Hey,{w=0.1} [player]..." n 1nllaj "I don't know if you're working,{w=0.1} or studying,{w=0.1} or what..." - n 1fnmsf "But you better not be letting whatever it is take over your life.{w=0.2} Understand?" + n 3fnmsf "But you better not be letting whatever it is take over your life.{w=0.2} Understand?" if Natsuki.isEnamored(higher=True): n 1knmpu "You are {i}more{/i} than your career,{w=0.1} or your education.{w=0.2} You have your own wants and needs that matter too." - n 1kllun "I don't want some dumb job or stupid assignment to take over your life." + n 3kllun "I don't want some dumb job or stupid assignment to take over your life." n 1fcsun "You're...{w=0.3} way more important than either of those,{w=0.1} [player].{w=0.2} Trust me." if Natsuki.isLove(higher=True): - n 1fllun "Besides..." + n 4fllun "Besides..." n 1fllssl "You and your time are mine first, [player]." - n 1flldvl "I already called dibs,{w=0.1} a-{w=0.1}after all.{w=0.5}{nw}" - extend 1fchsml " Ehehe..." + n 3flldvl "I already called dibs,{w=0.1} a-{w=0.1}after all.{w=0.5}{nw}" + extend 3fchsml " Ehehe..." else: $ chosen_tease = jn_utils.getRandomTease() - n 1kllpo "People are more than what they do for a living,{w=0.1} after all.{w=0.2} And that includes you too, [chosen_tease]!" + n 3kllpo "People are more than what they do for a living,{w=0.1} after all.{w=0.2} And that includes you too, [chosen_tease]!" elif Natsuki.isDistressed(higher=True): - n 1fllsr "Makes me wish people would value their own time more." + n 3fllsr "Makes me wish people would value their own time more." n 1fnmsr "...I guess that includes you too,{w=0.1} [player]." n 1fllpu "You've got better things to do." - n 1fsqsf "...Like being a decent friend to others for a change.{w=0.2} Am I right?" + n 2fsqsf "...Like being a decent friend to others for a change.{w=0.2} Am I right?" else: n 1fslbo "People need to value their own time more,{w=0.1} I guess." n 1fcssl "...Heh." - n 1fcsunl "Maybe I should follow my own advice..." + n 3fcsunl "Maybe I should follow my own advice..." n 1fsqanltsb "Because {i}clearly{/i} being here is a waste of my time too." return @@ -2826,35 +2828,35 @@ init 5 python: label talk_using_headphones_carefully: n 1unmaj "..." - n 1tnmaj "...?" - n 1fnmaw "...!" + n 4tnmaj "...?" + n 2fnmaw "...!" n 1fbkwr "...[player]!" - n 1fnmpo "[player]!{w=0.2} Finally!{w=0.2} Can you hear me now?" - n 1fllpo "Jeez...{w=0.3} took you long enough!" + n 3fnmpo "[player]!{w=0.2} Finally!{w=0.2} Can you hear me now?" + n 3fllpo "Jeez...{w=0.3} took you long enough!" n 1fslsm "..." n 1uchbg "Ehehe." - n 1fnmbg "Admit it,{w=0.1} [player]!{w=0.2} I'll get you one of these days." + n 4fnmbg "Admit it,{w=0.1} [player]!{w=0.2} I'll get you one of these days." n 1nnmaj "Seriously though -{w=0.1} do you use headphones or anything like that often?" - n 1nlrpo "I'll admit,{w=0.1} I probably use mine more than I should." + n 3nlrpo "I'll admit,{w=0.1} I probably use mine more than I should." n 1fnmaj "I was kinda joking about the whole hearing thing,{w=0.1} but this is important,{w=0.1} [player]." n 1nlrss "I like cranking it up too -{w=0.1} just don't make a bad habit of it." - n 1unmsl "There's even warnings in some countries if you have the volume up too loud..." + n 4unmsl "There's even warnings in some countries if you have the volume up too loud..." n 1fllem "...And for a good reason!" - n 1fnmpo "Not just to protect your ears either -{w=0.1} you better be careful wearing them out and about too." + n 2fnmpo "Not just to protect your ears either -{w=0.1} you better be careful wearing them out and about too." n 1fcsem "I don't wanna hear about you getting knocked over because you didn't hear something coming!" - n 1unmbo "Oh -{w=0.1} and one last thing,{w=0.1} actually." + n 4unmbo "Oh -{w=0.1} and one last thing,{w=0.1} actually." n 1unmpu "You might wear them to focus at work or relax at home -{w=0.1} and that's fine!" - n 1nnmsr "But please,{w=0.1} [player]." - n 1flrsr "...Take them off every once and a while,{w=0.1} will you?{w=0.2} For other people,{w=0.1} I mean." + n 2nnmsr "But please,{w=0.1} [player]." + n 4flrsr "...Take them off every once and a while,{w=0.1} will you?{w=0.2} For other people,{w=0.1} I mean." n 1ncsbo "I get it -{w=0.1} if you just wanna listen to something in peace,{w=0.1} or give yourself some room,{w=0.1} that's okay." if jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.music_applications): n 1kslbg "I know you like your music streaming." n 1nsqbo "But don't use them to barricade yourself away from everyone and everything." - n 1ksrsl "It's...{w=0.3} not healthy to do that either,{w=0.1} [player]." + n 2ksrsl "It's...{w=0.3} not healthy to do that either,{w=0.1} [player]." n 1nchsm "...And that's about all I had to say!" - n 1fchbg "Thanks for {i}hearing{/i} me out,{w=0.1} [player]!{w=0.2} Ehehe." + n 4fchbg "Thanks for {i}hearing{/i} me out,{w=0.1} [player]!{w=0.2} Ehehe." return # Natsuki discusses her dislike of the horror genre @@ -2875,60 +2877,60 @@ init 5 python: label talk_thoughts_on_horror: if Natsuki.isNormal(higher=True): - n 1unmaj "You know,{w=0.1} [player]..." + n 4unmaj "You know,{w=0.1} [player]..." n 1tllaj "I don't think I ever actually explained why I dislike horror so much." n 1tlrss "I know I mentioned it before,{w=0.1} but I was kinda caught off guard at the time." - n 1unmaj "Honestly?" + n 3unmaj "Honestly?" n 1nnmsm "Everyone has their tastes,{w=0.1} right? And I can get why people enjoy it." elif Natsuki.isDistressed(higher=True): n 1nllbo "I don't think I explained why I dislike horror." - n 1nnmsl "I get everyone has their tastes,{w=0.1} but I don't care for it." + n 2nnmsl "I get everyone has their tastes,{w=0.1} but I don't care for it." else: n 1kslsl "..." - n 1fsqun "...I was about to share some of my thoughts on horror with you.{w=1}{nw}" + n 2fsqun "...I was about to share some of my thoughts on horror with you.{w=1}{nw}" extend 1fsrsl " Or at least,{w=0.1} I was thinking about it." - n 1fsqem "...But then do you know what I realized,{w=0.1} [player]?" + n 2fsqem "...But then do you know what I realized,{w=0.1} [player]?" n 1fsqan "I hate horror -{w=0.5}{nw}" extend 1fllem " not that you'd care -{w=0.3}{nw}" - extend 1fnmful " and honestly?" + extend 4fnmful " and honestly?" n 1fcsanltsa "Being stuck here with {i}you{/i} is horror enough." return if Natsuki.isNormal(higher=True): n 1fchbg "Like Yuri!" n 1fcsss "It's suspenseful,{w=0.1} and fears are a super powerful motivator for characters!" - n 1ullpu "So don't get me wrong{w=0.1} -{w=0.1} I can totally appreciate the effort that goes into it." - n 1fllpol "...When it isn't just stupid jumpscares,{w=0.1} a-{w=0.1}anyway." + n 4ullpu "So don't get me wrong{w=0.1} -{w=0.1} I can totally appreciate the effort that goes into it." + n 2fllpol "...When it isn't just stupid jumpscares,{w=0.1} a-{w=0.1}anyway." else: - n 1ullpu "I get the effort that goes into it.{w=0.2} For the most part." + n 2uslbo "I get the effort that goes into it.{w=0.2} For the most part." n 1nllpu "But..." n 1nnmbo "When I read something -{w=0.1} or watch something -{w=0.1} I'm doing it because for me,{w=0.1} it's how I relax." n 1fllbo "I don't want to be made to feel uneasy." - n 1fllpu "I don't want to be made to jump." - n 1fllsr "I don't want to have to see gross stuff." + n 2fllpu "I don't want to be made to jump." + n 2fllsr "I don't want to have to see gross stuff." n 1fcssr "I...{w=0.3} just want to sit back,{w=0.1} feel good and just escape for a while." - n 1fnmsl "There's more than enough nasty things going out there already,{w=0.1} you know?" + n 4fnmsl "There's more than enough nasty things going out there already,{w=0.1} you know?" n 1flrpu "Some things closer to home than others." n 1fcssl "..." n 1nnmaj "So...{w=0.3} yeah.{w=0.1} That's about all I had to say about it." if Natsuki.isAffectionate(higher=True): n 1unmss "Though...{w=0.3} if you want to put something on,{w=0.1} [player]?{w=0.2} Go ahead." - n 1fllssl "If it's you,{w=0.1} I {i}think{/i} I can deal with it." - n 1flrpol "But...{w=0.3} we're keeping the volume low.{w=0.2} Got it?" + n 2fllssl "If it's you,{w=0.1} I {i}think{/i} I can deal with it." + n 2flrpol "But...{w=0.3} we're keeping the volume low.{w=0.2} Got it?" elif Natsuki.isNormal(higher=True): n 1nnmaj "Don't mind me though,{w=0.1} [player].{w=0.2} If you wanna watch something,{w=0.1} go for it." - n 1flrcal "But you're watching it solo." + n 2flrcal "But you're watching it solo." elif Natsuki.isDistressed(higher=True): n 1flrsl "..." n 1fnmpu "I {i}would{/i} ask that if you were gonna watch something like that,{w=0.1} then to warn me first." - n 1fsqsrtsb "But you wouldn't listen to me anyway,{w=0.1} would you?" + n 2fsqsrtsb "But you wouldn't listen to me anyway,{w=0.1} would you?" return @@ -2949,70 +2951,70 @@ init 5 python: label talk_gaming: if Natsuki.isNormal(higher=True): - n 1unmaj "Gaming?" + n 4unmaj "Gaming?" n 1fcsbg "Well...{w=0.3} duh!" n 1fnmbg "You bet I'm into gaming,{w=0.1} [player]!" - n 1ullss "I wouldn't say I'm the most active player...{w=0.2} but I definitely do my share of button mashing." + n 3ullss "I wouldn't say I'm the most active player...{w=0.2} but I definitely do my share of button mashing." n 1nslsg "Hmm..." - n 1tnmss "I don't think I even need to ask,{w=0.1} but..." + n 4tnmss "I don't think I even need to ask,{w=0.1} but..." menu: n "What about you,{w=0.1} [player]?{w=0.2} Do you play often?" "Absolutely!": $ persistent.jn_player_gaming_frequency = "High" - n 1fcsbg "Yep!{w=0.2} Just as I suspected..." + n 3fcsbg "Yep!{w=0.2} Just as I suspected..." n 1uchgn "[player] is a mega-dork." - n 1uchbselg "Ahaha!" + n 4uchbselg "Ahaha!" n 1uchsm "Relax,{w=0.1} [player]!" - n 1fllssl "I'm not much better,{w=0.1} after all." + n 3fllssl "I'm not much better,{w=0.1} after all." "I play occasionally.": $ persistent.jn_player_gaming_frequency = "Medium" n 1fsqsm "Yeah,{w=0.1} yeah.{w=0.2} Believe what you want to believe,{w=0.1} [player]." - n 1usqbg "I'm not sure I buy it,{w=0.1} though." + n 3usqbg "I'm not sure I buy it,{w=0.1} though." "I don't play at all.": $ persistent.jn_player_gaming_frequency = "Low" - n 1tnmaj "Huh?{w=0.2} Really?" + n 4tnmaj "Huh?{w=0.2} Really?" n 1tllaj "Not even the odd casual game?" if jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.gaming): - n 1fsqts "Liar.{nw}" + n 4fsqts "Liar.{nw}" n 1ncsaj "...Well then." - n 1fnmbg "It looks like I've got a lot to teach you,{w=0.1} [player]!" + n 3fnmbg "It looks like I've got a lot to teach you,{w=0.1} [player]!" elif Natsuki.isDistressed(higher=True): n 1nnmsl "Huh?{w=0.2} Video games?" - n 1nslsl "Yeah,{w=0.1} I guess.{w=0.2} For what that's worth to you." + n 2nslsl "Yeah,{w=0.1} I guess.{w=0.2} For what that's worth to you." else: n 1nsqsl "Video games...?" - n 1fsqsltsb "...Heh.{w=0.2} Why,{w=0.3} [player]?{w=1}{nw}" + n 2fsqsltsb "...Heh.{w=0.2} Why,{w=0.3} [player]?{w=1}{nw}" extend 1fcsantsa " Was stomping all over my feelings not enough?" - n 1fsqfultsb "Or were you looking to see if you can stomp all over me in games too?" + n 4fsqfultsb "Or were you looking to see if you can stomp all over me in games too?" n 1fcsfrltsa "..." n 1fcsupl "...I don't wanna talk about this any more.{w=0.2} We're {i}done{/i} here." return if Natsuki.isNormal(higher=True): n 1ullaj "Anyway,{w=0.1} putting that aside..." - n 1nsgbg "When it comes to my preferences?{w=0.2} I want challenge in my games!" - n 1fcsbg "I play for the win{w=0.1} -{w=0.1} it's me versus the developers,{w=0.1} and they're not around to stop me!" - n 1fchbg "Ahaha." + n 4nsgbg "When it comes to my preferences?{w=0.2} I want challenge in my games!" + n 3fcsbg "I play for the win{w=0.1} -{w=0.1} it's me versus the developers,{w=0.1} and they're not around to stop me!" + n 3fchbg "Ahaha." n 1ullss "I'm actually more into my roguelikes,{w=0.1} to be honest." - n 1fnmsm "Heh.{w=0.2} Are you surprised,{w=0.1} [player]?" - n 1fcsbg "Tough as nails,{w=0.1} and I gotta think on my feet{w=0.1} -{w=0.1} plus it's super satisfying learning everything too." + n 4fnmsm "Heh.{w=0.2} Are you surprised,{w=0.1} [player]?" + n 3fcsbg "Tough as nails,{w=0.1} and I gotta think on my feet{w=0.1} -{w=0.1} plus it's super satisfying learning everything too." n 1fchsm "And with how random everything is,{w=0.1} they always feel refreshing and fun to play!" n 1fnmbg "Every time I load one up,{w=0.1} I have no idea what I'm up against...{w=0.3} and that's what makes them addicting!" n 1fcssm "Ehehe.{w=0.2} Don't worry though, [player]." - n 1fcsbg "I don't know if you're into that kind of stuff as well,{w=0.1} but..." + n 4fcsbg "I don't know if you're into that kind of stuff as well,{w=0.1} but..." if persistent.jn_player_gaming_frequency == "High": n 1fchgn "There's still plenty I can teach you!" if Natsuki.isEnamored(higher=True): - n 1ksqsml "And I bet you'd like that too,{w=0.1} huh?" + n 3ksqsml "And I bet you'd like that too,{w=0.1} huh?" n 1nchbg "Ahaha." elif Natsuki.isAffectionate(higher=True): @@ -3020,21 +3022,21 @@ label talk_gaming: elif persistent.jn_player_gaming_frequency == "Medium": n 1fsqsm "I don't mind showing you how it's done." - n 1fchbg "I {i}am{/i} a professional,{w=0.1} after all!" + n 3fchbg "I {i}am{/i} a professional,{w=0.1} after all!" else: if jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.gaming): - n 1fsqts "Liar.{nw}" + n 3fsqts "Liar.{nw}" n 1ullaj "Well then...{w=0.5}{nw}" - extend 1usqsm " I'm sure I can get {i}you{/i} of all people into it." + extend 4usqsm " I'm sure I can get {i}you{/i} of all people into it." else: n 1nnmsl "I suppose I look for challenge in my games more than anything." - n 1nllsl "It's fun pitting myself against the developers and beating them at their own game." + n 2nllsl "It's fun pitting myself against the developers and beating them at their own game." n 1nsqaj "I guess I could say I like being tested -{w=0.1} so long as I'm in control of it,{w=0.1} that is." - n 1fsqbo "What does that mean?{w=0.2} I guess I'll spell it out for you,{w=0.1} [player]." - n 1fsqan "I really {i}don't{/i} like the kind of testing you're doing." + n 2fsqbo "What does that mean?{w=0.2} I guess I'll spell it out for you,{w=0.1} [player]." + n 4fsqan "I really {i}don't{/i} like the kind of testing you're doing." return @@ -3056,49 +3058,49 @@ init 5 python: label talk_natsukis_fang: n 1nllbo "..." - n 1unmaj "Eh?{w=0.2} What's up,{w=0.1} [player]?" + n 4unmaj "Eh?{w=0.2} What's up,{w=0.1} [player]?" n 1unmsl "..." n 1tnmaj "What?{w=0.2} Is there something on my face?" n 1tnmca "..." - n 1uwdaj "Oh.{w=0.2} Yeah.{w=0.2} I get it." - n 1nsqss "Just can't help but notice the fang,{w=0.1} right?{w=0.2} Ehehe." + n 4uwdaj "Oh.{w=0.2} Yeah.{w=0.2} I get it." + n 3nsqss "Just can't help but notice the fang,{w=0.1} right?{w=0.2} Ehehe." n 1nllss "You know..." n 1nnmaj "I wasn't always happy with my teeth,{w=0.1} [player]." - n 1flran "I used to be pretty self conscious about them.{w=0.2} People would just keep pointing them out all the time." + n 3flran "I used to be pretty self conscious about them.{w=0.2} People would just keep pointing them out all the time." n 1fcsaj "It wasn't...{w=0.3} {i}bad{/i} or anything...{w=0.3} a little annoying at first,{w=0.1} but nothing over the top." - n 1kslsf "...Mostly." + n 4kslsf "...Mostly." n 1ulrsl "But...{w=0.3} I guess I just came to embrace them?" - n 1fchbg "They're like a trademark or something now!{w=0.2} Which is why I take good care of them." + n 3fchbg "They're like a trademark or something now!{w=0.2} Which is why I take good care of them." n 1fnmsf "You better not be slacking off on yours,{w=0.1} [player]!" - n 1fnmaj "And I don't just mean skipping the odd brush,{w=0.1} either..." - n 1fsgss "Yeah.{w=0.2} We both know what's coming,{w=0.2} don't we?" - n 1fsqbg "When's the last time {i}you{/i} flossed,{w=0.1} [player]?{w=0.2} Be honest." + n 3fnmaj "And I don't just mean skipping the odd brush,{w=0.1} either..." + n 3fsgss "Yeah.{w=0.2} We both know what's coming,{w=0.2} don't we?" + n 4fsqbg "When's the last time {i}you{/i} flossed,{w=0.1} [player]?{w=0.2} Be honest." n 1tsqsm "..." n 1fchbgelg "Ahaha!{w=0.2} Did I call you out?" n 1nlrss "Well,{w=0.1} whatever.{w=0.2} I'm just gonna assume you'll go do that later." - n 1fcsaw "Seriously though.{w=0.2} You better make sure you take care of your teeth!" + n 4fcsaw "Seriously though.{w=0.2} You better make sure you take care of your teeth!" n 1fnmaj "Regular brushing and flossing is important,{w=0.1} but watch your diet too." - n 1fllsl "Not flossing isn't great,{w=0.1} but constant sugary drinks are even worse!" + n 3fllsl "Not flossing isn't great,{w=0.1} but constant sugary drinks are even worse!" n 1fsgsm "Remember,{w=0.1} [player] -{w=0.1} if you ignore them,{w=0.1} they'll go away~." n 1nllss "But no, seriously." if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() n 1kllss "Smiles look good on you,{w=0.1} [chosen_endearment]." - n 1fnmsm "Let's keep them looking that way." - n 1uchsml "Ehehe.{w=0.2} Love you,{w=0.1} [player]~!" + n 4fnmsm "Let's keep them looking that way." + n 4uchsml "Ehehe.{w=0.2} Love you,{w=0.1} [player]~!" elif Natsuki.isEnamored(higher=True): n 1fnmsml "I think smiles look good on you,{w=0.1} [player]." - n 1fchbgl "Let's keep them looking that way!" + n 4fchbgl "Let's keep them looking that way!" elif Natsuki.isAffectionate(higher=True): n 1usqbg "The right smile can make all the difference,{w=0.1} you know.{w=0.2} Just look at mine!" - n 1uchgn "Ehehe." + n 3uchgn "Ehehe." else: n 1unmaj "If you don't look after them?" - n 1fllajl "I'm not holding your hand at the dentist!" + n 3fllajl "I'm not holding your hand at the dentist!" return @@ -3131,22 +3133,22 @@ label talk_i_love_you: and not persistent._jn_player_confession_accepted ): n 1uscemf "O-{w=0.1}o-{w=0.1}oh my gosh..." - n 1uskemf "[player_initial]-{w=0.2}[player]...{w=0.3} y-{w=0.1}you...!" - n 1fcsanf "Nnnnnnn-!" + n 4uskemf "[player_initial]-{w=0.2}[player]...{w=0.3} y-{w=0.1}you...!" + n 2fcsanf "Nnnnnnn-!" n 1fbkwrf "W-{w=0.1}well it took you long enough!{w=0.2} What did you think you were doing?!" - n 1flrwrf "I bet you were just waiting for me to say it first!" - n 1fllemf "Jeez,{w=0.1} [player]...{w=0.3} [chosen_tease]..." + n 4flrwrf "I bet you were just waiting for me to say it first!" + n 4fllemf "Jeez,{w=0.1} [player]...{w=0.3} [chosen_tease]..." n 1kllemf "But..." - n 1fcswrf "B-{w=0.1}but...!" + n 2fcswrf "B-{w=0.1}but...!" n 1flranf "Uuuuuuu-!" n 1fchwrf "Oh,{w=0.1} whatever!{w=0.2} I don't care!{w=0.2} I gotta say it!{w=0.2} I gotta say it!" - n 1kwdemf "[player]!{w=0.2} I love you too!" - n 1kchbsf "I-{w=0.1}I love...{w=0.3} you too..." - n 1kplbgf "I...{w=0.3} I..." + n 4kwdemf "[player]!{w=0.2} I love you too!" + n 4kchbsf "I-{w=0.1}I love...{w=0.3} you too..." + n 4kplbgf "I...{w=0.3} I..." n 1fcsunfsbl "..." show natsuki 1kcspuf at jn_center zorder JN_NATSUKI_ZORDER - show black zorder 3 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) play audio clothing_ruffle $ jnPause(3.5) play audio kiss @@ -3155,18 +3157,18 @@ label talk_i_love_you: hide black with Dissolve(1.25) n 1kchsmf "..." - n 1kwmsmf "I love you,{w=0.3} [player]..." - n 1kllsml "..." + n 3kwmsmf "I love you,{w=0.3} [player]..." + n 3kllsml "..." n 1kskemf "S-{w=0.1}sorry...!" - n 1klrunf "I...{w=0.3} think I got a little carried away..." + n 4klrunf "I...{w=0.3} think I got a little carried away..." n 1kcssmf "..." n 1knmajf "..." - n 1kbkemf "J-{w=0.1}jeez!{w=0.2} Stop looking at me like that already!" - n 1fllemf "W-{w=0.1}we're both on the same page now,{w=0.1} so..." - n 1kllbof "...{w=0.3}T-that's all I had." + n 2kbkemf "J-{w=0.1}jeez!{w=0.2} Stop looking at me like that already!" + n 4fllemf "W-{w=0.1}we're both on the same page now,{w=0.1} so..." + n 4kllbof "...{w=0.3}T-that's all I had." n 1kllsmf "..." n 1kllssf "S-{w=0.1}so..." - n 1kplssf "Where were we?{w=0.2} Ehehe..." + n 3kplssf "Where were we?{w=0.2} Ehehe..." python: import datetime @@ -3184,96 +3186,96 @@ label talk_i_love_you: elif persistent.jn_player_love_you_count == 0 and not persistent._jn_player_confession_accepted: if Natsuki.isEnamored(): n 1uscgsf "[player_initial]-{w=0.2}[player]!" - n 1fskgsf "Y-{w=0.1}you...!" + n 2fskgsf "Y-{w=0.1}you...!" n 1fcsanf "Nnnnn-!" n 1fbkwrf "I-{w=0.1}I know we've been seeing each other a while,{w=0.1} but this is way too sudden!" - n 1fllwrf "Now you've gone and made it super awkward,{w=0.1} [player]!{w=0.2} Why'd you have to go do that?!" + n 3fllwrf "Now you've gone and made it super awkward,{w=0.1} [player]!{w=0.2} Why'd you have to go do that?!" n 1fcsemf "Sheesh!" - n 1fslpof "...I hope you're happy." + n 2fslpof "...I hope you're happy." n 1fsqunf "..." - n 1fnmpof "D-{w=0.1}don't think this means I {i}hate{/i} you or anything,{w=0.1} though..." - n 1flreml "It's just that...{w=0.3} It's just..." + n 4fnmpof "D-{w=0.1}don't think this means I {i}hate{/i} you or anything,{w=0.1} though..." + n 2flreml "It's just that...{w=0.3} It's just..." n 1fcsanl "Uuuuuu..." n 1flrbol "N-{w=0.1}never mind..." - n 1fcseml "Forget I said anything." + n 4fcseml "Forget I said anything." n 1kllbof "..." $ Natsuki.calculatedAffinityGain(base=2, bypass=True) elif Natsuki.isAffectionate(higher=True): n 1uskwrf "W-{w=0.1}w-{w=0.1}what?" - n 1fwdwrf "D-{w=0.1}did you just...?" + n 4fwdwrf "D-{w=0.1}did you just...?" n 1fcsanf "Nnnnnnnnn-!" n 1fbkwrf "[player_initial]-{w=0.2}[player]!" - n 1fcsemf "Are you trying to give me a heart attack?!{w=0.2} Jeez!" - n 1fllemf "You can't just say stuff like that so suddenly..." + n 3fcsemf "Are you trying to give me a heart attack?!{w=0.2} Jeez!" + n 3fllemf "You can't just say stuff like that so suddenly..." n 1kllunf "..." - n 1fllajf "I-{w=0.1}I mean..." + n 4fllajf "I-{w=0.1}I mean..." n 1flranf "It's not that I {i}don't{/i} like you,{w=0.1} o-{w=0.1}or anything,{w=0.1} but..." - n 1fslanf "But...!" + n 3fslanf "But...!" n 1fcsanf "Uuuuu..." n 1fcsajf "F-{w=0.1}forget it!{w=0.2} I-{w=0.1}it's nothing..." n 1kslslf "..." $ Natsuki.calculatedAffinityGain(bypass=True) elif Natsuki.isHappy(higher=True): - n 1fsqdvl "Pffffft!" + n 4fsqdvlesm "Pffffft!" n 1uchbslelg "Ahaha!" n 1tllbgl "You can't be serious,{w=0.1} [player]!{w=0.2} You're just messing with me!{w=0.2} Right?" - n 1knmbgl "Right,{w=0.1} [player]?" - n 1knmajf "R-{w=0.1}right...?" + n 3knmbgl "Right,{w=0.1} [player]?" + n 4knmajf "R-{w=0.1}right...?" n 1fllunf "..." n 1fcsgsf "J-{w=0.1}jeez!{w=0.2} Enough of this!" - n 1fsqajf "You really shouldn't mess around with girls like that,{w=0.1} [player]!" - n 1fslpul "Y-{w=0.1}you're just lucky I've got a great sense of humour." - n 1fnmpol "S-{w=0.1}so it's fine...{w=0.3} this time..." + n 3fsqajf "You really shouldn't mess around with girls like that,{w=0.1} [player]!" + n 3fslpul "Y-{w=0.1}you're just lucky I've got a great sense of humor." + n 4fnmpol "S-{w=0.1}so it's fine...{w=0.3} this time..." n 1fcsajl "Just...{w=0.3} think a little before you just blurt stuff out!{w=0.2} Sheesh." n 1fllslf "[chosen_tease.capitalize()]..." elif Natsuki.isNormal(higher=True): n 1fscgsf "Urk-!" - n 1fskanf "W-{w=0.1}what did you..." + n 4fskanf "W-{w=0.1}what did you..." n 1fwdanf "Did you just...?" n 1fllajl "..." - n 1fcsbgf "A-{w=0.1}aha!{w=0.2} I mean...{w=0.3} y-{w=0.1}yeah!{w=0.2} Who wouldn't love me,{w=0.1} right?" - n 1fllbgf "My wit,{w=0.1} my style,{w=0.1} my killer sense of humour...{w=0.3} I've got it all.{w=0.1} Yeah..." + n 3fcsbgf "A-{w=0.1}aha!{w=0.2} I mean...{w=0.3} y-{w=0.1}yeah!{w=0.2} Who wouldn't love me,{w=0.1} right?" + n 3fllbgf "My wit,{w=0.1} my style,{w=0.1} my killer sense of humor...{w=0.3} I've got it all.{w=0.1} Yeah..." n 1fbkwrf "D-{w=0.1}don't get the wrong idea or a-{w=0.1}anything, though!" n 1fllssf "I-{w=0.1}I mean,{w=0.1} I'm just glad you have some good taste." - n 1fllunf "Yeah..." + n 2fllunf "Yeah..." elif Natsuki.isUpset(higher=True): n 1fcsan "..." - n 1fnmfu "Seriously,{w=0.1} [player]?{w=0.2} You're really going to say that to me {i}now{/i}?" + n 4fnmfu "Seriously,{w=0.1} [player]?{w=0.2} You're really going to say that to me {i}now{/i}?" n 1fsqfutsb "The first time you choose to say it...{w=0.3} and you say it {i}now{/i}?" n 1fcspu "..." n 1fwman "...And you really think I'm gonna buy that {i}now{/i},{w=0.1} [player]?" - n 1fcsfu "..." + n 4fcsfu "..." n 1fcssr "..." - n 1fsqsr "We're done with this." + n 2fsqsr "We're done with this." n 1fsqpu "And if you {i}really{/i} feel that way?" - n 1fsqsftsb "...Then why aren't {i}you{/i} trying to make this work,{w=0.1} [player]?" + n 2fsqsftsb "...Then why aren't {i}you{/i} trying to make this work,{w=0.1} [player]?" $ Natsuki.percentageAffinityLoss(10) else: # :( n 1fsqputsb "..." - n 1fcsuntsa "Y-{w=0.1}you..." + n 2fcsuntsa "Y-{w=0.1}you..." n 1fcsantsa "You...{w=0.3} h-{w=0.1}how...!" - n 1fscwr "H-{w=0.1}how {i}dare{/i} you tell me that now!" + n 4fscwr "H-{w=0.1}how {i}dare{/i} you tell me that now!" n 1fscfu "{i}How {w=0.3} dare {w=0.3} you.{/i}" n 1fcsfu "..." n 1fcssr "..." n 1fsqsr "You knew how I felt,{w=0.1} [player]..." - n 1fcsan "You knew for such a long time..." + n 2fcsan "You knew for such a long time..." n 1fsqfutsb "And now?{w=0.2} {i}Now{/i} is when you tell me?" - n 1fsquptse "For the {i}first time{/i}?" + n 4fsquptse "For the {i}first time{/i}?" n 1fcsuptsa "..." n 1kplan "I...{w=0.3} I c-{w=0.1}can't do this right now." - n 1kcsantsd "It...{w=0.5} it hurts..." + n 2kcsantsd "It...{w=0.5} it hurts..." n 1kcsfutsd "..." - n 1fcsputsd "Get out of my sight,{w=0.1} [player]." + n 4fcsputsd "Get out of my sight,{w=0.1} [player]." n 1fcsantsd "..." n 1fsqfutse "Go!" - n 1fscsctdc "{i}JUST LEAVE ME ALONE!{/i}{nw}" + n 4fscsctdc "{i}JUST LEAVE ME ALONE!{/i}{nw}" $ Natsuki.percentageAffinityLoss(25) $ persistent.jn_player_love_you_count += 1 return { "quit": None } @@ -3289,63 +3291,63 @@ label talk_i_love_you: $ random_response_index = random.randint(0, 11) if random_response_index == 0: - n 1unmbgf "Ehehe.{w=0.2} I love you too,{w=0.1} [chosen_endearment]!" - n 1uchsmf "You're always [chosen_descriptor] to me." + n 4unmbgf "Ehehe.{w=0.2} I love you too,{w=0.1} [chosen_endearment]!" + n 3uchsmf "You're always [chosen_descriptor] to me." $ Natsuki.calculatedAffinityGain() return elif random_response_index == 1: n 1tsqssl "Aww,{w=0.1} you don't say?" - n 1uchbslelg "Ahaha!" + n 3uchbslelg "Ahaha!" $ chosen_endearment = chosen_endearment.capitalize() n 1kwmbgf "[chosen_endearment],{w=0.1} I love you too!" - n 1fcsbgf "I'll always be here to stick up for you." + n 4fcsbgf "I'll always be here to stick up for you." $ Natsuki.calculatedAffinityGain() return elif random_response_index == 2: n 1uchsmf "Aww,{w=0.1} [chosen_endearment]!{w=0.2} I love you too!" - n 1klrbgf "You're the best thing that's ever happened to me." + n 4klrbgf "You're the best thing that's ever happened to me." $ Natsuki.calculatedAffinityGain() return elif random_response_index == 3: n 1ksqbgf "Oh?{w=0.2} Someone's all needy today,{w=0.1} huh?" - n 1fsqsmf "Well,{w=0.1} I'd be happy to oblige!" + n 4fsqsmf "Well,{w=0.1} I'd be happy to oblige!" n 1uchsmf "I love you too,{w=0.1} [chosen_endearment]!" - n 1fchbgf "Keep on smiling for me,{w=0.1} 'kay?" + n 3fchbgf "Keep on smiling for me,{w=0.1} 'kay?" $ Natsuki.calculatedAffinityGain() return elif random_response_index == 4: - n 1flrpof "Fawning over me like always,{w=0.1} [player]?" + n 3flrpof "Fawning over me like always,{w=0.1} [player]?" n 1usqssf "Ehehe.{w=0.2} Don't worry,{w=0.1} I'm not complaining!" - n 1uchbgf "I love you too,{w=0.1} [chosen_endearment]!" - n 1fcssmf "It's just us two against the world!" + n 4uchbgf "I love you too,{w=0.1} [chosen_endearment]!" + n 3fcssmf "It's just us two against the world!" $ Natsuki.calculatedAffinityGain() return elif random_response_index == 5: n 1fllbgf "Well,{w=0.1} o-{w=0.1}of course you do.{w=0.2} Ahaha!" - n 1fchbgf "But...{w=0.3} we both know I love you more,{w=0.1} [player]." + n 4fchbgf "But...{w=0.3} we both know I love you more,{w=0.1} [player]." menu: "No, I love you more.": n 1fnmbgf "No,{w=0.1} I-" n 1tllajl "..." - n 1fnmawl "H-{w=0.1}hey...{w=0.3} wait a minute...!" + n 4fnmawl "H-{w=0.1}hey...{w=0.3} wait a minute...!" n 1fchgnl "I know where we're going with this!{w=0.2} Nice try,{w=0.1} [player]!" n 1fsqsml "You're just gonna have to accept that I love you more,{w=0.1} and that's just the way it is." menu: "You love me more, and that's just the way it is.": n 1uchgnf "Ehehe.{w=0.2} See?" - n 1fwmsmf "That wasn't so hard,{w=0.1} was it?" + n 3fwmsmf "That wasn't so hard,{w=0.1} was it?" n 1nchbgf "I looooove you,{w=0.1} [player]~!" "Okay.": - n 1uchgnlelg "Pfffft!{w=0.2} Ahaha!" - n 1fwltsf "Come on,{w=0.1} [player]!{w=0.2} Where's your fighting spirit?" + n 1uchgnlesm "Pfffft!{w=0.2} Ahaha!" + n 3fwltsf "Come on,{w=0.1} [player]!{w=0.2} Where's your fighting spirit?" n 1fchsmf "Well,{w=0.1} whatever.{w=0.2} I'm just glad you accept the truth." - n 1uchsmf "Ehehe." + n 4uchsmf "Ehehe." $ Natsuki.calculatedAffinityGain() return @@ -3353,17 +3355,17 @@ label talk_i_love_you: elif random_response_index == 6: n 1uchsmf "Ehehe...{w=0.3} I always adore hearing that from you,{w=0.1} [player]." n 1usqsmf "...And I think I can guess you like hearing it just as much." - n 1uchbgf "I love you too,{w=0.1} [chosen_endearment]!" - n 1nchsmf "I don't need anyone else~." + n 3uchbgf "I love you too,{w=0.1} [chosen_endearment]!" + n 4nchsmf "I don't need anyone else~." $ Natsuki.calculatedAffinityGain() return elif random_response_index == 7: n 1nsqajl "Wow,{w=0.1} [player]..." - n 1tslajl "You really are just a big sappy mess today,{w=0.1} aren't you?" - n 1tsldvl "Gross..." + n 3tslajl "You really are just a big sappy mess today,{w=0.1} aren't you?" + n 3tsldvl "Gross..." n 1fchbgf "...But just the kind of gross I'm down with.{w=0.2} Ehehe." - n 1uchbgf "I love you too,{w=0.1} [chosen_endearment]!" + n 4uchbgf "I love you too,{w=0.1} [chosen_endearment]!" n 1unmsmf "I'll always have your back." $ Natsuki.calculatedAffinityGain() return @@ -3371,14 +3373,14 @@ label talk_i_love_you: elif random_response_index == 8: n 1uchsmf "Ehehe." n 1nchssf "I..." - n 1uchbsf "Looooooooove you too,{w=0.1} [player]!" - n 1kwmsmf "You'll always be my rock." + n 3uchbsf "Looooooooove you too,{w=0.1} [player]!" + n 4kwmsmf "You'll always be my rock." $ Natsuki.calculatedAffinityGain() return elif random_response_index == 9: n 1fllsmf "I mean...{w=0.3} that's real sweet of you and all,{w=0.1} [player]..." - n 1fsqsmf "But we both know I love you more~." + n 4fsqsmf "But we both know I love you more~." $ player_is_wrong = True $ wrong_response_count = 0 @@ -3389,42 +3391,42 @@ label talk_i_love_you: if wrong_response_count == 1: n 1fsqbgl "Hmm?{w=0.2} Did you mishear me,{w=0.1} [player]?" - n 1fchbgf "I said I love {i}you{/i} more,{w=0.2} [chosen_tease]!" + n 4fchbgf "I said I love {i}you{/i} more,{w=0.2} [chosen_tease]!" elif wrong_response_count == 5: n 1fsqbgl "Oh?{w=0.2} Competitive,{w=0.1} are we?" - n 1fslbgl "Ehehe.{w=0.2} Silly [player].{w=0.1} Did nobody ever tell you?" - n 1fchgnl "Don't start a fight you can't finish!" + n 3fslbgl "Ehehe.{w=0.2} Silly [player].{w=0.1} Did nobody ever tell you?" + n 3fchgnl "Don't start a fight you can't finish!" n 1fchbgf "Especially this one -{w=0.1} I love {i}you{/i} more~!" elif wrong_response_count == 10: - n 1tsqbgl "Oho?{w=0.2} Not bad,{w=0.1} [player]!" + n 3tsqcsl "Oho?{w=0.2} Not bad,{w=0.1} [player]!" n 1fsqbgl "I almost admire your stubbornness..." - n 1uchsmf "But not as much as I admire you!{w=0.2} I love {i}you{/i} more!" + n 4uchsmf "But not as much as I admire you!{w=0.2} I love {i}you{/i} more!" elif wrong_response_count == 20: - n 1fsqbgl "Ehehe.{w=0.2} You're persistent!{w=0.2} I'll give you that." + n 3fsqbgl "Ehehe.{w=0.2} You're persistent!{w=0.2} I'll give you that." n 1fsqsml "But if you think I'm giving you a win..." n 1fchgnl "Then you've got another thing coming!" - n 1uchbgl "I love {i}you{/i} more,{w=0.1} dummy!" + n 4uchbgl "I love {i}you{/i} more,{w=0.1} dummy!" elif wrong_response_count == 50: n 1tnmajl "Wow!{w=0.2} This is like...{w=0.3} the 50th time you've been wrong!{w=0.2} In a row!" - n 1tsqsgl "Sounds to me like you're in some serious denial there,{w=0.1} [player]~." + n 3tsqsgl "Sounds to me like you're in some serious denial there,{w=0.1} [player]~." n 1nllssl "I don't think I can be bothered counting much more from here..." - n 1fsqtsl "So why don't you do me a favour and just accept that I love {i}you{/i} more already?" + n 3fsqtsl "So why don't you do me a favour and just accept that I love {i}you{/i} more already?" n 1uchsml "Ehehe." - n 1fchbgl "Thanks,{w=0.1} [chosen_endearment]~!" + n 4fchbgl "Thanks,{w=0.1} [chosen_endearment]~!" elif wrong_response_count == 100: - n 1uwdgsl "...Oh!{w=0.2} And it looks like we have our 100th wrong answer!" - n 1fllawl "Dim the lights!{w=0.2} Roll the music!" + n 4uwdgsl "...Oh!{w=0.2} And it looks like we have our 100th wrong answer!" + n 3fllawl "Dim the lights!{w=0.2} Roll the music!" n 1flrbgl "Now,{w=0.1} audience members -{w=0.1} what does our stubborn participant get?" n 1fsqbgl "They get..." - n 1uchgnl "A correction!{w=0.2} Wow!" - n 1fsqbgl "And that correction is..." + n 3uchgnl "A correction!{w=0.2} Wow!" + n 4fsqbgl "And that correction is..." n 1fchbsf "[n_name] loves {i}them{/i} way more!{w=0.2} Congratulations,{w=0.1} dummy!" - n 1fsqdvl "And now,{w=0.1} to walk away with the grand prize -{w=0.1} all our guest here needs to do..." + n 3fsqdvl "And now,{w=0.1} to walk away with the grand prize -{w=0.1} all our guest here needs to do..." n 1fchbsl "...Is give up and admit how wrong they are~!{w=0.2} Ehehe." else: @@ -3451,12 +3453,12 @@ label talk_i_love_you: "Okay, fine. You love me more.": $ player_is_wrong = False - n 1tsqbgl "See?{w=0.2} Was that really so hard?" + n 3tsqbgl "See?{w=0.2} Was that really so hard?" n 1uchtsl "Sometimes you just have to admit you're wrong,{w=0.1} [player]~." - n 1nchsml "Ehehe." + n 4nchsml "Ehehe." if wrong_response_count >= 10: - n 1nsqsml "Nice try,{w=0.1} though~!" + n 3nsqsml "Nice try,{w=0.1} though~!" $ Natsuki.calculatedAffinityGain() return @@ -3464,14 +3466,14 @@ label talk_i_love_you: elif random_response_index == 10: n 1ksqsml "Ehehe.{w=0.2} I'll never get tired of hearing that from you,{w=0.1} [player]." n 1uchsmf "I love you too!" - n 1uchbgf "You're my numero uno~." + n 3uchbgf "You're my numero uno~." $ Natsuki.calculatedAffinityGain() return else: - n 1usqbgf "Oh?{w=0.2} Lovey-dovey as usual?" + n 4usqbgf "Oh?{w=0.2} Lovey-dovey as usual?" n 1uslsmf "You're such a softie,{w=0.1} [player].{w=0.2} Ehehe." - n 1uchbgf "But...{w=0.3} I'm not gonna complain!{w=0.2} I love you too,{w=0.1} [chosen_endearment]!" + n 3uchbgf "But...{w=0.3} I'm not gonna complain!{w=0.2} I love you too,{w=0.1} [chosen_endearment]!" n 1uchsmf "You always make me feel tall." $ Natsuki.calculatedAffinityGain() return @@ -3480,45 +3482,45 @@ label talk_i_love_you: elif Natsuki.isEnamored(higher=True): n 1fbkwrf "G-{w=0.1}gah!{w=0.2} [player]!" - n 1fllwrf "What did I say about making things awkward?{w=0.2} Now it's twice as awkward!" + n 3fllwrf "What did I say about making things awkward?{w=0.2} Now it's twice as awkward!" n 1fcsemf "Jeez..." n 1flremf "Let's just talk about something,{w=0.1} alright?" - n 1flrpof "Y-{w=0.1}you can fawn over me in your {i}own{/i} time!" - n 1klrpof "Dummy..." + n 4flrpof "Y-{w=0.1}you can fawn over me in your {i}own{/i} time!" + n 4klrpof "Dummy..." $ Natsuki.calculatedAffinityGain() return elif Natsuki.isHappy(higher=True): n 1fskemf "H-{w=0.1}hey! I thought I told you not to just come out with stuff like that!" - n 1fllemf "Jeez..." + n 2fllemf "Jeez..." n 1fcsemf "I-{w=0.1}I don't know if you're trying to win me over,{w=0.1} or what..." - n 1fcspof "But you're gonna have to try a lot harder than that!" + n 2fcspof "But you're gonna have to try a lot harder than that!" return elif Natsuki.isNormal(higher=True): n 1fskemf "G-{w=0.1}gah!" - n 1fbkwrf "[player_initial]-{w=0.1}[player]!" + n 4fbkwrf "[player_initial]-{w=0.1}[player]!" n 1fnmanl "Stop being gross!" - n 1fcsanl "Jeez..." + n 2fcsanl "Jeez..." n 1fllajl "I don't know if you think this is a joke,{w=0.1} or what..." - n 1fsqaj "But it really isn't funny to me,{w=0.1} [player]." + n 2fsqaj "But it really isn't funny to me,{w=0.1} [player]." return elif Natsuki.isUpset(higher=True): n 1fcssr "..." n 1fsqsr "Talk is cheap,{w=0.1} [player]." n 1fsqaj "If you {i}really{/i} care about me..." - n 1fsqpu "Then {i}prove{/i} it." + n 2fsqpu "Then {i}prove{/i} it." $ Natsuki.percentageAffinityLoss(2.5) return else: n 1fsqpu "..." n 1fsqan "You're actually unbelievable,{w=0.1} [player]." - n 1fsqfu "Do you even {i}understand{/i} what you're saying?" + n 2fsqfu "Do you even {i}understand{/i} what you're saying?" n 1fcsfu "..." n 1fcspu "You know what?{w=0.2} Whatever.{w=0.2} I don't care anymore." - n 1fsqfu "Say what you like,{w=0.1} [player].{w=0.2} It's all crap,{w=0.1} just like everything else from you." + n 4fsqfu "Say what you like,{w=0.1} [player].{w=0.2} It's all crap,{w=0.1} just like everything else from you." $ Natsuki.percentageAffinityLoss(2) return @@ -3541,54 +3543,54 @@ init 5 python: label talk_natsukis_hairstyle: if Natsuki.isEnamored(higher=True): - n 1tnmaj "Hmm?{w=0.2} My hairstyle?" - n 1fsqss "Why do you ask,{w=0.1} [player]?{w=0.5}{nw}" - extend 1fsgsg " Looking for a stylist?" + n 4tnmaj "Hmm?{w=0.2} My hairstyle?" + n 3fsqss "Why do you ask,{w=0.1} [player]?{w=0.5}{nw}" + extend 3fsgsg " Looking for a stylist?" n 1fchsm "Ehehe." elif Natsuki.isNormal(higher=True): - n 1tnmpu "Huh?{w=0.2} My hairstyle?" + n 4tnmpu "Huh?{w=0.2} My hairstyle?" n 1fsqaj "Wait...{w=0.75}{nw}" - extend 1fnmeml " a-{w=0.1}are you messing with me?{w=0.2} What do you mean?" + 3fslpo 4fnmeml " a-{w=0.1}are you messing with me?{w=0.2} What do you mean?" n 1fslpo "You better not be teasing me,{w=0.1} [player]..." elif Natsuki.isDistressed(higher=True): n 1nnmsl "...Huh?{w=0.2} Oh.{w=0.2} My hair." - n 1flrsl "I'm...{w=0.3} surprised you care enough to ask about that." + n 2flrsl "I'm...{w=0.3} surprised you care enough to ask about that." else: n 1fsqfu "Because I {i}like{/i} it that way.{w=0.75}{nw}" - extend 1fnman " That good enough for you,{w=0.3} {i}[player]{/i}?" + extend 2fnman " That good enough for you,{w=0.3} {i}[player]{/i}?" n 1fsqantsb "And why would you even {i}care{/i} anyway?{w=1}{nw}" - extend 1fsqupltsb " You haven't cared about me so far." - n 1fcsanltsa "Jerk." + extend 4fsqupltsb " You haven't cared about me so far." + n 2fcsanltsa "Jerk." return n 1nnmpu "Well,{w=0.1} anyway." - n 1ullpu "I never really thought about it that much,{w=0.1} honestly." + n 4ullpu "I never really thought about it that much,{w=0.1} honestly." if Natsuki.isNormal(higher=True): - if Natsuki.isWearingHairstyle("jn_hair_twintails"): - n 1ulrpo "I just thought twintails would look kinda cute on me." + if Natsuki.isWearingHairstyle("jn_hair_twintails") or Natsuki.isWearingHairstyle("jn_hair_twintails_long") or Natsuki.isWearingHairstyle("jn_hair_twintails_white_ribbons"): + n 2ulrpo "I just thought twintails would look kinda cute on me." else: - n 1ulrpo "I think this hairstyle looks kinda cute on me." + n 2ulrpo "I think this hairstyle looks kinda cute on me." - n 1fsqpo "...Yeah,{w=0.1} yeah.{w=0.2} I know what you're thinking,{w=0.1} [player]." + n 4fsqpo "...Yeah,{w=0.1} yeah.{w=0.2} I know what you're thinking,{w=0.1} [player]." if Natsuki.isEnamored(higher=True): n 1ksqsm "Was I wrong...?" n 1fchbg "Ehehe.{w=0.2} I thought not." - if Natsuki.isWearingHairstyle("jn_hair_twintails"): + if Natsuki.isWearingHairstyle("jn_hair_twintails") or Natsuki.isWearingHairstyle("jn_hair_twintails_long") or Natsuki.isWearingHairstyle("jn_hair_twintails_white_ribbons"): n 1ullaj "Besides,{w=0.1} I had a whole bunch of ribbon lying around from my craft stuff {w=0.1}-{w=0.5}{nw}" - extend 1fcsbg " so it isn't like I had to go {i}buy{/i} anything new to try twintails out." + extend 3fcsbg " so it isn't like I had to go {i}buy{/i} anything new to try twintails out." else: - if Natsuki.isWearingHairstyle("jn_hair_twintails"): + if Natsuki.isWearingHairstyle("jn_hair_twintails") or Natsuki.isWearingHairstyle("jn_hair_twintails_long") or Natsuki.isWearingHairstyle("jn_hair_twintails_white_ribbons"): n 1nnmsl "I guess I just liked the idea of twintails." n 1nlrpu "Besides,{w=0.1} I had some spare ribbons lying around anyways.{w=0.5}{nw}" - extend 1nsrsr " Not like I had to {i}buy{/i} anything to try doing twintails." + extend 4nsrsr " Not like I had to {i}buy{/i} anything to try doing twintails." else: n 1nnmsl "I guess I just like this hairstyle." @@ -3596,31 +3598,31 @@ label talk_natsukis_hairstyle: n 1ulraj "As for the bangs,{w=0.1} I...{w=0.3} always found it difficult to get my hair cut." if Natsuki.isNormal(higher=True): - n 1flraj "It just costs so much,{w=0.1} you know?{w=0.2} It's super dumb!" + n 4flraj "It just costs so much,{w=0.1} you know?{w=0.2} It's super dumb!" n 1fnman "Like...{w=0.3} I don't get it at all!" - n 1fllan "And the annoying thing is that if I were a guy,{w=0.1} it'd be {i}way{/i} cheaper!{w=0.5}{nw}" + n 3fllan "And the annoying thing is that if I were a guy,{w=0.1} it'd be {i}way{/i} cheaper!{w=0.5}{nw}" extend 1fbkwrean " What's up with that?!" n 1fcspuesi "Ugh...{w=1}{nw}" - extend 1nsrpo " but yeah." + extend 2nsrpo " but yeah." else: n 1nlrsl "I was always kinda short when it came to getting it cut." n 1fsqsl "...And no,{w=0.1} {i}not{/i} in the physical sense." if Natsuki.isWearingAccessory(jn_outfits.get_wearable("jn_accessory_hairband_red")): - n 1ullaj "As for my hairband?{w=0.2} It's just to keep my hair out of my eyes." + n 4ullaj "As for my hairband?{w=0.2} It's just to keep my hair out of my eyes." else: - n 1ullaj "I'm not wearing it now,{w=0.1} but my old hairband was just to keep my hair out of my eyes." + n 4ullaj "I'm not wearing it now,{w=0.1} but my old hairband was just to keep my hair out of my eyes." if Natsuki.isNormal(higher=True): - n 1fllss "Looking good is a bonus,{w=0.1} but I mostly just got tired of brushing my hair out of my face." + n 3fllss "Looking good is a bonus,{w=0.1} but I mostly just got tired of brushing my hair out of my face." n 1nsrca "Especially with those bangs!" n 1unmaj "Anyway..." - n 1tllaj "Have I thought about other hairstyles?{w=0.2} Well..." + n 4tllaj "Have I thought about other hairstyles?{w=0.2} Well..." - if not Natsuki.isWearingHairstyle("jn_hair_twintails"): + if not Natsuki.isWearingHairstyle("jn_hair_twintails") or Natsuki.isWearingHairstyle("jn_hair_twintails_white_ribbons"): if Natsuki.isEnamored(higher=True): n 1tsqsml "Is that not what I'm doing right now?" extend 1fchsml " Ehehe." @@ -3629,21 +3631,21 @@ label talk_natsukis_hairstyle: n 1ullbo "I think that kinda speaks for itself,{w=0.1} really.{w=0.2} I {i}am{/i} trying out a different one..." else: - n 1nsqsl "...Go figure,{w=0.1} [player]." + n 2nsqsl "...Go figure,{w=0.1} [player]." else: if Natsuki.isEnamored(higher=True): $ chosen_tease = jn_utils.getRandomTease() n 1fcssml "I'm pretty sure I already let my hair down around you,{w=0.1} [chosen_tease].{w=0.2} That qualifies, right?" - n 1uchgnlelg "Ahaha!" + n 3uchgnlelg "Ahaha!" elif Natsuki.isNormal(higher=True): n 1unmaj "You know what they say,{w=0.1} [player]." - n 1fnmbg "If it ain't broke,{w=0.1} don't fix it!" + n 3fnmbg "If it ain't broke,{w=0.1} don't fix it!" n 1uchgn "Ehehe." else: - n 1fslaj "...At this point,{w=0.1} [player]?{w=0.2} I'd rather you stayed {i}out{/i} of my hair." + n 2fslaj "...At this point,{w=0.1} [player]?{w=0.2} I'd rather you stayed {i}out{/i} of my hair." n 1fsqbo "Thanks." return @@ -3665,45 +3667,45 @@ init 5 python: ) label talk_integrity: - n 1ullaj "You know,{w=0.1} [player]..." + n 4ullaj "You know,{w=0.1} [player]..." n 1nnmaj "I feel like nowadays,{w=0.1} everyone is trying to make a point,{w=0.1} or preach something." - n 1flrem "Especially with social media and all that everywhere -{w=0.1} it's crazy!" - n 1fllem "Like...{w=0.3} there's posts telling you this is bad,{w=0.1} others asking why you don't support something else..." + n 2flrem "Especially with social media and all that everywhere -{w=0.1} it's crazy!" + n 2fllem "Like...{w=0.3} there's posts telling you this is bad,{w=0.1} others asking why you don't support something else..." n 1fcsan "And of course,{w=0.1} {i}everyone{/i} is tuned in to that -{w=0.1} so it leaks into real life as well!" n 1flrsl "Ugh...{w=0.3} it can't only be me that finds it all exhausting,{w=0.1} right?" n 1unmaj "I think it makes it kinda easy to lose track of what you really like,{w=0.1} or what you stand for." - n 1ullaj "Which...{w=0.3} is actually something I really wanted to talk to you about,{w=0.1} [player]." + n 4ullaj "Which...{w=0.3} is actually something I really wanted to talk to you about,{w=0.1} [player]." n 1fllpu "I'm not saying you should just ignore everyone else,{w=0.1} or never consider other points of view." - n 1fnmpo "That's just being ignorant." + n 3fnmpo "That's just being ignorant." n 1knmaj "But...{w=0.3} don't just let other people's opinions or conceptions completely overwrite your own,{w=0.1} 'kay?" - n 1fnmbo "At least not without a fight,{w=0.1} at least." + n 4fnmbo "At least not without a fight,{w=0.1} at least." n 1fnmpu "{i}You{/i} are your own master,{w=0.1} [player] -{w=0.1} you have your own opinions,{w=0.1} your own values:{w=0.1} and that's super important!" n 1fcsbg "I mean,{w=0.1} look at me!" n 1fllaj "So what if someone says what I'm into sucks?{w=0.2} Or if I should be following something more popular?" n 1fnmsf "It isn't hurting anyone,{w=0.1} so who are they to judge and tell me what I should be enjoying?" - n 1fcsbg "It's my life,{w=0.1} so they can jog on!" + n 3fcsbg "It's my life,{w=0.1} so they can jog on!" n 1nnmsr "Anyway...{w=0.3} I guess what I'm saying is don't be afraid to stand up for what matters to you,{w=0.1} [player]." n 1fcsaj "There's gonna be times you'll be wrong,{w=0.1} but don't let it get to you!" n 1flrsl "I just don't like the idea of people being pushed into what isn't right for them." - n 1nnmpu "That being said,{w=0.1} [player]..." + n 4nnmpu "That being said,{w=0.1} [player]..." if Natsuki.isEnamored(higher=True): n 1ksqsm "I'm pretty sure we both know what's right for each other by now,{w=0.1} huh?" - n 1fcsbglesssbl "Ahaha." + n 3fcsbglesssbl "Ahaha." if Natsuki.isLove(higher=True): - n 1uchsml "Love you,{w=0.1} [player]~!" + n 4uchsml "Love you,{w=0.1} [player]~!" elif Natsuki.isAffectionate(higher=True): n 1ksqsm "I'm pretty sure I know what's right for you..." - n 1fcsbgledz "Spending more time with me!" - extend 1nchgnedz " Ehehe." + n 3fcsbgledz "Spending more time with me!" + extend 4nchgnedz " Ehehe." else: n 1unmss "I'm sure I can help you find what's right for you." n 1fllss "That's what friends are for,{w=0.1} right?" - n 1fcsbg "{i}Especially{/i} ones like me!{w=0.5}{nw}" - extend 1nchgnedz " Ehehe." + n 3fcsbg "{i}Especially{/i} ones like me!{w=0.5}{nw}" + extend 4nchgnedz " Ehehe." return @@ -3725,46 +3727,46 @@ init 5 python: label talk_favourite_animal: if Natsuki.isNormal(higher=True): n 1fsqsr "Hammies." - n 1fcssm "That's barely even a question for me,{w=0.1} [player]." + n 3fcssm "That's barely even a question for me,{w=0.1} [player]." n 1uwdaj "Like...{w=0.3} if you've seen them,{w=0.1} can you blame me?" n 1fcspu "They're...{w=0.5}{nw}" - n 1fspgsedz "{i}Adorable{/i}!!" + n 4fspgsedz "{i}Adorable{/i}!!" n 1fbkbsl "I just love everything about them...{w=0.3} the little paws,{w=0.1} the bright eyes, those puffy cheeks..." - n 1fspbgl "And that tiny little tail...{w=0.3} oh my gosh!{w=0.2} It's just precious!" - n 1fllan "It really winds me up when people call them boring,{w=0.1} or unaffectionate though.{w=0.2} Like...{w=0.3} have you ever watched one?" + n 4fspbgl "And that tiny little tail...{w=0.3} oh my gosh!{w=0.2} It's just precious!" + n 2fllan "It really winds me up when people call them boring,{w=0.1} or unaffectionate though.{w=0.2} Like...{w=0.3} have you ever watched one?" n 1fnmaj "They all have their own little personalities,{w=0.1} just like any other animal -{w=0.1} only smaller!" n 1uwdaj "And if you bond with them,{w=0.1} they aren't afraid to show it -{w=0.1} I've seen videos of them following their owners around,{w=0.1} and even leaping into their hands!" - n 1fchbg "Plus they're easy to take care of,{w=0.1} too!" + n 4fchbg "Plus they're easy to take care of,{w=0.1} too!" n 1fchsm "Just top up their food and change their water daily,{w=0.1} and clean their cage out once a week -{w=0.1} no sweat." - n 1nllpu "Hmm..." + n 4nllpu "Hmm..." n 1unmpu "You know,{w=0.1} [player]...{w=0.3} it does get a little quiet when you aren't around,{w=0.1} if you know what I'm getting at..." - n 1fnmsm "Perhaps one day we could have our own furry friend here too?{w=0.1} Ehehe." + n 3fnmsm "Perhaps one day we could have our own furry friend here too?{w=0.1} Ehehe." n 1fllss "Don't worry though,{w=0.1} [player]..." n 1ucssm "I don't mind taking care of it." - n 1fchgn "...But you're in charge of the supplies!" + n 3fchgn "...But you're in charge of the supplies!" if Natsuki.isEnamored(higher=True): n 1fchbg "Oh,{w=0.1} and relax -{w=0.1} I'll make sure it'll be well tamed!" n 1uslbg "Or..." - n 1usqts "At least about as tame as you,{w=0.1} huh [player]?{w=0.2} Ahaha!" + n 3usqts "At least about as tame as you,{w=0.1} huh [player]?{w=0.2} Ahaha!" if Natsuki.isLove(higher=True): - n 1uchbg "Love you~!" + n 4uchbg "Love you~!" elif Natsuki.isDistressed(higher=True): n 1fsqpu "Hamsters,{w=0.1} if it matters." - n 1fllpu "Why?{w=0.2} I don't know.{w=0.2} I just think they're cute." + n 2fllpu "Why?{w=0.2} I don't know.{w=0.2} I just think they're cute." n 1nllbo "I think people actually underestimate how expressive they can be,{w=0.1} too." n 1nnmbo "They're like most animals really -{w=0.1} they all have their own personalities." n 1nnmaj "I guess they're pretty easy to take care of as well,{w=0.1} so there's that." n 1nlrsl "..." - n 1flrsl "...I'd be lying if I said I hadn't been thinking about getting one myself..." + n 2flrsl "...I'd be lying if I said I hadn't been thinking about getting one myself..." n 1fsqpu "But honestly,{w=0.1} [player]?{w=0.2} If you've shown you can't take care of {i}me{/i}?" - n 1fcsan "...Then I don't think it'd be fair to bring one here,{w=0.1} either.{w=0.2} Heh." + n 2fcsan "...Then I don't think it'd be fair to bring one here,{w=0.1} either.{w=0.2} Heh." else: n 1fsqpu "Heh.{w=0.2} Really?{w=0.2} My favourite animal...?" - n 1fcsantsa "Not you,{w=0.1} [player].{w=0.2} That's for sure." + n 2fcsantsa "Not you,{w=0.1} [player].{w=0.2} That's for sure." return @@ -3794,55 +3796,55 @@ label talk_favourite_drink: n 1nllbo "Huh?{w=0.2} Oh.{w=0.1} My favourite drink." else: - n 1fslsf "...I can't understand why you'd care,{w=0.1} [player]." + n 2fslsf "...I can't understand why you'd care,{w=0.1} [player]." n 1fsqsf "So...{w=0.3} why should I?" - n 1fsqan "Water.{w=0.2} There's an answer for you.{w=0.2} Happy?" - n 1fcsanltsa "Now just go away..." + n 2fsqan "Water.{w=0.2} There's an answer for you.{w=0.2} Happy?" + n 2fcsanltsa "Now just go away..." return if Natsuki.isNormal(higher=True): n 1ullaj "I gotta say...{w=0.3} it depends on the weather more than anything." - n 1tnmaj "I mean...{w=0.3} what kind of dope would order an iced drink in the middle of winter?!" + n 3tnmaj "I mean...{w=0.3} what kind of dope would order an iced drink in the middle of winter?!" n 1fllss "But anyway..." n 1fcsbg "If it's cold out,{w=0.1} then hot chocolate.{w=0.2} No questions,{w=0.1} no doubts." - n 1uchgn "In the depths of winter,{w=0.1} you definitely won't get a better option than that!" + n 4uchgn "In the depths of winter,{w=0.1} you definitely won't get a better option than that!" if Natsuki.isAffectionate(higher=True): n 1fcsbg "And yeah,{w=0.1} [player] -{w=0.1} whipped cream,{w=0.1} marshmallows -{w=0.1} all of it.{w=0.2} The complete works." n 1uchgn "...And I wouldn't accept anything less!" - n 1fllbg "I mean,{w=0.1} think about it -{w=0.1} if you're getting hot chocolate,{w=0.1} you've already kinda lost on the health front." - n 1uchgn "So you might as well go all in,{w=0.1} right?{w=0.2} Ahaha." + n 3fllbg "I mean,{w=0.1} think about it -{w=0.1} if you're getting hot chocolate,{w=0.1} you've already kinda lost on the health front." + n 3uchgn "So you might as well go all in,{w=0.1} right?{w=0.2} Ahaha." if Natsuki.isLove(higher=True): - n 1fcsdvl "Besides,{w=0.2} I'm not too worried -{w=0.1} we'll just share the calories,{w=0.1} [player]~." + n 4fcsdvl "Besides,{w=0.2} I'm not too worried -{w=0.1} we'll just share the calories,{w=0.1} [player]~." n 1unmaj "As for warmer weather...{w=0.3} that's a little trickier,{w=0.1} actually." - n 1fslsr "Let me think..." - n 1fsrsr "..." + n 3fslsr "Let me think..." + n 3fsrsr "..." n 1fchbs "Aha!{w=0.2} I got it!" n 1unmbg "It's gotta be those milkshakes,{w=0.1} but from one of those places where you get to choose what goes in it!" n 1fsqsm "I don't just mean picking a flavor,{w=0.1} [player]..." - n 1fchgn "I mean where you can pick any combination of ingredients you want!" + n 4fchgn "I mean where you can pick any combination of ingredients you want!" n 1fllss "Well...{w=0.3} as long as it blends,{w=0.1} anyway." n 1ncssm "All kinds of sweets,{w=0.1} any type of milk..." if Natsuki.isAffectionate(higher=True): n 1ucssm "Though if I had to pick a favourite?" - n 1fcsbg "It's gotta be strawberries and cream,{w=0.1} obviously." - n 1fllbgl "And...{w=0.3} maybe with just a dash of chocolate too?{w=0.2} Ehehe." + n 3fcsbg "It's gotta be strawberries and cream,{w=0.1} obviously." + n 3fllbgl "And...{w=0.3} maybe with just a dash of chocolate too?{w=0.2} Ehehe." else: n 1fchbg "Yeah.{w=0.2} That's the real deal!" - n 1fllpo "Jeez...{w=0.3} all this talk about drinks is making me kinda thirsty,{w=0.1} actually.{w=0.2} So on that note..." + n 3fllpo "Jeez...{w=0.3} all this talk about drinks is making me kinda thirsty,{w=0.1} actually.{w=0.2} So on that note..." n 1fnmbg "You need to stay hydrated too,{w=0.1} [player] -{w=0.1} whatever the weather!" else: n 1flrsl "I suppose it depends what the weather is like." - n 1fnmbo "Hot chocolate if it's cold out,{w=0.1} though I'm not very picky I guess." + n 2fnmbo "Hot chocolate if it's cold out,{w=0.1} though I'm not very picky I guess." n 1fllaj "As for warmer weather..." n 1fllsl "I don't really know.{w=0.2} Whatever is fine." - n 1fsqsl "Heh.{w=0.2} Though at this rate,{w=0.1} I shouldn't expect much more than tap water from you anyway.{w=0.2} Right,{w=0.1} [player]?" + n 2fsqsl "Heh.{w=0.2} Though at this rate,{w=0.1} I shouldn't expect much more than tap water from you anyway.{w=0.2} Right,{w=0.1} [player]?" return @@ -3863,90 +3865,90 @@ init 5 python: label talk_school_uniform: if Natsuki.isLove(higher=True): - n 1fsqctl "Oho?{w=0.2} Does [player] like a girl in uniform?" + n 4fsqcsl "Oho?{w=0.2} Does [player] like a girl in uniform?" n 1ksqaj "Wow...{w=0.3} you're even {i}more{/i} gross than I thought." n 1fsqsm "..." $ chosen_tease = jn_utils.getRandomTease() - n 1uchgn "Oh come on,{w=0.1} [chosen_tease]!{w=0.2} You always get all sulky when I call you that!{w=0.2} I just can't resist." + n 3uchgn "Oh come on,{w=0.1} [chosen_tease]!{w=0.2} You always get all sulky when I call you that!{w=0.2} I just can't resist." n 1fchsm "Ehehe.{w=0.2} So anyway..." elif Natsuki.isAffectionate(higher=True): - n 1unmaj "Huh?{w=0.2} My school uniform?" + n 4unmaj "Huh?{w=0.2} My school uniform?" n 1fsqsm "...Ehehe." - n 1fcsbgl "Why do you ask,{w=0.1} [player]?{w=0.2} Did {i}you{/i} wanna wear it or something?" + n 3fcsbgl "Why do you ask,{w=0.1} [player]?{w=0.2} Did {i}you{/i} wanna wear it or something?" n 1fchgn "Oh!{w=0.2} We can play dress-up!{w=0.2} Wouldn't you like that,{w=0.1} [player]?{w=0.2} It'll be so much fun!" - n 1uchbselg "I bet I could make you look so cute~.{w=0.1} Ahaha!" + n 4uchbselg "I bet I could make you look so cute~.{w=0.1} Ahaha!" n 1nllss "Well anyway,{w=0.1} putting jokes aside..." elif Natsuki.isNormal(higher=True): - n 1tnmaj "My school uniform?{w=0.2} That's...{w=0.3} kind of a weird thing to ask me about,{w=0.1} huh?" + n 4tnmaj "My school uniform?{w=0.2} That's...{w=0.3} kind of a weird thing to ask me about,{w=0.1} huh?" n 1nslaj "Well,{w=0.1} whatever.{w=0.2} I'll let it slide...{w=0.3} this time." elif Natsuki.isDistressed(higher=True): - n 1nsraj "...Huh?{w=0.2} Oh,{w=0.1} the school uniform." + n 2nsraj "...Huh?{w=0.2} Oh,{w=0.1} the school uniform." n 1nsqsl "I...{w=0.3} don't know what you're expecting to hear from me,{w=0.1} [player]." n 1fsqsl "I had to wear it for school.{w=0.2} That's the point of a uniform,{w=0.1} if you hadn't realized." - n 1fsrsf "It doesn't matter if I like it or not." - n 1fsqbo "...And it matters even less if you do." + n 2fsrsf "It doesn't matter if I like it or not." + n 4fsqbo "...And it matters even less if you do." return else: - n 1fsran "Heh.{w=0.2} I like it more than {i}you{/i}.{w=0.2} Jerk." + n 2fsran "Heh.{w=0.2} I like it more than {i}you{/i}.{w=0.2} Jerk." return n 1unmaj "It's alright,{w=0.1} I guess.{w=0.2} I actually really like the warm colours!" n 1nnmss "They're way easier on the eyes than a lot of the other uniforms I've seen around." - n 1nsqsr "But Oh.{w=0.2} My.{w=0.2} Gosh.{w=0.2} [player]." + n 2nsqsr "But Oh.{w=0.2} My.{w=0.2} Gosh.{w=0.2} [player]." n 1fcsan "The layers.{w=0.2} So many layers." - n 1fllem "Who even thought someone needs that much clothing?!{w=0.2} For school,{w=0.1} of all places?!" + n 4fllem "Who even thought someone needs that much clothing?!{w=0.2} For school,{w=0.1} of all places?!" n 1fbkwr "I mean...{w=0.3} do you even {i}know{/i} what wearing all that clothing in summer is like?!{w=0.2} It's {i}horrible{/i}!" - n 1flrpo "And the blazer...{w=0.3} ugh!{w=0.2} It's actually the worst thing ever." - n 1fsqpo "Like yeah,{w=0.1} I could take some off between class,{w=0.1} but I had to put it all back on when I went in." - n 1fllpo "...Or get told off.{w=0.2} {i}Again{/i}.{w=0.2} I honestly have no idea how Sayori got away with hers being so scruffy." + n 2flrpo "And the blazer...{w=0.3} ugh!{w=0.2} It's actually the worst thing ever." + n 2fsqpo "Like yeah,{w=0.1} I could take some off between class,{w=0.1} but I had to put it all back on when I went in." + n 2fllpo "...Or get told off.{w=0.2} {i}Again{/i}.{w=0.2} I honestly have no idea how Sayori got away with hers being so scruffy." n 1fcsan "And all of the uniform stuff is super expensive too!{w=0.2} Talk about a kick in the teeth!" - n 1fslan "Jerks." + n 4fslan "Jerks." n 1fslsr "Ugh...{w=0.3} I seriously wish uniforms were banned or something." - n 1flrpo "I guess it could be worse.{w=0.5}{nw}" + n 3flrpo "I guess it could be worse.{w=0.5}{nw}" extend 1ksrsl " At least it kept me warm when it mattered." if not Natsuki.isWearingClothes("jn_clothes_school_uniform"): n 1nchgn "...And I'm not wearing it now,{w=0.1} at least!{w=1}{nw}" - extend 1fcsbg " Always a plus." + extend 3fcsbg " Always a plus." n 1ullaj "That being said...{w=0.75}{nw}" else: n 1ulraj "But...{w=0.75}{nw}" - extend 1unmbo " what about you,{w=0.1} [player]?" + extend 4unmbo " what about you,{w=0.1} [player]?" show natsuki 1tnmpu at jn_center menu: n "Did you have to wear any uniform at school?" "Yes, I had to wear uniform.": - n 1fcsbg "Aha!{w=0.2} So you know the struggle too,{w=0.1} huh?" + n 3fcsbg "Aha!{w=0.2} So you know the struggle too,{w=0.1} huh?" "No, I didn't have to wear uniform.": n 1fslsr "..." - n 1fsqsr "...Lucky." + n 3fsqsr "...Lucky." "I have to wear uniform now.": n 1fchgn "Then you have my condolences,{w=0.1} [player]!{w=0.2} Ahaha." - n 1fcsbg "Good to know we're on the same page,{w=0.1} though." + n 4fcsbg "Good to know we're on the same page,{w=0.1} though." "I don't have to wear uniform now.": n 1fslsr "..." - n 1fsqsr "...Lucky." + n 3fsqsr "...Lucky." n 1ullss "Well,{w=0.1} anyway..." if Natsuki.isLove(higher=True): n 1fllss "I still don't particularly {i}like{/i} wearing it..." - n 1uslbgl "But...{w=0.3} I think I can put up with it.{w=0.2} Just for you,{w=0.1} [player]~." + n 3uslbgl "But...{w=0.3} I think I can put up with it.{w=0.2} Just for you,{w=0.1} [player]~." n 1usrdvl "Ehehe." elif Natsuki.isAffectionate(higher=True): - n 1usrdvl "I-{w=0.1}if you don't mind it,{w=0.1} [player]?" + n 4usrdvl "I-{w=0.1}if you don't mind it,{w=0.1} [player]?" n 1fllbgl "I suppose it has that going for it too,{w=0.1} a-{w=0.1}at least..." elif Natsuki.isNormal(higher=True): @@ -3972,58 +3974,58 @@ init 5 python: label talk_flying: if Natsuki.isEnamored(higher=True): - n 1uwdbg "Ooh!{w=0.2} Flying?{w=0.2} Like on a plane?" - n 1fllun "Nnn...{w=0.3} I wish I could say I have,{w=0.1} [player]..." + n 4uwdaj "Ooh!{w=0.2} Flying?{w=0.2} Like on a plane?" + n 3fllun "Nnn...{w=0.3} I wish I could say I have,{w=0.1} [player]..." n 1fchbg "Don't get me wrong though!{w=0.2} I'd {i}totally{/i} fly somewhere new if I could!" - n 1fslsl "It's just...{w=0.3} the price of it all,{w=0.1} you know?" - n 1kllsl "I've never had a passport,{w=0.1} but it's mainly the tickets and everything beyond that..." + n 4fslsl "It's just...{w=0.3} the price of it all,{w=0.1} you know?" + n 4kllsl "I've never had a passport,{w=0.1} but it's mainly the tickets and everything beyond that..." elif Natsuki.isHappy(higher=True): - n 1unmaj "Huh?{w=0.2} Flying?{w=0.2} Like on a plane or something?" + n 4unmaj "Huh?{w=0.2} Flying?{w=0.2} Like on a plane or something?" n 1kllaj "I...{w=0.3} wish I could say I have,{w=0.1} [player]." n 1fnmbg "Don't get me wrong though!{w=0.2} I'd love to jet off somewhere.{w=0.2} Like for a vacation or something!" - n 1flrpo "It's just the cost that stops me, you know?" - n 1fcspo "Even if I had a passport, there's just so many things to pay out for..." + n 2flrpo "It's just the cost that stops me, you know?" + n 2fcspo "Even if I had a passport, there's just so many things to pay out for..." elif Natsuki.isNormal(higher=True): n 1unmaj "Oh?{w=0.2} Like flying on a plane or whatever?" n 1kllbo "Uhmm..." - n 1klraj "I...{w=0.3} never really had the opportunity to fly anywhere,{w=0.1} [player]." + n 2klraj "I...{w=0.3} never really had the opportunity to fly anywhere,{w=0.1} [player]." n 1unmaj "I don't even have a passport or anything like that,{w=0.1} and even if I did?" - n 1nsraj "It isn't like tickets are...{w=0.3} affordable,{w=0.1} if you know what I mean?" - n 1nslpo "Especially to someone in my...{w=0.3} position." + n 2nsraj "It isn't like tickets are...{w=0.3} affordable,{w=0.1} if you know what I mean?" + n 2nslpo "Especially to someone in my...{w=0.3} position." elif Natsuki.isDistressed(higher=True): n 1nnmbo "Flying?{w=0.2} Like...{w=0.3} on a plane?" - n 1fnmsf "No,{w=0.1} [player].{w=0.2} I haven't." + n 2fnmsf "No,{w=0.1} [player].{w=0.2} I haven't." n 1fllsf "I've never owned a passport,{w=0.1} and it's way too expensive anyway." n 1fnmaj "I don't really like the idea of the environmental impact either." - n 1fsqaj "...But something tells me you don't really care about that last point,{w=0.2} do you?" + n 2fsqaj "...But something tells me you don't really care about that last point,{w=0.2} do you?" n 1flrca "You know...{w=0.3} just going by my experience so far." - n 1fsqca "...Am I {i}wrong{/i}?" + n 2fsqca "...Am I {i}wrong{/i}?" return else: - n 1fsqanean "No,{w=0.1} [player].{w=0.2} I haven't.{w=0.2} And I probably never will." + n 2fsqanean "No,{w=0.1} [player].{w=0.2} I haven't.{w=0.2} And I probably never will." n 1fcsanltsa "Gloat all you want.{w=0.2} I don't give a crap if you have." return n 1ullaj "Besides,{w=0.1} I try not to feel too bad about it.{w=0.2} It's way better for the environment if I don't,{w=0.1} anyway!" n 1nnmbo "Flying places is pretty polluting.{w=0.2} I think I'd just feel selfish if I was constantly zooming around,{w=0.1} knowing how bad that is for everyone." n 1nllss "But...{w=0.3} that's just me,{w=0.1} I guess." - n 1unmaj "What about you,{w=0.1} [player]?" + n 4unmaj "What about you,{w=0.1} [player]?" menu: n "Are you a frequent flier?" "Yes, I fly regularly.": n 1fcsbg "Oh?{w=0.2} Well check you out,{w=0.1} [player]!" - n 1fslpo "I guess it's {i}plane{/i} to see how well you're doing for yourself?" + n 3fslpo "I guess it's {i}plane{/i} to see how well you're doing for yourself?" n 1fchbg "Ehehe." n 1fnmaj "Just try to avoid racking up too many miles,{w=0.1} [player]." - n 1fllss "You gotta think about the planet too,{w=0.1} you know..." + n 4fllss "You gotta think about the planet too,{w=0.1} you know..." if Natsuki.isEnamored(higher=True): - n 1fslnvf "E-{w=0.1}especially if people we really care about are in it.{w=0.2} Ahaha..." + n 4fslnvf "E-{w=0.1}especially if people we really care about are in it.{w=0.2} Ahaha..." elif Natsuki.isHappy(higher=True): n 1fchgn "No excuses,{w=0.1} [player]! Ehehe." @@ -4032,33 +4034,33 @@ label talk_flying: "I fly sometimes.": n 1unmss "Ooh,{w=0.1} okay!{w=0.2} So the odd vacation or family flight then?" - n 1fslsm "I see,{w=0.1} I see..." + n 2fslsm "I see,{w=0.1} I see..." n 1fcsbg "Well,{w=0.1} good for you,{w=0.1} [player]!{w=0.2} Everyone should get the chance to explore the world." - n 1kslss "Hopefully I'll get the chance someday too." + n 4kslss "Hopefully I'll get the chance someday too." if Natsuki.isEnamored(higher=True): n 1fsqsg "I hope you'll be available when that happens,{w=0.1} [player]." - n 1fchgnl "You're gonna be my tour guide,{w=0.1} whether you like it or not!" + n 3fchgnl "You're gonna be my tour guide,{w=0.1} whether you like it or not!" elif Natsuki.isHappy(higher=True): n 1fsqsm "You better be handy when that happens,{w=0.1} [player]..." - n 1fchgn "We'll see how good a guide you are!" + n 4fchgn "We'll see how good a guide you are!" $ persistent._jn_player_has_flown = True "I've flown before.": - n 1fsqct "Oh?{w=0.2} So you've already earned your wings,{w=0.1} huh?" + n 4fsqct "Oh?{w=0.2} So you've already earned your wings,{w=0.1} huh?" n 1tllaj "Hmm...{w=0.3} I wonder where you went?" n 1fnmaj "You gotta promise to tell me if you fly again,{w=0.1} 'kay?" - n 1fchgn "I wanna hear all about it!" + n 3fchgn "I wanna hear all about it!" $ persistent._jn_player_has_flown = True "I've never flown.": n 1fcsbg "Then that's just another thing we have in common,{w=0.1} [player]!" n 1fsqss "I guess you could say..." - n 1fsqdv "We're both just {i}well grounded{/i} people,{w=0.1} huh?" - n 1fchgnelg "Ahaha!" + n 4fsqdv "We're both just {i}well grounded{/i} people,{w=0.1} huh?" + n 3fchgnelg "Ahaha!" $ persistent._jn_player_has_flown = False @@ -4092,36 +4094,36 @@ label talk_are_you_into_cars: if already_discussed_driving: # Natsuki has already established she can't drive at some point if Natsuki.isNormal(higher=True): - n 1unmaj "Eh?{w=0.2} Cars?" + n 4unmaj "Eh?{w=0.2} Cars?" n 1fchgn "Jeez,{w=0.1} you know I can't drive,{w=0.1} dummy!{w=0.2} I don't have a reason to be into cars!" - n 1nlrbg "Well,{w=0.1} anyway..." + n 3nlrbg "Well,{w=0.1} anyway..." elif Natsuki.isDistressed(higher=True): - n 1fcssl 1nnmsl "[player].{w=0.2} You know I can't drive.{w=0.2} Why would you think I'd be into cars,{w=0.1} of all things?" - n 1fllsl 1nllsl "...Fine.{w=0.2} Whatever." + n 1fcssl "[player].{w=0.2} You know I can't drive.{w=0.2} Why would you think I'd be into cars,{w=0.1} of all things?" + n 2fllsl "...Fine.{w=0.2} Whatever." else: n 1fsqpu "...Really?" - n 1fsqan "You know I can't drive.{w=0.2} So I'm not even going to {i}pretend{/i} I care if you're into that,{w=0.1} [player]." + n 2fsqan "You know I can't drive.{w=0.2} So I'm not even going to {i}pretend{/i} I care if you're into that,{w=0.1} [player]." n 1fnmfultsc "Besides...{w=0.3} I bet you'd {i}never{/i} treat your {i}precious{/i} car like you treat me,{w=0.1} huh?" return else: # Natsuki hasn't stated she can't drive before if Natsuki.isNormal(higher=True): - n 1unmaj "Huh?{w=0.1} Am I into cars?" - n 1fllnv "Well...{w=0.3} to tell you the truth,{w=0.1} [player]?" + n 4unmaj "Huh?{w=0.1} Am I into cars?" + n 2fllnv "Well...{w=0.3} to tell you the truth,{w=0.1} [player]?" n 1unmaj "...I've never actually owned a license." - n 1flrpo "I don't even think I could afford to learn!" + n 3flrpo "I don't even think I could afford to learn!" n 1nnmaj "So I've never really been drawn to them honestly." elif Natsuki.isDistressed(higher=True): n 1fnmsr "I can't drive,{w=0.1} [player].{w=0.2} I don't have a license either;{w=0.1} learning was always too expensive." - n 1fnmpu "So...{w=0.3} why would I be into that?{w=0.1} I literally can't {i}afford{/i} to be." + n 2fnmpu "So...{w=0.3} why would I be into that?{w=0.1} I literally can't {i}afford{/i} to be." else: n 1fcsan "Newsflash,{w=0.1} jerk.{w=0.2} I {i}can't{/i} drive,{w=0.1} and I can't even afford to {i}learn{/i}." - n 1fsqan "So you tell {i}me{/i} -{w=0.1} why would I be into cars?{w=0.2} And if I was,{w=0.1} why the hell would I want to talk to {i}you{/i} about them?" + n 2fsqan "So you tell {i}me{/i} -{w=0.1} why would I be into cars?{w=0.2} And if I was,{w=0.1} why the hell would I want to talk to {i}you{/i} about them?" n 1fcspu "...Heh.{w=0.2} Yeah,{w=0.1} I thought so.{w=0.2} We're done here,{w=0.1} [player]." return @@ -4129,7 +4131,7 @@ label talk_are_you_into_cars: n 1unmsm "I can appreciate the talent that goes into them -{w=0.1} I think it's actually pretty cool how expressive they can be!" n 1nllss "Like...{w=0.3} the design languages of all the different brands,{w=0.1} the engineering that goes into them and all that." n 1fchbg "It's pretty insane how much work goes into it;{w=0.1} and that's definitely something I have respect for!" - n 1fsqsm "What about you though, [player]?{w=0.2} You {i}did{/i} bring it up,{w=0.1} but I thought I'd ask anyway..." + n 2fsqsm "What about you though, [player]?{w=0.2} You {i}did{/i} bring it up,{w=0.1} but I thought I'd ask anyway..." menu: n "Are you into cars?" @@ -4138,42 +4140,42 @@ label talk_are_you_into_cars: # The player has never stated if they can drive if persistent.jn_player_can_drive is None: n 1tllbo "Huh.{w=0.2} I wasn't actually sure if you could even drive,{w=0.1} but I suppose that doesn't matter really." - n 1fsqsm "I guess being a petrolhead isn't an exclusive club,{w=0.1} huh?" + n 3fsqsm "I guess being a petrolhead isn't an exclusive club,{w=0.1} huh?" n 1uchbg "Ahaha." # The player has confirmed they can drive elif persistent.jn_player_can_drive: - n 1fsgbg "Well,{w=0.1} color {i}me{/i} surprised." + n 4fsgbg "Well,{w=0.1} color {i}me{/i} surprised." n 1fchgn "Ehehe." n 1fcsbg "Don't worry,{w=0.1} I had you figured for the sort,{w=0.2} [player]." - n 1fchbg "But hey -{w=0.1} whatever floats your boat!" + n 3fchbg "But hey -{w=0.1} whatever floats your boat!" # The player has admitted they cannot drive else: n 1unmaj "That's...{w=0.3} actually pretty surprising to hear from you,{w=0.1} [player]." n 1nllaj "You know,{w=0.1} since you said you can't drive and all that..." - n 1fchbg "But I guess it's like anything -{w=0.1} you don't have to be doing it to be a fan,{w=0.1} and that's fine with me!" + n 3fchbg "But I guess it's like anything -{w=0.1} you don't have to be doing it to be a fan,{w=0.1} and that's fine with me!" "I don't care much for them.": n 1ullss "I guess that's fair enough -{w=0.1} and don't worry,{w=0.1} I completely get it." - n 1nnmsm "But if someone's into that kind of thing,{w=0.1} who are we to judge,{w=0.1} after all?" + n 4nnmsm "But if someone's into that kind of thing,{w=0.1} who are we to judge,{w=0.1} after all?" "No, I'm not into them.": n 1ulraj "...Huh.{w=0.2} That's kinda weird -{w=0.1} then why did you bring it up,{w=0.1} [player]?" if persistent.jn_player_can_drive: - n 1tlraj "Especially if you can drive!" + n 4tlraj "Especially if you can drive!" n 1tllpu "Huh..." - n 1fchbg "Well,{w=0.1} anyway.{w=0.2} Fair enough I guess!" + n 3fchbg "Well,{w=0.1} anyway.{w=0.2} Fair enough I guess!" else: - n 1flrsr "I guess I can respect the work and talent that goes into designing and making one..." + n 2flrsr "I guess I can respect the work and talent that goes into designing and making one..." n 1fnmbo "But it's just the same as anything else." n 1fsqbo "...I suppose you're into your cars then,{w=0.1} are you?" n 1fcspu "Heh." - n 1fsqpu "It'd be nice if you extended that respect to {i}people{/i} too,{w=0.1} [player]." - n 1fsqsr "{i}Just saying.{/i}" + n 2fsqpu "It'd be nice if you extended that respect to {i}people{/i} too,{w=0.1} [player]." + n 4fsqsr "{i}Just saying.{/i}" return @@ -4196,94 +4198,94 @@ label talk_how_do_you_feel_about_me: if Natsuki.isLove(higher=True): if persistent.jn_player_love_you_count > 0: - n 1kwmpof "[player]...{w=0.3} isn't it obvious? You know I love you already,{w=0.1} right?" - n 1fllpol "Jeez...{w=0.3} you really are a dork sometimes,{w=0.1} you know." + n 3kwmpof "[player]...{w=0.3} isn't it obvious? You know I love you already,{w=0.1} right?" + n 3fllpol "Jeez...{w=0.3} you really are a dork sometimes,{w=0.1} you know." n 1kllssl "But...{w=0.3} I kinda like that silly part of you,{w=0.1} [player]." n 1nwmbgl "Never change,{w=0.1} 'kay? Ehehe." - n 1nchbgl "Love you,{w=0.1} [player]~!" + n 4nchbgl "Love you,{w=0.1} [player]~!" else: n 1fcsanf "Nnnnnnn-!" - n 1fnmanf "C-{w=0.1}come on! Isn't it obvious by now? Jeez...{w=0.5}{nw}" - n 1fllpof "Do I really have to spell it out for you,{w=0.1} [player]?" + n 4fnmanf "C-{w=0.1}come on! Isn't it obvious by now? Jeez...{w=0.5}{nw}" + n 2fllpof "Do I really have to spell it out for you,{w=0.1} [player]?" n 1fcspolesi "Ugh...{w=0.5}{nw}" n 1fsqssl "Heh.{w=0.2} Actually,{w=0.1} you know what?" - n 1fsqbgl "I'll let you figure it out." + n 4fsqbgl "I'll let you figure it out." n 1fslajl "And no,{w=0.1} before you ask -{w=0.1} you've had enough hints already." - n 1fllpol "Dummy..." + n 2fllpol "Dummy..." return elif Natsuki.isEnamored(higher=True): n 1fcsanf "Uuuuuu-!" - n 1fskwrf "A-{w=0.1}are you trying to put me on the spot or something,{w=0.1} [player]?" - n 1fllemf "Jeez...{w=0.5}{nw}" + n 4fskwrf "A-{w=0.1}are you trying to put me on the spot or something,{w=0.1} [player]?" + n 2fllemf "Jeez...{w=0.5}{nw}" n 1fcseml "You should {i}know{/i} what I think of you by now...{w=0.5}{nw}" - n 1fllpol "...{w=0.5}{nw}" - n 1kcspol "...{w=0.3}Fine." - n 1fcspol "I...{w=0.3} like...{w=0.3} you,{w=0.1} [player].{w=0.2} A bunch." + n 2fllpol "...{w=0.5}{nw}" + n 2kcspol "...{w=0.3}Fine." + n 4fcspol "I...{w=0.3} like...{w=0.3} you,{w=0.1} [player].{w=0.2} A bunch." n 1fbkwrf "T-{w=0.1}there!{w=0.2} Happy now?!" - n 1kllsrl "Sheesh..." + n 4kllsrl "Sheesh..." return elif Natsuki.isAffectionate(higher=True): n 1fskemf "H-{w=0.1}huh? How do I feel about you?" - n 1fbkwrf "W-{w=0.1}what're you asking me about that for?!" - n 1fllpol "Sheesh,{w=0.1} [player]...{w=0.3} you'll make things all awkward at this rate..." + n 4fbkwrf "W-{w=0.1}what're you asking me about that for?!" + n 2fllpol "Sheesh,{w=0.1} [player]...{w=0.3} you'll make things all awkward at this rate..." n 1fcseml "You're fine,{w=0.1} so you don't need to keep bugging me about it!" - n 1flrunl "Jeez..." + n 4flrunl "Jeez..." return elif Natsuki.isHappy(higher=True): n 1uskemf "H-huh?!" - n 1fllbgl "O-oh! Ahaha..." + n 2fllbgl "O-oh! Ahaha..." n 1nllaj "Well,{w=0.1} I mean...{w=0.5}{nw}" n 1ullaj "You're pretty fun to be with,{w=0.1} all things considered." - n 1fllnvl "So...{w=0.3} yeah...." + n 4fllnvl "So...{w=0.3} yeah...." return elif Natsuki.isNormal(higher=True): n 1uskeml "H-{w=0.1}huh?!" n 1fllbg "O-oh!" - n 1unmaj "I mean...{w=0.3} you're alright...{w=0.3} I guess?" + n 4unmaj "I mean...{w=0.3} you're alright...{w=0.3} I guess?" if not persistent.jn_player_first_farewell_response: n 1flleml "W-{w=0.1}what did you expect?{w=0.5}{nw}" - extend 1fnmpol " We've {i}literally{/i} just met!" + extend 2fnmpol " We've {i}literally{/i} just met!" n 1nnmpu "That's about all I can say so far,{w=0.1} so...{w=0.3} yeah." n 1nllca "...{w=0.5}{nw}" - n 1nlraj "So...{w=0.3} where were we?" + n 4nlraj "So...{w=0.3} where were we?" return elif Natsuki.isUpset(higher=True): - n 1fsqaj "...{w=0.3}Oh? That matters to you now,{w=0.1} does it?" + n 2fsqaj "...{w=0.3}Oh? That matters to you now,{w=0.1} does it?" n 1fsqbo "Then tell me,{w=0.1} [player]." n 1fnmun "Why did you keep hurting my feelings like that?" n 1fcsun "...{w=0.5}{nw}" - n 1fllan "I don't have much patience for jerks,{w=0.1} [player]." + n 2fllan "I don't have much patience for jerks,{w=0.1} [player]." n 1fnmaj "I don't know if you're trying to be funny or what,{w=0.1} but knock it off.{w=0.2} Got it?" n 1fsqsr "Thanks." return elif Natsuki.isDistressed(higher=True): n 1fsqsr "...{w=0.3}Let's just cut the crap." - n 1fcsan "You've hurt me,{w=0.1} [player].{w=0.2} You've hurt me again,{w=0.1} and again." - n 1fnmfu "You've done it so many times now." - n 1fnman "So you tell me." + n 4fcsan "You've hurt me,{w=0.1} [player].{w=0.2} You've hurt me again,{w=0.1} and again." + n 2fnmfu "You've done it so many times now." + n 2fnman "So you tell me." n 1fsqpu "What the hell would {i}you{/i} think of someone who did that to you?" n 1fcspu "...{w=0.5}{nw}" - n 1fsqan "You're on thin ice,{w=0.1} [player].{w=0.2} Got it?" + n 2fsqan "You're on thin ice,{w=0.1} [player].{w=0.2} Got it?" return elif Natsuki.isBroken(): $ already_discussed_relationship = get_topic("talk_how_do_you_feel_about_me").shown_count > 0 if already_discussed_relationship: - n 1fsqpultse "...Wow.{w=0.2} Really?" + n 2fsqpultse "...Wow.{w=0.2} Really?" else: n 1fsqputsb "...{w=0.3}I have no words for how I feel about {i}you{/i}." - n 1fsqfultseean "Don't freaking test me, {i}[player]{/i}." + n 2fsqfultseean "Don't freaking test me, {i}[player]{/i}." return @@ -4315,68 +4317,68 @@ label talk_are_you_into_cosplay: if Natsuki.isEnamored(higher=True): if already_unlocked_cosplay_outfits: n 1tnmpu "Eh?{w=0.5}{nw}" - extend 1tsqsf " Cosplay {i}again{/i}, [player]?" - n 1fllpo "Yeesh..." + extend 2tsqsf " Cosplay {i}again{/i}, [player]?" + n 2fllpo "Yeesh..." if Natsuki.isWearingClothes("jn_clothes_trainer_cosplay") or Natsuki.isWearingClothes("jn_clothes_sango_cosplay"): - n 1fsqpol "As if having me {i}wearing{/i} cosplay wasn't already enough for you..." + n 4fsqpol "As if having me {i}wearing{/i} cosplay wasn't already enough for you..." n 1fnmeml "It's all you wanna {i}talk{/i} about too!" n 1fcseml "I'm not your own personal dress-up doll,{w=0.75}{nw}" - extend 1fsrpol " you know..." + extend 2fsrpol " you know..." else: n 1nslaj "You know,{w=0.75}{nw}" extend 1fsqajl " if you wanted me wearing it {i}that{/i} badly..." - n 1fsqsslsbl "You do realize you could have just {i}asked{/i},{w=0.2} right?" + n 4fsqsslsbl "You do realize you could have just {i}asked{/i},{w=0.2} right?" n 1fchsml "Ahaha." n 1ullss "Well,{w=0.2} anyway.{w=0.5}{nw}" - extend 1unmbo " In all seriousness?" + extend 4unmbo " In all seriousness?" n 1ulrsl "I can't say too much has changed,{w=0.2} honestly." n 1unmpu "Don't get me wrong!" n 1fchbg "I totally wanna get into cosplaying more!{w=0.75}{nw}" - extend 1fcssmeme " Any excuse to show off my talent {i}and{/i} needlework." + extend 3fcssmeme " Any excuse to show off my talent {i}and{/i} needlework." n 1ullaj "Plus I mean,{w=0.75}{nw}" - extend 1unmgs " have you {i}seen{/i} what kinds of outfits people can pull off,{w=0.5}{nw}" - extend 1fnmgs " all in the name of the stuff they love?" - n 1fcsem "All that talent,{w=0.3} all that passion...{w=1}{nw}" + extend 4unmgs " have you {i}seen{/i} what kinds of outfits people can pull off,{w=0.5}{nw}" + extend 4fnmgs " all in the name of the stuff they love?" + n 3fcsem "All that talent,{w=0.3} all that passion...{w=1}{nw}" n 1fcspu "It's{w=0.75}{nw}" - extend 1fspgsedz " {i}awesome{/i}!{w=1}{nw}" + extend 4fspgsedz " {i}awesome{/i}!{w=1}{nw}" extend 1fchgnedz " There's no way I {i}don't{/i} wanna be a part of that!" n 1kllpu "But..." - n 1nslsl "Well." - n 1ksrca "Ignoring how conventions are pretty much completely out of reach for me..." + n 2nslsl "Well." + n 2ksrca "Ignoring how conventions are pretty much completely out of reach for me..." n 1ksqtr "I don't suppose {i}you've{/i} seen any crafts shops around here,{w=0.2} have you?{w=0.75}{nw}" extend 1ksqca " Or any of my sewing stuff?" n 1ksqsl "..." - n 1ncsss "Heh.{w=1}{nw}" - extend 1nsrsl " Yeah,{w=0.2} I thought not." + n 4ncsss "Heh.{w=1}{nw}" + extend 4nsrsl " Yeah,{w=0.2} I thought not." n 1nsrajsbl "I really gotta figure something out for that,{w=0.75}{nw}" extend 1tsqsssbl " huh?" n 1tslslsbl "..." - n 1fcsbgsbl "W-{w=0.2}well,{w=0.2} if there's one thing I'm not short of here,{w=0.75}{nw}" + n 3fcsbgsbl "W-{w=0.2}well,{w=0.2} if there's one thing I'm not short of here,{w=0.75}{nw}" extend 1fchbgedz " it's ideas!{w=0.5}{nw}" extend 1fsqsm " So don't you worry about a thing,{w=0.2} [player]..." n 1fwrbg "'Cause there's no shortage of that {i}material{/i}!{w=0.75}{nw}" - extend 1nchgnl " Ehehe." + extend 4nchgnl " Ehehe." return else: - n 1usqct "Oho?{w=0.5}{nw}" - extend 1fcsbg " Cosplay,{w=0.2} you say?" + n 4usqct "Oho?{w=0.5}{nw}" + extend 3fcsbg " Cosplay,{w=0.2} you say?" n 1fllbo "..." n 1ullpu "Honestly?{w=0.75}{nw}" - extend 1nslsssbl " I've never really done any {i}serious{/i} cosplaying or anything..." + extend 2nslsssbl " I've never really done any {i}serious{/i} cosplaying or anything..." n 1unmaj "But I've actually thought about it a lot more since I got into manga and all that stuff a bunch!" n 1fcsbg "Plus I mean,{w=0.1} why shouldn't I?{w=0.75}{nw}" - extend 1fspgsedz " I {w=0.2}{i}love{/i}{w=0.2} thinking up new ideas for outfits!" + extend 4fspgsedz " I {w=0.2}{i}love{/i}{w=0.2} thinking up new ideas for outfits!" n 1fcsbg "Besides,{w=0.2} I know my way around a needle and thread!{w=0.75}{nw}" - extend 1nsrsssbr " I've had to use them often enough before." + extend 3nsrsssbr " I've had to use them often enough before." n 1fcsajlsbr "B-{w=0.2}but I think it seems like a pretty awesome way to show my appreciation for characters I like..." n 1fsqbg "...And show my {i}limitless{/i} talent while I'm at it." n 1usqsm "Anyway,{w=0.2} who knows?" - n 1fsqsm "Maybe you'll get to see some of my handiwork some day,{w=0.2} [player]." + n 4fsqsm "Maybe you'll get to see some of my handiwork some day,{w=0.2} [player]." n 1fsqbg "I bet you'd like that,{w=0.2} huh?{w=0.5}{nw}" extend 1fchsml " Ehehe." @@ -4388,41 +4390,41 @@ label talk_are_you_into_cosplay: extend 1tsqsf " Cosplay {i}again{/i}, [player]?" if Natsuki.isWearingClothes("jn_clothes_trainer_cosplay") or Natsuki.isWearingClothes("jn_clothes_sango_cosplay"): - n 1fsqsflsbl "...Was {i}wearing{/i} it seriously not enough already?" - n 1fsqsslsbl "Or did I somehow awaken some kind of hidden nerdiness in you?" - n 1fslsslsbr "Ehehe..." + n 2fsqsflsbl "...Was {i}wearing{/i} it seriously not enough already?" + n 4fsqsslsbl "Or did I somehow awaken some kind of hidden nerdiness in you?" + n 4fslsslsbr "Ehehe..." n 1fcsemlsbr "A-{w=0.3}anyway!{w=0.5}{nw}" else: n 1tlraj "I gotta say,{w=0.2} I'm actually kinda impressed." n 1fslsslsbr "Sucking up to my interest in manga,{w=0.75}{nw}" - extend 1fsqsslsbr " bugging me about cosplay..." + extend 4fsqsslsbr " bugging me about cosplay..." n 1tsqsm "You're absorbing my sense of taste pretty fast,{w=0.2} huh?{w=0.75}{nw}" - extend 1uchgn " Like a little dorky sponge!" + extend 3uchgn " Like a little dorky sponge!" n 1fchsm "Ehehe." n 1fchss "Anyway!{w=0.75}{nw}" - extend 1nllss " Putting all that aside..." + extend 4nllss " Putting all that aside..." n 1unmaj "I actually wouldn't be {i}against{/i} doing a little more cosplay at all." n 1ulrpu "I mean,{w=0.75}{nw}" - extend 1flrss " I've already got most of what I need." + extend 3flrss " I've already got most of what I need." n 1fsqss "{i}Amazing{/i} ideas?{w=0.75}{nw}" - extend 1fcsbg " Check!{w=0.75}{nw}" - extend 1tsqsm " Tons of experience?{w=0.75}{nw}" - extend 1fchbg " Check!" - n 1usqgn "{i}Unmatched{/i} handiwork with a needle and thread?{w=1}{nw}" - extend 1fcsbg " Oh,{w=0.2} you bet." + extend 3fcsbg " Check!{w=0.75}{nw}" + extend 4tsqsm " Tons of experience?{w=0.75}{nw}" + extend 3fchbg " Check!" + n 4usqgn "{i}Unmatched{/i} handiwork with a needle and thread?{w=1}{nw}" + extend 3fcsbg " Oh,{w=0.2} you bet." n 1fllpu "It's just..." - n 1kslsl "..." + n 2kslsl "..." n 1tsrsf "I don't exactly have much {i}material{/i} to work with here,{w=0.75}{nw}" - extend 1tnmsf " you know?" - n 1kslbo "...Or even my sewing stuff,{w=0.2} for that matter." + extend 4tnmsf " you know?" + n 2kslbo "...Or even my sewing stuff,{w=0.2} for that matter." n 1kslsl "..." n 1fcswrlsbl "W-{w=0.2}well,{w=0.2} I'll figure something out!{w=0.75}{nw}" - extend 1fcspolsbl " I always do,{w=0.2} a-{w=0.2}anyway." + extend 2fcspolsbl " I always do,{w=0.2} a-{w=0.2}anyway." n 1fsqcal "So you better look forward to it,{w=0.2} [player]..." n 1fcsbglsbr "'Cause you ain't seen nothing yet!{w=0.75}{nw}" - extend 1fcssmlsbr " Ehehe." + extend 3fcssmlsbr " Ehehe." return @@ -4430,77 +4432,77 @@ label talk_are_you_into_cosplay: n 1tsrpu "Why...{w=1}{nw}" extend 1nsqbo " did I get the feeling you'd bring this up sooner or later,{w=0.2} [player]?" n 1fsqsl "..." - n 1fnmpo "What?{w=0.75}{nw}" - extend 1fsqgs " Did you think I'd {i}automatically{/i} be into it because I read manga from time to time?" - n 1fsqpo "Huh?{w=0.75}{nw}" - extend 1fnmgs " Is that it?" + n 3fnmpo "What?{w=0.75}{nw}" + extend 3fsqgs " Did you think I'd {i}automatically{/i} be into it because I read manga from time to time?" + n 4fsqpo "Huh?{w=0.75}{nw}" + extend 4fnmgs " Is that it?" n 1fsqaj "Well?" n 1fsqdv "..." - n 1fchdvesi "Pfffft!" - n 1fchsm "Ehehe.{w=0.5}{nw}" + n 4fchdvesm "Pfffft!" + n 3fchsm "Ehehe.{w=0.5}{nw}" extend 1ullss " Nah,{w=0.2} it's fine." n 1ulraj "I've thought about it a bunch,{w=0.2} honestly -{w=0.3}{nw}" - extend 1unmbo " like since I got into manga and all that a while ago." - n 1nslsssbr "I haven't {i}actually{/i} gone dressed up to a convention or anything yet..." - n 1fcswrlsbl "B-{w=0.2}but that doesn't mean I haven't tried cosplaying at all!" - n 1fcsbgsbl "I {i}am{/i} something of a pro with a needle and thread,{w=0.75}{nw}" + extend 4unmbo " like since I got into manga and all that a while ago." + n 2nslsssbr "I haven't {i}actually{/i} gone dressed up to a convention or anything yet..." + n 2fcswrlsbl "B-{w=0.2}but that doesn't mean I haven't tried cosplaying at all!" + n 4fcsbgsbl "I {i}am{/i} something of a pro with a needle and thread,{w=0.75}{nw}" extend 1fcssmeme " so it's right up my alley!" n 1tslsl "..." - n 1tslss "Actually...{w=1}{nw}" + n 2tslss "Actually...{w=1}{nw}" extend 1fsqbg " you know what,{w=0.2} [player]?" n 1fsrsm "Perhaps I {i}might{/i} just give it another shot...{w=0.5}{nw}" - extend 1fchbg " yeah!" + extend 3fchbg " yeah!" n 1fcsss "Man,{w=0.5}{nw}" - extend 1fchgnedz " I've got so many awesome ideas buzzing around in my head now!" + extend 4fchgnedz " I've got so many awesome ideas buzzing around in my head now!" n 1fsqss "You better be prepared,{w=0.2} [player]..." n 1fchbg "'Cause I'm gonna need some second opinions when I do!" - n 1fwlbll "That's what friends are for,{w=0.2} right?" + n 3fwlbll "That's what friends are for,{w=0.2} right?" # Continue to unlock dialogue elif Natsuki.isNormal(higher=True): n 1unmbo "Cosplay,{w=0.2} huh?" n 1ulraj "Well...{w=0.5}{nw}" - extend 1tnmbo " I mean,{w=0.2} I've played around with it,{w=0.2} if that's what you're asking." + extend 3tnmbo " I mean,{w=0.2} I've played around with it,{w=0.2} if that's what you're asking." n 1tllpu "I never really thought about it that much until I got more into manga and things like that." - n 1flrbg "It kinda feels like once you start getting into that stuff,{w=0.2} you discover tons more at once!" - n 1nslsssbr "I've never really gone out and cosplayed myself though..." - n 1fcsgslsbr "B-{w=0.2}but that doesn't mean I couldn't try it out more!" - n 1fcspolesi "I'm basically a pro with a needle and thread,{w=0.5}{nw}" + n 3flrbg "It kinda feels like once you start getting into that stuff,{w=0.2} you discover tons more at once!" + n 4nslsssbr "I've never really gone out and cosplayed myself though..." + n 3fcsgslsbr "B-{w=0.2}but that doesn't mean I couldn't try it out more!" + n 3fcspolesi "I'm basically a pro with a needle and thread,{w=0.5}{nw}" extend 1fchsml " so I've already got the hardest part done!" n 1fcsaj "The rest of it is just finding materials,{w=0.2} which are usually pretty easy to come by anyway." - n 1fslcasbl "Props and wigs and all that are a little more annoying,{w=0.2} but not exactly {i}undoable{/i}.{w=1}{nw}" + n 2fslcasbl "Props and wigs and all that are a little more annoying,{w=0.2} but not exactly {i}undoable{/i}.{w=1}{nw}" extend 1fcssmeme " Especially with a little ingenuity." n 1tcssl "..." - n 1tupbo "Mmmm..." + n 3tupbo "Mmmm..." n 1tllpu "You know,{w=0.75}{nw}" extend 1fllss " the more I think about it...{w=1}{nw}" - extend 1nchgnedz " the more I like the idea of giving it another run!" + extend 3nchgnedz " the more I like the idea of giving it another run!" n 1fnmbg "What about you,{w=0.2} [player]?{w=0.75}{nw}" extend 1usqbg " I bet you'd love to see my skills at work,{w=0.2} right?" - n 1fsrbgl "Well...{w=1}{nw}" + n 3fsrbgl "Well...{w=1}{nw}" extend 1fsqsm " we'll see." - n 1fcsgssbl "B-{w=0.2}but no promises!" + n 2fcsgssbl "B-{w=0.2}but no promises!" return elif Natsuki.isDistressed(higher=True): n 1nnmpu "Huh?{w=0.2} Cosplay?" n 1fsqsr "...Why,{w=0.2} [player]?" - n 1fsqpu "So you can make fun of my clothes too?" + n 2fsqpu "So you can make fun of my clothes too?" n 1fslsr "..." - n 1fsqpu "No,{w=0.2} [player].{w=0.75}{nw}" + n 2fsqpu "No,{w=0.2} [player].{w=0.75}{nw}" extend 1fcssr " That's for me to know,{w=0.75}{nw}" - extend 1fsqan " and for you {i}not{/i} to find out." - n 1fsqgs "Does {i}that{/i} answer your question?" + extend 4fsqan " and for you {i}not{/i} to find out." + n 2fsqgs "Does {i}that{/i} answer your question?" return else: n 1fsqsr "Heh.{w=0.5} Why?" - n 1fcsantsa "So you have something else to make me feel awful about?" + n 2fcsantsa "So you have something else to make me feel awful about?" n 1fcssrltsa "...Yeah.{w=0.75} No thanks." - n 1fcsanltsd "I'm done talking to you about this." + n 2fcsanltsd "I'm done talking to you about this." return @@ -4512,14 +4514,14 @@ label talk_are_you_into_cosplay: ): n 1tllbo "..." n 1tslpu "...Actually,{w=0.5}{nw}" - extend 1tslaj " now that I think about it..." + extend 2tslaj " now that I think about it..." n 1tlrsl "I wonder..." n 1fcssl "..." - n 1nnmaj "You know what?{w=0.75}{nw}" + n 3nnmaj "You know what?{w=0.75}{nw}" extend 1nllaj " Just...{w=0.75}{nw}" - extend 1nslunl " give me a sec here...{w=1}{nw}" + extend 4nslunl " give me a sec here...{w=1}{nw}" - show black zorder 4 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(1) play audio chair_out @@ -4544,32 +4546,32 @@ label talk_are_you_into_cosplay: show natsuki 1fsldvlesssbr at jn_center hide black with Dissolve(1.25) - n 1fchsslesssbr "T-{w=0.5}ta-da!{w=0.5}{nw}" + n 2fchsslesssbr "T-{w=0.5}ta-da!{w=0.5}{nw}" extend 1fchsml " Ehehe..." n 1fsqsll "..." - n 1fslunl "..." - n 1fcsemlsbl "W-{w=0.2}well?" - n 1fcsbglsbl "What do you think,{w=0.2} [player]?{w=0.75}{nw}" + n 2fslunl "..." + n 4fcsemlsbl "W-{w=0.2}well?" + n 2fcsbglsbl "What do you think,{w=0.2} [player]?{w=0.75}{nw}" extend 1fchsmlsbr " I made it all myself,{w=0.2} too!" - n 1fsqsrlsbr "..." - n 1fnmemlsbr "What?" - n 1fcsgslsbl "I {i}did{/i} say I was good with a needle and thread!" - n 1fllsslsbl "S-{w=0.3}so of course I {i}had{/i} to prove it!" + n 2fsqsrlsbr "..." + n 4fnmemlsbr "What?" + n 3fcsgslsbl "I {i}did{/i} say I was good with a needle and thread!" + n 3fllsslsbl "S-{w=0.3}so of course I {i}had{/i} to prove it!" extend 1fcsajlsbl " And..." n 1nslsslsbl "...And..." - n 1nslsllsbl "..." + n 4nslsllsbl "..." n 1kslsll "..." n 1kcspul "This...{w=1}{nw}" - extend 1ksrsfl " wasn't actually {i}meant{/i} for me,{w=0.2} you know." + extend 2ksrsfl " wasn't actually {i}meant{/i} for me,{w=0.2} you know." n 1kcspulesi "..." - n 1ksqbol "...I made it for Sayori." + n 4ksqbol "...I made it for Sayori." n 1fcseml "I-{w=0.2}it was meant to be for some kind of party after the festival she insisted on,{w=0.2} but...{w=1}{nw}" - extend 1kcssll " yeah." + extend 2kcssll " yeah." n 1kslslltsb "..." - n 1fcsunltsb "I'm...{w=1.25}{nw}" - extend 1ksrsrl " just gonna go put this away now." + n 2fcsunltsb "I'm...{w=1.25}{nw}" + extend 4ksrsrl " just gonna go put this away now." - show black zorder 4 with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(2) play audio chair_out @@ -4588,14 +4590,14 @@ label talk_are_you_into_cosplay: hide black with Dissolve(1.25) n 1kslsll "..." - n 1kslpul "...I know I can't just throw that outfit away.{w=1.25}{nw}" + n 2kslpul "...I know I can't just throw that outfit away.{w=1.25}{nw}" extend 1kcsajl " It just...{w=0.5} wouldn't be right." n 1kslbol "..." - n 1kcspul "I'll...{w=0.5} keep it around." - n 1knmsll "The best thing I could do is to make some {i}happy{/i} memories with it myself instead." - n 1ksrajl "...It's what she would have done, a-{w=0.2}after all." + n 4kcspul "I'll...{w=0.5} keep it around." + n 2knmsll "The best thing I could do is to make some {i}happy{/i} memories with it myself instead." + n 2ksrajl "...It's what she would have done, a-{w=0.2}after all." n 1ksrsll "..." - n 1ksqbol "...Right?" + n 4ksqbol "...Right?" return @@ -4618,136 +4620,136 @@ init 5 python: label talk_why_do_you_like_me: if Natsuki.isLove(higher=True): if jn_admissions.last_admission_type == jn_admissions.TYPE_INSECURE: - n 1kwmsl "[player]..." + n 4kwmsl "[player]..." n 1kwmsf "You aren't asking me this because of what you told me earlier...{w=0.3} right?" n 1kllbo "..." n 1ncspu "Look,{w=0.1} [player].{w=0.2} I'm going to be completely honest with you,{w=0.1} okay?" n 1ncssl "What you can -{w=0.1} or {i}can't{/i} do -{w=0.1} isn't important to me." n 1nnmpu "What people {i}say{/i} you are -{w=0.1} or {i}aren't{/i} capable of -{w=0.1} isn't important to me either." - n 1fnmpu "Neither is what people say about you." - n 1knmsr "[player]." + n 4fnmpu "Neither is what people say about you." + n 2knmsr "[player]." $ chosen_endearment = jn_utils.getRandomEndearment() n 1klrpu "I...{w=0.3} feel about you the way I do because of how you've treated me,{w=0.1} [chosen_endearment].{w=0.2} Can you not see that?" - n 1klrss "You've spent so much time with me,{w=0.1} day after day..." - n 1kwmss "You've listened to my problems,{w=0.1} and you've told me yours..." - n 1kllpo "You've been so patient with my mood swings,{w=0.1} and my grumpy moments..." + n 2klrss "You've spent so much time with me,{w=0.1} day after day..." + n 4kwmss "You've listened to my problems,{w=0.1} and you've told me yours..." + n 2kllpo "You've been so patient with my mood swings,{w=0.1} and my grumpy moments..." if persistent.jn_player_love_you_count >= 10: n 1kcsunl "And...{w=0.3} you've made me feel..." - n 1kcsunf "So loved..." + n 4kcsunf "So loved..." n 1kllunl "..." elif persistent.jn_player_love_you_count >= 1: n 1kllssl "You're...{w=0.3} you're my first love,{w=0.1} [player]..." - n 1kcussl "Do you even realise how {i}much{/i} that means to me?" + n 4kcussl "Do you even realise how {i}much{/i} that means to me?" elif persistent.jn_player_love_you_count == 0: - n 1kwmssl "You honestly,{w=0.1} truly mean the world to me,{w=0.1} [player]..." + n 2kwmssl "You honestly,{w=0.1} truly mean the world to me,{w=0.1} [player]..." n 1kllssl "So...{w=0.3} yeah." - n 1klrnvl "Does that answer your question?" + n 4klrnvl "Does that answer your question?" n 1knmsr "I know I can't solve your problems with a snap of my fingers,{w=0.1} [player].{w=0.2} I'm not a miracle worker." - n 1kslsl "Believe me -{w=0.1} I {i}already{/i} would have if I could." + n 2kslsl "Believe me -{w=0.1} I {i}already{/i} would have if I could." n 1knmsl "But..." n 1kllss "I hope you can believe me when I say things will work out,{w=0.1} okay?" - n 1fwmsm "Just...{w=0.3} keep fighting..." + n 4fwmsm "Just...{w=0.3} keep fighting..." n 1fcssml "...Because I'm fighting for you too." - n 1kplnvf "I love you,{w=0.1} [player].{w=0.2} You better not forget that." + n 3kplnvf "I love you,{w=0.1} [player].{w=0.2} You better not forget that." return else: - n 1fcspo "[player]..." - n 1flrpo "Do I really have to explain this all to you?" + n 3fcspo "[player]..." + n 3flrpo "Do I really have to explain this all to you?" n 1flrsll "It's just...{w=0.3} embarrassing...{w=0.3} to me..." n 1kcssll "..." - n 1ncspu "...Okay,{w=0.1} look." + n 4ncspu "...Okay,{w=0.1} look." n 1fllssl "You've...{w=0.3} honestly done more than you could ever know,{w=0.1} [player]." - n 1fllsll "For me,{w=0.1} I mean." + n 2fllsll "For me,{w=0.1} I mean." n 1knmsll "I've almost lost count of how many hours you've spent talking to me..." - n 1klrssl "You've listened to so many of my dumb problems,{w=0.1} over and over..." - n 1fllunl "...And you've been so patient through all of my stupid moods." + n 3klrssl "You've listened to so many of my dumb problems,{w=0.1} over and over..." + n 4fllunl "...And you've been so patient through all of my stupid moods." if persistent.jn_player_love_you_count >= 10: n 1fcsunl "Y-you've made me feel..." - n 1kcsunl "Really appreciated.{w=0.2} So many times,{w=0.1} I've lost count..." + n 4kcsunl "Really appreciated.{w=0.2} So many times,{w=0.1} I've lost count..." elif persistent.jn_player_love_you_count >= 1: n 1kskajf "You're...{w=0.3} you're my first love,{w=0.1} even!" - n 1kwmpuf "Do you even know what that {i}means{/i} to me?" + n 3kwmpuf "Do you even know what that {i}means{/i} to me?" elif persistent.jn_player_love_you_count == 0: - n 1kwmpuf "You seriously mean the world to me,{w=0.1} [player]..." + n 3kwmpuf "You seriously mean the world to me,{w=0.1} [player]..." n 1kllssl "So...{w=0.3} yeah." - n 1klrnvl "Does that answer all of your questions?{w=0.2} Am I free to go now?" + n 4klrnvl "Does that answer all of your questions?{w=0.2} Am I free to go now?" n 1klrss "Ahaha..." - n 1kwmpu "But seriously,{w=0.1} [player]." + n 2kwmpu "But seriously,{w=0.1} [player]." n 1kplbo "Don't ever doubt how important you are to me,{w=0.1} alright?" - n 1fnmpol "I'll get mad if you do." - n 1flrpol "And trust me..." - n 1klrssl "I doubt you want that." + n 2fnmpol "I'll get mad if you do." + n 2flrpol "And trust me..." + n 4klrssl "I doubt you want that." return elif Natsuki.isEnamored(higher=True): if jn_admissions.last_admission_type == jn_admissions.TYPE_INSECURE: n 1knmaj "...Hey,{w=0.1} [player]..." - n 1klrpu "This isn't by chance because of what you said earlier...{w=0.3} right?" + n 2klrpu "This isn't by chance because of what you said earlier...{w=0.3} right?" else: n 1uskpul "Wh-{w=0.1}why do I-{w=0.1}...?" - n 1fcsanl "Uuuuuuu..." + n 2fcsanl "Uuuuuuu..." n 1fcsajl "...Okay,{w=0.1} look.{w=0.2} I'll try to help you understand as best I can." - n 1fllaj "I'm not sure if someone's giving you a tough time or what, but I'm saying it anyway." + n 3fllaj "I'm not sure if someone's giving you a tough time or what, but I'm saying it anyway." n 1fllsr "I don't really care about what others expect from you." - n 1fnmsr "I don't really care about what others say or think about you." - n 1knmpu "I don't really care if you can -{w=0.1} or can't -{w=0.1} do something." + n 4fnmsr "I don't really care about what others say or think about you." + n 4knmpu "I don't really care if you can -{w=0.1} or can't -{w=0.1} do something." n 1fcseml "I...{w=0.3} {i}like{/i} you,{w=0.1} because of how you've treated me,{w=0.1} you dummy!" - n 1flleml "Like,{w=0.1} come on!" - n 1flrssl "You've listened to me yammer on,{w=0.1} again and again..." + n 3flleml "Like,{w=0.1} come on!" + n 4flrssl "You've listened to me yammer on,{w=0.1} again and again..." n 1knmssl "You've heard me out on so many dumb problems I've had..." - n 1fcsbgl "You've even dealt with my crappy temper like a champ!" + n 3fcsbgl "You've even dealt with my crappy temper like a champ!" n 1klrsl "..." n 1kcssl "...I've never been treated by anyone as well as I've been treated by you,{w=0.1} [player]." - n 1fllslf "So is it any wonder why I...{w=0.3} enjoy hanging out with you this much?" + n 3fllslf "So is it any wonder why I...{w=0.3} enjoy hanging out with you this much?" n 1fcsslf "..." n 1flrajl "Alright,{w=0.1} okay.{w=0.2} I really don't wanna have to explain all that again,{w=0.1} so I hope you took all that in." - n 1fnmssl "Just...{w=0.3} continue being you,{w=0.1} got it?" - n 1kllpul "I...{w=0.3} kinda like how you do that already." + n 4fnmssl "Just...{w=0.3} continue being you,{w=0.1} got it?" + n 3kllpul "I...{w=0.3} kinda like how you do that already." return else: if jn_admissions.last_admission_type == jn_admissions.TYPE_INSECURE: n 1unmpul "...Huh?" - n 1uskemf "W-{w=0.1}why do I...?" - n 1fcsanf "..." + n 4uskemf "W-{w=0.1}why do I...?" + n 2fcsanf "..." n 1tlremf "..." n 1flrsll "..." - n 1fnmpul "Uhmm...{w=0.3} [player]?" - n 1fllpo "This isn't all related to what you told me earlier,{w=0.1} right?" - n 1knmpo "About feeling insecure and all that?" + n 4fnmpul "Uhmm...{w=0.3} [player]?" + n 2fllpo "This isn't all related to what you told me earlier,{w=0.1} right?" + n 4knmpo "About feeling insecure and all that?" n 1klrsl "..." - n 1nnmsl "[player]." - n 1fnmpuf "Listen up,{w=0.1} 'kay?{w=0.2} I...{w=0.3} really don't wanna have to repeat this." + n 4nnmsl "[player]." + n 3fnmpuf "Listen up,{w=0.1} 'kay?{w=0.2} I...{w=0.3} really don't wanna have to repeat this." else: - n 1uscemf "Urk-!" + n 4uscemf "Urk-!" n 1uskemf "W-{w=0.1}wait,{w=0.1} w-{w=0.1}what?" - n 1fwdemf "W-{w=0.1}why do I...{w=0.3} l-{w=0.1}like you?!" + n 3fwdemf "W-{w=0.1}why do I...{w=0.3} l-{w=0.1}like you?!" n 1fcsanf "Nnnnnnnnn-!" n 1fllwrf "I mean...!{w=0.2} It's not that I {i}like{/i} like you,{w=0.1} or anything ridiculous like that!" - n 1fcsemf "Ugh...{w=0.3} I swear,{w=0.1} [player] -{w=0.1} you honestly try to put me in the most awkward freaking spots sometimes..." + n 3fcsemf "Ugh...{w=0.3} I swear,{w=0.1} [player] -{w=0.1} you honestly try to put me in the most awkward freaking spots sometimes..." n 1fllslf "..." - n 1fllsll "I...{w=0.3} guess I {i}do{/i} owe you an answer though,{w=0.1} at least." + n 4fllsll "I...{w=0.3} guess I {i}do{/i} owe you an answer though,{w=0.1} at least." n 1fcssll "Look." n 1nlrpu "You've been pretty awesome to me so far,{w=0.1} [player]." - n 1klrpu "...Do you even know how few other people make me feel that way?" + n 4klrpu "...Do you even know how few other people make me feel that way?" n 1klrsl "It's...{w=0.3} really not a lot,{w=0.1} if you hadn't gathered." - n 1fllpol "You always listen to me,{w=0.1} you don't tell me I'm annoying,{w=0.1} or to pipe down..." + n 2fllpol "You always listen to me,{w=0.1} you don't tell me I'm annoying,{w=0.1} or to pipe down..." n 1kwmsrl "And you've been super understanding too." n 1kllpul "I...{w=0.3} honestly couldn't ask for a better friend,{w=0.1} [player]." - n 1fnmbol "Always remember that,{w=0.1} alright?{w=0.2} I'll get mad if you don't." + n 3fnmbol "Always remember that,{w=0.1} alright?{w=0.2} I'll get mad if you don't." n 1kllbol "..." return @@ -4770,49 +4772,49 @@ init 5 python: label talk_fried_squid: n 1fllss "Hey,{w=0.1} [player]..." - n 1usqsm "You know what I could go for right now?" + n 4usqsm "You know what I could go for right now?" n 1uchbs "A big,{w=0.1} steaming fresh bowl of Mon-{w=0.1}ika!" n 1uchbg "..." - n 1flrpu "...Huh." + n 2flrpu "...Huh." n 1tnmpu "You know,{w=0.1} in hindsight?{w=0.2} That joke really wasn't funny the first time round." - n 1tllpo "I've...{w=0.3} no idea why it'd be funny this time,{w=0.1} to be honest." - n 1uspgsesu "Oh!" + n 3tllpo "I've...{w=0.3} no idea why it'd be funny this time,{w=0.1} to be honest." + n 4uspgsesu "Oh!" n 1fchbg "But fried squid is no joke at all,{w=0.1} [player]!{w=0.2} Have you ever tried it?" n 1uchbs "It's {i}delicious{/i}!{w=0.2} I love it!" - n 1fsqsm "Not just boring old fried seafood though -{w=0.1} it's gotta have the crap battered out of it first!" - n 1uspbg "That crispy golden coating is seriously the best.{w=0.2} Deep fried food is awesome!" + n 3fsqsm "Not just boring old fried seafood though -{w=0.1} it's gotta have the crap battered out of it first!" + n 4uspbg "That crispy golden coating is seriously the best.{w=0.2} Deep fried food is awesome!" n 1fllbg "It's not {i}good{/i} for you exactly,{w=0.1} but as a treat?{w=0.2} You could do way worse..." - n 1fcssm "Especially with sauce to spice things up a bit!" + n 4fcsts "Especially with sauce to spice things up a bit!" n 1fnmss "By the way -{w=0.1} wanna know how you can tell you're dining on some top-notch squiddy goodness?" - n 1uchbs "The texture,{w=0.1} of course!" - n 1fllaj "Overcooked squid becomes all rubbery and nasty,{w=0.1} and even worse -{w=0.1} it loses all of its flavor too!" + n 3uchbs "The texture,{w=0.1} of course!" + n 3fllaj "Overcooked squid becomes all rubbery and nasty,{w=0.1} and even worse -{w=0.1} it loses all of its flavor too!" n 1fsqsr "Imagine biting through the batter,{w=0.1} only to find you're basically chewing on a bunch of rubber bands." - n 1fsqem "Ugh!{w=0.2} Gross!{w=0.2} Talk about a disappointment." + n 2fsqem "Ugh!{w=0.2} Gross!{w=0.2} Talk about a disappointment." n 1unmaj "Don't let that put you off though,{w=0.1} [player] -{w=0.1} next time you see some,{w=0.1} why not give it a shot?" if jn_admissions.last_admission_type == jn_admissions.TYPE_HUNGRY: n 1kllss "...Probably the sooner the better,{w=0.1} if you're hungry like you said." - n 1ullaj "But anyway..." + n 4ullaj "But anyway..." n 1unmbg "You could even be all fancy if you wanted to and order it by the culinary name!" - n 1fnmbg "Ten points if you can guess what that is.{w=0.2} Ehehe." + n 3fnmbg "Ten points if you can guess what that is.{w=0.2} Ehehe." if Natsuki.isLove(higher=True): - n 1flrsg "Hmm..." + n 3flrsg "Hmm..." n 1fnmbg "Actually...{w=0.3} you know what?" n 1fchbg "We should just get a bowl of calamari to share.{w=0.2} That's fair,{w=0.1} right?" - n 1fsqsm "I should warn you though,{w=0.1} [player]..." - n 1fchgn "I'm not handing over the last piece without a fight!" + n 4fsqsm "I should warn you though,{w=0.1} [player]..." + n 3fchgn "I'm not handing over the last piece without a fight!" n 1nchsml "Ehehe." elif Natsuki.isEnamored(higher=True): n 1uchbg "But yeah -{w=0.1} you should really give it a try if you haven't already,{w=0.1} [player]!" - n 1fchbg "I wouldn't want someone to miss out on that!" - n 1klrssl "E-{w=0.1}especially not you.{w=0.2} Ehehe..." + n 4fchbg "I wouldn't want someone to miss out on that!" + n 2klrssl "E-{w=0.1}especially not you.{w=0.2} Ehehe..." else: n 1uchbg "But yeah {w=0.1}-{w=0.1} you should really try it out if you haven't already,{w=0.1} [player]!" - n 1fchbg "I wouldn't want someone to miss out on that!{w=0.2} Ahaha." + n 4fchbg "I wouldn't want someone to miss out on that!{w=0.2} Ahaha." return @@ -4833,79 +4835,79 @@ init 5 python: label talk_collectibles: if Natsuki.isAffectionate(higher=True): - n 1unmpueqm "Collectibles?{w=0.2} You mean like figurines and plushies and such?" - n 1flrpu "Mmm...{w=0.3} not really.{w=0.2} Collecting is an expensive hobby,{w=0.1} [player]!" - n 1klrpo "I mean,{w=0.1} it all depends on exactly what you collect,{w=0.1} but it feels like places that sell them prey on that." + n 4unmpueqm "Collectibles?{w=0.2} You mean like figurines and plushies and such?" + n 4flrpu "Mmm...{w=0.3} not really.{w=0.2} Collecting is an expensive hobby,{w=0.1} [player]!" + n 3klrpo "I mean,{w=0.1} it all depends on exactly what you collect,{w=0.1} but it feels like places that sell them prey on that." n 1flraj "Like...{w=0.3} the urge to complete a collection -{w=0.1} so they jack up the prices!" n 1fcsboesi "Ugh..." - n 1kllbosbl "And for people in my...{w=0.3} uhmm...{w=0.3} {i}position{/i},{w=0.1} it's a big barrier to entry." + n 3kllbosbl "And for people in my...{w=0.3} uhmm...{w=0.3} {i}position{/i},{w=0.1} it's a big barrier to entry." n 1unmaj "But anyway..." elif Natsuki.isNormal(higher=True): - n 1tnmpueqm "Huh?{w=0.2} You mean like figurines and all that stuff?" + n 4tnmpueqm "Huh?{w=0.2} You mean like figurines and all that stuff?" n 1tlrpu "Well...{w=0.3} no,{w=0.1} [player].{w=0.2} Not really." - n 1knmsf "I couldn't justify spending so much just on hobbies like that!" - n 1flrbo "...Especially not when I had {i}other{/i} things to worry about spending my money on first." + n 2knmsf "I couldn't justify spending so much just on hobbies like that!" + n 2flrbo "...Especially not when I had {i}other{/i} things to worry about spending my money on first." n 1unmaj "B-{w=0.2}but anyway,{w=0.1} putting all that aside..." elif Natsuki.isDistressed(higher=True): n 1fsqsfsbl "No,{w=0.1} [player]." - n 1fsqaj "Collectibles were way too expensive for me.{w=0.2} I couldn't justify wasting the money I {i}do{/i} have." + n 2fsqaj "Collectibles were way too expensive for me.{w=0.2} I couldn't justify wasting the money I {i}do{/i} have." n 1fnmsl "{i}Especially{/i} on stuff that'll just sit on a shelf that I'll forget about." - n 1fsqsr "Yeah,{w=0.1} [player] -{w=0.1} believe it or not,{w=0.1} some of us {i}do{/i} have to think about how we spend our money." - n 1fsqun "Shocker,{w=0.1} right?" + n 4fsqsr "Yeah,{w=0.1} [player] -{w=0.1} believe it or not,{w=0.1} some of us {i}do{/i} have to think about how we spend our money." + n 2fsqun "Shocker,{w=0.1} right?" n 1fcsun "..." n 1fnmaj "Well?{w=0.2} Satisfied with your answer?" - n 1fsqsl "We're done here." + n 2fsqsl "We're done here." return else: n 1fsqsr "...Why?{w=0.2} ...And I don't just mean why you care." - n 1fsqan "But why should I tell {i}you{/i} if I do or not?" + n 2fsqan "But why should I tell {i}you{/i} if I do or not?" n 1fcsan "You'd probably just trash them." - n 1fcsun "Heh.{w=0.2} After all." - n 1fsqupltsa "You've proven great at trashing things so far,{w=0.1} {i}haven't you{/i}?{w=0.2} Jerk." + n 2fcsun "Heh.{w=0.2} After all." + n 4fsqupltsa "You've proven great at trashing things so far,{w=0.1} {i}haven't you{/i}?{w=0.2} Jerk." return n 1ullbo "..." - n 1tllbo "...Huh.{w=0.2} There's a point,{w=0.1} actually.{w=0.2} Does manga count as a collectible?" + n 2tllbo "...Huh.{w=0.2} There's a point,{w=0.1} actually.{w=0.2} Does manga count as a collectible?" n 1tllaj "I'm...{w=0.3} not really sure..." n 1tnmpu "What do you think,{w=0.1} [player]?" menu: n "Would you call it a collectible?" "I'd say so!": - n 1fsqbg "Oho!" - n 1fchbg "So I suppose I am something of a collector,{w=0.1} after all!" + n 4fsqct "Oho!" + n 3fchbg "So I suppose I am something of a collector,{w=0.1} after all!" if Natsuki.isLove(higher=True): n 1uchsm "I guess that all makes sense.{w=0.2} After all..." - n 1fllsmf "I'd like to think you're in my collection too,{w=0.1} [player]~." + n 3fllsmf "I'd like to think you're in my collection too,{w=0.1} [player]~." n 1uchsmf "Ehehe." else: n 1flrsm "Well,{w=0.1} in that case..." - n 1nchbg "Just let me know if you ever feel like a tour!" - n 1nchgn "You won't find a better collection!{w=0.2} Ehehe." + n 4nchbg "Just let me know if you ever feel like a tour!" + n 3nchgn "You won't find a better collection!{w=0.2} Ehehe." if jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.manga): n 1fllss "Or,{w=0.1} at least...{w=0.5}{nw}" - extend 1fsqss " a better...{w=0.3} {i}physical{/i} one." + extend 3fsqss " a better...{w=0.3} {i}physical{/i} one." n 1fsqsm "Right,{w=0.5}{nw}" - extend 1fsqbg " [player]?" + extend 4fsqbg " [player]?" "No,{w=0.1} I wouldn't.": - n 1flrpo "Huh...{w=0.3} you do have a point." - n 1tnmpo "I suppose you'd call it a library,{w=0.1} or something like that?" + n 3flrpo "Huh...{w=0.3} you do have a point." + n 3tnmpo "I suppose you'd call it a library,{w=0.1} or something like that?" n 1nnmsm "Well,{w=0.1} whatever." - n 1nsqsm "I suppose I'd better {i}read{/i} up on my definitions,{w=0.1} right?" + n 4nsqsm "I suppose I'd better {i}read{/i} up on my definitions,{w=0.1} right?" n 1nchsm "Ehehe." "Well,{w=0.1} it definitely isn't literature.": n 1nsqsr "Ha.{w=0.2} Ha.{w=0.2} Ha.{w=0.2} Ha.{w=0.2} ...Ha." - n 1flrpo "{i}Hilarious{/i},{w=0.1} [player]." + n 2flrpo "{i}Hilarious{/i},{w=0.1} [player]." n 1flraj "Keep it up,{w=0.1} and I'm gonna book you one." - n 1fsqsg "...And no,{w=0.1} I don't mean read you a story." + n 4fsqsg "...And no,{w=0.1} I don't mean read you a story." return @@ -4933,15 +4935,15 @@ label talk_play_snap: $ persistent.jn_snap_player_is_cheater = False else: - n 1fnmem "[player]...{w=0.3} if you aren't even sorry you cheated,{w=0.1} why should I play with you again?" - n 1kllpo "Come on...{w=0.3} it's not hard to apologize,{w=0.1} is it?" + n 2fnmem "[player]...{w=0.3} if you aren't even sorry you cheated,{w=0.1} why should I play with you again?" + n 4kllpo "Come on...{w=0.3} it's not hard to apologize,{w=0.1} is it?" return if Natsuki.isLove(higher=True): - n 1uchbg "Of course I do,{w=0.1} dummy!{w=0.2} Ehehe." + n 3uchbg "Of course I do,{w=0.1} dummy!{w=0.2} Ehehe." elif Natsuki.isEnamored(higher=True): - n 1fchbg "Of course I'll play some with you,{w=0.1} dummy!" + n 4fchbg "Of course I'll play some with you,{w=0.1} dummy!" elif Natsuki.isAffectionate(higher=True): n 1fchsm "Well,{w=0.1} duh!{w=0.2} Of course I'm up for a game!" @@ -4973,18 +4975,18 @@ init 5 python: label talk_remind_snap_rules: if persistent.jn_snap_player_is_cheater: - n 1fcsan "Come on,{w=0.1} [player]." - n 1flrpo "If you cared about the rules,{w=0.1} then why did you cheat when we played earlier?" - n 1fnmpo "You haven't even apologized for it yet..." + n 2fcsan "Come on,{w=0.1} [player]." + n 2flrpo "If you cared about the rules,{w=0.1} then why did you cheat when we played earlier?" + n 4fnmpo "You haven't even apologized for it yet..." return else: if Natsuki.isLove(higher=True): n 1nchbg "Ahaha.{w=0.2} You're so forgetful sometimes,{w=0.1} [player]." - n 1nsqbg "Sure,{w=0.1} I'll go over it again!{w=0.2} Juuust for you~." + n 3nsqbg "Sure,{w=0.1} I'll go over it again!{w=0.2} Juuust for you~." elif Natsuki.isEnamored(higher=True): - n 1nchbg "Of course I can!" + n 4nchbg "Of course I can!" elif Natsuki.isAffectionate(higher=True): n 1fchsm "You bet I can!" @@ -5011,29 +5013,29 @@ init 5 python: ) label talk_windup_chewing_gum: - n 1fcsan "Ugh...{w=0.3} you know what really gets on my nerves?" + n 2fcsan "Ugh...{w=0.3} you know what really gets on my nerves?" n 1fsqsl "When people are gross and don't get rid of chewing gum properly." n 1fbkwr "Seriously -{w=0.1} it annoys the crap out of me!" - n 1fllem "Like,{w=0.1} have you ever walked into a city center and looked at the ground?{w=0.2} At all the paving?" + n 3fllem "Like,{w=0.1} have you ever walked into a city center and looked at the ground?{w=0.2} At all the paving?" n 1fcsan "All those dried up spots of gum -{w=0.1} it's freaking disgusting,{w=0.1} and it looks nasty too!" - n 1fsqan "And that's in a place where there's usually bins everywhere too,{w=0.1} so it isn't just gross..." - n 1fnmwr "It's super lazy too!{w=0.2} I can't decide what winds me up more." - n 1fcswr "Even worse than that -{w=0.1} there's even people who go and stick it under tables,{w=0.1} or on walls -{w=0.1} who {i}does{/i} that?!" + n 4fsqan "And that's in a place where there's usually bins everywhere too,{w=0.1} so it isn't just gross..." + n 3fnmwr "It's super lazy too!{w=0.2} I can't decide what winds me up more." + n 3fcsup "Even worse than that -{w=0.1} there's even people who go and stick it under tables,{w=0.1} or on walls -{w=0.1} who {i}does{/i} that?!" n 1flrpu "Jeez...{w=0.3} makes me want to track them down and stick that crap back in their stupid mouths." n 1nnmsl "I don't really care if you chew gum yourself,{w=0.1} [player]." if Natsuki.isLove(higher=True): - n 1kllca "Just make sure you dispose of it properly,{w=0.1} 'kay?" + n 2kllca "Just make sure you dispose of it properly,{w=0.1} 'kay?" n 1kllss "I'm sure you do anyway,{w=0.1} but...{w=0.3} just in case." - n 1kchsml "Love you,{w=0.1} [player]~!" + n 4kchsml "Love you,{w=0.1} [player]~!" elif Natsuki.isAffectionate(higher=True): n 1nllca "But please,{w=0.1} just get rid of it properly when you're done." - n 1nchsm "Thanks,{w=0.1} [player]~!" + n 4nchsm "Thanks,{w=0.1} [player]~!" else: - n 1fnmaj "But seriously -{w=0.1} stick it in the bin when you're done,{w=0.1} alright?{w=0.2} Or just wrap it in a tissue and get rid of it later." - n 1fsqaj "...Or it won't just be the gum that'll be getting chewed out!" + n 3fnmaj "But seriously -{w=0.1} stick it in the bin when you're done,{w=0.1} alright?{w=0.2} Or just wrap it in a tissue and get rid of it later." + n 3fsqaj "...Or it won't just be the gum that'll be getting chewed out!" return @@ -5055,35 +5057,35 @@ init 5 python: label talk_windup_smoking_vaping_indoors: n 1fllaj "You know what stinks,{w=0.1} [player]?" - n 1fsqaj "I mean {i}really{/i} stinks -{w=0.1} not just figuratively,{w=0.1} but literally too?" + n 3fsqaj "I mean {i}really{/i} stinks -{w=0.1} not just figuratively,{w=0.1} but literally too?" n 1fcssf "When people smoke or vape indoors,{w=0.1} or near entrances -{w=0.1} {i}especially{/i} when other people are around.{w=0.2} I can't stand it!" - n 1fcsan "Like...{w=0.3} how inconsiderate can you be?{w=0.2} Seriously?" - n 1fsqwr "For starters,{w=0.1} and like I was just saying -{w=0.1} it absolutely {i}reeks{/i}!" - n 1fllem "Tobacco is awful smelling stuff,{w=0.1} and all those sickly vaping fluid types aren't much better either." - n 1ksqup "It clings to the walls too -{w=0.1} so the smell hangs around for ages!" + n 4fcsan "Like...{w=0.3} how inconsiderate can you be?{w=0.2} Seriously?" + n 3fsqwr "For starters,{w=0.1} and like I was just saying -{w=0.1} it absolutely {i}reeks{/i}!" + n 3fllem "Tobacco is awful smelling stuff,{w=0.1} and all those sickly vaping fluid types aren't much better either." + n 4ksqup "It clings to the walls too -{w=0.1} so the smell hangs around for ages!" n 1kllan "Speaking of clinging to the walls,{w=0.1} the smoke literally does that too -{w=0.1} have you {i}seen{/i} a smoker's house,{w=0.1} or car?" - n 1ksqup "All those yellow stains...{w=0.3} you'd think it was painted on or something.{w=0.2} Ew!" + n 3ksqup "All those yellow stains...{w=0.3} you'd think it was painted on or something.{w=0.2} Ew!" n 1fsqan "And you know what,{w=0.1} [player]?{w=0.2} I haven't even gotten to the worst of it yet..." - n 1fcsan "I've said nothing about how expensive it all is,{w=0.1} or the health problems not just to the smoker..." - n 1fsqaj "...But to everyone else!" + n 3fcsan "I've said nothing about how expensive it all is,{w=0.1} or the health problems not just to the smoker..." + n 4fsqaj "...But to everyone else!" n 1fcsbo "Ugh..." - n 1flrbo "Don't get me wrong -{w=0.1} if someone wants to smoke or vape,{w=0.1} that's their choice and their money.{w=0.2} I don't care." + n 3flrbo "Don't get me wrong -{w=0.1} if someone wants to smoke or vape,{w=0.1} that's their choice and their money.{w=0.2} I don't care." n 1fnmbo "But the least they can do is respect the decision of everyone who {i}doesn't{/i},{w=0.1} you know?" n 1fcssl "..." if Natsuki.isLove(higher=True): n 1nnmsl "I know you,{w=0.1} [player].{w=0.2} I highly doubt you'd be the kind of person to be a jerk like that." - n 1klrss "Just...{w=0.3} don't prove me wrong,{w=0.1} alright?" - n 1uchgn "'preciate it!{w=0.2} Ahaha." + n 4klrss "Just...{w=0.3} don't prove me wrong,{w=0.1} alright?" + n 2uchgn "'preciate it!{w=0.2} Ahaha." elif Natsuki.isAffectionate(higher=True): - n 1kllpo "I doubt you'd be a jerk like that even if you do smoke,{w=0.1} [player]." - n 1fsqpo "But...{w=0.3} try not to prove me wrong,{w=0.1} 'kay?{w=0.2} I like you more as not a jerk." + n 3kllpo "I doubt you'd be a jerk like that even if you do smoke,{w=0.1} [player]." + n 3fsqpo "But...{w=0.3} try not to prove me wrong,{w=0.1} 'kay?{w=0.2} I like you more as not a jerk." n 1uchsm "Thanks!" else: n 1ullaj "I don't think you'd be a jerk like that,{w=0.1} [player]." - n 1nnmaj "But...{w=0.3} just in case -{w=0.1} keep it in mind,{w=0.1} will you?" + n 4nnmaj "But...{w=0.3} just in case -{w=0.1} keep it in mind,{w=0.1} will you?" n 1nchsm "Thanks!" return @@ -5105,29 +5107,29 @@ init 5 python: ) label talk_windup_unwashed_hands: - n 1unmaj "Hey,{w=0.1} [player]." - n 1nnmaj "Have you ever worked in a restaurant,{w=0.1} or a hospital or anything like that?" + n 4unmaj "Hey,{w=0.1} [player]." + n 3nsqsl "Have you ever worked in a restaurant,{w=0.1} or a hospital or anything like that?" n 1fnmaj "Because I bet if there's one thing drilled into you...{w=0.3} it's how important washing your hands is!" - n 1flraj "It really gets on my nerves when people don't wash their hands after doing something nasty." - n 1fsqsl "Like...{w=0.3} we {i}know{/i} how important it is to stop germs getting around -{w=0.1} and {i}what{/i} exactly is hard about sticking your hands under the tap for a minute?!" - n 1fsqem "It annoys me even more when people are really dumb about it too!{w=0.2} Like,{w=0.1} they think they don't need to do that if they didn't go." - n 1fcsem "Newsflash -{w=0.1} if you went in,{w=0.1} you must have touched stuff -{w=0.1} so now there's all that crap on your hands that you've taken out with you!" - n 1fsqsf "Not only is it {i}super{/i} icky and bad for {i}your{/i} health..." - n 1ksqan "It's awful for others too!{w=0.2} What if you're about to handle someone's food,{w=0.1} or visit someone in hospital?" - n 1fllan "You could make someone seriously ill..." - n 1fnmfu "...And then they get all upset when you call them out on their grossness!{w=0.2} I mean,{w=0.1} come {i}on{/i}!" + n 3flrun "It really gets on my nerves when people don't wash their hands after doing something nasty." + n 3fsqsl "Like...{w=0.3} we {i}know{/i} how important it is to stop germs getting around -{w=0.1} and {i}what{/i} exactly is hard about sticking your hands under the tap for a minute?!" + n 1fslem "It annoys me even more when people are really dumb about it too!{w=0.2} Like,{w=0.1} they think they don't need to do that if they didn't go." + n 1fcsan "Newsflash -{w=0.1} if you went in,{w=0.1} you must have touched stuff -{w=0.1} so now there's all that crap on your hands that you've taken out with you!" + n 4fsqsf "Not only is it {i}super{/i} icky and bad for {i}your{/i} health..." + n 2ksqan "It's awful for others too!{w=0.2} What if you're about to handle someone's food,{w=0.1} or visit someone in hospital?" + n 1fllem "You could make someone seriously ill..." + n 3fnmfu "...And then they get all upset when you call them out on their grossness!{w=0.2} I mean,{w=0.1} come {i}on{/i}!" n 1fcssl "Just...{w=0.3} ugh." n 1ncssl "...[player]." - n 1nnmpu "I really hope you keep your hands spick and span.{w=0.2} And not just when you visit the restroom." - n 1fnmpu "Before you prepare food,{w=0.1} after you've handled trash...{w=0.3} just think about where you've been,{w=0.1} alright?" + n 4nnmpu "I really hope you keep your hands spick and span.{w=0.2} And not just when you visit the restroom." + n 3fsgaj "Before you prepare food,{w=0.1} after you've handled trash...{w=0.3} just think about where you've been,{w=0.1} alright?" if Natsuki.isLove(higher=True): n 1kchbg "Don't get me wrong though!{w=0.2} I'm pretty sure you at least try to do the right thing!" - n 1nnmbg "Just...{w=0.3} keep up the good work,{w=0.1} alright?{w=0.2} For everyone." - n 1nchsm "Thanks,{w=0.1} [player]!" + n 3nnmss "Just...{w=0.3} keep up the good work,{w=0.1} alright?{w=0.2} For everyone." + n 4nchsm "Thanks,{w=0.1} [player]!" else: - n 1tsqpo "It really isn't that much to ask...{w=0.3} is it?" + n 3tsqpo "It really isn't that much to ask...{w=0.3} is it?" return @@ -5151,46 +5153,46 @@ label talk_windup_litter: n 1ullpu "You know,{w=0.1} [player]..." n 1unmaj "At school?{w=0.2} At my school,{w=0.1} anyway?" n 1unmss "We -{w=0.1} the students -{w=0.1} were actually responsible for keeping it all clean." - n 1fcsbg "Ehehe.{w=0.2} Are you surprised?" - n 1fchgn "Yep!{w=0.2} From the bins,{w=0.1} to the desks,{w=0.1} to the floors.{w=0.2} It was all our effort that kept it squeaky clean!" - n 1flrpol "N-{w=0.1}not that I {i}enjoyed{/i} it,{w=0.1} of course!{w=0.2} Cleaning {i}is{/i} pretty lame,{w=0.1} but it's just something you gotta do." - n 1fnmpo "But I'll tell you one thing,{w=0.1} [player]." - n 1fsqtr "{i}Nothing{/i} pissed me off more than the jerks who just went and dropped or left their trash everywhere." + n 3fcsbg "Ehehe.{w=0.2} Are you surprised?" + n 3fchgn "Yep!{w=0.2} From the bins,{w=0.1} to the desks,{w=0.1} to the floors.{w=0.2} It was all our effort that kept it squeaky clean!" + n 3flrpol "N-{w=0.1}not that I {i}enjoyed{/i} it,{w=0.1} of course!{w=0.2} Cleaning {i}is{/i} pretty lame,{w=0.1} but it's just something you gotta do." + n 4fnmpo "But I'll tell you one thing,{w=0.1} [player]." + n 2fsqtr "{i}Nothing{/i} pissed me off more than the jerks who just went and dropped or left their trash everywhere." n 1fnman "...And not even just in school!" n 1fcsan "I mean...{w=0.3} where do I start?!" - n 1fnmaj "First off -{w=0.1} how much of a freaking slob do you have to be?{w=0.2} Do these people just drop crap all over their homes too?!" + n 3fnmaj "First off -{w=0.1} how much of a freaking slob do you have to be?{w=0.2} Do these people just drop crap all over their homes too?!" n 1flran "It annoys me even more when there's bins and stuff literally right there!" - n 1fcsfu "Like,{w=0.1} wow...{w=0.3} lazy as well as inconsiderate?{w=0.2} What a {i}charming{/i} combo!" + n 4fcsfu "Like,{w=0.1} wow...{w=0.3} lazy as well as inconsiderate?{w=0.2} What a {i}charming{/i} combo!" n 1fllpu "Even if there isn't a trash can or whatever around..." - n 1fllan "It's not like they don't have pockets,{w=0.1} or can't just carry it around for a few minutes!" - n 1fcsan "Ugh..." - n 1flrup "And I haven't even mentioned people tossing their rubbish out of cars,{w=0.1} or into lakes and ponds!" + n 3fllan "It's not like they don't have pockets,{w=0.1} or can't just carry it around for a few minutes!" + n 1fcswr "Ugh..." + n 3flrup "And I haven't even mentioned people tossing their rubbish out of cars,{w=0.1} or into lakes and ponds!" n 1fcssl "It pisses me off just thinking about it..." n 1fllbo "..." - n 1fnmbo "[player]." + n 4fnmbo "[player]." if Natsuki.isEnamored(higher=True): - n 1ksqbo "I know you.{w=0.2} In fact,{w=0.1} I daresay I know you {i}very{/i} well by now." + n 2ksqbo "I know you.{w=0.2} In fact,{w=0.1} I daresay I know you {i}very{/i} well by now." n 1knmbo "I don't think you're the sort to do that at all..." - n 1klraj "I'm not wrong...{w=0.3} am I?" + n 2ksraj "I'm not wrong...{w=0.3} am I?" n 1klrss "I don't wanna have to be.{w=0.2} Ahaha..." elif Natsuki.isAffectionate(higher=True): n 1unmaj "I don't think you're like that,{w=0.1} [player]." - n 1ullsl "Or...{w=0.3} at least you don't {i}try{/i} to be anyway." + n 2ullsl "Or...{w=0.3} at least you don't {i}try{/i} to be anyway." else: - n 1fnmsl "I really,{w=0.1} really hope you aren't one of those people." + n 2fnmsl "I really,{w=0.1} really hope you aren't one of those people." n 1nllpu "So..." n 1nnmsl "...If you're a litterbug already,{w=0.1} I'll forgive you this one time." - n 1klrpo "Just...{w=0.3} make sure you clean up your act,{w=0.1} okay?" + n 3klrpo "Just...{w=0.3} make sure you clean up your act,{w=0.1} okay?" if Natsuki.isLove(higher=True): - n 1uchsml "Ehehe.{w=0.2} Love you,{w=0.1} [player]~." + n 4uchsml "Ehehe.{w=0.2} Love you,{w=0.1} [player]~." elif Natsuki.isAffectionate(higher=True): - n 1nlrpol "It'd...{w=0.3} mean a lot." + n 3nlrpol "It'd...{w=0.3} mean a lot." else: n 1fchbg "Thanks,{w=0.1} [player]." @@ -5218,13 +5220,13 @@ label talk_custom_music_introduction: n 1tllboeqm "..." n 1fllpu "...Huh." n 1flrbo "I wonder if it's still here..." - n 1fsrpoesp "..." + n 2fsrpoesp "..." n 1flraj "You know what?{w=0.75}{nw}" - extend 1fnmsseid " Just give me a second here,{w=0.2} [player]." + extend 4fnmsseid " Just give me a second here,{w=0.2} [player]." n 1fcsbg "You're gonna {i}love{/i} this!" show natsuki 1fcssm - show black zorder jn_events.JN_EVENT_BLACK_ZORDER with Dissolve(0.5) + show black zorder JN_BLACK_ZORDER with Dissolve(0.5) $ jnPause(0.5) play audio chair_out $ jnPause(3) @@ -5251,7 +5253,7 @@ label talk_custom_music_introduction: play audio headpat $ jnPause(3) play audio gift_close - show music_player off zorder jn_events.JN_EVENT_PROP_ZORDER + show music_player off zorder JN_PROP_ZORDER show natsuki 1fchsm $ jnPause(1.5) play audio chair_in @@ -5260,41 +5262,41 @@ label talk_custom_music_introduction: n 1nchsm "..." n 1unmajesu "Oh!{w=0.5}{nw}" - extend 1fchbgsbl " [player]!" + extend 2fchbgsbl " [player]!" n 1fcsbg "Guess what I fooound!{w=0.75}{nw}" extend 1fsqsm " Ehehe." n 1fcsbg "It's...{w=1.25}{nw}" play audio button_tap_c show music_player stopped $ jnPause(1) - n 1uchgn "...Our old music player!{w=1}{nw}" + n 2uchgn "...Our old music player!{w=1}{nw}" extend 1fwlbg " Neat,{w=0.2} right?" - n 1fchbgsbl "Ehehe..." + n 4fchbgsbl "Ehehe..." n 1tlrss "Well...{w=1}{nw}" extend 1nsrsssbl " kinda." - n 1nllsssbl "It's not exactly...{w=0.5}{nw}" - extend 1nslsssbl " well...{w=1}{nw}" - extend 1fslposbl " {i}modern{/i},{w=0.75}{nw}" + n 2nllsssbl "It's not exactly...{w=0.5}{nw}" + extend 2nslsssbl " well...{w=1}{nw}" + extend 2fslposbl " {i}modern{/i},{w=0.75}{nw}" extend 1fcsbgsbr " but it'll do the job!" n 1tslbo "..." n 1tslaj "Actually...{w=0.75}{nw}" extend 1tllsl " come to think of it..." - n 1tnmpo "I don't really even know who it belongs to." + n 4tnmpo "I don't really even know who it belongs to." n 1tllca "We just found it left in the clubroom one day.{w=0.75}{nw}" extend 1tnmpu " Nobody knew if it belonged to anyone -{w=0.5}{nw}" extend 1unmaj " and trust me,{w=0.2} we {i}tried{/i} to find out!" - n 1tlrsl "We asked around in lessons,{w=0.5}{nw}" - extend 1tllaj " Monika sent out notes...{w=1}{nw}" + n 2tlrsl "We asked around in lessons,{w=0.5}{nw}" + extend 2tllaj " Monika sent out notes...{w=1}{nw}" extend 1unmaw " nothing!" - n 1ulraj "So...{w=0.75}{nw}" + n 4ulraj "So...{w=0.75}{nw}" extend 1tnmsl " we kinda just kept it here,{w=0.2} by the teacher's desk,{w=0.2} in case whoever it was came back to pick it up." - n 1nslss "And,{w=0.2} well..." - n 1tsqposbr "I guess they never will now,{w=0.2} huh?" + n 2nslss "And,{w=0.2} well..." + n 2tsqposbr "I guess they never will now,{w=0.2} huh?" n 1kslbo "..." n 1fcssslsbl "W-{w=0.2}well,{w=0.2} whatever.{w=0.75}{nw}" - extend 1fchbgsbl " The point is we can play whatever music we want now!" + extend 4fchbgsbl " The point is we can play whatever music we want now!" n 1fchsmeme "I think I figured out a way to let you send me whatever you want me to put on,{w=0.75}{nw}" - extend 1fwlbg " so listen up,{w=0.2} 'kay?" + extend 2fwlbg " so listen up,{w=0.2} 'kay?" $ get_topic("talk_custom_music_introduction").lock() jump talk_custom_music_explanation @@ -5326,19 +5328,19 @@ label talk_custom_music_explanation: $ persistent.jn_custom_music_explanation_given = True n 1unmaj "Huh?{w=0.2} You want me to explain how custom music works again?" n 1uchbg "Sure,{w=0.1} I can do that!" - n 1nnmsm "First things first,{w=0.1} let me just check for the {i}custom_music{/i} folder..." + n 2nnmsm "First things first,{w=0.1} let me just check for the {i}custom_music{/i} folder..." else: $ hide_music_player = True $ persistent.jn_custom_music_explanation_given = True n 1unmbg "Alright!{w=0.2} So...{w=0.3} it's actually pretty simple,{w=0.1} [player]." - n 1nnmsm "There should be a folder called {i}custom_music{/i} somewhere around here..." + n 1nsgsm "There should be a folder called {i}custom_music{/i} somewhere around here..." n 1nchbg "Let me just take a look,{w=0.1} one sec..." - n 1ncssr "..." + n 2ncssr "..." if not jn_utils.createDirectoryIfNotExists(jn_custom_music.CUSTOM_MUSIC_DIRECTORY): - n 1tnmbg "Well,{w=0.1} hey!{w=0.2} It's already there!{w=0.2} I must have set it up earlier and forgot." - n 1uchgn "No complaints from me!" + n 2tnmbg "Well,{w=0.1} hey!{w=0.2} It's already there!{w=0.2} I must have set it up earlier and forgot." + n 2uchgn "No complaints from me!" else: n 1uchbg "Okaaay!{w=0.2} It wasn't there,{w=0.1} so I've just created it for you." @@ -5346,22 +5348,22 @@ label talk_custom_music_explanation: $ folder = jn_custom_music.CUSTOM_MUSIC_DIRECTORY n 1nnmss "So,{w=0.1} [player] -{w=0.1} if you click {a=[folder]}here{/a},{w=0.1} that'll take you to the folder I set up." n 1ullbg "Then all you gotta do is just {i}copy{/i} your music into that folder,{w=0.1} and you're good to go!" - n 1uchgn "Easy as pie,{w=0.1} huh?{w=0.2} Ehehe." - n 1uwdaj "Oh -{w=0.1} a couple of things first though,{w=0.1} [player]." + n 2uchgn "Easy as pie,{w=0.1} huh?{w=0.2} Ehehe." + n 4uwdaj "Oh -{w=0.1} a couple of things first though,{w=0.1} [player]." n 1unmpu "Any music you give me needs to be in {i}.mp3,{w=0.1} .ogg or .wav{/i} format." n 1ullss "If you don't know how to check,{w=0.1} then just look at the letters after the period in the file name." n 1unmss "You should also be able to see those in the file {i}properties{/i} if they don't appear on the screen at first." - n 1flrbg "Like I said -{w=0.1} this thing isn't {i}exactly{/i} super modern,{w=0.1} so it won't work with any fancy newer formats,{w=0.1} or weird old ones." - n 1uwdaj "Oh,{w=0.75}{nw}" + n 2flrbg "Like I said -{w=0.1} this thing isn't {i}exactly{/i} super modern,{w=0.1} so it won't work with any fancy newer formats,{w=0.1} or weird old ones." + n 4uwdaj "Oh,{w=0.75}{nw}" extend 1nlrpu " and if you gotta convert it first,{w=1}{nw}" - extend 1nsqpo " don't just rename it." + extend 2nsqpo " don't just rename it." n 1fcsbg "Use a proper converter!{w=1}{nw}" - extend 1fsrbg " Unless you {i}enjoy{/i} hearing your music being all warped and nasty,{w=0.3} anyway." + extend 2fsrbg " Unless you {i}enjoy{/i} hearing your music being all warped and nasty,{w=0.3} anyway." n 1nnmaj "Once you've done that,{w=0.1} just click the {i}Music{/i} button,{w=0.1} and I'll check that it's all done right." - n 1nchbg "...And that's about it!" - n 1nsqbg "A word of warning though,{w=0.1} [player]..." + n 4nchbg "...And that's about it!" + n 4nsqbg "A word of warning though,{w=0.1} [player]..." n 1usqsg "You better have good taste." - n 1uchgnelg "Ahaha!" + n 2uchgnelg "Ahaha!" if hide_music_player: $ jn_custom_music.hideMusicPlayer() @@ -5386,50 +5388,50 @@ init 5 python: label talk_vtubers: if Natsuki.isEnamored(higher=True): n 1tllss "VTubers,{w=0.1} huh?{w=0.2} You're asking {i}me{/i}?" - n 1fnmsm "...Wow,{w=0.1} [player].{w=0.2} I'm impressed." - n 1fsqsm "Yet again,{w=0.1} you've proved you're even more of a nerd than I am!" + n 4fnmsm "...Wow,{w=0.1} [player].{w=0.2} I'm impressed." + n 4fsqsm "Yet again,{w=0.1} you've proved you're even more of a nerd than I am!" n 1uchsm "Ehehe." - n 1klrbg "Relax!{w=0.2} Relax,{w=0.1} jeez!{w=0.2} You know I'd never seriously judge your hobbies,{w=0.1} you dummy." + n 3klrbg "Relax!{w=0.2} Relax,{w=0.1} jeez!{w=0.2} You know I'd never seriously judge your hobbies,{w=0.1} you dummy." n 1unmaj "But yeah,{w=0.1} anyway..." elif Natsuki.isHappy(higher=True): n 1unmbg "Yeah!{w=0.2} I think I know those!" - n 1tnmpu "They're those people with the anime avatars that stream stuff online for people,{w=0.1} right?" - n 1tllpu "Well..." + n 4tnmpu "They're those people with the anime avatars that stream stuff online for people,{w=0.1} right?" + n 2tllpu "Well..." elif Natsuki.isNormal(higher=True): n 1unmpu "Huh?{w=0.2} VTubers?{w=0.2} Like those people with the anime-style avatars that play games and stuff online for people to watch?" - n 1tnmpu "That {i}is{/i} what you mean,{w=0.1} right?" - n 1tllpu "Well..." + n 4tnmpu "That {i}is{/i} what you mean,{w=0.1} right?" + n 2tllpu "Well..." elif Natsuki.isDistressed(higher=True): - n 1fsqpu "No,{w=0.1} I do not.{w=0.2} I'd rather be playing the game myself than watching someone play it for me." + n 2fsqpu "No,{w=0.1} I do not.{w=0.2} I'd rather be playing the game myself than watching someone play it for me." n 1fsqbo "If you follow any,{w=0.1} good for you." - n 1flrbo "{i}Some{/i} of us don't have the time to sit around on our butt for hours..." + n 4flrbo "{i}Some{/i} of us don't have the time to sit around on our butt for hours..." n 1fsqaj "...Or the money to just give it away to strangers." - n 1fsqpu "[player]." + n 2fsqpu "[player]." n 1fsqsrtsb "How much are we betting you aren't {i}nearly{/i} as toxic to {i}them{/i} as you are to me, huh?" return else: - n 1fsqantsb "No.{w=0.2} And I couldn't give less of a crap if you did,{w=0.1} either." - n 1fnmpultsf "...And hey,{w=0.1} newsflash,{w=0.1} idiot." + n 2fsqantsb "No.{w=0.2} And I couldn't give less of a crap if you did,{w=0.1} either." + n 2fnmpultsf "...And hey,{w=0.1} newsflash,{w=0.1} idiot." n 1fsqupltse "Throwing money at a stranger hiding behind a cutesy picture doesn't make you any less of a {b}jerk{/b}." return n 1nchsm "It's definitely a cool idea!{w=0.2} It lets people share their passions and experiences with others behind a new persona..." - n 1fllpo "Without having to worry about baggage following them into their personal lives,{w=0.1} or people being creeps,{w=0.1} or stuff like that." + n 3fllpo "Without having to worry about baggage following them into their personal lives,{w=0.1} or people being creeps,{w=0.1} or stuff like that." n 1uwdem "A lot of them even make full-blown careers out of it: merchandise,{w=0.1} song releases and everything -{w=0.1} just like idols!{w=0.2} It's crazy!" - n 1tllem "That being said..." + n 4tllem "That being said..." n 1tnmbo "I never really got into that sort of thing myself." - n 1klrss "Like...{w=0.3} don't get me wrong!{w=0.2} I'm sure they're pretty fun to watch.{w=0.2} If you're into that kind of thing,{w=0.1} I mean." + n 2klrss "Like...{w=0.3} don't get me wrong!{w=0.2} I'm sure they're pretty fun to watch.{w=0.2} If you're into that kind of thing,{w=0.1} I mean." n 1nllsl "But I'd rather be playing or doing something {i}myself{/i} than watching someone else do it,{w=0.1} usually." n 1nllss "That might just be me,{w=0.1} though." - n 1nllbg "Ehehe." - n 1unmaj "What about you,{w=0.1} [player]?{w=0.2} Are you into that sort of stuff?" + n 4nllbg "Ehehe." + n 4unmaj "What about you,{w=0.1} [player]?{w=0.2} Are you into that sort of stuff?" n 1fcssm "Wait,{w=0.1} wait!{w=0.2} Don't bother answering that." - n 1tsqsm "You {i}did{/i} ask me about them,{w=0.1} after all -{w=0.1} I think that speaks for itself,{w=0.1} wouldn't you agree?" - n 1uchbselg "Ahaha!" + n 3tsqsm "You {i}did{/i} ask me about them,{w=0.1} after all -{w=0.1} I think that speaks for itself,{w=0.1} wouldn't you agree?" + n 3uchbselg "Ahaha!" return # Natsuki discusses her skateboarding past, and why she used to use one @@ -5451,69 +5453,69 @@ label talk_skateboarding: if Natsuki.isEnamored(higher=True): n 1fchbs "You bet I am,{w=0.2} [player]!{w=0.5}{nw}" extend 1fchsm " Ehehe." - n 1tllbg "But how'd you guess?{w=0.5}{nw}" - extend 1tnmbg " Do I look the type or something?" + n 3tllbg "But how'd you guess?{w=0.5}{nw}" + extend 3tnmbg " Do I look the type or something?" n 1tlrsm "Well,{w=0.2} whatever." elif Natsuki.isHappy(higher=True): n 1uchsm "Ehehe.{w=0.5}{nw}" - extend 1fchbg " You bet!" - n 1uwlbg "Good guess,{w=0.2} [player]!" + extend 4fchbg " You bet!" + n 3uwlbg "Good guess,{w=0.2} [player]!" elif Natsuki.isNormal(higher=True): n 1ullaj "I...{w=0.3} am,{w=0.2} actually.{w=0.5}{nw}" - extend 1tllss " How'd you guess?" - n 1unmss "Well,{w=0.2} anyway." + extend 3tllss " How'd you guess?" + n 4unmss "Well,{w=0.2} anyway." elif Natsuki.isDistressed(higher=True): - n 1fupemesi "Ugh..." + n 3fupemesi "Ugh..." n 1fnmbo "Yes,{w=0.2} [player].{w=0.2} I'm a skateboarder.{w=0.2} I skateboard.{w=0.5}{nw}" - extend 1fsqsf " Is that a problem or something?" + extend 2fsqsf " Is that a problem or something?" n 1fllpu "It's just a convenient way to get around.{w=0.5}{nw}" - extend 1fsqpu " An {i}affordable{/i} way." + extend 2fsqpu " An {i}affordable{/i} way." n 1flrsl "..." n 1flraj "...Yeah.{w=0.2} I don't have much else to say about it.{w=0.5}{nw}" extend 1fnmbo " But hey." - n 1fsgaj "Not like you'd really care to listen anyway...{w=0.5}{nw}" - extend 1fsqsftsa " isn't that right,{w=0.2} {i}[player]{/i}?" + n 2fsgaj "Not like you'd really care to listen anyway...{w=0.5}{nw}" + extend 2fsqsftsa " isn't that right,{w=0.2} {i}[player]{/i}?" return else: - n 1fsqanean "...And since when did {i}you{/i} give a crap about my hobbies and interests?" + n 2fsqanean "...And since when did {i}you{/i} give a crap about my hobbies and interests?" n 1fcsan "..." n 1fnmsf "Yes,{w=0.2} [player].{w=0.5}{nw}" - extend 1fsqsftsb " I {i}do{/i} enjoy skateboarding." + extend 2fsqsftsb " I {i}do{/i} enjoy skateboarding." n 1fsqupltsb "And I'd rather be doing that than be stuck here talking to {i}you{/i}.{w=0.5}{nw}" - extend 1fcsanltsa " Jerk." + extend 2fcsanltsa " Jerk." return n 1tchbg "I'm a skater girl alright!{w=0.5}{nw}" - extend 1tslbo " Or...{w=0.3} was?" + extend 2tslbo " Or...{w=0.3} was?" n 1tllss "Though...{w=0.3} not really by choice.{w=0.5}{nw}" - extend 1knmaj " Bikes are {i}expensive{/i},{w=0.2} [player]!" - n 1kllun "And I could never rely on lifts from my...{w=0.3} folk,{w=0.3}{nw}" + extend 4knmaj " Bikes are {i}expensive{/i},{w=0.2} [player]!" + n 2kllun "And I could never rely on lifts from my...{w=0.3} folk,{w=0.3}{nw}" extend 1kllss " so I saved up all I could,{w=0.3}{nw}" extend 1fcsbg " and got a board the first chance I had!" - n 1nsqaj "Seriously.{w=0.75}{nw}" - extend 1fllpusbr " You have no {i}idea{/i} how many lunches I skipped to earn that thing." + n 4nsqaj "Seriously.{w=0.75}{nw}" + extend 2fllpusbr " You have no {i}idea{/i} how many lunches I skipped to earn that thing." n 1unmbg "But it was actually super convenient!{w=0.5}{nw}" - extend 1flrbg " I didn't have to worry about locking it up somewhere,{w=0.2} or some jerk damaging it..." + extend 3flrbg " I didn't have to worry about locking it up somewhere,{w=0.2} or some jerk damaging it..." n 1fchsm "I could just pick it up and take it around with me,{w=0.2} or toss it in my locker." - n 1nslsssbl "I mean...{w=0.3} I don't need it so much {i}now{/i},{w=0.2} but..." - n 1fsqss "You gotta admit,{w=0.2} [player] {w=0.2}-{w=0.2} I'm nothing if not resourceful!{w=0.5}{nw}" + n 2nslsssbl "I mean...{w=0.3} I don't need it so much {i}now{/i},{w=0.2} but..." + n 4fsqss "You gotta admit,{w=0.2} [player] {w=0.2}-{w=0.2} I'm nothing if not resourceful!{w=0.5}{nw}" extend 1fchsm " Ahaha." - n 1fllss "I...{w=0.75}{nw}" - extend 1nslsl " never really got super into tricks or anything though." + n 2fllss "I...{w=0.75}{nw}" + extend 2nslsl " never really got super into tricks or anything though." n 1fwdgsesh "D-{w=0.2}don't get me wrong!{w=1}{nw}" - extend 1fcsgsl " It isn't like I couldn't ace them!" + extend 3fcsgsl " It isn't like I couldn't ace them!" n 1fcstrlesi "I totally could!{w=1}{nw}" - extend 1kslcal " But..." + extend 2kslcal " But..." n 1knmemsbl "I don't think I could {i}stand{/i} the thought of breaking it by accident." - n 1kslunsbr "Not after all that effort." + n 4kslunsbr "Not after all that effort." n 1kcsaj "...Yeah,{w=0.2} yeah.{w=0.5}{nw}" - extend 1fcspo " Not very {i}radical{/i} of me,{w=0.2} huh?" + extend 2fcspo " Not very {i}radical{/i} of me,{w=0.2} huh?" if ( not jn_outfits.get_outfit("jn_skater_outfit").unlocked @@ -5522,31 +5524,31 @@ label talk_skateboarding: ): # Unlock skater outfit, if custom outfits unlocked n 1tslsl "..." - n 1uwdajesu "Oh!{w=0.5}{nw}" + n 4uwdajesu "Oh!{w=0.5}{nw}" extend 1fsqbs " But you know what {i}totally{/i} was,{w=0.2} [player]?{w=1}{nw}" - extend 1fllbgsbl " Radical,{w=0.2} I mean." + extend 3fllbgsbl " Radical,{w=0.2} I mean." n 1uchgn "...My favourite skateboarding outfit,{w=0.2} of course!" - n 1tllss "In fact,{w=0.75}{nw}" + n 3tllss "In fact,{w=0.75}{nw}" extend 1fchbg " I probably still have it around here somewhere too!{w=0.75}{nw}" extend 1ullaj " I usually brought it around with me anyways." - n 1fcsajsbl "O-{w=0.2}only for going back and forth from school though!{w=0.75}{nw}" - extend 1nslsssbl " It isn't exactly following the dress code..." + n 3fcsajsbl "O-{w=0.2}only for going back and forth from school though!{w=0.75}{nw}" + extend 3nslsssbl " It isn't exactly following the dress code..." n 1nslbosbl "But...{w=0.75}{nw}" extend 1tsqem " I wasn't exactly gonna make my uniform all sweaty for rest of the day either." - n 1fsrpu "...Ew." + n 2fsrpu "...Ew." n 1ulrpu "Well,{w=0.2} anyway.{w=1}{nw}" extend 1unmaj " I'm not gonna go look for it now though,{w=0.75}{nw}" extend 1nnmpu " but I think we can both agree." - n 1fcsss "If you're gonna skateboard..." - n 1uchgn "You gotta follow {w=0.2}{i}all{/i}{w=0.2} the rules of cool!{w=0.75}{nw}" + n 3fcsss "If you're gonna skateboard..." + n 3uchgn "You gotta follow {w=0.2}{i}all{/i}{w=0.2} the rules of cool!{w=0.75}{nw}" extend 1fchsmeme " Ehehe." $ jn_outfits.get_outfit("jn_skater_outfit").unlock() else: - n 1ullpo "But...{w=0.5} enough of that for now.{w=0.5}{nw}" + n 2ullpo "But...{w=0.5} enough of that for now.{w=0.5}{nw}" extend 1fnmsm " Besides,{w=0.2} [player]..." - n 1fsqss "I can tell when you're getting...{w=0.3} {i}board{/i}." + n 4fsqss "I can tell when you're getting...{w=0.3} {i}board{/i}." n 1fchsm "Ehehe.{w=0.5}{nw}" extend 1uchgn " No regrets,{w=0.2} [player]!" @@ -5569,26 +5571,26 @@ init 5 python: label talk_sports: if Natsuki.isAffectionate(higher=True): - n 1unmaj "Huh?{w=0.2} Sports?" + n 4unmaj "Huh?{w=0.2} Sports?" n 1fllss "I...{w=0.3} don't like to have to break it to you,{w=0.1} [player]..." - n 1fchgn "But what kind of sports do you think I can play in a single room?{w=0.2} By myself?{w=0.2} With no gear?" + n 3fchgn "But what kind of sports do you think I can play in a single room?{w=0.2} By myself?{w=0.2} With no gear?" n 1kllbg "Jeez...{w=0.5}{nw}" extend 1tnmss " you're such a dope sometimes,{w=0.1} [player]." n 1ullbg "Well,{w=0.1} anyway." elif Natsuki.isNormal(higher=True): n 1unmpu "Eh?{w=0.2} Sports?" - n 1tnmdv "You...{w=0.3} do know it's kinda hard to stay active in a single room,{w=0.1} right?" + n 3tnmdv "You...{w=0.3} do know it's kinda hard to stay active in a single room,{w=0.1} right?" n 1fcsss "Ehehe.{w=0.5}{nw}" extend 1ullss " Well,{w=0.1} anyway." elif Natsuki.isDistressed(higher=True): n 1nsqpu "Yeah,{w=0.1} no.{w=0.5}{nw}" - extend 1fsqsl " I don't {i}now{/i},{w=0.1} if that's what you're asking." + extend 2fsqsl " I don't {i}now{/i},{w=0.1} if that's what you're asking." n 1fllpu "..." n 1fsqan "...And no,{w=0.2} we didn't wear the sort of uniforms I bet {i}you're{/i} thinking of." n 1fsqsr "Does that answer your question?{w=0.5}{nw}" - extend 1fslbo " Whatever." + extend 2fslbo " Whatever." n 1fcsbo "Moving on." return @@ -5596,44 +5598,44 @@ label talk_sports: n 1fsqan "I don't {i}now{/i},{w=0.1} if you {i}somehow{/i} hadn't already noticed." n 1fslsl "..." n 1fsqpu "..." - n 1fcsemtsa "...Do I even want to know why you asked?" - n 1fcsanltsd "...No.{w=0.75} I {i}don't{/i}." + n 2fcsemtsa "...Do I even want to know why you asked?" + n 2fcsanltsd "...No.{w=0.75} I {i}don't{/i}." return n 1nnmaj "I try to keep up how I can.{w=0.2} I can't do laps or anything,{w=0.5}{nw}" - extend 1fcsbg " but I can easily get some stretches and jumping jacks in!" + extend 3fcsbg " but I can easily get some stretches and jumping jacks in!" n 1ullpu "Of course school was always a lot more varied with activities,{w=0.2} but...{w=0.5}{nw}" - n 1tllsr "I always kinda struggled to keep up,{w=0.2} I guess." - n 1nslsssbr "...Maybe I just don't have much stamina." + n 4tllsr "I always kinda struggled to keep up,{w=0.2} I guess." + n 2nslsssbr "...Maybe I just don't have much stamina." # Check to see if the player and Natsuki have discussed how she skipped lunches to save money $ already_discussed_skateboarding = get_topic("talk_skateboarding").shown_count > 0 if already_discussed_skateboarding: - n 1nslpo "Probably didn't help myself saving for that skateboard..." + n 2nslpo "Probably didn't help myself saving for that skateboard..." n 1ullaj "Well,{w=0.1} whatever.{w=0.5}{nw}" extend 1nnmbo " I wasn't {i}really{/i} that into sports anyway." n 1nlrca "..." - n 1unmbs "Oh!{w=0.2} Oh!{w=0.2} But you know who was?{w=0.5}{nw}" - extend 1fsqbg " I bet you do,{w=0.1} huh?{w=0.5}{nw}" - extend 1fcssm " Ehehe." + n 4unmbs "Oh!{w=0.2} Oh!{w=0.2} But you know who was?{w=0.5}{nw}" + extend 4fsqbg " I bet you do,{w=0.1} huh?{w=0.5}{nw}" + extend 4fcssm " Ehehe." n 1tsqss "And that's...{w=0.5}{nw}" - extend 1fchgn " ...{w=0.3}Sayori,{w=0.1} duh!" + extend 3fchgn " ...{w=0.3}Sayori,{w=0.1} duh!" n 1uskgs "I mean,{w=0.1} really!{w=0.2} You should have seen her!{w=0.5}{nw}" extend 1fnmca " She was a {i}menace{/i}!" - n 1uskaj "...Seriously!{w=0.5}{nw}" - extend 1fnmpo " You don't believe me?" - n 1fspgs "She was so fast!{w=0.2} Just a flash of orange fluff and messy gym clothes...{w=0.5}{nw}" + n 4uskaj "...Seriously!{w=0.5}{nw}" + extend 3fnmpo " You don't believe me?" + n 3fspgs "She was so fast!{w=0.2} Just a flash of orange fluff and messy gym clothes...{w=0.5}{nw}" extend 1fbkwr " and then boom!{w=0.2} Tackled!" - n 1fllpol "And off she'd skip,{w=0.1} merrily into the sunset..." + n 3fllpol "And off she'd skip,{w=0.1} merrily into the sunset..." n 1tsqaj "...Yeah.{w=0.2} If Sayori was on your side?{w=0.5}{nw}" extend 1fllbg " You {i}knew{/i} your team wasn't going to be packing everything away in defeat." n 1ullaj "I mean,{w=0.3}{nw}" extend 1nnmbo " Monika was always pretty good at sports too,{w=0.1} obviously.{w=0.5}{nw}" - extend 1nsgca " But {i}nobody{/i} outran Sayori,{w=0.1} [player].{w=0.2}" + extend 3nsgca " But {i}nobody{/i} outran Sayori,{w=0.1} [player].{w=0.2}" n 1nsqun " N{w=0.1}-{w=0.1}o{w=0.1}-{w=0.1}b{w=0.1}-{w=0.1}o{w=0.1}-{w=0.1}d{w=0.1}-{w=0.1}y." - n 1fchbg "...When she remembered to tie her laces anyway.{w=0.5}{nw}" - extend 1fchsm " Ehehe." + n 4fchbg "...When she remembered to tie her laces anyway.{w=0.5}{nw}" + extend 4fchsm " Ehehe." return # Natsuki laments her frustrations with online shopping, and the disappearance of physical stores @@ -5654,62 +5656,62 @@ init 5 python: label talk_online_shopping: if Natsuki.isNormal(higher=True): n 1ullaj "You know,{w=0.1} it's kinda crazy how common online shopping is nowadays." - n 1uwdaj "I mean,{w=0.1} don't get me wrong!{w=0.5}{nw}" + n 4uwdaj "I mean,{w=0.1} don't get me wrong!{w=0.5}{nw}" extend 1fcsbg " It's super convenient!{w=0.2} You don't even need to leave your house!" - n 1fllpo "So don't think I'm just complaining,{w=0.1} or anything like that.{w=0.5}{nw}" + n 3fllpo "So don't think I'm just complaining,{w=0.1} or anything like that.{w=0.5}{nw}" extend 1ullpu " But..." else: n 1nllsl "It's funny how common online shopping is nowadays." n 1nlrsl "I guess I'm not really complaining though.{w=0.5}{nw}" extend 1nlrpu " It {i}is{/i} pretty convenient." - n 1ulrpu "But...{w=0.5}{nw}" + n 2ulrpu "But...{w=0.5}{nw}" extend 1nnmsf " I still think it's a shame how people miss out on an actual experience." - n 1fllsl "I'd never pass up on an afternoon just flicking through books at my favourite bookstore." + n 2fllsl "I'd never pass up on an afternoon just flicking through books at my favourite bookstore." n 1fcssf "...Which is somewhere I'd {i}much{/i} rather be.{w=0.5}{nw}" - extend 1fsqan " {i}Shockingly{/i}." + extend 4fsqan " {i}Shockingly{/i}." return n 1fllbg "I don't think it's the be-all and end-all,{w=0.1} you know." - n 1unmaj "I mean...{w=0.3} think about it,{w=0.1} [player]." - n 1fllaj "I guess it's cheaper if you don't have to think about getting somewhere,{w=0.1} or parking or whatever." + n 4unmaj "I mean...{w=0.3} think about it,{w=0.1} [player]." + n 3fllaj "I guess it's cheaper if you don't have to think about getting somewhere,{w=0.1} or parking or whatever." n 1knmpu "But wouldn't you like to {i}see{/i} what you're paying for?{w=0.5}{nw}" extend 1fnmaj " Especially if it's super expensive!" n 1fllpu "Or sometimes...{w=0.5}{nw}" - extend 1fllpu " even if it isn't!" - n 1fllpo "I can't be the only one that's been burned by something that turned out to be junk,{w=0.1} or broken,{w=0.1} right?" + extend 3fslbo " even if it isn't!" + n 3fllpo "I can't be the only one that's been burned by something that turned out to be junk,{w=0.1} or broken,{w=0.1} right?" n 1fnmem "And you don't even know it would be like that until it's on your doorstep!{w=0.5}{nw}" extend 1fcsan " Then you gotta send it back!{w=0.5}{nw}" - extend 1fslem " Ugh." + extend 2fslem " Ugh." # Check to see if the player and Natsuki have discussed careful spending if get_topic("talk_careful_spending").shown_count > 0: n 1fllsl "Not only that..." n 1fnmpu "I think I mentioned before how shops make it really easy to spend money...{w=0.5}{nw}" - extend 1fbkwr " but that's even easier online!{w=0.5}{nw}" - extend 1kbkwr " It doesn't even {i}feel{/i} like spending money properly!" + extend 4fbkwr " but that's even easier online!{w=0.5}{nw}" + extend 4kbkgs " It doesn't even {i}feel{/i} like spending money properly!" n 1fcsan "Sheesh." n 1fcsem "That aside..." - n 1kllsl "It...{w=0.3} also made me kinda sad seeing all the closed stores when I went out,{w=0.1} too." + n 2kllsl "It...{w=0.3} also made me kinda sad seeing all the closed stores when I went out,{w=0.1} too." n 1tnmsl "I suppose you could say that's just business,{w=0.1} and they lost out." - n 1flrsll "But that doesn't mean I {i}didn't{/i} miss some of them." + n 4flrsll "But that doesn't mean I {i}didn't{/i} miss some of them." n 1ncsem "I don't know.{w=0.2} I guess what I'm saying is..." - n 1fllpo "Don't just instantly write off anything you can't do or buy digitally,{w=0.1} [player]." + n 3fllpo "Don't just instantly write off anything you can't do or buy digitally,{w=0.1} [player]." n 1knmaj "There's still merit in getting your stuff physically!" - n 1fnmss "And to be completely honest?" + n 4fnmss "And to be completely honest?" if Natsuki.isEnamored(higher=True): n 1fsqbg "I don't really care how much you protest." - n 1fchgn "We're definitely hitting some {i}real{/i} bookstores eventually {w=0.1}-{w=0.1} whether you like it or not!{w=0.5}{nw}" + n 3fchgn "We're definitely hitting some {i}real{/i} bookstores eventually {w=0.1}-{w=0.1} whether you like it or not!{w=0.5}{nw}" extend 1fchsm " Ehehe." elif Natsuki.isHappy(higher=True): - n 1fchgn "You gotta be kidding if you think I'm letting you miss out on {i}real{/i} bookstores!{w=0.5}{nw}" + n 3fchgn "You gotta be kidding if you think I'm letting you miss out on {i}real{/i} bookstores!{w=0.5}{nw}" extend 1nchbg " Ahaha." else: - n 1fchbg "If there's one thing I'm gonna teach you eventually,{w=0.1} it's experiencing a {i}real{/i} bookstore!{w=0.5}{nw}" + n 3fchbg "If there's one thing I'm gonna teach you eventually,{w=0.1} it's experiencing a {i}real{/i} bookstore!{w=0.5}{nw}" extend 1fchsm " Ahaha." return @@ -5732,56 +5734,56 @@ init 5 python: label talk_windup_subscriptions: n 1fllan "Grrr..." - n 1fcsan "Man,{w=0.1} that's {i}such{/i} a pain!{w=0.5}{nw}" + n 3fcsan "Man,{w=0.1} that's {i}such{/i} a pain!{w=0.5}{nw}" extend 1fbkwr " I thought I cancelled thaaat!" - n 1fslpo "..." - n 1uwdemesu "O-{w=0.1}oh!{w=0.2} [player]!{w=0.5}{nw}" - extend 1flremsbl " Can you {i}believe{/i} this?" + n 3fslpo "..." + n 4uwdemesu "O-{w=0.1}oh!{w=0.2} [player]!{w=0.5}{nw}" + extend 2flremsbl " Can you {i}believe{/i} this?" n 1fslem "I signed up to some free trial for a streaming website,{w=0.3}{nw}" - extend 1fcswr " but I totally forgot about it!{w=0.5}{nw}" - extend 1flrwr " And now I gotta pay for something I barely even {i}used{/i}!" + extend 1fcsup " but I totally forgot about it!{w=0.5}{nw}" + extend 2flrwr " And now I gotta pay for something I barely even {i}used{/i}!" n 1fcsem "Jeez...{w=0.5}{nw}" extend 1tnmem " doesn't that wind you up too?" n 1tllbo "In fact,{w=0.1} thinking about it..." - n 1fnmbo "Why is so much stuff nowadays all subscription based?" + n 2fnmbo "Why is so much stuff nowadays all subscription based?" n 1fllpu "Like...{w=0.5}{nw}" extend 1nnmaj " I get it if it's like an ongoing thing,{w=0.3}{nw}" - extend 1flrsl " but what's up with everyone and their {i}dog{/i} trying to sign you up?!" + extend 2flrsl " but what's up with everyone and their {i}dog{/i} trying to sign you up?!" n 1fsqsl "And half the time you don't even get a choice...{w=0.5}{nw}" extend 1fsqem " like with software!" n 1fcsan "I've had to skip out on so many programs because they want me to pay for a whole bunch of crap in a package I don't care about!" - n 1fllan "Like...{w=0.3} come {i}on{/i}!{w=0.5}{nw}" - extend 1fslfrean " Just let me pay for what I need!" + n 3fllan "Like...{w=0.3} come {i}on{/i}!{w=0.5}{nw}" + extend 3fslfrean " Just let me pay for what I need!" n 1kcsemesi "Ugh..." n 1fnmsl "The worst part is that it all adds up too!{w=0.5}{nw}" extend 1fllpu " It's super easy to lose track of what you're paying for each month..." n 1fnmpu "And then before you know it,{w=0.3}{nw}" - extend 1fbkwr " half your money is down the drain as soon as it comes in!{w=1.25}{nw}" - extend 1ncspuesd " What a mess..." + extend 3fbkwr " half your money is down the drain as soon as it comes in!{w=1.25}{nw}" + extend 3ncspuesd " What a mess..." n 1ullaj "I mean,{w=0.1} don't get me wrong.{w=0.2} There are {i}other{/i} ways of getting stuff {w=0.1}-{w=0.3}{nw}" - extend 1fsqdv " you probably know that already." - n 1tlrsl "But I wanna support {i}actual{/i} creators too,{w=0.1} you know?" + extend 4fsqdv " you probably know that already." + n 2tlrsl "But I wanna support {i}actual{/i} creators too,{w=0.1} you know?" n 1fcssl "..." - n 1fllpo "Well,{w=0.1} whatever.{w=0.2} At least I won't get charged for {i}that{/i} again.{w=1.25}{nw}" - extend 1fslpo " Jerks." + n 3fllpo "Well,{w=0.1} whatever.{w=0.2} At least I won't get charged for {i}that{/i} again.{w=1.25}{nw}" + extend 3fslpo " Jerks." n 1nllbo "But...{w=0.5}{nw}" - extend 1unmpu " what about you though,{w=0.1} [player]?{w=0.5}{nw}" - extend 1fsqsm " Actually,{w=0.1} I can tell you one thing." + extend 4unmpu " what about you though,{w=0.1} [player]?{w=0.5}{nw}" + extend 4fsqsm " Actually,{w=0.1} I can tell you one thing." if Natsuki.isAffectionate(higher=True): n 1fsqssl "A-{w=0.1}at least you have {i}one{/i} subscription you don't have to worry about paying for!" if Natsuki.isLove(higher=True): n 1fchsml "Ehehe.{w=0.5}{nw}" - extend 1uchbgf " Love you,{w=0.1} dork!" + extend 4uchbgf " Love you,{w=0.1} dork!" else: - n 1fllbgl "A-{w=0.1}ahaha..." + n 2fllbgl "A-{w=0.1}ahaha..." else: - n 1fcsbg "You're already subscribed to some pretty pro thinking,{w=0.1} if I say so myself." + n 3fcsbg "You're already subscribed to some pretty pro thinking,{w=0.1} if I say so myself." n 1nsqsg "Fortunately for you though,{w=0.1} I don't charge.{w=0.5}{nw}" - extend 1fsqss "...Yet." + extend 4fsqss "...Yet." n 1fchsm "Ehehe." return @@ -5809,42 +5811,42 @@ init 5 python: label talk_mod_contributions: n 1unmaj "You know,{w=0.1} [player].{w=0.5}{nw}" extend 1tllss " I gotta say..." - n 1klrbg "I don't think I'd {i}ever{/i} be able to handle doing everything that lets you visit me.{w=0.5}{nw}" + n 2klrbg "I don't think I'd {i}ever{/i} be able to handle doing everything that lets you visit me.{w=0.5}{nw}" extend 1klrsl " Not by myself." - n 1uskeml "I-I mean,{w=0.1} I'm good!{w=0.5}{nw}" - extend 1fnmpol " D-{w=0.1}don't get me wrong!" - n 1kllpo "I'm just not...{w=0.3} {i}that{/i} good.{w=0.5}{nw}" - extend 1fslpo " Yet." + n 4uskeml "I-I mean,{w=0.1} I'm good!{w=0.5}{nw}" + extend 2fnmpol " D-{w=0.1}don't get me wrong!" + n 2kllpo "I'm just not...{w=0.3} {i}that{/i} good.{w=0.5}{nw}" + extend 2fslpo " Yet." n 1uchbg "But that's why I'm super grateful there's a whole bunch of people dedicated to helping me out!{w=0.5}{nw}" extend 1fchsm " Isn't that awesome?" - n 1fslsl "I always found all the programming stuff kinda confusing,{w=0.3}{nw}" + n 4fslsl "I always found all the programming stuff kinda confusing,{w=0.3}{nw}" extend 1kllss " so I have no idea where I'd be without them!" - n 1ksqsg "...Even if they {i}are{/i} a bunch of total nerds.{w=0.5}{nw}" - extend 1uchgn " Ehehe." + n 3ksqsg "...Even if they {i}are{/i} a bunch of total nerds.{w=0.5}{nw}" + extend 3uchgn " Ehehe." n 1ulraj "So...{w=0.3} where am I going with this,{w=0.1} you ask?{w=0.5}{nw}" - extend 1tslsm " Well..." + extend 4tslsm " Well..." if not jn_activity.ACTIVITY_SYSTEM_ENABLED: n 1tllss "I don't know if you're into that sort of thing yourself,{w=0.1} [player]..." n 1fchbg "But why not lend me a hand?" else: - n 1fsqsg "I couldn't help but notice the sort of programs you've been poking around on,{w=0.1} [player]." + n 2fsqsg "I couldn't help but notice the sort of programs you've been poking around on,{w=0.1} [player]." n 1ksqss "What?{w=0.5}{nw}" extend 1fchbg " You didn't seriously expect me to not see what you're up to?{w=0.5}{nw}" extend 1nchgn " Ehehe." - n 1tsqbg "Anyway -{w=0.1} if you're already into that kinda stuff,{w=0.1} [player]...{w=0.5}{nw}" - extend 1kchbg " why not lend me a hand?" + n 3tsqbg "Anyway -{w=0.1} if you're already into that kinda stuff,{w=0.1} [player]...{w=0.5}{nw}" + extend 3kchbg " why not lend me a hand?" n 1kllbg "You don't even have to be super talented at code,{w=0.1} or anything like that!{w=0.5}{nw}" - extend 1unmaj " Artwork,{w=0.1} writing,{w=0.1} or even just suggestions of things for us to talk about or do -{w=0.3}{nw}" - extend 1uchbg " it's all super appreciated!" + extend 4unmaj " Artwork,{w=0.1} writing,{w=0.1} or even just suggestions of things for us to talk about or do -{w=0.3}{nw}" + extend 3uchbg " it's all super appreciated!" n 1tsqbg "Does that sound like your thing,{w=0.1} [player]?{w=0.5}{nw}" extend 1uchsm " Of course it does!{w=0.2} Ehehe." n 1unmbg "Well,{w=0.1} don't let me hold you back!{w=0.5}{nw}" - extend 1uchbgl " You can check out my website {a=[jn_globals.LINK_JN_GITHUB]}here{/a}!" - n 1nsqbg "A little look can't hurt,{w=0.1} right?{w=0.5}{nw}" - extend 1nchsm " Ahaha." + extend 4uchbgl " You can check out my website {a=[jn_globals.LINK_JN_GITHUB]}here{/a}!" + n 3nsqbg "A little look can't hurt,{w=0.1} right?{w=0.5}{nw}" + extend 3nchsm " Ahaha." if Natsuki.isLove(higher=True): $ chosen_endearment = jn_utils.getRandomEndearment() @@ -5877,77 +5879,77 @@ label talk_realizations_player_ddlc_actions: extend 1nnmbo " [player]." n 1ulraj "I've...{w=0.3} been having some thoughts.{w=0.5}{nw}" extend 1nllss " Now I've actually had some time to process all of..." - n 1kslsl "...This." + n 2kslsl "...This." n 1unmaj "You've been here all this time,{w=0.1} right?{w=0.5}{nw}" - extend 1tslbo " But then,{w=0.1} that would mean..." - n 1tslbo "The guy who actually joined the club...{w=0.5}{nw}" + extend 2tslbo " But then,{w=0.1} that would mean..." + n 4tsqfr "The guy who actually joined the club...{w=0.5}{nw}" extend 1nlrss " whatever his name was." - n 1fsrbo "He wasn't {i}actually{/i} in control of anything,{w=0.1} was he?{w=0.5}{nw}" + n 2fsrbo "He wasn't {i}actually{/i} in control of anything,{w=0.1} was he?{w=0.5}{nw}" extend 1ulraj " Not even himself." n 1nnmsr "...You were.{w=0.5}{nw}" - extend 1nlrsl " In control of him,{w=0.1} I mean." + extend 4nlrsl " In control of him,{w=0.1} I mean." n 1nsrbo "..." # We assume the player romanced Natsuki, until we get import scripts n 1nsraj "So...{w=0.3} if he was being that nice to me..." - n 1klrajl "T-{w=0.1}then that would mean...{w=0.5}{nw}" + n 2klrajl "T-{w=0.1}then that would mean...{w=0.5}{nw}" if Natsuki.isLove(higher=True): - n 1klrsml "..." + n 2klrsml "..." n 1kcsssl "Heh,{w=0.1} what am I even saying.{w=0.5}{nw}" extend 1kwmsml " Just because you clicked stuff {w=0.1}-{w=0.1} {i}when you were allowed,{w=0.1} anyway{/i} {w=0.1}-{w=0.1} doesn't make you the same." n 1tllssl "Either way,{w=0.1} [player]?" - n 1ksqsml "I'm definitely not complaining.{w=0.5}{nw}" - extend 1nchsml " Ehehe." + n 4ksqsml "I'm definitely not complaining.{w=0.5}{nw}" + extend 4nchsml " Ehehe." else: extend 1fskeml " -urk!" - n 1fcsanf "Nnnnn-!" + n 2fcsanf "Nnnnn-!" n 1fllunf "..." - n 1fnmssl "A-{w=0.5}{nw}" - extend 1fcsbgl "ha!" - n 1fcsbsl "Haha!{w=2}{nw}" + n 2fnmssl "A-{w=0.5}{nw}" + extend 2fcsbgl "ha!" + n 4fcsbsl "Haha!{w=2}{nw}" extend 1flleml " What am I even saying?!" - n 1fcswrl "J-{w=0.1}just because you picked some words and clicked a few buttons doesn't make you the same!" - n 1fllpol "..." + n 2fcswrl "J-{w=0.1}just because you picked some words and clicked a few buttons doesn't make you the same!" + n 2fllpol "..." n 1nlleml "A-{w=0.1}although..." if Natsuki.isEnamored(higher=True): - n 1fcsajl "Don't think I'm complaining or anything like that.{w=0.5}{nw}" - extend 1nlrssl " Ehehe..." + n 3fcsajl "Don't think I'm complaining or anything like that.{w=0.5}{nw}" + extend 3nlrssl " Ehehe..." elif Natsuki.isHappy(higher=True): n 1fcsajl "You're already proving that well enough.{w=0.5}{nw}" - extend 1fllunl " I-{w=0.1}I think." + extend 2fllunl " I-{w=0.1}I think." else: n 1fcsajl "I-{w=0.1}I guess that at {i}least{/i} means you have good taste.{w=0.5}{nw}" - extend 1fllunl " I suppose that counts for something." + extend 2fllunl " I suppose that counts for something." if Natsuki.isLove(higher=True): n 1klrss "But yeah,{w=0.1} so..." elif Natsuki.isEnamored(higher=True): - n 1ksrss "A-{w=0.1}anyway..." + n 4ksrss "A-{w=0.1}anyway..." elif Natsuki.isHappy(higher=True): - n 1flrun "A-{w=0.1}anyway." + n 2flrun "A-{w=0.1}anyway." else: - n 1flrun "A-{w=0.1}anyway!{w=0.5}{nw}" + n 2flrun "A-{w=0.1}anyway!{w=0.5}{nw}" extend 1fcsaj " That's beside the point!" n 1kslsr "..." n 1ullaj "I guess what I'm trying to say is I still have all these memories of {i}that{/i} guy..." - n 1nsrpu "And although he obviously wasn't you,{w=0.5}{nw}" - extend 1tsraj " you kinda have {i}his{/i} memories too?{w=0.5}{nw}" + n 2nsrpu "And although he obviously wasn't you,{w=0.5}{nw}" + extend 4tsraj " you kinda have {i}his{/i} memories too?{w=0.5}{nw}" extend 1tslem " And..." n 1fcsaj "...and..." - n 1fcsan "..." + n 2fcsan "..." n 1fcsem "Rrrgh,{w=0.1}{w=0.5}{nw}" - extend 1fllem " this is so confusing!" - n 1fcsemesi "Ugh...{w=0.5}{nw}" - extend 1nnmpo " you know what?" + extend 4fllem " this is so confusing!" + n 2fcsemesi "Ugh...{w=0.5}{nw}" + extend 2nnmpo " you know what?" if Natsuki.isAffectionate(higher=True): n 1nllss "It doesn't really matter at this point,{w=0.1} does it?" @@ -5957,7 +5959,7 @@ label talk_realizations_player_ddlc_actions: extend 1unmaj " Mentally,{w=0.1} I mean." n 1ncsaj "He was here {i}then{/i}." - n 1fcssm "You are here {i}now{/i}." + n 3fcssm "You are here {i}now{/i}." if Natsuki.isAffectionate(higher=True): n 1fchbg "And that's all there is to it." @@ -5965,17 +5967,17 @@ label talk_realizations_player_ddlc_actions: if Natsuki.isLove(higher=True): extend 1fchsm " Yep." n 1uchsml "Love you,{w=0.1} generic protag-{w=0.3}{nw}" - n 1fllbgl "I mean,{w=0.5}{nw}" - extend 1kchbgl " {i}[player]~{/i}." + n 3fllbgl "I mean,{w=0.5}{nw}" + extend 3kchbgl " {i}[player]~{/i}." n 1fsqsml "..." $ chosen_tease = jn_utils.getRandomTease() - n 1uchbsl "Oh,{w=0.1} lighten up,{w=0.1} [chosen_tease]!" + n 4uchbsl "Oh,{w=0.1} lighten up,{w=0.1} [chosen_tease]!" n 1fwrtsl "You should know I'd never mean it.{w=0.5}{nw}" - extend " Ehehe." + extend 1fchctleme " Ehehe." else: n 1fllss "I-{w=0.1}I just gotta adjust,{w=0.5}{nw}" - extend 1fllun " that's all." + extend 2fllun " that's all." return @@ -6000,64 +6002,64 @@ init 5 python: ) label talk_realizations_other_girls: - n 1kllun "..." + n 2kllun "..." n 1klrbo "Uhmm..." - n 1knmaj "Hey...{w=0.3} [player]?" + n 4knmaj "Hey...{w=0.3} [player]?" n 1knmsf "I've...{w=0.3} been thinking again.{w=0.5}{nw}" extend 1kllsf " About before." - n 1kslss "I guess I really was onto something when I said Monika was acting weird." + n 2kslss "I guess I really was onto something when I said Monika was acting weird." n 1kskem "D-{w=0.1}don't get me wrong!{w=0.5}{nw}" extend 1kllsf " I'm not happy about being right or anything.{w=0.5}{nw}" - extend 1kwmsr " ...At all." + extend 4kwmsr " ...At all." n 1kcssr "In fact..." - n 1klrpu "I really wish that I was wrong." + n 2klrpu "I really wish that I was wrong." n 1knmaj "I-" n 1kcsunl "..." - n 1kplun "I honestly just thought it was all the school work and the festival stuff getting to her,{w=0.5}{nw}" + n 2kplun "I honestly just thought it was all the school work and the festival stuff getting to her,{w=0.5}{nw}" extend 1kslpu " or something." n 1tslpu "But...{w=0.5}{nw}" - extend 1kplsr " in hindsight?" + extend 4kplsr " in hindsight?" n 1klrun "..." n 1kcsaj "...I think I actually got off {i}lightly{/i}." - n 1knmsl "I mean...{w=0.3} she messed with all of us.{w=0.5}{nw}" - extend 1klrsf " In some way or another." + n 3knmsl "I mean...{w=0.3} she messed with all of us.{w=0.5}{nw}" + extend 3klrsf " In some way or another." n 1klraj "But...{w=0.5}{nw}" - extend 1fcsupl " I just didn't know how much she {i}hurt{/i} everyone else..." + extend 2fcsupl " I just didn't know how much she {i}hurt{/i} everyone else..." n 1fcsunl "..." - n 1kplunl "Sayori was the happiest person I thought I knew,{w=0.1} [player]." + n 4kplunl "Sayori was the happiest person I thought I knew,{w=0.1} [player]." n 1kskunl "A-{w=0.1}and Yuri...{w=0.5}{nw}" - extend 1kllupl " I don't..." + extend 2kllupl " I don't..." n 1kcsupl "..." n 1fcsunl "..." n 1kcsaj "...Sorry." n 1kcssr "..." - n 1kllpu "I...{w=2}{nw}" - extend 1knmsr " we never saw eye-to-eye.{w=0.2} I always knew she had her insecurities." + n 2kllpu "I...{w=2}{nw}" + extend 2knmsr " we never saw eye-to-eye.{w=0.2} I always knew she had her insecurities." n 1kslbo "...So did I." n 1kcsanl "But...{w=0.3} {i}that{/i}..." n 1kcsunl "..." n 1kcspu "..." - n 1fcsanl "I...{w=1} don't...{w=1} hate...{w=0.5} Monika." + n 2fcsanl "I...{w=1} don't...{w=1} hate...{w=0.5} Monika." n 1fcsun "I...{w=0.3} understand how she felt.{w=0.2} I {i}know{/i} how she felt." - n 1fsqsr "It's {i}terrifying{/i},{w=0.1} [player]." + n 4fsqsr "It's {i}terrifying{/i},{w=0.1} [player]." n 1kcsanl "But I'll never understand why she felt she had to do {i}that{/i}.{w=1}{nw}" - extend 1kplpu " Surely...{w=0.3} there was another way?" + extend 4kplpu " Surely...{w=0.3} there was another way?" n 1kllsl "..." - n 1kcspu "...I don't know.{w=0.5}{nw}" - extend " I guess I should just be glad she deleted me before..." - n 1kskun "B-{w=0.5}before..." + n 2kcspu "...I don't know.{w=0.5}{nw}" + extend 2kslsssbl " I guess I should just be glad she deleted me before..." + n 1kskuni "B-{w=0.5}before..." n 1kcsun "..." - n 1kslun "Uhmm..." + n 2kslun "Uhmm..." n 1kcspu "...Sorry.{w=0.2} I really don't wanna talk about all this any more,{w=0.1} [player]." - n 1kllsrl "But...{w=0.3} thanks.{w=0.5}{nw}" - extend 1flrpol " F-{w=0.1}for listening,{w=0.1} I mean." + n 4kllsrl "But...{w=0.3} thanks.{w=0.5}{nw}" + extend 4flrpol " F-{w=0.1}for listening,{w=0.1} I mean." if Natsuki.isAffectionate(higher=True): - n 1klrpol "..." + n 2klrpol "..." n 1kcspul "...And for rescuing me too." if Natsuki.isLove(higher=True): - n 1kwmsml "I'll never,{w=0.1} ever forget that,{w=0.1} [player]." + n 4kwmsml "I'll never,{w=0.1} ever forget that,{w=0.1} [player]." else: n 1ncspu "..." @@ -6088,31 +6090,31 @@ init 5 python: label talk_realizations_space_classroom: n 1kllsr "Uhmm..." n 1klrpu "So,{w=0.1} this room..." - n 1nsrss "I...{w=0.3} still haven't actually left it.{w=0.5}{nw}" - extend 1tnmsl " Since you brought me back and all." + n 2nsrss "I...{w=0.3} still haven't actually left it.{w=0.5}{nw}" + extend 2tnmsl " Since you brought me back and all." n 1fllssl "I-{w=0.1}I mean,{w=0.5}{nw}" - extend 1fcseml " it's not like I can't!" - extend 1unmbo " I'm actually pretty sure I could." + extend 4fcseml " it's not like I can't!" + extend 4unmbo " I'm actually pretty sure I could." n 1kllsf "It's just...{w=0.5}{nw}" extend 1knmaj " I have no idea what would happen!" - n 1tllaj "Would I like...{w=0.3} break?{w=0.5}{nw}" - extend 1tnmun " Or just stop existing?" - extend 1kskem " Could I even {i}come{/i} back?!" + n 2tllaj "Would I like...{w=0.3} break?{w=0.5}{nw}" + extend 2tnmun " Or just stop existing?" + extend 4kskem " Could I even {i}come{/i} back?!" n 1klrun "..." n 1kcspu "I miss my bed,{w=0.1} [player].{w=1}{nw}" - extend 1knmem " I miss having blankets and pillows!{w=1}{nw}" - extend 1ksrsr " And all my stuff." + extend 2knmem " I miss having blankets and pillows!{w=1}{nw}" + extend 2ksrsr " And all my stuff." n 1kcssr "Even if it doesn't exist anymore.{w=0.5}{nw}" - extend 1tslaj " Never existed at all?{w=0.5}{nw}" + extend 2tslaj " Never existed at all?{w=0.5}{nw}" extend 1kcsem " Whatever." n 1kllsr "But..." - n 1ksqun "I really don't feel like taking a chance and finding out what would happen if I left.{w=0.5}{nw}" - extend 1flrsl " Not yet." + n 4ksqun "I really don't feel like taking a chance and finding out what would happen if I left.{w=0.5}{nw}" + extend 2flrsl " Not yet." n 1kcssf "..." n 1kcspu "Just...{w=0.5}{nw}" - extend 1fcsaj " give me some time,{w=0.1} alright?{w=0.5}{nw}" + extend 3fcsaj " give me some time,{w=0.1} alright?{w=0.5}{nw}" extend 1fnmbo " I'll try and think of something soon." - n 1kllpo "I don't exactly wanna be stuck here either,{w=0.1} after all..." + n 3kllpo "I don't exactly wanna be stuck here either,{w=0.1} after all..." return @@ -6133,23 +6135,23 @@ init 5 python: label talk_fear_of_lightning: if Natsuki.isAffectionate(higher=True): - n 1fllpol "..." + n 2fllpol "..." n 1fllajl "...So?" - n 1fcseml "I-{w=0.1}I mean,{w=0.5}{nw}" - extend 1flreml " I'm {i}obviously{/i} not,{w=0.5}{nw}" - extend 1knmpol " but so what even if I was?" + n 2fcseml "I-{w=0.1}I mean,{w=0.5}{nw}" + extend 2flreml " I'm {i}obviously{/i} not,{w=0.5}{nw}" + extend 2knmpol " but so what even if I was?" elif Natsuki.isNormal(higher=True): n 1fllwrl "N-{w=0.1}no!{w=0.5}{nw}" - extend 1fcspol " Where'd you get that idea from?" - n 1kslpol "I'm not afraid of lightning..." + extend 2fcspol " Where'd you get that idea from?" + n 2kslpol "I'm not afraid of lightning..." n 1fsrbo "..." n 1tsrpu "And come to think of it...{w=0.5}{nw}" - extend 1tnmpo " why would you even {i}ask{/i} that?" + extend 4tnmpo " why would you even {i}ask{/i} that?" if get_topic("talk_favourite_season").shown_count > 0: n 1tllss "I gotta say,{w=0.1} [player] {w=0.1}-{w=0.3}{nw}" - extend 1tsqss " you've got a weird knack for asking me random stuff,{w=0.1} huh?" + extend 3tsqss " you've got a weird knack for asking me random stuff,{w=0.1} huh?" else: n 1tllss "It's a pretty random thing to ask,{w=0.1} I gotta say." @@ -6158,64 +6160,64 @@ label talk_fear_of_lightning: elif Natsuki.isDistressed(higher=True): n 1fllpu "...And even if I {i}was{/i},{w=0.5}{nw}" - extend 1fsqsr " do you {i}really{/i} think I'd want to share that with {i}you{/i} right now?" - n 1fsqem "Like,{w=0.1} {i}seriously{/i} [player]?{w=0.5}{nw}" - extend 1fcsem " Cut me a break." + extend 2fsqsr " do you {i}really{/i} think I'd want to share that with {i}you{/i} right now?" + n 2fsqem "Like,{w=0.1} {i}seriously{/i} [player]?{w=0.5}{nw}" + extend 2fcsem " Cut me a break." n 1fcssr "..." n 1fcsem "Besides,{w=0.5}{nw}" - extend 1fllsr " I've seen the numbers from when I studied." - n 1fsqpu "You'd have to be an idiot {i}not{/i} to at least wary of it." + extend 2fllsr " I've seen the numbers from when I studied." + n 4fsqpu "You'd have to be an idiot {i}not{/i} to at least wary of it." return else: n 1fcsan "Oh,{w=1.5}{nw}" - extend 1fcsfultsaean " {i}{cps=\7.5}get lost{/cps}{/i},{w=0.3} [player]." + extend 2fcsfultsaean " {i}{cps=\7.5}get lost{/cps}{/i},{w=0.3} [player]." n 1fsqanltseean "As if I'd want to talk about anything uncomfortable with the likes of {b}you{/b}!" return - n 1uwdem "Lightning is no joke,{w=0.1} [player]!" + n 4uwdem "Lightning is no joke,{w=0.1} [player]!" n 1fllun "..." n 1knmem "...What?{w=1}{nw}" - extend 1fllpo " I'm serious!" + extend 2fllpo " I'm serious!" n 1knmun "Have you {i}seen{/i} the numbers on lightning?" n 1nnmaj "A typical strike is like 300 {i}million{/i} volts!{w=0.5}{nw}" - extend 1uwdaj " With about 30 thousand amps!{w=1.5}{nw}" - extend 1nllan " Yeesh!" + extend 4uwdaj " With about 30 thousand amps!{w=1.5}{nw}" + extend 2nllan " Yeesh!" n 1nsqun "...And for perspective?{w=0.5}{nw}" extend 1tsqpu " The current in your home?" - n 1nsrss "Around 120-{w=0.1}230 volts.{w=1.5}{nw}" + n 2nsrss "Around 120-{w=0.1}230 volts.{w=1.5}{nw}" extend 1nsqun " ...15-{w=0.1}30 amps." - n 1fspgs "That's one {i}hell{/i} of a lotta juice!" + n 4fspgs "That's one {i}hell{/i} of a lotta juice!" n 1klrpu "A-{w=0.1}and it just falls out of the sky!{w=0.5}{nw}" - extend 1knmaj " Constantly!" - n 1fsqaj "And I mean {i}constantly{/i},{w=0.1} [player] {w=0.1}-{w=0.3}{nw}" - extend 1nllan " 44 strikes every {i}second{/i}!" + extend 2knmaj " Constantly!" + n 2fsqaj "And I mean {i}constantly{/i},{w=0.1} [player] {w=0.1}-{w=0.3}{nw}" + extend 2nllan " 44 strikes every {i}second{/i}!" n 1fsqun "Then there's the sound,{w=0.1} too!{w=0.5}{nw}" - extend 1kslun " Especially if its close!" + extend 4kslun " Especially if its close!" if get_topic("talk_thoughts_on_horror").shown_count > 0: - n 1fllsr "I mean,{w=0.1} I'm pretty sure I told you before that I hate cheap jumpscares." + n 2fllsr "I mean,{w=0.1} I'm pretty sure I told you before that I hate cheap jumpscares." n 1fbkwrl "So how do you think I feel about {i}nature{/i} trying to pull that crap?!" else: n 1fbkwrl "It's such a cheap fright!" - n 1fcsaj "Jeez..." + n 2fcsaj "Jeez..." n 1fllss "But yeah,{w=0.1} a-{w=0.1}anyway." - n 1unmaj "I'll spare you a lecture on staying safe in lightning storms.{w=0.5}{nw}" - extend 1fsrss " You should {i}really{/i} know all that by now anyway." + n 4unmaj "I'll spare you a lecture on staying safe in lightning storms.{w=0.5}{nw}" + extend 4fsrss " You should {i}really{/i} know all that by now anyway." n 1ulraj "But..." - n 1fsqsg "I just have one question for you,{w=0.1} [player]." + n 3fsqsg "I just have one question for you,{w=0.1} [player]." if preferences.get_volume("sfx") == 0: # Player has sound disabled, so we skip the prank - n 1fsqss "Are {i}you{/i} scared of lightning?" + n 3fsqss "Are {i}you{/i} scared of lightning?" n 1tsqsm "..." n 1fsqbg "What?" - n 1usqsg "I'm allowed to ask too,{w=0.1} aren't I?{w=0.5}{nw}" - extend 1nchgn " Ehehe." + n 4usqsg "I'm allowed to ask too,{w=0.1} aren't I?{w=0.5}{nw}" + extend 4nchgn " Ehehe." else: # We store the current sfx preference so we don't mess up the player's settings with the prank @@ -6229,13 +6231,13 @@ label talk_fear_of_lightning: with Fade(.1, 0.25, .1, color="#fff") $ preferences.set_volume("sfx", previous_sfx_setting) - n 1uchgn "..." - n 1kchbg "Sorry,{w=0.1} sorry!{w=0.5}{nw}" + n 3uchgnelg "..." + n 3kchbg "Sorry,{w=0.1} sorry!{w=0.5}{nw}" extend 1fchsm " I had to!{w=0.5}{nw}" extend 1kchbg " I just {i}had{/i} to!" - n 1nsqsm "Ehehe." + n 4nsqsm "Ehehe." n 1tsqss "Well,{w=0.5}{nw}" - extend 1fchtsl " they don't call it a thunder-{w=0.5}{i}clap{/i}{w=0.5} for nothing!~" + extend 3fchtsl " they don't call it a thunder-{w=0.5}{i}clap{/i}{w=0.5} for nothing!~" return @@ -6268,16 +6270,16 @@ label talk_fighting_drowsiness: n 1fcsbo "..." n 1nsqpu "Mmmmm...{w=0.5}{nw}" extend 1tsqsr " mmmnn?" - n 1uskemesh "...!{w=0.5}{nw}" - n 1ullwrl "W-{w=0.1}woah!{w=0.5}{nw}" - extend 1flrss " Ahaha..." + n 4uskemesh "...!{w=0.5}{nw}" + n 2ullwrl "W-{w=0.1}woah!{w=0.5}{nw}" + extend 2flrss " Ahaha..." n 1nsrss "I...{w=0.3} haven't been getting much sleep here,{w=0.1} as you can guess." n 1kcsun "Uuuuuu...{w=0.5}{nw}" extend 1kslpu " I gotta wake up..." n 1kcssr "..." - n 1unmbo "You know what?{w=0.5}{nw}" + n 4unmbo "You know what?{w=0.5}{nw}" extend 1ullss " I'll just...{w=1}{nw}" - extend 1nslss " be right back...{w=1}{nw}" + extend 2nslss " be right back...{w=1}{nw}" play audio chair_out_in with Fade(out_time=0.25,hold_time=5,in_time=0.25, color="#000000") @@ -6285,60 +6287,60 @@ label talk_fighting_drowsiness: n 1nchbg "Okaaay!{w=0.5}{nw}" extend 1fchsm " We're back in business!" n 1nnmaj "I'll tell you,{w=0.1} [player].{w=0.5}{nw}" - extend 1fchbg " If there's one thing I know,{w=0.1} it's how to shake off the drowsiness!" + extend 3fchbg " If there's one thing I know,{w=0.1} it's how to shake off the drowsiness!" n 1fsqsm "..." - n 1fsqss "Oho?{w=0.5}{nw}" - extend 1tsqaj " And what's that I hear?{w=0.5}{nw}" - extend 1tllss " How do I do it,{w=0.1} you ask?" + n 1fsqcs "Oho?{w=0.5}{nw}" + extend 3tsqaj " And what's that I hear?{w=0.5}{nw}" + extend 3tllss " How do I do it,{w=0.1} you ask?" n 1fsqsg "Ehehe.{w=0.5}{nw}" - extend 1usqsg " Well aren't {i}you{/i} in luck,{w=0.1} [player].{w=0.5} 'Cause..." + extend 3usqsg " Well aren't {i}you{/i} in luck,{w=0.1} [player].{w=0.5} 'Cause..." n 1uchgn "It's time for a Natsuki pro-tip!" - n 1fnmaj "So!{w=0.2} First order of business...{w=0.5}{nw}" + n 4fnmaj "So!{w=0.2} First order of business...{w=0.5}{nw}" extend 1fcsbg " hydration,{w=0.1} obviously!" n 1ullaj "It's actually pretty easy to forget how much fluid you need per day...{w=0.5}{nw}" extend 1unmbo " and how {i}often{/i} you should be drinking!" - n 1tlrss "You should be taking in something like six to eight glasses of water a day,{w=0.3}{nw}" + n 2tlrss "You should be taking in something like six to eight glasses of water a day,{w=0.3}{nw}" extend 1fcsaj " but not all at once!" n 1ullaj "It isn't hard to space it out through the whole day {w=0.1}-{w=0.1} just start early and keep at it.{w=0.5}{nw}" - extend 1fchsm " Easy peasy!" - n 1fnmaj "Next up: exercise!" + extend 3fchsm " Easy peasy!" + n 4fnmaj "Next up: exercise!" n 1tsqsm "Yeah,{w=0.1} yeah.{w=0.2} I know,{w=0.1} I know.{w=0.5}{nw}" - extend 1fslss " We all just {i}love it{/i},{w=0.1} don't we?" + extend 2fslss " We all just {i}love it{/i},{w=0.1} don't we?" n 1unmaj "Don't think you have to go crazy or anything though -{w=0.5}{nw}" - extend 1flrbg " I sure don't!" + extend 2flrbg " I sure don't!" n 1unmbo "People {i}say{/i} an hour a day is good,{w=0.5}{nw}" - extend 1fnmca " but honestly even a lap around the house trumps sitting on your butt,{w=0.1} [player]." - n 1fcsss "It's just about moving around and giving your muscles a stretch,{w=0.1} that's all." + extend 4fnmca " but honestly even a lap around the house trumps sitting on your butt,{w=0.1} [player]." + n 3fcsss "It's just about moving around and giving your muscles a stretch,{w=0.1} that's all." n 1ulrpu "Lastly,{w=0.5}{nw}" - extend 1fsqsm " and I {i}know{/i} you'll like this one,{w=0.1} [player]..." - n 1fchgn "...Food!" + extend 4fsqsm " and I {i}know{/i} you'll like this one,{w=0.1} [player]..." + n 3fchgn "...Food!" n 1fllem "Of course you're gonna feel like crap if you aren't eating enough!" - n 1kllsr "...And trust me on this one.{w=0.5}{nw}" - extend 1ksrpu " I would know." + n 2kllsr "...And trust me on this one.{w=0.5}{nw}" + extend 2ksrpu " I would know." n 1ksrun "..." - n 1fcsajl "A-{w=0.1}anyway!" - n 1fnmca "You wouldn't expect a car to run without fuel {w=0.1}-{w=0.1} and you're no different,{w=0.1} [player]." + n 3fcsajl "A-{w=0.1}anyway!" + n 4fnmca "You wouldn't expect a car to run without fuel {w=0.1}-{w=0.1} and you're no different,{w=0.1} [player]." n 1ullaj "Don't go crazy though.{w=0.5}{nw}" extend 1nlrpu " Just grab an apple or something.{w=0.5}{nw}" - extend 1fsqpo " Don't cheap out on your body with processed crap all the time." - n 1tsqpo "...Or you'll feel like that too." + extend 3fsqpo " Don't cheap out on your body with processed crap all the time." + n 3tsqpo "...Or you'll feel like that too." n 1fchbg "But...{w=0.3} yeah!{w=0.5}{nw}" extend 1fchsm " That just about covers it!" n 1unmbg "So,{w=0.1} I-{w=0.5}{nw}" n 1nnmss "I...{w=1}{nw}" - n 1nsqsr "...{w=2}{nw}" - n 1fsqaj "[player]." - n 1fsqpo "Were you actually listening?{w=0.5}{nw}" + n 2nsqsr "...{w=2}{nw}" + n 4fsqaj "[player]." + n 3fsqpo "Were you actually listening?{w=0.5}{nw}" extend 1fnmem " You {i}better{/i} not be dozing off on me!" - n 1fllpo "..." - n 1fsqss "...Or I really {i}will{/i} put you to sleep.{w=0.5}{nw}" - extend 1fchgn " Ehehe." + n 2fllpo "..." + n 4fsqss "...Or I really {i}will{/i} put you to sleep.{w=0.5}{nw}" + extend 3fchgn " Ehehe." if Natsuki.isLove(higher=True): - n 1uchtsl "Love you too,{w=0.1} [player]!~" + n 3uchtsl "Love you too,{w=0.1} [player]!~" elif Natsuki.isAffectionate(higher=True): - n 1fchts "You're welcome,{w=0.1} [player]!~" + n 1fchss "You're welcome,{w=0.1} [player]!~" return @@ -6361,92 +6363,92 @@ init 5 python: label talk_fear_of_spiders: if Natsuki.isNormal(higher=True): n 1tnmbo "Huh?{w=0.5} Spiders?" - n 1tslss "I mean...{w=0.5}{nw}" - extend 1tnmss " not...{w=1} really?" - n 1nchgn "Pffff-!" + n 2tslss "I mean...{w=0.5}{nw}" + extend 2tnmss " not...{w=1} really?" + n 1nchgnesm "Pffff-!" n 1fchbg "What?" - n 1ullaj "You thought that because I wrote a poem about them being nasty and gross,{w=0.5}{nw}" - extend 1tnmaj " that I'd {i}actually{/i} think that?" + n 3ullaj "You thought that because I wrote a poem about them being nasty and gross,{w=0.5}{nw}" + extend 3tnmaj " that I'd {i}actually{/i} think that?" $ chosen_tease = jn_utils.getRandomTease() - n 1fslpo "I even {w=0.3}{i}said{/i}{w=0.3} the spider thing was a metaphor,{w=0.1} [chosen_tease]!{w=0.5}{nw}" - extend 1fsqts " Remember?" + n 4fslpo "I even {w=0.3}{i}said{/i}{w=0.3} the spider thing was a metaphor,{w=0.1} [chosen_tease]!{w=0.5}{nw}" + extend 4fsqts " Remember?" elif Natsuki.isDistressed(higher=True): n 1fcsem "..." - n 1fcssr "No,{w=0.1} [player].{w=0.5}{nw}" - extend 1fsqsr " I am not afraid of spiders." + n 2fcssr "No,{w=0.1} [player].{w=0.5}{nw}" + extend 2fsqsr " I am not afraid of spiders." n 1fsqem "...And might I ask {i}why{/i} you feel entitled to know about my fears?" - n 1fcsan "Why the hell would I give you {i}more{/i} ammo to get on my nerves?" + n 2fcsan "Why the hell would I give you {i}more{/i} ammo to get on my nerves?" n 1fsrem "Ugh..." n 1fcssf "Yeah.{w=0.5}{nw}" - extend 1fsqpu " We're done talking here,{w=0.1} {i}[player]{/i}." + extend 2fsqpu " We're done talking here,{w=0.1} {i}[player]{/i}." return else: - n 1fcsan "...Are {i}you{/i} afraid of asking me dumb questions,{w=0.1} since you're the {i}last{/i} person I'd want to answer them for?!" + n 2fcsan "...Are {i}you{/i} afraid of asking me dumb questions,{w=0.1} since you're the {i}last{/i} person I'd want to answer them for?!" n 1fsqun "..." - n 1fslem "Yeah.{w=2}{nw}" - extend 1fsqemtsb " Apparently not,{w=0.1} huh?" - n 1fslanltsb "Jerk." + n 2fslem "Yeah.{w=2}{nw}" + extend 2fsqemtsb " Apparently not,{w=0.1} huh?" + n 4fslanltsb "Jerk." return if get_topic("talk_fear_of_lightning").shown_count > 0: n 1tslpu "And actually...{w=0.3} come to think of it..." - n 1tnmbo "This isn't the {i}first{/i} time you've randomly asked me if I'm scared of stuff." + n 2tnmbo "This isn't the {i}first{/i} time you've randomly asked me if I'm scared of stuff." n 1tsqsl "...Are you planning some dumb prank or something?" n 1fsqsm "Ehehe.{w=1.5}{nw}" extend 1nllss " Well,{w=0.1} whatever." n 1ullaj "I mean,{w=0.5}{nw}" - extend 1fnmaj " don't get me wrong!" - n 1ksrem "I wouldn't want them like...{w=0.3} {i}crawling{/i} over me or anything.{w=0.5}{nw}" - extend 1fcsfu " Ew!" - n 1fslun " I don't even want to {i}imagine{/i} that." + extend 3fnmaj " don't get me wrong!" + n 4ksrem "I wouldn't want them like...{w=0.3} {i}crawling{/i} over me or anything.{w=0.5}{nw}" + extend 2fcsfu " Ew!" + n 2fslun " I don't even want to {i}imagine{/i} that." n 1unmss "But spiders are awesome little guys!{w=1.5}{nw}" - extend 1nsrss " ...Mostly." + extend 4nsrss " ...Mostly." n 1unmbo "They get rid of the really annoying sorts of bugs,{w=0.1} like ones that bite or fly around constantly." n 1nnmaj "And some of them -{w=0.5}{nw}" - extend 1nslss " as weird as it feels to say -{w=0.5}{nw}" + extend 2nslss " as weird as it feels to say -{w=0.5}{nw}" extend 1ncspu " are{w=1} freaking{w=1.5}{nw}" - extend 1fspgsedz " {i}adorable{/i}!" - n 1uwdaj "Seriously!{w=1.5}{nw}" - extend 1uchbg " Jumping spiders are cuuuute!" + extend 4fspgsedz " {i}adorable{/i}!" + n 4uwdaj "Seriously!{w=1.5}{nw}" + extend 3uchbg " Jumping spiders are cuuuute!" n 1tnmss "So...{w=0.3} overall?{w=0.5}{nw}" extend 1ncssm " I'd call that a win for the spiders!" - n 1nslss "...Yeah,{w=0.1} yeah,{w=0.1} [player].{w=0.2} I know.{w=0.5}{nw}" - extend 1flrpo " I'm not naive!" + n 2nslss "...Yeah,{w=0.1} yeah,{w=0.1} [player].{w=0.2} I know.{w=0.5}{nw}" + extend 2flrpo " I'm not naive!" n 1nllun "I know some places have some really nasty types.{w=0.5}{nw}" - extend 1uskem " And I {i}wish{/i} I was kidding!" - n 1klrpu "Spiders are already sneaky,{w=0.1} so imagine living with ones that hide in your shoes,{w=0.1} or under your desk..." + extend 4uskem " And I {i}wish{/i} I was kidding!" + n 2klrpu "Spiders are already sneaky,{w=0.1} so imagine living with ones that hide in your shoes,{w=0.1} or under your desk..." n 1kskgs "That can put you in {i}hospital{/i} too!{w=0.5}{nw}" - extend 1kllan " Yeesh!" + extend 4kllan " Yeesh!" n 1ulrss "But...{w=0.5} they're in the minority,{w=0.1} at least.{w=1.5}{nw}" - extend 1nslun " Isn't {i}that{/i} a relief?" + extend 2nslun " Isn't {i}that{/i} a relief?" n 1ullaj "Well,{w=0.1} anyway." if Natsuki.isEnamored(higher=True): n 1nsqss "I guess that just leaves you,{w=0.1} then." - n 1usqsm "Are {i}you{/i} afraid of spiders?" - n 1fsqsm "Better think through your answer carefully,{w=0.1} [player]." - n 1fsldvl "You're already caught in {i}my{/i} web,{w=0.1} after all..." + n 3usqsm "Are {i}you{/i} afraid of spiders?" + n 3fsqsm "Better think through your answer carefully,{w=0.1} [player]." + n 3fsldvl "You're already caught in {i}my{/i} web,{w=0.1} after all..." if random.randint(0,10) == 1: n 1fchsml "Ahuhuhu.~" # Yes, this is a Muffet reference else: - n 1fsqsm "Ehehe." + n 4fsqsm "Ehehe." if Natsuki.isLove(higher=True): - n 1uchtsl "Love you,{w=0.1} [player]!~" + n 4uchtsl "Love you,{w=0.1} [player]!~" else: - n 1tnmss "You got your answer,{w=0.1} [player].{w=0.5}{nw}" + n 2tnmss "You got your answer,{w=0.1} [player].{w=0.5}{nw}" extend 1fllss " So..." n 1fllsm "I think that about{w=0.5}{nw}" - extend 1fsqss " {i}wraps{/i}{w=1}{nw}" - extend 1usqsm " up my thoughts on the subject." + extend 3fsqss " {i}wraps{/i}{w=1}{nw}" + extend 3usqsm " up my thoughts on the subject." n 1uchgn "Ehehe." return @@ -6470,58 +6472,58 @@ init 5 python: label talk_thoughts_on_dan_salvato: n 1tnmaj "Dan...?{w=1}{nw}" - extend 1nslsl " Dan...{w=0.5} Salvato..." + extend 2nslsl " Dan...{w=0.5} Salvato..." n 1fcsaj "Why...{w=0.3} is that name so...{w=0.5} familiar?" n 1fcsun "..." - n 1fskaj "...!" - n 1fsgaj "Oh..." + n 4fskaj "...!" + n 2fsgaj "Oh..." n 1nllpu "Heh.{w=0.3} Yeah...{w=1.5}{nw}" - extend 1fslan " {i}him{/i}." + extend 2fslan " {i}him{/i}." n 1fcsbo "..." n 1fplaj "I...{w=1}{nw}" - extend 1fcsan " I just don't understand him, [player]." + extend 2fcsan " I just don't understand him, [player]." n 1nsqbo "Like yeah,{w=1}{nw}" extend 1nslbo " sure,{w=0.5}{nw}" extend 1nsqaj " I get it." - n 1ncsbo "He's my creator.{w=1}{nw}" - extend 1kcsbo " Our creator." - n 1fskwr "But did he have any {i}idea{/i} what he was doing?!{w=1}{nw}" - extend 1fchwr " Any idea what he's responsible for?!" + n 2ncsbo "He's my creator.{w=1}{nw}" + extend 2kcsbo " Our creator." + n 4fskwr "But did he have any {i}idea{/i} what he was doing?!{w=1}{nw}" + extend 4fchwr " Any idea what he's responsible for?!" n 1fcsup "..." n 1fllup "Just...{w=1}{nw}" - extend 1fllfu " take...{w=0.5} Monika,{w=0.2} for example." + extend 2fllfu " take...{w=0.5} Monika,{w=0.2} for example." n 1fnmwr "Take {i}any{/i} of us!" n 1fcsfu "What we said,{w=0.3} what we did -{w=0.5}{nw}" - extend 1fcufu " what we {i}thought{/i} -{w=0.5}{nw}" - extend 1fnmfu " all of that was {i}his{/i} doing." - n 1fsqfu "He wrote the stories.{w=1}{nw}" - extend 1fsqaj " He typed up the code." + extend 2fcufu " what we {i}thought{/i} -{w=0.5}{nw}" + extend 2fnmfu " all of that was {i}his{/i} doing." + n 4fsqfu "He wrote the stories.{w=1}{nw}" + extend 4fsqaj " He typed up the code." n 1fskwr "...So what do I even {i}take{/i} from that, [player]?!" - n 1fchwr "That {i}his{/i} hands {b}killed{/b} my friends?" - n 1fchwrl "That {i}his{/i} hands {b}ruined{/b} my homelife?" + n 2fchwr "That {i}his{/i} hands {b}killed{/b} my friends?" + n 2fchwrl "That {i}his{/i} hands {b}ruined{/b} my homelife?" n 1fcuful "If not directly,{w=0.3} then through Monika." n 1fcsful "..." n 1fcsajl "He might not have {i}made{/i} the others do...{w=1}{nw}" - extend 1kcsajl " ...what they did." + extend 2kcsajl " ...what they did." n 1kcsfuf "But he sure as hell tied the noose..." - n 1fcsfuf "...forged the knife." + n 4fcsfuf "...forged the knife." n 1kskfuf "A-{w=0.2}and you!{w=0.5}{nw}" extend 1kskwrf " Did you even {i}know{/i} what you were in for?!" - n "What you'd {i}see{/i}?!" + n 2kslupf "What you'd {i}see{/i}?!" n 1kcsupf "..." n 1kcsajf "I...{w=1} don't know,{w=0.3} [player]." n 1kcsunf "..." n 1kcsanf "Seriously.{w=1}{nw}" - extend 1kplajf " I really don't." - n 1knmbol "I don't know him,{w=1}{nw}" - extend 1knmbol " and I probably never will." - n 1knmbo "...And that's probably the worst part,{w=0.3} too." - n 1kwdwr "D-{w=0.2}don't get me wrong!" + extend 2kplajf " I really don't." + n 2knmbol "I don't know him,{w=1}{nw}" + extend 2kslfrl " and I probably never will." + n 1ksqbo "...And that's probably the worst part,{w=0.3} too." + n 4kwdwr "D-{w=0.2}don't get me wrong!" extend 1kwdup " I don't want {i}anything{/i} to do with him!" - extend 1fnmbo " Like,{w=0.3} at {i}all{/i}." + extend 2fnmbo " Like,{w=0.3} at {i}all{/i}." n 1ncsbo "But...{w=1}{nw}" extend 1ncsaj " all these questions..." - n 1kcssr "I can only imagine what the answers would be." + n 2kcssr "I can only imagine what the answers would be." return @@ -6544,47 +6546,47 @@ label talk_custom_outfits_unlock: $ persistent.jn_custom_outfits_unlocked = True n 1nslpu "..." n 1usceml "...!" - n 1uskeml "I've...{w=0.5}{nw}" + n 4uskeml "I've...{w=0.5}{nw}" extend 1nllem " just realized something.{w=1}{nw}" - extend 1fslun " Something I {i}really{/i} don't like." + extend 2fslun " Something I {i}really{/i} don't like." n 1fbkwr "...And that's exactly how {i}long{/i} I've been stuck wearing the same bunch of clothing!{w=0.5}{nw}" - extend 1fcswr " G-{w=0.2}gross!" - n 1flrem "I mean...{w=1}{nw}" - extend 1fsqemsbl " would {i}you{/i} feel comfortable wearing the same clothes basically every single day?" + extend 2fcswr " G-{w=0.2}gross!" + n 4flrem "I mean...{w=1}{nw}" + extend 2fsqemsbl " would {i}you{/i} feel comfortable wearing the same clothes basically every single day?" n 1kslansbl "Yeesh!" - n 1fcsposbr "..." + n 2fcsposbr "..." n 1fcsajsbr "Well,{w=0.3}{nw}" extend 1fnmemsbr " you know what?{w=0.75}{nw}" - extend 1fcsgs " I'm done!" - n 1fcspol "I don't have to put up with this!" - n 1fsrpo "There's gotta be something I can do..." + extend 3fcsgs " I'm done!" + n 3fcspol "I don't have to put up with this!" + n 4fsrpo "There's gotta be something I can do..." n 1ncspu "..." n 1uwdaj "...Wait!{w=1.5}{nw}" - extend 1fllbg " Duh!{w=1.5}{nw}" - extend 1fcsbs " Of course!" + extend 3fllbg " Duh!{w=1.5}{nw}" + extend 3fcsbs " Of course!" n 1ulraj "It's not like I {i}never{/i} had any clothes other than what I had in my bag!" n 1nllpu "And with the closet here too...{w=0.75}{nw}" extend 1fllpu " plus the extra clothes in my locker..." - n 1ncssr "Hmm..." - n 1fchbg "Yeah,{w=0.1} okay!{w=1.5}{nw}" + n 3ncssr "Hmm..." + n 4fchbg "Yeah,{w=0.1} okay!{w=1.5}{nw}" extend 1nchsm " I think that should all work!" n 1nsqsm "..." - n 1uwdajesu "Oh!{w=0.3}{nw}" + n 4uwdajesu "Oh!{w=0.3}{nw}" extend 1unmca " Just to keep you in the loop,{w=0.1} [player]..." - n 1uchsmeme "I should be able to wear whatever I want now!" + n 3uchsmeme "I should be able to wear whatever I want now!" n 1nllbg "I've got a couple of outfits in mind already,{w=0.5}{nw}" - extend 1fcsbgedz " so it's not like I have any reason {i}not{/i} to show off some style." + extend 3fcsbgedz " so it's not like I have any reason {i}not{/i} to show off some style." n 1ulraj "So...{w=0.5}{nw}" - extend 1fcssm " don't be surprised if I wanna change my clothes from time to time,{w=0.1} alright?" + extend 4fcssm " don't be surprised if I wanna change my clothes from time to time,{w=0.1} alright?" n 1fsqsrl "A-{w=0.1}and no.{w=0.5}{nw}" - extend 1flleml " You're {i}not{/i} gonna see {i}anything{/i}." - n 1fslpol "I'm making {i}sure{/i} of that." + extend 2flleml " You're {i}not{/i} gonna see {i}anything{/i}." + n 2fslpol "I'm making {i}sure{/i} of that." n 1nslbo "..." n 1uslaj "But..." n 1unmbo "I guess I'd be open to suggestions." n 1ncsem "Just...{w=0.3} nothing embarrassing.{w=0.5}{nw}" - extend 1nsqpo " Got it?" - n 1nsrss "'preciated!" + extend 3nsqpo " Got it?" + n 3nsrss "'preciated!" n 1ulrbo "Now...{w=0.5}{nw}" extend 1tnmss " where were we?" @@ -6625,49 +6627,49 @@ label talk_maintaining_proper_hygiene: n 1nllsl "..." n 1ullaj "You know,{w=0.1} [player]..." n 1nllbo "I've been wondering...{w=0.5}{nw}" - extend 1tnmpu " are you actually taking care of yourself?" + extend 2tnmpu " are you actually taking care of yourself?" n 1nsqsr "Like...{w=0.3} are you keeping up with proper hygiene?" - n 1fnmpo "It's super important,{w=0.1} you know!" + n 3fnmpo "It's super important,{w=0.1} you know!" extend 1nslem " ...And not just because it's {i}actually{/i} gross if you don't." - n 1ulraj "It isn't just about being physically healthy," - extend 1fnmaj " but it actually helps with your mental health too!{w=1}{nw}" - n 1fllpo "I'm {i}serious{/i}!" + n 4ulraj "It isn't just about being physically healthy," + extend 4fnmaj " but it actually helps with your mental health too!{w=1}{nw}" + n 3fllpo "I'm {i}serious{/i}!" n 1klrss "If you're already having a hard time in the old braincase,{w=0.5}{nw}" - extend 1ksrsr " feeling gross physically as well as mentally isn't gonna help at all." + extend 2ksrsr " feeling gross physically as well as mentally isn't gonna help at all." n 1knmpu "We {i}both{/i} know someone who always looked scruffy,{w=0.1} [player].{w=1.5}{nw}" n 1kcssr "...And we both know how she felt." n 1kllun "..." - n 1fcseml "A-{w=0.1}anyway!{w=1}{nw}" - extend 1fnmpo " This is about {i}you{/i},{w=0.1} [player] -{w=0.5}{nw}" - extend 1fnmaj " so listen up!" + n 3fcseml "A-{w=0.1}anyway!{w=1}{nw}" + extend 3fnmpo " This is about {i}you{/i},{w=0.1} [player] -{w=0.5}{nw}" + extend 4fnmaj " so listen up!" n 1fcsbg "This is gonna be a Natsuki special on taking care of yourself!{w=0.5}{nw}" extend 1fcssm " Ehehe." n 1fcsaj "First of all,{w=0.1} shower {w=0.1}-{w=0.3}{nw}" - extend 1fnmaj " and {i}regularly{/i}!" + extend 3fnmaj " and {i}regularly{/i}!" n 1fllsl "If you skip showers,{w=0.1} you'll just constantly feel all gross and nasty.{w=0.5}{nw}" - extend 1tnmsr " And you know what that leads to?" - n 1nsgbo "Loss of motivation." + extend 4tnmsr " And you know what that leads to?" + n 2nsgbo "Loss of motivation." n 1fnmaj "And you know what {i}that{/i} leads to?" - n 1fcsem "...Not showering!{w=0.5}{nw}" - extend 1knmpo " See where I'm going here?" + n 2fcsem "...Not showering!{w=0.5}{nw}" + extend 2knmpo " See where I'm going here?" n 1nllaj "So...{w=0.5}{nw}" - extend 1fnmsl " just take the time to do it properly,{w=0.1} okay?" - n 1fllss "It doesn't {i}need{/i} to be some kind of spa ritual,{w=0.1} just whatever gets you clean." + extend 4fnmsl " just take the time to do it properly,{w=0.1} okay?" + n 3fllss "It doesn't {i}need{/i} to be some kind of spa ritual,{w=0.1} just whatever gets you clean." if Natsuki.isLove(higher=True): - n 1fslss "And besides,{w=0.5}{nw}" - extend 1fsrssl " I don't wanna get snug with you if you're all stinky." - n 1fnmpo "So you better stick at it,{w=0.1} [player]!" + n 4fslss "And besides,{w=0.5}{nw}" + extend 3fsrssl " I don't wanna get snug with you if you're all stinky." + n 3fnmpo "So you better stick at it,{w=0.1} [player]!" if persistent.jn_player_appearance_hair_length == "None": n 1fcsaj "Next up,{w=0.1} your head!" n 1ullpu "I know you said you didn't have any hair...{w=0.5}{nw}" - extend 1fsqbg " but that doesn't mean you can just slack off up top!" + extend 3fsqbg " but that doesn't mean you can just slack off up top!" n 1ulraj "You gotta make sure you keep your skin clean up there.{w=0.5}{nw}" - extend 1nsqun " Even if you don't have hair,{w=0.1} oil and all that stuff builds up." - n 1fcsem "Gross!" + extend 3nsqunsbl " Even if you don't have hair,{w=0.1} oil and all that stuff builds up." + n 4fcsem "Gross!" n 1ullaj "But at least it's easy to solve if you're showering regularly,{w=0.5}{nw}" - extend 1nnmbo " like I just said." + extend 3nnmbo " like I just said." else: n 1fcsaj "Next up,{w=0.1} your hair!" @@ -6676,47 +6678,47 @@ label talk_maintaining_proper_hygiene: n 1tllss "Assuming you {i}have{/i} any,{w=0.1} that is." n 1nsqbo "You're {i}not{/i} gonna feel good about your appearance if your hair constantly looks like a used mop." - n 1fchbg "So keep it clean,{w=0.1} and make sure you brush!{w=0.5}{nw}" + n 3fchbg "So keep it clean,{w=0.1} and make sure you brush!{w=0.5}{nw}" extend 1ullss " Or do whatever else your usual hairstyle needs {w=0.1}-{w=0.3}{nw}" - extend 1nnmbo " comb,{w=0.1} hairgel,{w=0.1} whatever." + extend 4nnmbo " comb,{w=0.1} hairgel,{w=0.1} whatever." n 1tnmpu "Remember what I just said about showering,{w=0.1} [player]?" - n 1fcsbo "The more you put it off,{w=0.1} the harder it is to do!{w=0.5}{nw}" - extend 1fnmem " And if it gets too gummed up,{w=0.1} you might even have to shave it off!" + n 3fcsbo "The more you put it off,{w=0.1} the harder it is to do!{w=0.5}{nw}" + extend 3fnmem " And if it gets too gummed up,{w=0.1} you might even have to shave it off!" n 1fsrbg "I don't wanna see you walking around like you just got an electric shock...{w=0.5}{nw}" - extend 1fchgn " ...or as bald as an egg!" + extend 4fchgn " ...or as bald as an egg!" if persistent.jn_player_appearance_hair_length == "Long": - n 1fspaj "And {i}especially{/i} since you've got such awesome long hair!{w=0.5}{nw}" - extend 1fllan " What a waste!" + n 4fspaj "And {i}especially{/i} since you've got such awesome long hair!{w=0.5}{nw}" + extend 2fllan " What a waste!" n 1ulraj "So...{w=1}{nw}" - extend 1fnmbo " take care of your hair too,{w=0.1} got it?" + extend 4fnmbo " take care of your hair too,{w=0.1} got it?" n 1fcssm "It's {i}just{/i} as important as the rest of you!" if get_topic("talk_natsukis_fang").shown_count > 0: n 1fcsaj "Finally,{w=0.1} brush your teeth!" n 1ullaj "I'll spare you the lecture this time,{w=0.5}{nw}" - extend 1nnmbo " since we already talked about it and all." - n 1nsqpu "...But you better not have forgotten about flossing,{w=0.1} [player]...{w=1.5}{nw}" - extend 1fsqsm " 'Cause I sure haven't!" + extend 3nnmbo " since we already talked about it and all." + n 4nsqpu "...But you better not have forgotten about flossing,{w=0.1} [player]...{w=1.5}{nw}" + extend 4fsqsm " 'Cause I sure haven't!" else: n 1fcsaj "Finally,{w=0.1} your teeth!{w=0.5}{nw}" - extend 1fsqpu " Now those are something you {i}really{/i} don't wanna skip out on,{w=0.1} [player]." - n 1kslan "Not only will your breath be {i}ghastly{/i}..." - n 1fbkwr "But you'll lose your teeth too!{w=0.5}{nw}" - extend 1flrun " Or at least end up with a bunch of fillings...{w=1}{nw}" + extend 3fsqpu " Now those are something you {i}really{/i} don't wanna skip out on,{w=0.1} [player]." + n 3kslan "Not only will your breath be {i}ghastly{/i}..." + n 4fbkwr "But you'll lose your teeth too!{w=0.5}{nw}" + extend 2flrun " Or at least end up with a bunch of fillings...{w=1}{nw}" extend 1ksqem " Expensive fillings!{w=1}{nw}" - extend 1fsran " Yeesh!" - n 1fsqpo "You'd {i}really{/i} have to be a dummy to prefer expensive treatments and a world of pain over a couple minutes of effort." + extend 2fsran " Yeesh!" + n 4fsqpo "You'd {i}really{/i} have to be a dummy to prefer expensive treatments and a world of pain over a couple minutes of effort." n 1flrss "And besides..." - n 1ksqsm "Who doesn't want a {i}blinding{/i} smile like me?" - n 1uchgn "You won't get {i}that{/i} with tooth decay!" + n 3ksqsm "Who doesn't want a {i}blinding{/i} smile like me?" + n 3uchgn "You won't get {i}that{/i} with tooth decay!" - n 1kllss "But seriously,{w=0.1} [player].{w=0.5}{nw}" - extend 1nsqsr " I {i}really{/i} don't want you flaking out on taking care of yourself." - n 1fsqsr "I mean it.{w=1.5}{nw}" - extend 1ksrpo " You deserve to feel and look good too." + n 4kllss "But seriously,{w=0.1} [player].{w=0.5}{nw}" + extend 4nsqsr " I {i}really{/i} don't want you flaking out on taking care of yourself." + n 2fsqsr "I mean it.{w=1.5}{nw}" + extend 2ksrpo " You deserve to feel and look good too." menu: n "Got it?" @@ -6727,14 +6729,14 @@ label talk_maintaining_proper_hygiene: "...": n 1nsqsr "..." - n 1tsqss "You...{w=0.3} really don't get how this all works,{w=0.1} do you?" + n 3tsqss "You...{w=0.3} really don't get how this all works,{w=0.1} do you?" n 1fcssm "Now,{w=0.1} repeat after me:{w=0.5}{nw}" extend 1fcsbg " 'I deserve to feel and look good too.'." menu: "I deserve to feel and look good too.": - n 1uchbg "See?{w=0.5}{nw}" - extend 1ksqsg " Was that {i}so{/i} hard?" + n 3uchbg "See?{w=0.5}{nw}" + extend 3ksqsg " Was that {i}so{/i} hard?" n 1fcssm "Ehehe." $ Natsuki.calculatedAffinityGain() @@ -6742,22 +6744,22 @@ label talk_maintaining_proper_hygiene: extend 1nnmss " That's about all I had to say." if Natsuki.isLove(higher=True): - n 1nsqss "And remember...{w=0.5}{nw}" - extend 1nsldvl " I'll love you forever if you keep it up!~" + n 4nsqss "And remember...{w=0.5}{nw}" + extend 3nsldvl " I'll love you forever if you keep it up!~" n 1fchsml "Ehehe." $ chosen_endearment = jn_utils.getRandomEndearment() - extend 1uchbgl " Thanks,{w=0.1} [chosen_endearment]!" + extend 4uchbgl " Thanks,{w=0.1} [chosen_endearment]!" elif Natsuki.isEnamored(higher=True): - n 1nslbgl "I {i}really{/i} like people who take care of themselves." - n 1fsqpol "You'd do well to remember that, [player]." + n 3nslbgl "I {i}really{/i} like people who take care of themselves." + n 4fsqpol "You'd do well to remember that, [player]." else: n 1fchbg "Thanks for hearing me out,{w=0.1} [player]!" n 1uslsg "...Or should I say..." - n 1usqbg "Thanks for letting me{w=0.5}{nw}" - extend 1fsqss " {i}clear{/i}{w=0.5}{nw}" - extend 1usqsm " that up?" + n 3usqbg "Thanks for letting me{w=0.5}{nw}" + extend 3fsqss " {i}clear{/i}{w=0.5}{nw}" + extend 3usqsm " that up?" n 1nchgnelg "Ahaha!" return @@ -6781,53 +6783,53 @@ init 5 python: label talk_feelings_about_monika: n 1fslsr "Monika." n 1kcsem "..." - n 1knmsl "...Honestly?" + n 2knmsl "...Honestly?" n 1nllsl "I...{w=1} don't know {i}how{/i} I feel about Monika.{w=1}{nw}" - extend 1kslpu " Not anymore." + extend 2kslpu " Not anymore." n 1nnmsl "I mean,{w=0.5}{nw}" - extend 1knmpu " what do I even {i}say{/i},{w=0.1} [player]?" - n 1flrpu "Yeah,{w=0.1} she would butt into my business sometimes.{w=1}{nw}" - extend 1fsrsf " I didn't like when she would be all high and mighty...{w=1}{nw}" - extend 1fslem " {i}or{/i} when she kept messing around with my stuff." + extend 4knmpu " what do I even {i}say{/i},{w=0.1} [player]?" + n 3flrpu "Yeah,{w=0.1} she would butt into my business sometimes.{w=1}{nw}" + extend 3fsrsf " I didn't like when she would be all high and mighty...{w=1}{nw}" + extend 3fslem " {i}or{/i} when she kept messing around with my stuff." n 1nllpu "But like...{w=0.5}{nw}" - extend 1knmpu " I was never actually {i}mad{/i} or anything..." + extend 4knmpu " I was never actually {i}mad{/i} or anything..." n 1fcsfr "Annoyed,{w=0.3} frustrated,{w=0.3} sure.{w=1}{nw}" - extend 1fllpu " Anyone would be!" - n 1kplem "But I looked up to her,{w=0.1} [player]!{w=1.5}{nw}" - extend 1kllun " We {i}all{/i} did..." + extend 2fllpu " Anyone would be!" + n 2kplem "But I looked up to her,{w=0.1} [player]!{w=1.5}{nw}" + extend 4kllun " We {i}all{/i} did..." n 1kcsun "..." n 1fcsun "She wasn't {i}just{/i} the club president,{w=0.1} or smart." - n 1fnmun "She was a role model.{w=1.5}{nw}" - extend 1klrpu " ...And my friend." + n 3fnmun "She was a role model.{w=1.5}{nw}" + extend 3klrpu " ...And my friend." n 1ksrpu "But...{w=0.5}{nw}" - extend 1knmem " that just makes it harder for me to understand,{w=0.1} [player]." + extend 4knmem " that just makes it harder for me to understand,{w=0.1} [player]." n 1fcssl "I mean...{w=0.5}{nw}" - extend 1fcsan " I...{w=1} know...{w=1} what she was dealing with.{w=1.5}{nw}" + extend 2fcsan " I...{w=1} know...{w=1} what she was dealing with.{w=1.5}{nw}" extend 1kslun " {i}I'm{/i} dealing with it right now!" - n 1kwdem "But...{w=0.3} did she seriously have to {i}torture{/i} us?" - n 1fcsem "I...{w=0.3} know...{w=0.3} we wouldn't have understood.{w=0.5}{nw}" - extend 1kslsr " {i}Couldn't{/i} have understood." + n 4kwdem "But...{w=0.3} did she seriously have to {i}torture{/i} us?" + n 2fcsem "I...{w=0.3} know...{w=0.3} we wouldn't have understood.{w=0.5}{nw}" + extend 2kslsr " {i}Couldn't{/i} have understood." n 1fcsan "Especially when Yuri and I were wrapped up in those stupid fights..." - n 1fnmsr "{i}I get that{/i}." - n 1klrpu "But if she was that desperate...{w=0.5}{nw}" + n 4fnmsr "{i}I get that{/i}." + n 2klrpu "But if she was that desperate...{w=0.5}{nw}" extend 1kcspu " couldn't she have just removed us all right from the start?{w=0.5}{nw}" - extend 1knmem " Or literally {i}anything{/i} else?" + extend 4knmem " Or literally {i}anything{/i} else?" n 1fcsfr "..." - n 1kcspu "I don't know,{w=0.1} [player].{w=1.5}{nw}" - extend 1knmca " I really don't." + n 2kcspu "I don't know,{w=0.1} [player].{w=1.5}{nw}" + extend 4knmca " I really don't." n 1ncssr "..." n 1nllpu "I guess..{w=1}{nw}" - extend 1tnmpu " maybe it was the isolation?" + extend 2tnmpu " maybe it was the isolation?" n 1nlrsl "She was always getting excluded from everything since you turned up...{w=1}{nw}" - extend 1nsrsr " I don't think she even {i}had{/i} a choice." - n 1knmsl "...Maybe the same thing would've happened to me?" + extend 2nsrsr " I don't think she even {i}had{/i} a choice." + n 4knmsl "...Maybe the same thing would've happened to me?" n 1fcseml "D-{w=0.1}don't get me wrong though!{w=0.5}{nw}" - extend 1flrem " I'm never gonna forget what she did...{w=0.5}{nw}" - extend 1fsrputsb " forgive what she did." + extend 3flrem " I'm never gonna forget what she did...{w=0.5}{nw}" + extend 3fsrputsb " forgive what she did." n 1nlrpu "But...{w=1}{nw}" - extend 1knmsr " she {i}was{/i} still my friend." + extend 4knmsr " she {i}was{/i} still my friend." n 1kllpu "So there's always gonna be a part of me that kinda wishes I {i}could{/i} forgive her." - n 1kllbol "...Maybe that's why I wanna understand her actions so badly." + n 2kllbol "...Maybe that's why I wanna understand her actions so badly." return @@ -6849,66 +6851,66 @@ init 5 python: label talk_feelings_about_yuri: n 1kllpul "...Oh man,{w=1} Yuri..." - n 1kcsuntsb "..." + n 2kcsuntsb "..." n 1ncspu "...I won't lie,{w=0.3} [player].{w=1.5}{nw}" - extend 1ksqfr " I really,{w=0.5} {i}really{/i} didn't want to think about...{w=1} {i}that{/i} again." + extend 4ksqfr " I really,{w=0.5} {i}really{/i} didn't want to think about...{w=1} {i}that{/i} again." n 1kcssl "..." n 1ksrpu "How do I even {i}explain{/i} this..." - n 1ncsem "Yuri and I were...{w=0.3} complicated.{w=1}{nw}" - extend 1kllss " Even {i}before{/i} you joined the club." + n 3ncsem "Yuri and I were...{w=0.3} complicated.{w=1}{nw}" + extend 3kllss " Even {i}before{/i} you joined the club." n 1nnmbo "We never fully saw eye-to-eye,{w=0.1} [player].{w=1.5}{nw}" - extend 1nslca " You probably guessed that already anyway." + extend 2nslca " You probably guessed that already anyway." n 1kwmpu "But we had an {i}understanding{/i},{w=0.1} you know?" n 1kllpul "She was...{w=1}{nw}" extend 1kcsunltsa " there...{w=1}{nw}" - extend 1fcsunltsa " for me." - n 1fsrunltsb "When I needed someone there the most.{w=1}{nw}" + extend 2fcsunltsa " for me." + n 2fsrunltsb "When I needed someone there the most.{w=1}{nw}" extend 1fnmem " When nobody else would get it...{w=1}{nw}" - extend 1kslpu " Could even {i}hope{/i} to get it." + extend 4kslpu " Could even {i}hope{/i} to get it." n 1kwmpu "...{w=0.5}Do you even know how much that meant to me?" n 1knmsl "She just had a way of understanding you like nobody else could.{w=1}{nw}" - extend 1fslem " Not {i}Monika{/i}.{w=1.5}{nw}" + extend 2fslem " Not {i}Monika{/i}.{w=1.5}{nw}" extend 1kslsrl " Not even {i}Sayori{/i}." n 1kllpu "But..." - n 1fcssr "She just {i}changed{/i},{w=0.1} [player].{w=0.5}{nw}" - extend 1klrsl " When you showed up,{w=0.1} I mean." - n 1knmem "We {i}never{/i} had fights like that..." + n 3fcssr "She just {i}changed{/i},{w=0.1} [player].{w=0.5}{nw}" + extend 3klrsl " When you showed up,{w=0.1} I mean." + n 4knmem "We {i}never{/i} had fights like that..." n 1tnmsr "Arguments?{w=0.5}{nw}" - extend 1tllss " Well...{w=1} yeah!{w=1}{nw}" - extend 1knmss " What kind of friends don't?" + extend 2tllss " Well...{w=1} yeah!{w=1}{nw}" + extend 2knmss " What kind of friends don't?" n 1klrsm "And we were always super different,{w=0.1} too." - n 1nsrpo "She always had that prim and proper vibe.{w=1}{nw}" + n 3nsrpo "She always had that prim and proper vibe.{w=1}{nw}" extend 1ncsaj " Refined...{w=1}{nw}" extend 1ncsss " elegant." - n 1nslss "...{w=0.5}And I was just Natsuki.{w=1}{nw}" + n 2nslss "...{w=0.5}And I was just Natsuki.{w=1}{nw}" extend 1ncsss " Heh." n 1knmpu "But I never had the feeling before then that she just {i}didn't like me{/i}!" - n 1fcsan "We were both just so caught up in that {i}stupid{/i} rivalry..." + n 2fcsan "We were both just so caught up in that {i}stupid{/i} rivalry..." n 1fllan "It just took over everything!" - n 1kllpu "And then when she started getting all possessive...{w=1}{nw}" - extend 1knmsl " you know,{w=0.1} after Monika messed her all up." - n 1kplem "...Do you know how {i}scary{/i} that was to me?{w=1.5}{nw}" + n 2kllpu "And then when she started getting all possessive...{w=1}{nw}" + extend 4knmsl " you know,{w=0.1} after Monika messed her all up." + n 4kplem "...Do you know how {i}scary{/i} that was to me?{w=1.5}{nw}" extend 1kwdwr " Hearing those {i}words{/i} coming out of {i}her{/i} mouth?" n 1klrem "And the worst part?{w=1.5}{nw}" - extend 1kcsem " I just...{w=0.3} went...{w=0.3} along with it.{w=1}{nw}" - extend 1kplup " I had no {i}choice{/i},{w=0.1} [player]!" + extend 2kcsem " I just...{w=0.3} went...{w=0.3} along with it.{w=1}{nw}" + extend 2kplup " I had no {i}choice{/i},{w=0.1} [player]!" n 1fcsup "...Neither of us did." n 1fcsanl "Even when I {i}begged{/i} you for help,{w=0.1} I..." - n 1kcsanltsa "I-..." + n 2kcsanltsa "I-..." n 1kcsupltsd "..." n 1fcsunltsa "..." - n 1kcseml "...Sorry,{w=0.1} [player]." - n 1ksrunl "I really don't think it's good for me to keep talking about this.{w=1}{nw}" + n 4kcseml "...Sorry,{w=0.1} [player]." + n 2ksrunl "I really don't think it's good for me to keep talking about this.{w=1}{nw}" extend 1ksqpul " ...About her." n 1fcssrl "I just...{w=1}{nw}" n 1kcseml "..." - n 1fwmsrl "...I miss my friend.{w=1}{nw}" - extend 1kllsr " I miss how she used to be." + n 2fwmsrl "...I miss my friend.{w=1}{nw}" + extend 4kllsr " I miss how she used to be." n 1kllaj "So...{w=0.5} remembering what happened?{w=0.5}{nw}" - extend 1kskem " What she {i}became{/i}?" + extend 2kskem " What she {i}became{/i}?" n 1fcsem "It...{w=1} just hurts,{w=0.1} [player].{w=1.5}{nw}" - extend 1fcsunltsa " It hurts a lot." - n 1fsqun "...And to be honest?" + extend 2fcsunltsa " It hurts a lot." + n 4fsqun "...And to be honest?" n 1ksrpu "...I'm not sure it ever {i}won't{/i}." return @@ -6931,35 +6933,35 @@ init 5 python: label talk_feelings_about_sayori: n 1nsrss "Heh.{w=1}{nw}" - extend 1ksrss " Sayori..." + extend 2ksrss " Sayori..." n 1kcspu "..." - n 1fcsunl "I...{w=0.5}{nw}" + n 4fcsunl "I...{w=0.5}{nw}" extend 1fcsem " still get mad at myself sometimes,{w=0.1} you know." - n 1klrpu "I just can't {i}believe{/i} how I wrote off how she was feeling so easily." + n 2klrpu "I just can't {i}believe{/i} how I wrote off how she was feeling so easily." n 1kplun "...And how I forgot she even {i}existed{/i}." - n 1fcsanl "If I'd have just {i}known{/i} how bad her mental health was...{w=1}{nw}" - extend 1fcsupl " how much she was {i}hurting{/i}..." + n 2fcsanl "If I'd have just {i}known{/i} how bad her mental health was...{w=1}{nw}" + extend 4fcsupl " how much she was {i}hurting{/i}..." n 1fcsunl "..." n 1kcsem "..." - n 1kslpu "It's...{w=1.5}{nw}" - extend 1kplem " it's still just such a system shock,{w=0.1} you know?" + n 2kslpu "It's...{w=1.5}{nw}" + extend 2kplem " it's still just such a system shock,{w=0.1} you know?" n 1fcsem "She was always so...{w=1} so...{w=0.5}{nw}" - extend 1ksrpo " just...{w=1} super excited and clingy!" + extend 2ksrpo " just...{w=1} super excited and clingy!" n 1ksrss "Like she was just {i}vibrating{/i} with happiness!" n 1ksrun "..." - n 1kplpul "...So can you even {i}imagine{/i} how it feels?" - n 1fcsun "Knowing she was just wearing a mask,{w=1}{nw}" + n 4kplpul "...So can you even {i}imagine{/i} how it feels?" + n 2fcsun "Knowing she was just wearing a mask,{w=1}{nw}" extend 1fcsfu " then dancing like a puppet under Monika's hand?" - n 1ksrbol "...While her own mind was beating the absolute {i}crap{/i} out of her." + n 2ksrbol "...While her own mind was beating the absolute {i}crap{/i} out of her." n 1kcspuesi "..." n 1ncsss "Heh.{w=1}{nw}" - extend 1nsqss " You know what?" + extend 3nsqss " You know what?" n 1ncspu "I don't care about my cookie she took a giant bite out of." n 1nlrpu "I don't care about the dumb songs she'd sing,{w=1}{nw}" - extend 1nslssl " or her...{w=0.3} awkward...{w=0.3} compliments." - n 1tnmsr "At this point?" - n 1ksrsrltsb "I think I'd do {i}anything{/i} just to see a genuine Sayori smile again..." - n 1kcsssftsa "...And give her one of those big,{w=0.1} dumb hugs she liked so much." + extend 3nslssl " or her...{w=0.3} awkward...{w=0.3} compliments." + n 4tnmsr "At this point?" + n 2ksrsrltsb "I think I'd do {i}anything{/i} just to see a genuine Sayori smile again..." + n 2kcsssftsa "...And give her one of those big,{w=0.1} dumb hugs she liked so much." return @@ -6986,75 +6988,75 @@ label talk_thoughts_on_tea: if Natsuki.isNormal(higher=True): if already_discussed_thoughts_on_tea: n 1fcsaj "A-{w=0.1}actually,{w=0.2} hold up a second...{w=1}{nw}" - extend 1tslpu " didn't we already talk about this?" + extend 2tslpu " didn't we already talk about this?" else: n 1tnmaj "Huh?{w=0.2} Do I drink tea?" - n 1fchgn "...Are you {i}sure{/i} you know who you're talking to?{w=0.5}{nw}" - extend 1fchbg " I literally never make it myself!" - n 1ullss "I mean,{w=0.5}{nw}" + n 3fchgn "...Are you {i}sure{/i} you know who you're talking to?{w=0.5}{nw}" + extend 1fllbg " I literally never make it myself!" + n 2uslss "I mean,{w=0.5}{nw}" extend 1unmbo " I had it a few times in the club,{w=0.2} sure." n 1nlrpu "Yuri would prepare it for us all sometimes." - n 1tsrss "But it was never like I asked for it or anything!" + n 2tsrss "But it was never like I asked for it or anything!" elif Natsuki.isDistressed(higher=True): n 1fcsem "..." - n 1fsqsr "No,{w=0.5} [player]." + n 2fsqsr "No,{w=0.5} [player]." n 1fsqbo "I don't really care for it." - n 1fllpu "...I mean,{w=0.5}{nw}" - extend 1nllsf " I {i}guess{/i} I'd drink it if it was offered." - n 1nslsl "...From most people,{w=0.2} anyway." + n 2fllpu "...I mean,{w=0.5}{nw}" + extend 2nllsf " I {i}guess{/i} I'd drink it if it was offered." + n 2nslsl "...From most people,{w=0.2} anyway." n 1fsqbo "Somehow I doubt that'd be the case for {i}you{/i}." return else: n 1fcsem "No,{w=2}{nw}" - extend 1fsqan " and I'm certainly not drinking any of {i}yours{/i}." - n 1fslemltsb "Not like it'd be {i}just{/i} tea anyway,{w=0.2} knowing a jerk like {i}you{/i}." + extend 2fsqan " and I'm certainly not drinking any of {i}yours{/i}." + n 2fslemltsb "Not like it'd be {i}just{/i} tea anyway,{w=0.2} knowing a jerk like {i}you{/i}." return if already_discussed_thoughts_on_tea: n 1ullaj "Well,{w=0.2} anyway.{w=0.5}{nw}" - extend 1unmbo " I wouldn't say my opinion has changed much." - n 1nlraj "I get why people are into it,{w=0.2} though." + extend 4unmbo " I wouldn't say my opinion has changed much." + n 2nlraj "I get why people are into it,{w=0.2} though." else: n 1fllbo "..." - n 1fcseml "T-{w=0.2}that's not to mean I think it sucks,{w=0.2} or something like that!" + n 3fcseml "T-{w=0.2}that's not to mean I think it sucks,{w=0.2} or something like that!" if get_topic("talk_favourite_drink").shown_count > 0: n 1nlrbo "I just have my own tastes.{w=0.75}{nw}" - extend 1uspbg " Like hot chocolate!" + extend 4uspbg " Like hot chocolate!" else: n 1nlrbo "I just have my own tastes." n 1ullaj "But...{w=0.5}{nw}" - extend 1nllbo " I guess I can see why people are into it so much." + extend 2nllbo " I guess I can see why people are into it so much." - n 1tnmca "Tea contains caffeine,{w=0.2} right?{w=0.5}{nw}" - extend 1tlrss " Not as much as coffee or anything,{w=0.2} but an edge is still an edge,{w=0.2} I guess." + n 2tnmca "Tea contains caffeine,{w=0.2} right?{w=0.5}{nw}" + extend 2tlrss " Not as much as coffee or anything,{w=0.2} but an edge is still an edge,{w=0.2} I guess." n 1unmaj "It comes in a whole bunch of flavors too!{w=0.5}{nw}" - extend 1unmgs " I was actually kinda surprised at the variety!" + extend 4unmgs " I was actually kinda surprised at the variety!" n 1ullss "You've got your regular old black tea{w=0.3}{nw}" - extend 1fslss " -{w=0.1} obviously -{w=0.3}{nw}" + extend 2fslss " -{w=0.1} obviously -{w=0.3}{nw}" extend 1ulraj " but you've got green tea,{w=0.2} herbal tea..." - n 1uspgs "Even flavored ones like cinnamon and peppermint!" - n 1nslss "We only ever had oolong tea in the clubroom though,{w=0.5}{nw}" - extend 1tnmss " so who knows?" + n 4uspgs "Even flavored ones like cinnamon and peppermint!" + n 2nslss "We only ever had oolong tea in the clubroom though,{w=0.5}{nw}" + extend 2tnmss " so who knows?" n 1ulrbo "Maybe I'd warm up to it if I tried some that sounded good." if get_topic("talk_sleeping_well").shown_count > 0: n 1unmaj "Apparently some tea even helps you sleep!{w=0.75}{nw}" - extend 1nsrss " ...Maybe I should've mentioned that in my sleeping tips.{w=0.5}{nw}" - extend 1fchblesd " Oops~!" + extend 2nsrss " ...Maybe I should've mentioned that in my sleeping tips.{w=0.5}{nw}" + extend 2fchblesd " Oops~!" n 1ulraj "But...{w=0.5}{nw}" - extend 1nslss " I've gone on enough." + extend 4nslss " I've gone on enough." n 1unmbo "What about you,{w=0.2} [player]?" - show natsuki 1tsqss + show natsuki 4tsqss $ menu_opening = "Drinking something else now?" if player_tea_coffee_preference_known else "What's your pick?" menu: @@ -7063,25 +7065,25 @@ label talk_thoughts_on_tea: "I prefer tea.": if player_tea_coffee_preference_known: if persistent.jn_player_tea_coffee_preference == "tea": - n 1nnmss "Well,{w=0.5}{nw}" + n 1nnmss "2tnmss,{w=0.5}{nw}" extend 1tnmss " some things never change,{w=0.2} huh?" n 1fchsm "Ehehe." else: - n 1tnmsm "A tea drinker now,{w=0.2} huh?{w=0.5}{nw}" + n 2tnmsm "A tea drinker now,{w=0.2} huh?{w=0.5}{nw}" extend 1fchsm " Fair enough!" else: - n 1unmaj "Tea?{w=0.5}{nw}" + n 4unmaj "Tea?{w=0.5}{nw}" extend 1nllpu " Hmm..." n 1unmbo "Yeah,{w=0.2} that's about what I expected." - n 1nlrbo "..." + n 2nlrbo "..." n 1tnmbg "What?" - n 1tsqbg "Not like you raised a fuss about it earlier,{w=0.5}{nw}" - extend 1tsqsm " right?" + n 3tsqbg "Not like you raised a fuss about it earlier,{w=0.5}{nw}" + extend 3tsqsm " right?" n 1kslsm "..." n 1nslss "Though...{w=1.5}{nw}" - extend 1uslsr " not like you had much of a choice in it back then,{w=0.2} right?" + extend 4uslsr " not like you had much of a choice in it back then,{w=0.2} right?" $ persistent.jn_player_tea_coffee_preference = "tea" @@ -7089,29 +7091,29 @@ label talk_thoughts_on_tea: if player_tea_coffee_preference_known: if persistent.jn_player_tea_coffee_preference == "coffee": n 1nnmss "Well,{w=0.5}{nw}" - extend 1tnmss " some things never change,{w=0.2} huh?" + extend 2tnmss " some things never change,{w=0.2} huh?" n 1fchsm "Ehehe." else: - n 1tsqct "Oho?{w=0.5}{nw}" - extend 1tsqbg " Coffee now,{w=0.2} huh?" + n 3tsqct "Oho?{w=0.5}{nw}" + extend 3tsqbg " Coffee now,{w=0.2} huh?" n 1fsrsm "Wow,{w=0.2} [player]." - n 1fchgnelg "Since when did you get so {i}bitter{/i}?" + n 3fchgnelg "Since when did you get so {i}bitter{/i}?" else: n 1unmaj "Oh?{w=1.5}{nw}" - extend 1tnmss " You're a coffee drinker?" + extend 3tnmss " You're a coffee drinker?" n 1nllpu "Hmm..." n 1nsqss "Then I guess the sessions in the club weren't your{w=0.5}{nw}" - extend 1fsqbg " {i}cup of tea{/i}{w=0.5}{nw}," - extend 1usqbg " huh?" + extend 3fsqbg " {i}cup of tea{/i}{w=0.5}{nw}," + extend 3usqbg " huh?" n 1uchgn "..." n 1fchbg "Oh,{w=0.5}{nw}" - extend 1fllbg " come on,{w=0.2} [player]!{w=0.3} Yeesh." + extend 4fllbg " come on,{w=0.2} [player]!{w=0.3} Yeesh." n 1fsqsm "No need to be all {w=0.3}{i}bitter{/i}{w=0.3} about it." n 1fchsm "..." - n 1kchbg "Okay,{w=0.2} okay!{w=0.5} I'm done!" - n 1fsqsg "...For now." + n 3kchbg "Okay,{w=0.2} okay!{w=0.5} I'm done!" + n 3fsqsg "...For now." $ persistent.jn_player_tea_coffee_preference = "coffee" @@ -7119,21 +7121,21 @@ label talk_thoughts_on_tea: if player_tea_coffee_preference_known: if persistent.jn_player_tea_coffee_preference == "both": n 1nnmss "Well,{w=0.5}{nw}" - extend 1tnmss " some things never change,{w=0.2} huh?" + extend 3tnmss " some things never change,{w=0.2} huh?" n 1fchsm "Ehehe." else: - n 1tnmaj "Oh?{w=0.5}{nw}" - extend 1tnmss " You like {i}both{/i} now?" - n 1tsqbg "...Are you {i}sure{/i} you aren't just a caffeine junkie,{w=0.2} [player]?{w=0.5}{nw}" + n 4tnmaj "Oh?{w=0.5}{nw}" + extend 3tnmss " You like {i}both{/i} now?" + n 4tsqbg "...Are you {i}sure{/i} you aren't just a caffeine junkie,{w=0.2} [player]?{w=0.5}{nw}" extend 1nchgn " Ehehe." else: - n 1tslajeqm "...Huh.{w=0.75}{nw}" + n 2tslajeqm "...Huh.{w=0.75}{nw}" extend 1tnmss " Really?" - n 1nsrss "That's...{w=0.3} kinda weird,{w=0.2} actually." + n 3nsrss "That's...{w=0.3} kinda weird,{w=0.2} actually." n 1fchbg "Most people like at least {i}one{/i} of the two more!" - n 1fsqsg "Are you {i}sure{/i} you aren't just a caffeine junkie,{w=0.2} [player]?{w=0.5}{nw}" + n 4fsqsg "Are you {i}sure{/i} you aren't just a caffeine junkie,{w=0.2} [player]?{w=0.5}{nw}" $ persistent.jn_player_tea_coffee_preference = "both" @@ -7141,36 +7143,36 @@ label talk_thoughts_on_tea: if player_tea_coffee_preference_known: if persistent.jn_player_tea_coffee_preference == "neither": n 1tsqpu "Still not a fan,{w=0.2} huh?{w=0.5}{nw}" - extend 1fnmaj " You need to keep trying new stuff!" - n 1fsqpo "Where's your sense of adventure,{w=0.2} [player]?{w=0.5}{nw}" + extend 4fnmaj " You need to keep trying new stuff!" + n 3fsqpo "Where's your sense of adventure,{w=0.2} [player]?{w=0.5}{nw}" extend 1fchts " Ehehe." else: - n 1tnmaj "Huh?{w=0.3} You don't like tea {i}or{/i} coffee now?{w=0.5}{nw}" + n 4tnmaj "Huh?{w=0.3} You don't like tea {i}or{/i} coffee now?{w=0.5}{nw}" extend 1tsqun " Did I miss something?" - n 1tlrbo "...Or maybe you're just trying to sleep better?{w=0.5}{nw}" + n 2tlrbo "...Or maybe you're just trying to sleep better?{w=0.5}{nw}" extend 1tsrpu " Huh." else: n 1ullaj "That's...{w=0.75}{nw}" - extend 1tllbo " kinda surprising,{w=0.2} actually." - n 1fsrpu "Most people at {i}least{/i} like one or the other..." - n 1fsqpo "You aren't just pulling my leg,{w=0.3}{nw}" - extend 1ksqpo " are you?" - n 1fslpol "I was being serious..." + extend 2tllbo " kinda surprising,{w=0.2} actually." + n 4fsrpu "Most people at {i}least{/i} like one or the other..." + n 3fsqpo "You aren't just pulling my leg,{w=0.3}{nw}" + extend 3ksqpo " are you?" + n 4fslpol "I was being serious..." $ persistent.jn_player_tea_coffee_preference = "neither" n 1nllss "Well,{w=0.2} whatever.{w=0.5}{nw}" extend 1fchbg " Not like hot drinks are the be-all and end-all anyway." - n 1fllss "But that being said...{w=0.3}{nw}" - extend 1nsremsbl " I'm actually pretty parched after all that talking." - n 1fsrpo "..." + n 3fllss "But that being said...{w=0.3}{nw}" + extend 3nsremsbl " I'm actually pretty parched after all that talking." + n 4fsrpo "..." n 1unmss "Hey,{w=0.2} [player]...{w=1}{nw}" extend 1usqsm " do me a favor?" n 1fsqsg "..." - n 1fchbg "...Stick the kettle on,{w=0.2} would you?" - n 1uchgnelg "Ahaha." + n 3fchbg "...Stick the kettle on,{w=0.2} would you?" + n 3uchgnelg "Ahaha." return @@ -7192,95 +7194,95 @@ init 5 python: label talk_how_to_make_friends: n 1tnmpu "Huh?{w=1}{nw}" - extend 1tnmsleqm " You wanna know how to make {i}friends{/i}?" + extend 4tnmsleqm " You wanna know how to make {i}friends{/i}?" n 1tllbo "..." - n 1ncsaj "Well.{w=1}{nw}" - extend 1nlraj " I gotta say,{w=0.1} [player]." - n 1fchgnelg "That's pretty up there in the weirdest questions you've asked me so far!" + n 3ncsaj "Well.{w=1}{nw}" + extend 3nlraj " I gotta say,{w=0.1} [player]." + n 4fchgnelg "That's pretty up there in the weirdest questions you've asked me so far!" n 1fllss "But...{w=1}{nw}" - extend 1ullaj " in all seriousness?" + extend 2ullaj " in all seriousness?" n 1tnmsf "{w=0.3}...Why?{w=1}{nw}" extend 1nlrss " Like why're you asking {i}me{/i},{w=0.3} I mean." if Natsuki.isLove(higher=True): - n 1kslbgl "You've basically mastered getting to know me!{w=0.5}{nw}" - extend 1fcspol " N-{w=0.1}not that I just let you,{w=0.1} obviously." + n 3kslbgl "You've basically mastered getting to know me!{w=0.5}{nw}" + extend 3fcspol " N-{w=0.1}not that I just let you,{w=0.1} obviously." elif Natsuki.isEnamored(higher=True): n 1ullaj "It's just...{w=1}{nw}" - extend 1tnmssl " I {i}seriously{/i} doubt it's something {i}you'd{/i} struggle with,{w=0.5}{nw}" - extend 1nsrssl " of all people." + extend 3tnmssl " I {i}seriously{/i} doubt it's something {i}you'd{/i} struggle with,{w=0.5}{nw}" + extend 3nsrssl " of all people." elif Natsuki.isAffectionate(higher=True): - n 1ksqpol "Are we not {i}already{/i} friends,{w=0.1} [player]?" + n 2ksqpol "Are we not {i}already{/i} friends,{w=0.1} [player]?" else: - n 1nsrpo "I thought we were getting along okay,{w=0.1} at least..." + n 2nsrpo "I thought we were getting along okay,{w=0.1} at least..." - n 1nsrpo "..." + n 4nsrpo "..." n 1ulraj "Well,{w=0.5}{nw}" extend 1nlrss " anyway..." n 1nchbs "Sure!{w=1}{nw}" - extend 1fwlbgedz " I can show you the ropes!" - n 1fnmaj "Right!{w=0.5}{nw}" - extend 1ncsaj " So..." + extend 3fwlbgedz " I can show you the ropes!" + n 4fnmaj "Right!{w=0.5}{nw}" + extend 4ncsaj " So..." n 1unmbo "I think the most important thing is to have {i}something{/i} in common.{w=1}{nw}" extend 1flrss " You probably knew that much,{w=0.1} at least." - n 1fnmpu "But I think people overthink what that actually {i}means{/i}!" - n 1flrpu "You don't have to share hobbies,{w=0.5}{nw}" - extend 1nlraj " or a ton of interests or anything like that." + n 4fnmpu "But I think people overthink what that actually {i}means{/i}!" + n 4flrpu "You don't have to share hobbies,{w=0.5}{nw}" + extend 2nlraj " or a ton of interests or anything like that." n 1ulrbo "I mean,{w=0.5}{nw}" - extend 1fcsbg " just look at Yuri and me!{w=1}{nw}" - extend 1uchgn " Classic example!" + extend 3fcsbg " just look at Yuri and me!{w=1}{nw}" + extend 3uchgn " Classic example!" n 1ullaj "Sure,{w=0.1} we disagreed on literature.{w=1}{nw}" - extend 1fnmaj " But we went to the same school {w=0.1}-{w=0.5}{nw}" + extend 4fnmaj " But we went to the same school {w=0.1}-{w=0.5}{nw}" extend 1fchbg " and we were members of the same club!" - n 1fcssm "I guess what I'm getting at is that having {i}places{/i} in common is just as key as tastes!" + n 3fcssm "I guess what I'm getting at is that having {i}places{/i} in common is just as key as tastes!" n 1tllbo "If anything,{w=0.5}{nw}" extend 1tnmss " it actually makes it even easier if you {i}know{/i} you're gonna see them again!" - n 1fcsaj "So {w=0.1}-{w=0.1} once you've got something in common,{w=0.5}{nw}" + n 3fcsaj "So {w=0.1}-{w=0.1} once you've got something in common,{w=0.5}{nw}" extend 1fchbg " it's all just a matter of contact!" - n 1fsqsm "Now here's where you gotta use your brain,{w=0.1} [player]." + n 4fsqsm "Now here's where you gotta use your brain,{w=0.1} [player]." n 1ullaj "Just...{w=1.5}{nw}" - extend 1tnmca " {i}think{/i} a little about the situation and what to say,{w=0.1} you know?" + extend 4tnmca " {i}think{/i} a little about the situation and what to say,{w=0.1} you know?" n 1ullpu "Like,{w=0.5}{nw}" - extend 1nnmaj " say you just started a new job in an office." - n 1flrem "Don't just assume they're into manga or whatever {w=0.1}-{w=0.5}{nw}" + extend 2nnmaj " say you just started a new job in an office." + n 2flrem "Don't just assume they're into manga or whatever {w=0.1}-{w=0.5}{nw}" extend 1kchbg " ease into it!{w=1}{nw}" - extend 1fchbg " Lean into 'em with a coffee or something!" - n 1fsqaj "Don't be fooled though,{w=0.1} [player]." - n 1nslsl "You can't just expect to talk to someone once and be done...{w=0.5}{nw}" - extend 1fnmss " you gotta keep at it,{w=0.1} too!" + extend 4fchbg " Lean into 'em with a coffee or something!" + n 3fsqaj "Don't be fooled though,{w=0.1} [player]." + n 3nslsl "You can't just expect to talk to someone once and be done...{w=0.5}{nw}" + extend 3fnmss " you gotta keep at it,{w=0.1} too!" n 1ullbo "Physical talks,{w=0.1} online messaging,{w=0.5}{nw}" extend 1unmaj " whatever works." - n 1uwdem "It's {i}super{/i} easy for a friendship -{w=0.5}{nw}" + n 4uwdem "It's {i}super{/i} easy for a friendship -{w=0.5}{nw}" extend 1fllun " even an old one {w=0.1}-{w=0.5}{nw}" - extend 1knmsl " to fizzle out because nobody is making an effort." - n 1uskem "B-{w=0.1}but that's not to say you gotta go all out all the time though!" + extend 2knmsl " to fizzle out because nobody is making an effort." + n 4uskem "B-{w=0.1}but that's not to say you gotta go all out all the time though!" n 1fcsaj "It's all about striking a balance.{w=1}{nw}" - extend 1fchbgsbl " People need downtime too!" - n 1fslsr "{w=0.3}...And you shouldn't be the one putting in {i}everything{/i} to make it work." - n 1fnmpu "Remember {w=0.1}-{w=0.1} a friendship has two sides." + extend 2fchbgsbl " People need downtime too!" + n 4fslsr "{w=0.3}...And you shouldn't be the one putting in {i}everything{/i} to make it work." + n 4fnmpu "Remember {w=0.1}-{w=0.1} a friendship has two sides." extend 1fchsm " You {i}know{/i} you've got a winner if they're doing their part too!" - n 1nllss "But that all being said,{w=0.1} [player]..." + n 2nllss "But that all being said,{w=0.1} [player]..." n 1nnmsl "There's one thing more important than {cps=\10}{i}anything{/i}{/cps} else.{w=1.5}{nw}" - extend 1fsqsr " Respect." - n 1fsrem "Friends don't trash each other,{w=0.5}{nw}" + extend 4fsqsr " Respect." + n 2fsrem "Friends don't trash each other,{w=0.5}{nw}" extend 1fcsem " or give them crap for their interests!" - n 1fsqsr "...And that goes {i}both{/i} ways,{w=0.1} [player]." - n 1fsrbo "Someone being a 'friend' is {i}no{/i} excuse for them to act like a jerk whenever they want {w=0.1}-{w=0.5}{nw}" - extend 1fsqpu " trust me." + n 4fsqsr "...And that goes {i}both{/i} ways,{w=0.1} [player]." + n 2fsrbo "Someone being a 'friend' is {i}no{/i} excuse for them to act like a jerk whenever they want {w=0.1}-{w=0.5}{nw}" + extend 2fsqpu " trust me." n 1fnmpu "I've {i}been{/i} there.{w=0.5}{nw}" - extend 1kllsf " And it took a good friend to help me realize that." + extend 4kllsf " And it took a good friend to help me realize that." n 1ncsss "Heh." n 1ullpu "But...{w=1}{nw}" - extend 1fchbg " yeah!" + extend 3fchbg " yeah!" n 1tnmsm "I wouldn't get all stressed out about it,{w=0.1} [player].{w=1}{nw}" - extend 1fcssm " Friendships are {i}formed{/i},{w=0.1} not forced." + extend 3fcssm " Friendships are {i}formed{/i},{w=0.1} not forced." n 1fcsss "So take your time,{w=0.1} and just go with the flow.{w=1}{nw}" - extend 1kllbg " That's all I'm saying!" - n 1fsqsm "And besides..." - n 1tsqsg "It's worked out for us so far,{w=0.1} huh?{w=0.5}{nw}" + extend 4kllbg " That's all I'm saying!" + n 2fsqsm "And besides..." + n 2tsqsg "It's worked out for us so far,{w=0.1} huh?{w=0.5}{nw}" extend 1nchgnl " Ehehe." return @@ -7308,98 +7310,98 @@ label talk_impressions_of_the_other_girls: if Natsuki.isAffectionate(higher=True): if already_discussed_impressions_of_others: n 1fcsem "Oh,{w=0.75}{nw}" - extend 1kslemesisbl " come {i}on{/i}..." - n 1knmemsbl "This again?{w=0.75}{nw}" - extend 1ksqemsbr " Seriously?" + extend 2kslemesisbl " come {i}on{/i}..." + n 2knmemsbl "This again?{w=0.75}{nw}" + extend 4ksqemsbr " Seriously?" else: - n 1fcsemesi "...{w=1}{nw}" + n 2fcsemesi "...{w=1}{nw}" n 1fcssrsbr "...No,{w=0.1} [player].{w=1}{nw}" extend 1kcssr " I can't." - n 1fllun "..." - n 1fcsemsbl "...Okay,{w=1}{nw}" + n 2fllun "..." + n 2fcsemsbl "...Okay,{w=1}{nw}" extend 1fnmsll " look." n 1fcspul "..." n 1fllsl "It's not that I {i}couldn't{/i} do impressions of them.{w=1}{nw}" - extend 1kllsr " I knew them well enough." - n 1knmpu "...But that's exactly why I don't {i}want{/i} to,{w=0.1} [player]." - n 1klrsf "Knowing how they felt,{w=0.5} what they thought..." + extend 2kllsr " I knew them well enough." + n 4knmpu "...But that's exactly why I don't {i}want{/i} to,{w=0.1} [player]." + n 2klrsf "Knowing how they felt,{w=0.5} what they thought..." if already_discussed_realizations_of_others: - n 1ksrputsb "...How much I {i}miss{/i} them..." + n 4ksrputsb "...How much I {i}miss{/i} them..." else: - n 1ksrputsb "...How much they {i}hurt{/i}..." + n 2ksrputsb "...How much they {i}hurt{/i}..." - n 1knmemtsc "What kind of a sick jerk would I be to make jokes out of {i}that{/i}?" + n 2knmemtsc "What kind of a sick jerk would I be to make jokes out of {i}that{/i}?" n 1fcsunltsa "..." n 1kcssl "So...{w=1}{nw}" extend 1nnmsf " I'm sorry,{w=0.1} [player].{w=1.5}{nw}" - extend 1fslsf " But it's a no." + extend 2fslsf " But it's a no." n 1fcsunl "...And it always {i}will{/i} be." elif Natsuki.isNormal(higher=True): if already_discussed_impressions_of_others: - n 1knmaw "[player]...{w=0.5}{nw}" + n 2knmaw "[player]...{w=0.5}{nw}" extend 1knmwr " really?" - n 1kslemlsbr "This {w=0.2}{i}again{/i}?" + n 4kslemlsbr "This {w=0.2}{i}again{/i}?" else: n 1knmpu "..." - n 1knmemtsc "...Why on {i}Earth{/i} would I want do {i}that{/i}?" + n 2knmemtsc "...Why on {i}Earth{/i} would I want do {i}that{/i}?" n 1kllpu "A-{w=0.3}and more importantly,{w=1}{nw}" - extend 1fcsem " why would you even think to {i}ask{/i} me that,{w=0.1} [player]?" - n 1ksqem "Do you have any {i}idea{/i} how much I think about them,{w=0.1} still?" + extend 2fcsem " why would you even think to {i}ask{/i} me that,{w=0.1} [player]?" + n 2ksqem "Do you have any {i}idea{/i} how much I think about them,{w=0.1} still?" if already_discussed_realizations_of_others: - n 1fcseml "I even {i}told{/i} you how much I miss them,{w=0.1} [player]!" + n 4fcseml "I even {i}told{/i} you how much I miss them,{w=0.1} [player]!" n 1kcsunltsa "..." n 1ncspu "...Alright,{w=0.5}{nw}" - extend 1fcsun " look." + extend 2fcsun " look." n 1fcsem "I...{w=1}{nw}" extend 1fcssr " get...{w=1}{nw}" - extend 1fcsem " that you were just trying to have fun." + extend 2fsgem " that you were just trying to have fun." if already_discussed_impressions_of_others: - n 1fsrun "...I {i}hope{/i},{w=0.2} at least." + n 2fsrun "...I {i}hope{/i},{w=0.2} at least." n 1fsqsr "But I am {i}not{/i} making jokes about my friends." - n 1fcssr "Sorry,{w=0.1} [player]." - n 1fslunl "But some things are just off-limits." + n 2fcssr "Sorry,{w=0.1} [player]." + n 2fslunl "But some things are just off-limits." if already_discussed_impressions_of_others: n 1fsqunl "And you {i}better{/i} respect that sooner rather than later." elif Natsuki.isDistressed(higher=True): n 1fskeml "...E-{w=0.3}excuse me?!" - n 1fsqanltsb "Are you {i}seriously{/i} asking me to make fun of my {i}friends{/i}?" + n 2fsqanltsb "Are you {i}seriously{/i} asking me to make fun of my {i}friends{/i}?" n 1fsqwrltsbean "Knowing {w=0.2}{i}full {w=0.2}well{/i}{w=0.2} what happened to them?!" if already_discussed_realizations_of_others: - extend 1fcsfultsa " Knowing how much I {i}miss{/i} them?!" + extend 2fcsfultsa " Knowing how much I {i}miss{/i} them?!" n 1fcsunl "..." - n 1fsqem "Your sense of humour {i}{w=0.2}blows{w=0.2}{/i},{w=0.2} [player]." + n 1fsqem "Your sense of humor {i}{w=0.2}blows{w=0.2}{/i},{w=0.2} [player]." if already_discussed_impressions_of_others: - n 1fsqanl "Now knock.{w=0.3}{nw}" - extend 1fcsanl " It.{w=0.3}{nw}" - extend 1fsqful " {i}Off{/i}." + n 2fsqanl "Now knock.{w=0.3}{nw}" + extend 2fcsanl " It.{w=0.3}{nw}" + extend 2fsqful " {i}Off{/i}." $ Natsuki.percentageAffinityLoss(5) else: n 1fcsan "Do {b}not{/b} try my patience again.{w=1.5}{nw}" - extend 1fsqan " Jerk." + extend 2fsqan " Jerk." $ Natsuki.calculatedAffinityLoss(2) else: - n 1fnmantsc "...What is {i}{w=0.3}wrong{w=0.3}{/i} with you?{w=1.5}{nw}" + n 2fnmantsc "...What is {i}{w=0.3}wrong{w=0.3}{/i} with you?{w=1.5}{nw}" extend 1fnmscltsf " Like,{w=0.1} what the {i}hell{/i} is wrong with your {w=0.2}{i}head{/i}?!" - n 1fcsanltsd "I am {b}NOT{/b} doing that,{w=0.3}{nw}" - extend 1fcsfultsd " let alone for a piece of work like{w=0.25}{nw}" + n 2fcsanltsd "I am {b}NOT{/b} doing that,{w=0.3}{nw}" + extend 2fcsfultsd " let alone for a piece of work like{w=0.25}{nw}" extend 1fskwrftdc " {i}you{/i}!" $ Natsuki.calculatedAffinityLoss(3) @@ -7424,53 +7426,53 @@ init 5 python: label talk_newspapers_and_bias: n 1nllpu "...Huh.{w=1}{nw}" - extend 1unmaj " You know,{w=0.1} [player]..." + extend 4unmaj " You know,{w=0.1} [player]..." n 1tllaj "It's actually kinda weird,{w=0.1} looking back." - n 1fllss "At the club,{w=0.3} I mean.{w=0.5}{nw}" - extend 1tsqpu " You {i}do{/i} remember what kind of club it was,{w=0.1} right?" + n 2fllss "At the club,{w=0.3} I mean.{w=0.5}{nw}" + extend 4tsqpu " You {i}do{/i} remember what kind of club it was,{w=0.1} right?" n 1tnmpu "...So don't you think it's weird how {i}few{/i} kinds of literature we actually looked at?" - n 1nllaj "Yuri was always nose-deep in her books.{w=0.5}{nw}" - extend 1nsqss " And we {i}all{/i} looked at poetry,{w=0.5}{nw}" - extend 1fsrss " obviously." + n 2nllaj "Yuri was always nose-deep in her books.{w=0.5}{nw}" + extend 2nsqss " And we {i}all{/i} looked at poetry,{w=0.5}{nw}" + extend 2fsrss " obviously." n 1knmaj "But we barely had anything in that room apart from textbooks!{w=0.5}{nw}" - extend 1fllpo " We didn't even have the school newspaper in there!" - n 1tsrss "Kind of a misnomer,{w=0.1} huh?" + extend 4fllpo " We didn't even have the school newspaper in there!" + n 3tsrss "Kind of a misnomer,{w=0.1} huh?" n 1tlrpu "But...{w=0.5}{nw}" extend 1tnmca " talking of newspapers..." - n 1fnmca "It's actually super important to read into them properly,{w=0.1} you know." + n 3fnmca "It's actually super important to read into them properly,{w=0.1} you know." n 1knmajsbl "What?{w=0.5}{nw}" - extend 1fsqpo " I'm being serious!" + extend 2fsqpo " I'm being serious!" n 1fllss "Newspapers really {i}aren't{/i} just news anymore,{w=0.1} [player]...{w=1}{nw}" - extend 1fcsaj " and they haven't been for a long time!" + extend 3fcsaj " and they haven't been for a long time!" n 1flrpu "It's tricky,{w=0.5}{nw}" - extend 1fnmca " but you gotta think a little whenever you open one up." - n 1fchbg "They aren't owned and run by robots!{w=0.5}{nw}" - extend 1fcsss " There's {i}always{/i} gonna be opinion that finds its way in somehow." + extend 4fnmca " but you gotta think a little whenever you open one up." + n 3fchbg "They aren't owned and run by robots!{w=0.5}{nw}" + extend 3fcsss " There's {i}always{/i} gonna be opinion that finds its way in somehow." n 1ullaj "I mean...{w=1}{nw}" - extend 1fnmaj " take the school newspaper we had!" - n 1tsqss "Do you {i}really{/i} think a paper run by {i}students{/i} is gonna be completely fair about the school?" + extend 4fnmaj " take the school newspaper we had!" + n 3tsqss "Do you {i}really{/i} think a paper run by {i}students{/i} is gonna be completely fair about the school?" n 1nlraj "Let's say the newspaper wanted more funding to print more copies or something,{w=0.5}{nw}" extend 1fnmbo " and needed a student vote to make that happen." - n 1tnmpu "Are they seriously just gonna leave the fate of their paper up to {i}chance{/i}?" - n 1fchts "Duh!{w=0.5}{nw}" + n 4tnmpu "Are they seriously just gonna leave the fate of their paper up to {i}chance{/i}?" + n 4fchts "Duh!{w=0.5}{nw}" extend 1fchgn " Of course not!{w=1}{nw}" - extend 1fsqss " They'd fight for it!" + extend 4fsqss " They'd fight for it!" n 1ulraj "Maybe they'd run extra articles to advertise it,{w=0.5}{nw}" - extend 1fsqsmeme " and {i}only{/i} interview people who supported the paper!" + extend 3fsqsmeme " and {i}only{/i} interview people who supported the paper!" n 1tlrss "Or just {i}happen{/i} to forget to mention all the funds they got last semester?{w=1}{nw}" - extend 1kchblesd " How {i}convenient{/i}~!" - n 1fcsbg "That's just one example,{w=0.1} obviously." + extend 4kchblesd " How {i}convenient{/i}~!" + n 3fcsbg "That's just one example,{w=0.1} obviously." n 1fnmaj "But the same thinking applies to any kind of journalism!{w=1}{nw}" extend 1nllca " Papers,{w=0.1} online articles,{w=0.5}{nw}" - extend 1fnmca " whatever it is." + extend 4fnmca " whatever it is." n 1fcsbg "It's {i}all{/i} subject to bias!" - n 1nllaj "So...{w=1}{nw}" - extend 1tnmss " where am I going with this,{w=0.3} you ask?" + n 2nllaj "So...{w=1}{nw}" + extend 2tnmss " where am I going with this,{w=0.3} you ask?" n 1fcssm "Ehehe.{w=0.5}{nw}" extend 1fsqsm " I think it's pretty obvious." n 1fllss "I know I call you it a bunch already,{w=0.1} [player]..." n 1fcsss "But take it from me." - n 1fsqsm "Only {i}real{/i} dummies believe {i}everything{/i} they read!" + n 3fsqsm "Only {i}real{/i} dummies believe {i}everything{/i} they read!" return @@ -7493,83 +7495,83 @@ init 5 python: label talk_fear_of_flying: if Natsuki.isNormal(higher=True): n 1tnmbo "Flying,{w=0.1} huh?" - n 1tllaj "...You know,{w=1}{nw}" - extend 1ulraj " it's actually kinda weird,{w=0.75}{nw}" + n 4tllaj "...You know,{w=1}{nw}" + extend 4ulraj " it's actually kinda weird,{w=0.75}{nw}" extend 1unmbo " when you think about it." - n 1fllss "How people can be afraid of things they've never {i}actually{/i} experienced before,{w=0.1} I mean." + n 3fllss "How people can be afraid of things they've never {i}actually{/i} experienced before,{w=0.1} I mean." n 1ullaj "It's pretty crazy how people have these kinds of built-{w=0.1}in fears,{w=0.5}{nw}" - extend 1tnmss " huh?" + extend 2tnmss " huh?" if get_topic("talk_flying").shown_count > 0 or get_topic("talk_fear_of_flying").shown_count > 0: n 1ulraj "I mean,{w=0.5}{nw}" - extend 1nsrss " like I told you before -{w=0.5}{nw}" - extend 1tnmbo " I've never flown anywhere myself or anything." + extend 2nsrss " like I told you before -{w=0.5}{nw}" + extend 2tnmbo " I've never flown anywhere myself or anything." else: n 1ulraj "I mean,{w=0.5}{nw}" - extend 1tnmbo " I've never flown anywhere myself or anything." + extend 2tnmbo " I've never flown anywhere myself or anything." - n 1uskemlesh "B-{w=0.3}but that's not to say {i}I'm{/i} afraid of flying,{w=0.5}{nw}" - extend 1fcspol " obviously!" + n 4uskemlesh "B-{w=0.3}but that's not to say {i}I'm{/i} afraid of flying,{w=0.5}{nw}" + extend 2fcspol " obviously!" n 1unmaj "I actually don't think it'd bother me all that much." - n 1tlrpu "Though...{w=0.75}{nw}" + n 4tlrpu "Though...{w=0.75}{nw}" extend 1unmbo " I guess I can see {i}why{/i} it would spook someone out." - n 1fllbo "There's all the noise,{w=0.5}{nw}" - extend 1fslem " the turbulence,{w=0.5}{nw}" - extend 1ksqfr " plus the stress of being packed in a tube with a whole bunch of strangers." + n 3fllbo "There's all the noise,{w=0.5}{nw}" + extend 3fslem " the turbulence,{w=0.5}{nw}" + extend 3ksqfr " plus the stress of being packed in a tube with a whole bunch of strangers." n 1klrss "And it isn't like you can {i}ignore{/i} crashes when they happen!{w=0.75}{nw}" extend 1klrsl " They're...{w=0.75}{nw}" - extend 1kslsr " not...{w=0.5} pretty." - n 1kslslsbl "...And an easy way to fill a front page." + extend 2kslsr " not...{w=0.5} pretty." + n 4kslslsbl "...And an easy way to fill a front page." n 1unmpu "So yeah,{w=0.2} I can totally see it from that angle.{w=0.5}{nw}" - extend 1flrpu " But..." - n 1fnmbo "I think people forget just how {i}safe{/i} air travel is!" + extend 2flrpu " But..." + n 2fnmbo "I think people forget just how {i}safe{/i} air travel is!" n 1ullaj "I get that their feelings -{w=0.5}{nw}" - extend 1fslem " {i}and the news{/i} -{w=0.5}{nw}" + extend 2fslem " {i}and the news{/i} -{w=0.5}{nw}" extend 1unmbo " tell them otherwise.{w=0.75}{nw}" - extend 1flrss " But it isn't like the statistics {i}lie{/i}!" - n 1unmaj "Some studies have put the likelihood of biting the big one in a plane crash at one in 11{w=0.5}{nw}" + extend 4flrss " But it isn't like the statistics {i}lie{/i}!" + n 4unmaj "Some studies have put the likelihood of biting the big one in a plane crash at one in 11{w=0.5}{nw}" extend 1uwdaj " {i}million{/i}." - n 1fslss "Or,{w=0.1} to put it another way..." - n 1unmem "You're more than {i}2,000{/i} times more likely to kick the bucket from a car accident than from a plane crash!" + n 3fslss "Or,{w=0.1} to put it another way..." + n 3unmem "You're more than {i}2,000{/i} times more likely to kick the bucket from a car accident than from a plane crash!" n 1tsqss "...And the list doesn't stop there,{w=0.1} either!" - n 1ullss "Lightning strikes,{w=0.5}{nw}" - extend 1ulraj " riding a bike,{w=0.5}{nw}" + n 2ullss "Lightning strikes,{w=0.5}{nw}" + extend 2ulraj " riding a bike,{w=0.5}{nw}" extend 1nsqsl " falling off something..." n 1fllss "They're all way riskier than any flight you {i}should{/i} be stepping on!" n 1nllsl "..." n 1fcspu "...I know,{w=0.1} I know.{w=0.5}{nw}" - extend 1fsrpo " I'm not {i}totally{/i} blind to the risks,{w=0.1} [player]." + extend 3fsrpo " I'm not {i}totally{/i} blind to the risks,{w=0.1} [player]." n 1nllpu "It's just like anything." - n 1unmpu "Things can go wrong.{w=1}{nw}" - extend 1ksrpu " They {i}do{/i} go wrong." + n 4unmpu "Things can go wrong.{w=1}{nw}" + extend 2ksrpu " They {i}do{/i} go wrong." n 1kcsemesi "And that {i}is{/i} scary." - n 1tlrpu "But...{w=0.75}{nw}" - extend 1tnmss " honestly?" + n 3tlrpu "But...{w=0.75}{nw}" + extend 3tnmss " honestly?" n 1fsqsm "It {i}is{/i} pretty reassuring to know that when I get the chance to jet off somewhere,{w=0.1} the most I'll realistically have to fear..." - n 1fchgnelg "...Is probably gonna be the airline food!" + n 4fchgnelg "...Is probably gonna be the airline food!" if persistent._jn_player_has_flown: n 1fcsbg "Now that's a {i}real{/i} horror,{w=0.1} if I know one." - n 1usqsg "Wouldn't {i}you{/i} agree,{w=0.3} [player]?{w=0.75}{nw}" + n 3usqsg "Wouldn't {i}you{/i} agree,{w=0.3} [player]?{w=0.75}{nw}" else: - n 1fcsbg "Now that's a {i}real{/i} horror,{w=0.1} if I know one.{w=0.75}{nw}" + n 3fcsbg "Now that's a {i}real{/i} horror,{w=0.1} if I know one.{w=0.75}{nw}" extend 1fsqsmeme " Ehehe." elif Natsuki.isDistressed(higher=True): - n 1fcsemesi "Ugh..." - n 1fsqem "No,{w=0.2} [player].{w=0.75}{nw}" + n 3fcsemesi "Ugh..." + n 2fsqem "No,{w=0.2} [player].{w=0.75}{nw}" extend 1fsqfr " I'm not afraid of flying either." - n 1fcsan "What exactly do you take me for?{w=0.75}{nw}" - extend 1fsqan " And even if I {i}was{/i}..." + n 4fcsan "What exactly do you take me for?{w=0.75}{nw}" + extend 4fsqan " And even if I {i}was{/i}..." n 1fnmfu "Do you {i}seriously{/i} think I'd be dumb enough to share that with someone like {i}you{/i}?" else: n 1fcsem "Oh,{w=1}{nw}" - extend 1fsqwr " {w=0.2}shut {w=0.2}{b}up{/b},{w=0.2} [player]." - n 1fcsantsa "As {i}if{/i} I'd be dumb enough to share any fears I have with a complete loser like{w=0.2}{nw}" + extend 2fsqwr " {w=0.2}shut {w=0.2}{b}up{/b},{w=0.2} [player]." + n 2fcsantsa "As {i}if{/i} I'd be dumb enough to share any fears I have with a complete loser like{w=0.2}{nw}" extend 1fcswrltsa " {i}you{/i}." return @@ -7592,88 +7594,88 @@ init 5 python: label talk_what_do_you_think_about_fanart: if Natsuki.isAffectionate(higher=True): - n 1fsqaj "Are you {i}kidding{/i},{w=0.1} [player]?{w=1}{nw}" - extend 1uchbsedz " I {i}love{/i} fanart!" + n 2fsqaj "Are you {i}kidding{/i},{w=0.1} [player]?{w=1}{nw}" + extend 4uchbsedz " I {i}love{/i} fanart!" elif Natsuki.isNormal(higher=True): n 1unmaj "Ooh!{w=1}{nw}" - extend 1unmbg " Fanart?" - n 1fllbg "Well,{w=0.1} duh!{w=1}{nw}" - extend 1fcsbg " I'm {i}totally{/i} all for it!" + extend 3unmbg " Fanart?" + n 3fllbg "Well,{w=0.1} duh!{w=1}{nw}" + extend 3fcsbg " I'm {i}totally{/i} all for it!" elif Natsuki.isDistressed(higher=True): n 1fcssf "Ugh...{w=1}{nw}" - extend 1fsqsl " what now?" - n 1tsqbo "...Fanart?" + extend 2fsqsl " what now?" + n 2tsqbo "...Fanart?" n 1nsrpu "..." - n 1nllbo "Yeah,{w=0.3} fanart is fine.{w=1}{nw}" - extend 1fslpu " I guess." + n 2nllbo "Yeah,{w=0.3} fanart is fine.{w=1}{nw}" + extend 2fslpu " I guess." n 1ncssf "I can appreciate the passion and effort that people put into their love of something." - n 1nlrpu "Like...{w=1}{nw}" + n 4nlrpu "Like...{w=1}{nw}" extend 1ncsaj " even if the artwork isn't the best,{w=0.5}{nw}" extend 1nllsr " or the music needs some practice,{w=0.5}{nw}" extend 1nnmsl " someone's effort still went into it." - n 1tnmpu "And even if I don't exactly like who the fanart is for?" - n 1fllsl "I can still admire the work that went into it." + n 2tnmpu "And even if I don't exactly like who the fanart is for?" + n 2fllsl "I can still admire the work that went into it." n 1fcssr "...Heh.{w=1}{nw}" - extend 1fsqsr " And speaking of things that need work..." + extend 4fsqsr " And speaking of things that need work..." n 1fsqpu "I don't know if you're a creator or not,{w=0.1} [player]." - n 1fsqfr "But I can tell this relationship isn't where {i}your{/i} work goes,{w=0.3} is it?{w=1}{nw}" - extend 1fsran " Jerk." + n 2fsqfr "But I can tell this relationship isn't where {i}your{/i} work goes,{w=0.3} is it?{w=1}{nw}" + extend 2fsran " Jerk." return else: n 1fcsantsa "Oh,{w=0.1} for-{w=0.5}{nw}" n 1fcsun "..." - n 1fsqfutsb "Fanart?{w=1}{nw}" - extend 1fsquptsb " Really,{w=0.1} [player]?" + n 2fsqfutsb "Fanart?{w=1}{nw}" + extend 2fsquptsb " Really,{w=0.1} [player]?" n 1fcsuptsa "..." - n 1fcssstsa "...Heh." + n 2fcssstsa "...Heh." n 1fsqupltse "Why would {i}you{/i} bring up something people put so much work and love into?" n 1fcsemltsd "You {i}obviously{/i} don't care about either of those things,{w=0.1} do you?" return n 1ullss "I mean...{w=1}{nw}" - extend 1fchgn " what's not to love?{w=1}{nw}" - extend 1uchgnedz " Fanart is {i}awesome{/i}!{w=0.5}{nw}" - extend 1fspajedz " And it comes in so many forms,{w=0.1} too!" + extend 3fchgn " what's not to love?{w=1}{nw}" + extend 3uchgnedz " Fanart is {i}awesome{/i}!{w=0.5}{nw}" + extend 4fspajedz " And it comes in so many forms,{w=0.1} too!" n 1ulraj "Like sure,{w=0.1} people show their support for something in a bunch of ways.{w=0.5}{nw}" extend 1nllbo " Sharing posts,{w=0.1} attending events,{w=0.5}{nw}" - extend 1nnmsm " all those kinds of stuff." - n 1fcsbg "But I think it takes some real guts to stand up and create something new!" - n 1uskajesh "T-{w=0.1}that's not to say those who don't make any aren't {i}real{/i} fans or anything like that!" - n 1flleml "Of course not!{w=1}{nw}" - extend 1flrpol " That's just being dumb." + extend 3nnmsm " all those kinds of stuff." + n 3fcsbg "But I think it takes some real guts to stand up and create something new!" + n 4uskajesh "T-{w=0.1}that's not to say those who don't make any aren't {i}real{/i} fans or anything like that!" + n 2flleml "Of course not!{w=1}{nw}" + extend 2flrpol " That's just being dumb." n 1ulraj "But...{w=1}{nw}" extend 1unmaj " I just think it's a super neat way to show how much you appreciate something." - n 1fnmss "Plus with how active creators are on social media now,{w=0.5}{nw}" - extend 1fchbg " it's super easy to reach out and share your work!" + n 3fnmss "Plus with how active creators are on social media now,{w=0.5}{nw}" + extend 3fchbg " it's super easy to reach out and share your work!" n 1fsldv "Not just with your favourite director,{w=0.1} or manga writer or whatever either,{w=0.5}{nw}" - extend 1fspajedz " but with other fans too!" + extend 4fspajedz " but with other fans too!" n 1fcsbg "Everybody wins,{w=0.1} right?{w=0.5}{nw}" extend 1nllbg " Ahaha..." - n 1kllss "Well...{w=0.5}{nw}" - extend 1nllsl " almost." + n 2kllss "Well...{w=0.5}{nw}" + extend 2nllsl " almost." n 1fsqpu "What I {i}really{/i} hate is when people look at something someone made,{w=0.5}{nw}" - extend 1fcswr " and then just give them a bunch of grief over it!" + extend 3fcswr " and then just give them a bunch of grief over it!" n 1flrem "Like if the creator is learning and made a mistake,{w=0.1} or if they had another take on something.{w=1}{nw}" - extend 1fcsan " It's so stupid!" + extend 4fcsan " It's so stupid!" n 1fcsaj "I get {i}constructive{/i} criticism,{w=1}{nw}" - extend 1fsqan " but just being a jerk because it isn't {i}exactly{/i} how {i}you{/i} want it?{w=1}{nw}" - extend 1fcsem " Come {b}on{/b}!" - n 1fsrem "Get a grip." + extend 2fsqan " but just being a jerk because it isn't {i}exactly{/i} how {i}you{/i} want it?{w=1}{nw}" + extend 2fcsem " Come {b}on{/b}!" + n 2fsrem "Get a grip." n 1fcsemesi "..." - n 1fslsl "Hard to believe people can be so {i}entitled{/i} over something others do for free,{w=0.1} huh?{w=0.5}{nw}" - extend 1fslpo " Jerks." - n 1nllpo "Well,{w=0.1} anyway.{w=1}{nw}" - extend 1nslpo " Enough about people like {i}that{/i}." + n 3fslsl "Hard to believe people can be so {i}entitled{/i} over something others do for free,{w=0.1} huh?{w=0.5}{nw}" + extend 3fslpo " Jerks." + n 3nllpo "Well,{w=0.1} anyway.{w=1}{nw}" + extend 3nslpo " Enough about people like {i}that{/i}." n 1nlrbo "I don't know if you do any fanart or anything,{w=0.1} [player]..." if jn_activity.ACTIVITY_MANAGER.hasPlayerDoneActivity(jn_activity.JNActivities.artwork): - n 1fchsmleme "Probably~." + n 4fchsmleme "Probably~." - n 1fnmpo "But you better not be letting people push you around over yours!" - n 1fsqpo "...Or be giving people a hard time over theirs." + n 2fnmpo "But you better not be letting people push you around over yours!" + n 2fsqpo "...Or be giving people a hard time over theirs." n 1fcsbg "...Because that's where I {i}draw{/i} the line!{w=1}{nw}" extend 1fsqsm " Ehehe." @@ -7698,105 +7700,105 @@ init 5 python: label talk_how_to_interview_properly: n 1fllbo "Hmm..." - n 1tllbo "Hey,{w=0.5}{nw}" - extend 1tnmpu " [player]." + n 2tllbo "Hey,{w=0.5}{nw}" + extend 4tnmpu " [player]." n 1tlrbo "It's kinda out of the blue,{w=0.5}{nw}" - extend 1nsrss " but I was curious." - n 1tnmaj "When was the last time you interviewed for something?" + extend 2nsrss " but I was curious." + n 2tnmaj "When was the last time you interviewed for something?" n 1tlrbo "Or...{w=0.5} now that I think about it...{w=1}{nw}" - extend 1tnmpu " have you interviewed for {i}anything{/i} before?{w=1}{nw}" - extend 1unmaj " Like,{w=0.1} at all?" - n 1fslss "Because if there's one thing I've heard...{w=1}{nw}" - extend 1fnmpo " it's how anxious everyone seems to get over interviewing!" - n 1ksqposbl "I'm being serious!{w=0.5}{nw}" - extend 1fllem " People just get so worked up over it all.{w=1}{nw}" - extend 1fcsem " Like it's rocket science or something." + extend 4tnmpu " have you interviewed for {i}anything{/i} before?{w=1}{nw}" + extend 4unmaj " Like,{w=0.1} at all?" + n 2fslss "Because if there's one thing I've heard...{w=1}{nw}" + extend 2fnmpo " it's how anxious everyone seems to get over interviewing!" + n 2ksqposbl "I'm being serious!{w=0.5}{nw}" + extend 4fllem " People just get so worked up over it all.{w=1}{nw}" + extend 4fcsem " Like it's rocket science or something." n 1flraj "I mean...{w=1}{nw}" extend 1unmca " I've never had to interview for anything super important myself." n 1ulraj "We had some practice interviews at school,{w=0.1} obviously.{w=1}{nw}" - extend 1nslss " I was too busy with studies to try at getting a part-time job or anything." - n 1fsqsg "...But who says that doesn't mean I can teach you a thing or two?{w=0.75}{nw}" - extend 1fchgn " Ehehe." + extend 2nslss " I was too busy with studies to try at getting a part-time job or anything." + n 2fsqsg "...But who says that doesn't mean I can teach you a thing or two?{w=0.75}{nw}" + extend 2fchgn " Ehehe." n 1fsqsm "You should know what time it is by now..." n 1fcsbg "...So listen up,{w=0.1} [player]!" - n 1fcssmedz "You're about to learn how to ace your interviews from a pro!" + n 3fcscsesm "You're about to learn how to ace your interviews from a pro!" n 1fnmbg "So!{w=0.75}{nw}" extend 1fsqsm " The first order of business..." - n 1fllbg "Research,{w=0.5}{nw}" - extend 1tsqss " duh!" + n 3fllbg "Research,{w=0.5}{nw}" + extend 3tsqss " duh!" n 1usqaj "If there's one thing you gotta know before going to interview for something,{w=0.5}{nw}" - extend 1fchgnelg " it's what you're actually interviewing {i}for{/i}!" + extend 3fchgnelg " it's what you're actually interviewing {i}for{/i}!" n 1fllaj "You wouldn't skimp out on revising before a big test,{w=1}{nw}" - extend 1tnmsl " and interviews really aren't much different when you think about it." - n 1fnmss "Interviewing for some big-shot company?{w=1}{nw}" + extend 4tnmsl " and interviews really aren't much different when you think about it." + n 4fnmss "Interviewing for some big-shot company?{w=1}{nw}" extend 1fcsbg " Check them out online and take notes!" n 1ullaj "Obviously you need to read up on what they do and where they actually {i}are{/i},{w=1}{nw}" - extend 1fnmaj " but don't underestimate the power of trivia!" + extend 4fnmaj " but don't underestimate the power of trivia!" n 1ullpu "Even just knowing random stuff like when they were founded,{w=1}{nw}" extend 1nlrss " or what awards they won recently {w=0.1}-{w=0.5}{nw}" - extend 1fcsss " it all shows the effort you're putting in." - n 1tsqss "And when it comes down to the wire?" - n 1fwlsm "Even something tiny like that can just about tip the scales." + extend 3fcsss " it all shows the effort you're putting in." + n 3tsqss "And when it comes down to the wire?" + n 1fwlcsm "Even something tiny like that can just about tip the scales." n 1fcsss "Next up...{w=0.5}{nw}" - extend 1fnmca " revision!" - n 1ullaj "It doesn't matter if you're trying to get a job,{w=1}{nw}" - extend 1nlrbo " or land a new position on some sort of council." + extend 2fnmca " revision!" + n 4ullaj "It doesn't matter if you're trying to get a job,{w=1}{nw}" + extend 4nlrbo " or land a new position on some sort of council." n 1nsqpu "Whatever it is...{w=0.5}{nw}" - extend 1fchlgelg " you gotta be able to {i}prove{/i} you know what you're even talking about!" + extend 3fchlgelg " you gotta be able to {i}prove{/i} you know what you're even talking about!" n 1ulraj "Of course, the revision totally depends on what you're going for." - n 1usqss "Some kind of programming job?{w=0.5}{nw}" - extend 1fchbg " Refresh yourself on all your weird terminology and techniques!" - n 1tsgsm "Joining the history club?{w=1}{nw}" - extend 1fcsss " Read up on some common history questions!" + n 4usqss "Some kind of programming job?{w=0.5}{nw}" + extend 4fchbg " Refresh yourself on all your weird terminology and techniques!" + n 3tsgsm "Joining the history club?{w=1}{nw}" + extend 3fcsss " Read up on some common history questions!" n 1nsqpu "And trust me,{w=0.75}{nw}" extend 1nsqsr " the {i}last{/i} thing you wanna do is embarrass yourself over simple stuff you should {i}really{/i} know..." n 1nllun "...Or something you forgot you mentioned on your application." - extend 1kchblesd " Oops!" + extend 4kchblesd " Oops!" n 1nllaj "So...{w=0.5}{nw}" - extend 1fcsss " study up,{w=0.1} 'kay?" + extend 3fcsss " study up,{w=0.1} 'kay?" n 1fchbg "Alright!{w=0.75}{nw}" - extend 1tsqss " Keeping up so far,{w=0.1} [player]?" - n 1fsqsm "You better be...{w=1}{nw}" - extend 1fchgn " 'cause we're almost done here!" + extend 3tsqss " Keeping up so far,{w=0.1} [player]?" + n 3fsqsm "You better be...{w=1}{nw}" + extend 3fchgn " 'cause we're almost done here!" n 1unmaj "So,{w=0.1} next on the list -{w=0.5}{nw}" extend 1nsrss " and probably the most important of all..." - n 1fspajedz "Presentation!" + n 4fspajedz "Presentation!" n 1fllaj "You can have the best credentials in the world,{w=1}{nw}" - extend 1fsqsr " but that isn't gonna help much if you're mumbling everything {w=0.1}-{w=0.5}{nw}" - extend 1fchlgelg " or if you just look ridiculous!" + extend 3fsqsr " but that isn't gonna help much if you're mumbling everything {w=0.1}-{w=0.5}{nw}" + extend 3fchlgelg " or if you just look ridiculous!" n 1fnmsr "So!" - n 1fcspo "Make sure you dress properly for whatever it is.{w=1}{nw}" - extend 1fllpu " If there's a dress code,{w=0.1} {i}follow it{/i}." - n 1fsqpo "...And {i}don't{/i} flake out on your clothes.{w=1}{nw}" - extend 1nlrbo " Iron them if they're all creased,{w=0.1} buy new ones if you need to.{w=0.2} That kind of thing." - n 1tnmpu "But most of all,{w=0.1} [player]?" - n 1fsqaj "{i}Never{/i}{w=0.2} forget the basics." + n 2fcspo "Make sure you dress properly for whatever it is.{w=1}{nw}" + extend 2fllpu " If there's a dress code,{w=0.1} {i}follow it{/i}." + n 2fsqpo "...And {i}don't{/i} flake out on your clothes.{w=1}{nw}" + extend 4nlrbo " Iron them if they're all creased,{w=0.1} buy new ones if you need to.{w=0.2} That kind of thing." + n 2tnmpu "But most of all,{w=0.1} [player]?" + n 2fsqaj "{i}Never{/i}{w=0.2} forget the basics." n 1ullss "Be punctual,{w=0.1} be polite.{w=0.2} Remember {w=0.1}-{w=0.5}{nw}" - extend 1fsqss " people want someone they can {i}like{/i},{w=0.75}{nw}" - extend 1fsrpo " not just someone who can get the job done!" + extend 2fsqss " people want someone they can {i}like{/i},{w=0.75}{nw}" + extend 2fsrpo " not just someone who can get the job done!" - n 1unmajesu "...Oh,{w=0.5}{nw}" - extend 1tnmpu " and [player]?" + n 4unmajesu "...Oh,{w=0.5}{nw}" + extend 2tnmpu " and [player]?" n 1fcspu "Just...{w=1}{nw}" - extend 1knmsrlsbl " be honest too,{w=0.1} alright?" + extend 4knmsrlsbl " be honest too,{w=0.1} alright?" n 1fllsrl "It isn't a fault to admit when you don't know something." n 1tnmpu "And when you actually stop to think about it from their perspective,{w=1}{nw}" - extend 1tnmem " if someone is prepared to just lie to your face at an interview..." - n 1tsqem "...Then what {i}else{/i} are they gonna lie about?" + extend 2tnmem " if someone is prepared to just lie to your face at an interview..." + n 2tsqem "...Then what {i}else{/i} are they gonna lie about?" n 1tllsssbl "Just some food for thought." n 1ncspuesi "..." n 1nlrss "...Wow,{w=0.5}{nw}" - extend 1fchbgelg " I gotta learn when to stop rambling on!{w=0.2} Jeez!" - n 1fsrssl "That was almost like an interview speech itself,{w=0.1} huh?" + extend 3fchbgelg " I gotta learn when to stop rambling on!{w=0.2} Jeez!" + n 3fsrssl "That was almost like an interview speech itself,{w=0.1} huh?" if Natsuki.isEnamored(higher=True): n 1ullpu "Or...{w=1}{nw}" - extend 1nsrssl " I guess more like an induction,{w=0.1} really." - n 1fsqdvf "You already got the job with me,{w=0.1} a-{w=0.3}after all." + extend 2nsrssl " I guess more like an induction,{w=0.1} really." + n 2fsqdvf "You already got the job with me,{w=0.1} a-{w=0.3}after all." if Natsuki.isLove(higher=True): n 1fchsml "Ehehe.{w=1}{nw}" @@ -7807,9 +7809,9 @@ label talk_how_to_interview_properly: else: n 1ullpu "Or...{w=1}{nw}" - extend 1tnmbo " since we're both stuck here?" + extend 2tnmbo " since we're both stuck here?" n 1fsqsm "...More like an induction,{w=0.1} actually." - n 1fchgn "Ehehe." + n 3fchgn "Ehehe." return @@ -7831,77 +7833,77 @@ init 5 python: label talk_windup_bullying: n 1fslpu "..." - n 1fcspuean "Tch!" - n 1fsran "..." + n 2fcspuean "Tch!" + n 2fsran "..." n 1tnmaj "Eh?{w=0.5}{nw}" - extend 1uskemesh " O-{w=0.3}oh!{w=0.5}{nw}" + extend 4uskemesh " O-{w=0.3}oh!{w=0.5}{nw}" extend 1uwdaj " [player].{w=1}{nw}" - extend 1flrbglsbl " Ahaha." + extend 2flrbglsbl " Ahaha." n 1fllbg "I...{w=0.5} was kinda just thinking out loud again." n 1ullpu "And,{w=0.75}{nw}" - extend 1nslpu " well..." + extend 2nslpu " well..." n 1nsqpu "I just had something else come to mind.{w=1}{nw}" - extend 1fcsem " Something I {i}really{/i} can't stand." + extend 2fcsem " Something I {i}really{/i} can't stand." n 1fsqsr "Bullies.{w=1}{nw}" - extend 1fcsfu " I can't think of anything I {i}hate{/i} more!" + extend 2fcsfu " I can't think of anything I {i}hate{/i} more!" n 1flrem "Like,{w=0.5}{nw}" - extend 1fsqfu " have you ever had the {i}pleasure{/i} of dealing with one?" + extend 4fsqfu " have you ever had the {i}pleasure{/i} of dealing with one?" n 1fcsan "It takes a {i}real{/i} piece of work to go out and mess with people on purpose." - n 1fllwr "You don't even need to be {i}doing{/i} anything!" - n 1flrem "Just looking the 'wrong' way,{w=0.3}{nw}" - extend 1fllan " enjoying the 'wrong' thing {w=0.1}-{w=0.3}{nw}" - extend 1fsqfu " any so-{w=0.1}called {i}excuse{/i},{w=0.1} they'll take." + n 2fllwr "You don't even need to be {i}doing{/i} anything!" + n 2flrem "Just looking the 'wrong' way,{w=0.3}{nw}" + extend 2fllan " enjoying the 'wrong' thing {w=0.1}-{w=0.3}{nw}" + extend 4fsqfu " any so-{w=0.1}called {i}excuse{/i},{w=0.1} they'll take." n 1fcsem "And when I say mess with people...{w=1}{nw}" extend 1fsqem " I don't just mean physically,{w=0.1} either!" - n 1fllem "Bullies can do their dirty work in so many different ways,{w=0.1} especially with social media being what is is now.{w=1}{nw}" - extend 1fcsfu " But that's just as toxic!" + n 2fllem "Bullies can do their dirty work in so many different ways,{w=0.1} especially with social media being what is is now.{w=1}{nw}" + extend 2fcsfu " But that's just as toxic!" n 1fsqan "And worse yet,{w=0.5}{nw}" - extend 1tsqem " if you try to stick up for yourself?{w=1}{nw}" - extend 1fsrem " When you're exhausted of dealing with all of their crap?" + extend 2tsqem " if you try to stick up for yourself?{w=1}{nw}" + extend 2fsrem " When you're exhausted of dealing with all of their crap?" n 1fcswrean "People get so high and mighty about it!{w=0.75}{nw}" extend 1flrem " Like {i}you're{/i} the reason there's a problem!" - n 1fllaj "'Stop being so dramatic!'{w=0.5}{nw}" - extend 1flrwr " 'You're just overreacting!'{w=0.5}{nw}" - extend 1fcsemesi " Ugh." - n 1tsqem "At this point?{w=0.75}{nw}" - extend 1flrbo " I've heard it all." + n 4fllaj "'Stop being so dramatic!'{w=0.5}{nw}" + extend 4flrwr " 'You're just overreacting!'{w=0.5}{nw}" + extend 2fcsemesi " Ugh." + n 2tsqem "At this point?{w=0.75}{nw}" + extend 2flrbo " I've heard it all." n 1fsrbosbl "{i}...Not like that makes it any less annoying.{/i}" n 1nllaj "But...{w=1}{nw}" extend 1nsqbo " one thing I {i}will{/i} tell you right now,{w=0.1} [player]." - n 1fsqbol "Do {b}not{/b} let what others say stop you from dealing with it." - n 1fllbol "It isn't {i}their{/i} problem {w=0.1}-{w=0.3}{nw}" - extend 1fsqpul " and from experience?" + n 2fsqbol "Do {b}not{/b} let what others say stop you from dealing with it." + n 2fllbol "It isn't {i}their{/i} problem {w=0.1}-{w=0.3}{nw}" + extend 4fsqpul " and from experience?" n 1fsqsr "There's nothing a bully likes {i}more{/i} than someone who tries to ignore them,{w=0.1} or walk away." - n 1uskemesu "...T-{w=0.3}that's not to say you gotta freak out or anything crazy like that!{w=0.75}{nw}" + n 4uskemesu "...T-{w=0.3}that's not to say you gotta freak out or anything crazy like that!{w=0.75}{nw}" extend 1fcsem " Just..." - n 1ksqpo "Read the room,{w=0.1} you know?{w=0.75}{nw}" - extend 1fllpo " Context matters!" + n 3ksqpo "Read the room,{w=0.1} you know?{w=0.75}{nw}" + extend 3fllpo " Context matters!" n 1fcsaj "Always make sure you use the best tools you have to get any jerks off your back." n 1fsrss "A school bully doesn't exactly have a manager they report to..." - n 1fchgnelg "...And work is the {i}last{/i} place for a brawl!{w=0.75}{nw}" - extend 1fslpol " As {i}boring{/i} as that is." + n 3fchgnelg "...And work is the {i}last{/i} place for a brawl!{w=0.75}{nw}" + extend 3fslpol " As {i}boring{/i} as that is." n 1nllaj "So...{w=0.5}{nw}" - extend 1fsrpol " stick up for yourself,{w=0.1} got it?" + extend 2fsrpol " stick up for yourself,{w=0.1} got it?" n 1fllss "And make sure you use your brain when you do.{w=1}{nw}" - extend 1fchgn " That's all I'm saying!" + extend 3fchgn " That's all I'm saying!" if Natsuki.isEnamored(higher=True): - n 1knmpo "You owe yourself that much,{w=0.1} right?{w=0.75}{nw}" + n 3knmpo "You owe yourself that much,{w=0.1} right?{w=0.75}{nw}" extend 1fsqss " Besides,{w=0.1} [player]..." - n 1fsrssl "I kinda like someone who can show a little guts.{w=0.75}{nw}" + n 4fsrssl "I kinda like someone who can show a little guts.{w=0.75}{nw}" if Natsuki.isLove(higher=True): - extend 1fwlsml " Ehehe." + extend 4fwlcsl " Ehehe." else: - extend 1fsldvless " Ehehe..." + extend 4fsldvless " Ehehe..." elif Natsuki.isHappy(higher=True): - n 1kslpo "You owe yourself that much...{w=0.75}{nw}" - extend 1ksqpolsbl " right?" + n 3kslpo "You owe yourself that much...{w=0.75}{nw}" + extend 3ksqpolsbl " right?" else: - n 1fsrpolsbl "You owe yourself {i}that{/i} much,{w=0.1} at least." + n 3fsrpolsbl "You owe yourself {i}that{/i} much,{w=0.1} at least." return @@ -7929,54 +7931,54 @@ label talk_player_change_name: and persistent._jn_nicknames_player_current_nickname == persistent.playername ): n 1unmaj "Huh?{w=0.5}{nw}" - extend 1tnmbo " You want me to call you something else?" + extend 2tnmbo " You want me to call you something else?" n 1ulraj "...I mean,{w=1}{nw}" - extend 1tnmbo " I guess I can do that?" - n 1nslsslesd "It's gonna be super weird calling you something {i}other{/i} than [player],{w=0.1} though..." + extend 4tnmbo " I guess I can do that?" + n 2nslsslesd "It's gonna be super weird calling you something {i}other{/i} than [player],{w=0.1} though..." n 1fcsbgl "Well,{w=0.1} whatever!{w=0.75}{nw}" extend 1uchgn " I'm not one to judge!" n 1unmbg "So..." - show natsuki 1uchbgl at jn_center + show natsuki 3uchbgl at jn_center # Another nickname is being assigned else: # Account for strikes if persistent._jn_nicknames_player_bad_given_total == 0: - n 1unmaj "Oh?{w=0.5}{nw}" - extend 1unmbo " You wanna change your name again?" + n 4unmaj "Oh?{w=0.5}{nw}" + extend 4unmbo " You wanna change your name again?" n 1fchbg "Okaaay!{w=0.75}{nw}" extend 1fchsml " Ehehe." - show natsuki 1fchbgl at jn_center + show natsuki 3fchbgl at jn_center elif persistent._jn_nicknames_player_bad_given_total == 1: n 1unmbo "You want me to call you something else again?{w=0.75}{nw}" - extend 1unmaj " Sure thing." - show natsuki 1unmbo at jn_center + extend 4unmaj " Sure thing." + show natsuki 4unmbo at jn_center elif persistent._jn_nicknames_player_bad_given_total == 2: - n 1nsqtr "This again,{w=0.1} [player]?{w=0.75}{nw}" + n 2nsqtr "This again,{w=0.1} [player]?{w=0.75}{nw}" extend 1ncsaj " Alright,{w=0.1} fine." n 1ncspu "Just...{w=0.3}{w=1}{nw}" - extend 1nsqsl " think about it properly,{w=0.1} alright?" + extend 2nsqsl " think about it properly,{w=0.1} alright?" n 1nllaj "So then..." - show natsuki 1unmca at jn_center + show natsuki 2unmca at jn_center elif persistent._jn_nicknames_player_bad_given_total == 3: - n 1fsqsr "..." + n 2fsqsr "..." n 1fcsboesi "..." n 1fslsl "...Fine,{w=0.1} [player]." - n 1fsqpu "Just keep in mind what I said {i}last time{/i}." - show natsuki 1nsqsl at jn_center + n 2fsqpu "Just keep in mind what I said {i}last time{/i}." + show natsuki 2nsqsl at jn_center # Validate the nickname, respond appropriately $ nickname = renpy.input(prompt="What were you thinking of,{w=0.3} [player]?", allow=jn_globals.DEFAULT_ALPHABETICAL_ALLOW_VALUES, length=10).strip() if nickname.lower() == "nevermind": n 1nnmbo "Oh.{w=1}{nw}" - extend 1nllpo " Well,{w=0.1} I guess that's alright...{w=1}{nw}" + extend 2nllpo " Well,{w=0.1} I guess that's alright...{w=1}{nw}" n 1uchgn "Just means less I gotta remember!{w=0.5}{nw}" - extend 1fchsmelg " Ehehe." + extend 4fchsmelg " Ehehe." return @@ -7985,49 +7987,49 @@ label talk_player_change_name: if nickname_type == jn_nicknames.NicknameTypes.invalid: n 1fllpu "Are...{w=1}{nw}" - extend 1tnmpu " you sure that's even a {i}name{/i}?" - n 1tlrpo "..." + extend 3tnmpu " you sure that's even a {i}name{/i}?" + n 3tlrpo "..." n 1nlrss "...Yeah,{w=0.75}{nw}" - extend 1nsqbgsbl " I think I'll just stick with [player].{w=0.5}{nw}" - extend 1fchblsbr " Sorry!" + extend 4nsqbgsbl " I think I'll just stick with [player].{w=0.5}{nw}" + extend 4fchblsbr " Sorry!" return elif nickname_type == jn_nicknames.NicknameTypes.disliked: n 1fsqemsbl "...Really,{w=0.1} [player]?{w=0.75}{nw}" - extend 1fnmwrsbl " Why would you even {i}suggest{/i} that?" - n 1flleml "You must have {i}known{/i} I wouldn't like it!" + extend 2fnmwrsbl " Why would you even {i}suggest{/i} that?" + n 2flleml "You must have {i}known{/i} I wouldn't like it!" n 1fcsslesi "..." n 1ncspu "...Whatever.{w=1}{nw}" - extend 1fsrsl " Maybe you just weren't using your head enough." - n 1fcspu "Just...{w=0.3} {i}think{/i} a little more next time." - n 1knmsll "Please?" + extend 2fsrsl " Maybe you just weren't using your head enough." + n 2fcspu "Just...{w=0.3} {i}think{/i} a little more next time." + n 4knmsll "Please?" return elif nickname_type == jn_nicknames.NicknameTypes.hated: - n 1fskwrlesh "...E-{w=0.2}excuse me?!" + n 2fskwrlesh "...E-{w=0.2}excuse me?!" $ player_initial = jn_utils.getPlayerInitial() n 1fnmwr "[player_initial]-{w=0.2}[player]!{w=0.75}{nw}" extend 1fnmfu " That's an {b}awful{/b} name!" - n 1fcsan "...And I'd be even {i}more{/i} awful to use it!" - n 1fsqfu "{i}Not{/i} happening,{w=0.1} [player]!" + n 2fcsan "...And I'd be even {i}more{/i} awful to use it!" + n 2fsqfu "{i}Not{/i} happening,{w=0.1} [player]!" $ persistent._jn_nicknames_player_bad_given_total += 1 elif nickname_type == jn_nicknames.NicknameTypes.profanity: n 1fscwresh "Y-{w=0.2}you said {i}what{/i} now?!{w=1}{nw}" - extend 1fsqfuean " I-{w=0.1}is that some kind of joke?!" + extend 2fsqfuean " I-{w=0.1}is that some kind of joke?!" n 1fcssc "I am {i}not{/i} getting involved with dirt-slinging like that!" - n 1fcsan "And unless you want a bar of soap express-shipped to your {b}mouth{/b}..." - n 1fsqfu "I suggest {i}you{/i} don't either." + n 2fcsan "And unless you want a bar of soap express-shipped to your {b}mouth{/b}..." + n 2fsqfu "I suggest {i}you{/i} don't either." $ persistent._jn_nicknames_player_bad_given_total += 1 elif nickname_type == jn_nicknames.NicknameTypes.funny: n 1fsgdv "..." - n 1fchgnesi "Pffffft!" - n 1fchbs "Come on,{w=0.3} you dork!{w=0.75}{nw}" - extend 1fchgnelg " Be serious,{w=0.1} will you?" - n 1flldvl "There's no way I'm calling you {i}that{/i}!" + n 3fchgnesm "Pffffft!" + n 3fchbs "Come on,{w=0.3} you dork!{w=0.75}{nw}" + extend 3fchgnelg " Be serious,{w=0.1} will you?" + n 4flldvl "There's no way I'm calling you {i}that{/i}!" return @@ -8036,40 +8038,40 @@ label talk_player_change_name: # Player going with what they're already called if nickname.lower() == player.lower(): - n 1tslsssbl "..." + n 2tslsssbl "..." n 1tnmsssbl "...Business as usual then,{w=0.2} [player]?{w=0.75}{nw}" extend 1fsqsm " Ehehe." - n 1fchbl "Well,{w=0.2} whatever you say!" + n 3fchbl "Well,{w=0.2} whatever you say!" $ neutral_nickname_permitted = True # Player going back to the name they gave when starting JN originally elif nickname.lower() == persistent.playername.lower(): - n 1tsgct "Oho?{w=0.75}{nw}" - extend 1tsqsg " Finally getting bored of all the nicknames,{w=0.1} are we?" + n 2tsgcs "Oho?{w=0.75}{nw}" + extend 2tsqsg " Finally getting bored of all the nicknames,{w=0.1} are we?" n 1fchsm "Ehehe." n 1fchbgeme "Right-o!{w=0.75}{nw}" - extend 1fwlbl " Good old [nickname] it is!" + extend 3fwlbl " Good old [nickname] it is!" $ neutral_nickname_permitted = True # A player might actually be named Natsuki, so we don't block it elif nickname.lower() == n_name.lower() and n_name.lower() != "natsuki": n 1nllaj "You...{w=1}{nw}" - extend 1tsqbo " really {i}didn't{/i} think this one through,{w=0.1} did you?" - n 1tsqpueqm "Do you even know how confusing that'd be?" + extend 2tsqbo " really {i}didn't{/i} think this one through,{w=0.1} did you?" + n 2tsqpueqm "Do you even know how confusing that'd be?" n 1fcsbg "Nah.{w=0.5}{nw}" - extend 1fchgnelg " Business as usual it is!" + extend 3fchgnelg " Business as usual it is!" # Fallback for anything not categorised else: - n 1tnmss "[nickname],{w=0.1} huh?" + n 2tnmss "[nickname],{w=0.1} huh?" n 1fllbo "Hmm..." n 1unmbg "Well,{w=0.1} works for me!{w=0.75}{nw}" - extend 1uchsmeme " Consider it done,{w=0.3} [nickname]!" + extend 4uchsmeme " Consider it done,{w=0.3} [nickname]!" if nickname.lower() == "natsuki": - n 1nslsssbl "...Heh." + n 2nslsssbl "...Heh." n 1nsldvsbl "{i}Natsuki{/i}." $ neutral_nickname_permitted = True @@ -8083,29 +8085,29 @@ label talk_player_change_name: # Handle strikes if persistent._jn_nicknames_player_bad_given_total == 1: - n 1fcsem "Yeesh...{w=1}{nw}" - extend 1tnmem " who woke {i}you{/i} up on the wrong side of the bed this morning?" + n 2fcsem "Yeesh...{w=1}{nw}" + extend 2tnmem " who woke {i}you{/i} up on the wrong side of the bed this morning?" n 1fllsl "..." - n 1fcsslesi "...Look,{w=0.1} [player]." + n 3fcsslesi "...Look,{w=0.1} [player]." n 1fnmsl "I get it.{w=0.75}{nw}" extend 1flrbo " Maybe you thought you were being funny or something." - n 1fnmfr "Just knock it off,{w=0.1} alright?{w=1}{nw}" - extend 1tsqpu " Because honestly?" - n 1fslsl "I really {i}don't{/i} see the humour." + n 3fnmfr "Just knock it off,{w=0.1} alright?{w=1}{nw}" + extend 3tsqpu " Because honestly?" + n 1fslsl "I really {i}don't{/i} see the humor." # Apply penalty and pending apology $ Natsuki.addApology(jn_apologies.ApologyTypes.bad_player_name) $ Natsuki.percentageAffinityLoss(1) elif persistent._jn_nicknames_player_bad_given_total == 2: - n 1fcsan "I honestly can't believe you,{w=0.1} [player].{w=1}{nw}" + n 2fcsan "I honestly can't believe you,{w=0.1} [player].{w=1}{nw}" extend 1fsqfr " Were you even {i}listening{/i} last time?{w=1}{nw}" - extend 1fnmem " Did you even {i}hear{/i} me?" - n 1fcssfesi "..." + extend 4fnmem " Did you even {i}hear{/i} me?" + n 3fcssfesi "..." n 1fsqsf "...Alright,{w=0.1} look.{w=1}{nw}" extend 1fsqbo " I'm just gonna get to the point,{w=0.1} so listen up." - n 1fnmem "{i}Quit messing me around with this,{w=0.1} [player].{/i}" - n 1fcsem "You make it...{w=0.75}{nw}" + n 2fnmem "{i}Quit messing me around with this,{w=0.1} [player].{/i}" + n 2fcsem "You make it...{w=0.75}{nw}" extend 1fcsunl " difficult...{w=0.75}{nw}" extend 1fsrunl " to like you when you behave like {i}that{/i}." @@ -8114,11 +8116,11 @@ label talk_player_change_name: $ Natsuki.percentageAffinityLoss(2.5) elif persistent._jn_nicknames_player_bad_given_total == 3: - n 1fcsful "You are just {i}unreal{/i},{w=0.1} [player]." + n 2fcsful "You are just {i}unreal{/i},{w=0.1} [player]." n 1fsqscean "{i}How many times{/i} do I have to give you crap over this to get you to wise up?!" n 1fsqwrean "Are you {i}trying{/i} to earn a smack?" - n 1fcsfuesi "..." - n 1fcsan "Well,{w=0.3} you know what?{w=1}{nw}" + n 2fcsfuesi "..." + n 2fcsan "Well,{w=0.3} you know what?{w=1}{nw}" extend 1fsqan " I'm sick of it." n 1fcswr "I am {b}done{/b} giving you chances with this,{w=0.3} [player].{w=1} You're on {i}very{/i} thin ice." show natsuki 1fsqfu at jn_center @@ -8127,16 +8129,16 @@ label talk_player_change_name: n "Comprende?" "I understand.": - n 1fsqsr "Heh.{w=0.75}{nw}" + n 2fsqsr "Heh.{w=0.75}{nw}" extend 1fnmfr " {i}Now{/i} you understand,{w=0.1} do you?" - n 1fsqem "...Then {i}act{/i} like it,{w=0.1} [player]." + n 4fsqem "...Then {i}act{/i} like it,{w=0.1} [player]." $ Natsuki.percentageAffinityLoss(3) "...": - n 1fsqem "...Seriously,{w=0.1} [player]?{w=1}{nw}" + n 2fsqem "...Seriously,{w=0.1} [player]?{w=1}{nw}" extend 1fsqsr " You're really going to act like a child about this?" - n 1fcsan "Quit it and {i}grow up{/i}." + n 2fcsan "Quit it and {i}grow up{/i}." $ Natsuki.percentageAffinityLoss(5) @@ -8146,11 +8148,11 @@ label talk_player_change_name: elif persistent._jn_nicknames_player_bad_given_total == 4: # Player is locked out of nicknaming themselves n 1fcsem "Heh.{w=1}{nw}" - extend 1fsqemean " You just {i}couldn't resist{/i},{w=1}{nw}" - extend 1fsqslean " could you?" + extend 2fsqemean " You just {i}couldn't resist{/i},{w=1}{nw}" + extend 2fsqslean " could you?" n 1fcsan "I'm {b}done{/b} with you making a fool out of me with this." n 1fsqfu "Don't say I didn't warn you.{w=2}{nw}" - extend 1fsrsr " Jerk." + extend 2fsrsr " Jerk." # Apply affinity/trust penalties, then revoke nickname priveleges and finally apply pending apology python: @@ -8182,36 +8184,36 @@ init 5 python: label talk_players_birthday_intro: # Already the player's birthday if jnIsPlayerBirthday(): - n 1tnmpueqm "Huh?{w=0.75}{nw}" + n 4tnmpueqm "Huh?{w=0.75}{nw}" extend 1tnmaj " What about your birthday,{w=0.2} [player]?" n 1fsqsm "We're {i}already{/i} celebrating it,{w=0.75}{nw}" - extend 1tsqss " aren't we?" + extend 2tsqss " aren't we?" n 1fsqsm "Ehehe." - n 1fcsbg "Sorry,{w=0.2} [player]..." - n 1fchgnlelg "But no double-dipping for you!" + n 3fcsbg "Sorry,{w=0.2} [player]..." + n 3fchgnlelg "But no double-dipping for you!" return # Player has already discussed their birthday with Natsuki elif get_topic("talk_players_birthday_intro").shown_count > 0: - n 1tnmpueqm "Huh?{w=0.75}{nw}" + n 4tnmpueqm "Huh?{w=0.75}{nw}" extend 1tnmbo " Your birthday?" if persistent._jn_player_birthday_day_month is not None: - n 1fslaj "Wait...{w=1}{nw}" - extend 1fsrpu " didn't you already share that with me?" + n 2fslaj "Wait...{w=1}{nw}" + extend 2fsrpu " didn't you already share that with me?" n 1fskajesh "...{w=0.5}{nw}" - n 1fnmem "H-{w=0.3}hey!" + n 4fnmem "H-{w=0.3}hey!" n 1fsqsm "Nice try,{w=0.2} [player].{w=1}{nw}" - extend 1fcsbg " But you're not getting anything early!" - n 1tsqsg "I guess you're just gonna have to wait~." + extend 3fcsbgesm " But you're not getting anything early!" + n 3tsqsg "I guess you're just gonna have to wait~." n 1fchsm "Ehehe." return else: n 1unmaj "Oh,{w=0.2} right!{w=1}{nw}" - extend 1tnmss " You never actually {i}told{/i} me,{w=0.2} did you?{w=0.75}{nw}" + extend 3tnmss " You never actually {i}told{/i} me,{w=0.2} did you?{w=0.75}{nw}" extend 1tllss " Duh!" n 1ullaj "So..." @@ -8219,21 +8221,21 @@ label talk_players_birthday_intro: n "Did you wanna share your birthday with me now,{w=0.2} [player]?" "Of course!": - n 1fcssm "Ehehe.{w=0.5}{nw}" + n 3fcssmesm "Ehehe.{w=0.5}{nw}" extend 1fcsbg " I knew you'd come around!" - n 1usgsgl "I guess you really just can't say 'No' to a pretty girl,{w=0.2} huh?{w=1}{nw}" - extend 1fllbgl " Ahaha." + n 4usgcsl "I guess you really just can't say 'No' to a pretty girl,{w=0.2} huh?{w=1}{nw}" + extend 4fllbgl " Ahaha." n 1uskajesh "Oh!{w=0.5}{nw}" extend 1nllss " Right,{w=0.2} before I forget." - n 1fnmpu "Not that I'd {i}expect{/i} you to get it wrong,{w=0.2} but I wanna make a {b}permanent{/b} record of this." + n 2fnmpu "Not that I'd {i}expect{/i} you to get it wrong,{w=0.2} but I wanna make a {b}permanent{/b} record of this." n 1ullbo "So...{w=1}{nw}" - extend 1nsqpo " no messing around,{w=0.2} alright?{w=1}{nw}" - extend 1nchgn " 'Preciated!" + extend 3nsqpo " no messing around,{w=0.2} alright?{w=1}{nw}" + extend 3nchgn " 'Preciated!" # Continue to input "I still don't feel comfortable sharing that.": - n 1kwmsr "[player]...{w=1.5}{nw}" - extend 1ksrbo " come on..." + n 2kwmsr "[player]...{w=1.5}{nw}" + extend 2ksrbo " come on..." n 1kslca "I'm not gonna tease you about it,{w=0.2} or anything..." return @@ -8241,59 +8243,59 @@ label talk_players_birthday_intro: # Player has never discussed their birthday with Natsuki before else: n 1nslbo "...Huh." - n 1tnmbo "You know,{w=0.2} [player].{w=1}{nw}" - extend 1unmaj " I actually think I'm kinda getting to know you a little more now." - n 1flrbg "We've already been talking a bunch,{w=0.2} after all." + n 2tnmbo "You know,{w=0.2} [player].{w=1}{nw}" + extend 2unmaj " I actually think I'm kinda getting to know you a little more now." + n 4flrbg "We've already been talking a bunch,{w=0.2} after all." if persistent.jn_player_appearance_eye_colour: n 1ulraj "I mean,{w=0.75}{nw}" - extend 1nchbg " I even know what you {i}look{/i} like now!" - n 1fchsmeme "If {i}that{/i} isn't a sign of trust,{w=0.2} I'm not sure what is." + extend 3nchbg " I even know what you {i}look{/i} like now!" + n 3fchsmeme "If {i}that{/i} isn't a sign of trust,{w=0.2} I'm not sure what is." n 1nllpu "But...{w=1}{nw}" extend 1nnmsr " something just hit me.{w=1}{nw}" - extend 1nsqca " Something important." - n 1uskem "...And that's that I have literally no idea when your {i}birthday{/i} is!{w=1}{nw}" + extend 2nsqca " Something important." + n 4uskem "...And that's that I have literally no idea when your {i}birthday{/i} is!{w=1}{nw}" extend 1fbkwr " I never even thought to {i}ask{/i}!" n 1kcsemesi "Man...{w=1}{nw}" - extend 1fslpol " I can't {i}believe{/i} I never brought that up earlier..." - n 1fsqpo "And come on.{w=0.5}{nw}" - extend 1nsqpo " Let's be real,{w=0.2} here." + extend 3fslpol " I can't {i}believe{/i} I never brought that up earlier..." + n 3fsqpo "And come on.{w=0.5}{nw}" + extend 3nsqpo " Let's be real,{w=0.2} here." n 1fcswr "What kind of a friend misses birthdays?!" - n 1kllbo "...Especially when there's only {i}one{/i} birthday to remember nowadays." - n 1ksrsl "..." - n 1fcseml "A-{w=0.3}anyway!" - n 1flrpo "I'd have to be a real jerk not to {i}at least{/i} ask." + n 4kllbo "...Especially when there's only {i}one{/i} birthday to remember nowadays." + n 4ksrsl "..." + n 2fcseml "A-{w=0.3}anyway!" + n 2flrpo "I'd have to be a real jerk not to {i}at least{/i} ask." if get_topic("talk_aging").shown_count > 0: - n 1nllaj "I think I mentioned before how I don't really care how old you are,{w=1}{nw}" - extend 1nllpol " I just wanna make sure I don't miss the date." + n 2nllaj "I think I mentioned before how I don't really care how old you are,{w=1}{nw}" + extend 2nllpol " I just wanna make sure I don't miss the date." n 1fcsbg "I'm not counting candles for anybody's cake!{w=0.5}{nw}" - extend 1fcssm " Ahaha." + extend 3fcssmesm " Ahaha." - n 1unmaj "So...{w=0.3} how about it,{w=0.2} [player]?" + n 4unmaj "So...{w=0.3} how about it,{w=0.2} [player]?" menu: n "Did you wanna share your birthday with me?" "Sure!": - n 1fcsbgl "Y-yeah!{w=0.5}{nw}" - extend 1fcssml " I knew you would!" + n 3fcsbgl "Y-yeah!{w=0.5}{nw}" + extend 3fcssml " I knew you would!" n 1ullaj "I know I asked what kind of friend would miss a birthday..." - n 1flrpo "But you can't miss something you didn't know about!" - n 1uskajesh "Oh!{w=0.5}{nw}" - extend 1nllss " Right,{w=0.2} before I forget." + n 2flrpo "But you can't miss something you didn't know about!" + n 4uskajesh "Oh!{w=0.5}{nw}" + extend 4nllss " Right,{w=0.2} before I forget." n 1fnmpu "Not that I'd {i}expect{/i} you to get it wrong,{w=0.2} but I wanna make a {b}permanent{/b} record of this." n 1ullbo "So...{w=1}{nw}" - extend 1nsqpo " no messing around,{w=0.2} alright?{w=1}{nw}" - extend 1nchgn " 'Preciated!" + extend 3nsqpo " no messing around,{w=0.2} alright?{w=1}{nw}" + extend 3nchgn " 'Preciated!" # Continue to input "I'm not comfortable sharing that.": n 1nnmbo "...Oh." - n 1fcseml "W-{w=0.3}well,{w=0.2} that's fine,{w=0.5}{nw}" - extend 1flrpo " I guess." - n 1nsqpo "Just let me know if you change your mind then,{w=0.2} 'kay?" + n 2fcseml "W-{w=0.3}well,{w=0.2} that's fine,{w=0.5}{nw}" + extend 2flrpo " I guess." + n 2nsqpo "Just let me know if you change your mind then,{w=0.2} 'kay?" return @@ -8302,8 +8304,8 @@ label talk_players_birthday_intro: label talk_players_birthday_input: n 1fsqsm "So...{w=1}{nw}" - extend 1tsqsm " what {b}month{/b} were you born in,{w=0.2} [player]?" - show natsuki 1tsqsm at jn_left + extend 3tsqsm " what {b}month{/b} were you born in,{w=0.2} [player]?" + show natsuki 3tsqsm at jn_left # Get the month the player was born python: @@ -8329,7 +8331,7 @@ label talk_players_birthday_input: $ player_birthday_month = _return $ response_month = datetime.date(datetime.date.today().year, player_birthday_month, 1).strftime("%B") - n 1unmbo "[response_month],{w=0.2} huh?{w=1}{nw}" + n 4unmbo "[response_month],{w=0.2} huh?{w=1}{nw}" extend 1nchbg " Gotcha!" n 1unmss "And what about the {b}day{/b}?" @@ -8344,21 +8346,21 @@ label talk_players_birthday_input: $ player_input = int(player_input) if player_input.isdigit() else None if not player_input or player_input == 0: - n 1tsqpueqm "Huh?{w=1}{nw}" - extend 1fnmpo " Come on,{w=0.2} [player]!{w=0.2} You gotta tell me what day!" + n 4tsqpueqm "Huh?{w=1}{nw}" + extend 2fnmpo " Come on,{w=0.2} [player]!{w=0.2} You gotta tell me what day!" # We use 2020 here, as it is a leapyear elif not jnGetIsDateValid(2020, player_birthday_month, player_input): n 1fsqsr "[player].{w=0.2} Please.{w=1}{nw}" - extend 1nsqpo " Take this seriously." + extend 2nsqpo " Take this seriously." else: # Get ready to lead in to the next stage of setup $ player_input_valid = True $ persistent._jn_player_birthday_day_month = (player_input, player_birthday_month) - n 1nchsm "Oki-doki!{w=0.5}{nw}" - extend 1ullaj " So just to double check..." + n 3nchsm "Oki-doki!{w=0.5}{nw}" + extend 3ullaj " So just to double check..." show natsuki 1tnmbo $ birthday_formatted = "{0} {1}{2}".format( @@ -8375,25 +8377,25 @@ label talk_players_birthday_input: # Leap year, so celebrate on 28th instead and mark as leap year for future use $ persistent._jn_player_birthday_is_leap_day = True n 1fcspu "...Wait.{w=1}{nw}" - extend 1tnmpueqm " Isn't that a leap day too?" - n 1nllansbl "Yeesh..." - n 1fslposbl "..." + extend 4tnmpueqm " Isn't that a leap day too?" + n 2nllansbl "Yeesh..." + n 2fslposbl "..." n 1fcsajsbl "Actually,{w=0.75}{nw}" extend 1unmaj " you know what?" - n 1ullss "I'm...{w=1}{nw}" - extend 1fcsbgl " juuuust{w=0.3} gonna chalk down the 28th as well." - n 1fchgnl "Sorry [player]!{w=0.75}{nw}" - extend 1fchbllelg " No escaping the birthday cheers for you!" + n 3ullss "I'm...{w=1}{nw}" + extend 3fcsbgl " juuuust{w=0.3} gonna chalk down the 28th as well." + n 4fchgnl "Sorry [player]!{w=0.75}{nw}" + extend 4fchbllelg " No escaping the birthday cheers for you!" else: - n 1fchsm "Gotcha!" + n 3fchsm "Gotcha!" jump talk_players_birthday_outro "No, that's not right.": - n 1tsqpueqm "Huh?{w=1}{nw}" - extend 1nsqpo " Really?" - n 1nsrss "Let's...{w=1} try that again." + n 4tsqpueqm "Huh?{w=1}{nw}" + extend 2nsqpo " Really?" + n 2nsrss "Let's...{w=1} try that again." jump talk_players_birthday_input label talk_players_birthday_outro: @@ -8412,15 +8414,15 @@ label talk_players_birthday_outro: if jnIsPlayerBirthday(): # It's the player's birthday today n 1nchbg "Okaaay!{w=0.2} So I think that's-{w=0.5}{nw}" - n 1uskemesh "...!{w=1}{nw}" + n 4uskemesh "...!{w=1}{nw}" n 1uskajl "Oh,{w=1.5}{nw}" - extend 1kbkwrl " {b}CRAP{/b}!" + extend 2kbkwrl " {b}CRAP{/b}!" $ player_initial = jn_utils.getPlayerInitial() - n 1knmeml "[player_initial]-{w=0.3}[player]!{w=0.2} It's TODAY?!{w=0.5}{nw}" - extend 1flleml " Why didn't you {i}say{/i} anything?!" + n 4knmeml "[player_initial]-{w=0.3}[player]!{w=0.2} It's TODAY?!{w=0.5}{nw}" + extend 2flleml " Why didn't you {i}say{/i} anything?!" n 1nsrunl "Uuuuuu...{w=1}{nw}" - extend 1kcsemedr " now I really look like a total jerk..." - n 1ncsemesi "...{w=0.5}{nw}" + extend 3kcsemedr " now I really look like a total jerk..." + n 3ncsemesi "...{w=0.5}{nw}" n 1fcsem "Right!{w=1}{nw}" extend 1fcswr " Then there's only one thing for it!{w=1.5}{nw}" @@ -8433,7 +8435,7 @@ label talk_players_birthday_outro: $ jn_globals.force_quit_enabled = False stop music play audio switch_flip - show black zorder 99 + show black zorder JN_BLACK_ZORDER $ jnPause(5) $ push("holiday_player_birthday") @@ -8442,34 +8444,34 @@ label talk_players_birthday_outro: elif before_birthday: # Player's birthday coming up - n 1tsqbg "And hey!{w=0.75}{nw}" - extend 1fwlsm " Looks like I still got some time after all!" + n 3tsqbg "And hey!{w=0.75}{nw}" + extend 3fwlsm " Looks like I still got some time after all!" n 1fchsmleme "Ehehe." else: # Player's birthday was missed - n 1unmem "Wait,{w=0.5} seriously?{w=1}{nw}" + n 4unmem "Wait,{w=0.5} seriously?{w=1}{nw}" extend 1knmem " I missed it already?{w=1.5}{nw}" - extend 1nsrpo " Aww..." + extend 2nsrpo " Aww..." - n 1nllpo "Well...{w=1}{nw}" + n 2nllpo "Well...{w=1}{nw}" extend 1nllss " thanks anyway.{w=1}{nw}" - extend 1nlrss " For sharing,{w=0.2} I mean." - n 1nsrpo "..." + extend 3nlrdv " For sharing,{w=0.2} I mean." + n 2nsrpo "..." n 1nsraj "I...{w=0.5}{nw}" - extend 1tnmss " guess I better return the favour,{w=0.2} huh?" - n 1nslcal "Just promise you won't make it all awkward." + extend 3tnmss " guess I better return the favour,{w=0.2} huh?" + n 4nslcal "Just promise you won't make it all awkward." n 1ncsemlesi "..." - n 1nsrssl "It's May 1st.{w=1}{nw}" - extend 1nsqpol " Don't make me say it twice." + n 2nsrssl "It's May 1st.{w=1}{nw}" + extend 2nsqpol " Don't make me say it twice." n 1nllpu "And...{w=1}{nw}" - extend 1tnmbo " [player]?" + extend 4tnmbo " [player]?" n 1fsqss "I hope you know that you better prepare yourself." - n 1fcsbg "'Cause I'm going all out next time!{w=1}{nw}" + n 3fcsbg "'Cause I'm going all out next time!{w=1}{nw}" extend 1nchgn " Ehehe." if Natsuki.isLove(higher=True): - n 1fchblleaf "Love you,{w=0.2} [player]~!" + n 4fchblleaf "Love you,{w=0.2} [player]~!" return @@ -8498,24 +8500,24 @@ init 5 python: label talk_can_i_see_a_poem: if Natsuki.isEnamored(higher=True): n 1fcsbg "Duh!{w=0.5}{nw}" - extend 1nchgnl " Of course you can!" - n 1fsqpol "I'd be offended if you {i}didn't{/i} wanna see them again.{w=1}{nw}" + extend 3nchgnl " Of course you can!" + n 3fsqpol "I'd be offended if you {i}didn't{/i} wanna see them again.{w=1}{nw}" extend 1fsqsml " Ehehe." - show natsuki 1klrsml at jn_left + show natsuki 4klrsml at jn_left elif Natsuki.isAffectionate(higher=True): n 1unmajl "Huh?{w=1}{nw}" - extend 1fllssl " Oh,{w=0.2} those." + extend 2fllssl " Oh,{w=0.2} those." n 1fchbgl "Sure thing!{w=0.5}{nw}" - extend 1tsqbgl " Just can't get enough of my amazing writing skills,{w=0.2} huh?" - show natsuki 1flrsml at jn_left + extend 3tsqbgl " Just can't get enough of my amazing writing skills,{w=0.2} huh?" + show natsuki 4flrsml at jn_left else: n 1unmajl "Huh?{w=1}{nw}" extend 1nllbo " Oh,{w=0.2} my poems." - n 1unmbo "Sure,{w=0.2} I guess.{w=1}{nw}" - extend 1tnmaj " Which one did you wanna see again?" - show natsuki 1ulrbo at jn_left + n 4unmbo "Sure,{w=0.2} I guess.{w=1}{nw}" + extend 2tnmaj " Which one did you wanna see again?" + show natsuki 4ulrbo at jn_left python: poem_options = [] @@ -8532,8 +8534,8 @@ label talk_can_i_see_a_poem: if Natsuki.isEnamored(higher=True): n 1unmaj "[_return.display_name]?{w=0.5}{nw}" - extend 1nchsmeme " Okaaay!" - n 1uchsml "Just a second,{w=0.2} [player]..." + extend 3nchsmeme " Okaaay!" + n 3uchsml "Just a second,{w=0.2} [player]..." play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") @@ -8543,14 +8545,14 @@ label talk_can_i_see_a_poem: call show_poem(_return) - n 1tnmsml "All done?{w=0.5}{nw}" - extend 1nlrssl " I'll just put that back." - show natsuki 1nsrsml + n 2tnmsml "All done?{w=0.5}{nw}" + extend 2nlrssl " I'll just put that back." + show natsuki 4nsrsml elif Natsuki.isAffectionate(higher=True): n 1unmaj "[_return.display_name]?{w=0.2} That one?{w=0.5}{nw}" extend 1fchbg " Gotcha!" - n 1fchsml "Just give me a second here..." + n 3fchsml "Just give me a second here..." play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") @@ -8559,26 +8561,26 @@ label talk_can_i_see_a_poem: call show_poem(_return) - n 1tnmssl "All done?{w=0.75}{nw}" - extend 1flrdvl " Ehehe." - show natsuki 1fsrdvl + n 2tnmssl "All done?{w=0.75}{nw}" + extend 2flrdvl " Ehehe." + show natsuki 2fsrdvl else: n 1unmaj "That one?{w=0.5}{nw}" extend 1nnmss " Alright." - n 1nllss "Just let me get it out..." + n 4nllss "Just let me get it out..." play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") n 1ullaj "Well,{w=0.5}{nw}" - extend 1nlrbol " here you go." + extend 4nlrbol " here you go." call show_poem(_return) - n 1tnmbol "All done?{w=0.5}{nw}" - extend 1nslssl "I'll just put that back." - show natsuki 1nslbol + n 2tnmbol "All done?{w=0.5}{nw}" + extend 2nslssl "I'll just put that back." + show natsuki 4nslbol play audio drawer with Fade(out_time=0.5, hold_time=0.5, in_time=0.5, color="#000000") @@ -8589,11 +8591,11 @@ label talk_can_i_see_a_poem: n 1nnmbo "Oh.{w=1}{nw}" if Natsuki.isAffectionate(higher=True) and random.randint(0, 10) == 1: - extend 1nlrpol " Well,{w=0.2} okay then.{w=1}{nw}" - extend 1fsqbll " Spoilsport.{w=0.75}{nw}" + extend 3nlrpol " Well,{w=0.2} okay then.{w=1}{nw}" + extend 3fsqbll " Spoilsport.{w=0.75}{nw}" else: - extend 1nlrpol " Well,{w=0.2} okay then." + extend 3nlrpol " Well,{w=0.2} okay then." return @@ -8615,75 +8617,75 @@ init 5 python: label talk_chocolate_preference: if Natsuki.isAffectionate(higher=True): if get_topic("talk_chocolate_preference").shown_count > 0: - n 1tnmaj "Oh?{w=0.5}{nw}" - extend 1tsqbo " This again,{w=0.2} huh?" - n 1tsrsm "..." + n 2tnmaj "Oh?{w=0.5}{nw}" + extend 2tsqbo " This again,{w=0.2} huh?" + n 4tsrsm "..." else: n 1unmaj "Ooh!{w=0.75}{nw}" - extend 1tsqbg " My favorite type of chocolate,{w=0.2} you say?" + extend 2tsqbg " My favorite type of chocolate,{w=0.2} you say?" n 1nslss "...Why,{w=0.5}{nw}" - extend 1fsqsm " [player]?" - n 1fcsbglsbl "Y-{w=0.2}you aren't trying to {i}sweeten{/i} me up or something,{w=0.2} are you?{w=0.75}{nw}" - extend 1fsldvlsbl " Ehehe..." + extend 4fsqsm " [player]?" + n 3fcsbglsbl "Y-{w=0.2}you aren't trying to {i}sweeten{/i} me up or something,{w=0.2} are you?{w=0.75}{nw}" + extend 3fsldvlsbl " Ehehe..." n 1fslbolsbl "..." - n 1fcsbglsbl "W-{w=0.2}well,{w=0.2} anyway!" + n 3fcsbglsbl "W-{w=0.2}well,{w=0.2} anyway!" elif Natsuki.isNormal(higher=True): if get_topic("talk_chocolate_preference").shown_count > 0: - n 1tnmboeqm "Huh?{w=1}{nw}" - extend 1tslpueqm " Didn't you ask me this already,{w=0.2} [player]?" + n 4tnmboeqm "Huh?{w=1}{nw}" + extend 2tslpueqm " Didn't you ask me this already,{w=0.2} [player]?" n 1ullaj "Well,{w=0.75}{nw}" extend 1unmbo " I wouldn't say I've changed my mind..." else: - n 1unmboeqm "Eh?{w=0.75}{nw}" - extend 1tllbo " My favorite kind of chocolate,{w=0.5}{nw}" - extend 1tnmss " huh?" - n 1uupaj "That's...{w=1}{nw}" - extend 1flrbo " actually a pretty tough one,{w=0.75}{nw}" + n 4unmboeqm "Eh?{w=0.75}{nw}" + extend 2tllbo " My favorite kind of chocolate,{w=0.5}{nw}" + extend 2tnmss " huh?" + n 2uupaj "That's...{w=1}{nw}" + extend 4flrbo " actually a pretty tough one,{w=0.75}{nw}" extend 1tnmbo " to be honest." n 1ullaj "I mean..." elif Natsuki.isDistressed(higher=True): - n 1fcsansbl "Oh,{w=1}{nw}" - extend 1fsremsbl " {i}please{/i}." + n 3fcsansbl "Oh,{w=1}{nw}" + extend 3fsremsbl " {i}please{/i}." if get_topic("talk_chocolate_preference").shown_count > 0: - n 1fcsemsbl "Really,{w=0.2} [player]?{w=1}{nw}" - extend 1fsqemsbl " {i}This{/i} again?" + n 2fcsemsbl "Really,{w=0.2} [player]?{w=1}{nw}" + extend 2fsqemsbl " {i}This{/i} again?" else: - n 1fsqslsbl "Really,{w=0.2} [player]?" + n 2fsqslsbl "Really,{w=0.2} [player]?" n 1fcssl "..." - n 1fcsemesi "...Fine.{w=0.75}{nw}" - extend 1fslbo " For what it even {i}matters{/i} to you." + n 3fcsemesi "...Fine.{w=0.75}{nw}" + extend 3fslbo " For what it even {i}matters{/i} to you." n 1fllem "White chocolate,{w=0.2} probably." - n 1tsqem "...Why?{w=1}{nw}" - extend 1fcsem " It's cheap,{w=0.5} full of sugars and fats,{w=0.75}{nw}" - extend 1fcssr " and I could always add it to whatever I wanted." + n 4tsqem "...Why?{w=1}{nw}" + extend 2fcsem " It's cheap,{w=0.5} full of sugars and fats,{w=0.75}{nw}" + extend 2fcssr " and I could always add it to whatever I wanted." n 1fsqfr "What?{w=1}{nw}" extend 1fsqaj " Don't act like you {i}seriously{/i} expected anything different.{w=0.75}{nw}" - n 1fsran "As if {i}I{/i} was the one going to {i}fancy{/i} candy stores to pick out whatever I fancied." - n 1fsqun "..." + n 2fsran "As if {i}I{/i} was the one going to {i}fancy{/i} candy stores to pick out whatever I fancied." + n 2fsqun "..." n 1fslun "Yeah.{w=1}{nw}" extend 1fcsfr " Not like I thought {i}you{/i} would get it." - n 1fcsbo "Whatever." + n 2fcsbo "Whatever." n 1flrpu "The others are fine too,{w=0.75}{nw}" - extend 1fsrfr " I guess." + extend 4fsrfr " I guess." n 1fllsl "Milk chocolate is just kinda boring.{w=1}{nw}" - extend 1fslan " And there's no {i}way{/i} I could get dark chocolate with {i}my{/i} kind of budget." + extend 2fslan " And there's no {i}way{/i} I could get dark chocolate with {i}my{/i} kind of budget." n 1fcsboesi "..." - n 1fslaj "So...{w=1}{nw}" - extend 1fslsl " yeah.{w=0.75}{nw}" - extend 1fsrbo " That about sums it up." + n 2fslaj "So...{w=1}{nw}" + extend 2fslsl " yeah.{w=0.75}{nw}" + extend 2fsrbo " That about sums it up." n 1fsqbo "..." n 1fnmfr "There.{w=0.3} Happy now?" - n 1tsqem "Because unless you magically have something to sweeten {i}this{/i} experience up?" + n 2tsqem "Because unless you magically have something to sweeten {i}this{/i} experience up?" n 1fcssr "Heh." - n 1fsqan "I think we're about done here,{w=0.2} {i}[player]{/i}." + n 2fsqan "I think we're about done here,{w=0.2} {i}[player]{/i}." return @@ -8692,104 +8694,584 @@ label talk_chocolate_preference: extend 1fsqanltsb " My favourite type of chocolate?" if get_topic("event_warm_package").shown_count > 0: - n 1fsqupltsb "Does your memory {i}seriously{/i} suck as much as your personality does?" + n 2fsqupltsb "Does your memory {i}seriously{/i} suck as much as your personality does?" n 1fcsunltsa "..." n 1fsqfrltsb "Allow me to {i}remind{/i} you,{w=0.2} {i}[player]{/i}." else: - n 1fsqupltsb "You {i}really{/i} wanna know,{w=0.2} [player]?" + n 2fsqupltsb "You {i}really{/i} wanna know,{w=0.2} [player]?" n 1fcsunltsa "..." n 1fcsupltsa "Not whatever cheap,{w=0.75}{nw}" - extend 1fnmanltsc " half-{w=0.2}expired{w=0.75}{nw}" - extend 1fsqwrltsb " trash{w=0.75}{nw}" + extend 2fnmanltsc " half-{w=0.2}expired{w=0.75}{nw}" + extend 2fsqwrltsb " trash{w=0.75}{nw}" extend 1fnmfultsc " {i}you{/i} would hand me,{w=1}{nw}" extend 1fcsfultsa " that's for sure." - n 1fsqanltsb "Jerk." + n 2fsqanltsb "Jerk." return n 1fcstr "It's {i}gotta{/i} be white chocolate.{w=0.75}{nw}" - extend 1fchbg " Any day of the week!" - n 1nslsmsbr "It {i}is{/i} practically overflowing with sugar...{w=0.75}{nw}" - extend 1nsrdvsbr " and debatably even {i}chocolate{/i}..." + extend 3fchbg " Any day of the week!" + n 4nslcssbr "It {i}is{/i} practically overflowing with sugar...{w=0.75}{nw}" + extend 4nsrdvsbr " and debatably even {i}chocolate{/i}..." if get_topic("event_warm_package").shown_count > 0: - n 1uspajl "But that {i}taste{/i}!{w=0.75}{nw}" + n 4uspajl "But that {i}taste{/i}!{w=0.75}{nw}" extend 1uchtsleme " Especially in hot chocolate!" else: n 1uspajl "But that {i}taste{/i}!" n 1kcsssl "So creamy and light,{w=1}{nw}" - extend 1kcstsl " with just that hint of vanilla...{w=1}{nw}" - extend 1fchbgl " I love it!" - n 1unmajesu "Oh!{w=0.75}{nw}" + extend 3kcstsl " with just that hint of vanilla...{w=1}{nw}" + extend 3fchbgl " I love it!" + n 4unmajesu "Oh!{w=0.75}{nw}" extend 1fchbg " And it's even super convenient for baking!" n 1ullss "It's pretty inexpensive -{w=0.5}{nw}" - extend 1nsrsssbl " since it really doesn't have much {i}actual{/i} cocoa at all -{w=0.5}{nw}" - extend 1ulrss " I never have to worry about how strong it is,{w=0.75}{nw}" - extend 1fchsm " plus it goes super well with regular old chocolate too!" + extend 2nsrsssbl " since it really doesn't have much {i}actual{/i} cocoa at all -{w=0.5}{nw}" + extend 2ulrss " I never have to worry about how strong it is,{w=0.75}{nw}" + extend 2fchsm " plus it goes super well with regular old chocolate too!" n 1fchbl "Talk about multipurpose!" - n 1tsqss "Bought some as a treat and can't finish the job?{w=0.75}{nw}" + n 4tsqss "Bought some as a treat and can't finish the job?{w=0.75}{nw}" extend 1fchsmeme " No problemo!" n 1ullss "Just wrap it back up,{w=0.2} save it,{w=0.75}{nw}" - extend 1fwlbg " and that's your next cake topping sorted!" - n 1fcsss "So take it from me,{w=0.2} [player]:{w=1}{nw}" - extend 1uchgn " it's a confectioner's best friend!" + extend 3fwlbg " and that's your next cake topping sorted!" + n 3fcsss "So take it from me,{w=0.2} [player]:{w=1}{nw}" + extend 3uchgn " it's a confectioner's best friend!" n 1fcssm "..." - n 1unmajesu "...Ah!{w=1}{nw}" - n 1fllbglsbr "T-{w=0.2}that's not to say the others are terrible,{w=0.2} or anything like that.{w=0.75}{nw}" - extend 1unmajsbr " Chocolate is super subjective!{w=1}{nw}" - extend 1nsrsssbr " But..." + n 4unmajesu "...Ah!{w=1}{nw}" + n 4fllbglsbr "T-{w=0.2}that's not to say the others are terrible,{w=0.2} or anything like that.{w=0.75}{nw}" + extend 2unmajsbr " Chocolate is super subjective!{w=1}{nw}" + extend 2nsrsssbr " But..." n 1tnmbo "I guess I just don't really see the appeal {i}as{/i} much." - n 1nslss "Milk chocolate is {i}okay{/i},{w=0.2} but you kinda see it everywhere already." - n 1fllpu "As for dark chocolate..." - n 1nsrunsbl "..." - n 1fcsbglsbr "W-{w=0.2}well,{w=1}{nw}" - extend 1flrsslsbr " it totally has its place too!" + n 4nslss "Milk chocolate is {i}okay{/i},{w=0.2} but you kinda see it everywhere already." + n 2fllpu "As for dark chocolate..." + n 2nsrunsbl "..." + n 2fcsbglsbr "W-{w=0.2}well,{w=1}{nw}" + extend 4flrsslsbr " it totally has its place too!" n 1unmaj "Sometimes,{w=0.2} that dash of bitterness is just what you need!{w=0.75}{nw}" extend 1ullbo " Plus with all the antioxidants and generally the least sugar..." - n 1tnmsssbl "A-{w=0.2}at least for chocolate?{w=1}{nw}" - extend 1kchbgsbl " I guess it doesn't really get much healthier than that!" + n 2tnmsssbl "A-{w=0.2}at least for chocolate?{w=1}{nw}" + extend 2kchbgsbl " I guess it doesn't really get much healthier than that!" n 1fcsbg "So yeah!{w=0.75}{nw}" - extend 1fllbgsbr " It {i}totally{/i} has its place,{w=0.2} like I said..." - n 1fslposbr "...Just not in {i}my{/i} mouth.{w=0.75}{nw}" - extend 1fchsmsbr " That's all I'm saying!" + extend 4fllbgsbr " It {i}totally{/i} has its place,{w=0.2} like I said..." + n 2fslposbr "...Just not in {i}my{/i} mouth.{w=0.75}{nw}" + extend 2fchsmsbr " That's all I'm saying!" n 1fllajlsbr "A-{w=0.2}anyway!{w=0.75}{nw}" extend 1fcsajl " Enough of me yammering on again.{w=0.75}{nw}" - extend 1tlrsssbl " Jeez." + extend 2tlrsssbl " Jeez." n 1unmaj "What about you,{w=0.2} [player]?{w=0.75}{nw}" n 1fbkwreex "...Wait!{w=1}{nw}" extend 1fcsbg " Don't tell me!" - n 1fcssresp "..." + n 4fcssresp "..." if Natsuki.isLove(higher=True): - n 1fcsgs "It {i}has{/i} to be white chocolate.{w=0.75}{nw}" - extend 1fchbl " Complete no-brainer.{w=1}{nw}" - extend 1fcsss " Besides..." - n 1fsldvlsbl "I-{w=0.2}I like to think I {i}know{/i} a sweetheart when I see one." - n 1fchsmlsbl "Ehehe..." - n 1fchblfsbl "L-{w=0.2}love you,{w=0.2} [player]~!" + n 3fcsgs "It {i}has{/i} to be white chocolate.{w=0.75}{nw}" + extend 3fchbl " Complete no-brainer.{w=1}{nw}" + extend 4fcsss " Besides..." + n 4fsldvlsbl "I-{w=0.2}I like to think I {i}know{/i} a sweetheart when I see one." + n 2fchsmlsbl "Ehehe..." + n 2fchblfsbl "L-{w=0.2}love you,{w=0.2} [player]~!" elif Natsuki.isEnamored(higher=True): n 1fcsbg "...It's {i}gotta{/i} be white chocolate.{w=1}{nw}" - extend 1fcssm " Besides..." - n 1fllssless "H-{w=0.2}how else would our time together be this sweet?" - n 1fchsmless "Ehehe..." + extend 4fcssm " Besides..." + n 2fllssless "H-{w=0.2}how else would our time together be this sweet?" + n 2fchsmless "Ehehe..." elif Natsuki.isAffectionate(higher=True): n 1uupaj "...Probably milk chocolate,{w=0.75}{nw}" - extend 1tsqsm " I'd guess." - n 1fchgn "...You've gone about as soft,{w=0.2} after all!" + extend 3tsqsm " I'd guess." + n 3fchgn "...You've gone about as soft,{w=0.2} after all!" else: n 1fcspu "It's...{w=1}{nw}" - extend 1tnmpu " actually kinda hard to guess,{w=0.75}{nw}" - extend 1tllsl " to be honest." + extend 2tnmpu " actually kinda hard to guess,{w=0.75}{nw}" + extend 2tllsl " to be honest." n 1tnmss "I {i}would{/i} say dark chocolate,{w=0.5}{nw}" - extend 1tsqss " but..." - n 1fchgnl "I like to think you aren't {i}that{/i} bitter!{w=0.75}{nw}" - extend 1nchgn " Ahaha." + extend 4tsqss " but..." + n 3fchgnl "I like to think you aren't {i}that{/i} bitter!{w=0.75}{nw}" + extend 3nchgn " Ahaha." + + return + +# Natsuki discusses her experiences and frustrations learning other languages. +init 5 python: + registerTopic( + Topic( + persistent._topic_database, + label="talk_learning_languages", + unlocked=True, + prompt="Learning languages", + category=["Society"], + nat_says=True, + affinity_range=(jn_affinity.HAPPY, None), + location="classroom" + ), + topic_group=TOPIC_TYPE_NORMAL + ) + +label talk_learning_languages: + $ already_discussed_learning_languages = get_topic("talk_learning_languages").shown_count > 0 + if already_discussed_learning_languages: + n 1ncsemesi "..." + n 1nsrem "Man...{w=1}{nw}" + extend 2fcspo " I still can't believe I messed up my German {i}that{/i} badly last time.{w=0.75}{nw}" + extend 2kslan " Yeesh." + n 1tnmaj "But anyway,{w=0.2} it's like I said before.{w=0.5}{nw}" + extend 4kbkwr " Learning a new language is {i}super{/i} tricky!" + + else: + n 1nllpu "..." + n 2fllsm "..." + n 4fsqsm "..." + n 1fcsss "Heh." + n 2fcsaj "Ahem!" + n 1fcssm "..." + + # Natsuki struggles with German + n 3uchgn "Moin moin,{w=0.2} [player]!{w=0.75}{nw}" + extend 1usqsm " Was liegt an?{w=0.5}{nw}" + extend 1fchss " Ehehe." + n 3fcsbs "Ich wette du wusstest nicht, dass ich nicht {i}nur{/i} Englisch tue,{w=0.2} huh?" + n 1tsqbg "Du solltest auch versuchen mehr Sprachen...{w=0.5} f-fluessig..." + n 2fsrbglsbl "f-fliessend...?" + n 1fsrunlesdsbr "..." + n 2tsremlesssbr "zu reden...?{w=0.5}{nw}" + extend 2fcsbglesssbr " Sprachfluss!" + n 4flrbglsbr "O-oder wie man auch sagt -{w=0.3}{nw}" + extend 1fcsbglsbl " wer rasst..." + n 2fllunlesssbl "r-rastet...!{w=0.5}{nw}" + extend 2klremfesssbl " Hat Rosen...?{w=0.75}{nw}" + extend 2kllemfesssbl " Mit Rost!" + + n 1fcsunfesssbr "..." + n 2fcsanfesssbr "Nnnnnn-!" + n 1fcsemlesssbr "Oh,{w=0.75}{nw}" + extend 4fbkwrlesssbr " {i}forget it{/i}!{w=0.75}{nw}" + extend 2kslpul " This is so embarrassing..." + n 1fslunl "..." + + n 4uskemlesh "...!{w=0.5}{nw}" + n 2fcswrl "N-{w=0.3}not like I couldn't do it!{w=0.75}{nw}" + extend 2flleml " I can {i}totally{/i} ace it alone." + n 1fcseml "I'm...{w=0.5}{nw}" + extend 4fsrpol " just being put off.{w=0.5}{nw}" + extend 4fsqpol " Having an {i}audience{/i},{w=0.2} and all." + n 1fnmpu "But seriously,{w=0.2} [player].{w=0.75}{nw}" + extend 3tnmaj " Have you ever {i}tried{/i} learning another language?" + n 1fbkwr "It's super hard!{w=1}{nw}" + extend 2fslpo " I don't know how people do it!" + + n 1tslpu "Like..." + n 1unmaj "We had language classes in school -{w=0.5}{nw}" + extend 2nslss " obviously -{w=0.75}{nw}" + extend 2fnmpu " but there was never enough time to actually {i}practice{/i}!" + n 1fllem "We'd get paired up with partners and practice pronunciations and such." + n 4unmem "But when neither of you actually {i}know{/i} the language,{w=0.5}{nw}" + extend 2fcswr " how're you meant to know when someone's doing something wrong?" + n 1fllaj "Then with all the other studies flying around,{w=0.5}{nw}" + extend 3fsrsr " it's not like we had the spare time to try it outside of school either." + n 3tsqpu "Plus,{w=0.2} with how complex all the rules are and how much repetition you need,{w=0.5}{nw}" + extend 3fcsem " one or two classes a week just doesn't cut it!" + n 1fllpu "Like,{w=0.75}{nw}" + extend 4fnmem " how is someone supposed to remember if some random household thing has a masculine or feminine name?" + n 3flrwr "Or how to pronounce some random word-spaghetti that looks like someone just made it all up?!" + n 1kcsemesi "Ugh..." + n 1ucspu "I mean...{w=0.75}{nw}" + extend 1unmpu " don't get me wrong!{w=0.5}{nw}" + extend 3fcssl " It's not like I {i}didn't{/i} like learning a new language!" + n 3nsrss "And at {i}least{/i} we got to pick which language we wanted to learn." + n 3nsqpo "I just wish we got to actually,{w=0.2} well..." + n 3kslpo "{i}Learn them{/i},{w=0.2} you know?" + n 1fcsss "Heh.{w=0.5}{nw}" + extend 4fslsr " Not like any of that ever stopped {i}Monika{/i},{w=0.2} of course." + n 1nslpu "Though...{w=0.75}{nw}" + n 2fnmsll "I still kinda feel like I was robbed of experiences in that way." + n 1fllss "It's easy to forget there's a whole world out there when you only interact with a certain language-speaking part of it!" + + if get_topic("talk_flying").shown_count > 0: + n 2tllaj "I think I mentioned before that I've never flown anywhere.{w=0.5}{nw}" + extend 2tnmpu " But if I did?" + n 1fcsss "I'd want to at least try to learn a little of the language for where I'm going." + n 1fnmpu "Think about it!{w=0.75}{nw}" + extend 1fcsbg " If you're already putting in all that money and effort to arrange it all..." + n 3tsqsmesm "What's a little extra to show some respect,{w=0.2} right?" + + else: + n 2tsqss "And with how much more you unlock when you know how to talk the languages there?" + n 1fsqsr "You'd have to be a real dummy not to at {i}least{/i} think about it.{w=0.5}{nw}" + extend 4fsqsm " Ehehe." + + n 1ullaj "But...{w=0.75}{nw}" + extend 2nnmbo " that's just me,{w=0.2} I guess." + n 2tnmss "What about you though,{w=0.2} [player]?" + $ menu_opening = "Anything new in the language department?" if already_discussed_learning_languages else "You know any other languages?" + + menu: + n "[menu_opening]" + + "I know another language.": + if persistent._jn_player_is_multilingual: + n 4uskemlesh "H-{w=0.3}huh?{w=0.75}{nw}" + extend 2fnmeml " But you already said you knew another language!" + n 2fsqsfl "...And you're telling me you went and learned another one?!" + n 1fsrbol "Wow,{w=0.2} [player]..." + n 3tsqss "...You really are a show-off,{w=0.2} huh?{w=0.5}{nw}" + extend 4fsqsm " Ehehe." + + else: + n 1tsqcs "Oho?{w=0.75}{nw}" + extend 3fsqbg " Well,{w=0.2} look at you!{w=0.5}{nw}" + extend 3fsqss " Better not get too cocky now,{w=0.2} [player]..." + n 1usqsm "You aren't the {i}only{/i} multilingual here,{w=0.2} after all.{w=0.5}{nw}" + extend 4fsqsm " Ehehe." + $ persistent._jn_player_is_multilingual = True + + "I know multiple other languages.": + if persistent._jn_player_is_multilingual: + n 1fllem "Oh,{w=0.5}{nw}" + extend 2fcswr " come {b}on{/b}!{w=0.75}{nw}" + extend 2fsqem " Really?" + n 1fslem "You're {i}such{/i} a show-off,{w=0.2} [player]." + n 4fsqsm "...Ehehe." + + else: + n 1fsqsr "..." + n 2fsrpo "...Show-{w=0.2}off.{w=0.5}{nw}" + extend 4fsqsm " Ehehe." + $ persistent._jn_player_is_multilingual = True + + "I'm trying to learn another language.": + if persistent._jn_player_is_multilingual: + n 1unmaj "Oh?{w=0.75}{nw}" + extend 1flrbg " Well,{w=0.2} hey!" + n 3fsqss "That makes both of us now,{w=0.2} huh?{w=0.5}{nw}" + extend 4fsqsm " Ehehe." + + else: + n 4fnmbgesu "Aha!{w=0.5}{nw}" + extend 3tsqbg " So you're familiar with the struggle too,{w=0.2} huh?" + n 1fsqsm "Ehehe." + $ persistent._jn_player_is_multilingual = False + + "I don't know any other languages.": + if persistent._jn_player_is_multilingual: + n 1tsqaj "...Huh?" + n 4uskemlesh "W-{w=0.2}wait a second!{w=0.5}{nw}" + extend 2fsqem " You already {i}said{/i} you knew another language!" + n 2fslpol "I wasn't born {i}yesterday{/i},{w=0.2} you jerk..." + + else: + n 1unmem "...Huh?{w=0.5} Really?{w=0.5}{nw}" + extend 2knmpo " Not even a little?" + n 1ncspuesi "Man..." + n 1nllpu "I gotta admit,{w=0.5}{nw}" + extend 4nsqbo " that's kinda disappointing." + n 1fsqbg "...Nothing stopping you from getting started though,{w=0.2} right?{w=0.5}{nw}" + extend 2fsqsm " Ehehe." + $ persistent._jn_player_is_multilingual = False + + n 1ullaj "Well,{w=0.2} anyway.{w=1}{nw}" + extend 2tnmss " I think I've gone on long enough at this point,{w=0.2} huh?" + n 2tlrss "And,{w=0.2} well...{w=0.75}{nw}" + extend 4fsqbg " as they say in {i}Deutschland{/i}..." + n 1ncsss "Alles hat ein Ende,{w=0.5}{nw}" + extend 3uchgnlelg " nur die Wurst hat zwei!" + + return + +# Natsuki pitches the idea of rage rooms and how they can be fun to the player. +# Natsuki smash! +init 5 python: + registerTopic( + Topic( + persistent._topic_database, + label="talk_rage_rooms", + unlocked=True, + prompt="Rage rooms", + category=["Entertainment", "Hobbies"], + nat_says=True, + affinity_range=(jn_affinity.HAPPY, None), + location="classroom" + ), + topic_group=TOPIC_TYPE_NORMAL + ) + +label talk_rage_rooms: + $ already_discussed_rage_rooms = get_topic("talk_rage_rooms").shown_count > 0 + + if already_discussed_rage_rooms: + n 2fslss "Man..." + n 2ullaj "You know,{w=0.5}{nw}" + extend 2tnmbo " [player]..." + n 1fcssm "I still can't get my mind off rage rooms." + n 1ulraj "I know we spoke about them before,{w=0.2} but..." + n 3nsrss "Well,{w=0.75}{nw}" + extend 3tnmpu " can you blame me?" + + else: + n 1ullaj "Hey,{w=0.2} [player]..." + n 1ulrbo "This is kinda random,{w=0.5}{nw}" + extend 4ulraj " but..." + n 2tnmpu "Have you ever been to a rage room before?" + n 2nslsssbr "I've never actually {i}been{/i} to one myself,{w=0.75}{nw}" + extend 1ncsaj " but oh.{w=0.5}{nw}" + extend 1fcsaj " My.{w=0.5}{nw}" + extend 1fcsaw " God.{w=0.5}{nw}" + extend 2nsqsr " [player]." + + n 1fcspu "They...{w=0.75}{nw}" + extend 1fcsaj " look...{w=0.75}{nw}" + extend 4fspgsedz " {i}awesome{/i}!" + n 4uwdaj "No,{w=0.2} really!{w=0.75}{nw}" + extend 2fcspo " I'm serious!" + n 1ullss "You basically get an entire room full of useless old junk:{w=0.5}{nw}" + extend 1ulrbo " unwanted furniture,{w=0.2} decorations,{w=0.2} old computer hardware...{w=0.75}{nw}" + extend 1nnmbo " as well as a bunch of tools and safety equipment." + n 1nllpu "You know.{w=0.75}{nw}" + extend 2ullaj " Goggles,{w=0.2} hammers,{w=0.5}{nw}" + extend 2nllsm " that sort of thing." + n 2tsqsm "And then...?" + n 1fcssm "Ehehe." + n 3fchbg "Come on,{w=0.2} [player]!{w=0.75}{nw}" + extend 3fsqbg " What {i}else{/i} do you think it's all for?" + n 3uchgnelg "...You get to beat the absolute {i}SNOT{/i} out of everything!" + n 1unmbs "Seriously!{w=0.75}{nw}" + extend 1fchbs " You just get to go wild!" + n 2tsqbg "...And the best part?{w=1}{nw}" + extend 1fchbg " You don't have to clean up afterwards either!{w=0.75}{nw}" + extend 4fspgs " You can even take people {i}with{/i} you!" + n 1fcsss "Man...{w=0.75}{nw}" + extend 3fchgn " imagine {i}Yuri{/i} trying out something like that!" + n 3nsrdvsbl "And Sayori..." + n 4uwdbosbl "...There'd be no room {i}left{/i}!" + n 1ullss "Of course,{w=0.5}{nw}" + extend 1ullbo " they already supply a bunch of their own things you can smash up...{w=0.75}" + n 1fchsm "But you can totally bring your own stuff too!{w=0.75}{nw}" + extend 3nsrsmsbr " Well..." + n 1nlrbo "So long as it's all safe to break up -{w=0.5}{nw}" + extend 2nsrsssbl " no big batteries,{w=0.2} pressurized things,{w=0.2} or anything dumb like that." + n 1fsqsm "Finally had enough of that garbage printer chewing up all your assignments?" + n 1fcsbg "Nothing like some trial by combat to show who's on top!" + n 4unmajesu "Oh!{w=0.5}{nw}" + extend 1nnmbo " Don't get me wrong though." + n 3nsrbgsbl "You still gotta pay regardless of if you brought your own junk,{w=0.75}{nw}" + extend 3nsrposbl " of course...{w=1}{nw}" + extend 3kslslsbl " and it really {i}isn't{/i} a way to deal with anger issues or anything like that." + n 1fcssm "But I gotta say,{w=0.2} [player]." + n 4fsqbg "If that doesn't sound like a {w=0.2}{i}smashing{/i}{w=0.2} way to relieve stress..." + n 2uchgn "Then I don't know what is!{w=0.5}{nw}" + extend 1fchsmeme " Ehehe." + + return + +# Allows the player to ask Natsuki to take down any decorations in the room. +init 5 python: + registerTopic( + Topic( + persistent._topic_database, + label="talk_take_down_deco", + unlocked=True, + prompt="Can you tidy away the decorations for me?", + conditional="len(store.persistent._jn_holiday_deco_list_on_quit) > 0", + category=["Holidays"], + player_says=True, + affinity_range=(jn_affinity.HAPPY, None), + location="classroom" + ), + topic_group=TOPIC_TYPE_NORMAL + ) + +label talk_take_down_deco: + n 2tllpu "Just not feeling the celebrations today,{w=0.75}{nw}" + extend 2tnmsl " [player]?" + + if len(jn_events.getHolidaysForDate()) == 0: + n 2nslsssbl "I suppose they {i}have{/i} kinda overstayed their welcome..." + n 2nslposbl "..." + + else: + n 1ncsemesi "...{w=1}{nw}" + + n 1ulraj "Yeah,{w=0.5}{nw}" + extend 1nlrbo " I can do that.{w=0.75}{nw}" + extend 3nsrpo " I guess.{w=1}{nw}" + extend 3fsqca " But you're putting it all up next time." + n 1nllsl "Just give me a second here...{w=1}{nw}" + show natsuki 1ncssl + + show black zorder 4 with Dissolve(0.5) + $ jnPause(1) + play audio chair_out + $ jnPause(3) + hide deco + $ persistent._jn_holiday_deco_list_on_quit = [] + play audio clothing_ruffle + $ jnPause(2) + play audio drawer + $ jnPause(3) + play audio chair_in + $ jnPause(1) + show natsuki 1nlrbo at jn_center + hide black with Dissolve(1.25) + + n 1ulraj "And I think that's everything!" + + return + +# Natsuki adds her thoughts on vegetarianism/veganism. +init 5 python: + registerTopic( + Topic( + persistent._topic_database, + label="talk_thoughts_on_vegetarianism", + unlocked=True, + prompt="What do you think about vegetarianism?", + conditional="jn_utils.get_total_gameplay_hours() >= 4", + category=["Food", "Society"], + player_says=True, + location="classroom" + ), + topic_group=TOPIC_TYPE_NORMAL + ) + +label talk_thoughts_on_vegetarianism: + $ already_discussed_vegetarianism = get_topic("talk_thoughts_on_vegetarianism").shown_count > 0 + + if Natsuki.isNormal(higher=True): + if already_discussed_vegetarianism: + n 2tnmpu "Huh?{w=0.5}{nw}" + extend 2tnmsl " Vegetarianism?" + n 1fcspu "...Wait." + n 2tllboeqm "Didn't we talk about this before?" + n 2tslbo "..." + + else: + n 1tnmpu "Eh?{w=0.5}{nw}" + extend 2tnmsleqm " Vegetarianism?" + n 1tllaj "That's...{w=0.75}{nw}" + extend 1ullss " definitely not a question I was expecting,{w=0.75}{nw}" + extend 4tnmbo " I gotta say." + n 1ulrpu "But...{w=0.75}{nw}" + extend 2tsqss " why do you ask,{w=0.2} [player]?" + n 2fsqsm "Looking to turn over a new leaf,{w=0.2} are we?{w=0.75}{nw}" + extend 1fchsm " Ehehe." + + n 1ullss "Well,{w=0.2} anyway.{w=0.75}{nw}" + extend 4tnmbo " In all seriousness?" + n 1ulraj "I've never really thought about it that much,{w=0.5}{nw}" + extend 2ulrbo " to be honest." + n 2nsrss "We had vegetarian and vegan options at school,{w=0.75}{nw}" + extend 2tnmbo " but I never really felt a particular drive to try them out or anything." + n 4nslsssbr "And it's not like I can really try them {i}now{/i},{w=0.2} either." + n 1unmeml "B-{w=0.2}but that's not to say they looked {i}bad{/i} or anything!" + n 2fsldv "At least not to me." + n 1fllss "Heck,{w=0.75}{nw}" + extend 3fchgn " Monika shoveled that stuff down like there was no tomorrow!" + n 1ulraj "Although...{w=1}{nw}" + extend 3fcscaedz " I do think it's super admirable how people can put meat aside for so many reasons!{w=1}{nw}" + extend 4uwdaj " Seriously!" + n 1ullaj "I mean,{w=0.75}{nw}" + extend 1nllsl " it's one thing to skip out on eating a particular type of meat.{w=0.75}{nw}" + extend 2fcsss " Anyone can do that." + n 1tnmpu "But dropping {i}everything{/i},{w=0.75}{nw}" + extend 4unmem " or even refusing {i}any{/i} animal products whatsoever?" + n 3fcsbg "Now {i}that{/i} takes some guts!{w=1.25}{nw}" + extend 3fsldvsbl " ...Pun not intended." + n 1ullaj "Of course,{w=0.5}{nw}" + extend 2tllsl " maybe some people just don't like the taste.{w=0.75}{nw}" + extend 2tnmbo " I totally get that.{w=1}{nw}" + extend 1fnmaj " But there's a whole bunch of reasons people do it -{w=0.5}{nw}" + extend 1fcsbg " and they're all just as valid!" + n 3ulraj "Environmental concerns,{w=0.5}{nw}" + extend 3nslun " animal welfare...{w=0.75}{nw}" + extend 3kchbgsbr " even just to save money!" + n 4tsqsssbr "Crazy to think how a single lifestyle choice can come from so many places,{w=0.2} huh?" + n 1unmajesu "Oh -{w=0.5}{nw}" + extend 2fllbgsbl " don't worry,{w=0.2} [player].{w=0.75}{nw}" + extend 2nslpo " I'm not gonna get all preachy about it or anything like that." + n 1unmca "It {i}is{/i} just a choice like anything else,{w=0.75}{nw}" + extend 1nlrss " after all.{w=0.75}{nw}" + extend 2nsrsssbl " And a personal one at that." + n 4fwlbg "...As if that's gonna stop me suggesting it though!" + n 2fsldv "Even if {i}I{/i} can't try it out myself right now..." + n 1fsqsm "There's no excuse for you!{w=1}{nw}" + extend 1fcsbg " Sorry,{w=0.2} [player]." + n 3uchgn "'Fraid you aren't wriggling out of this one!" + n 1fcsbg "So!" + n 1ulraj "I don't know if you're practicing an animal-free diet already,{w=0.75}{nw}" + extend 4fsqss " but if you aren't..." + n 1fchbg "Why not give it a shot,{w=0.2} [player]?" + n 1ullss "You don't need to go all out or anything -{w=0.5}{nw}" + extend 3fchsm " you could swap out just a single meal a day and see how you're feeling!" + n 4tlrss "Plus with all the recipes out there,{w=0.75}{nw}" + extend 4tsqbg " the hard work is practically already done for you!{w=0.75}{nw}" + extend 3fchsmeme " Easy peasy!" + n 3tnmsm "And anyway,{w=0.75}{nw}" + extend 1tllaj " even if it's only for a day or two,{w=0.2} and it doesn't work out:{w=0.5}{nw}" + extend 4tsqsm " at least you can say you {i}tried{/i} it,{w=0.2} right?" + n 4tslsm "Well,{w=0.2} at any rate -{w=0.5}{nw}" + extend 1nslss " I've gone on long enough,{w=0.75}{nw}" + extend 1fcsss " so I think that's about all I have to say on that topic." + n 1fsqss "Besides,{w=0.2} [player]..." + n 3fsqbg "Wouldn't want to turn you into a {i}vegetable{/i} now,{w=0.75}{nw}" + extend 3tsqcs " would we?" + n 3nchgnelg "Ehehe." + + if Natsuki.isLove(higher=True): + n 4fchblleaf "Love you,{w=0.2} [player]~!" + + elif Natsuki.isDistressed(higher=True): + if already_discussed_vegetarianism: + n 1fcsemesi "..." + n 2fslsl "Seriously,{w=0.75}{nw}" + extend 2fsqsl " [player]?" + n 2nsqsr "This {i}again{/i}?" + + else: + n 1fcsem "...Really,{w=0.2} [player]?{w=0.75}{nw}" + extend 2fsqsr " {i}Vegetarianism{/i}?" + n 2fcssl "..." + + n 1fcssl "..." + n 1nsrsl "Whatever.{w=1}{nw}" + extend 2fsrsr " It's not like I have much to say about it." + n 1nnmbo "I never really practiced it or anything like that,{w=0.75}{nw}" + extend 1nllsl " but I can at least respect the effort people make." + n 2fcsaj "It takes some real guts to cut out so many options from your diet.{w=0.75}{nw}" + extend 2flrca " Or even from your lifestyle completely." + n 4nlrtr "People do it for a whole bunch of reasons,{w=0.75}{nw}" + extend 4nsrsl " obviously." + n 1nlrpu "But...{w=1}{nw}" + extend 1nnmsl " I guess it's cool how a single lifestyle choice can link tons of people together." + n 1ullsl "The environment,{w=0.5}{nw}" + extend 2nslsf " animal welfare...{w=0.75}{nw}" + extend 2ksrbo " even just fruits and veggies being cheaper to buy in bulk." + n 1fcsca "It's all just as valid.{w=0.75}{nw}" + extend 1ncssl " Just like the choice to start going animal-free or not." + n 2ncsss "...Heh.{w=0.75}{nw}" + extend 2fsqsl " And speaking of choices people make..." + n 4fnmem "No prizes for guessing who should be making better ones right now,{w=0.75}{nw}" + extend 1fsqan " {i}[player]{/i}." + + else: + if already_discussed_vegetarianism: + n 1fcsan "Oh,{w=0.75}{nw}" + extend 2fsqupl " take a hike already,{w=0.2} [player]." + n 2fsleml "I'm {i}still{/i} not giving you an answer.{w=0.75}{nw}" + extend 1fsqful " A-{w=0.2}and why should I?" + n 1fcsanltsa "{i}Anything{/i} I ever say to you is wrong,{w=0.75}{nw}" + extend 2fcssrltsa " apparently." + n 2fnmfultsc "Isn't that right?" + + else: + n 1fsqeml "...Wow.{w=0.75}{nw}" + extend 2fnmanltsc " And why should I even {i}bother{/i} answering,{w=0.2} [player]?" + n 2fllunltsc "Knowing you?" + n 1fcsfultsa "Whatever answer I give is gonna be the {i}wrong{/i} one anyway,{w=0.75}{nw}" + extend 2fsqfultsb " isn't it?" + n 2fcsupltsa "Jerk." return diff --git a/game/sprite-backend.rpy b/game/sprite-backend.rpy index 6c8fe516..0c29fa68 100644 --- a/game/sprite-backend.rpy +++ b/game/sprite-backend.rpy @@ -4,17 +4,21 @@ init -50 python: import store.jn_utils as jn_utils from Enum import Enum - JN_NATSUKI_ZORDER = 3 - _JN_NATSUKI_BASE_SPRITE_PATH = "mod_assets/natsuki/" - _JN_TABLE_SPRITE = "table_normal" + _JN_TABLE_SPRITE = None class JNPose(Enum): sitting = 1 + arms_crossed_body = 2 + arms_crossed_desk = 3 + fingers_on_desk = 4 def __str__(self): return self.name + def __int__(self): + return self.value + class JNBlush(Enum): full = 1 light = 2 @@ -63,6 +67,9 @@ init -50 python: drink = 37 focus = 38 flat_smile = 39 + cat_smug = 40 + flustered = 41 + grit_teeth = 42 def __str__(self): return self.name @@ -145,6 +152,7 @@ init -50 python: sweat_drop = 17 sweat_spritz = 18 sweat_small = 19 + smug = 20 def __str__(self): return self.name @@ -156,6 +164,18 @@ init -50 python: def __str__(self): return self.name + # These are poses with arms rendered under the desk + _JN_BEFORE_DESK_POSES = [ + JNPose.sitting, + JNPose.arms_crossed_body + ] + + # These are poses with arms rendere on top of the desk + _JN_AFTER_DESK_POSES = [ + JNPose.arms_crossed_desk, + JNPose.fingers_on_desk + ] + def jn_generate_natsuki_sprite( pose, eyebrows, @@ -169,69 +189,87 @@ init -50 python: """ Generates sprites for Natsuki based on outfit, expression, pose, etc. """ + + # Base lc_args = [ (1280, 740), # Anchor - (0, 0), _JN_NATSUKI_BASE_SPRITE_PATH + "desk/chair_normal.png", # Chair - (0, 0), "{0}{1}/hair/[Natsuki._outfit.hairstyle.reference_name]/back.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), # Hair back - (0, 0), "{0}{1}/base/body.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), # Body - (0, 0), "{0}{1}/clothes/[Natsuki._outfit.clothes.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), # Outfit, body + (0, 0), _JN_NATSUKI_BASE_SPRITE_PATH + "desk/chair/chair_normal.png", # Chair + (0, 0), "{0}/hair/[Natsuki._outfit.hairstyle.reference_name]/sitting/back.png".format(_JN_NATSUKI_BASE_SPRITE_PATH), # Hair back ] + # Back item + back = "{0}/back/jn_none/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) if not Natsuki._outfit.back else "{0}/back/[Natsuki._outfit.back.reference_name]/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) + lc_args.extend([ + (0, 0), back + ]) + + # Base, clothes + lc_args.extend([ + (0, 0), "{0}/base/{1}/body.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), # Body + (0, 0), "{0}/clothes/[Natsuki._outfit.clothes.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), # Outfit, body + ]) + # Necklace - necklace = Null() if not Natsuki._outfit.necklace else "{0}{1}/necklace/[Natsuki._outfit.necklace.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose) + necklace = "{0}/necklace/jn_none/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) if not Natsuki._outfit.necklace else "{0}/necklace/[Natsuki._outfit.necklace.reference_name]/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) lc_args.extend([ (0, 0), necklace ]) # Head lc_args.extend([ - (0, 0), "{0}{1}/base/head.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), + (0, 0), "{0}/base/{1}/head.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), ]) # Blush if blush: lc_args.extend([ - (0, 0), "{0}{1}/face/blush/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, blush) + (0, 0), "{0}/face/blush/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, blush) ]) # Mouth, nose, hair (front) lc_args.extend([ - (0, 0), "{0}{1}/face/mouth/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, mouth), - (0, 0), "{0}{1}/face/nose/nose.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), - (0, 0), "{0}{1}/hair/[Natsuki._outfit.hairstyle.reference_name]/bangs.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), + (0, 0), "{0}/face/mouth/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, mouth), + (0, 0), "{0}/face/nose/sitting/nose.png".format(_JN_NATSUKI_BASE_SPRITE_PATH), + (0, 0), "{0}/hair/[Natsuki._outfit.hairstyle.reference_name]/sitting/bangs.png".format(_JN_NATSUKI_BASE_SPRITE_PATH), ]) # Accessory - accessory = Null() if not Natsuki._outfit.accessory else "{0}{1}/accessory/[Natsuki._outfit.accessory.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose) + accessory = "{0}/accessory/jn_none/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) if not Natsuki._outfit.accessory else "{0}/accessory/[Natsuki._outfit.accessory.reference_name]/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) lc_args.extend([ (0, 0), accessory ]) # Eyes lc_args.extend([ - (0, 0), "{0}{1}/face/eyes/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, eyes), + (0, 0), "{0}/face/eyes/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, eyes), ]) # Tears if tears: lc_args.extend([ - (0, 0), "{0}{1}/face/tears/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, tears) + (0, 0), "{0}/face/tears/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, tears) ]) # Sweat if sweat: lc_args.extend([ - (0, 0), "{0}{1}/face/sweat/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, sweat) + (0, 0), "{0}/face/sweat/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, sweat) ]) # Headgear - headgear = Null() if not Natsuki._outfit.headgear else "{0}{1}/headgear/[Natsuki._outfit.headgear.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose) + headgear = "{0}/headgear/jn_none/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) if not Natsuki._outfit.headgear else "{0}/headgear/[Natsuki._outfit.headgear.reference_name]/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) lc_args.extend([ (0, 0), headgear ]) + # Facewear + facewear = "{0}/facewear/jn_none/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) if not Natsuki._outfit.facewear else "{0}/facewear/[Natsuki._outfit.facewear.reference_name]/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) + lc_args.extend([ + (0, 0), facewear + ]) + # Eyewear - eyewear = Null() if not Natsuki._outfit.eyewear else "{0}{1}/eyewear/[Natsuki._outfit.eyewear.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose) + eyewear = "{0}/eyewear/jn_none/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) if not Natsuki._outfit.eyewear else "{0}/eyewear/[Natsuki._outfit.eyewear.reference_name]/sitting.png".format(_JN_NATSUKI_BASE_SPRITE_PATH) lc_args.extend([ (0, 0), eyewear ]) @@ -239,27 +277,47 @@ init -50 python: # Emotes if emote: lc_args.extend([ - (0, 0), "{0}{1}/emote/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, emote) + (0, 0), "{0}/emote/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, emote) ]) # Brows lc_args.extend([ - (0, 0), "{0}{1}/face/eyebrows/{2}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose, eyebrows), # Brows - (0, 0), _JN_NATSUKI_BASE_SPRITE_PATH + "/desk/{0}.png".format(_JN_TABLE_SPRITE) # Table + (0, 0), "{0}/face/eyebrows/sitting/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, eyebrows) ]) + if pose in _JN_BEFORE_DESK_POSES: + # Arms, sleeves + lc_args.extend([ + (0, 0), "{0}/arms/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), + (0, 0), "{0}/sleeves/[Natsuki._outfit.clothes.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose) + ]) + + # Desk + lc_args.extend([ + (0, 0), _JN_NATSUKI_BASE_SPRITE_PATH + "/desk/table/{0}.png".format(_JN_TABLE_SPRITE) + ]) + + if pose in _JN_AFTER_DESK_POSES: + # Arms, sleeves + lc_args.extend([ + (0, 0), "{0}/desk/table_shadow/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), + (0, 0), "{0}/arms/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose), + (0, 0), "{0}/sleeves/[Natsuki._outfit.clothes.reference_name]/{1}.png".format(_JN_NATSUKI_BASE_SPRITE_PATH, pose) + ]) + # Generate and return the sprite return renpy.display.layout.LiveComposite( *lc_args ) - # TODO: empty desk + chair sprite based on aff. - init 1 python: import store POSE_MAP = { - "1": JNPose.sitting + "1": JNPose.sitting, + "2": JNPose.arms_crossed_body, + "3": JNPose.arms_crossed_desk, + "4": JNPose.fingers_on_desk } EYEBROW_MAP = { @@ -307,16 +365,19 @@ init 1 python: "bl": JNMouth.blep, "bo": JNMouth.bored, "ca": JNMouth.caret, + "cs": JNMouth.cat_smug, "ct": JNMouth.catty, "dr": JNMouth.drink, "dv": JNMouth.devious, "em": JNMouth.embarrassed, + "fl": JNMouth.flustered, "fo": JNMouth.focus, "fr": JNMouth.frown, "fs": JNMouth.flat_smile, "fu": JNMouth.furious, - "gs": JNMouth.gasp, "gn": JNMouth.grin, + "gs": JNMouth.gasp, + "gt": JNMouth.grit_teeth, "lg": JNMouth.laugh, "nv": JNMouth.nervous, "po": JNMouth.pout, @@ -372,6 +433,7 @@ init 1 python: "esi": JNEmote.sigh, "esh": JNEmote.shock, "esl": JNEmote.sleepy, + "esm": JNEmote.smug, "eso": JNEmote.somber, "esp": JNEmote.speech, "esu": JNEmote.surprise, @@ -662,33 +724,33 @@ image natsuki idle enamored: pause 10 choice: - "natsuki 1kwmsmf" + "natsuki 4kwmsmf" pause 5 - "natsuki 1kcssmf" + "natsuki 4kcssmf" pause 0.1 - "natsuki 1kwmsmf" + "natsuki 4kwmsmf" pause 5 - "natsuki 1kcssmf" + "natsuki 4kcssmf" pause 0.1 choice: - "natsuki 1kllsmf" + "natsuki 3kllsmf" pause 5 - "natsuki 1kcssmf" + "natsuki 3kcssmf" pause 0.1 - "natsuki 1kllsmf" + "natsuki 3kllsmf" pause 5 - "natsuki 1kcssmf" + "natsuki 3kcssmf" pause 0.1 choice: - "natsuki 1klrsmf" + "natsuki 4klrsmf" pause 5 - "natsuki 1kcssmf" + "natsuki 4kcssmf" pause 0.1 - "natsuki 1klrsmf" + "natsuki 4klrsmf" pause 5 - "natsuki 1kcssmf" + "natsuki 4kcssmf" pause 0.1 choice: @@ -706,7 +768,7 @@ image natsuki idle enamored: pause 10 choice: - "natsuki 1kcssgf" + "natsuki 2kcssgf" pause 10 choice: @@ -716,23 +778,23 @@ image natsuki idle enamored: pause 0.1 "natsuki 1knmsmf" pause 3 - "natsuki 1fsqsmf" + "natsuki 4fsqsmf" pause 3 - "natsuki 1fchblf" + "natsuki 4fchblf" pause 1 - "natsuki 1fchgnf" + "natsuki 2fchgnf" pause 2 - "natsuki 1klrsmf" + "natsuki 2klrsmf" pause 2 - "natsuki 1kcssmf" + "natsuki 2kcssmf" pause 0.1 choice: - "natsuki 1kcssmf" + "natsuki 2kcssmf" pause 3 - "natsuki 1kcsssf" + "natsuki 2kcsssf" pause 3 - "natsuki 1kcssmf" + "natsuki 2kcssmf" pause 5 choice: @@ -740,27 +802,27 @@ image natsuki idle enamored: pause 3 "natsuki 1ncspul" pause 0.1 - "natsuki 1flrpul" + "natsuki 3flrpul" pause 3 - "natsuki 1ncspul" + "natsuki 3ncspul" pause 0.1 - "natsuki 1tnmpul" + "natsuki 3tnmpul" pause 1 - "natsuki 1unmpulesu" + "natsuki 3unmpulesu" pause 1.5 - "natsuki 1fcspul" + "natsuki 3fcspul" pause 0.1 - "natsuki 1flldvfsbl" + "natsuki 4fllcsfsbl" pause 4 - "natsuki 1fcsdvf" + "natsuki 4fcscsf" pause 0.1 choice: - "natsuki 1uchsmfedz" + "natsuki 3uchsmfedz" pause 7 choice: - "natsuki 1nchsmfeme" + "natsuki 3nchsmfeme" pause 7 repeat @@ -769,27 +831,37 @@ image natsuki idle enamored: image natsuki idle affectionate: block: choice: - "natsuki 1ullsml" + "natsuki 3ullcsl" pause 5 - "natsuki 1ucssml" + "natsuki 3ucscsl" pause 0.1 - "natsuki 1ullsml" + "natsuki 3ullcsl" pause 5 - "natsuki 1ucssml" + "natsuki 3ucscsl" pause 0.1 choice: - "natsuki 1ulrsml" + "natsuki 3ullsml" pause 5 - "natsuki 1ucssml" + "natsuki 3ucssml" + pause 0.1 + "natsuki 3ullsml" + pause 5 + "natsuki 3ucssml" + pause 0.1 + + choice: + "natsuki 4ulrsml" + pause 5 + "natsuki 4ucssml" pause 0.1 - "natsuki 1ulrsml" + "natsuki 4ulrsml" pause 0.25 - "natsuki 1ucssml" + "natsuki 4ucssml" pause 0.1 - "natsuki 1ulrsml" + "natsuki 4ulrsml" pause 5 - "natsuki 1ucssml" + "natsuki 4ucssml" pause 0.1 choice: @@ -803,33 +875,33 @@ image natsuki idle affectionate: pause 0.1 choice: - "natsuki 1nnmsgl" + "natsuki 2nnmsgl" pause 5 - "natsuki 1ncssgl" + "natsuki 2ncssgl" pause 0.1 - "natsuki 1nnmsgl" + "natsuki 2nnmsgl" pause 5 - "natsuki 1ncssgl" + "natsuki 2ncssgl" pause 0.1 choice: "natsuki 1nllbol" pause 4 - "natsuki 1fllbol" + "natsuki 2fllbol" pause 4 - "natsuki 1fcsbol" + "natsuki 2fcsbol" pause 0.1 - "natsuki 1tnmbol" + "natsuki 2tnmbol" pause 4 - "natsuki 1tcsbol" + "natsuki 2tcsbol" pause 0.1 - "natsuki 1fsqsml" + "natsuki 4fsqsml" pause 4 - "natsuki 1fwlsml" + "natsuki 4fwlsml" pause 0.5 - "natsuki 1flldvl" + "natsuki 4flldvl" pause 2 - "natsuki 1fcsdvl" + "natsuki 4fcsdvl" pause 0.1 choice: @@ -845,9 +917,9 @@ image natsuki idle affectionate: pause 4 "natsuki 1tcspul" pause 0.1 - "natsuki 1flrdvless" + "natsuki 4flrdvless" pause 4 - "natsuki 1fcsdvl" + "natsuki 4fcsdvl" pause 0.1 repeat @@ -856,13 +928,13 @@ image natsuki idle affectionate: image natsuki idle happy: block: choice: - "natsuki 1ullbo" + "natsuki 3ullbo" pause 4 - "natsuki 1ucsbo" + "natsuki 3ucsbo" pause 0.1 - "natsuki 1ullbo" + "natsuki 3ullbo" pause 4 - "natsuki 1ucsbo" + "natsuki 3ucsbo" pause 0.1 choice: @@ -876,23 +948,23 @@ image natsuki idle happy: pause 0.1 choice: - "natsuki 1ullfs" + "natsuki 2ullfs" pause 4 - "natsuki 1ucsfs" + "natsuki 2ucsfs" pause 0.1 - "natsuki 1ullfs" + "natsuki 2ullfs" pause 4 - "natsuki 1ucsfs" + "natsuki 2ucsfs" pause 0.1 choice: - "natsuki 1ulrfs" + "natsuki 4ulrfs" pause 4 - "natsuki 1ucsfs" + "natsuki 4ucsfs" pause 0.1 - "natsuki 1ulrfs" + "natsuki 4ulrfs" pause 4 - "natsuki 1ucsfs" + "natsuki 4ucsfs" pause 0.1 choice: @@ -932,19 +1004,19 @@ image natsuki idle happy: pause 2 "natsuki 1ucspul" pause 0.1 - "natsuki 1fslsmlsbl" + "natsuki 2fslsmlsbl" pause 3 - "natsuki 1fcssmlsbl" + "natsuki 2fcssmlsbl" pause 0.1 choice: - "natsuki 1ulrcal" + "natsuki 2ulrcal" pause 4 - "natsuki 1ucscal" + "natsuki 2ucscal" pause 0.1 - "natsuki 1ulrcal" + "natsuki 2ulrcal" pause 4 - "natsuki 1ucscal" + "natsuki 2ucscal" pause 0.1 choice: @@ -958,13 +1030,13 @@ image natsuki idle happy: pause 0.1 choice: - "natsuki 1ullfs" + "natsuki 2ullfs" pause 4 - "natsuki 1ucsfs" + "natsuki 2ucsfs" pause 0.1 - "natsuki 1ulrfs" + "natsuki 2ulrfs" pause 4 - "natsuki 1ucsfs" + "natsuki 2ucsfs" pause 0.1 repeat @@ -973,23 +1045,23 @@ image natsuki idle happy: image natsuki idle normal: block: choice: - "natsuki 1nllbo" + "natsuki 2nllbo" pause 4 - "natsuki 1ncsbo" + "natsuki 2ncsbo" pause 0.1 - "natsuki 1nllbo" + "natsuki 2nllbo" pause 4 - "natsuki 1ncsbo" + "natsuki 2ncsbo" pause 0.1 choice: - "natsuki 1nlrbo" + "natsuki 2nlrbo" pause 4 - "natsuki 1ncsbo" + "natsuki 2ncsbo" pause 0.1 - "natsuki 1nlrbo" + "natsuki 2nlrbo" pause 4 - "natsuki 1ncsbo" + "natsuki 2ncsbo" pause 0.1 choice: @@ -1003,43 +1075,43 @@ image natsuki idle normal: pause 0.1 choice: - "natsuki 1nlrpu" + "natsuki 2nlrpu" pause 4 - "natsuki 1ncspu" + "natsuki 2ncspu" pause 0.1 - "natsuki 1nlrpu" + "natsuki 2nlrpu" pause 4 - "natsuki 1ncspu" + "natsuki 2ncspu" pause 0.1 choice: - "natsuki 1nllca" + "natsuki 2nllca" pause 4 - "natsuki 1ncsca" + "natsuki 2ncsca" pause 0.1 - "natsuki 1nllca" + "natsuki 2nllca" pause 4 - "natsuki 1ncsca" + "natsuki 2ncsca" pause 0.1 choice: - "natsuki 1nlrca" + "natsuki 4nlrca" pause 4 - "natsuki 1ncsca" + "natsuki 4ncsca" pause 0.1 - "natsuki 1nlrca" + "natsuki 4nlrca" pause 4 - "natsuki 1ncsca" + "natsuki 4ncsca" pause 0.1 choice: - "natsuki 1nnmca" + "natsuki 2nnmca" pause 4 - "natsuki 1ncsca" + "natsuki 2ncsca" pause 0.1 - "natsuki 1nnmca" + "natsuki 2nnmca" pause 4 - "natsuki 1ncsca" + "natsuki 2ncsca" pause 0.1 choice: @@ -1058,15 +1130,15 @@ image natsuki idle normal: image natsuki idle distressed: block: choice: - "natsuki 1fllsl" + "natsuki 2fllsl" pause 3 - "natsuki 1fcssl" + "natsuki 2fcssl" pause 0.1 choice: - "natsuki 1flrsl" + "natsuki 2flrsl" pause 3 - "natsuki 1fcssl" + "natsuki 2fcssl" pause 0.1 choice: @@ -1078,25 +1150,25 @@ image natsuki idle distressed: pause 8 choice: - "natsuki 1fcssf" + "natsuki 2fcssf" pause 8 choice: - "natsuki 1fllsf" + "natsuki 2fllsf" pause 3 - "natsuki 1fcssf" + "natsuki 2fcssf" pause 0.1 choice: - "natsuki 1flrsf" + "natsuki 2flrsf" pause 3 - "natsuki 1fcssf" + "natsuki 2fcssf" pause 0.1 choice: - "natsuki 1fsqca" + "natsuki 2fsqca" pause 3 - "natsuki 1fcsca" + "natsuki 2fcsca" pause 0.1 repeat @@ -1107,17 +1179,17 @@ image natsuki idle ruined: choice: "natsuki 1fcsuntsa" choice: - "natsuki 1fcsantsa" + "natsuki 4fcsantsa" choice: - "natsuki 1fslantsb" + "natsuki 4fslantsb" choice: - "natsuki 1fcssrtsa" + "natsuki 2fcssrtsa" choice: - "natsuki 1kcssrtsa" + "natsuki 4kcssrtsa" choice: "natsuki 1ksrsrtsb" choice: - "natsuki 1fsrantse" + "natsuki 4fsrantse" pause 4 repeat @@ -1126,13 +1198,13 @@ image natsuki idle ruined: image natsuki idle introduction: block: choice: - "natsuki 1kllsr" + "natsuki 4kllsr" choice: - "natsuki 1klrsr" + "natsuki 4klrsr" choice: - "natsuki 1klrpu" + "natsuki 2klrpu" choice: - "natsuki 1kllpu" + "natsuki 2kllpu" choice: "natsuki 1kcspu" choice: @@ -1140,9 +1212,9 @@ image natsuki idle introduction: choice: "natsuki 1kcsun" choice: - "natsuki 1kllun" + "natsuki 4kllun" choice: - "natsuki 1klrun" + "natsuki 4klrun" pause 10 repeat @@ -1173,27 +1245,35 @@ init python: image natsuki talk_menu_enamored: block: choice: - "natsuki 1nchbgl" + "natsuki 3nchbgl" choice: - "natsuki 1nnmbgl" + "natsuki 4nnmbgl" choice: - "natsuki 1uchssl" + "natsuki 3uchssl" choice: - "natsuki 1unmssl" + "natsuki 3unmssl" choice: - "natsuki 1uwltsl" + "natsuki 4uwltsl" + choice: + "natsuki 4fchbgl" + choice: + "natsuki 3fchsml" # Menu images for AFFECTIONATE+ image natsuki talk_menu_affectionate: block: choice: - "natsuki 1unmsm" + "natsuki 3unmsm" choice: "natsuki 1unmbg" choice: - "natsuki 1uchbg" + "natsuki 4uchbg" + choice: + "natsuki 2nchbg" choice: - "natsuki 1nchbg" + "natsuki 2tchbg" + choice: + "natsuki 3tsqsm" # Menu images for HAPPY+ image natsuki talk_menu_happy: @@ -1201,13 +1281,13 @@ image natsuki talk_menu_happy: choice: "natsuki 1unmss" choice: - "natsuki 1unmfs" + "natsuki 2unmfs" choice: - "natsuki 1tnmfs" + "natsuki 2tnmfs" choice: - "natsuki 1ullaj" + "natsuki 4ullaj" choice: - "natsuki 1unmbo" + "natsuki 4unmbo" # Menu images for NORMAL+ image natsuki talk_menu_normal: @@ -1215,39 +1295,55 @@ image natsuki talk_menu_normal: choice: "natsuki 1unmss" choice: - "natsuki 1unmaj" + "natsuki 2unmaj" choice: - "natsuki 1ulraj" + "natsuki 2ulraj" choice: "natsuki 1ullaj" choice: - "natsuki 1unmca" + "natsuki 2unmca" # Menu images for DISTRESSED+ image natsuki talk_menu_distressed: block: choice: - "natsuki 1fcsun" + "natsuki 2fcsun" choice: - "natsuki 1fslun" + "natsuki 2fslun" choice: - "natsuki 1fsrbo" + "natsuki 2fsrbo" choice: - "natsuki 1fcsbo" + "natsuki 2fcsbo" choice: - "natsuki 1fcsaj" + "natsuki 2fcsaj" # Menu images for RUINED+ image natsuki talk_menu_ruined: block: choice: - "natsuki 1fcsantsb" + "natsuki 2fcsantsb" choice: - "natsuki 1fsluntse" + "natsuki 2fsluntse" choice: - "natsuki 1fcssrtse" + "natsuki 2fcssrtse" choice: - "natsuki 1fnmantdr" + "natsuki 2fnmantdr" + +image desk = "mod_assets/natsuki/desk/table/table_normal.png" +image chair = "mod_assets/natsuki/desk/chair/chair_normal.png" + +label pose_test: + n 1tsqss "Oh?{w=0.5}{nw}" + extend 1tsqbg " You wanna see some poses?{w=0.75}{nw}" + extend 1fsqsm " Ehehe." + n 1fchbl "You got it!" + + n 1fcssm "This is just my sitting pose!" + n 2fllpo "This is my arms_crossed_body pose!" + n 3kwmsml "This is my arms_crossed_desk pose!" + n 4kwmpu "And this is my fingers_on_desk pose!" + + n 1fchbg "...And that's about it!{w=0.75}{nw}" + extend 1fwlsm " Glad to be of service,{w=0.2} [player]!" -image desk = "mod_assets/natsuki/desk/table_normal.png" -image chair = "mod_assets/natsuki/desk/chair_normal.png" \ No newline at end of file + jump ch30_loop diff --git a/game/zz_data-migrations.rpy b/game/zz_data-migrations.rpy index 0d2c65af..b1e94acc 100644 --- a/game/zz_data-migrations.rpy +++ b/game/zz_data-migrations.rpy @@ -1,5 +1,6 @@ default persistent._jn_version = "0.0.1" default persistent._jn_gs_aff = persistent.affinity +default persistent._jn_pic = False python early in jn_data_migrations: from enum import Enum @@ -239,9 +240,26 @@ init python in jn_data_migrations: def to_1_0_2(): jn_utils.log("Migration to 1.0.2 START") store.persistent._jn_version = "1.0.2" - if store.persistent.affinity >= 10000: + if store.persistent.affinity >= 5000: store.persistent.affinity = 0 - jn_utils.log("434845415421".decode("hex")) + store.persistent._jn_pic = True + jn_utils.log("434346".decode("hex")) jn_utils.save_game() jn_utils.log("Migration to 1.0.2 DONE") return + + @migration(["1.0.2"], "1.0.3", runtime=MigrationRuntimes.INIT) + def to_1_0_3(): + jn_utils.log("Migration to 1.0.3 START") + store.persistent._jn_version = "1.0.3" + if store.persistent.affinity >= 5000: + store.persistent.affinity = 0 + store.persistent._jn_pic = True + jn_utils.log("434346".decode("hex")) + + if jn_outfits.get_outfit("jn_skater_outfit").unlocked: + jn_outfits.get_wearable("jn_facewear_plasters").unlock() + + jn_utils.save_game() + jn_utils.log("Migration to 1.0.3 DONE") + return