diff --git a/code/main/constants.rpy b/code/main/constants.rpy new file mode 100644 index 0000000..550bae3 --- /dev/null +++ b/code/main/constants.rpy @@ -0,0 +1,72 @@ +define THLD_MOD_NAME = "thld" +define THLD_PREFIX = THLD_MOD_NAME + "_" + +define THLD_TIMEOFDAY_DAY = "day" +define THLD_TIMEOFDAY_NIGHT = "night" +define THLD_TIMEOFDAY_SUNSET = "sunset" +define THLD_TIMEOFDAY_PROLOGUE = "prologue" + +define THLD_PACIFIST_NAME_COLOR = "#088010" +define THLD_PI_ARENA_NAME_COLOR = "#4b0287" +define THLD_TEAPOT_NAME_COLOR = "#551313" +define THLD_PI_RAILWAY_NAME_COLOR = "#e09590" +define THLD_PREACHER_NAME_COLOR = "#f7eded" +define THLD_THIRD_NAME_COLOR = "#004979" +define THLD_PI_ANNOUNCER_NAME_COLOR = "#af9151" +define THLD_BUTCHER_NAME_COLOR = "#9a3e3e" +define THLD_PI_PHAROS_NAME_COLOR = "#2ad2db" +define THLD_ENGI_NAME_COLOR = "#ba753f" +define THLD_GENSEK_NAME_COLOR = "#d1d141" +define THLD_CROWD_NAME_COLOR = "#66584d" +define THLD_PI_GUIDE_NAME_COLOR = "#377294" + +define THLD_GUI_PATH = "thld/images/gui/" + +define THLD_SAVE_LOAD_EMPTY_LABEL = " Пусто" +define THLD_SAVE_LOAD_FORMAT = " %d.%m.%y, %H:%M" + +define THLD_SCREENS = [ + "main_menu", + "quit", + "say", + "nvl", + "game_menu_selector", + "yesno_prompt", + "choice", + "help", +] + +define THLD_CHOICE_COLORS = { + THLD_TIMEOFDAY_DAY: "#466123", + THLD_TIMEOFDAY_NIGHT: "#145644", + THLD_TIMEOFDAY_PROLOGUE: "#496463", + THLD_TIMEOFDAY_SUNSET: "#69652f", +} + +define THLD_CHOICE_COLORS_HOVER = { + THLD_TIMEOFDAY_DAY: "#9dcd55", + THLD_TIMEOFDAY_NIGHT: "#3ccfa2", + THLD_TIMEOFDAY_PROLOGUE: "#98d8da", + THLD_TIMEOFDAY_SUNSET: "#dcd168", +} + +define THLD_CHOICE_COLORS_SELECTED = { + THLD_TIMEOFDAY_DAY: "#2a3b15", + THLD_TIMEOFDAY_NIGHT: "#0b3027", + THLD_TIMEOFDAY_PROLOGUE: "#2d3d3d", + THLD_TIMEOFDAY_SUNSET: "#42401e", +} + +define THLD_TEXT_HISTORY_WHAT_COLOR_HOVER = { + THLD_TIMEOFDAY_DAY: "#40e138", + THLD_TIMEOFDAY_NIGHT: "#008193", + THLD_TIMEOFDAY_PROLOGUE: "#00c6ff", + THLD_TIMEOFDAY_SUNSET: "#636840", +} + +define THLD_YESNO_PROMPT_MESSAGE_COLOR = { + THLD_TIMEOFDAY_DAY: "#64483c", + THLD_TIMEOFDAY_NIGHT: "#161d3d", + THLD_TIMEOFDAY_PROLOGUE: "#008193", + THLD_TIMEOFDAY_SUNSET: "#5a3525", +} diff --git a/code/main/constants.rpyc b/code/main/constants.rpyc new file mode 100644 index 0000000..05834f3 Binary files /dev/null and b/code/main/constants.rpyc differ diff --git a/code/main/resources.rpy b/code/main/resources.rpy index 9217ec6..f0618e0 100644 --- a/code/main/resources.rpy +++ b/code/main/resources.rpy @@ -1,33 +1,28 @@ -init python: +init python: from os import path from random import randint, uniform from math import sqrt, pow - thld_mod_name = "thld" - thld_prefix = thld_mod_name + "_" - for file_name in renpy.list_files(): - if thld_mod_name in file_name: + if THLD_MOD_NAME in file_name: file_path = path.splitext(path.basename(file_name))[0] - if file_name.startswith(thld_mod_name + "/images/bg/"): - renpy.image("bg " + thld_prefix + file_path, file_name) + if file_name.startswith(THLD_MOD_NAME + "/images/bg/"): + renpy.image("bg " + THLD_PREFIX + file_path, file_name) - elif file_name.startswith(thld_mod_name + "/images/sprites/"): + elif file_name.startswith(THLD_MOD_NAME + "/images/sprites/"): renpy.image( - thld_prefix + file_path, + THLD_PREFIX + file_path, ConditionSwitch( - "persistent.sprite_time == 'sunset'", im.MatrixColor(file_name, im.matrix.tint(0.94, 0.82, 1.0)), - "persistent.sprite_time == 'night'", im.MatrixColor(file_name, im.matrix.tint(0.63, 0.78, 0.82)), + "persistent.sprite_time=='sunset'", im.MatrixColor(file_name, im.matrix.tint(0.94, 0.82, 1.0)), + "persistent.sprite_time=='night'", im.MatrixColor(file_name, im.matrix.tint(0.63, 0.78, 0.82)), True, file_name ) ) - elif file_name.startswith(thld_mod_name + "/sounds/"): - globals()[thld_prefix + file_path] = file_name + elif file_name.startswith(THLD_MOD_NAME + "/sounds/"): + globals()[THLD_PREFIX + file_path] = file_name - thld_std_set_for_preview = {} - thld_std_set = {} store.thld_colors = {} store.thld_names = {} store.thld_names_list = [] @@ -37,77 +32,73 @@ init python: store.thld_names_list.append("thld_th") - thld_colors["thld_me"] = {"speaker_color": "#088010"} + thld_colors["thld_me"] = {"speaker_color": THLD_PACIFIST_NAME_COLOR} thld_names["thld_me"] = "Я" store.thld_names_list.append("thld_me") - thld_colors["thld_pacifist"] = {"speaker_color": "#088010"} + thld_colors["thld_pacifist"] = {"speaker_color": THLD_PACIFIST_NAME_COLOR} thld_names["thld_pacifist"] = "Пацифист" store.thld_names_list.append("thld_pacifist") - thld_colors["thld_pi_arena"] = {"speaker_color": "#4b0287"} + thld_colors["thld_pi_arena"] = {"speaker_color": THLD_PI_ARENA_NAME_COLOR} thld_names["thld_pi_arena"] = "Пионер" store.thld_names_list.append("thld_pi_arena") - thld_colors["thld_pi_teapot"] = {"speaker_color": "#551313"} + thld_colors["thld_pi_teapot"] = {"speaker_color": THLD_TEAPOT_NAME_COLOR} thld_names["thld_pi_teapot"] = "Пионер" store.thld_names_list.append("thld_pi_teapot") - thld_colors["thld_teapot"] = {"speaker_color": "#551313"} + thld_colors["thld_teapot"] = {"speaker_color": THLD_TEAPOT_NAME_COLOR} thld_names["thld_teapot"] = "Чайник" store.thld_names_list.append("thld_teapot") - thld_colors["thld_pi_railway"] = {"speaker_color": "#e09590"} + thld_colors["thld_pi_railway"] = {"speaker_color": THLD_PI_RAILWAY_NAME_COLOR} thld_names["thld_pi_railway"] = "Пионер" store.thld_names_list.append("thld_pi_railway") - thld_colors["thld_pi_preacher"] = {"speaker_color": "#f7eded"} + thld_colors["thld_pi_preacher"] = {"speaker_color": THLD_PREACHER_NAME_COLOR} thld_names["thld_pi_preacher"] = "Пионер в халате" store.thld_names_list.append("thld_pi_preacher") - thld_colors["thld_preacher"] = {"speaker_color": "#f7eded"} + thld_colors["thld_preacher"] = {"speaker_color": THLD_PREACHER_NAME_COLOR} thld_names["thld_preacher"] = "Проповедник" store.thld_names_list.append("thld_preacher") - thld_colors["thld_third"] = {"speaker_color": "#004979"} + thld_colors["thld_third"] = {"speaker_color": THLD_THIRD_NAME_COLOR} thld_names["thld_third"] = "Третий" store.thld_names_list.append("thld_third") - thld_colors["thld_pi_announcer"] = {"speaker_color": "#af9151"} + thld_colors["thld_pi_announcer"] = {"speaker_color": THLD_PI_ANNOUNCER_NAME_COLOR} thld_names["thld_pi_announcer"] = "Распорядитель" store.thld_names_list.append("thld_pi_announcer") - - thld_colors["thld_pi_butcher"] = {"speaker_color": "#9f9393"} - thld_names["thld_pi_butcher"] = "Мясник" - store.thld_names_list.append("thld_pi_butcher") - thld_colors["thld_nit"] = {"speaker_color": "#9f9393"} - thld_names["thld_nit"] = "Ниточник" - store.thld_names_list.append("thld_nit") + thld_colors["thld_butcher"] = {"speaker_color": THLD_BUTCHER_NAME_COLOR} + thld_names["thld_butcher"] = "Мясник" + store.thld_names_list.append("thld_butcher") - thld_colors["thld_pi_pharos"] = {"speaker_color": "#2ad2db"} + thld_colors["thld_pi_pharos"] = {"speaker_color": THLD_PI_PHAROS_NAME_COLOR} thld_names["thld_pi_pharos"] = "Пионер" store.thld_names_list.append("thld_pi_pharos") - thld_colors["thld_pharos"] = {"speaker_color": "#2ad2db"} + thld_colors["thld_pharos"] = {"speaker_color": THLD_PI_PHAROS_NAME_COLOR} thld_names["thld_pharos"] = "Маяк" store.thld_names_list.append("thld_pharos") - thld_colors["thld_engi"] = {"speaker_color": "#ba753f"} + thld_colors["thld_engi"] = {"speaker_color": THLD_ENGI_NAME_COLOR} thld_names["thld_engi"] = "Инженер" store.thld_names_list.append("thld_engi") - thld_colors["thld_gensek"] = {"speaker_color": "#d1d141"} + thld_colors["thld_gensek"] = {"speaker_color": THLD_GENSEK_NAME_COLOR} thld_names["thld_gensek"] = "Генсек" store.thld_names_list.append("thld_gensek") - thld_colors["thld_crowd"] = {"speaker_color": "#66584d"} + thld_colors["thld_crowd"] = {"speaker_color": THLD_CROWD_NAME_COLOR} thld_names["thld_crowd"] = "Толпа" store.thld_names_list.append("thld_crowd") - thld_colors["thld_guide"] = {"speaker_color": "#377294"} - thld_names["thld_guide"] = "Проводник" - store.thld_names_list.append("thld_guide") + thld_colors["thld_pi_guide"] = {"speaker_color": THLD_PI_GUIDE_NAME_COLOR} + thld_names["thld_pi_guide"] = "Проводник" + store.thld_names_list.append("thld_pi_guide") def thld_char_define(character_name, is_nvl=False): global DynamicCharacter @@ -115,68 +106,94 @@ init python: global thld_store global thld_speaker_color thld_gl = globals() - + if character_name == "thld_narrator": if is_nvl: - thld_gl["thld_narrator"] = Character(None, kind=nvl, what_style="thld_text_style") - + thld_gl["thld_narrator"] = Character( + None, + kind=nvl, + what_style="thld_text_style" + ) + else: - thld_gl["thld_narrator"] = Character(None, what_style="thld_text_style") - + thld_gl["thld_narrator"] = Character( + None, + what_style="thld_text_style" + ) + return if character_name == "thld_th": - if is_nvl: - thld_gl["thld_th"] = Character(None, kind=nvl, what_style="thld_text_style", what_prefix="~ ", what_suffix=" ~") - + if is_nvl: + thld_gl["thld_th"] = Character( + None, + kind=nvl, + what_style="thld_text_style", + what_prefix="~ ", + what_suffix=" ~" + ) + else: - thld_gl["thld_th"] = Character(None, what_style="thld_text_style", what_prefix="~ ", what_suffix=" ~") - + thld_gl["thld_th"] = Character( + None, + what_style="thld_text_style", + what_prefix="~ ", + what_suffix=" ~" + ) + return - + if is_nvl: - thld_gl[character_name] = DynamicCharacter("%s_name" % character_name, color=store.thld_colors[character_name][thld_speaker_color], kind=nvl, what_style="thld_text_style", who_suffix=":") + thld_gl[character_name] = DynamicCharacter( + "%s_name" % character_name, + color=store.thld_colors[character_name][thld_speaker_color], + kind=nvl, + what_style="thld_text_style", + who_suffix=":" + ) thld_gl["%s_name" % character_name] = store.thld_names[character_name] - + else: - thld_gl[character_name] = DynamicCharacter("%s_name" % character_name, color=store.thld_colors[character_name][thld_speaker_color], what_style="thld_text_style") + thld_gl[character_name] = DynamicCharacter( + "%s_name" % character_name, + color=store.thld_colors[character_name][thld_speaker_color], + what_style="thld_text_style" + ) thld_gl["%s_name" % character_name] = store.thld_names[character_name] def thld_set_mode_adv(): nvl_clear() - + global menu menu = renpy.display_menu - + global thld_store - + for character_name in store.thld_names_list: thld_char_define(character_name) def thld_set_mode_nvl(): nvl_clear() - + global menu menu = nvl_menu - + global thld_narrator global thld_th thld_narrator_nvl = thld_narrator th_nvl = thld_th - + global thld_store - + for character_name in store.thld_names_list: thld_char_define(character_name, True) def thld_reload_names(): global thld_store - + for character_name in store.thld_names_list: thld_char_define(character_name) - thld_reload_names() - def thld_onload(type): global thld_lock_quit global thld_lock_quick_menu @@ -193,7 +210,7 @@ init python: config.allow_skipping = True def thld_set_timeofday_cursor(): - config.mouse_displayable = MouseDisplayable(thld_gui_path + "cursors/" + persistent.timeofday + "/cursor.png", 0, 0) + config.mouse_displayable = MouseDisplayable(THLD_GUI_PATH + "cursors/" + persistent.timeofday + "/cursor.png", 0, 0) def thld_set_dynamic_cursor(state): if thld_set_timeofday_cursor in config.overlay_functions: @@ -203,7 +220,7 @@ init python: config.overlay_functions.append(thld_set_timeofday_cursor) elif state == "main_menu": - config.mouse_displayable = MouseDisplayable(thld_gui_path + "cursors/main_menu/cursor.png", 0, 0) + config.mouse_displayable = MouseDisplayable(THLD_GUI_PATH + "cursors/main_menu/cursor.png", 0, 0) elif state == "null": config.mouse_displayable = MouseDisplayable(Null(0, 0), 0, 0) @@ -236,49 +253,49 @@ init python: initial_xoffset = pos[0] + zoom_xoffset initial_yoffset = pos[1] + zoom_yoffset return initial_xoffset, initial_yoffset - + class ThldVector(renpy.object.Object): def __init__(self, *data): self.data = data - + def __repr__(self): - return repr(self.data) - + return repr(self.data) + def __add__(self, other): return tuple((a + b for a, b in zip(self.data, other.data))) - + def __sub__(self, other): return tuple((a - b for a, b in zip(self.data, other.data))) - + class ThldSingleDustParticle(renpy.object.Object): def __init__(self, sp, fp, t, rt, ft, zoom, alpha, st): - self.start_pos = sp + self.start_pos = sp self.finish_pos = fp self.part_time = t - self.rise_time = rt - self.fall_time = ft - self.max_zoom = zoom + self.rise_time = rt + self.fall_time = ft + self.max_zoom = zoom self.max_alpha = alpha self.oldst = st - self.pos = self.start_pos + self.pos = self.start_pos self.zoom = .0 self.alpha = .0 - + class ThldDustParticles(renpy.Displayable, NoRollback): def __init__(self, part_img, parts_count=300): super(ThldDustParticles, self).__init__() self.part_img = renpy.displayable(part_img) self.w, self.h = (config.screen_width, config.screen_height) self.particles = [self.make_particle() for i in xrange(parts_count)] - + def get_rand_cord(self, w, h): return randint(-100, w + 100), randint(-100, h + 100) - + def progress_calc(self, oldst, t, st): - target = oldst + t - anim_time = target - st + target = oldst + t + anim_time = target - st res = 1.0 - anim_time / t - + if res < .0: return .0 @@ -287,23 +304,23 @@ init python: else: return 1.0 - + def make_particle(self, st=float()): - w, h, = self.w, self.h - + w, h, = self.w, self.h + start_pos = self.get_rand_cord(w, h) finish_pos = self.get_rand_cord(w, h) xdist, ydist = ThldVector(*finish_pos) - ThldVector(*start_pos) - + speed = uniform(110, 130) - + part_time = sqrt(pow(xdist, 2) + pow(ydist, 2)) / speed rise_time = part_time * uniform(.1, .25) fall_time = part_time * uniform(.1, .25) - + max_alpha = uniform(.25, .75) max_zoom = uniform(.25, .75) - + part = ThldSingleDustParticle( start_pos, finish_pos, @@ -315,58 +332,58 @@ init python: st ) return part - + def update_particle(self, part_idx, st): part = self.particles[part_idx] - - t = part.part_time + + t = part.part_time rt = part.rise_time - ft = part.fall_time - + ft = part.fall_time + start_time = part.oldst rise_time = start_time + rt fall_time = start_time + t - ft - + anim_progress = self.progress_calc(start_time, t, st) rise_progress = self.progress_calc(rise_time, rt, st) fall_progress = self.progress_calc(fall_time, ft, st) - + rise_vs_fall = rise_progress - fall_progress - + part.pos = renpy.atl.interpolate( anim_progress, part.start_pos, part.finish_pos, (int, int) ) - + part.alpha = part.max_alpha * rise_vs_fall part.zoom = part.max_zoom * rise_vs_fall - + if anim_progress >= 1.0: self.particles.pop(part_idx) self.particles.append(self.make_particle(st)) - + def visit(self): return [self.part_img for i in self.particles] - + def render(self, w, h, st, at): rv = renpy.Render(w, h) - + for idx, part in enumerate(self.particles): self.update_particle(idx, st) xpos, ypos = part.pos - + if 0 < xpos < w and 0 < ypos < h: t = Transform( - child=self.part_img, + child=self.part_img, alpha=part.alpha, zoom=part.zoom ) - + tr = t.render(w, h, st, at) rv.blit(tr, (xpos, ypos)) - + renpy.redraw(self, .0) return rv @@ -470,12 +487,14 @@ init python: self.frame = Solid("#000000", xsize=self.width, ysize=self.height) render = self.render_frame(self.width, self.height, st, at) - render.blit(text_render, (self.width / 2 - text_render.get_size()[0] / 2, + render.blit(text_render, (self.width / 2 - text_render.get_size()[0] / 2, self.height / 2 - text_render.get_size()[1] / 2)) return render init: - $ thld_main_menu_font = thld_gui_path + "fonts/gotham_pro_light.ttf" + $ thld_reload_names() + + $ thld_main_menu_font = THLD_GUI_PATH + "fonts/gotham_pro_light.ttf" $ thld_main_menu_buttons_padding = 20 $ thld_main_menu_buttons_alpha = 0.6 $ thld_main_menu_buttons_size = 60 @@ -492,11 +511,11 @@ init: image thld_blank_skip = renpy.display.behavior.ImageButton(Null(1920, 1080), Null(1920, 1080), clicked=[Jump("thld_after_intro")]) - image thld_intro_logo = thld_gui_path + "misc/intro_logo.png" - image thld_main_menu_background = thld_gui_path + "main_menu/main_menu_background.png" - image thld_logowhite_idle = thld_gui_path + "misc/logowhite_idle.png" - image thld_main_menu_bar_null = thld_gui_path + "preferences/main_menu/bar_null.png" - image thld_main_menu_vbar_null = thld_gui_path + "main_menu/vbar_null.png" + image thld_intro_logo = THLD_GUI_PATH + "misc/intro_logo.png" + image thld_main_menu_background = THLD_GUI_PATH + "main_menu/main_menu_background.png" + image thld_logowhite_idle = THLD_GUI_PATH + "misc/logowhite_idle.png" + image thld_main_menu_bar_null = THLD_GUI_PATH + "preferences/main_menu/bar_null.png" + image thld_main_menu_vbar_null = THLD_GUI_PATH + "main_menu/vbar_null.png" image thld_main_menu_options_frame = ThldBlackRectangle(width=1804, height=1028, alpha=0.6) transform thld_main_menu_particles_anim: @@ -542,17 +561,17 @@ init: repeat image thld_main_menu_logo = ThldTextRectangle( - padding=thld_main_menu_buttons_padding, - alpha=thld_main_menu_buttons_alpha, + padding=thld_main_menu_buttons_padding, + alpha=thld_main_menu_buttons_alpha, text="Преддверие", - font=thld_main_menu_font, + font=thld_main_menu_font, size=100 ) image thld_start_button_idle = ThldTextRectangle( - padding=thld_main_menu_buttons_padding, + padding=thld_main_menu_buttons_padding, alpha=thld_main_menu_buttons_alpha, - text="Начать игру", + text="Начать игру", font=thld_main_menu_font, size=thld_main_menu_buttons_size ) @@ -565,9 +584,9 @@ init: repeat image thld_load_button_idle = ThldTextRectangle( - padding=thld_main_menu_buttons_padding, + padding=thld_main_menu_buttons_padding, alpha=thld_main_menu_buttons_alpha, - text="Загрузить", + text="Загрузить", font=thld_main_menu_font, size=thld_main_menu_buttons_size ) @@ -580,9 +599,9 @@ init: repeat image thld_extra_button_idle = ThldTextRectangle( - padding=thld_main_menu_buttons_padding, + padding=thld_main_menu_buttons_padding, alpha=thld_main_menu_buttons_alpha, - text="Дополнительно", + text="Дополнительно", font=thld_main_menu_font, size=thld_main_menu_buttons_size ) @@ -595,9 +614,9 @@ init: repeat image thld_preferences_button_idle = ThldTextRectangle( - padding=thld_main_menu_buttons_padding, + padding=thld_main_menu_buttons_padding, alpha=thld_main_menu_buttons_alpha, - text="Настройки", + text="Настройки", font=thld_main_menu_font, size=thld_main_menu_buttons_size ) @@ -610,9 +629,9 @@ init: repeat image thld_exit_button_idle = ThldTextRectangle( - padding=thld_main_menu_buttons_padding, + padding=thld_main_menu_buttons_padding, alpha=thld_main_menu_buttons_alpha, - text="Выход", + text="Выход", font=thld_main_menu_font, size=thld_main_menu_buttons_size ) @@ -699,4 +718,4 @@ init: pause 0.2 ThldGlitchEffect("thld_main_menu_vbar_null") pause 0.2 - repeat \ No newline at end of file + repeat diff --git a/code/main/resources.rpyc b/code/main/resources.rpyc index dffdee6..ac75bfe 100644 Binary files a/code/main/resources.rpyc and b/code/main/resources.rpyc differ diff --git a/code/main/script.rpy b/code/main/script.rpy index b5f0781..149a561 100644 --- a/code/main/script.rpy +++ b/code/main/script.rpy @@ -6,7 +6,7 @@ init python: def __call__(self): return self.function(self.arguments) - + def thld_on_load_callback(slot): try: if persistent.thld_on_save_timeofday[slot]: @@ -17,10 +17,10 @@ init python: _preferences.volumes["sfx"] = persistent.thld_on_save_timeofday[slot][4] _preferences.volumes["voice"] = persistent.thld_on_save_timeofday[slot][5] thld_set_dynamic_cursor("timeofday") - + except: pass - + def thld_on_save_callback(slot): if not persistent.thld_on_save_timeofday: persistent.thld_on_save_timeofday = {} @@ -33,35 +33,35 @@ init python: _preferences.volumes["sfx"], _preferences.volumes["voice"] ) - + def thld_screen_save(): - for screen_name in ["main_menu", "quit", "say", "nvl", "game_menu_selector", "yesno_prompt", "choice", "help"]: - renpy.display.screen.screens[("thld_old_" + screen_name, None)] = renpy.display.screen.screens[(screen_name, None)] - + for screen_name in THLD_SCREENS: + renpy.display.screen.screens[(THLD_PREFIX + "old_" + screen_name, None)] = renpy.display.screen.screens[(screen_name, None)] + def thld_screen_act(): config.window_title = u"Преддверие" - config.name = "thld" + config.name = "Threshold" config.version = "1.0" - for screen_name in ["main_menu", "quit", "say", "nvl", "game_menu_selector", "yesno_prompt", "choice", "help"]: - renpy.display.screen.screens[(screen_name, None)] = renpy.display.screen.screens[("thld_" + screen_name, None)] + for screen_name in THLD_SCREENS: + renpy.display.screen.screens[(screen_name, None)] = renpy.display.screen.screens[(THLD_PREFIX + screen_name, None)] layout.LOADING = "Потерять несохраненные данные?" - + config.main_menu_music = thld_reef_inevitability config.linear_saves_page_size = None - persistent._file_page = "thld_FilePage_1" + persistent._file_page = "thld_FilePage_1" def thld_screens_diact(): config.window_title = u"Бесконечное лето" config.name = "Everlasting_Summer" config.version = "1.2" - for screen_name in ["main_menu", "quit", "say", "nvl", "game_menu_selector", "yesno_prompt", "choice", "help"]: - renpy.display.screen.screens[(screen_name, None)] = renpy.display.screen.screens[("thld_old_" + screen_name, None)] - + for screen_name in THLD_SCREENS: + renpy.display.screen.screens[(screen_name, None)] = renpy.display.screen.screens[(THLD_PREFIX + "old_" + screen_name, None)] + layout.LOADING = "Загрузка приведёт к потере несохранённых данных.\nВы уверены, что хотите сделать это?" - + config.mouse_displayable = MouseDisplayable("images/misc/mouse/1.png", 0, 0) config.main_menu_music = "sound/music/blow_with_the_fires.ogg" @@ -74,4 +74,4 @@ init python: def thld_screens_save_act(): thld_screen_save() - thld_screen_act() \ No newline at end of file + thld_screen_act() diff --git a/code/main/script.rpyc b/code/main/script.rpyc index 28effb5..3b74b45 100644 Binary files a/code/main/script.rpyc and b/code/main/script.rpyc differ diff --git a/code/main/start.rpy b/code/main/start.rpy index b73fc81..c2c60e2 100644 --- a/code/main/start.rpy +++ b/code/main/start.rpy @@ -1,14 +1,14 @@ init python: - mods["thld_start"]=u"{font=thld/images/gui/fonts/gotham_pro_light.ttf}{size=40}Преддверие{/font}{/size}" + mods["thld_start"] = u"{font=[thld_main_menu_font]}{size=40}Преддверие{/font}{/size}" try: - modsImages["thld_start"] = ("thld/images/gui/misc/thld_tabular_list_preview.png", False) + modsImages["thld_start"] = (THLD_GUI_PATH + "misc/thld_tabular_list_preview.png", False) except: - pass + pass label thld_start: - $ thld_set_time("prologue") + $ thld_set_time(THLD_TIMEOFDAY_PROLOGUE) $ thld_onload("lock") $ thld_set_dynamic_cursor("main_menu") $ thld_screens_save_act() @@ -18,7 +18,7 @@ label thld_start: show thld_intro_logo at truecenter show thld_blank_skip with Dissolve(2) - $ renpy.pause(0.5, hard=True) + $ renpy.pause(0.5, hard=True) play sound thld_intro_sample $ renpy.pause(8, hard=True) scene bg black with Dissolve(2) @@ -28,4 +28,4 @@ label thld_start: label thld_after_intro: $ thld_onload("unlock") stop sound - $ renpy.transition(Dissolve(2)) \ No newline at end of file + $ renpy.transition(Dissolve(2)) diff --git a/code/main/start.rpyc b/code/main/start.rpyc index 3ef403b..08dc13a 100644 Binary files a/code/main/start.rpyc and b/code/main/start.rpyc differ diff --git a/code/scenario/main.rpy b/code/scenario/main.rpy index 86853e2..94db97d 100644 --- a/code/scenario/main.rpy +++ b/code/scenario/main.rpy @@ -22,7 +22,7 @@ label thld_scenario: thld_narrator "Обычно первопроходец забавы ради вырезал всех девушек, а порой и главного жителя, если тот не спрятался." thld_narrator "Хоть мой посетитель не был настолько жесток, на следующую смену я всё равно вспомнил абсолютно всё, как только открыл глаза в злосчастном Икарусе." thld_narrator "Слова слишком малы и несодержательны, чтобы передать, что я тогда почувствовал." - thld_narrator "Многие из нас считают этот день худшим в жизни и я с ними согласен." + thld_narrator "Многие из нас считают этот день худшим в жизни и я с ними согласен." thld_narrator "Момент осознанности ломает твоё мироощущение пополам. {w}Беспомощность, бессмысленность, страх..." thld_narrator "Ещё через несколько циклов {i}он{/i} вернулся. Не знаю, был ли он тем же самым или другим. В сущности, это и не важно." thld_narrator "Он пришёл с приглашением. {w}С этого всё и началось." @@ -91,12 +91,12 @@ label thld_scenario: thld_narrator "Мясник словно насмехался надо мной. Взяв против арматуры столь нелетальное на первый взгляд оружие он явно показывал превосходство и неадекватную уверенность в своих силах." thld_narrator "Когда наши взгляды встретились, он начал беззвучно двигать губами." thld_th "Что он говорит?" - thld_pi_butcher "Выр{w=1}-ву {w=1}те{w=1}-бе {w=1}ХРЕ{w=1}-БЕТ!" # nolint + thld_butcher "Выр{w=1}-ву {w=1}те{w=1}-бе {w=1}ХРЕ{w=1}-БЕТ!" # nolint play sound thld_heart thld_narrator "На лбу выступил холодный пот." thld_th "Надо бежать отсюда, плевать на правила, плевать что будет! {w}Надо просто БЕЖАТЬ!" thld_narrator "Но тело не слушалось. {w}Ноги будто вросли в землю." - show thld_mad smile with dissolve + show thld_butcher smile with dissolve thld_narrator "Мясник занял место напротив меня." thld_pi_announcer "Три!" thld_narrator "Он больше ничего не говорил. Просто смотрел прямо мне в глаза и скалился." @@ -106,7 +106,7 @@ label thld_scenario: thld_pi_announcer "Один!" thld_narrator "Я ударил себя кулаком по колену, арматура выпала из рук и упала на ногу. {w}Боль помогла." thld_pi_announcer "Нача...!" # nolint - #TODO поменять фон не на площадку, а на пляж + #TODO поменять фон не на площадку, а на пляж scene bg ext_playground_night with dspr: zoom 1.05 anchor(48, 27) ease 0.15 pos(0, 0) @@ -138,7 +138,7 @@ label thld_scenario: #TODO звук монотонной телепомехи with flash_red thld_narrator "В то же мгновение мою спину пронзило острой болью. В глазах резко потемнело, я начал заваливаться на бок." - thld_narrator "Пионер, сидящий рядом схватил меня за плечо, чем помог удержать равновесие." + thld_narrator "Пионер, сидящий рядом схватил меня за плечо, чем помог удержать равновесие." thld_narrator "Я аккуратно, стараясь лишний раз не задеть болящий участок, провёл по спине рукой." thld_narrator "Рубашка была в чем-то вязком и тёплом. {w}Кровь. {w}Моя кровь. {w}Меня начало мутить. {w}Судя по ощущениям вся спина была исполосована порезами." thld_th "Когда он успел?" @@ -186,7 +186,7 @@ label thld_scenario: scene bg black with Dissolve(2) $ renpy.pause(2, hard=True) $ thld_set_time("day") - scene bg ext_houses_day + scene bg ext_houses_day show thld_hall pos2 smile3 at center with Dissolve(2) play ambience ambience_camp_center_day fadein 2 @@ -202,7 +202,7 @@ label thld_scenario: thld_teapot "Это как если бы ты спросил у птицы как она летает." # nolint thld_me "Птица мне вряд ли ответит." thld_teapot "Я рад, что ты понимаешь аналогии." - scene bg ext_square_day + scene bg ext_square_day show thld_hall pos2 smile3 at center with dissolve thld_me "Я не имею ни малейшего понятия, что ты хочешь мне сказать." @@ -218,13 +218,13 @@ label thld_scenario: thld_me "Просто объясни что нужно сделать, чтобы научиться открывать эти ваши разломы усилием воли?" thld_teapot "Пошли. Чего встал, как вкопанный?" thld_narrator "Мы зашагали дальше." - scene bg ext_clubs_day + scene bg ext_clubs_day show thld_hall pos2 normal at center with dissolve thld_teapot "При перемещении по лагерям у тебя вырабатывается определённое чувство пространства." - thld_teapot "Я говорю «пространства», но это скорее художественное преувеличение. В реальности это, как различие в температуре, но не совсем. Или в освещенности, но тоже не совсем.' - thld_teapot "Проблемно, что в книжной лексике нет подходящих терминов, чтобы четко описать это - книги написаны только про то, с чем стыкались во Внешнем мире.' - thld_teapot "Поэтому приходится пороть чушь.' + thld_teapot "Я говорю «пространства», но это скорее художественное преувеличение. В реальности это, как различие в температуре, но не совсем. Или в освещенности, но тоже не совсем." + thld_teapot "Проблемно, что в книжной лексике нет подходящих терминов, чтобы четко описать это - книги написаны только про то, с чем стыкались во Внешнем мире." + thld_teapot "Поэтому приходится пороть чушь." thld_teapot "Но, если коротео, то со временем ты научишься различать координаты и перемещаться в тот лагерь, в который хочешь." thld_teapot "Кстати, наличие сильной воли и желания помогает. Ты не можешь переместить куклу потому что, она не обладает своей волей и подчиняется программе." thld_teapot "Также ты не сможешь затащить в разлом пионера, который не хочет, чтобы его перемещали." @@ -259,7 +259,7 @@ label thld_scenario: thld_narrator "Чайник снисходительно ухмыльнулся." thld_teapot "Не нервничай ты так. Я хочу его просто одолжить на цикл. Добровольно." thld_teapot "Услуга за услугу. Я беру тебя с собой, когда решу прогуляться по другим лагерям, а ты отдаёшь мне свой телефон. По рукам?" - scene bg ext_path_day + scene bg ext_path_day show thld_hall pos2 smile2 at center with dissolve thld_narrator "В целом, телефон здесь был вещью бесполезной. Но от мысли отдать единственное напоминание о доме мне было не по себе. Пусть даже это и временно." @@ -427,7 +427,7 @@ label thld_scenario: thld_teapot "Бесит, правда?" thld_me "Как-то не замечал этого... Подожди! Ты же не хочешь сказать, что мы сейчас будем стоять и смотреть, как этого парня будет переезжать электричка?" thld_teapot "Ну можем из вежливости отвернуться." - thld_th "Он псих!" + thld_th "Он псих!" thld_me "Но..." thld_narrator "Чайник хохотнул." thld_teapot "Расслабься, новичок. Постоянно забываю, что вы такие чувствительные. Просто стой и смотри. Ты же не просто так себе вёслами мозоли стирал?" @@ -488,13 +488,11 @@ label thld_scenario: thld_narrator "По крайней мере сейчас Инженер стоял у принесённого из библиотеки мольберта и скрупулёзно рисовал на нём сложные геометрические формы, а также какие-то маршруты и графики, глядя на озеро." thld_narrator "С Чайником они пылко обсуждали подводные течения на озере, энергично тыкая пальцами то в озеро, то в какие-то белые линии на мольберте." thld_narrator "На меня, как и следовало ожидать, не обратили даже капли внимания." - thld_narrator "Инженер, как и всё остальные, похоже, счёл - меня чем-то вроде безделушки Чайника." + thld_narrator "Инженер, как и всё остальные, похоже, счёл меня чем-то вроде безделушки Чайника." thld_narrator "Но что меня отвлекало, хоть я и не сразу смог это отследить — его одежда была {i}идеально{/i} чистой и ровной." thld_narrator "Даже несмотря на то, что Инженер опирался локтями на расчерченный карандашом рисунок, на его белых рукавах не оставалось ни пятнышка." thld_teapot "Ты, кстати, участвуешь?" thld_engi "Не вижу более интересных занятий. Смогу оценить, что интересного придумали остальные. Может, и выше в таблице поднимусь, на четвёртое место. {w}Позлю Маяка." - thld_teapot "Тогда тебя как раз заинтересует приглашение Генсека на Пляж." thld_teapot "Заодно сможем скооперироваться, чтобы собрать что-то интересное." thld_teapot "О, и я покажу свою новую дальнобойную сборку! Она теперь может на шесть метров стрелять. {w}Без пожара." @@ -536,14 +534,14 @@ label thld_scenario: with Dissolve(2) play sound_loop thld_voices fadein 2 # TODO play Detective Ridelle - Recapitulate (музыку поменять) - thld_teapot "Добро пожаловать, новичок. Это общая столовая. Твой единственный шанс социализироваться и просто оплот здравых идей." - thld_narrator "Эта столовая сильно отличалась от любой другой, которые мне доводилось видеть." + thld_teapot "Добро пожаловать, новичок. Это общая столовая. Твой единственный шанс социализироваться и просто оплот здравых идей." + thld_narrator "Эта столовая сильно отличалась от любой другой, которые мне доводилось видеть." thld_narrator "Она скорее напоминала обжитые руины, нежели советский общепит." - thld_narrator "Самым выделяющимся элементом декора, конечно, же был рояль и проломленная прямо за ним стена." + thld_narrator "Самым выделяющимся элементом декора, конечно, же был рояль и проломленная прямо за ним стена." thld_th "И то, и другое, видимо, никого здесь не удивляло." thld_narrator "Столовую заполняло множество пионеров. Абсолютно одинаковых и в то же время совершенно разных." # nolint - thld_teapot "Здесь собираются все, кто хочет и кто не хочет тоже, ибо больше собираться особенно и негде." - thld_me "Чем вы тут занимаетесь?" + thld_teapot "Здесь собираются все, кто хочет и кто не хочет тоже, ибо больше собираться особенно и негде." + thld_me "Чем вы тут занимаетесь?" thld_teapot "Ты задаешь такие банальные вопросы.{w} Икарус каждую неделю дарит тебе идеальное зрение абсолютно бесплатно. Пользуйся им на здоровье!" thld_teapot "Никто тебе всё не разжует и в рот не положит. Так что давай, включай свои синаптические связи." thld_narrator "На столах тут и там стояло множество пустых и наполовину полных бутылок Столичной. Кто-то играл в карты, кто-то — шахматами, но точно не в шахматы. {w}Вокруг некоторых столов даже образовывались небольшие толпы." @@ -563,20 +561,20 @@ label thld_scenario: thld_teapot "Представь, тебя бы скопировали с девчонки?{w} Страшно?" thld_teapot "Ты, кстати, хотел о выходе поболтать?" thld_me "Вроде того." - thld_teapot "В таком случае тебе вон туда." + thld_teapot "В таком случае тебе вон туда." thld_narrator "Он указал в угол столовой, где расположилась с виду непримечательная компания." thld_narrator "Разве что вместо галстуков они носили какой-то ключ на верёвочке, но на фоне общих странностей это даже не удивило." thld_narrator "Лишь один выделялся более остальных. {w}Одетый в белый медицинский халат, он сидел в центре длинного составного стола лицом к залу. Прямо напротив него стоял стул, на который ненадолго присаживались один за другим пионеры и завязывали разговор." thld_me "Это кто?" thld_teapot "В смысле как они себя называют или что делают?" thld_teapot "Если первое, то Исходники." - thld_me "Это мне ни о чём не говорит." - thld_teapot "Правильно. Ибо ты задал кривой вопрос." + thld_me "Это мне ни о чём не говорит." + thld_teapot "Правильно. Ибо ты задал кривой вопрос." thld_teapot "Так что остаётся только идти и узнать. Может тебе понравится. Или хотя бы мне." thld_narrator "Он ухмыльнулся." thld_me "Ладно. В любом случае спасибо за наводку." hide thld_hall with dissolve - thld_narrator "Я развернулся и направился к столу этих самых Исходников, когда Чайник неожиданно меня окликнул." + thld_narrator "Я развернулся и направился к столу этих самых Исходников, когда Чайник неожиданно меня окликнул." thld_teapot "Да, и если хочешь отправиться на новый цикл раньше времени, то делай побольше резких движений." thld_narrator "А вот это предупреждение меня немного удивило. Белый Пионер не выглядел угрожающим или агрессивным, но и Чайник вряд ли бы сказал это просто так." show thld_preacher fold normal at right with dissolve @@ -587,27 +585,27 @@ label thld_scenario: $ renpy.pause(1.5, hard=True) thld_narrator "Когда я приблизился к столу, словно отделившись от теней в углу передо мной возник еще один Пионер." thld_narrator "Он выглядел расслабленно, держал руку в кармане, смотрел на меня сверху вниз с вежливостью но и с цепким вниманием." - thld_narrator "Во всей его манере держаться расслабленно чувствовалась едва скрываемая угроза." + thld_narrator "Во всей его манере держаться расслабленно чувствовалась едва скрываемая угроза." thld_pi_pharos "Новенький. {w}Что тебя сюда привело?" thld_me "Любопытство. Хотел познакомиться." thld_narrator "Я постарался сделать наиболее доброжелательное лицо, держа при этом руки на виду." thld_th "Осторожность не повредит." thld_narrator "Он оглянулся на пионера в медицинском халате. Тот смерил меня недолгим взглядом, затем кивнул." thld_pi_preacher "Пропусти его, Маяк. Он пришел к нам, и мы поговорим с ним." - thld_pharos "Хорошо. Но без лишних фокусов, новичок." + thld_pharos "Хорошо. Но без лишних фокусов, новичок." thld_narrator "Тот, кого назвали Маяком, кивнул." show thld_pharos pos1 normal: xcenter 0.30 ycenter 0.5 blur 0 alpha 1 ease 1.5 xcenter -0.3 blur 8 alpha 0 $ renpy.pause(1.5, hard=True) - thld_narrator "Затем телохранитель отошёл в сторону и в тот же момент вновь затерялся среди гудящей массы Пионеров." + thld_narrator "Затем телохранитель отошёл в сторону и в тот же момент вновь затерялся среди гудящей массы Пионеров." thld_pi_preacher "Присаживайся, не стесняйся." show thld_preacher fold normal: # TODO: сделать зум персонажа ease 1 xcenter 0.5 $ renpy.pause(1, hard=True) thld_narrator "Я принял приглашение и сел на стул, прямо напротив него." thld_preacher "Итак, меня зовут Проповедник. Я пришел сюда, чтобы другие смогли уйти отсюда." - thld_preacher "Если ты здесь, то судьба привела тебя сюда не случайно. {w}И у тебя наверняка хватает много вопросов." + thld_preacher "Если ты здесь, то судьба привела тебя сюда не случайно. {w}И у тебя наверняка хватает много вопросов." thld_me "Честно говоря, меня сюда привёл Чайник. Довольно сложно назвать его судьбой." thld_narrator "Проповедник легко улыбнулся." show thld_preacher fold smile with dspr @@ -615,11 +613,11 @@ label thld_scenario: show thld_preacher spread normal with dspr thld_narrator "Он развёл руки в стороны. " thld_preacher "Тем более мне показалось, ты ищешь выход." - thld_me "Я... Да, можно и так сказать. Но разве выход есть?" + thld_me "Я... Да, можно и так сказать. Но разве выход есть?" thld_preacher "Если сюда есть вход, то есть и выход. Просто нужно его правильно искать." - thld_me "Чайник мне говорил, что он перепробовал всё, но выхода отсюда просто не существует." + thld_me "Чайник мне говорил, что он перепробовал всё, но выхода отсюда просто не существует." thld_preacher "Пионер, что уже который цикл ходит кругами и так и не нашел выход?{w} Сапожник без сапог тебе обувь не починит." - thld_preacher "Лагерь не отпустит тех, кто не готов. В этом и есть его смысл. {w}Испытать тебя." + thld_preacher "Лагерь не отпустит тех, кто не готов. В этом и есть его смысл. {w}Испытать тебя." thld_preacher "Уже было достаточно пионеров, которые спаслись. Романтик, Игла... И Первый, конечно же, был первым во всём." thld_preacher "Ты напоминаешь мне его. {w}В тебе горит его искра." thld_narrator "Моя голова звенела от желания задать сотни вопросов по всему, что только что сказал этот странный пионер." @@ -639,11 +637,11 @@ label thld_scenario: thld_preacher "Довериться. {w}Научиться доверять другим людям целиком и полностью, откинув старый эгоизм и пустое существование." thld_preacher "Но только тем, кто этого заслуживает." thld_narrator "Он многозначно взглянул на меня." - thld_me "А ты? Почему ты здесь?" + thld_me "А ты? Почему ты здесь?" show thld_preacher spread smile with dspr - thld_narrator "Проповедник лишь по-отцовски улыбнулся." + thld_narrator "Проповедник лишь по-отцовски улыбнулся." thld_preacher "А ты бы хотел остаться один на один с ними?" - thld_narrator "Он кивнул в сторону дальнего столика, где Дровосек с Мясником играли в карты." + thld_narrator "Он кивнул в сторону дальнего столика, где Дровосек с Мясником играли в карты." show thld_preacher fold normal with dspr thld_preacher "Как-то давно лагерь уже дал мне возможность уйти. {w}Спастись и начать новую жизнь." thld_preacher "Лишь почти коснувшись выхода я понял, в чём моя судьба, моё предназначение." @@ -658,25 +656,25 @@ label thld_scenario: thld_preacher "Я верю, что наши общие испытания сделают нас братьями. {w}А если и нет, то я хотел бы, чтобы во Внешнем Мире у меня был такой брат как ты. " thld_preacher "К сожалению, меня ждут. {w}Я чувствую в тебе огромный потенциал, новичок." thld_preacher "Давай продолжим наш разговор в более удобной обстановке? {w}Я буду ждать тебя в моём лагере. Спроси у любого пионера с ключом на шее, он тебя проведёт." - thld_preacher "Рад был знакомству." + thld_preacher "Рад был знакомству." hide thld_preacher with dissolve - thld_narrator "Я встал и направился за столик к Чайнику. На моё место уже успел сесть кто-то другой." + thld_narrator "Я встал и направился за столик к Чайнику. На моё место уже успел сесть кто-то другой." ##TODO stop music show thld_hall pos2 smile at left show thld_third normal at right with dissolve - thld_teapot "Как тебе его разговоры о погоде? Скажи, классное развлечение?" - thld_narrator "Чайник встретил меня с улыбкой. Вместе с ним за столом сидел мрачного вида пионер. На его галстуке было три засечки, а в остальном он почти не выделялся." + thld_teapot "Как тебе его разговоры о погоде? Скажи, классное развлечение?" + thld_narrator "Чайник встретил меня с улыбкой. Вместе с ним за столом сидел мрачного вида пионер. На его галстуке было три засечки, а в остальном он почти не выделялся." thld_narrator "На моё приближение он отреагировал лишь беглым, незаинтересованным взглядом." thld_me "Чего ты его так не любишь?" - thld_teapot "Эх, новичок! Для начала себя любить надо. А остальные будут в конце очереди." - thld_teapot "Да и ты сам мог заметить, что Проповедник — тип неприятный." - thld_me "Разве?" + thld_teapot "Эх, новичок! Для начала себя любить надо. А остальные будут в конце очереди." + thld_teapot "Да и ты сам мог заметить, что Проповедник — тип неприятный." + thld_me "Разве?" thld_third "Опять ты с новичками возишься." thld_teapot "А кому их социализировать? Тебе с твоими кустарными наблюдениями? А нам нужна новая кровь в Общий лагерь." - thld_teapot "Вон у Проповедника с этим проблем нет. А к тебе, Третий, я что-то не вижу очереди." - thld_narrator "Я подсел к ним за стол." - thld_me "Так кто вообще такой Проповедник?" + thld_teapot "Вон у Проповедника с этим проблем нет. А к тебе, Третий, я что-то не вижу очереди." + thld_narrator "Я подсел к ним за стол." + thld_me "Так кто вообще такой Проповедник?" thld_teapot "Большая шишка Общего лагеря." thld_narrator "Хмурый Пионер только насмешливо скривился." #почему молчаливый? Тут он знает имя Третьего # Чтобы всюду не повторялось Третий-Третий-Третий. thld_third "Дурак сказками о выходе собирает вокруг себя еще больших дураков. {w}С каких пор это стало большим влиянием?" @@ -685,9 +683,9 @@ label thld_scenario: thld_narrator "Чайник уловил мой непонимающий взгляд." thld_teapot "Тот громила с ножом, телохранитель Проповедника. {w}Тоже когда-то был бестолковым новичком. А сейчас четвёртый по силе, гроза лагеря." thld_teapot "Он научил горстку новичков защищаться от высококалиберных садистов, Третий. Они могут за себя постоять, нравится тебе это или нет." - thld_third "Лучше бы они объединялись вокруг чего-то стоящего." + thld_third "Лучше бы они объединялись вокруг чего-то стоящего." thld_me "Почему ты так уверен, что выхода нет?" - thld_narrator "Когда я вмешался в разговор, то понял, что это вряд ли была хорошая идея." + thld_narrator "Когда я вмешался в разговор, то понял, что это вряд ли была хорошая идея." show thld_hall pos2 sad with dspr: ease 0.1 xcenter 0.275 ease 0.1 xcenter 0.285 @@ -706,22 +704,22 @@ label thld_scenario: thld_third "Здесь нет будущего, новичок. {w}Только бесконечное сейчас." thld_teapot "Я бы не согласился с безапелляционностью Третьего, но нам стоит быть реалистами." thld_narrator "После этих слов в душе ощущалось гложущее чувство пустоты и тяжести." - thld_me "Как можно жить без прошлого? Какое будущее ждёт нас, забывших себя прежних?" + thld_me "Как можно жить без прошлого? Какое будущее ждёт нас, забывших себя прежних?" thld_third "В мире без будущего не нужно и прошлое. Скоро ты проживёшь здесь достаточное количество циклов и почувствуешь это сам." thld_narrator "Его слова дёрнули за какую-то струну в моей душе. Я почувствовал невыносимую тоску." thld_third "А пока не докучай остальным пустыми вопросами." thld_th "Я не хочу стать таким, как он." thld_th "Не хочу забыть своё прошлое." thld_th "Не хочу жить без будущего." - thld_teapot "И вот как-то так и сложилось влияние Проповедника." + thld_teapot "И вот как-то так и сложилось влияние Проповедника." thld_narrator "Чайник, как всегда, вовремя и не вовремя одновременно." thld_third "Ну конечно. Горстка слабаков с Маяком на вершине. Очень влиятельно." - thld_teapot "Целый остров, получается." + thld_teapot "Целый остров, получается." thld_me "А кто такой этот Маяк?" - thld_narrator "Третий вновь окинул меня отсутствующим взглядом. {w}Похоже, его мысли были далеко отсюда." + thld_narrator "Третий вновь окинул меня отсутствующим взглядом. {w}Похоже, его мысли были далеко отсюда." thld_narrator "Чайник поспешил разрядить обстановку." - thld_teapot "Маяк — четвёртый по силе пионер в общем Лагере. Первый — Чокнутый. Второй — Генсек. А третий... Ну, ты понял." - thld_me "То есть он слабее Проповедника? Тогда почему ему подчиняется?" + thld_teapot "Маяк — четвёртый по силе пионер в общем Лагере. Первый — Чокнутый. Второй — Генсек. А третий... Ну, ты понял." + thld_me "То есть он слабее Проповедника? Тогда почему ему подчиняется?" thld_third "Тот спас его от одного очень изощрённого садиста, когда Маяк ещё был новичком. Как его звали?" thld_teapot "Хирург. Мне до сих пор обидно, что такое пафосное имя закрепилось за Пионером с настолько бестолковым стилем." thld_teapot "Когда-то его пытки задавали планку всем остальным.{w} Ногти, ампутации, болевой шок..." @@ -729,13 +727,13 @@ label thld_scenario: thld_teapot "Маяк ему чем-то сильно приглянулся. Хирург наведывался к нему практически каждую смену. {w}Можешь себе представить как проходили их встречи." thld_narrator "Он говорил о пытках так буднично, словно рассказывал о рецепте пирога." thld_teapot "А Проповедник это заметил. {w}И вырезал всех кукол в лагере Дровосека, подставив при этом Хирурга." - thld_teapot "Следующие несколько недель было весело. Дровосек с Хирургом кромсали друг друга, что только кусочки летели." - thld_teapot "А Проповедник взял Маяка под своё крыло." - thld_third "Маяк же потом решил поиграть в героя. Он часто бродит по лагерям, и, если видит, что новичка кто-то пытает, то в стороне не остаётся." - thld_third "Его потуги были более чем убогими. " - thld_gensek "Но он оказался крайне целеустремлённым." - thld_narrator "Неожиданно к нам со спины подошел новый Пионер." - thld_gensek "Изнурительнее Маяка тренировался разве что Чокнутый." + thld_teapot "Следующие несколько недель было весело. Дровосек с Хирургом кромсали друг друга, что только кусочки летели." + thld_teapot "А Проповедник взял Маяка под своё крыло." + thld_third "Маяк же потом решил поиграть в героя. Он часто бродит по лагерям, и, если видит, что новичка кто-то пытает, то в стороне не остаётся." + thld_third "Его потуги были более чем убогими." + thld_gensek "Но он оказался крайне целеустремлённым." + thld_narrator "Неожиданно к нам со спины подошел новый Пионер." + thld_gensek "Изнурительнее Маяка тренировался разве что Чокнутый." thld_narrator "Третий лишь неопределенно кивнул, а вот Чайник новому гостю сразу улыбнулся." # FIXME: до этого момента Пацифист не знает имени Генсека thld_teapot "Генсек!{w} Новичок, не падай в обморок. Это наш уважаемый Генсек. Благодаря ему существуют Общая Столовая, порядок и процентов семьдесят всех миролюбивых правил." @@ -751,39 +749,39 @@ label thld_scenario: thld_gensek "Я ожидал, что в конце концов ты окажешься с ним, но чтобы вызваться самому?" thld_third "Беру жизнь в свои руки." thld_gensek "Любопытно.{w} А ты, Чайник? {w}Что ответил Инженер?" - thld_teapot "Да, Инженер участвует. {w}Но не с нами." - thld_teapot "К нему до меня уже успел пригласить Чокнутый." - thld_teapot "Вернее, Третий от его имени." - thld_narrator "Третий триумфально ухмыльнулся Генсеку." - thld_teapot "А еще раньше его приглашал Маяк." + thld_teapot "Да, Инженер участвует. {w}Но не с нами." + thld_teapot "К нему до меня уже успел пригласить Чокнутый." + thld_teapot "Вернее, Третий от его имени." + thld_narrator "Третий триумфально ухмыльнулся Генсеку." + thld_teapot "А еще раньше его приглашал Маяк." thld_gensek "Мне это не нравится. Проповедник и так перехватывает в Исходники большинство новичков, но он еще и за завсегдатаев берется." - thld_gensek "Хорошо если из пяти новичков к нам попадёт хоть один." - thld_gensek "Если ничего не изменится, то со временем вся жизнь перетечет из Общей столовой в их лагерь." - thld_gensek "Я пересмотрю политику социализации новичков. {w}Нам стоит вводить их в общий ритм жизни." - thld_narrator "Не могу даже сказать чем, но я почувствовал вкрадчивое внимание Генсека на себе." - thld_gensek "Новенький, у нас скоро пройдёт мероприятие и моей команде как раз не хватает человека вроде тебя." - thld_narrator "Слово «человека» звучало странно из его уст." - thld_me "Я..." - thld_narrator "По сигналам Чайника из-за спины Генсека можно было понять, что это не то предложение, от которого можно отказаться." - thld_me "С радостью приму это приглашение." - thld_narrator "Генсек ухмыльнулся." - thld_gensek "Другого я и не ждал." - thld_gensek "Через две смены жду вас на пляже." # TODO: возможно, пересмотрим окно времени между этой сменой и морской. Две недели может быть слишком много + thld_gensek "Хорошо если из пяти новичков к нам попадёт хоть один." + thld_gensek "Если ничего не изменится, то со временем вся жизнь перетечет из Общей столовой в их лагерь." + thld_gensek "Я пересмотрю политику социализации новичков. {w}Нам стоит вводить их в общий ритм жизни." + thld_narrator "Не могу даже сказать чем, но я почувствовал вкрадчивое внимание Генсека на себе." + thld_gensek "Новенький, у нас скоро пройдёт мероприятие и моей команде как раз не хватает человека вроде тебя." + thld_narrator "Слово «человека» звучало странно из его уст." + thld_me "Я..." + thld_narrator "По сигналам Чайника из-за спины Генсека можно было понять, что это не то предложение, от которого можно отказаться." + thld_me "С радостью приму это приглашение." + thld_narrator "Генсек ухмыльнулся." + thld_gensek "Другого я и не ждал." + thld_gensek "Через две смены жду вас на пляже." # TODO: возможно, пересмотрим окно времени между этой сменой и морской. Две недели может быть слишком много stop sound_loop fadeout 2 scene bg black with Dissolve(2) $ renpy.pause(2, hard=True) scene bg thld_ext_tribune_night with Dissolve(2) play sound_loop thld_voices fadein 2 ##TODO play music Prince of Persia - Warrior Within OST #0 Installation - thld_narrator "Телепортация заняла чуть более часа, но у меня наконец-то начало получаться." + thld_narrator "Телепортация заняла чуть более часа, но у меня наконец-то начало получаться." thld_narrator "И снова я здесь." - thld_narrator "Бойцовская яма. Место в общем лагере, куда стаскивают новичков для «боевого крещения»." - thld_narrator "А более опытные пионеры приходят сюда, чтобы проверить свои силы и потренироваться. Это место вызывало у меня смешанные чувства." + thld_narrator "Бойцовская яма. Место в общем лагере, куда стаскивают новичков для «боевого крещения»." + thld_narrator "А более опытные пионеры приходят сюда, чтобы проверить свои силы и потренироваться. Это место вызывало у меня смешанные чувства." thld_th "В основном отрицательные." show thld_hall pos2 smile3 at center with dissolve - thld_teapot "Не думал, что ты всё же придёшь." + thld_teapot "Не думал, что ты всё же придёшь." thld_me "Но всё же Чайник был прав. Перед Пляжем стоило тренироваться." - thld_teapot "Разве тебе самому не интересно, как будет задействован аккумулятор твоего телефона?" + thld_teapot "Разве тебе самому не интересно, как будет задействован аккумулятор твоего телефона?" thld_me "Очередная бомба?" show thld_hall pos2 sad with dspr thld_narrator "Чайник разочарованно вздохнул." @@ -792,79 +790,79 @@ label thld_scenario: scene bg black with Dissolve(1) $ renpy.pause(1, hard=True) scene bg thld_ext_tribune_night with Dissolve(1) - thld_narrator "Не знаю зачем я снова сюда пришёл. За очередной порцией ночных кошмаров?" + thld_narrator "Не знаю зачем я снова сюда пришёл. За очередной порцией ночных кошмаров?" thld_narrator "Вероятнее всего мне просто стало тоскливо, что завтра начнётся новый цикл и окружающий меня мир просто забудет обо всём, что случилось за эти семь дней." - show thld_mad smile at center with dissolve - thld_pi_butcher "О! Я тебя помню! Беглец! У тебя всё же хватило мужества вернуться и нормально умереть!" - show thld_mad smile: + show thld_butcher smile at center with dissolve + thld_butcher "О! Я тебя помню! Беглец! У тебя всё же хватило мужества вернуться и нормально умереть!" + show thld_butcher smile: xcenter 0.5 ease 0.5 zoom 1.05 - thld_narrator "Ко мне стремительно приближался тот псих с осколком стекла от которого мне удалось убежать в прошлый раз." - thld_narrator "Всё моё естество кричало о том, что бить не вариант. Нужно бежать. Колени задрожали, ладони мгновенно вспотели." + thld_narrator "Ко мне стремительно приближался тот псих с осколком стекла от которого мне удалось убежать в прошлый раз." + thld_narrator "Всё моё естество кричало о том, что бить не вариант. Нужно бежать. Колени задрожали, ладони мгновенно вспотели." thld_narrator "Я оглянулся на Чайника. Тот лишь внимательно наблюдал за мной." thld_narrator "Возможно мне показалось, возможно я просто увидел то, что хотел, но всего в одно беглое мгновение мой спутник одобрительно кивнул." - show thld_mad smile: + show thld_butcher smile: xcenter 0.5 ease 0.5 zoom 1.1 thld_narrator "Я не стал бежать. Повернув голову я посмотрел прямо в глаза того, кто по всей видимости, намеревался убить меня прямо здесь и прямо сейчас." - show thld_mad smile: + show thld_butcher smile: xcenter 0.5 ease 0.5 zoom 1.15 thld_narrator "Он остановился в метре от меня. На его губах переливалась отвратительными полутонами ехидная ухмылка." $ renpy.pause(1, hard=True) - show thld_mad normal with dspr - thld_narrator "Спустя несколько секунд непрерывного зрительного контакта он вдруг перестал улыбаться." - thld_narrator "Видимо, он ожидал от меня другой реакции." - thld_pi_butcher "И когда ты успел стать таким смелым?" + show thld_butcher normal with dspr + thld_narrator "Спустя несколько секунд непрерывного зрительного контакта он вдруг перестал улыбаться." + thld_narrator "Видимо, он ожидал от меня другой реакции." + thld_butcher "И когда ты успел стать таким смелым?" thld_me "Вчера. {w}И я не буду участвовать в вашей бойне." thld_narrator "Вдруг я ощутил резкое отвращение к самой идее насилия." - show thld_mad smile with dspr + show thld_butcher smile with dspr thld_narrator "Лицо моего визави просветлело." - thld_pi_butcher "Ну и хорошо. Ты выйдешь на бой, а там я тебя безучастно убью. И живи себе завтра спокойно." - thld_me "Мне кажется я достаточно ясно выразился, но повторю ещё раз. Я не выйду на это поле, чтобы убивать. Ни сегодня, ни завтра, ни когда-либо ещё." - thld_narrator "Этот план, хоть пока туманный и отдалённый, всё же давал мне давно потерянную почву под ногами." - thld_pi_butcher "А кто сказал, что у тебя будет возможность кого-нибудь тут убить? {w}Ты просто трус." + thld_butcher "Ну и хорошо. Ты выйдешь на бой, а там я тебя безучастно убью. И живи себе завтра спокойно." + thld_me "Мне кажется я достаточно ясно выразился, но повторю ещё раз. Я не выйду на это поле, чтобы убивать. Ни сегодня, ни завтра, ни когда-либо ещё." + thld_narrator "Этот план, хоть пока туманный и отдалённый, всё же давал мне давно потерянную почву под ногами." + thld_butcher "А кто сказал, что у тебя будет возможность кого-нибудь тут убить? {w}Ты просто трус." show thld_pharos pos1 normal with dspr: xcenter -0.3 ycenter 0.5 blur 8 alpha 0 ease 1.5 xcenter 0.3 blur 0 alpha 1 - show thld_mad smile: + show thld_butcher smile: ease 1.5 xcenter 0.75 $ renpy.pause(1.5, hard=True) thld_pi_pharos "Не трус. Скорее, пацифист." - thld_narrator "Неожиданно в разговор вмешался знакомый мне пионер." - thld_narrator "Сперва я не узнал его, пока не заметил ключ на шее. Это же Маяк! Правая рука Проповедника!" + thld_narrator "Неожиданно в разговор вмешался знакомый мне пионер." + thld_narrator "Сперва я не узнал его, пока не заметил ключ на шее. Это же Маяк! Правая рука Проповедника!" thld_pharos "Если тебе так не хватает крови, то на бой выйду я. Как раз пришёл размяться." - show thld_mad normal with dspr - thld_narrator "Лицо Мясника покраснело от злости." - thld_pi_butcher "Ты меня за идиота держишь? Я не продержусь против тебя и минуты." - thld_narrator "Маяк кивнул в мою сторону." - thld_pharos "А он с тобой продержался бы дольше?" - thld_pi_butcher "Вы и так забираете у нас кучу новичков. {w}Ты не имеешь права тут вмешиваться. Или мне рассказать Генсеку, что Исходники начали уводить новичков из ям?" + show thld_butcher normal with dspr + thld_narrator "Лицо Мясника покраснело от злости." + thld_butcher "Ты меня за идиота держишь? Я не продержусь против тебя и минуты." + thld_narrator "Маяк кивнул в мою сторону." + thld_pharos "А он с тобой продержался бы дольше?" + thld_butcher "Вы и так забираете у нас кучу новичков. {w}Ты не имеешь права тут вмешиваться. Или мне рассказать Генсеку, что Исходники начали уводить новичков из ям?" show thld_pharos pos2 laugh with dspr - thld_narrator "Маяк задорно улыбнулся." + thld_narrator "Маяк задорно улыбнулся." thld_pharos "Он тут не в первый раз и пришёл сам, поэтому имеет полное право отказаться." - thld_pi_butcher "Новичок без имени не может отказаться от поединка и тем более, его сюда пригласил Чайник. {w}Я слышал." + thld_butcher "Новичок без имени не может отказаться от поединка и тем более, его сюда пригласил Чайник. {w}Я слышал." thld_narrator "Судя по выражению лица даже Чайник удивился от такого пируэта, но удивление на его лице надолго не задержалось." show thld_pharos pos1 smile with dspr thld_pharos "У него есть имя. {w}Пацифист. {w}Ему это имя дал четвёртый по силе пионер. {w}Всё по правилам." thld_narrator "Мясник в одно мгновение стал пунцовым. Мне кажется ещё чуть-чуть и его глаза нальются кровью от злости." thld_th "И чего я ему так сдался?" - thld_narrator "При одном взгляде на его разъярённое лицо едва зажившие раны на спине начали неприятно зудеть." + thld_narrator "При одном взгляде на его разъярённое лицо едва зажившие раны на спине начали неприятно зудеть." thld_th "Не к добру всё это." show thld_pharos pos1 normal with dspr - thld_pi_butcher "Вечный цикл! Я вам это припомню! А особенно тебе... Пацифист." - show thld_mad normal: + thld_butcher "Вечный цикл! Я вам это припомню! А особенно тебе... Пацифист." + show thld_butcher normal: xcenter 0.75 zoom 1.15 blur 0 alpha 1 ease 1.5 xcenter 1.3 blur 8 alpha 0 $ renpy.pause(1.5, hard=True) - thld_narrator "Он сплюнул, демонстративно развернулся и с высоко поднятой головой удалился в сторону трибун. Туда, где распределяли пары для боёв." + thld_narrator "Он сплюнул, демонстративно развернулся и с высоко поднятой головой удалился в сторону трибун. Туда, где распределяли пары для боёв." thld_teapot "За распределение вроде бы сегодня отвечает Инженер? Пойду попрошу поставить меня с Мясником. Что-то он меня сегодня раздражает." show thld_pharos pos1 smile with dspr thld_narrator "Маяк лишь сопроводил уход обоих вежливой, слегка надменной улыбкой." thld_pharos "Поздравляю с новым именем, Пацифист. Но в будущем лучше будь осторожней." thld_me "Спасибо за помощь... Это было неожиданно. Я думал, что среди пионеров нормой поведения считается невмешательство." show thld_pharos pos2 laugh with dspr - thld_narrator "Маяк вновь улыбнулся, но в этот раз даже как-то тепло. В моей голове никак не вязались его жесткость, или даже жестокость к одним и добродушность к другим." + thld_narrator "Маяк вновь улыбнулся, но в этот раз даже как-то тепло. В моей голове никак не вязались его жесткость, или даже жестокость к одним и добродушность к другим." thld_pharos "Для большинства завсегдатаев Общего Лагеря так и есть, но я терпеть не могу, когда возомнившие о себе отморозки пытаются поглумиться над слабыми." thld_pharos "Если вдруг у тебя будут какие-то проблемы с этим мусором, то зови меня. {w}Исходники своих не бросят." thld_pharos "Ладно, бывай, Пацифист." @@ -872,9 +870,9 @@ label thld_scenario: xcenter 0.3 blur 0 alpha 1 ease 1.5 xcenter -0.3 blur 8 alpha 0 $ renpy.pause(1.5, hard=True) - thld_narrator "И он ушёл даже не оглянувшись." - thld_narrator "Я остался один." - thld_narrator "На спортивную площадку продолжали прибывать пионеры." + thld_narrator "И он ушёл даже не оглянувшись." + thld_narrator "Я остался один." + thld_narrator "На спортивную площадку продолжали прибывать пионеры." thld_narrator "Кто-то тащил увесистые самодельные орудия, Дровосек, как обычно, принёс с собой топор. Был даже один с киркой, которую по всей видимости нашел где-то в шахтах." thld_narrator "Мне становилось холодно." thld_narrator "Я пришёл сюда из-за Чайника. Стоит его найти. Но что-то держало меня на этих трибунах." @@ -949,44 +947,44 @@ label thld_scenario: thld_narrator "Я начал аккуратно отходить назад к домику." thld_narrator "Не знаю почему я повернул голову в сторону, но в то же мгновение, едва оцарапав меня по уху мимо моей головы пролетел камень." thld_narrator "Тело без моей на то воли само отпрыгнуло в сторону, рефлекторно повернувшись в ту сторону, откуда прилетел снаряд." - thld_pi_butcher "Я же говорил, что не люблю оставлять дела незавершёнными." + thld_butcher "Я же говорил, что не люблю оставлять дела незавершёнными." thld_narrator "Из кустов вышел он, кровожадный безумец из бойцовской ямы." thld_narrator "А ведь я понимал, что рано или поздно он придёт." thld_th "Бей или беги!" thld_narrator "Мясник держал в руке кухонный нож со следами крови на лезвии. Улыбка на его лице внушала ужас." - thld_pi_butcher "Чтобы не было слишком людно, кукол я убрал. Нам никто не помешает." - thld_pi_butcher "Не переживай, я убью тебя быстро и даже дам фору. Маяк не прикопается. Беги, защищайся — мне без разницы." - thld_narrator "Он не сближался. Просто стоял демонстративно выставив нож и продолжал улыбаться как умалишённый." - thld_narrator "Сердце билось о клетку рёбер с такой силой, что кажется вот-вот и ему удастся вырваться наружу." - thld_pi_butcher "Так ты будешь бежать? Это твой последний шанс." + thld_butcher "Чтобы не было слишком людно, кукол я убрал. Нам никто не помешает." + thld_butcher "Не переживай, я убью тебя быстро и даже дам фору. Маяк не прикопается. Беги, защищайся — мне без разницы." + thld_narrator "Он не сближался. Просто стоял демонстративно выставив нож и продолжал улыбаться как умалишённый." + thld_narrator "Сердце билось о клетку рёбер с такой силой, что кажется вот-вот и ему удастся вырваться наружу." + thld_butcher "Так ты будешь бежать? Это твой последний шанс." scene bg thld_ext_houses_night with dissolve thld_narrator "И я побежал. {w}Побежал так, как не бегал никогда в жизни. Не разбирая дороги, даже не думая куда я направляюсь. Кровь в висках пульсировала, в груди неприятно кололо." scene bg ext_square_night with dissolve - thld_narrator "Нужно спрятаться. Найти укрытие и переместиться в Общий лагерь. Он не посмеет там меня тронуть." + thld_narrator "Нужно спрятаться. Найти укрытие и переместиться в Общий лагерь. Он не посмеет там меня тронуть." thld_th "Бежит ли он за мной?" thld_narrator "Перемещение займёт как минимум полчаса." scene bg ext_path_night with dissolve thld_narrator "Мясник знает, что я не смогу быстро переместиться в другой лагерь? Именно поэтому он меня отпустил? Так интереснее?" scene bg ext_polyana_night with dissolve thld_narrator "Как бы я не отдалялся от лагеря, сколько бы не оглядывался. Никого не было рядом, но меня всё равно не отпускало чувство, что меня преследуют по пятам." - thld_narrator "Я чувствую себя лисой, на которую спустили гончих." + thld_narrator "Я чувствую себя лисой, на которую спустили гончих." thld_th "Старый лагерь! Катакомбы! Там я смогу спрятаться и переместиться." scene bg ext_path2_night with dissolve thld_narrator "Я чуть замедлился, чтобы перевести дыхание. Повернулся, чтобы убедиться, что мой преследователь не находится за спиной." - thld_narrator "В это же мгновение из меня словно выбили дух. От удара в грудь лёгкие в мгновение лишились воздуха. Я захрипел и потеряв равновесие упал на колени в траву, хватая ртом воздух." - thld_pi_butcher "Идеальный бросок! Даже не думал, что попаду с первого раза! У камней отвратительная баллистика." + thld_narrator "В это же мгновение из меня словно выбили дух. От удара в грудь лёгкие в мгновение лишились воздуха. Я захрипел и потеряв равновесие упал на колени в траву, хватая ртом воздух." + thld_butcher "Идеальный бросок! Даже не думал, что попаду с первого раза! У камней отвратительная баллистика." thld_narrator "Мясник вышел на тропинку в десятке метров от меня. Именно оттуда, куда я собирался бежать." - thld_pi_butcher "Вы, новички, такие предсказуемые. Постоянно бежите в старый лагерь. Я уже было надеялся, что ты будешь поумнее." + thld_butcher "Вы, новички, такие предсказуемые. Постоянно бежите в старый лагерь. Я уже было надеялся, что ты будешь поумнее." thld_pacifist "Что тебе от меня нужно?" - thld_narrator "В траве под моей рукой что-то лежало. Что-то железное, веющее прохладой." - thld_pi_butcher "Я уже сказал что мне нужно. Тут неимоверно скучно и я ненавижу, когда у меня отнимают развлечения. {w}Давай без долгих разговоров, с тобой это скучно. " - thld_pi_butcher "Не дёргайся. {w}Постараюсь убить тебя быстро... но не обещаю, что будет не больно." + thld_narrator "В траве под моей рукой что-то лежало. Что-то железное, веющее прохладой." + thld_butcher "Я уже сказал что мне нужно. Тут неимоверно скучно и я ненавижу, когда у меня отнимают развлечения. {w}Давай без долгих разговоров, с тобой это скучно. " + thld_butcher "Не дёргайся. {w}Постараюсь убить тебя быстро... но не обещаю, что будет не больно." thld_narrator "Он вытащил нож из-за ремня и быстро направился ко мне." thld_th "Бей!" - thld_narrator "Набатом прозвучала команда в моей голове. Мысль эта оказалась столь сильной и неумолчной, что вывела меня из оцепенения." - thld_narrator "Рука будто бы сама схватила этот металлический предмет лежащий передо мной." - thld_narrator "Мясник уже в шаге от меня. Он смотрит глумливо и злорадно. Так, как можно смотреть только сверху вниз." - thld_narrator "Лезвие его ножа уже направлено мне в шею." + thld_narrator "Набатом прозвучала команда в моей голове. Мысль эта оказалась столь сильной и неумолчной, что вывела меня из оцепенения." + thld_narrator "Рука будто бы сама схватила этот металлический предмет лежащий передо мной." + thld_narrator "Мясник уже в шаге от меня. Он смотрит глумливо и злорадно. Так, как можно смотреть только сверху вниз." + thld_narrator "Лезвие его ножа уже направлено мне в шею." thld_narrator "И вновь моя рука действует без моей на то воли. Едва ощущая её, практически не осознавая что делаю, я резким рывком бью железякой снизу вверх по дуге." # *Вспышка* thld_narrator "Тяжесть тела возвращается через несколько минут. Рука с оружием безвольно опадает, разжимая пальцы. Я вновь ощущаю её, как часть себя. В момент удара мне казалось, что ей словно управлял кто-то другой." @@ -1371,8 +1369,8 @@ label thld_scenario: thld_narrator "Одна фигура, ходившая между рабочих мест в мастерской, остановилась и вдруг посмотрела прямо на меня." thld_narrator "Даже не могу сказать точно, как именно я узнал Маяка. Только неосязаемая аура спокойствия и уверенности дала мне понять, что это он." thld_narrator "Он помахал мне рукой." - thld_guide "Похоже, тебя зовут." - thld_guide "Не заставляй Маяка ждать. Удачи, брат!" + thld_pi_guide "Похоже, тебя зовут." + thld_pi_guide "Не заставляй Маяка ждать. Удачи, брат!" thld_pharos "Рад тебя видеть!" thld_narrator "Маяк тепло хлопнул меня по плечу." thld_me "И я..." @@ -1398,73 +1396,73 @@ label thld_scenario: thld_pharos "В лагере новичка. Искатели на днях его обнаружили. Новый лагерь с едва осознавшим себя пионером. И тут же туда подтягивается всякая шваль." thld_narrator "Маяк с отвращением сплюнул." thld_me "Понимаю. {w}Тогда я могу осмотреть..." - thld_pharos "Но я хотел предложить тебе пойти со мной." - + thld_pharos "Но я хотел предложить тебе пойти со мной." + ## переход - + ## TODO play JoeMathew-FirePlaceGuitar (неактульная музыка?) thld_narrator "Беспокойный ветер перебирал кроны деревьев у нас над головами, приминал траву под нашими ногами." thld_narrator "Лес, притихший и будто бы выжидающий чего-то, вторил моему состоянию, а верёвка, выданная Маяком перед выходом, била по моему поясу." thld_narrator "Он действительно взял меня, совсем зелёного новичка на операцию спасения. Внутренне я сгорал от удивления и восторга." thld_narrator "Мне всё еще было не до конца ясно почему столь сильный и уважаемый пионер проявил ко мне столько доверия?" - thld_me "Маяк?" - thld_pharos "Да?" - thld_narrator "Маяк раздвигал ветки деревьев на нашем пути. С момента, как мы вышли за садистом, он был в своих мыслях." - thld_me "Почему тогда на острове ты решил пойти за мной?{w} Разве твоя команда не нуждалась в тебе?" - thld_me "Маяк замедлил ход чтобы взглянуть на меня." - thld_pharos "Моя команда - лучшие из лучших. Они не одну смену тренировались слаженной работе." - thld_pharos "Любые другие Пионеры в первую очередь заботяся о себе, играют только в свою партию. Уверен, каждый из них уверен, что он - главный герой своей книги. Настоящий человек." - thld_pharos "Но это и их главная слабость. Насколько бы безумно не был вышкален Чокнутый, какую бы игру умов не затеял Генсек, по сути своей они играют одни." - thld_pharos "Одиночка ничто против слаженной команды. Сколь гениален он ни был." - thld_pharos "Поэтому я и вынес тебя на берег. Ты не впервые рискнул своей жизнью ради кого-то. {w}Редкая черта среди Пионеров." - thld_pharos "Исходники умеют это ценить." - thld_narrator "Маяк замолчал Мне было много о чём подумать." - thld_narrator "Увидев, что я не спешу задават новые вопросы, он снова двинулся вперед, продолжая путь по лесу." - thld_narrator "Чтобы не отстать, я трусцой побежал следом." - thld_me "Я еще хотел спросить по поводу слов Проповедника." - thld_me "Маяк был в своих мыслях, поэтому ответил не сразу." - thld_pharos "Спрашивай." - thld_me "Проповедник говорил, что из Лагеря есть выход. Но почему тогда никто из старожилов Общего Лагеря выход еще не нашел? Чайник, например, или Генсек? Они ведь наверняка исходили здесь каждый угол." - thld_pharos "Всё верно, старожилы лагеря смогут пройтись по лагерям даже с закрытыми глазами." + thld_me "Маяк?" + thld_pharos "Да?" + thld_narrator "Маяк раздвигал ветки деревьев на нашем пути. С момента, как мы вышли за садистом, он был в своих мыслях." + thld_me "Почему тогда на острове ты решил пойти за мной?{w} Разве твоя команда не нуждалась в тебе?" + thld_me "Маяк замедлил ход чтобы взглянуть на меня." + thld_pharos "Моя команда - лучшие из лучших. Они не одну смену тренировались слаженной работе." + thld_pharos "Любые другие Пионеры в первую очередь заботяся о себе, играют только в свою партию. Уверен, каждый из них уверен, что он - главный герой своей книги. Настоящий человек." + thld_pharos "Но это и их главная слабость. Насколько бы безумно не был вышкален Чокнутый, какую бы игру умов не затеял Генсек, по сути своей они играют одни." + thld_pharos "Одиночка ничто против слаженной команды. Сколь гениален он ни был." + thld_pharos "Поэтому я и вынес тебя на берег. Ты не впервые рискнул своей жизнью ради кого-то. {w}Редкая черта среди Пионеров." + thld_pharos "Исходники умеют это ценить." + thld_narrator "Маяк замолчал Мне было много о чём подумать." + thld_narrator "Увидев, что я не спешу задават новые вопросы, он снова двинулся вперед, продолжая путь по лесу." + thld_narrator "Чтобы не отстать, я трусцой побежал следом." + thld_me "Я еще хотел спросить по поводу слов Проповедника." + thld_me "Маяк был в своих мыслях, поэтому ответил не сразу." + thld_pharos "Спрашивай." + thld_me "Проповедник говорил, что из Лагеря есть выход. Но почему тогда никто из старожилов Общего Лагеря выход еще не нашел? Чайник, например, или Генсек? Они ведь наверняка исходили здесь каждый угол." + thld_pharos "Всё верно, старожилы лагеря смогут пройтись по лагерям даже с закрытыми глазами." thld_pharos "Но Лагерь всё же чуть-чуть хитрее, чем обычная дверь. {w}Здесь мы лишь в преддверии настоящей жизни." - thld_pharos "И смысл не в том, чтобы отсюда выйти, а в том, чтобы идти было куда." - thld_pharos "Если у тебя нет места, куда бы ты хотел вернуться, которое ты не мог бы назвать домом, то нет ориентира." - thld_pharos "Без него ты будешь вечно теряться в тумане. Как Генсек с Третьим." - thld_me "Разве у них нет своего города? Студенческой жизни, квартиры под крышей высотки?" - thld_pharos "Я как-то спросил у Третьего, какого цвета были крыши домов напротив его окна." - thld_pharos "Что он только не говорил: желтые, красные... Пока в конце не признался, что «такой мелочи» не помнит." - thld_pharos "Твой город. Да любой город! С желтыми крышами высоток!" - thld_pharos "Они забыли не только цвет, Пацифист. Они забыли вообще всё из своей жизни." - thld_pharos "Им некуда возвращаться. Они вечно будут ходить кругами." - thld_me "А Чайник, например? Он ведь вспоминает о той жизни." - thld_pharos "Зависит от него. Он действительно держится за настоящую жизнь. Но уже начал забывать." - thld_pharos "Если присоединится к нам, то наверняка найдет свою дорогу." - thld_me "Да, это то, о чём я также хотел спросить. Если путь домой зависит только от памяти, то как с этим связан Исход, о котором говорил Проповедник?" - thld_pharos "О, ты запомнил об Исходе? Похвально." - thld_pharos "Как говорил Проповедник, выйти можно и так. Пускай это и крайне сложно." - thld_pharos "Великий Исход — это момент в хронологии лагеря, когда грань между нашим домом и этим странным зазеркальем становится предельно тонкой. И тогда даже те, кто почти лишился надежды, смогут пройти завесу." - thld_pharos "Я, и многие другие из нас ждут Великий Исход, чтобы уйти отсюда вместе. Мы поддерживаем друг друга, не даём забыть что такое смелость и настоящая дружба. Напоминаем друг другу куда мы хотим вернуться." - thld_pharos "Мы слишком многое пережили вместе, чтобы бросить друг друга одних." - thld_pharos "Впрочем, тебе лучше посетить следующий лекторий Проповедника в нашем лагере. Это его стихия." - thld_narrator "Я пытался переварить всё только что услышанное." - thld_narrator "Выход есть? Я могу выбраться с остальными? Но..." - thld_me "Тогда хотел спросить. Прости, если покажусь грубым..." - thld_pharos "Не переживай. Это действительно сложно принять. И уж тем более я не требую понять это прямо сейчас." - thld_me "Откуда вы всё это знаете?" - thld_pharos "Это открыл Проповедник. {w}Тот, кто ушел и вернулся." - thld_me "Что? Он разве не говорил, что мог уйти, но остался?" - thld_narrator "Я не мог поверить своим ушам." - thld_narrator "Маяк лишь тепло улыбнулся." - thld_pharos "Иногда неправдоподобую правду легче заменить правдоподобной ложью." - thld_pharos "Но только в это мало кто поверит. Поэтому сохраним это в секрете, ладно?" - thld_me "Я... Да, конечно..." - thld_narrator "От шторма новой информации я даже не знал что думать." - thld_pharos "А вот и место встречи." + thld_pharos "И смысл не в том, чтобы отсюда выйти, а в том, чтобы идти было куда." + thld_pharos "Если у тебя нет места, куда бы ты хотел вернуться, которое ты не мог бы назвать домом, то нет ориентира." + thld_pharos "Без него ты будешь вечно теряться в тумане. Как Генсек с Третьим." + thld_me "Разве у них нет своего города? Студенческой жизни, квартиры под крышей высотки?" + thld_pharos "Я как-то спросил у Третьего, какого цвета были крыши домов напротив его окна." + thld_pharos "Что он только не говорил: желтые, красные... Пока в конце не признался, что «такой мелочи» не помнит." + thld_pharos "Твой город. Да любой город! С желтыми крышами высоток!" + thld_pharos "Они забыли не только цвет, Пацифист. Они забыли вообще всё из своей жизни." + thld_pharos "Им некуда возвращаться. Они вечно будут ходить кругами." + thld_me "А Чайник, например? Он ведь вспоминает о той жизни." + thld_pharos "Зависит от него. Он действительно держится за настоящую жизнь. Но уже начал забывать." + thld_pharos "Если присоединится к нам, то наверняка найдет свою дорогу." + thld_me "Да, это то, о чём я также хотел спросить. Если путь домой зависит только от памяти, то как с этим связан Исход, о котором говорил Проповедник?" + thld_pharos "О, ты запомнил об Исходе? Похвально." + thld_pharos "Как говорил Проповедник, выйти можно и так. Пускай это и крайне сложно." + thld_pharos "Великий Исход — это момент в хронологии лагеря, когда грань между нашим домом и этим странным зазеркальем становится предельно тонкой. И тогда даже те, кто почти лишился надежды, смогут пройти завесу." + thld_pharos "Я, и многие другие из нас ждут Великий Исход, чтобы уйти отсюда вместе. Мы поддерживаем друг друга, не даём забыть что такое смелость и настоящая дружба. Напоминаем друг другу куда мы хотим вернуться." + thld_pharos "Мы слишком многое пережили вместе, чтобы бросить друг друга одних." + thld_pharos "Впрочем, тебе лучше посетить следующий лекторий Проповедника в нашем лагере. Это его стихия." + thld_narrator "Я пытался переварить всё только что услышанное." + thld_narrator "Выход есть? Я могу выбраться с остальными? Но..." + thld_me "Тогда хотел спросить. Прости, если покажусь грубым..." + thld_pharos "Не переживай. Это действительно сложно принять. И уж тем более я не требую понять это прямо сейчас." + thld_me "Откуда вы всё это знаете?" + thld_pharos "Это открыл Проповедник. {w}Тот, кто ушел и вернулся." + thld_me "Что? Он разве не говорил, что мог уйти, но остался?" + thld_narrator "Я не мог поверить своим ушам." + thld_narrator "Маяк лишь тепло улыбнулся." + thld_pharos "Иногда неправдоподобую правду легче заменить правдоподобной ложью." + thld_pharos "Но только в это мало кто поверит. Поэтому сохраним это в секрете, ладно?" + thld_me "Я... Да, конечно..." + thld_narrator "От шторма новой информации я даже не знал что думать." + thld_pharos "А вот и место встречи." # TODO: смена фона с леса на дневную библиотеку снаружи - thld_narrator "Маяк разбежался и с разбегу вскарабкался на крышу подсобки рядом с основным зданием библиотеки." - thld_pharos "Взбирайся, мы дождемся садиста здесь." - thld_narrator "Он свесил руку, чтобы подтянуть меня наверх." - + thld_narrator "Маяк разбежался и с разбегу вскарабкался на крышу подсобки рядом с основным зданием библиотеки." + thld_pharos "Взбирайся, мы дождемся садиста здесь." + thld_narrator "Он свесил руку, чтобы подтянуть меня наверх." + # TODO: смена фона на закатную библиотеку # TODO: play bensound_tomorrow scene bg thld_ext_library_sunset @@ -1476,13 +1474,13 @@ label thld_scenario: thld_pharos "И садисты слишком слабовольные рабы привычки, чтобы нарушать тенденцию." thld_pharos "Каждый раз после обеда, сначала в библиотеку, потом в домики. Затем, убив четырёх кукол, искал Семёна этого лагеря." thld_me "Зачем они вообще это делают? Вырезают своих кукол, пытают новичков?" - thld_pharos "Вот именно из-за того, что ты не знаешь ответ на этот вопрос, ты мне и нравишься, Пацифист. Надеюсь, это в тебе никогда не изменится." - thld_pharos "Садист как зверь, впервые отведавший человечину. После первой жертвы в них просыпается неутолимая жажда силы, власти." - thld_pharos "Но силу не ощутишь, столкнувшись с равным оппонентом. Мало того, что старые Пионеры могут дать отпор, но многие из них к тому же смеются от боли и пыток. В таких боях не найти страха и отчаяния, которые садисты так ищут." - thld_pharos "Для них новички — наркотик. И чем дальше, тем большая доза им нужна." - thld_pharos "Таких нужно останавливать самыми жёсткими мерами. Если они уже подсели на боль, то понимают они только её. Никаких компромиссов с садистами, Пацифист." + thld_pharos "Вот именно из-за того, что ты не знаешь ответ на этот вопрос, ты мне и нравишься, Пацифист. Надеюсь, это в тебе никогда не изменится." + thld_pharos "Садист как зверь, впервые отведавший человечину. После первой жертвы в них просыпается неутолимая жажда силы, власти." + thld_pharos "Но силу не ощутишь, столкнувшись с равным оппонентом. Мало того, что старые Пионеры могут дать отпор, но многие из них к тому же смеются от боли и пыток. В таких боях не найти страха и отчаяния, которые садисты так ищут." + thld_pharos "Для них новички — наркотик. И чем дальше, тем большая доза им нужна." + thld_pharos "Таких нужно останавливать самыми жёсткими мерами. Если они уже подсели на боль, то понимают они только её. Никаких компромиссов с садистами, Пацифист." thld_pharos "Понимаешь меня?" - thld_narrator "В его голосе чувствовалась решимость." + thld_narrator "В его голосе чувствовалась решимость." thld_me "Ты тоже был жертвой такого садиста?" thld_narrator "Маяк оглянулся на меня через плечо, смерил долгим и тяжёлым взглядом." thld_pharos "Тогда не было Искателей. {w}Некому было его остановить." @@ -1502,9 +1500,9 @@ label thld_scenario: thld_narrator "Я, сглотнув слюну, кивнул." thld_pharos "Отлично." thld_narrator "Когда Пионер приблизился к библиотеке, Маяк спрыгнул с крыши вниз." - thld_mad "Ты!" + thld_butcher "Ты!" thld_narrator "За Маяком спрыгнул я." - thld_mad "{b}ТЫ!{/b}" + thld_butcher "{b}ТЫ!{/b}" thld_narrator "Вена на лбу Мясника вспучилась от злости." thld_narrator "В руках садиста был нож, вымазанный кровью. {w}Разных оттенков." thld_narrator "Ждал кого-то еще?" @@ -1612,7 +1610,7 @@ label thld_scenario: thld_pharos "Что ты видел?" thld_narrator "Видимо, моя ошарашенность отразилась на лице." thld_me "Я видел... Город." - thld_narrator "Я был смятён. Не знал что думать даже приблизительно." + thld_narrator "Я был смятён. Не знал что думать даже приблизительно." thld_me "Мне нужно это обдумать. Переосмыслить то, что я сейчас увидел." thld_preacher "Не будем тебя задерживать." thld_preacher "Нам тоже пора идти. Зайди к нам как-нибудь еще раз." @@ -1631,4 +1629,4 @@ label thld_scenario: thld_narrator "И нырнул в люк." # Здесь, 10.04.2025 Андрей был в который раз повержен скилами непревзойденного и неповторимого, прекрасного и харизматичного вашего покорного слуги. Ибо Андрей, да приймет бог его скромную душу, был всецело уверен, что в старом лагере вместо люка была дырка в полу. Аминь $ renpy.pause(1, hard=True) $ thld_set_dynamic_cursor("main_menu") - $ MainMenu(confirm=False)() \ No newline at end of file + $ MainMenu(confirm=False)() diff --git a/code/scenario/main.rpyc b/code/scenario/main.rpyc index de229ce..d4fa77a 100644 Binary files a/code/scenario/main.rpyc and b/code/scenario/main.rpyc differ diff --git a/code/screens/background_gallery.rpy b/code/screens/background_gallery.rpy index 0255d2a..7bfb67a 100644 --- a/code/screens/background_gallery.rpy +++ b/code/screens/background_gallery.rpy @@ -2,7 +2,7 @@ init python: thld_gallery = Gallery() thld_gallery_page = 0 thld_gallery.transition = fade - thld_gallery.locked_button = thld_gui_path + "save_load/main_menu/thumbnail_idle.png" + thld_gallery.locked_button = THLD_GUI_PATH + "save_load/main_menu/thumbnail_idle.png" thld_gallery.navigation = False thld_rows = 4 @@ -11,7 +11,7 @@ init python: def thld_gallery_page_counter(n, k): l = float(n) / float(k) - + if l - int(l) > 0: return int(l) + 1 @@ -85,7 +85,7 @@ screen thld_background_gallery(): (8, 8), im.Alpha(_thld_img_scaled, 0.9), (0, 0), - im.Image(thld_gui_path + "save_load/main_menu/thumbnail_idle.png") + im.Image(THLD_GUI_PATH + "save_load/main_menu/thumbnail_idle.png") ) $ thld_imgh = im.Composite( @@ -93,7 +93,7 @@ screen thld_background_gallery(): (8, 8), _thld_img_scaled, (0, 0), - im.Image(thld_gui_path + "save_load/main_menu/thumbnail_hover.png") + im.Image(THLD_GUI_PATH + "save_load/main_menu/thumbnail_hover.png") ) add thld_gallery.make_button( @@ -117,20 +117,20 @@ screen thld_background_gallery(): if thld_gallery_page != 0: imagebutton: - auto thld_gui_path + "misc/gallery_previous_%s.png" - yalign 0.5 - xalign 0.04 + auto THLD_GUI_PATH + "misc/gallery_previous_%s.png" + yalign 0.5 + xalign 0.04 action [ SetVariable("thld_gallery_page", thld_gallery_page - 1), ShowMenu("thld_background_gallery") ] if thld_gallery_page != int(thld_gallery_page_counter(thld_len_table, thld_cells)) - 1: - imagebutton: - auto thld_gui_path + "misc/gallery_next_%s.png" - yalign 0.5 - xalign 0.96 + imagebutton: + auto THLD_GUI_PATH + "misc/gallery_next_%s.png" + yalign 0.5 + xalign 0.96 action [ SetVariable("thld_gallery_page", thld_next_page), ShowMenu("thld_background_gallery") - ] \ No newline at end of file + ] diff --git a/code/screens/background_gallery.rpyc b/code/screens/background_gallery.rpyc index 2c8b77f..af4fb3e 100644 Binary files a/code/screens/background_gallery.rpyc and b/code/screens/background_gallery.rpyc differ diff --git a/code/screens/in_game.rpy b/code/screens/in_game.rpy new file mode 100644 index 0000000..30b45a1 --- /dev/null +++ b/code/screens/in_game.rpy @@ -0,0 +1,863 @@ +screen thld_preferences(): + tag menu + modal True + + $ thld_bar_null = Frame((THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/bar_null.png"), 36, 36) + $ thld_bar_full = Frame((THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/bar_full.png"), 36, 36) + + window: + background THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/preferences_bg.jpg" + + text "Настройки": + style "thld_settings_link" + xalign 0.5 + yalign 0.08 + color "#ffffff" + + textbutton "Назад": + style "thld_log_button" + text_style "thld_settings_link" + xalign 0.015 + yalign 0.92 + action Return() + + side "c b r": + area (0.25, 0.23, 0.51, 0.71) + viewport id "preferences": + mousewheel True + scrollbars None + + has grid 1 16 xfill True spacing 15 + + text "Режим экрана": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + grid 2 1 xfill True: + hbox xalign 0.5: + if _preferences.fullscreen: + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Во весь экран": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action Preference("display", "fullscreen") + + hbox xalign 0.5: + if not _preferences.fullscreen: + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "В окне": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action Preference("display", "window") + + text "Пропускать": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + grid 2 1 xfill True: + hbox xalign 0.5: + if _preferences.skip_unseen: + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Всё": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action Preference("skip", "all") + + hbox xalign 0.5: + if not _preferences.skip_unseen: + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Виденное ранее": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action Preference("skip", "seen") + + text "Громкость": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + grid 2 1 xfill True: + textbutton "Музыка": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action NullAction() + xpos 0.1 + + bar: + value Preference("music volume") + left_bar thld_bar_full + right_bar thld_bar_null + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + hover_thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + xmaximum 1.35 + ymaximum 36 + xpos -0.55 + + grid 2 1 xfill True: + textbutton "Звуки": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action NullAction() + xpos 0.1 + + bar: + value Preference("sound volume") + left_bar thld_bar_full + right_bar thld_bar_null + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + hover_thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + xmaximum 1.35 + ymaximum 36 + xpos -0.55 + + grid 2 1 xfill True: + textbutton "Эмбиент": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action NullAction() + xpos 0.1 + + bar: + value Preference("voice volume") + left_bar thld_bar_full + right_bar thld_bar_null + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + hover_thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + xmaximum 1.35 + ymaximum 36 + xpos -0.55 + + text "Скорость текста": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + bar: + value Preference("text speed") + left_bar thld_bar_full + right_bar thld_bar_null + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + hover_thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + xalign 0.5 + xmaximum 0.8 + ymaximum 36 + + text "Автопереход": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + grid 2 1 xfill True: + hbox xalign 0.5: + if _preferences.afm_time != 0: + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Включить": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action Preference("auto-forward after click", "enable") + + hbox xalign 0.5: + if _preferences.afm_time == 0: + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Выключить": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action [ + Preference("auto-forward time", 0), + Preference("auto-forward after click", "disable") + ] + + text "Время автоперехода": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + bar: + value Preference("auto-forward time") + left_bar thld_bar_full + right_bar thld_bar_null + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + hover_thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/htumb.png" + xalign 0.5 + xmaximum 0.8 + ymaximum 36 + + text "Размер шрифта": + style "thld_settings_header_" + persistent.timeofday + xalign 0.5 + + grid 2 1 xfill True: + hbox xalign 0.5: + if persistent.font_size == "small": + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Обычный": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action SetField(persistent, "font_size", "small") + + hbox xalign 0.5: + if not persistent.font_size == "small": + add THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/leaf.png": + ypos 0.12 + + else: + null width 22 + + textbutton "Крупный": + style "thld_log_button" + text_style "thld_settings_text_" + persistent.timeofday + action SetField(persistent, "font_size", "large") + + bar: + value XScrollValue("preferences") + left_bar "images/misc/none.png" + right_bar "images/misc/none.png" + thumb "images/misc/none.png" + hover_thumb "images/misc/none.png" + + vbar: + value YScrollValue("preferences") + bottom_bar "images/misc/none.png" + top_bar "images/misc/none.png" + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/vthumb.png" + thumb_offset -12 + +screen thld_save(): + tag menu + modal True + + window: + background THLD_GUI_PATH + "save_load/" + persistent.timeofday + "/load_bg.png" + + text "Сохранение": + style "thld_settings_link" + xalign 0.5 + yalign 0.08 + color "#ffffff" + + textbutton "Назад": + style "thld_log_button" + text_style "thld_settings_link" + xalign 0.015 + yalign 0.92 + action Return() + + textbutton "Сохранить": + style "thld_log_button" + text_style "thld_settings_link" + yalign 0.92 + xalign 0.5 + action [ + ThldFunctionCallback(thld_on_save_callback, selected_slot), + FileSave(selected_slot) + ] + + textbutton "Удалить": + style "thld_log_button" + text_style "thld_settings_link" + yalign 0.92 + xalign 0.97 + action FileDelete(selected_slot) + + grid 4 3: + xpos 0.108 + ypos 0.2 + xmaximum 0.81 + ymaximum 0.65 + transpose False + xfill True + yfill True + + for i in range(1, 13): + fixed: + add FileScreenshot(i): + xpos 10 + ypos 10 + + button: + action SetVariable("selected_slot", i) + xfill False + yfill False + style "thld_save_load_button_" + persistent.timeofday + has fixed + text "%s." % i + FileTime(i, format=THLD_SAVE_LOAD_FORMAT, empty=THLD_SAVE_LOAD_EMPTY_LABEL) + "\n" + FileSaveName(i): + style "file_picker_text" + xpos 15 + ypos 15 + +screen thld_load(): + tag menu + modal True + + window: + background THLD_GUI_PATH + "save_load/" + persistent.timeofday + "/load_bg.png" + + text "Загрузка": + style "thld_settings_link" + xalign 0.5 + yalign 0.08 + color "#ffffff" + + textbutton "Назад": + style "thld_log_button" + text_style "thld_settings_link" + xalign 0.015 + yalign 0.92 + action Return() + + textbutton "Загрузить": + style "thld_log_button" + text_style "thld_settings_link" + yalign 0.92 + xalign 0.5 + action [ + ThldFunctionCallback(thld_on_load_callback, selected_slot), + FileLoad(selected_slot, confirm=False) + ] + + textbutton "Удалить": + style "thld_log_button" + text_style "thld_settings_link" + yalign 0.92 + xalign 0.97 + action FileDelete(selected_slot) + + grid 4 3: + xpos 0.108 + ypos 0.2 + xmaximum 0.81 + ymaximum 0.65 + transpose False + xfill True + yfill True + + for i in range(1, 13): + fixed: + add FileScreenshot(i): + xpos 10 + ypos 10 + + button: + action SetVariable("selected_slot", i) + xfill False + yfill False + style "thld_save_load_button_" + persistent.timeofday + has fixed + text "%s." % i + FileTime(i, format=" %d.%m.%y, %H:%M", empty=" Пусто") + "\n" +FileSaveName(i): + style "file_picker_text" + xpos 15 + ypos 15 + +screen thld_say(what, who): + window: + background None + id "window" + + if persistent.font_size == "large": + add THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/dialogue_box_large.png": + xpos 174 + ypos 866 + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/hide_%s.png" + xpos 1508 + ypos 883 + action HideInterface() + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/save_%s.png" + xpos 1567 + ypos 883 + action ShowMenu("thld_save") + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/menu_%s.png" + xpos 1625 + ypos 883 + action ShowMenu("thld_game_menu_selector") + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/load_%s.png" + xpos 1682 + ypos 883 + action ShowMenu("thld_load") + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/backward_%s.png" + xpos 38 + ypos 924 + action ShowMenu("thld_text_history") + + if not config.skipping: + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/forward_%s.png" + xpos 1768 + ypos 924 + action Skip() + + else: + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/fast_forward_%s.png" + xpos 1768 + ypos 924 + action Skip() + + text what: + id "what" + xpos 194 + ypos 914 + xmaximum 1541 + size 30 + line_spacing 1 + + if who: + text who: + id "who" + xpos 194 + ypos 877 + size 35 + line_spacing 1 + + elif persistent.font_size == "small": + add THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/dialogue_box.png": + xpos 174 + ypos 916 + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/hide_%s.png" + xpos 1508 + ypos 933 + action HideInterface() + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday+"/save_%s.png" + xpos 1567 + ypos 933 + action ShowMenu("thld_save") + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday+"/menu_%s.png" + xpos 1625 + ypos 933 + action ShowMenu("thld_game_menu_selector") + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday+"/load_%s.png" + xpos 1682 + ypos 933 + action ShowMenu("thld_load") + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/backward_%s.png" + xpos 38 + ypos 949 + action ShowMenu("thld_text_history") + + if not config.skipping: + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/forward_%s.png" + xpos 1768 + ypos 949 + action Skip() + + else: + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/fast_forward_%s.png" + xpos 1768 + ypos 949 + action Skip() + + text what: + id "what" + xpos 194 + ypos 964 + xmaximum 1541 + size 25 + line_spacing 2 + + if who: + text who: + id "who" + xpos 194 + ypos 931 + size 28 + line_spacing 2 + +screen thld_nvl(items, dialogue): + window: + background Frame((THLD_GUI_PATH + "choice/" + persistent.timeofday + "/choice_box.png"), 50, 50) + xfill True + yfill True + yalign 0.5 + left_padding 175 + right_padding 175 + bottom_padding 150 + top_padding 150 + has vbox + + for who, what, who_id, what_id, window_id in dialogue: + window: + id window_id + has hbox: + spacing 10 + + if persistent.font_size == "large": + if who is not None: + text who: + id who_id + size 35 + + text what: + id what_id + size 35 + + elif persistent.font_size == "small": + if who is not None: + text who: + id who_id + size 28 + + text what: + id what_id + size 28 + + if items: + vbox: + id "menu" + + for caption, action, chosen in items: + if action: + button: + style "nvl_menu_choice_button" + action action + text caption: + style "nvl_menu_choice" + + else: + text caption: + style "nvl_dialogue" + + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/backward_%s.png" + xpos 38 + ypos 924 + action ShowMenu("thld_text_history") + + if not config.skipping: + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/forward_%s.png" + xpos 1768 + ypos 949 + action Skip() + + else: + imagebutton: + auto THLD_GUI_PATH + "dialogue_box/" + persistent.timeofday + "/fast_forward_%s.png" + xpos 1768 + ypos 949 + action Skip() + +screen thld_game_menu_selector(): + tag menu + modal True + + if thld_lock_quick_menu: + timer 0.01 action Return() + + else: + button: + style "blank_button" + xpos 0 + ypos 0 + xfill True + yfill True + action Return() + + add THLD_GUI_PATH + "quick_menu/" + persistent.timeofday + "/quick_menu_ground.png": + xalign 0.5 + yalign 0.5 + + imagemap: + auto THLD_GUI_PATH + "quick_menu/" + persistent.timeofday + "/quick_menu_%s.png" xalign 0.5 yalign 0.5 + + hotspot(0, 83, 660, 65): + focus_mask None + clicked [ + Function(thld_set_dynamic_cursor, "main_menu"), + MainMenu(confirm=False) + ] + + hotspot(0, 148, 660, 65): + focus_mask None + clicked ShowMenu("thld_save") + + hotspot(0, 213, 660, 65): + focus_mask None + clicked ShowMenu("thld_load") + + hotspot(0, 278, 660, 65): + focus_mask None + clicked ShowMenu("thld_preferences") + + hotspot(0, 343, 660, 65): + focus_mask None + action [ + Function(thld_screens_diact), + ShowMenu("main_menu") + ] + +screen thld_quit(): + tag menu + modal True + + if thld_lock_quit: + timer 0.01 action Return() + + elif thld_lock_quit_game_main_menu_var: + timer 0.01 action Quit(confirm=False) + + else: + add THLD_GUI_PATH + "save_load/" + persistent.timeofday + "/load_bg.png" + + text "Вы действительно \nхотите выйти?": + font thld_link_font + size 100 + text_align 0.5 + xalign 0.5 + yalign 0.33 + antialias True + kerning 2 + + textbutton "Да": + style "thld_settings_header_quit" + text_style "thld_settings_header_quit" + xpos 493 + ypos 600 + action [ + Function(thld_screens_diact), + ShowMenu("main_menu") + ] + + textbutton "Нет": + style "thld_settings_header_quit" + text_style "thld_settings_header_quit" + xpos 1230 + ypos 600 + action [ + Hide("thld_quit"), + Return() + ] + +screen thld_yesno_prompt(yes_action, message, no_action): + modal True + + add THLD_GUI_PATH + "yes_no/" + persistent.timeofday + "/yes_no.png" + + text _(message): + font thld_header_font + text_align 0.5 + yalign 0.46 + xalign 0.5 + color THLD_YESNO_PROMPT_MESSAGE_COLOR[persistent.timeofday] + size 30 + + textbutton "Да": + text_size 60 + style "thld_log_button" + text_style "thld_settings_link" + yalign 0.65 + xalign 0.3 + action yes_action + + textbutton "Нет": + text_size 60 + style "thld_log_button" + text_style "thld_settings_link" + yalign 0.65 + xalign 0.7 + action no_action + +screen thld_text_history(): + tag menu + + predict False + + $ xmax = 1600 + $ xposition = 100 + + $ history_text_size = 21 + $ history_name_size = 22 + + if persistent.font_size == "small": + $ history_text_size = 28 + $ history_name_size = 29 + + elif persistent.font_size == "large": + $ history_text_size = 36 + $ history_name_size = 37 + + button: + style "blank_button" + xpos 0 + ypos 0 + xfill True + yfill True + action Return() + + window: + background Frame(THLD_GUI_PATH + "choice/" + persistent.timeofday + "/choice_box.png") + left_padding 75 + right_padding 75 + bottom_padding 120 + top_padding 120 + + viewport id "thld_text_history_screen": + draggable True + mousewheel True + scrollbars None + yinitial 1.0 + + has vbox + + for h in _history_list: + if h.who: + text h.who: + ypos 0 + xpos xposition + xalign 0.0 + size history_name_size + + if "color" in h.who_args: + color h.who_args["color"] + + textbutton h.what: + text_size history_text_size + style "thld_log_button" + text_style "thld_text_history" + xpos 100 + xmaximum xmax + text_hover_color THLD_TEXT_HISTORY_WHAT_COLOR_HOVER[persistent.timeofday] + action RollbackToIdentifier(h.rollback_identifier) + + vbar: + value YScrollValue("thld_text_history_screen") + bottom_bar "images/misc/none.png" + top_bar "images/misc/none.png" + thumb THLD_GUI_PATH + "preferences/" + persistent.timeofday + "/vthumb.png" + xoffset 1700 + +screen thld_choice(items): + modal True + + window: + background Frame((THLD_GUI_PATH + "choice/" + persistent.timeofday + "/choice_box.png"), 50, 50) + xfill True + yalign 0.5 + left_padding 75 + right_padding 75 + bottom_padding 50 + top_padding 50 + + has vbox xalign 0.5 + + for caption, action, chosen in items: + if action and caption: + button background None: + xalign 0.5 + action action + + $ action_color = THLD_CHOICE_COLORS_SELECTED[persistent.timeofday] if caption in persistent.choices else THLD_CHOICE_COLORS[persistent.timeofday] + + text caption: + font header_font + size 37 + hover_size 37 + color action_color + hover_color THLD_CHOICE_COLORS_HOVER[persistent.timeofday] + xcenter 0.5 + text_align 0.5 + + else: + text caption: + font header_font + size 60 + color THLD_CHOICE_COLORS[persistent.timeofday] + text_align 0.5 + xcenter 0.5 + +screen thld_help(): + tag menu + modal True + + add THLD_GUI_PATH + "save_load/" + persistent.timeofday + "/load_bg.png" + + text "Информация": + font thld_link_font + size 70 + xalign 0.5 + ypos 33 + antialias True + kerning 2 + + textbutton "Группа VK": + style "thld_log_button" + text_style "thld_settings_header_quit" + xalign 0.5 + ypos 350 + action OpenURL("https://vk.com/public176281709") + + textbutton "Под холодным небом": + style "thld_log_button" + text_style "thld_settings_header_quit" + xalign 0.5 + ypos 500 + action OpenURL("https://steamcommunity.com/sharedfiles/filedetails/?id=2262867309") + + textbutton "Сон": + style "thld_log_button" + text_style "thld_settings_header_quit" + xalign 0.5 + ypos 650 + action OpenURL("https://steamcommunity.com/sharedfiles/filedetails/?id=2663197411") + + add "thld_logowhite_hover": + xpos 1520 + ypos 890 + + textbutton "Назад": + style "thld_log_button" + text_style "thld_settings_link" + xalign 0.015 + yalign 0.92 + action Return() diff --git a/code/screens/in_game.rpyc b/code/screens/in_game.rpyc new file mode 100644 index 0000000..a176ce5 Binary files /dev/null and b/code/screens/in_game.rpyc differ diff --git a/code/screens/main_menu.rpy b/code/screens/main_menu.rpy index d8dde18..7722043 100644 --- a/code/screens/main_menu.rpy +++ b/code/screens/main_menu.rpy @@ -4,7 +4,7 @@ screen thld_main_menu(): key "game_menu": action NullAction() - + key "K_F1": action NullAction() @@ -30,7 +30,7 @@ screen thld_main_menu(): imagebutton: auto "thld_load_button_%s" - xalign 0.5 + xalign 0.5 yalign 0.475 hovered Play("sound_loop", thld_glitch, relative_volume=0.1) unhovered Stop("sound_loop") @@ -42,7 +42,7 @@ screen thld_main_menu(): imagebutton: auto "thld_extra_button_%s" - xalign 0.5 + xalign 0.5 yalign 0.6 hovered Play("sound_loop", thld_glitch, relative_volume=0.1) unhovered Stop("sound_loop") @@ -66,7 +66,7 @@ screen thld_main_menu(): imagebutton: auto "thld_exit_button_%s" - xalign 0.5 + xalign 0.5 yalign 0.85 hovered Play("sound_loop", thld_glitch, relative_volume=0.1) unhovered Stop("sound_loop") @@ -86,13 +86,13 @@ screen thld_main_menu(): screen thld_load_main_menu(): modal True - + key "K_F1": action NullAction() - + if not thld_main_menu_var: add "thld_main_menu_options_frame" xalign 0.5 yalign 0.5 - + text "Загрузка": font thld_main_menu_font size 90 @@ -126,7 +126,7 @@ screen thld_load_main_menu(): ThldFunctionCallback(thld_on_load_callback, selected_slot), FileLoad(selected_slot, confirm=False) ] - + imagebutton: auto "thld_delete_button_%s" xalign 0.9 @@ -152,7 +152,7 @@ screen thld_load_main_menu(): size 60 xalign 0.9 ypos 970 - + grid 4 3: xpos 0.11 ypos 0.2 @@ -236,13 +236,13 @@ screen thld_extra(): screen thld_preferences_main_menu(): modal True - + key "K_F1": action NullAction() - + if not thld_main_menu_var: add "thld_main_menu_options_frame" xalign 0.5 yalign 0.5 - + text "Настройки": font thld_main_menu_font size 90 @@ -256,14 +256,14 @@ screen thld_preferences_main_menu(): size 60 xalign 0.5 ypos 200 - + textbutton "Во весь экран": style "thld_button_none" text_style "thld_settings_header_main_menu_preferences" xalign 0.15 ypos 280 action Preference("display", "fullscreen") - + textbutton "В окне": style "thld_button_none" text_style "thld_settings_header_main_menu_preferences" @@ -283,21 +283,21 @@ screen thld_preferences_main_menu(): size 60 xalign 0.5 ypos 360 - + textbutton "Обычный": style "thld_button_none" text_style "thld_settings_header_main_menu_preferences" xalign 0.15 ypos 440 action SetField(persistent, "font_size", "small") - + textbutton "Крупный": style "thld_button_none" text_style "thld_settings_header_main_menu_preferences" xalign 0.85 ypos 440 action SetField(persistent, "font_size", "large") - + text "Пропускать": font thld_main_menu_font size 60 @@ -318,7 +318,7 @@ screen thld_preferences_main_menu(): xalign 0.85 ypos 600 action Preference("skip", "all") - + if _preferences.skip_unseen: textbutton "Виденное ранее": style "thld_button_none" @@ -332,8 +332,8 @@ screen thld_preferences_main_menu(): text_style "thld_settings_header_main_menu_preferences" xalign 0.85 ypos 600 - action Preference("skip", "all") - + action Preference("skip", "all") + text "Громкость музыки": font thld_main_menu_font size 60 @@ -342,9 +342,9 @@ screen thld_preferences_main_menu(): bar: value Preference("music volume") - right_bar thld_gui_path + "preferences/main_menu/bar_full.png" + right_bar THLD_GUI_PATH + "preferences/main_menu/bar_full.png" left_bar "thld_main_menu_bar_null_glitched" - thumb thld_gui_path + "misc/main_menu_thumb.png" + thumb THLD_GUI_PATH + "misc/main_menu_thumb.png" xpos 960 ypos 813 xmaximum 400 @@ -387,7 +387,12 @@ screen thld_quit_main_menu(): ypos 600 hovered Play("sound_loop", thld_glitch, relative_volume=0.1) unhovered Stop("sound_loop") - action [Stop("sound_loop"), Hide("thld_quit_main_menu"), Function(thld_screens_diact), ShowMenu("main_menu")] + action [ + Stop("sound_loop"), + Hide("thld_quit_main_menu"), + Function(thld_screens_diact), + ShowMenu("main_menu") + ] imagebutton: auto "thld_no_button_%s" @@ -395,4 +400,9 @@ screen thld_quit_main_menu(): ypos 600 hovered Play("sound_loop", thld_glitch, relative_volume=0.1) unhovered Stop("sound_loop") - action [Stop("sound_loop"), SetVariable("thld_main_menu_var", True), Hide("thld_quit_main_menu"), ShowMenu("thld_main_menu")] \ No newline at end of file + action [ + Stop("sound_loop"), + SetVariable("thld_main_menu_var", True), + Hide("thld_quit_main_menu"), + ShowMenu("thld_main_menu") + ] diff --git a/code/screens/main_menu.rpyc b/code/screens/main_menu.rpyc index 1603f43..46a343b 100644 Binary files a/code/screens/main_menu.rpyc and b/code/screens/main_menu.rpyc differ diff --git a/code/screens/music_room.rpy b/code/screens/music_room.rpy index 870a036..3a6cff8 100644 --- a/code/screens/music_room.rpy +++ b/code/screens/music_room.rpy @@ -14,7 +14,7 @@ screen thld_music_room(): if not thld_main_menu_var: add "thld_main_menu_options_frame" xalign 0.5 yalign 0.5 - add thld_gui_path + "main_menu/music_room_frame.png" + add THLD_GUI_PATH + "main_menu/music_room_frame.png" frame: background None @@ -27,10 +27,12 @@ screen thld_music_room(): draggable True mousewheel True scrollbars None - + grid 1 len(thld_music_box): for name, track in sorted(thld_music_box.iteritems()): - textbutton name: + $ thld_music_room_label_text = name if thld_music_room.is_unlocked(track) else "???" + + textbutton thld_music_room_label_text: style "thld_button_none" text_style "music_link" xalign 0.5 @@ -39,7 +41,7 @@ screen thld_music_room(): vbar: value YScrollValue("thld_music_box") bottom_bar "thld_main_menu_vbar_null_glitched" - top_bar thld_gui_path + "main_menu/vbar_full.png" + top_bar THLD_GUI_PATH + "main_menu/vbar_full.png" thumb None xmaximum 52 @@ -63,4 +65,4 @@ screen thld_music_room(): ShowMenu("thld_extra") ] - on "replaced" action Play("music", thld_reef_inevitability) \ No newline at end of file + on "replaced" action Play("music", thld_reef_inevitability) diff --git a/code/screens/music_room.rpyc b/code/screens/music_room.rpyc index 5fa35c6..8bfbcf2 100644 Binary files a/code/screens/music_room.rpyc and b/code/screens/music_room.rpyc differ diff --git a/code/screens/screens.rpy b/code/screens/screens.rpy deleted file mode 100644 index 1292611..0000000 --- a/code/screens/screens.rpy +++ /dev/null @@ -1,808 +0,0 @@ -screen thld_preferences(): - tag menu - modal True - - $ thld_bar_null = Frame((thld_gui_path + "preferences/" + persistent.timeofday + "/bar_null.png"), 36, 36) - $ thld_bar_full = Frame((thld_gui_path + "preferences/" + persistent.timeofday + "/bar_full.png"), 36, 36) - - window background thld_gui_path + "preferences/" + persistent.timeofday + "/preferences_bg.jpg": - text "Настройки": - style "thld_settings_link" - xalign 0.5 - yalign 0.08 - color "#ffffff" - - textbutton "Назад": - style "thld_log_button" - text_style "thld_settings_link" - xalign 0.015 - yalign 0.92 - action Return() - - side "c b r": - area (0.25, 0.23, 0.51, 0.71) - viewport id "preferences": - mousewheel True - scrollbars None - - has grid 1 16 xfill True spacing 15 - - text "Режим экрана": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - grid 2 1 xfill True: - hbox xalign 0.5: - if _preferences.fullscreen: - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Во весь экран": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action Preference("display", "fullscreen") - - hbox xalign 0.5: - if not _preferences.fullscreen: - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "В окне": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action Preference("display", "window") - - text "Пропускать": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - grid 2 1 xfill True: - hbox xalign 0.5: - if _preferences.skip_unseen: - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Всё": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action Preference("skip", "all") - - hbox xalign 0.5: - if not _preferences.skip_unseen: - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Виденное ранее": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action Preference("skip", "seen") - - text "Громкость": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - grid 2 1 xfill True: - textbutton "Музыка": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action NullAction() - xpos 0.1 - - bar: - value Preference("music volume") - left_bar thld_bar_full - right_bar thld_bar_null - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - hover_thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - xmaximum 1.35 - ymaximum 36 - xpos -0.55 - - grid 2 1 xfill True: - textbutton "Звуки": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action NullAction() - xpos 0.1 - - bar: - value Preference("sound volume") - left_bar thld_bar_full - right_bar thld_bar_null - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - hover_thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - xmaximum 1.35 - ymaximum 36 - xpos -0.55 - - grid 2 1 xfill True: - textbutton "Эмбиент": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action NullAction() - xpos 0.1 - - bar: - value Preference("voice volume") - left_bar thld_bar_full - right_bar thld_bar_null - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - hover_thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - xmaximum 1.35 - ymaximum 36 - xpos -0.55 - - text "Скорость текста": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - bar: - value Preference("text speed") - left_bar thld_bar_full - right_bar thld_bar_null - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - hover_thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - xalign 0.5 - xmaximum 0.8 - ymaximum 36 - - text "Автопереход": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - grid 2 1 xfill True: - hbox xalign 0.5: - if _preferences.afm_time != 0: - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Включить": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action Preference("auto-forward after click", "enable") - - hbox xalign 0.5: - if _preferences.afm_time == 0: - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Выключить": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action (Preference("auto-forward time", 0), Preference("auto-forward after click", "disable")) - - text "Время автоперехода": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - bar: - value Preference("auto-forward time") - left_bar thld_bar_full - right_bar thld_bar_null - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - hover_thumb thld_gui_path + "preferences/" + persistent.timeofday + "/htumb.png" - xalign 0.5 - xmaximum 0.8 - ymaximum 36 - - text "Размер шрифта": - style "thld_settings_header_" + persistent.timeofday - xalign 0.5 - - grid 2 1 xfill True: - hbox xalign 0.5: - if persistent.font_size == "small": - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Обычный": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action SetField(persistent, "font_size", "small") - - hbox xalign 0.5: - if not persistent.font_size == "small": - add thld_gui_path + "preferences/" + persistent.timeofday + "/leaf.png" ypos 0.12 - - else: - null width 22 - - textbutton "Крупный": - style "thld_log_button" - text_style "thld_settings_text_" + persistent.timeofday - action SetField(persistent, "font_size", "large") - - bar: - value XScrollValue("preferences") - left_bar "images/misc/none.png" - right_bar "images/misc/none.png" - thumb "images/misc/none.png" - hover_thumb "images/misc/none.png" - - vbar: - value YScrollValue("preferences") - bottom_bar "images/misc/none.png" - top_bar "images/misc/none.png" - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/vthumb.png" - thumb_offset -12 - -screen thld_save(): - tag menu - modal True - - window background thld_gui_path + "save_load/" + persistent.timeofday + "/load_bg.png": - text "Сохранение": - style "thld_settings_link" - xalign 0.5 - yalign 0.08 - color "#ffffff" - - textbutton "Назад": - style "thld_log_button" - text_style "thld_settings_link" - xalign 0.015 - yalign 0.92 - action Return() - - textbutton "Сохранить": - style "thld_log_button" - text_style "thld_settings_link" - yalign 0.92 - xalign 0.5 - action [ - ThldFunctionCallback(thld_on_save_callback, selected_slot), - FileSave(selected_slot) - ] - - textbutton "Удалить": - style "thld_log_button" - text_style "thld_settings_link" - yalign 0.92 - xalign 0.97 - action FileDelete(selected_slot) - - grid 4 3 xpos 0.108 ypos 0.2 xmaximum 0.81 ymaximum 0.65: - transpose False - xfill True - yfill True - - for i in range(1, 13): - fixed: - add FileScreenshot(i) xpos 10 ypos 10 - - button: - action SetVariable("selected_slot", i) - xfill False - yfill False - style "thld_save_load_button_" + persistent.timeofday - has fixed - text ("%s." % i + FileTime(i, format=" %d.%m.%y, %H:%M", empty=" Пусто") + "\n" + FileSaveName(i)) style "file_picker_text" xpos 15 ypos 15 - -screen thld_load(): - tag menu - modal True - - window background thld_gui_path + "save_load/" + persistent.timeofday + "/load_bg.png": - text "Загрузка": - style "thld_settings_link" - xalign 0.5 - yalign 0.08 - color "#ffffff" - - textbutton "Назад": - style "thld_log_button" - text_style "thld_settings_link" - xalign 0.015 - yalign 0.92 - action Return() - - textbutton "Загрузить": - style "thld_log_button" - text_style "thld_settings_link" - yalign 0.92 - xalign 0.5 - action [ - ThldFunctionCallback(thld_on_load_callback, selected_slot), - FileLoad(selected_slot, confirm=False) - ] - - textbutton "Удалить": - style "thld_log_button" - text_style "thld_settings_link" - yalign 0.92 - xalign 0.97 - action FileDelete(selected_slot) - - grid 4 3 xpos 0.108 ypos 0.2 xmaximum 0.81 ymaximum 0.65: - transpose False - xfill True - yfill True - - for i in range(1, 13): - fixed: - add FileScreenshot(i) xpos 10 ypos 10 - - button: - action SetVariable("selected_slot", i) - xfill False - yfill False - style "thld_save_load_button_" + persistent.timeofday - has fixed - text ("%s." % i + FileTime(i, format=" %d.%m.%y, %H:%M", empty=" Пусто") + "\n" +FileSaveName(i)) style "file_picker_text" xpos 15 ypos 15 - -screen thld_say(what, who): - window background None id "window": - if persistent.font_size == "large": - add thld_gui_path + "dialogue_box/" + persistent.timeofday + "/dialogue_box_large.png" xpos 174 ypos 866 - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/hide_%s.png" - xpos 1508 - ypos 883 - action HideInterface() - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/save_%s.png" - xpos 1567 - ypos 883 - action ShowMenu("thld_save") - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/menu_%s.png" - xpos 1625 - ypos 883 - action ShowMenu("thld_game_menu_selector") - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/load_%s.png" - xpos 1682 - ypos 883 - action ShowMenu("thld_load") - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/backward_%s.png" - xpos 38 - ypos 924 - action ShowMenu("thld_text_history") - - if not config.skipping: - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/forward_%s.png" - xpos 1768 - ypos 924 - action Skip() - - else: - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/fast_forward_%s.png" - xpos 1768 - ypos 924 - action Skip() - - text what: - id "what" - xpos 194 - ypos 914 - xmaximum 1541 - size 30 - line_spacing 1 - - if who: - text who: - id "who" - xpos 194 - ypos 877 - size 35 - line_spacing 1 - - elif persistent.font_size == "small": - add thld_gui_path + "dialogue_box/" + persistent.timeofday + "/dialogue_box.png" xpos 174 ypos 916 - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/hide_%s.png" - xpos 1508 - ypos 933 - action HideInterface() - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday+"/save_%s.png" - xpos 1567 - ypos 933 - action ShowMenu("thld_save") - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday+"/menu_%s.png" - xpos 1625 - ypos 933 - action ShowMenu("thld_game_menu_selector") - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday+"/load_%s.png" - xpos 1682 - ypos 933 - action ShowMenu("thld_load") - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/backward_%s.png" - xpos 38 - ypos 949 - action ShowMenu("thld_text_history") - - if not config.skipping: - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/forward_%s.png" - xpos 1768 - ypos 949 - action Skip() - - else: - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/fast_forward_%s.png" - xpos 1768 - ypos 949 - action Skip() - - text what: - id "what" - xpos 194 - ypos 964 - xmaximum 1541 - size 25 - line_spacing 2 - - if who: - text who: - id "who" - xpos 194 - ypos 931 - size 28 - line_spacing 2 - -screen thld_nvl(items, dialogue): - window background Frame((thld_gui_path + "choice/" + persistent.timeofday + "/choice_box.png"), 50, 50) xfill True yfill True yalign 0.5 left_padding 175 right_padding 175 bottom_padding 150 top_padding 150: - has vbox - - for who, what, who_id, what_id, window_id in dialogue: - window: - id window_id - has hbox: - spacing 10 - - if persistent.font_size == "large": - if who is not None: - text who: - id who_id - size 35 - - text what: - id what_id - size 35 - - elif persistent.font_size == "small": - if who is not None: - text who: - id who_id - size 28 - - text what: - id what_id - size 28 - - if items: - vbox: - id "menu" - - for caption, action, chosen in items: - if action: - button: - style "nvl_menu_choice_button" - action action - text caption style "nvl_menu_choice" - - else: - text caption style "nvl_dialogue" - - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/backward_%s.png" - xpos 38 - ypos 924 - action ShowMenu("thld_text_history") - - if not config.skipping: - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/forward_%s.png" - xpos 1768 - ypos 949 - action Skip() - - else: - imagebutton: - auto thld_gui_path + "dialogue_box/" + persistent.timeofday + "/fast_forward_%s.png" - xpos 1768 - ypos 949 - action Skip() - -screen thld_game_menu_selector(): - tag menu - modal True - - if thld_lock_quick_menu: - timer 0.01 action Return() - - else: - button style "blank_button" xpos 0 ypos 0 xfill True yfill True action Return() - - add thld_gui_path + "quick_menu/" + persistent.timeofday + "/quick_menu_ground.png" xalign 0.5 yalign 0.5 - - imagemap: - auto thld_gui_path + "quick_menu/" + persistent.timeofday + "/quick_menu_%s.png" xalign 0.5 yalign 0.5 - - hotspot (0, 83, 660, 65) focus_mask None clicked [Function(thld_set_dynamic_cursor, "main_menu"), MainMenu(confirm=False)] - - hotspot (0, 148, 660, 65) focus_mask None clicked ShowMenu("thld_save") - - hotspot (0, 213, 660, 65) focus_mask None clicked ShowMenu("thld_load") - - hotspot (0, 278, 660, 65) focus_mask None clicked ShowMenu("thld_preferences") - - hotspot (0, 343, 660, 65) focus_mask None action [Function(thld_screens_diact), ShowMenu("main_menu")] - -screen thld_quit(): - tag menu - modal True - - if thld_lock_quit: - timer 0.01 action Return() - - elif thld_lock_quit_game_main_menu_var: - timer 0.01 action Quit(confirm=False) - - else: - add thld_gui_path + "save_load/" + persistent.timeofday + "/load_bg.png" - - text "Вы действительно \nхотите выйти?": - font thld_link_font - size 100 - text_align 0.5 - xalign 0.5 - yalign 0.33 - antialias True - kerning 2 - - textbutton "Да": - style "thld_settings_header_quit" - text_style "thld_settings_header_quit" - xpos 493 - ypos 600 - action [ - Function(thld_screens_diact), - ShowMenu("main_menu") - ] - - textbutton "Нет": - style "thld_settings_header_quit" - text_style "thld_settings_header_quit" - xpos 1230 - ypos 600 - action [ - Hide("thld_quit"), - Return() - ] - -screen thld_yesno_prompt(yes_action, message, no_action): - modal True - - add thld_gui_path + "yes_no/" + persistent.timeofday + "/yes_no.png" - - text _(message): - font thld_header_font - text_align 0.5 - yalign 0.46 - xalign 0.5 - - if persistent.timeofday == "day": - color "#64483c" - - elif persistent.timeofday == "night": - color "#161d3d" - - elif persistent.timeofday == "prologue": - color "#008193" - - elif persistent.timeofday == "sunset": - color "#5a3525" - - size 30 - - textbutton "Да": - text_size 60 - style "thld_log_button" - text_style "thld_settings_link" - yalign 0.65 - xalign 0.3 - action yes_action - - textbutton "Нет": - text_size 60 - style "thld_log_button" - text_style "thld_settings_link" - yalign 0.65 - xalign 0.7 - action no_action - -screen thld_text_history(): - tag menu - - predict False - - $ xmax = 1600 - $ xposition = 100 - - $ history_text_size = 21 - $ history_name_size = 22 - - if persistent.font_size == "small": - $ history_text_size = 28 - $ history_name_size = 29 - - elif persistent.font_size == "large": - $ history_text_size = 36 - $ history_name_size = 37 - - button style "blank_button" xpos 0 ypos 0 xfill True yfill True action Return() - - window background Frame(thld_gui_path + "choice/" + persistent.timeofday + "/choice_box.png") left_padding 75 right_padding 75 bottom_padding 120 top_padding 120: - viewport id "thld_text_history_screen": - draggable True - mousewheel True - scrollbars None - yinitial 1.0 - - has vbox - - for h in _history_list: - if h.who: - text h.who: - ypos 0 - xpos xposition - xalign 0.0 - size history_name_size - - if "color" in h.who_args: - color h.who_args["color"] - - textbutton h.what: - text_size history_text_size - style "thld_log_button" - text_style "thld_text_history" - xpos 100 - xmaximum xmax - - if persistent.timeofday == "day": - text_hover_color "#40e138" - - elif persistent.timeofday == "night": - text_hover_color "#008193" - - elif persistent.timeofday == "prologue": - text_hover_color "#00c6ff" - - elif persistent.timeofday == "sunset": - text_hover_color "#636840" - - action RollbackToIdentifier(h.rollback_identifier) - - vbar: - value YScrollValue("thld_text_history_screen") - bottom_bar "images/misc/none.png" - top_bar "images/misc/none.png" - thumb thld_gui_path + "preferences/" + persistent.timeofday + "/vthumb.png" - xoffset 1700 - -screen thld_choice(items): - modal True - - $ thld_choice_colors = { - "day": "#466123", - "night": "#145644", - "sunset": "#69652f", - "prologue": "#496463" - } - - $ thld_choice_colors_hover = { - "day": "#9dcd55", - "night": "#3ccfa2", - "sunset": "#dcd168", - "prologue": "#98d8da" - } - - $ thld_choice_colors_selected = { - "day": "#2a3b15", - "night": "#0b3027", - "sunset": "#42401e", - "prologue": "#2d3d3d" - } - - window background Frame(("thld/images/gui/choice/" + persistent.timeofday + "/choice_box.png"), 50, 50) xfill True yalign 0.5 left_padding 75 right_padding 75 bottom_padding 50 top_padding 50: - has vbox xalign 0.5 - - for caption, action, chosen in items: - if action and caption: - button background None: - xalign 0.5 - action action - - if persistent.licensed: - if caption in persistent.choices and caption != "Налево" and caption != "Направо" and caption != "Go left" and caption != "Go right" and caption != "Ir a la izquierda" and caption != "Ir a la derecha": - text caption font header_font size 37 hover_size 37 color thld_choice_colors_selected[persistent.timeofday] hover_color thld_choice_colors_hover[persistent.timeofday] xcenter 0.5 text_align 0.5 - - else: - text caption font header_font size 37 hover_size 37 color thld_choice_colors[persistent.timeofday] hover_color thld_choice_colors_hover[persistent.timeofday] xcenter 0.5 text_align 0.5 - - else: - text caption font header_font size 37 hover_size 37 color thld_choice_colors[persistent.timeofday] hover_color thld_choice_colors_hover[persistent.timeofday] xalign 0.5 - - else: - if persistent.licensed: - text caption font header_font size 60 color thld_choice_colors[persistent.timeofday] text_align 0.5 xcenter 0.5 - - else: - text caption font header_font size 40 color thld_choice_colors[persistent.timeofday] xalign 0.5 text_align 0.5 xcenter 0.5 - -screen thld_help(): - tag menu - modal True - - add thld_gui_path + "save_load/" + persistent.timeofday + "/load_bg.png" - - text "Информация": - font thld_link_font - size 70 - xalign 0.5 - ypos 33 - antialias True - kerning 2 - - textbutton "Группа VK": - style "thld_log_button" - text_style "thld_settings_header_quit" - xalign 0.5 - ypos 350 - action OpenURL("https://vk.com/public176281709") - - textbutton "Под холодным небом": - style "thld_log_button" - text_style "thld_settings_header_quit" - xalign 0.5 - ypos 500 - action OpenURL("https://steamcommunity.com/sharedfiles/filedetails/?id=2262867309") - - textbutton "Сон": - style "thld_log_button" - text_style "thld_settings_header_quit" - xalign 0.5 - ypos 650 - action OpenURL("https://steamcommunity.com/sharedfiles/filedetails/?id=2663197411") - - add "thld_logowhite_hover" xpos 1520 ypos 890 - - textbutton "Назад": - style "thld_log_button" - text_style "thld_settings_link" - xalign 0.015 - yalign 0.92 - action Return() \ No newline at end of file diff --git a/code/screens/screens.rpyc b/code/screens/screens.rpyc deleted file mode 100644 index 85f455f..0000000 Binary files a/code/screens/screens.rpyc and /dev/null differ diff --git a/code/screens/styles.rpy b/code/screens/styles.rpy index be3fd63..eaf52ad 100644 --- a/code/screens/styles.rpy +++ b/code/screens/styles.rpy @@ -1,10 +1,8 @@ -init -10 python: - thld_gui_path = "thld/images/gui/" - - thld_link_font = thld_gui_path + "fonts/gothic.ttf" - thld_header_font = thld_gui_path + "fonts/corbel.ttf" +init python: + thld_link_font = THLD_GUI_PATH + "fonts/gothic.ttf" + thld_header_font = THLD_GUI_PATH + "fonts/corbel.ttf" thld_main_font = "fonts/calibri.ttf" - thld_main_menu_font = thld_gui_path + "fonts/gotham_pro_light.ttf" + thld_main_menu_font = THLD_GUI_PATH + "fonts/gotham_pro_light.ttf" style.thld_button_none = Style(style.button) style.thld_button_none.background = None @@ -29,39 +27,39 @@ init -10 python: style.thld_titles_style.xmaximum = 0.8 style.thld_save_load_button_main_menu = Style(style.button) - style.thld_save_load_button_main_menu.background = thld_gui_path + "save_load/main_menu/thumbnail_idle.png" - style.thld_save_load_button_main_menu.hover_background = thld_gui_path + "save_load/main_menu/thumbnail_hover.png" - style.thld_save_load_button_main_menu.selected_background = thld_gui_path + "save_load/main_menu/thumbnail_selected.png" - style.thld_save_load_button_main_menu.selected_hover_background = thld_gui_path + "save_load/main_menu/thumbnail_selected.png" - style.thld_save_load_button_main_menu.selected_idle_background = thld_gui_path + "save_load/main_menu/thumbnail_selected.png" + style.thld_save_load_button_main_menu.background = THLD_GUI_PATH + "save_load/main_menu/thumbnail_idle.png" + style.thld_save_load_button_main_menu.hover_background = THLD_GUI_PATH + "save_load/main_menu/thumbnail_hover.png" + style.thld_save_load_button_main_menu.selected_background = THLD_GUI_PATH + "save_load/main_menu/thumbnail_selected.png" + style.thld_save_load_button_main_menu.selected_hover_background = THLD_GUI_PATH + "save_load/main_menu/thumbnail_selected.png" + style.thld_save_load_button_main_menu.selected_idle_background = THLD_GUI_PATH + "save_load/main_menu/thumbnail_selected.png" style.thld_save_load_button_day = Style(style.button) - style.thld_save_load_button_day.background = thld_gui_path + "save_load/day/thumbnail_idle.png" - style.thld_save_load_button_day.hover_background = thld_gui_path + "save_load/day/thumbnail_hover.png" - style.thld_save_load_button_day.selected_background = thld_gui_path + "save_load/day/thumbnail_selected.png" - style.thld_save_load_button_day.selected_hover_background = thld_gui_path + "save_load/day/thumbnail_selected.png" - style.thld_save_load_button_day.selected_idle_background = thld_gui_path + "save_load/day/thumbnail_selected.png" + style.thld_save_load_button_day.background = THLD_GUI_PATH + "save_load/day/thumbnail_idle.png" + style.thld_save_load_button_day.hover_background = THLD_GUI_PATH + "save_load/day/thumbnail_hover.png" + style.thld_save_load_button_day.selected_background = THLD_GUI_PATH + "save_load/day/thumbnail_selected.png" + style.thld_save_load_button_day.selected_hover_background = THLD_GUI_PATH + "save_load/day/thumbnail_selected.png" + style.thld_save_load_button_day.selected_idle_background = THLD_GUI_PATH + "save_load/day/thumbnail_selected.png" style.thld_save_load_button_night = Style(style.button) - style.thld_save_load_button_night.background = thld_gui_path + "save_load/night/thumbnail_idle.png" - style.thld_save_load_button_night.hover_background = thld_gui_path + "save_load/night/thumbnail_hover.png" - style.thld_save_load_button_night.selected_background = thld_gui_path + "save_load/night/thumbnail_selected.png" - style.thld_save_load_button_night.selected_hover_background = thld_gui_path + "save_load/night/thumbnail_selected.png" - style.thld_save_load_button_night.selected_idle_background = thld_gui_path + "save_load/night/thumbnail_selected.png" + style.thld_save_load_button_night.background = THLD_GUI_PATH + "save_load/night/thumbnail_idle.png" + style.thld_save_load_button_night.hover_background = THLD_GUI_PATH + "save_load/night/thumbnail_hover.png" + style.thld_save_load_button_night.selected_background = THLD_GUI_PATH + "save_load/night/thumbnail_selected.png" + style.thld_save_load_button_night.selected_hover_background = THLD_GUI_PATH + "save_load/night/thumbnail_selected.png" + style.thld_save_load_button_night.selected_idle_background = THLD_GUI_PATH + "save_load/night/thumbnail_selected.png" style.thld_save_load_button_prologue = Style(style.button) - style.thld_save_load_button_prologue.background = thld_gui_path + "save_load/prologue/thumbnail_idle.png" - style.thld_save_load_button_prologue.hover_background = thld_gui_path + "save_load/prologue/thumbnail_hover.png" - style.thld_save_load_button_prologue.selected_background = thld_gui_path + "save_load/prologue/thumbnail_selected.png" - style.thld_save_load_button_prologue.selected_hover_background = thld_gui_path + "save_load/prologue/thumbnail_selected.png" - style.thld_save_load_button_prologue.selected_idle_background = thld_gui_path + "save_load/prologue/thumbnail_selected.png" + style.thld_save_load_button_prologue.background = THLD_GUI_PATH + "save_load/prologue/thumbnail_idle.png" + style.thld_save_load_button_prologue.hover_background = THLD_GUI_PATH + "save_load/prologue/thumbnail_hover.png" + style.thld_save_load_button_prologue.selected_background = THLD_GUI_PATH + "save_load/prologue/thumbnail_selected.png" + style.thld_save_load_button_prologue.selected_hover_background = THLD_GUI_PATH + "save_load/prologue/thumbnail_selected.png" + style.thld_save_load_button_prologue.selected_idle_background = THLD_GUI_PATH + "save_load/prologue/thumbnail_selected.png" style.thld_save_load_button_sunset = Style(style.button) - style.thld_save_load_button_sunset.background = thld_gui_path + "save_load/sunset/thumbnail_idle.png" - style.thld_save_load_button_sunset.hover_background = thld_gui_path + "save_load/sunset/thumbnail_hover.png" - style.thld_save_load_button_sunset.selected_background = thld_gui_path + "save_load/sunset/thumbnail_selected.png" - style.thld_save_load_button_sunset.selected_hover_background = thld_gui_path + "save_load/sunset/thumbnail_selected.png" - style.thld_save_load_button_sunset.selected_idle_background = thld_gui_path + "save_load/sunset/thumbnail_selected.png" + style.thld_save_load_button_sunset.background = THLD_GUI_PATH + "save_load/sunset/thumbnail_idle.png" + style.thld_save_load_button_sunset.hover_background = THLD_GUI_PATH + "save_load/sunset/thumbnail_hover.png" + style.thld_save_load_button_sunset.selected_background = THLD_GUI_PATH + "save_load/sunset/thumbnail_selected.png" + style.thld_save_load_button_sunset.selected_hover_background = THLD_GUI_PATH + "save_load/sunset/thumbnail_selected.png" + style.thld_save_load_button_sunset.selected_idle_background = THLD_GUI_PATH + "save_load/sunset/thumbnail_selected.png" style.thld_base_font = Style(style.default) style.thld_base_font.font = thld_main_font @@ -139,34 +137,12 @@ init -10 python: style.thld_settings_header_main_menu_preferences_inverse.hover_color = "#ffffff" style.thld_settings_header_main_menu_preferences_inverse.selected_color = "#ffffff" - # style.thld_main_menu = Style(style.thld_base_font) - # style.thld_main_menu.font = thld_main_menu_font - # style.thld_main_menu.size = 95 - # style.thld_main_menu.kerning = 3 - # style.thld_main_menu.color = "#ffffff" - # style.thld_main_menu.hover_color = "#ffffff" - # style.thld_main_menu.selected_color = "#ffffff" - # style.thld_main_menu.selected_idle_color = "#ffffff" - # style.thld_main_menu.selected_hover_color = "#ffffff" - # style.thld_main_menu.insensitive_color = "#ffffff" - - # style.thld_main_menu_locked = Style(style.thld_base_font) - # style.thld_main_menu_locked.font = thld_header_font - # style.thld_main_menu_locked.size = 60 - # style.thld_main_menu_locked.kerning = 3 - # style.thld_main_menu_locked.color = "#C0C0C0" - # style.thld_main_menu_locked.hover_color = "#C0C0C0" - # style.thld_main_menu_locked.selected_color = "#C0C0C0" - # style.thld_main_menu_locked.selected_idle_color = "#C0C0C0" - # style.thld_main_menu_locked.selected_hover_color = "#C0C0C0" - # style.thld_main_menu_locked.insensitive_color = "#C0C0C0" - style.thld_settings_header_day = Style(style.thld_base_font) style.thld_settings_header_day.font = thld_header_font style.thld_settings_header_day.size = 50 style.thld_settings_header_day.color = "#4d2e19" style.thld_settings_header_day.hover_color = "#a27146" - + style.thld_settings_header_night = Style(style.thld_base_font) style.thld_settings_header_night.font = thld_header_font style.thld_settings_header_night.size = 50 @@ -208,4 +184,4 @@ init -10 python: style.thld_text_history = Style(style.thld_base_font) style.thld_text_history.color = "#e2c778" style.thld_text_history.drop_shadow = (2, 2) - style.thld_text_history.drop_shadow_color = "#000" \ No newline at end of file + style.thld_text_history.drop_shadow_color = "#000" diff --git a/code/screens/styles.rpyc b/code/screens/styles.rpyc index 67cabd7..14e6698 100644 Binary files a/code/screens/styles.rpyc and b/code/screens/styles.rpyc differ diff --git a/images/sprites/mad/normal/mad normal.png b/images/sprites/butcher/normal/butcher normal.png similarity index 100% rename from images/sprites/mad/normal/mad normal.png rename to images/sprites/butcher/normal/butcher normal.png diff --git a/images/sprites/mad/normal/mad smile.png b/images/sprites/butcher/normal/butcher smile.png similarity index 100% rename from images/sprites/mad/normal/mad smile.png rename to images/sprites/butcher/normal/butcher smile.png