init 999 python:
    import string
    letters_only = string.ascii_letters + " "

    config.menu_include_disabled = False
    gui.choice_button_text_insensitive_color = "#555"
    config.allow_underfull_grids = True

init -999 python:
    config.rollback_length = 128
    config.hard_rollback_limit = 128

init python:
    def lisp_mc(name):
      return name.replace("s", "th").replace("S", "Th").replace("thh", "sh").replace("Thh", "Sh").replace("Thth", "Ss").replace("thth", "ss")


    def HidePOV():
        renpy.hide_screen("POVtoggle")
        renpy.hide_screen("POV_screen_1")
        renpy.hide_screen("POV_screen_2")
        renpy.hide_screen("POV_screen_3")
        renpy.hide_screen("POV_screen_4")


    def advance_days():
        global weekday
        global day_count

        day_count += 1
        x = day_count % 7

        weekday = ["Thu", "Fri", "Sat", "Sun", "Mon", "Tue", "Wed"] [x]


    def setDate(date):
        global day_count
        global weekday

        day_count = date

        weekday = ["Thu", "Fri", "Sat", "Sun", "Mon", "Tue", "Wed"] [day_count % 7]


    def set_message_time(hour, minute):
        global message_hour
        global message_minute
        global message_time

        message_hour = int(hour)
        message_minute = int(minute)
        message_time = str(message_hour).zfill(2) + ":" + str(message_minute).zfill(2)


    def set_relative_message_time(hours, minutes):
        global message_hour
        global message_minute
        global rel_message_time

        message_hour -= int(hours)
        message_minute -= int(minutes)
        rel_message_time = str(message_hour).zfill(2) + ":" + str(message_minute).zfill(2)


    def advance_message_time(advance):
        global message_hour
        global message_minute
        global message_time

        message_minute += advance
        while message_minute > 59:
            message_minute -= 60
            message_hour += 1
        if message_hour > 23:
            message_hour -= 24
        message_time = str(message_hour).zfill(2) + ":" + str(message_minute).zfill(2)
        ## to-do: add automatic advancement of days

    def add_cg_to_gallery(variable):
        setattr(persistent, variable, True)

        renpy.notify("Image added to CG gallery.")
        ## to-do: add code and modify cg gallery to append new images via function


    def show_message_photo(variable, convo, char):
        setattr(store, "photo_message", variable)
        nvl_add(convo, char, "{a=show:message_photo}{image=phone/images/[photo_message].webp}{/}")


    def music_pause():
        renpy.music.set_pause(True, channel="music")


    def music_resume():
        renpy.music.set_pause(False, channel="music")


init -999 python:
    class MouseTooltip(Tooltip, renpy.Displayable):
        action = Action

        def __init__(self, default, padding=None, *args, **kwargs):
            super(renpy.Displayable, self).__init__(*args, **kwargs)

            self.default = default
            self.value = default

            self.padding = padding or {}
            self.pad_x = self.padding.get('x', 0)
            self.pad_y = self.padding.get('y', 0)

            self.x = 0
            self.y = 0

            self._redraw = False

        @property
        def redraw(self):
            return self._redraw

        @redraw.setter
        def redraw(self, new_value):
            self._redraw = new_value
            renpy.redraw(self, 0)

        def render(self, width, height, st, at):
            # Only Text() displayables have a size method
            try:
                w, h = self.value.size()

            except AttributeError:
                child_render = renpy.render(self.value, width, height, st, at)
                w, h = child_render.get_size()

            render = renpy.Render(w, h)
            render.place(self.value, x=self.x + self.pad_x, y=self.y + self.pad_y)
            return render

        def event(self, ev, x, y, st):
            self.x = x
            self.y = y

            if self.redraw:
                renpy.redraw(self, 0)

            # Pass the event to our child
            return self.value.event(ev, x, y, st)

        # Working Example:
        # hovered [SetField(mtt, 'redraw', True), mtt.Action(Text("{color=FFFFFF}Left Click = Unlock\nRight Click = Lock{/color}", text_align=0.5, xoffset=-120, yoffset=35))]
        # unhovered SetField(mtt, 'redraw', False)


#########################################################################################################

default hamsterexplanation = False
define config.adv_nvl_transition = None
define config.nvl_adv_transition = None #Dissolve(0.3)
default persistent.sneakygallery = False
default persistent.sneakybutton = 0
# define config.label_overrides = {
#     "label1": "label1replace",
#     "label2": "label2replace"
# }
init:
    define config.layers = ['master', 'transient', 'hamster', 'screens', 'overlay']

init -1:
    define cumflash = Fade(.5, 0.2, .1, color="#fff")
    define camflash = Fade(.2, 0.0, .1, color="#fff")
    define blink = Fade(.2, 0.0, .3)
    define flashw = Fade(0.05, 0.0, 0.05, color="#fff")
    define flashb = Fade(0.05, 0.0, 0.05, color="#000")
    define popup = Fade(0, 0.0, 0.05, color="#57213F")
    define blinkflash = Fade(.05, 0.2, .05, color="#330000")
    define blackflash = Fade(.1, 0.2, .1, color="#000000")
    define quickfade = Fade(.3, 0.1, .3)
    define slowfade = Fade(1.5, 1.0, 2.5)
    define nods = Dissolve(0.5)
    define mmdis = Dissolve(2.0)
    define sdis = Dissolve(4.0)
    define nod = { "master" : Dissolve(0.2) }
    define nod1 = { "master" : Dissolve(0.4) }
    define dis = { "master" : Dissolve(0.5) }
    define diss = { "master" : Dissolve(0.6) }
    define dis1 = { "master" : Dissolve(1.0) }
    define dis2 = { "master" : Dissolve(2.0) }
    define dis4 = { "master" : Dissolve(4.0) }
    define dis6 = { "master" : Dissolve(6.0) }
    define dis8 = { "master" : Dissolve(8.0) }
    define dis10 = { "master" : Dissolve(10.0) }
    define fadey = Fade(.5, 0.5, .8)
    define fade1 = Fade(.5, 0.5, .7)
    define fade2 = Fade(.2, 0.5, 6.0)
    define fade11 = Fade(.5, 1.0, .8)
    define fade22 = Fade(.5, 2.0, .8)
    define fadet = Fade(1.0, 0.1, 1.0)
    define fadel = Fade(3.0, 0.5, 3.0)
    define master_fadel = { "master" : Fade(8.0, 0.5, 1.0) }
    define fadew = Fade(0.3, 0.1, 2.5, color = "#fff")
    define sex_trans = Fade(.4, 0, .4)
    define hpunch_low = Move((5, 0), (-5, 0), .10, bounce=True, repeat=True, delay=.275)
    define vpunch_low = Move((0, 5), (0, -5), .10, bounce=True, repeat=True, delay=.275)

    define diastr = ImageDissolve("gui/transitions/diagonal_stripes.jpg", 2.0)
    define rev_diastr = ImageDissolve("gui/transitions/diagonal_stripes.jpg", 1.5, reverse=True)

    define chtr = ImageDissolve("gui/transitions/ch2.png", 2.0)
    define rev_chtr = ImageDissolve("gui/transitions/ch2.png", 1.5, reverse=True)

    define diastr_m = { "master" : ImageDissolve("gui/transitions/diagonal_stripes.jpg", 1.5) }
    define rev_diastr_m = { "master" : ImageDissolve("gui/transitions/diagonal_stripes.jpg", 1.5, reverse=True) }

    define tr1 = { "master" : ImageDissolve("gui/transitions/another_circle.jpg", 1.5) }
    define rev_tr1 = { "master" : ImageDissolve("gui/transitions/another_circle.jpg", 1.5, reverse=True) }

    define tr2 = { "master" : ImageDissolve("gui/transitions/circle.jpg", 1.5) }
    define rev_tr2 = { "master" : ImageDissolve("gui/transitions/circle.jpg", 1.5, reverse=True) }

    define tr3 = { "master" : ImageDissolve("gui/transitions/more_horizontal_stripes.jpg", 1.5) }
    define rev_tr3 = { "master" : ImageDissolve("gui/transitions/more_horizontal_stripes.jpg", 1.5, reverse=True) }

    define tr4 = { "master" : ImageDissolve("gui/transitions/more_vertical_stripes.jpg", 1.5) }
    define rev_tr4 = { "master" : ImageDissolve("gui/transitions/more_vertical_stripes.jpg", 1.5, reverse=True) }

    define tr5 = { "master" : ImageDissolve("gui/transitions/smudge.jpg", 1.5) }
    define rev_tr5 = { "master" : ImageDissolve("gui/transitions/smudge.jpg", 1.5, reverse=True) }

    define tr6 = { "master" : ImageDissolve("gui/transitions/vertical_stripes.jpg", 1.5) }
    define rev_tr6 = { "master" : ImageDissolve("gui/transitions/vertical_stripes.jpg", 1.5, reverse=True) }

    define tr7 = { "master" : ImageDissolve("gui/transitions/wet.jpg", 1.5) }
    define rev_tr7 = { "master" : ImageDissolve("gui/transitions/wet.jpg", 1.5, reverse=True) }

    define tr8 = { "master" : ImageDissolve("gui/transitions/droplet_circle.png", 1.5) }
    define rev_tr8 = { "master" : ImageDissolve("gui/transitions/droplet_circle.png", 1.5, reverse=True) }

    define tr9 = ImageDissolve("gui/transitions/horizontal_dia_stripes.png", 1.5)
    define rev_tr9 = ImageDissolve("gui/transitions/horizontal_dia_stripes.png", 1.5, reverse=True)

    $ mcf = "Ren"
    $ mcfu = mcf.upper()
    $ stutter = mcf[:1]

    $ renpy.music.register_channel("music1", "music")

    image VertigoSplash:
        "Misc/VertigoSplash.webp"
        yalign 0.5
        zoom 0.0
        alpha 1.0
        pause 0.0
        easein 0.5 zoom 1.0
        easeout 0.05

    image CHSplash:
        "CHSplash.webp"
        yalign 0.5
        zoom 0.0
        alpha 1.0
        pause 0.0
        easein 0.5 zoom 1.0
        easeout 0.05

screen overlay:
    tag overlay
    zorder 100

    imagebutton auto "gui/Phonemenu/phonebutton_%s.png" xpos 25 ypos 25 focus_mask True action [Show("statsclickoff"), Show("phonebg"), Show("phonemenu"), Hide("overlay"), SetVariable("phone_on_screen", True)] hovered [Play("sound", "audio/zapsplat_click.mp3")]

    if day_count:
        frame:
            background None
            xpos 62
            ypos 30
            vbox:
                spacing -12
                first_spacing -8
                text "{color=000000}Day{/color}" size 22 xanchor 0.5 kerning 2 outlines [(absolute(1), "#FFF", absolute(0), absolute(0))]
                text "{color=000000}[day_count]{/color}" size 52 xoffset 1 xanchor 0.5 kerning 2 outlines [(absolute(1), "#FFF", absolute(0), absolute(0))]
                text "{color=000000}[weekday]{/color}" size 42 xanchor 0.5 kerning 2 outlines [(absolute(1), "#FFF", absolute(0), absolute(0))]

screen ChapterEnd():
    modal True
    imagebutton idle "gui/empty.png" xpos 0 ypos 0 action MainMenu()
    # imagebutton auto "gui/button/Patreon_End_%s.png" xpos 101 ypos 810 focus_mask True action OpenURL("https://www.patreon.com/crimsonhigh") hovered [Play("sound", "audio/wow1.mp3")]
    # imagebutton auto "gui/button/itch_%s.png" xpos 1589 ypos 939 action OpenURL("https://vertigoavn.itch.io/crimsonhigh") hovered [Play("sound", "audio/wow1.mp3")]
    # imagebutton auto "gui/discord_%s.png" xpos 64 ypos 62 action OpenURL("https://discord.gg/CuBMSdsks4") hovered [Play("sound", "audio/wow1.mp3")]
    imagebutton auto "gui/patreonlink_%s.png" xpos 624 ypos 735 action OpenURL("https://www.patreon.com/crimsonhigh") hovered [Play("sound", "audio/wow1.mp3")]
    imagebutton auto "gui/vertigoend_%s.png" xpos 1504 ypos 749 focus_mask True action OpenURL("https://www.patreon.com/crimsonhigh") hovered [Play("sound", "audio/wow1.mp3")]
    imagebutton auto "gui/chlogo_%s.png" xpos 1494 ypos 148 focus_mask True action OpenURL("https://vertigoavn.itch.io/crimsonhigh") hovered [Play("sound", "audio/wow1.mp3")]
    imagebutton auto "gui/discordlink_%s.png" xpos 810 ypos 72 focus_mask True action OpenURL("https://discord.gg/crimsonhigh") hovered [Play("sound", "audio/wow1.mp3")]

screen alwaysgoforward:
    tag blep
    modal True

    imagebutton idle "CH1d/alwaysgoforward.webp" xpos 0 ypos 0 focus_mask True action NullAction() hovered [Jump("forwarditis"), Hide("alwaysgoforward")]

screen skip_button(labelname):
    tag overlay
    zorder 100

    imagebutton auto "gui/Misc/skip_%s.png" xpos 0 ypos 0 focus_mask True action [Jump(labelname), Hide("skip_button")] hovered [Play("sound", "audio/zapsplat_click.mp3")]

label splashscreen:
    scene black
    with Pause (0.5)

    play sound "audio/impact-6291.mp3"
    show VertigoSplash
    with Pause (2.0)

    hide VertigoSplash with dissolve
    with Pause (0.5)

    # show v2disclaimer
    # if persistent.enableload:
    #     $ renpy.pause()
    # else:
    #     $ renpy.pause(2.0, hard = True)
    #     $ renpy.pause()
    #
    # show v2disclaimer2
    # if persistent.enableload:
    #     $ renpy.pause()
    # else:
    #     $ renpy.pause(2.0, hard = True)
    #     $ renpy.pause()

    show blank
    with Pause (0.1)

    return

image CHLogoBG = "Misc/CHLogoBG.webp"
image CHLogo:
    "Misc/CHLogo.webp"
    yalign 0.2
    zoom 0.1
    alpha 1.0
    pause 0.0
    easeout 0.3 zoom 1.0 alpha 1.0

label musicfadeout:
    $ renpy.music.set_volume(0.8, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.7, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.6, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.5, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.4, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.3, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.2, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.1, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.05, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_pause(True, channel="music")

    return

label musicfadeout_short:
    $ renpy.music.set_volume(0.8, delay=0, channel='music')
    $ renpy.pause(0.01)
    $ renpy.music.set_volume(0.6, delay=0, channel='music')
    $ renpy.pause(0.01)
    $ renpy.music.set_volume(0.4, delay=0, channel='music')
    $ renpy.pause(0.01)
    $ renpy.music.set_volume(0.2, delay=0, channel='music')
    $ renpy.pause(0.01)
    $ renpy.music.set_volume(0, delay=0, channel='music')
    $ renpy.pause(0.01)
    $ renpy.music.set_pause(True, channel="music")

    return

label musicfadein:
    $ renpy.music.set_pause(False, channel="music")
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.05, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.1, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.2, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.3, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.4, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.5, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.6, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.7, delay=0, channel='music')
    $ renpy.pause(0.1)
    $ renpy.music.set_volume(0.8, delay=0, channel='music')

    return

label POV_screens(pov1, pov2, pov3 = None, pov4 = None, trans = None):
    $ POV_block = 1
    show screen POV_screen_1(pov1) with trans
    show screen POVtoggle(pov1, pov2, pov3, pov4)

    return

label yukari_message_fix:
    $ nvl_swap("Yukari")
    $ nvl_no_save()
    $ nvl_swap("Yukari")

    if roninmet and not "yukari" in C3S45_messages:
        # $ nvl_add("Yukari", nvl_narrator, "Sunday, 15:32")
        # $ nvl_add("Yukari", mcm, "Hey Yukari, this is [mcf].")
        # $ nvl_add("Yukari", mcm, "I would like to have a talk with you about my case.")
        # $ nvl_add("Yukari", mcm, "Are you available for that sometime over the next couple days?")
        # $ nvl_add("Yukari", yukm, "Hello, handsome.")
        # $ nvl_add("Yukari", yukm, "For you I'm available anytime. Just let me know when and where.")
        # $ nvl_add("Yukari", yukm, "Oh, except for tomorrow. I'm kind of busy then already.")
        # $ nvl_add("Yukari", yukm, "xoxo")
        # $ nvl_add("Yukari", mcm, "Tuesday after you're done with school for the day then?")
        # $ nvl_add("Yukari", yukm, "Yes! Meet me at the café? 5 p.m.?")
        $ nvl_add("Yukari", mcm, "Sure, Yukari. I'll see you on Tuesday then.")
        $ nvl_add("Yukari", yukm, "Cool! Looking forward to it!")
        $ nvl_add("Yukari", nvl_narrator, "{image=phone/images/yukariselfie1.webp}")
        $ nvl_add("Yukari", mcm, "Nice!")
        $ nvl_add("Yukari", yukm, "Hehe. Don't stare too hard. ;)")
        $ nvl_add("Yukari", nvl_narrator, "Thursday, 18:50")
        $ nvl_add("Yukari", yukm, "Hey, [mcf].")
        $ nvl_add("Yukari", yukm, "I'm sorry for earlier.")
        $ nvl_add("Yukari", yukm, "Turns out that {i}I'm{/i} the chicken..")
        $ nvl_add("Yukari", yukm, "Can we meet at some point over the weekend?")
        $ nvl_add("Yukari", nvl_narrator, "Thursday, 23:35")
        $ nvl_add("Yukari", mcm, "Hey, Yukari.")
        $ nvl_add("Yukari", mcm, "The only time I'm free over the weekend is tomorrow evening.")
        $ nvl_add("Yukari", mcm, "Does that work for you?")
        $ nvl_add("Yukari", yukm, "Yes, that works.")
        $ nvl_add("Yukari", yukm, "Can you pick me up at the café after my shift ends?")
        $ nvl_add("Yukari", yukm, "Sometime around 7.")
        $ nvl_add("Yukari", mcm, "Sure, yeah.")
        $ nvl_add("Yukari", mcm, "Anything in particular you want to do?")
        $ nvl_add("Yukari", yukm, "Nope. Just hanging out and maybe do some explaining..")
        $ nvl_add("Yukari", mcm, "I see.")
        $ nvl_add("Yukari", mcm, "Don't feel too bad about earlier, alright?")
        $ nvl_add("Yukari", mcm, "I gotta sleep now.")
        $ nvl_add("Yukari", mcm, "Good night, Yukari. I'll be there tomorrow.")
        $ nvl_add("Yukari", yukm, "Cya tomorrow, [mcf].")

    elif roninmet and "yukari" in C3S45_messages:
        $ nvl_add("Yukari", mcm, "Does that work for you?")
        $ nvl_add("Yukari", yukm, "Yes, that works.")
        $ nvl_add("Yukari", yukm, "Can you pick me up at the café after my shift ends?")
        $ nvl_add("Yukari", yukm, "Sometime around 7.")
        $ nvl_add("Yukari", mcm, "Sure, yeah.")
        $ nvl_add("Yukari", mcm, "Anything in particular you want to do?")
        $ nvl_add("Yukari", yukm, "Nope. Just hanging out and maybe do some explaining..")
        $ nvl_add("Yukari", mcm, "I see.")
        $ nvl_add("Yukari", mcm, "Don't feel too bad about earlier, alright?")
        $ nvl_add("Yukari", mcm, "I gotta sleep now.")
        $ nvl_add("Yukari", mcm, "Good night, Yukari. I'll be there tomorrow.")
        $ nvl_add("Yukari", yukm, "Cya tomorrow, [mcf].")
        $ nvl_add("Yukari", nvl_narrator, "Sunday, 23:48")
        $ nvl_add("Yukari", yukm, "Hey, handsome.")
        $ nvl_add("Yukari", yukm, "I've been thinking of you all day.")
        $ nvl_add("Yukari", yukm, "Figured now would be a good time to send you the present I made for you earlier today during my break. ;)")
        $ nvl_add("Yukari", yukm, "{image=phone/images/C3S45_Yukariselfie_1.webp}")
        if C2S99_question:
            $ nvl_add("Yukari", yukm, "In case you want to think about me again. ;)")
        else:
            $ nvl_add("Yukari", yukm, ";)")
        $ nvl_add("Yukari", nvl_narrator, "Monday, 00:21")
        $ nvl_add("Yukari", mcm, "Damn!")
        $ nvl_add("Yukari", mcm, "Now that's what I call a nice surprise.")
        $ nvl_add("Yukari", mcm, "You're gorgeous!")
        $ nvl_add("Yukari", mcm, "We need to see each other again soon.")
        $ nvl_add("Yukari", mcm, "It's time for me to return the favor. ;)")

    return

label shittyassdirtyworkaround_in:
    if not renpy.variant("android"):
        $ dialogue_multiple = True
        show shittyassdirtyworkaround:
            alpha persistent.opacity

    return

label shittyassdirtyworkaround_out:
    if not renpy.variant("android"):
        hide shittyassdirtyworkaround
        $ dialogue_multiple = False

    return

label updateend:
    play music chasingdaylight fadein 3.0 loop
    hide screen overlay
    scene endscreen #with quickfade
    $ renpy.show_screen("ChapterEnd")
    pause

    return

label start:
    if not persistent.first_launch_default_font:
        $ persistent.my_txt_color = "White"
        $ persistent.my_otln_color = "Black"
        $ my_text_color()
        $ my_outline_color()

        $ persistent.first_launch_default_font = True

    stop music fadeout 1.0
    # scene blank
    # show Disclaimer1 with dis1
    # pause
    # show Disclaimer2 with dis1
    # pause
    scene blank with fade
    "G'day! My name is Vertigo and I'm the developer of {i}Crimson High{/i}."
    "Thank you very much for playing my game."
    "I hope you're considered an adult where you live, 'cause otherwise it'd be really bad for you to play this game, since it features adult scenes and sex is bad and boobs are evil - but only female ones of course."
    "Here's the obligatory question, which you'll surely answer honestly, right?"
    "Are you 18 or whatever the appropriate age for this stuff is?"
    menu:
        "Yes":
            jump Prelude
        "No":
            "Sorry, buddy. Try again when you're old enough."
            return

label Prelude:
    scene blank
    "Very well. You may proceed."
    "Crimson High is a freely available product and thus gets hosted everywhere by everyone and their grandma."
    "If you're playing Crimson High online (webhosted through whatever website), please be aware that I am in no way affiliated with the people hosting the game."
    "Bugs encountered while playing the game online likely aren't related to the game itself but the way it is hosted, meaning I can't do anything about them."
    "If you want to play a tested and actually working version of the game, head to my {a=https://www.patreon.com/crimsonhigh}Patreon{/a}, {a=https://f95zone.to/threads/crimson-high-v0-29-1-vertigo.94642/}F95{/a}, or {a=https://vertigoavn.itch.io/crimsonhigh}Itch.io{/a} pages and download the game from there."
    "..."
    "The game is pretty straightforward but there are a few things that I think warrant short tutorials. Since you may not be interested in those, you now get the chance to skip them."
    menu:
        "View tutorials?"
        "Yes.":
            "Accessibility options can be accessed by pressing 'A' on your keyboard (Windows/Mac) or by clicking on 'Accessibility' at the bottom of the screen on mobile."
            $ persistent.webhostdisclaimer = True

            show phonetut with dis
            "The in-game phone menu (top left corner) has a section for customization of the font and text box."
            "It may or may not get expanded over time, depending on your feedback, so let me know if you think it needs something else."

            $ persistent.phonefonttut = True

            scene SpaceHamsters with dis1
            "There are currently [hamstercountmax] little Space Hamsters hidden all throughout the game. Clicking on them will unlock a CG image of one of the characters in the {color=#990000}Extra Gallery{/color}. Keep your eyes open!"
            scene SpaceHamsterHint with dis1
            "For those of you who can't be bothered to strain their eyes too much but still want to have access to the unlocked images, there is a hint system in place."
            "It is inactive by default and can be enabled via the hamster gallery on the phone screen, as shown above, once it gets unlocked in a moment. If enabled, it will notify you whenever a hamster is on screen."
            "You'll still have to find it, but at least you'll know that it's there, right?"
            "Oh, also.. if you right-click any unlocked hamster CG of a single girl in the gallery on the phone, you'll set the respective image as your wallpaper for the in-game phone."
            "..."
            $ persistent.hamsterexplanation = True

        "No.":
            "No tutorials for you, then. You'll still get a few lines of disclaimers and stuff, though. I'd suggest reading at least the one surrounding the next choice."
            $ persistent.hamsterexplanation = True
            $ persistent.phonefonttut = True
            $ persistent.webhostdisclaimer = True

    scene blank with dis1
    "A couple things before I let you dive in."
    "First of all, every character depicted in a sexual context in the game is at least 18 years old. Adults can have small boobs, too, after all."
    "Keep in mind that not all opinions stated in the game necessarily reflect the author's (i.e. Vertigo's) personal opinion on the matter and may have been added to serve the narrative."
    scene nofapfest with dis1
    "Also - and I can't stress this enough - the game focuses mostly on its story."
    "Sexual encounters are far and few between in the early parts of the game but will increase in frequency once relationships have been formed between the main character and the girls."
    "{i}If you expect a quick wank while being drowned in anime tiddies, you'll be sorely disappointed and might want to not play the game.{/i}"
    "{i}If you, however, think you might be interested in a good story with a slow buildup and rewarding sexual encounters down the line, head on in.{/i}"
    menu:
        "You got that?"
        "Give me the story!":
            pass
        "I just wanna fap! Enable fap mode!":
            "Well, too bad. That doesn't exist. Take care, mate."
            return

    scene blank with dis1
    "Furthermore, we need to talk about sensitive topics. The game will contain some scenes that might be problematic for you, if you aren't in a good spot right now."
    "Those scenes will be few and far between, but they are there. However, ultimately the game will make you feel good above anything else, so I'd suggest giving it a try."
    "But then again, I might be a bit biased. If you're unsure, feel free to join the Discord and ask the community for some feedback."
    "..."
    "And now, last but not least: The game is still being worked on. Things might be changed retroactively and not everything is final. If you find something that seems weird to you and want to mention it, join the game's Discord and tell me."
    "Now that that's being done with, we can head right on into the game."
    "Have fun!"
    "..."
    jump C1S1

return
