code:
################################################################################
## Initialization
################################################################################

init offset = -1

################################################################################
## Styles
################################################################################

style default:
    properties gui.text_properties()
    language gui.language

style input:
    properties gui.text_properties("input", accent=True)
    adjust_spacing False

style hyperlink_text:
    properties gui.text_properties("hyperlink", accent=True)
    hover_underline True

style gui_text:
    properties gui.text_properties("interface")

style button:
    properties gui.button_properties("button")

style button_text is gui_text:
    properties gui.text_properties("button")
    yalign 0.5

style label_text is gui_text:
    properties gui.text_properties("label", accent=True)

style prompt_text is gui_text:
    properties gui.text_properties("prompt")

style bar:
    ysize gui.bar_size
    left_bar Frame("gui/bar/left.png", gui.bar_borders, tile=gui.bar_tile)
    right_bar Frame("gui/bar/right.png", gui.bar_borders, tile=gui.bar_tile)

style vbar:
    xsize gui.bar_size
    top_bar Frame("gui/bar/top.png", gui.vbar_borders, tile=gui.bar_tile)
    bottom_bar Frame("gui/bar/bottom.png", gui.vbar_borders, tile=gui.bar_tile)

style scrollbar:
    ysize gui.scrollbar_size
    base_bar Frame("gui/scrollbar/horizontal_[prefix_]bar.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)
    thumb Frame("gui/scrollbar/horizontal_[prefix_]thumb.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)

style vscrollbar:
    xsize gui.scrollbar_size
    base_bar Frame("gui/scrollbar/vertical_[prefix_]bar.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)
    thumb Frame("gui/scrollbar/vertical_[prefix_]thumb.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)

style slider:
    ysize gui.slider_size
    base_bar Frame("gui/slider/horizontal_[prefix_]bar.png", gui.slider_borders, tile=gui.slider_tile)
    thumb "gui/slider/horizontal_[prefix_]thumb.png"

style vslider:
    xsize gui.slider_size
    base_bar Frame("gui/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile)
    thumb "gui/slider/vertical_[prefix_]thumb.png"

style frame:
    padding gui.frame_borders.padding
    background Frame("gui/frame.png", gui.frame_borders, tile=gui.frame_tile)

################################################################################
## In-game screens
################################################################################

## Say screen ##################################################################
##
## The say screen is used to display dialogue to the player. It takes two
## parameters, who and what, which are the name of the speaking character and
## the text to be displayed, respectively. (The who parameter can be None if no
## name is given.)
##
## This screen must create a text displayable with id "what", as Ren'Py uses
## this to manage text display. It can also create displayables with id "who"
## and id "window" to apply style properties.
##
## https://www.renpy.org/doc/html/screen_special.html#say

screen say(who, what):
    style_prefix "say"

    window:
        id "window"

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what"

    ## If there's a side image, display it above the text. Do not display on the
    ## phone variant - there's no room.
    if not renpy.variant("small"):
        add SideImage() xalign 0.0 yalign 1.0

## Make the namebox available for styling through the Character object.
init python:
    config.character_id_prefixes.append('namebox')

style window is default
style say_label is default
style say_dialogue is default
style say_thought is say_dialogue

style namebox is default
style namebox_label is say_label

style window:
    xalign 0.5
    xfill True
    yalign gui.textbox_yalign
    ysize gui.textbox_height

    background Image("gui/textbox.png", xalign=0.5, yalign=1.0)

style namebox:
    xpos gui.name_xpos
    xanchor gui.name_xalign
    xsize gui.namebox_width
    ypos gui.name_ypos
    ysize gui.namebox_height

    background Frame("gui/namebox.png", gui.namebox_borders, tile=gui.namebox_tile, xalign=gui.name_xalign)
    padding gui.namebox_borders.padding

style say_label:
    properties gui.text_properties("name", accent=True)
    xalign gui.name_xalign
    yalign 0.5

style say_dialogue:
    properties gui.text_properties("dialogue")

    xpos gui.dialogue_xpos
    xsize gui.dialogue_width
    ypos gui.dialogue_ypos

    adjust_spacing False

## Input screen ################################################################
##
## This screen is used to display renpy.input. The prompt parameter is used to
## pass a text prompt in.
##
## This screen must create an input displayable with id "input" to accept the
## various input parameters.
##
## https://www.renpy.org/doc/html/screen_special.html#input

screen input(prompt):
    style_prefix "input"

    window:

        vbox:
            xanchor gui.dialogue_text_xalign
            xpos gui.dialogue_xpos
            xsize gui.dialogue_width
            ypos gui.dialogue_ypos

            text prompt style "input_prompt"
            input id "input"

style input_prompt is default

style input_prompt:
    xalign gui.dialogue_text_xalign
    properties gui.text_properties("input_prompt")

style input:
    xalign gui.dialogue_text_xalign
    xmaximum gui.dialogue_width

## Choice screen ###############################################################
##
## This screen is used to display the in-game choices presented by the menu
## statement. The one parameter, items, is a list of objects, each with caption
## and action fields.
##
## https://www.renpy.org/doc/html/screen_special.html#choice

screen choice(items):
    style_prefix "choice"

    vbox:
        for i in items:
            textbutton i.caption action i.action

style choice_vbox is vbox
style choice_button is button
style choice_button_text is button_text

style choice_vbox:
    xalign 0.5
    ypos 405
    yanchor 0.5

    spacing gui.choice_spacing

style choice_button is default:
    properties gui.button_properties("choice_button")

style choice_button_text is default:
    properties gui.button_text_properties("choice_button")

## Quick Menu screen ###########################################################
##
## The quick menu is displayed in-game to provide easy access to the out-of-game
## menus.

screen quick_menu():

    ## Ensure this appears on top of other screens.
    zorder 100

    if quick_menu:

        hbox:
            style_prefix "quick"

            xalign 0.5
            yalign 1.0

            textbutton _("Back") action Rollback()
            textbutton _("History") action ShowMenu('history')
            textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
            textbutton _("Auto") action Preference("auto-forward", "toggle")
            textbutton _("Save") action ShowMenu('save')
            textbutton _("Q.Save") action QuickSave()
            textbutton _("Q.Load") action QuickLoad()
            textbutton _("Prefs") action ShowMenu('preferences')

## This code ensures that the quick_menu screen is displayed in-game, whenever
## the player has not explicitly hidden the interface.
init python:
    config.overlay_screens.append("quick_menu")

default quick_menu = True

style quick_button is default
style quick_button_text is button_text

style quick_button:
    properties gui.button_properties("quick_button")

style quick_button_text:
    properties gui.button_text_properties("quick_button")

################################################################################
## Main and Game Menu Screens
################################################################################

## Navigation screen ###########################################################
##
## This screen is included in the main and game menus, and provides navigation
## to other menus, and to start the game.

screen navigation():

    vbox:
        style_prefix "navigation"

        xpos gui.navigation_xpos
        yalign 0.5

        spacing gui.navigation_spacing

        if main_menu:

            textbutton _("Start") action Start()

        else:

            textbutton _("History") action ShowMenu("history")

            textbutton _("Save") action ShowMenu("save")

        textbutton _("Load") action ShowMenu("load")

        textbutton _("Preferences") action ShowMenu("preferences")

        if _in_replay:

            textbutton _("End Replay") action EndReplay(confirm=True)

        elif not main_menu:

            textbutton _("Main Menu") action MainMenu()

        textbutton _("About") action ShowMenu("about")

        if renpy.variant("pc") or (renpy.variant("web") and not renpy.variant("mobile")):

            ## Help isn't necessary or relevant to mobile devices.
            textbutton _("Help") action ShowMenu("help")

        if renpy.variant("pc"):

            ## The quit button is banned on iOS and unnecessary on Android and
            ## Web.
            textbutton _("Quit") action Quit(confirm=not main_menu)

style navigation_button is gui_button
style navigation_button_text is gui_button_text

style navigation_button:
    size_group "navigation"
    properties gui.button_properties("navigation_button")

style navigation_button_text:
    properties gui.button_text_properties("navigation_button")

## Main Menu screen ############################################################
##
## Used to display the main menu when Ren'Py starts.
##
## https://www.renpy.org/doc/html/screen_special.html#main-menu

screen main_menu():

    ## This ensures that any other menu screen is replaced.
    tag menu

    add gui.main_menu_background

    ## This empty frame darkens the main menu.
    frame:
        style "main_menu_frame"

    ## The use statement includes another screen inside this one. The actual
    ## contents of the main menu are in the navigation screen.
    use navigation

    if gui.show_name:

        vbox:
            style "main_menu_vbox"

            text "[config.name!t]":
                style "main_menu_title"

            text "[config.version]":
                style "main_menu_version"

style main_menu_frame is empty
style main_menu_vbox is vbox
style main_menu_text is gui_text
style main_menu_title is main_menu_text
style main_menu_version is main_menu_text

style main_menu_frame:
    xsize 420
    yfill True

    background "gui/overlay/main_menu.png"

style main_menu_vbox:
    xalign 1.0
    xoffset -30
    xmaximum 1200
    yalign 1.0
    yoffset -30

style main_menu_text:
    properties gui.text_properties("main_menu", accent=True)

style main_menu_title:
    properties gui.text_properties("title")

style main_menu_version:
    properties gui.text_properties("version")

## Game Menu screen ############################################################
##
## This lays out the basic common structure of a game menu screen. It's called
## with the screen title, and displays the background, title, and navigation.
##
## The scroll parameter can be None, or one of "viewport" or "vpgrid". When
## this screen is intended to be used with one or more children, which are
## transcluded (placed) inside it.

screen game_menu(title, scroll=None, yinitial=0.0):

    style_prefix "game_menu"

    if main_menu:
        add gui.main_menu_background
    else:
        add gui.game_menu_background

    frame:
        style "game_menu_outer_frame"

        hbox:

            ## Reserve space for the navigation section.
            frame:
                style "game_menu_navigation_frame"

            frame:
                style "game_menu_content_frame"

                if scroll == "viewport":

                    viewport:
                        yinitial yinitial
                        scrollbars "vertical"
                        mousewheel True
                        draggable True
                        pagekeys True

                        side_yfill True

                        vbox:
                            transclude

                elif scroll == "vpgrid":

                    vpgrid:
                        cols 1
                        yinitial yinitial

                        scrollbars "vertical"
                        mousewheel True
                        draggable True
                        pagekeys True

                        side_yfill True

                        transclude

                else:

                    transclude

    use navigation

    textbutton _("Return"):
        style "return_button"

        action Return()

    label title

    if main_menu:
        key "game_menu" action ShowMenu("main_menu")

style game_menu_outer_frame is empty
style game_menu_navigation_frame is empty
style game_menu_content_frame is empty
style game_menu_viewport is gui_viewport
style game_menu_side is gui_side
style game_menu_scrollbar is gui_vscrollbar

style game_menu_label is gui_label
style game_menu_label_text is gui_label_text

style return_button is navigation_button
style return_button_text is navigation_button_text

style game_menu_outer_frame:
    bottom_padding 45
    top_padding 180

    background "gui/overlay/game_menu.png"

style game_menu_navigation_frame:
    xsize 420
    yfill True

style game_menu_content_frame:
    left_margin 60
    right_margin 30
    top_margin 15

style game_menu_viewport:
    xsize 1380

style game_menu_vscrollbar:
    unscrollable gui.unscrollable

style game_menu_side:
    spacing 15

style game_menu_label:
    xpos 75
    ysize 180

style game_menu_label_text:
    size gui.title_text_size
    color gui.accent_color
    yalign 0.5

style return_button:
    xpos gui.navigation_xpos
    yalign 1.0
    yoffset -45

## About screen ################################################################
##
## This screen gives credit and copyright information about the game and Ren'Py.
##
## There's nothing special about this screen, and hence it also serves as an
## example of how to make a custom screen.

screen about():

    tag menu

    ## This use statement includes the game_menu screen inside this one. The
    ## vbox child is then included inside the viewport inside the game_menu
    ## screen.
    use game_menu(_("About"), scroll="viewport"):

        style_prefix "about"

        vbox:

            label "[config.name!t]"
            text _("Version [config.version!t]\n")

            ## gui.about is usually set in options.rpy.
            if gui.about:
                text "[gui.about!t]\n"

            text _("Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]")

style about_label is gui_label
style about_label_text is gui_label_text
style about_text is gui_text

style about_label_text:
    size gui.label_text_size

## Load and Save screens #######################################################
##
## These screens are responsible for letting the player save the game and load
## it again. Since they share nearly everything in common, both are implemented
## in terms of a third screen, file_slots.
##
## https://www.renpy.org/doc/html/screen_special.html#save https://
## www.renpy.org/doc/html/screen_special.html#load

screen save():

    tag menu

    use file_slots(_("Save"))

screen load():

    tag menu

    use file_slots(_("Load"))

screen file_slots(title):

    default page_name_value = FilePageNameInputValue(pattern=_("Page {}"), auto=_("Automatic saves"), quick=_("Quick saves"))

    use game_menu(title):

        fixed:

            ## This ensures the input will get the enter event before any of the
            ## buttons do.
            order_reverse True

            ## The page name, which can be edited by clicking on a button.
            button:
                style "page_label"

                key_events True
                xalign 0.5
                action page_name_value.Toggle()

                input:
                    style "page_label_text"
                    value page_name_value

            ## The grid of file slots.
            grid gui.file_slot_cols gui.file_slot_rows:
                style_prefix "slot"

                xalign 0.5
                yalign 0.5

                spacing gui.slot_spacing

                for i in range(gui.file_slot_cols * gui.file_slot_rows):

                    $ slot = i + 1

                    button:
                        action FileAction(slot)

                        has vbox

                        add FileScreenshot(slot) xalign 0.5

                        text FileTime(slot, format=_("{#file_time}%A, %B %d %Y, %H:%M"), empty=_("empty slot")):
                            style "slot_time_text"

                        text FileSaveName(slot):
                            style "slot_name_text"

                        key "save_delete" action FileDelete(slot)

            ## Buttons to access other pages.
            hbox:
                style_prefix "page"

                xalign 0.5
                yalign 1.0

                spacing gui.page_spacing

                textbutton _("<") action FilePagePrevious()

                if config.has_autosave:
                    textbutton _("{#auto_page}A") action FilePage("auto")

                if config.has_quicksave:
                    textbutton _("{#quick_page}Q") action FilePage("quick")

                ## range(1, 10) gives the numbers from 1 to 9.
                for page in range(1, 10):
                    textbutton "[page]" action FilePage(page)

                textbutton _(">") action FilePageNext()

style page_label is gui_label
style page_label_text is gui_label_text
style page_button is gui_button
style page_button_text is gui_button_text

style slot_button is gui_button
style slot_button_text is gui_button_text
style slot_time_text is slot_button_text
style slot_name_text is slot_button_text

style page_label:
    xpadding 75
    ypadding 5

style page_label_text:
    text_align 0.5
    layout "subtitle"
    hover_color gui.hover_color

style page_button:
    properties gui.button_properties("page_button")

style page_button_text:
    properties gui.button_text_properties("page_button")

style slot_button:
    properties gui.button_properties("slot_button")

style slot_button_text:
    properties gui.button_text_properties("slot_button")

## Preferences screen ##########################################################
##
## The preferences screen allows the player to configure the game to better suit
## themselves.
##
## https://www.renpy.org/doc/html/screen_special.html#preferences

screen preferences():

    tag menu

    use game_menu(_("Preferences"), scroll="viewport"):

        vbox:

            hbox:
                box_wrap True

                if renpy.variant("pc") or renpy.variant("web"):

                    vbox:
                        style_prefix "radio"
                        label _("Display")
                        textbutton _("Window") action Preference("display", "window")
                        textbutton _("Fullscreen") action Preference("display", "fullscreen")

                vbox:
                    style_prefix "check"
                    label _("Skip")
                    textbutton _("Unseen Text") action Preference("skip", "toggle")
                    textbutton _("After Choices") action Preference("after choices", "toggle")
                    textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle"))

                ## Additional vboxes of type "radio_pref" or "check_pref" can be
                ## added here, to add additional creator-defined preferences.

            null height (4 * gui.pref_spacing)

            hbox:
                style_prefix "slider"
                box_wrap True

                vbox:

                    label _("Text Speed")

                    bar value Preference("text speed")

                    label _("Auto-Forward Time")

                    bar value Preference("auto-forward time")

                vbox:

                    if config.has_music:
                        label _("Music Volume")

                        hbox:
                            bar value Preference("music volume")

                    if config.has_sound:

                        label _("Sound Volume")

                        hbox:
                            bar value Preference("sound volume")

                            if config.sample_sound:
                                textbutton _("Test") action Play("sound", config.sample_sound)

                    if config.has_voice:
                        label _("Voice Volume")

                        hbox:
                            bar value Preference("voice volume")

                            if config.sample_voice:
                                textbutton _("Test") action Play("voice", config.sample_voice)

                    if config.has_music or config.has_sound or config.has_voice:
                        null height gui.pref_spacing

                        textbutton _("Mute All"):
                            action Preference("all mute", "toggle")
                            style "mute_all_button"

style pref_label is gui_label
style pref_label_text is gui_label_text
style pref_vbox is vbox

style radio_label is pref_label
style radio_label_text is pref_label_text
style radio_button is gui_button
style radio_button_text is gui_button_text
style radio_vbox is pref_vbox

style check_label is pref_label
style check_label_text is pref_label_text
style check_button is gui_button
style check_button_text is gui_button_text
style check_vbox is pref_vbox

style slider_label is pref_label
style slider_label_text is pref_label_text
style slider_slider is gui_slider
style slider_button is gui_button
style slider_button_text is gui_button_text
style slider_pref_vbox is pref_vbox

style mute_all_button is check_button
style mute_all_button_text is check_button_text

style pref_label:
    top_margin gui.pref_spacing
    bottom_margin 3

style pref_label_text:
    yalign 1.0

style pref_vbox:
    xsize 338

style radio_vbox:
    spacing gui.pref_button_spacing

style radio_button:
    properties gui.button_properties("radio_button")
    foreground "gui/button/radio_[prefix_]foreground.png"

style radio_button_text:
    properties gui.button_text_properties("radio_button")

style check_vbox:
    spacing gui.pref_button_spacing

style check_button:
    properties gui.button_properties("check_button")
    foreground "gui/button/check_[prefix_]foreground.png"

style check_button_text:
    properties gui.button_text_properties("check_button")

style slider_slider:
    xsize 525

style slider_button:
    properties gui.button_properties("slider_button")
    yalign 0.5
    left_margin 15

style slider_button_text:
    properties gui.button_text_properties("slider_button")

style slider_vbox:
    xsize 675

## History screen ##############################################################
##
## This is a screen that displays the dialogue history to the player. While
## there isn't anything special about this screen, it does have to access the
## dialogue history stored in _history_list.
##
## https://www.renpy.org/doc/html/history.html

screen history():

    tag menu

    ## Avoid predicting this screen, as it can be very large.
    predict False

    use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0):

        style_prefix "history"

        for h in _history_list:

            window:

                ## This lays things out properly if history_height is None.
                has fixed:
                    yfit True

                if h.who:

                    label h.who:
                        style "history_name"
                        substitute False

                        ## Take the color of the who text from the Character, if
                        ## set.
                        if "color" in h.who_args:
                            text_color h.who_args["color"]

                $ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
                text what:
                    substitute False

        if not _history_list:
            label _("The dialogue history is empty.")

## This determines what tags are allowed to be displayed on the history screen.

define gui.history_allow_tags = { "alt", "noalt", "rt", "rb", "art" }

style history_window is empty

style history_name is gui_label
style history_name_text is gui_label_text
style history_text is gui_text

style history_label is gui_label
style history_label_text is gui_label_text

style history_window:
    xfill True
    ysize gui.history_height

style history_name:
    xpos gui.history_name_xpos
    xanchor gui.history_name_xalign
    ypos gui.history_name_ypos
    xsize gui.history_name_width

style history_name_text:
    min_width gui.history_name_width
    text_align gui.history_name_xalign

style history_text:
    xpos gui.history_text_xpos
    ypos gui.history_text_ypos
    xanchor gui.history_text_xalign
    xsize gui.history_text_width
    min_width gui.history_text_width
    text_align gui.history_text_xalign
    layout ("subtitle" if gui.history_text_xalign else "tex")

style history_label:
    xfill True

style history_label_text:
    xalign 0.5

## Help screen #################################################################
##
## A screen that gives information about key and mouse bindings. It uses other
## screens (keyboard_help, mouse_help, and gamepad_help) to display the actual
## help.

screen help():

    tag menu

    default device = "keyboard"

    use game_menu(_("Help"), scroll="viewport"):

        style_prefix "help"

        vbox:
            spacing 23

            hbox:

                textbutton _("Keyboard") action SetScreenVariable("device", "keyboard")
                textbutton _("Mouse") action SetScreenVariable("device", "mouse")

                if GamepadExists():
                    textbutton _("Gamepad") action SetScreenVariable("device", "gamepad")

            if device == "keyboard":
                use keyboard_help
            elif device == "mouse":
                use mouse_help
            elif device == "gamepad":
                use gamepad_help

screen keyboard_help():

    hbox:
        label _("Enter")
        text _("Advances dialogue and activates the interface.")

    hbox:
        label _("Space")
        text _("Advances dialogue without selecting choices.")

    hbox:
        label _("Arrow Keys")
        text _("Navigate the interface.")

    hbox:
        label _("Escape")
        text _("Accesses the game menu.")

    hbox:
        label _("Ctrl")
        text _("Skips dialogue while held down.")

    hbox:
        label _("Tab")
        text _("Toggles dialogue skipping.")

    hbox:
        label _("Page Up")
        text _("Rolls back to earlier dialogue.")

    hbox:
        label _("Page Down")
        text _("Rolls forward to later dialogue.")

    hbox:
        label "H"
        text _("Hides the user interface.")

    hbox:
        label "S"
        text _("Takes a screenshot.")

    hbox:
        label "V"
        text _("Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}.")

    hbox:
        label "Shift+A"
        text _("Opens the accessibility menu.")

screen mouse_help():

    hbox:
        label _("Left Click")
        text _("Advances dialogue and activates the interface.")

    hbox:
        label _("Middle Click")
        text _("Hides the user interface.")

    hbox:
        label _("Right Click")
        text _("Accesses the game menu.")

    hbox:
        label _("Mouse Wheel Up\nClick Rollback Side")
        text _("Rolls back to earlier dialogue.")

    hbox:
        label _("Mouse Wheel Down")
        text _("Rolls forward to later dialogue.")

screen gamepad_help():

    hbox:
        label _("Right Trigger\nA/Bottom Button")
        text _("Advances dialogue and activates the interface.")

    hbox:
        label _("Left Trigger\nLeft Shoulder")
        text _("Rolls back to earlier dialogue.")

    hbox:
        label _("Right Shoulder")
        text _("Rolls forward to later dialogue.")

    hbox:
        label _("D-Pad, Sticks")
        text _("Navigate the interface.")

    hbox:
        label _("Start, Guide")
        text _("Accesses the game menu.")

    hbox:
        label _("Y/Top Button")
        text _("Hides the user interface.")

    textbutton _("Calibrate") action GamepadCalibrate()

style help_button is gui_button
style help_button_text is gui_button_text
style help_label is gui_label
style help_label_text is gui_label_text
style help_text is gui_text

style help_button:
    properties gui.button_properties("help_button")
    xmargin 12

style help_button_text:
    properties gui.button_text_properties("help_button")

style help_label:
    xsize 375
    right_padding 30

style help_label_text:
    size gui.text_size
    xalign 1.0
    text_align 1.0

################################################################################
## Additional screens
################################################################################

## Confirm screen ##############################################################
##
## The confirm screen is called when Ren'Py wants to ask the player a yes or no
## question.
##
## https://www.renpy.org/doc/html/screen_special.html#confirm

screen confirm(message, yes_action, no_action):

    ## Ensure other screens do not get input while this screen is displayed.
    modal True

    zorder 200

    style_prefix "confirm"

    add "gui/overlay/confirm.png"

    frame:

        vbox:
            xalign .5
            yalign .5
            spacing 45

            label _(message):
                style "confirm_prompt"
                xalign 0.5

            hbox:
                xalign 0.5
                spacing 150

                textbutton _("Yes") action yes_action
                textbutton _("No") action no_action

    ## Right-click and escape answer "no".
    key "game_menu" action no_action

style confirm_frame is gui_frame
style confirm_prompt is gui_prompt
style confirm_prompt_text is gui_prompt_text
style confirm_button is gui_medium_button
style confirm_button_text is gui_medium_button_text

style confirm_frame:
    background Frame([ "gui/confirm_frame.png", "gui/frame.png"], gui.confirm_frame_borders, tile=gui.frame_tile)
    padding gui.confirm_frame_borders.padding
    xalign .5
    yalign .5

style confirm_prompt_text:
    text_align 0.5
    layout "subtitle"

style confirm_button:
    properties gui.button_properties("confirm_button")

style confirm_button_text:
    properties gui.button_text_properties("confirm_button")

## Skip indicator screen #######################################################
##
## The skip_indicator screen is displayed to indicate that skipping is in
## progress.
##
## https://www.renpy.org/doc/html/screen_special.html#skip-indicator

screen skip_indicator():

    zorder 100
    style_prefix "skip"

    frame:

        hbox:
            spacing 9

            text _("Skipping")

            text "▸" at delayed_blink(0.0, 1.0) style "skip_triangle"
            text "▸" at delayed_blink(0.2, 1.0) style "skip_triangle"
            text "▸" at delayed_blink(0.4, 1.0) style "skip_triangle"

## This transform is used to blink the arrows one after another.
transform delayed_blink(delay, cycle):
    alpha .5

    pause delay

    block:
        linear .2 alpha 1.0
        pause .2
        linear .2 alpha 0.5
        pause (cycle - .4)
        repeat

style skip_frame is empty
style skip_text is gui_text
style skip_triangle is skip_text

style skip_frame:
    ypos gui.skip_ypos
    background Frame("gui/skip.png", gui.skip_frame_borders, tile=gui.frame_tile)
    padding gui.skip_frame_borders.padding

style skip_text:
    size gui.notify_text_size

style skip_triangle:
    ## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE
    ## glyph in it.
    font "DejaVuSans.ttf"

## Notify screen ###############################################################
##
## The notify screen is used to show the player a message. (For example, when
## the game is quicksaved or a screenshot has been taken.)
##
## https://www.renpy.org/doc/html/screen_special.html#notify-screen

screen notify(message):

    zorder 100
    style_prefix "notify"

    frame at notify_appear:
        text "[message!tq]"

    timer 3.25 action Hide('notify')

transform notify_appear:
    on show:
        alpha 0
        linear .25 alpha 1.0
    on hide:
        linear .5 alpha 0.0

style notify_frame is empty
style notify_text is gui_text

style notify_frame:
    ypos gui.notify_ypos

    background Frame("gui/notify.png", gui.notify_frame_borders, tile=gui.frame_tile)
    padding gui.notify_frame_borders.padding

style notify_text:
    properties gui.text_properties("notify")

## NVL screen ##################################################################
##
## This screen is used for NVL-mode dialogue and menus.
##
## https://www.renpy.org/doc/html/screen_special.html#nvl

screen nvl(dialogue, items=None):

    window:
        style "nvl_window"

        has vbox:
            spacing gui.nvl_spacing

        ## Displays dialogue in either a vpgrid or the vbox.
        if gui.nvl_height:

            vpgrid:
                cols 1
                yinitial 1.0

                use nvl_dialogue(dialogue)

        else:

            use nvl_dialogue(dialogue)

        ## Displays the menu, if given. The menu may be displayed incorrectly if
        ## config.narrator_menu is set to True.
        for i in items:

            textbutton i.caption:
                action i.action
                style "nvl_button"

    add SideImage() xalign 0.0 yalign 1.0

screen nvl_dialogue(dialogue):

    for d in dialogue:

        window:
            id d.window_id

            fixed:
                yfit gui.nvl_height is None

                if d.who is not None:

                    text d.who:
                        id d.who_id

                text d.what:
                    id d.what_id

## This controls the maximum number of NVL-mode entries that can be displayed at
## once.
define config.nvl_list_length = gui.nvl_list_length

style nvl_window is default
style nvl_entry is default

style nvl_label is say_label
style nvl_dialogue is say_dialogue

style nvl_button is button
style nvl_button_text is button_text

style nvl_window:
    xfill True
    yfill True

    background "gui/nvl.png"
    padding gui.nvl_borders.padding

style nvl_entry:
    xfill True
    ysize gui.nvl_height

style nvl_label:
    xpos gui.nvl_name_xpos
    xanchor gui.nvl_name_xalign
    ypos gui.nvl_name_ypos
    yanchor 0.0
    xsize gui.nvl_name_width
    min_width gui.nvl_name_width
    text_align gui.nvl_name_xalign

style nvl_dialogue:
    xpos gui.nvl_text_xpos
    xanchor gui.nvl_text_xalign
    ypos gui.nvl_text_ypos
    xsize gui.nvl_text_width
    min_width gui.nvl_text_width
    text_align gui.nvl_text_xalign
    layout ("subtitle" if gui.nvl_text_xalign else "tex")

style nvl_thought:
    xpos gui.nvl_thought_xpos
    xanchor gui.nvl_thought_xalign
    ypos gui.nvl_thought_ypos
    xsize gui.nvl_thought_width
    min_width gui.nvl_thought_width
    text_align gui.nvl_thought_xalign
    layout ("subtitle" if gui.nvl_text_xalign else "tex")

style nvl_button:
    properties gui.button_properties("nvl_button")
    xpos gui.nvl_button_xpos
    xanchor gui.nvl_button_xalign

style nvl_button_text:
    properties gui.button_text_properties("nvl_button")

################################################################################
## Mobile Variants
################################################################################

style pref_vbox:
    variant "medium"
    xsize 675

## Since a mouse may not be present, we replace the quick menu with a version
## that uses fewer and bigger buttons that are easier to touch.
screen quick_menu():
    variant "touch"

    zorder 100

    if quick_menu:

        hbox:
            style_prefix "quick"

            xalign 0.5
            yalign 1.0

            textbutton _("Back") action Rollback()
            textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
            textbutton _("Auto") action Preference("auto-forward", "toggle")
            textbutton _("Menu") action ShowMenu()

style window:
    variant "small"
    background "gui/phone/textbox.png"

style radio_button:
    variant "small"
    foreground "gui/phone/button/radio_[prefix_]foreground.png"

style check_button:
    variant "small"
    foreground "gui/phone/button/check_[prefix_]foreground.png"

style nvl_window:
    variant "small"
    background "gui/phone/nvl.png"

style main_menu_frame:
    variant "small"
    background "gui/phone/overlay/main_menu.png"

style game_menu_outer_frame:
    variant "small"
    background "gui/phone/overlay/game_menu.png"

style game_menu_navigation_frame:
    variant "small"
    xsize 510

style game_menu_content_frame:
    variant "small"
    top_margin 0

style pref_vbox:
    variant "small"
    xsize 600

style bar:
    variant "small"
    ysize gui.bar_size
    left_bar Frame("gui/phone/bar/left.png", gui.bar_borders, tile=gui.bar_tile)
    right_bar Frame("gui/phone/bar/right.png", gui.bar_borders, tile=gui.bar_tile)

style vbar:
    variant "small"
    xsize gui.bar_size
    top_bar Frame("gui/phone/bar/top.png", gui.vbar_borders, tile=gui.bar_tile)
    bottom_bar Frame("gui/phone/bar/bottom.png", gui.vbar_borders, tile=gui.bar_tile)

style scrollbar:
    variant "small"
    ysize gui.scrollbar_size
    base_bar Frame("gui/phone/scrollbar/horizontal_[prefix_]bar.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)
    thumb Frame("gui/phone/scrollbar/horizontal_[prefix_]thumb.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)

style vscrollbar:
    variant "small"
    xsize gui.scrollbar_size
    base_bar Frame("gui/phone/scrollbar/vertical_[prefix_]bar.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)
    thumb Frame("gui/phone/scrollbar/vertical_[prefix_]thumb.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)

style slider:
    variant "small"
    ysize gui.slider_size
    base_bar Frame("gui/phone/slider/horizontal_[prefix_]bar.png", gui.slider_borders, tile=gui.slider_tile)
    thumb "gui/phone/slider/horizontal_[prefix_]thumb.png"

style vslider:
    variant "small"
    xsize gui.slider_size
    base_bar Frame("gui/phone/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile)
    thumb "gui/phone/slider/vertical_[prefix_]thumb.png"

style slider_vbox:
    variant "small"
    xsize None

style slider_slider:
    variant "small"
    xsize 900


code:
# Developer mode options --Please Turn off once push to build
init -500 python:
    config.console = True

label start:
    pass

repo_name: pervy/rogues

license: unknown


code:
## This file contains the default options to change the renpy trainer
## module.
##
## Lines beginning with two '#' marks are comments, and you shouldn't
## uncomment them. Lines beginning with a single '#' mark are
## commented-out code, and you may want to uncomment them when
## appropriate.

## Changes Ren'Py's layers to support extra features.
## Do not change! Use renpy.add_layer() instead.

define config.layers = [ 'background', 'master', 'transient', 'screens', 'overlay' ]

$ config.tag_layer[bg] = 'background'

## Determines what style to use. Set to None if using default Ren'Py styles.

init -1 python in trainer:

    gui_prefix = "trainer"

    ## This is the list of stats or attributes each trainer character
    ## will have when created.

    attributes = {"Love":500, "Lust":0, "Obedience":0, "Inhibition":0, "Arousal":0}

    ## These control the minimum and maximum attribute or stat values for
    ## Trainer Characters.

    attr_max = 100
    attr_min = 0

    ## Modifier maximum value

    ## Paperdoll Layers in order from bottom to top

    trainer.layers = {}

    ## Outfit types

    named_outfit_types = ["nude", "activewear", "private", "sleepwear", "swimwear", "school", "uniform"]

    ## Default outfit in a tuple of (named type, outfit)

    # TODO: Outfit is not complete yet. Fix this line after Outfit is complete.
    #default_outfit = ("uniform", Outfit("default_outfit"))

    ## these variables define test petnames and relationship types
    relationship_types = {"girlfriend":("love",50), "wife":("love",150),"sex friend":("inhibition",175),"slave":("obedience",200)}
    self_petnames = {"honey":("love",50), "baby girl":("love",100),"whore":("inhibition",150),"slave":("obedience",200)}
    others_petnames = {"daddy":("love",50),"sir":("obedience",100),"master":("obedience",200)}

    ## Default sex act types available for characters.
    # ???: i'm not sure about some of those and i think there migth be more?
    sex_acts = ['makeout?', 'blowjob', 'handjob', 'anal', 'vaginal']

init python:
    ## Sets an archive for renpy-trainer
    build.archive("trainer", "all")
    build.archive("testsuite", "all")

    ## These control the build of archives
    build.classify("game/_01trainer/**", "trainer")
    build.classify("game/_02trainer_testsuite/**", "testsuite")


code:
"""
    trainer-script.rpy

    This contains essential labels for the renpy-trainer module.
    Labels in this section can be customized.
"""

# This label controls the wardrobe.
label trainer_wardrobe(who):
    call screen trainer_wardrobe_menu

# This label controls sex scenes.
label trainer_sex(whom=[]):
    call screen trainer_sex_menu


code:
## This file contains basic styles for the renpy-trainer framework.
##
## To use these styles, set the style option in trainer.options to "oni".
##


code:
# Ignore all files
*.*

# Except
!*.json
!*.js
!*.zip
!*.7z
!*.csv
!.gitignore
!README.md

# Images
!新しいフォルダー
!menu_P01 HELP01.png
!menu_P01 セレナ名前.png
!menu_P01 枠.png
!menu_P01 説明_名前.png
!menu_P02 ステータス-処女膜-LV01.png
!menu_P02 ステータス-処女膜-LV02.png
!menu_P02 ステータス-処女膜-LV03.png
!menu_P02 ステータス-処女膜-LV04.png
!menu_P02 ステータス-処女膜-LV05.png
!menu_P02 ステータス-処女膜-LV06.png
!menu_P02 ステータス-性感-LV01.png
!menu_P02 ステータス-性感-LV02.png
!menu_P02 ステータス-性感-LV03.png
!menu_P02 ステータス-性感-LV04.png
!menu_P02 ステータス-性感-LV05.png
!menu_P02 ステータス-性感-LV06.png
!menu_P02 ステータス-感度-LV01.png
!menu_P02 ステータス-感度-Lv02.png
!menu_P02 ステータス-感度-LV03.png
!menu_P02 ステータス-感度-LV04.png
!menu_P02 ステータス-感度-LV05.png
!menu_P02 ステータス-感度-LV06.png
!menu_P02 ステータス-称号-小公女.png
!menu_P02 ステータス-肛状態-LV01.png
!menu_P02 ステータス-肛状態-LV02.png
!menu_P02 ステータス-肛状態-LV03.png
!menu_P02 ステータス-肛状態-LV04.png
!menu_P02 ステータス-肛状態-LV05.png
!menu_P02 ステータス-肛状態-LV06.png
!menu_P02 ステータス-肛状態-LV07.png
!menu_P02 ステータス-肛状態-LV08.png
!menu_P02 ステータス-肛状態-LV09.png
!menu_P02 ステータス-肛状態-LV10.png
!menu_P02 ステータス-肛状態-LV11.png
!menu_P02 ステータス-胎内-ならずものの子供.png
!menu_P02 ステータス-胎内-オークの胎児.png
!menu_P02 ステータス-胎内-ゴブリンの胎児.png
!menu_P02 ステータス-胎内-ゴードンの子供.png
!menu_P02 ステータス-胎内-ジャックの子供.png
!menu_P02 ステータス-胎内-スライムの胎児.png
!menu_P02 ステータス-胎内-ピッグマンの胎児.png
!menu_P02 ステータス-胎内-ヘンリーの子供.png
!menu_P02 ステータス-胎内-ミノタウロスの胎児.png
!menu_P02 ステータス-胎内-人間の子供.png
!menu_P02 ステータス-胎内-名も知らぬ男の子供.png
!menu_P02 ステータス-胎内-父親不明の子供.png
!menu_P02 ステータス-胎内-盗人の子供.png
!menu_P02 ステータス-胎内-盗賊の子供.png
!menu_P02 ステータス-胎内-触手の胎児.png
!menu_P02 ステータス-胎内形質-オーク.png
!menu_P02 ステータス-胎内形質-ゴブリン.png
!menu_P02 ステータス-胎内形質-スタリオン.png
!menu_P02 ステータス-胎内形質-スライム.png
!menu_P02 ステータス-胎内形質-ピッグマン.png
!menu_P02 ステータス-胎内形質-ローパー.png
!menu_P02 ステータス-胎内形質-ワーグ.png
!menu_P02 ステータス-胎内形質-形質残留.png
!menu_P02 ステータス-胎内形質-形質汚染.png
!menu_P02 ステータス-胎内形質-高貴.png
!menu_P02 ステータス-膣状態-LV01.png
!menu_P02 ステータス-膣状態-LV02.png
!menu_P02 ステータス-膣状態-LV03.png
!menu_P02 ステータス-膣状態-LV04.png
!menu_P02 ステータス-膣状態-LV05.png
!menu_P02 ステータス-膣状態-LV06.png
!menu_P02 ステータス-膣状態-LV07.png
!menu_P02 ステータス-膣状態-LV08.png
!menu_P02 ステータス-膣状態-LV09.png
!menu_P02 ステータス-膣状態-LV10.png
!menu_P02 ステータス-膣状態-LV11.png
!menu_P02 枠 PC001.png
!menu_P03 ステータス-ちんぽ-スライム000.png
!menu_P03 ステータス-ちんぽ-スライム001.png
!menu_P03 ステータス-ちんぽ-スライム002.png
!menu_P03 ステータス-ちんぽ-スライム003.png
!menu_P03 ステータス-ちんぽ-スライム004.png
!menu_P03 ステータス-ちんぽ-ピッグマン270.png
!menu_P03 ステータス-性知識-LV01.png
!menu_P03 ステータス-性知識-LV02.png
!menu_P03 ステータス-性知識-LV03.png
!menu_P03 ステータス-性知識-LV04.png
!menu_P03 ステータス-性経験-LV01.png
!menu_P03 ステータス-性経験-LV02.png
!menu_P03 ステータス-性経験-LV03.png
!menu_P03 ステータス-性経験-LV04.png
!menu_P03 ステータス-性経験-LV05.png
!menu_P03 ステータス-性認識-LV01.png
!menu_P03 ステータス-性認識-LV02.png
!menu_P03 ステータス-性認識-LV03-C.png
!menu_P03 ステータス-性認識-LV03-L.png
!menu_P03 ステータス-性認識-LV04-C.png
!menu_P03 ステータス-性認識-LV04-L.png
!menu_P03 ステータス-断面図-肛LV01.png
!menu_P03 ステータス-断面図-肛LV02.png
!menu_P03 ステータス-断面図-肛LV03.png
!menu_P03 ステータス-断面図-肛LV04.png
!menu_P03 ステータス-断面図-肛LV05.png
!menu_P03 ステータス-断面図-膣LV01.png
!menu_P03 ステータス-断面図-膣LV02.png
!menu_P03 ステータス-断面図-膣LV03.png
!menu_P03 ステータス-断面図-膣LV04.png
!menu_P03 ステータス-断面図-膣LV05.png
!menu_P03 ステータス-断面図-膣LV06.png
!menu_P03 ステータス-断面図-膣LV07.png
!menu_P03 ステータス-清純度-LV01.png
!menu_P03 ステータス-清純度-LV02.png
!menu_P03 ステータス-清純度-LV03.png
!menu_P03 ステータス-相手-シチュ-お尻でした 1.png
!menu_P03 ステータス-相手-シチュ-お尻を犯された 3.png
!menu_P03 ステータス-相手-シチュ-お尻を触られた 2.png
!menu_P03 ステータス-相手-シチュ-ぶっかけられた 9.png
!menu_P03 ステータス-相手-シチュ-キスされた 4.png
!menu_P03 ステータス-相手-シチュ-セックスした 5.png
!menu_P03 ステータス-相手-シチュ-トイレ中に犯された 6.png
!menu_P03 ステータス-相手-シチュ-フェラさせられた 7.png
!menu_P03 ステータス-相手-シチュ-フェラした 8.png
!menu_P03 ステータス-相手-シチュ-ベッドでレイプされた 10.png
!menu_P03 ステータス-相手-シチュ-レイプされた 11.png
!menu_P03 ステータス-相手-シチュ-人前でレイプされた 26.png
!menu_P03 ステータス-相手-シチュ-体を売った 31.png
!menu_P03 ステータス-相手-シチュ-倉庫でレイプされた 29.png
!menu_P03 ステータス-相手-シチュ-倒されてレイプされた 35.png
!menu_P03 ステータス-相手-シチュ-入浴中に犯された 36.png
!menu_P03 ステータス-相手-シチュ-公開でレイプされた 16.png
!menu_P03 ステータス-相手-シチュ-出産中に犯された 24.png
!menu_P03 ステータス-相手-シチュ-勉強中に犯された 38.png
!menu_P03 ステータス-相手-シチュ-地面でレイプされた 32.png
!menu_P03 ステータス-相手-シチュ-好き放題レイプされた 17.png
!menu_P03 ステータス-相手-シチュ-巣穴でレイプされた 30.png
!menu_P03 ステータス-相手-シチュ-店内でレイプされた 34.png
!menu_P03 ステータス-相手-シチュ-張型でオナニーした 33.png
!menu_P03 ステータス-相手-シチュ-戦闘中にレイプされた 28.png
!menu_P03 ステータス-相手-シチュ-手でした 21.png
!menu_P03 ステータス-相手-シチュ-手でオナニーした 20.png
!menu_P03 ステータス-相手-シチュ-捕まってレイプされた 39.png
!menu_P03 ステータス-相手-シチュ-気絶中に犯された 12.png
!menu_P03 ステータス-相手-シチュ-治療中に犯された 18.png
!menu_P03 ステータス-相手-シチュ-物陰でレイプされた 37.png
!menu_P03 ステータス-相手-シチュ-睡眠中に犯された 27.png
!menu_P03 ステータス-相手-シチュ-穴倉でレイプされた 15.png
!menu_P03 ステータス-相手-シチュ-胸をもまれた 13.png
!menu_P03 ステータス-相手-シチュ-脅されてレイプされた 14.png
!menu_P03 ステータス-相手-シチュ-自分から股を開いた 19.png
!menu_P03 ステータス-相手-シチュ-路地裏でレイプされた 42.png
!menu_P03 ステータス-相手-シチュ-連れ込まれてレイプされた 41.png
!menu_P03 ステータス-相手-シチュ-酒場でレイプされた 22.png
!menu_P03 ステータス-相手-シチュ-野外でレイプされた 40.png
!menu_P03 ステータス-相手-シチュ-集団でレイプされた 23.png
!menu_P03 ステータス-相手-シチュ-食事中に犯された 25.png
!menu_P03 ステータス-相手-トラウマ-モンスターの出産 1.png
!menu_P03 ステータス-相手-トラウマ-モンスターの苗床 2.png
!menu_P03 ステータス-相手-トラウマ-出産 5.png
!menu_P03 ステータス-相手-トラウマ-強姦 4.png
!menu_P03 ステータス-相手-トラウマ-望まぬ出産 6.png
!menu_P03 ステータス-相手-トラウマ-望まぬ妊娠 7.png
!menu_P03 ステータス-相手-トラウマ-監禁 3.png
!menu_P03 ステータス-相手-トラウマ-輪姦 8.png
!menu_P03 ステータス-相手-名前-ならずもの 105.png
!menu_P03 ステータス-相手-名前-オーク 206.png
!menu_P03 ステータス-相手-名前-ゴブリン 201.png
!menu_P03 ステータス-相手-名前-ゴードン 4.png
!menu_P03 ステータス-相手-名前-ジャック 2.png
!menu_P03 ステータス-相手-名前-スライム 211.png
!menu_P03 ステータス-相手-名前-ピッグマン 226.png
!menu_P03 ステータス-相手-名前-ヘンリー 3.png
!menu_P03 ステータス-相手-名前-ミノタウロス 216.png
!menu_P03 ステータス-相手-名前-不明 1.png
!menu_P03 ステータス-相手-名前-名も知らぬ男 101.png
!menu_P03 ステータス-相手-名前-張型 503.png
!menu_P03 ステータス-相手-名前-棒 502.png
!menu_P03 ステータス-相手-名前-温泉客 102.png
!menu_P03 ステータス-相手-名前-盗人 013.png
!menu_P03 ステータス-相手-名前-盗賊 104.png
!menu_P03 ステータス-相手-名前-触手 221.png
!menu_P03 ステータス-相手-状況-事故 1.png
!menu_P03 ステータス-相手-状況-和姦 4.png
!menu_P03 ステータス-相手-状況-器具 501.png
!menu_P03 ステータス-相手-状況-強姦 5.png
!menu_P03 ステータス-相手-状況-自慰 2.png
!menu_P03 ステータス-相手-状況-輪姦 3.png
!menu_P03 枠 PC001.png
!menu_P04 PC001 家系図.png
!menu_P04 PC001 家系図_A.png
!menu_P04 PC001 家系図_B.png
!menu_P04 PC001 家系図_C.png
!menu_P04 枠 PC001.png
!タイトル第三部.png
!タイトル第二部.png
!難易度選択.png
!book-文章-オーク所見01.png
!book-文章-オーク敗北01.png
!book-文章-オーク説明01.png
!book-文章-ゴブリン所見01.png
!book-文章-ゴブリン敗北01.png
!book-文章-ゴブリン説明01.png
!book-文章-サッカー説明01.png
!book-文章-スタリオン説明01.png
!book-文章-スライム説明01.png
!book-文章-ピッグマン説明01.png
!book-文章-モンスター説明01.png
!book-文章-ローパー説明01.png
!book-文章-ワーグ説明01.png

repo_name: Idkwtcm/violated

path: .gitignore


code:
# Apply Patch
1. Click Code
2. Click Download ZIP
3. Extract to game folder and Replace All.

# How To Contribute
TLDR 3 steps.

    Fork the repository.
    Make the changes.
    Submit a pull request to the project owner.

If everything looks good and doesn't break things I'll merge it in.

Longer Version:

Things that are needed:
* [VSCode](https://code.visualstudio.com/) Make sure you check all the boxes for context menus. ![image](https://github.com/DazedMTL/Dungeon-With-Girl/assets/96628874/7a84b624-32fe-4845-a0f6-2b9f39795070)
* The Game
* [Git](https://git-scm.com/downloads) (Use the default for everything. Just keep clicking Next)
* Motivation to learn

Installation:
1. Fork the repo using the fork button at the top. Click Code > HTTPS > Copy URL.
2. Right click on the game folder and click 'Open with VSCode' (Shift+Right_Click if you are on Windows 11)
3. Click on the Source Control Button and click initialize repository.

![image](https://github.com/DazedMTL/Dungeon-With-Girl/assets/96628874/61e818e6-11f9-450d-9d7d-263d109dbf56)

4. At the top click on Terminal > New Terminal. Enter the following: `git clone [URL_YOU_COPIED_ABOVE]`.
5. Copy the contents of the new folder created with git clone into the game folder and replace all.
6. Your source control menu should be good to go and look like this.

![image](https://github.com/DazedMTL/Dungeon-With-Girl/assets/96628874/c19787a0-172d-4a08-a37a-e3b56e70e86a)

Now you are all setup, all you need to do is play the game and look for any changes that need to be made. Stuff like spelling errors, wrong names, inconsistencies, spacing issues, etc.

7. Use the FIND functionality to search for what you are trying to fix. For example if a character's name is wrong, type that into the search menu and start looking, then make the change. Try not to mess with any scripts or variables you might see.

![image](https://github.com/DazedMTL/Dungeon-With-Girl/assets/96628874/589eccaf-7f86-43f7-a917-7e6e477b381a)

8. After you are satisfied with your changes it's time to put in a PR. Go to source control to see all your changes. Add a message and click the `Commit` button to save them all.

![image](https://github.com/DazedMTL/Dungeon-With-Girl/assets/96628874/a9a8973b-bc01-4184-bea9-63a925d961a2)

8. Click Sync to push your changes to your fork. Now all that's left is to put in a pull request.
9. Go to Pull Requests > New Pull Requests. Look at the arrow, your fork should be pointing to the original repo (mine). Add in details on what you fixed and Submit. If everything looks good I'll merge it in and you would have successfully contributed.

Got questions? Just shoot me a message, more than happy to walk you through any of the tools.


Monster Tome

description:
A magical tome that automatically inscribes information about
monsters. It contains basic information about them.

Unicorn's Blessing

description:
The divine protection of the sacred beast that guards the girl. It
would be difficult to break through this with force.


Bat

battlerName: Bat

Slime

battlerName: Slime

Orc

battlerName: Orc

Minotaur

battlerName: Minotaur


Potion

description: Recovers 30% HP.

Magic Water

description: Recovers 200 MP.

Potion

description: Recovers 30% HP.

Magic Water

description: Recovers 200 MP.

Suspicious Potion

description: The quality is dubious. Recovers 20% HP.

Suspicious Magic Water

description: The quality is dubious. Recovers 50 MP.

Cradle Amulet

description:
An amulet imbued with sleep magic. Easily resisted, so it only works
on defenseless targets.

Mysterious Amulet

description:
An item requested by Gekuran for procurement. It emits a strange
magical power.

Apeiron?

description:
A failed creation of Apeiron that recovers HP and MP to half. Despite
being a failure, its effects are tremendous.

Maid Waitress Outfit

description:
A maid-style waitress outfit with a worryingly short skirt and cute
frills.

Negligee

description: A luxury item that costs a commoner's annual living expenses.

Silk Bra

description: A simple bra made lavishly with high-quality silk material.

System Change Item

description: Allows for partial changes to the settings.

Guild Card

description:
A card engraved with the history of an adventurer. Also used as an
identification card.

Abortion Drug

description:
An abortion drug given by the guild master. It's meant to be handed
over to Erika, but...

Simple Baked Sweets

description:
A cookie-like baked sweet made from kneaded wheat and milk. Flavored
with a sweet sap, it has a faint sweetness.

Erika's Supplies

description: A collection of foodstuffs and some miscellaneous goods.

Delivery Package

description:
A delivery for Midwife Catherine. It's completely unclear how this
will be useful...

Yellow Identification Tag

description:
Officially called a medical coupon. It permits the business of
prostitutes and guarantees their health status.

Shirley's Child

description:
A goblin child entrusted by the adventurer Sharly. It wriggles eerily
in one's arms.

Serena's Milk

description: Milk squeezed from Serena's own breasts.

Milk

description: The source is unknown, but it can substitute for breast milk.

Milking Machine

description:
An apparatus for pregnant women to manually express excess breast
milk. It somewhat relieves the tension in the breasts.

Goblin Child

description:
A goblin baby born from Serena. Lacking any of the usual cuteness of
infants, it's an ugly creature.

Orc Child

description:
An orc baby born from Serena. Its bony and muscular body is already
too heavy to hold.

Warg Child

description:
A warg baby born from Serena. It grows quickly and seems like it would
walk endlessly if put on the floor.

Pigman Child

description:
A pigman baby born from Serena. Its squishy skin induces a
physiological disgust in the mother.

Stallion Child

description:
A stallion baby born from Serena. Violent is an understatement;
feeding it feels more like plunder than nursing.

Slime Larva

description:
A slime spawn that came out of Serena's body. Communication is
difficult, and it's hard to tell if it's even asleep.

Roper Child

description:
A roper baby born from Serena. Occasionally, it seems to try to
entangle and capture its surroundings.

Chimera Child

description: A chimera baby born from Serena.

Someone's Child

description:
A baby of unknown fatherhood born from Serena. Innocently sleeping for
now...

Random Attacker John's Child

description:
A baby made with John that Serena carries. Each time she holds it
close, dreadful memories flash through her mind.

Child of Guy

description:
The child Serena made with Gie. The smell of the prison comes back to
me.

Child of Vincent

description:
The child Serena made with the innkeeper Vincent. I have no memory of
it, and it terrifies me.

Child of Albert

description: The child Serena made with Albert. The child is quiet while nursing.

Child of Samuel

description: The child Serena made with Samuel. The child is quiet while nursing.

Child of Denis

description:
The child Serena made with the weapon shop owner Doni. I don't feel at
all like a parent, nor that this child is mine.

Child of Mathias

description: The child Serena made with Mathias. The child is quiet while nursing.

Child of Marcel

description: The child Serena made with Marcel. The child is quiet while nursing.

Child of Deacon

description:
The child Serena made with the brothel's foreman Deacon. Deacon's
overly familiar behavior makes me feel sick.

Child of Goobil

description: The child Serena made with the city noble Goupil.

Child of Demouran

description:
The child Serena made with the captain of the city guard Demouran. I
just can't find it in me to think of the child as cute.

Child of Rodrigue

description:
The child Serena made with the town doctor Rodrigue. I hope at least
this child grows up properly.

Child of Geklan

description:
The child Serena made with Gekuran. When I try to think about this
child, my mind gets foggy.

Child of Tim

description: The child Serena made with Tim.

Child of Ganelon

description:
The child Serena made with Ganelon. A symbol of humiliation, violence,
and submission. I just can't bring myself to love it.

Child of Bardan

description:
The child Serena made with Bardan. Although the child was not wanted,
I wish for its happiness.

Child of a City Guard Member

description:
The child Serena made with someone from the city guard. Since the
guards cowardly hide their faces, the parent of this child is unknown.

Child of an Adventurer

description:
The child Serena made with a guild member. No, they're not my
comrades. Not those who would do such a thing.

Child of a Thug

description:
The child Serena made with a thug. I was raped and forcibly
impregnated. It's impossible to harbor any affection.

Child of a Punk

description:
The child Serena made with a punk. The men's vulgar laughter still
clings to my ears and won't leave.

Child of a Vagrant

description:
The child Serena made with a vagrant. The child's responses are slow,
and its eyes are vacant. It's unsettling to watch.

Child of a Prostitute's Client

description:
The child Serena made with a prostitution client. I don't know his
name. It makes me feel very miserable.

Prisoner's Child

description:
Serena's child, born amidst the prisoners. Days like hell. And its
continuation still lies in my hands.

Stallion's Child

description:
Serena's child, sired by a stud stallion. I've given birth. That man
must be sneering.

Ganelon's Grandchild

description:
Serena's child, fathered by Ganelon's son. Will this child grow up to
hurt and violate someone, just like me?

Goblin's Offspring

description:
Serena's child, conceived with a goblin of her own blood. A squared
abomination. An existence that should never be forgiven.

Orc's Offspring

description:
Serena's child, conceived with an orc of her own blood. It must be
disposed of quickly. It must be disposed of soon...

Warg's Offspring

description:
Serena's child, conceived with a warg of her own blood. My hands
tremble as I hold it. I want to throw it away right now.

Pigman's Offspring

description:
Serena's child, conceived with a pigman of her own blood. Could there
be any other sin as terrifying as this in the world?

Stallion's Offspring

description:
Serena's child, conceived with a stallion of her own blood. A huge
penis stands erect. Pure terror.

Roper's Offspring

description:
Serena's child, conceived with a roper of her own blood. I've already
been attacked by it several times. If this continues...

Potion of Stamina

description: When used, it increases HP by 10.

note:
<VCI変数番号:177>
<VCI代入値:1>

Potion of Magic Power

description: When used,

note:
<VCI変数番号:177>
<VCI代入値:2>

Potion of Strength

description: When used, it increases Attack by 3.

note:
<VCI変数番号:177>
<VCI代入値:3>

Potion of Protection

description: When used, it increases Defense by 3.

note:
<VCI変数番号:177>
<VCI代入値:4>

Potion of Wisdom

description: When used, it increases M. Power by 3.

note:
<VCI変数番号:177>
<VCI代入値:5>

Vaginal Beauty Potion

description: A medicine that can somewhat recover the condition of the pussy.

note:
<VCI変数番号:177>
<VCI代入値:11>

Butt Beauty Potion

description: A medicine that can somewhat recover the condition of the butt.

note:
<VCI変数番号:177>
<VCI代入値:12>

Ovulation Inducing Drug

description:
A drug that, if consumed, will cause a state where one is guaranteed
to have a multiple pregnancy if impregnated that day.

note:
<VCI変数番号:177>
<VCI代入値:13>

Forced Pregnancy Drug

description:
If consumed, for one day, it will cause a state where one is certain
to become pregnant from a single vaginal ejaculation.

note:
<VCI変数番号:177>
<VCI代入値:14>

Contraceptive Drug

description: If consumed, it will put you in a contraceptive state for one day.

note:
<VCI変数番号:177>
<VCI代入値:15>

Womb Trait Recovery Medicine

description: A drug that restores the womb's traits to their original state.

note:
<VCI変数番号:177>
<VCI代入値:16>

Lust Sedative

description: A drug that lowers sexual desire.

note:
<VCI変数番号:177>
<VCI代入値:17>

Mental Sedative

description: A drug that calms the mind.

note:
<VCI変数番号:177>
<VCI代入値:18>

Mental Depressant

description: A drug that depresses the mind.

note:
<VCI変数番号:177>
<VCI代入値:19>

Apeiron

description:
Fully recovers HP and MP. The source of everything. That which is
unlimited.

Nipple Beautifying Ointment

description: An ointment that restores the color of nipples to pink.

note:
<VCI変数番号:177>
<VCI代入値:20>

Tattoo Removal Ointment

description: A magical ointment that can erase tattoos.

note:
<VCI変数番号:177>
<VCI代入値:21>


selfSwitchCh: A

parameters:
Hey Serena-nee, if you've got a hole to
spare...\n< Boy >

parameters: What the... You're feeding them?\n< Boy >

parameters:
You know, looking at this, it's kinda...
mysterious, you know?\n< Boy >

parameters:
Aren't kids mysterious? Like, the
mystery of life or something.\n< Boy >

parameters: Sucking on mom's tits like that.\n< Boy >

parameters:
To think this kid popped out of Serena-
nee's tight little pussy.\n< Boy >

parameters:
In my head, you know. It just doesn't
connect somehow.\n< Boy >

parameters:
That Serena-nee and this kid are mother
and child.\n< Boy >

parameters: But man, they suck so deliciously.\n< Boy >

parameters:
Stop it! Your tongue...! That flicking,
that movement...!\n< Serena >

parameters:
Nmmph...! Serena-nee, your hand
movements haven't stopped either.\n< Boy >

parameters:
Make sure to stroke it properly. It's
better than being thrust into, right?\n< Boy >

parameters:
If you don't make me cum hard, I might
just have to stick it in that hole of
yours, you know?\n< Boy >

parameters:
Tits... even though I'm always...
fondling them, licking them...\n< Boy >

parameters: What is it... this position... maybe...\n< Boy >

parameters: ?What are you talking about...?\n< Serena >

parameters:
Ouch! Hey! Your hand isn't stopping! I
told you to stroke it properly!\n< Boy >

parameters:
Yes, that's right! Nhih! After all,
being licked and penetrated all day
long!\n< Boy >

parameters: You're really good at handling it, mom!\n< Boy >

parameters:
Oh yeah, that's it! There! Faster,
faster...!\n< Boy >

parameters:
Oh, I'm coming, I'm gonna...! Even the
nipple play and the handjob are
amazing...!\n< Boy >

parameters: It hurts... I told you never to bite...!\n< Serena >

parameters:
Sorry, sorry, it just happened-. It
wasn't on purpose, really...\n< Boy >

parameters: I'll lick it for you, so forgive me.\n< Boy >

parameters:
I don't need it! If you want
forgiveness, then hurry up and...!\n< Serena >

parameters:
#Situation#◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆◆＜＜＞＞

parameters:
Oh? What's the matter? You're in a bad
mood today.\n< Boy >

parameters:
Stop struggling. It's too late for that,
isn't it? How many have you slept with
since you came here?\n< Boy >

parameters:
One or two dicks more, it's just a
margin of error for you, isn't it?\n< Boy >

parameters: Margin of error, you say...!\n< Serena >

parameters: It feels like I'm being pierced...!\n< Serena >

parameters:
Not even once did I consider it a margin
of error...!\n< Serena >

parameters:
Heh. So you're saying you take every
time seriously?\n< Boy >

parameters:
I see. That must be the secret to your
popularity with the clients.\n< Boy >

parameters:
No wonder that bastard Bardan was
bragging.\n< Boy >

parameters:
Yeah. That guy was saying how he picked
up a blonde kid in town. He's always so
annoying.\n< Boy >

parameters:
If she's that good, I told him to send
her to the shop. But he's all high and
mighty, saying she's still in training.\n< Boy >

parameters:
You were Bardan's girl, right? There
aren't many like you around.\n< Boy >

parameters:
But well, that guy's dead now. And
Serena, you ended up in the shop after
all.\n< Boy >

parameters:
And now, you're having sex with me.
Right now.\n< Boy >

parameters:
Hehe, filling up your lonely pussy that
lost its boyfriend. That's what brothers
are for, right?\n< Boy >

parameters:
What? You weren't in that kind of
relationship with Bardan?\n< Boy >

parameters:
So Serena-chan was having sex with
someone who wasn't even her boyfriend?\n< Boy >

parameters:
That's just like a whore... Spreading
your legs for anyone and everyone, huh!\n< Boy >

parameters:
Hehehe, so you're resisting like this?
Remembering all of a sudden?\n< Boy >

parameters:
But down there, you're perfectly
connected. And all wet too.\n< Boy >

parameters:
If this is your idea of resistance, it's
way too late. You're laps behind.\n< Boy >

parameters:
Look at that, your cute pussy is getting
poked by my dick.\n< Boy >

parameters:
If you hate it, you should resist more
desperately. Or do you want to get
knocked up again?\n< Boy >

parameters: Gyahaha! That's why you're weak!\n< Boy >

parameters:
After all, you'll be serving clients
later. Getting creampied over and over.\n< Boy >

parameters:
And at night, you'll be raped by the old
man, right?\n< Boy >

parameters:
It's completely pointless. Your heart
will break.\n< Boy >

parameters: Though your body might give out first.\n< Boy >

parameters:
Well, as for me, I prefer you just the
way you are now... Oh... Ohh...\n< Boy >

parameters:
Hehe, as expected from someone with so
much experience. You understand without
me having to say it... huh...\n< Boy >

parameters:
But you don't understand that it's
pointless to say anything, huh!\n< Boy >

parameters: Oooh... I'm gonna cum, I'm cumming...!\n< Boy >

parameters:
Ha... Seriously, you feel so good it's
insane. It's almost a waste to let the
clients have you.\n< Boy >

parameters:
Today, too, you've been thoroughly
milked of seed.\n< Boy >

parameters:
...Make sure to get pregnant with a good
kid, okay? Preferably not by a client,
or one of the other brothers, but...\n< Boy >

parameters:
Since I probably won't live long, I
gotta leave a replacement behind.\n< Boy >

parameters:
It'd be the best if you could give birth
to that for me. Heheh.\n< Boy >

イベント作成解説

characterName: さらし台-セレナST

parameters:
I will explain how to create events in
VH.

parameters:
Conversation Event
How to manipulate expressions and poses
Ero Status
SE
Points to Note
Convenient Features

parameters:
First, when starting an event, please
place Common Event 002: Start
Conversation at the beginning of the
event.

parameters:
If you do not place this event, you may
encounter issues such as the dash button
changing the character's graphic during
a conversation, or the speech bubble
icon remaining on screen.

parameters:
At the end, please insert Common 007:
End Conversation event. Without this
event, speech bubble icons may not
appear and pressing the dash button may
not change the character's graphic,
among other issues.

parameters:
Depending on the situation, you may also
need to insert Common 151: Situation
Judgment below that. This event changes
Serena's standing picture and character
graphic based on her condition.

parameters:
For example, if you execute this event
in a state of low exposure, she will
appear unfazed...

parameters:
But if executed in a state of increased
exposure, she will have an embarrassed
expression and appearance, and her
walking graphic will also reflect the
exposure.

parameters:
Additionally, by inserting an extension
in the text, you can display a name box
like this.\n< Serena >

parameters:
As an aside, to prevent the text window
from overlapping with the standing
picture,

parameters:
there is a feature that allows you to
shorten the window and display the
standing picture above it.

parameters:
Turn on Switch 50, and after setting the
background to transparent when creating
a Show Text event, execute the standing
picture common event.

parameters:
If you want to remove this shortened
window, delete Picture Number 1 and turn
off the switch.

parameters:
Explanation
Common Expressions

parameters:
VP allows you to output expressions and
poses by entering variables, but doing
this every time can be very time-
consuming.

parameters:
Therefore, except when particularly
necessary, we try to use common event
expressions for efficiency.

parameters:
For example, this expression is directly
inputting the process of executing
Common Event 20 with variables 102:
104105: 3106: 8107: 11108: 3109: 1.

parameters:
However, for this standing picture, you
only need to execute Common 774 followed
by Common 52.

parameters:
Once you have inputted the standing
picture common, you can change
expressions just by executing the
expression common.

parameters:
However, if you want to add changes such
as blushing or semen, you have no choice
but to directly input each variable
(there are some exceptions like blushing
or crying).

parameters:
Also, depending on the pose, expressions
may not be input,

parameters:
and by entering Variable 221, you can
express differences within the standing
picture.

parameters:
There are many variables from 221 to 260
for such standing picture differences,
but they are in a very user-unfriendly
state.

parameters:
As I cannot fully explain at present, if
you cannot achieve a certain expression
with this standing picture, I apologize
but please check the variables by
looking inside the relevant event.

parameters:
Additionally, tattoos and piercings are
controlled by Switches 117 and 118.

parameters:
Furthermore, for some standing pictures,
turning on Switch 114 will result in
changes in clothing.

parameters:
I have not detailed which standing
pictures correspond to this, so please
check by looking through the picture
folder's standing picture files or
inside the standing picture common
events...

parameters:
We will now verify common event
expressions

parameters:
\V[102]Standing Picture\V[105]Eyebrows\V[106]Ey
es\V[107]M outh\V[108]Blush\V[109]Tears

parameters:
Normal (expression)
Smile
Burst into laughter
Wry smile
Serious
Confidence

parameters: Daring Tch Dejected Disappointed Dissatisfied Anger

parameters:
Shout
Confused
Cloudy
Regret
I have a bad feeling
I'm at a loss for words

parameters:
Scream
Cry
Sobbing
Surprise
Scream in surprise
Dumbfounded

parameters:
Pain
Fear
Aftermath
Pain
Endure
To worry

parameters:
Feel down
Feel shy
Embarrassed
In a good mood
Be dumbfounded
Close eyes and ponder

parameters:
Forced smile
Furrow brows
Direct Variable Input

parameters:
You set expressions by directly
inputting variables

parameters:
Standing picture
Eyebrows
Eyes
Mouth
Blushing
Tears
About the Ero Status
About the sound effects

parameters:
Firstly, fill in the sex preparation
information. This is a measure to call
up information about the partner you are
about to have sex with.

parameters:
You input the common event from Common
Event 551 onwards for sexual information
input.

parameters:
After that, you call up the content of
sex using variables. There are three
variables to use:

parameters:
803: Current: Number of Times Had
Sex806: Current: Number of Times
Received Oral Sex809: Current: Number of
Times Had Anal Sex

parameters:
Think of these as a check for which hole
was penetrated by the rod.

parameters:
If ejaculation occurs afterwards, you
perform ejaculation processing. There
are six switches to use:

parameters:
804: Sexual Activity: Vaginal
Ejaculation807: Sexual Activity: Anal
External Ejaculation805: Sexual
Activity: Vaginal External
Ejaculation808: Sexual Activity: Oral
Ejaculation806: Sexual Activity: Anal
Internal Ejaculation809: Sexual
Activity: Oral External Ejaculation

parameters:
This is a check for where ejaculation
occurred after being penetrated.

parameters:
The feelings towards sex are processed
with two variables:

parameters:
821: Current: Pleasure Value822:
Current: Emotional Addition Value

parameters:
Pleasure value is processed only with +,
but emotional addition value is entered
and processed with + if pleasant and -
if unpleasant.

parameters:
The situation is directly input into
variable 943: Sex Act Situation ID.

parameters:
With that, the variable and switch
inputs for sex are mostly complete.
Finally, if you execute Common Event 16:
Post-Erotic Event, various things will
be recorded in the Erostat.

parameters:
I've written down a trial of the Erostat
processing below, so please open the
Erostat or check it in the event editor
of Tsukuru.

parameters: 試しにゴブリンに絶頂させられトラウマになるぐらい嫌な

parameters: 想いをしたけど５回も膣内射精され１０回も絶頂させられた、

parameters: というシチュエーションを入力してみました

parameters:
Explanation
Sex SE

parameters:
VP can be expressed using variables and
common events, separate from those
directly input for SE and screen
effects.

parameters:
By inputting the corresponding variables
in 925~928 and executing Common Events
391~394, you can play SEs that match
each situation.

parameters:
If you want to repeat an SE, it will
repeat for the number of times entered
in variable 932 (the repeated SE will
play a random appropriate SE).

parameters:
For flashes and screen effects, you can
express them by executing variable 933
and Common Event 397.

parameters:
For details, please refer to the
relevant section of the "About
Modifications" item in recent ci-en
articles.

parameters:
Besides this, you can also continuously
play sound effects using BGS, so feel
free to create events without being
limited to the above functions.

parameters:
I've compiled a simple list of various
SEs that seem likely to be used for
copy-pasting.

parameters:
Sex SFX
Ejaculation SFX
Kiss and Blowjob Sound Effects
Caress Sound Effect
Screen Effects

parameters:
For humans
For monsters
When pulling out

parameters:
Pain
Impact
It feels good
Points to Note
Convenient Features

parameters:
Currently, VP is in a very unstable
operating environment, and when saving
data, it crashes about once every two
times.

parameters:
Therefore, before saving, you need to
save the created event information
externally, or else you won't be able to
proceed with work properly.

parameters:
One way to do this is to run Tsukuru
twice, using one for event creation and
the other for primary data saving to
prevent accidents due to forced
termination.

parameters:
VP uses several plugins for production
support.

parameters:
For example, event text is directly
input into the www folder → text folder
→ message text document

parameters:
and by executing an event that uses the
plugin's features (talk to the character
with sparkles, select File → Open
Project),

parameters: アクター HK_スカウト01-1

parameters: アクター HK_スカウト01-1

parameters:
you can input event text from the text
document into the game (the contents of
the text are copied to the character
with sparkles).

parameters: アクター HK_スカウト01-1

parameters: アクター HK_スカウト01-1

parameters:
Also, by pressing the Tab key during the
game, you can take a screenshot of the
game screen and save it in the captures
folder.

テンプレ寄せ集め

characterName: !テンプレイベント用チップ

parameters: ウェイトイベントはスキップ、エンターキーを

parameters: 押したら加速できるようになる以外は通常の

parameters: ウェイトイベントと変わりません

parameters: ーーーーーーーーーーーーーーーーーーーーーーーーーーー

parameters: ーーーーーーーーーーーーーーーーーーーーーーーーーーー

parameters: ーーーーーーーーーーーーーーーーーーーーー

parameters: ーーーーーーーーーーーーーーーーーーーーー

parameters: ５０～：全裸　４０～：下着露出強（胸、性器を露出、下着無し破損アンダースーツ、全裸アファービレ）

parameters: ３０～：下着姿（露出アファービレ、ボディスーツ破損）　２０～：特殊下着姿（下着アファービレ、水着）

parameters: １0～：軽い露出（ボディスーツにニーソ無しぐらい）　０：普通

parameters: １：白肌の子供　２：黒肌の子供　３：ゴブリン

parameters: ４：オーク　　　５：スライム　　６：ピッグマン

parameters: ７：ワーグ　　　８：スタリオン　９：ローパー

parameters: 人、ゴブリン、ワーグ、オーク対応　３まで

parameters: ローパーのウネウネとした動き　出産差分８～９対応

parameters: ピクチャーウィンドウ表示用イベント

parameters: 着せる場合は１　脱がせる場合は０

parameters: 傷つける場合は１　そのままの場合は０

parameters: 着替えコモンイベントで異常を出さないための措置

parameters: プレイヤー側からのスキップで短縮できるウェイトイベント

parameters: 複数回Hをする時は変数１３に回数を記入する

parameters:
We will now enter the sex preparation
information. This is a procedure to call
up the information of the partner you're
about to have sex with.

parameters:
After that, we will call up the details
of the sex using three variables.

parameters:
803: Current: Number of times had sex
806: Current: Number of times performed
oral sex 809: Current: Number of times
had anal sex

parameters:
Please consider these as a check for
which hole the rod was inserted into.

parameters:
If ejaculation occurs afterwards, we
will perform the ejaculation process.
There are six switches to use

parameters:
804: Sexual act: Vaginal ejaculation
807: Sexual act: Anal external
ejaculation 805: Sexual act: Vaginal
external ejaculation 808: Sexual act:
Oral ejaculation 806: Sexual act: Anal
internal ejaculation 809: Sexual act:
Oral external ejaculation

parameters:
This is for confirmation of where the
ejaculation occurred after the rod was
inserted.

parameters:
How the sex was felt is processed by two
variables.

parameters:
821: Current: Pleasure value 822:
Current: Emotional addition value

parameters:
The pleasure value is processed with
only +, but the emotional addition value
is entered and processed with + if
pleasant, and - if unpleasant.

parameters:
The situation is directly entered into
variable 943: Sexual act situation ID.

parameters:
With this, the variable and switch
inputs during sex are probably complete.
Finally, if you execute Common Event 16:
Post-Erotic Event Common, various
entries will be made in the Erostate.

parameters:
If you are being violated by a mob
character, please add to their
respective experience count. For named
unique characters, this measure is not
necessary as the count is only added
once for the first time.

テンプレ

characterName: !テンプレイベント用チップ

characterName: アクター HK_スカウト01-1

セレナ立ち絵確認

characterName: セレナ HK_ST02-1

parameters:
View character sprite variations
Semen
Clothing Damage
Pregnancy value manipulation
Genital Damage
Stop

parameters:
Vaginal cum
Head cum
Body semen
Anal creampie
Clean up
Stop

parameters:
Change bodysuit damage
Knee Socks Damage Change
Stop

parameters: ボディスーツダメージ変更

parameters: ニーソックスダメージ変更

parameters: Vagina Anal Stop

エリカ立ち絵確認

characterName: ティム HK_01-1

parameters:
Eyebrows
Eyes
Lips
Tears
Blushing
Standing picture

characterName: マリルー HK_01-1

parameters: Normal Crucifixion Goblin

parameters:
Eyebrows
Eyes
Mouth
Tears
Blushing
Standing picture

parameters:
Direct Input
Choose

parameters:
Raise your sword
Crucifixion pose

parameters: Semen Male

characterName: エリカ HK_PT01-1b

parameters:
Eyebrows
Eyes
Mouth
Standing picture
Finish

parameters:
Normal
Hot Spring
Missing an arm
Armed
Damage
Armed

parameters: Normal Armed

parameters:
Normal
Momentum
Swing back

parameters:
Damage
Equipped with a damage weapon

parameters:
Coughing up blood
Sit
Gangbang
Go back

parameters:
Cough up blood
Exhaustion

parameters:
Sit Option A
Sit B
Disappearance of an arm
Vanishing Cut-In

テキスト実装イベント

characterName: アクター HK_スカウト01-1

characterName: アクター HK_女武闘家01-1

エリカ立ち絵確認

characterName: ニコラ HK_01-1

parameters:
Eyebrows
Eyes
Lips
Standing picture
Blushing
Tears

parameters:
Normal
Gangbang
Dog
City Police Rape

parameters:
Full Option
No

characterName: カトリーヌ HK_01-1

parameters:
Eyebrows
Eyes
Lips
Standing picture
Finish

parameters:
Sit down
Normal
Battle

characterName: アクター HK_女武闘家01-1

characterName: アクター HK_女戦士01-1

characterName: アクター HK_騎士01-1

parameters:
Ejaculation Button
During sex
Forceful sex
Set the number of repeats

characterName: アクター HK_戦士01-1

parameters: X-axis Y-axis Wait Move Stop

parameters:
Weak to sex
During sex
Forceful sex
Set number of repeats

characterName: シシリア HK01-1

parameters:
Eyebrows
Eyes
Mouth
Standing picture
Blush
Tears

parameters: -d No

parameters:
Normal
Pardon Rape
Ganelon Rape
Giving birth to Ganelon

characterName: アクター HK_重戦士01-1

parameters:
Sex
Ejaculate
Fellatio kiss
Sexual harassment
Flash Shake
Flash Shake Variable

parameters:
Number of repeats
Wait
Sex SE Variable
Ejaculation SE Variable
Fellatio kiss sound effect variable
Sexual Harassment Sound Effect Variable

characterName: セックス _セレナ-ドッヂ01-1

parameters:
Super Simple Eroge Status Entry
Explanation

parameters:
Enter the sex preparation information.
This is a procedure to call up the
information of the partner you're about
to have sex with.

parameters:
After that, you call up the content of
the sex using three variables.

parameters:
803: Current: Number of Sex Acts 806:
Current: Number of Blowjobs 809:
Current: Number of Anal Sex Acts

parameters:
Think of this as a check to see which
hole the rod was inserted into.

parameters:
If ejaculation occurs afterwards, you
will perform ejaculation processing.
There are six switches to use.

parameters:
804: Sexual Act: Vaginal Ejaculation
807: Sexual Act: Anal External
Ejaculation 805: Sexual Act: Vaginal
External Ejaculation 808: Sexual Act:
Oral Ejaculation 806: Sexual Act: Anal
Internal Ejaculation 809: Sexual Act:
Oral External Ejaculation

parameters:
This is to confirm where the ejaculation
occurred after the rod was inserted.

parameters:
The feelings towards the sex are
processed with two variables.

parameters:
821: Current: Pleasure Value 822:
Current: Emotional Addition Value

parameters:
The situation is directly entered into
variable 943: Sexual Act Situation ID.

parameters:
With that, the variable and switch input
for sex should be mostly complete.
Finally, if you execute Common Event 16:
Post-Eroge Event Common, various entries
will be made in the Eroge Status.

parameters:
If you're being violated by a mob
character, please add to the number of
experienced people accordingly. For
named unique characters, this measure is
not necessary as the count is only added
once at the first time.

characterName: アクター HK_女スカウト01-1

parameters:
Call Event Directly 1
Direct Event Call 2

parameters: TEマップイベント呼び出し 実験 1

parameters: TEマップイベント呼び出し 実験 2


神父

characterName: モブ HK_聖職者01-1

parameters:
The doors of the house of God are always
open to everyone. If you ever feel weary
in your heart, please come and find
peace at any time.\n< Priest >

老人

characterName: モブ HK_老人01-3

parameters:
\n< Serena >He's not even flinching... He must be
praying very fervently.

女性

characterName: モブ HK_女性01-4

parameters:
Oh great Lord, please bless us, a
married couple, with the gift of
children...\n< Devout Woman >

parameters:
Children are a gift from the Lord, the
fruit of the womb is a reward... Oh
Lord, please...\n< Devout Man >

若者

characterName: モブ HK_若者01-1

parameters:
The Lord sees into our hearts. That's
why I go around to churches everywhere
to offer my prayers with all my heart.\n< Devout Man >

老婆

characterName: モブ HK_老婆01-1

parameters:
\n< Serena >She doesn't even flinch... She must be
praying very fervently.

parameters:
The organs in churches are almost always
out of tune.\n< Serena >

parameters:
I've had the chance to play a few in
different churches, and without
exception, they've been frustrating.\n< Serena >

parameters:
This one is probably the same. I can
tell just by looking at it.\n< Serena >

parameters:
The church engages in manuscript copying
as part of their spiritual training.
Thanks to this practice, much wisdom has
been passed down to this day.\n< Serena >

parameters:
However, it seems that the books lined
up here are just simple ones intended
for the faithful.\n< Serena >

parameters:
However, it seems that only simple books
intended for the faithful are lined up
here.\n< Serena >

parameters: It's the symbol of the church.\n< Serena >

parameters:
It's not good to loiter around here too
much. The priest is also glancing over
here anxiously.\n< Serena >

parameters:
A candle gives itself to light the
flame. It illuminates people, dispels
the darkness. It is a sacred thing of
holiness, a symbol of selfless love.\n< Serena >

parameters:
A candle gives itself to light the
flame. It illuminates people and dispels
the darkness. It's a sacred object of
holiness, symbolizing selfless love.\n< Serena >

parameters:
It's written in an ancient language.
I've only just begun studying it.\n< Serena >