mirror of
https://git.cavemanon.xyz/Cavemanon/SnootGame.git
synced 2025-01-22 17:26:20 +01:00
Merge remote-tracking branch 'origin/Monster-Update-6' into bowie_choreo
This commit is contained in:
commit
fb5cea8def
22 changed files with 347 additions and 108 deletions
36
.gitignore
vendored
36
.gitignore
vendored
|
@ -1,9 +1,9 @@
|
|||
# IToddler files
|
||||
# macOS-related files
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Windows cancer
|
||||
# Windows-related files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
|
@ -15,16 +15,36 @@ ehthumbs_vista.db
|
|||
/traceback.txt
|
||||
/errors.txt
|
||||
/log.txt
|
||||
log.txt
|
||||
errors.txt
|
||||
traceback.txt
|
||||
|
||||
|
||||
#Vim swap files
|
||||
.sw?
|
||||
*~
|
||||
*.bak
|
||||
|
||||
#save files & cache files
|
||||
/game/saves/
|
||||
/game/saves/*
|
||||
/game/cache/*
|
||||
/game/cache
|
||||
saves
|
||||
tmp
|
||||
cache
|
||||
env
|
||||
|
||||
#binary files
|
||||
*.rpyc
|
||||
*.rpyb
|
||||
*.rpymc
|
||||
*.pyc
|
||||
*.pyo
|
||||
|
||||
#Vim (best text editor) swap files
|
||||
.sw?
|
||||
|
||||
#cache files
|
||||
/game/cache/*
|
||||
|
||||
#save files
|
||||
/game/saves/*
|
||||
|
||||
#binary files
|
||||
*.rpyc
|
||||
*.rpymc
|
||||
|
|
BIN
game/audio/OST/Amberlight Brilliance D ending.ogg
Normal file
BIN
game/audio/OST/Amberlight Brilliance D ending.ogg
Normal file
Binary file not shown.
BIN
game/audio/effects/tinnitus.ogg
Normal file
BIN
game/audio/effects/tinnitus.ogg
Normal file
Binary file not shown.
BIN
game/audio/ui/uiBack.wav
Normal file
BIN
game/audio/ui/uiBack.wav
Normal file
Binary file not shown.
BIN
game/audio/ui/uiClick.wav
Normal file
BIN
game/audio/ui/uiClick.wav
Normal file
Binary file not shown.
BIN
game/audio/ui/uiFail.wav
Normal file
BIN
game/audio/ui/uiFail.wav
Normal file
Binary file not shown.
BIN
game/audio/ui/uiNotification.wav
Normal file
BIN
game/audio/ui/uiNotification.wav
Normal file
Binary file not shown.
BIN
game/audio/ui/uiOptionOff.wav
Normal file
BIN
game/audio/ui/uiOptionOff.wav
Normal file
Binary file not shown.
BIN
game/audio/ui/uiOptionOn.wav
Normal file
BIN
game/audio/ui/uiOptionOn.wav
Normal file
Binary file not shown.
BIN
game/audio/ui/uiRollover.wav
Normal file
BIN
game/audio/ui/uiRollover.wav
Normal file
Binary file not shown.
|
@ -78,7 +78,8 @@ define gui.text_size = 42
|
|||
|
||||
## The size of character names.
|
||||
define gui.name_text_size = 45
|
||||
define gui.name_text_outlines = [ (absolute(1.5), gui.name_outline, 0, 0) ]
|
||||
define gui.name_text_thickness = absolute(2.0)
|
||||
define gui.name_text_outlines = [ (gui.name_text_thickness, gui.name_outline, 0, 0) ]
|
||||
|
||||
## The size of text in the game's user interface.
|
||||
define gui.interface_text_size = 33
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 28 KiB |
|
@ -8,4 +8,29 @@ label chapter_2_new:
|
|||
play music 'audio/OST/Those Other Two Weirdos.ogg'
|
||||
show anon neutral flip at aright with dissolve
|
||||
A "Sample Text"
|
||||
F "Sample Text"
|
||||
Lucy "Sample Text"
|
||||
Ro "Sample Text"
|
||||
St "Sample Text"
|
||||
N "Sample Text"
|
||||
Nas "Sample Text"
|
||||
T "Sample Text"
|
||||
Attendant "Sample Text"
|
||||
Sp "Sample Text"
|
||||
Re "Sample Text"
|
||||
D "Sample Text"
|
||||
FM "Sample Text"
|
||||
FD "Sample Text"
|
||||
Tsuki "Sample Text"
|
||||
unknown "Sample Text"
|
||||
jingo "Sample Text"
|
||||
MaitD "Sample Text"
|
||||
Moe "Sample Text"
|
||||
Vince "Sample Text"
|
||||
Waitress "Sample Text"
|
||||
AnonAndFang "Sample Text"
|
||||
SV "Sample Text"
|
||||
carl "Sample Text"
|
||||
Drf "Sample Text"
|
||||
FRT "Sample Text"
|
||||
return
|
||||
|
|
|
@ -47,7 +47,13 @@ define build.name = "SnootGame"
|
|||
|
||||
define config.has_sound = True
|
||||
define config.has_music = True
|
||||
define config.has_voice = False
|
||||
define config.has_voice = True
|
||||
|
||||
define config.play_channel = "uisounds"
|
||||
|
||||
##Custom Channels?
|
||||
init -1 python:
|
||||
renpy.music.register_channel("uisounds", "ui", loop=False, stop_on_mute=True)
|
||||
|
||||
|
||||
## To allow the user to play a test sound on the sound or voice channel,
|
||||
|
|
153
game/screens.rpy
153
game/screens.rpy
|
@ -1,24 +1,44 @@
|
|||
###Updater Python stuff###
|
||||
init python:
|
||||
if renpy.variant("pc"): #Don't run this on mobile, not supported
|
||||
if persistent.updateresult is None:
|
||||
persistent.updateresult = "No new version is available"
|
||||
if persistent.autoup is None:
|
||||
persistent.autoup = False
|
||||
if persistent.updateWebServer is None:
|
||||
persistent.updateWebServer = "http://updates.snootgame.xyz/updates.json"
|
||||
if renpy.variant("pc"): #Don't run this on mobile, not supported
|
||||
if persistent.updateresult is None:
|
||||
persistent.updateresult = "No new version is available"
|
||||
if persistent.autoup is None:
|
||||
persistent.autoup = False
|
||||
if persistent.updateWebServer is None:
|
||||
persistent.updateWebServer = "http://updates.snootgame.xyz/updates.json"
|
||||
|
||||
def UpdateCheck():
|
||||
# WHY YES I ONLY ALLOW PEOPLE USING MY FRAMEWORK TO CHECK FOR AN UPDATE EVERY SIX FUCKING HOURS HOW DID YOU KNOW
|
||||
# NOPE check_interval=5 (5 SECONDS) FUCK YOU
|
||||
pendingVersion = updater.UpdateVersion(persistent.updateWebServer, check_interval=5)
|
||||
if pendingVersion == None or pendingVersion == config.version or "TEST" in pendingVersion:
|
||||
persistent.updateresult = "No new version is available"
|
||||
else:
|
||||
persistent.updateresult = pendingVersion
|
||||
def UpdateCheck():
|
||||
# WHY YES I ONLY ALLOW PEOPLE USING MY FRAMEWORK TO CHECK FOR AN UPDATE EVERY SIX FUCKING HOURS HOW DID YOU KNOW
|
||||
# NOPE check_interval=5 (5 SECONDS) FUCK YOU
|
||||
pendingVersion = updater.UpdateVersion(persistent.updateWebServer, check_interval=5)
|
||||
if pendingVersion == None or pendingVersion == config.version or "TEST" in pendingVersion:
|
||||
persistent.updateresult = "No new version is available"
|
||||
else:
|
||||
persistent.updateresult = pendingVersion
|
||||
|
||||
#idk non-functional dummies for uisounds hackery
|
||||
#coming soon
|
||||
|
||||
def onclick_audio(flag, audio_filename=["audio/ui/uiOptionOff.wav", "audio/ui/uiOptionOff.wav", "audio/ui/uiOptionOff.wav"]):
|
||||
renpy.play(audio_filename[int(flag)])
|
||||
|
||||
def ToggleAutoUpdate():
|
||||
onclick_audio(persistent.autoup)
|
||||
preferences.autoup = not preferences.autoup
|
||||
|
||||
def ToggleAutoForwardMove():
|
||||
onclick_audio(persistent.afm_enable)
|
||||
preferences.afm_enable = not preferences.afm_enable
|
||||
|
||||
|
||||
# def ToggleMuteAll():
|
||||
# if preferences.all_mute == True:
|
||||
# renpy.play("audio/ui/uiOptionOff.wav")
|
||||
# else:
|
||||
# renpy.play("audio/ui/uiOptionOn.wav")
|
||||
# preferences.all_mute = not preferences.all_mute
|
||||
|
||||
def ToggleAutoUpdate():
|
||||
persistent.autoup = not persistent.autoup
|
||||
|
||||
################################################################################
|
||||
## Initialization
|
||||
|
@ -48,6 +68,7 @@ style gui_text:
|
|||
|
||||
style button:
|
||||
properties gui.button_properties("button")
|
||||
# activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
style button_text is gui_text:
|
||||
properties gui.text_properties("button")
|
||||
|
@ -250,6 +271,7 @@ style choice_vbox:
|
|||
|
||||
style choice_button is default:
|
||||
properties gui.button_properties("choice_button")
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
|
||||
style choice_button_text is default:
|
||||
properties gui.button_text_properties("choice_button")
|
||||
|
@ -265,6 +287,10 @@ screen quick_button(filename, label, function):
|
|||
xmaximum 80
|
||||
ymaximum 72
|
||||
action function
|
||||
if 'Return' in label or 'Back' in label or 'Menu' in label:
|
||||
activate_sound "audio/ui/uiBack.wav"
|
||||
else:
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
fixed:
|
||||
add filename xalign 0.5 yalign 0.5 zoom 1
|
||||
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 22 style "quick_button_text"
|
||||
|
@ -350,22 +376,22 @@ screen navigation():
|
|||
|
||||
spacing gui.navigation_spacing
|
||||
|
||||
textbutton _("History") action ShowMenu("history")
|
||||
textbutton _("Save") action ShowMenu("save")
|
||||
textbutton _("Load") action ShowMenu("load")
|
||||
textbutton _("Delete") action ShowMenu("delete")
|
||||
textbutton _("Options") action ShowMenu("preferences")
|
||||
textbutton _("History") activate_sound "audio/ui/uiClick.wav" action ShowMenu("history")
|
||||
textbutton _("Save") activate_sound "audio/ui/uiClick.wav" action ShowMenu("save")
|
||||
textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
|
||||
textbutton _("Delete") activate_sound "audio/ui/uiClick.wav" action ShowMenu("delete")
|
||||
textbutton _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
|
||||
#textbutton _("Extras") action ShowMenu("extras")
|
||||
textbutton _("Return") action Return()
|
||||
textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action Return()
|
||||
|
||||
|
||||
if _in_replay:
|
||||
|
||||
textbutton _("End Replay") action EndReplay(confirm=True)
|
||||
textbutton _("End Replay") activate_sound "audio/ui/uiBack.wav" action EndReplay(confirm=True)
|
||||
|
||||
elif not main_menu:
|
||||
|
||||
textbutton _("Main Menu") action MainMenu()
|
||||
textbutton _("Main Menu") activate_sound "audio/ui/uiBack.wav" action MainMenu()
|
||||
#textbutton _("Debug Score Card") action ShowMenu("score_menu")
|
||||
|
||||
#if renpy.variant("pc"):
|
||||
|
@ -398,6 +424,10 @@ screen main_menu_button(filename, label, function):
|
|||
xmaximum 500
|
||||
ymaximum 129
|
||||
action function
|
||||
if 'Back' in label or 'Return' in label or 'Quit' in label or 'Main Menu' in label:
|
||||
activate_sound "audio/ui/uiBack.wav"
|
||||
else:
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
fixed:
|
||||
add filename xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
|
||||
text label xalign 0.5 yalign 0.5 xanchor 0.5
|
||||
|
@ -438,7 +468,7 @@ screen main_menu():
|
|||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||
[
|
||||
[ "Start", Start() ],
|
||||
[ "Mods", ShowMenu("mod_menu") ],
|
||||
[ "Bonus Chapters", ShowMenu("ex_ch_menu") ],
|
||||
[ "Load", ShowMenu("load") ],
|
||||
[ "Options", ShowMenu("preferences") ],
|
||||
[ "Extras", ShowMenu("extras") ], \
|
||||
|
@ -677,10 +707,12 @@ screen updates():
|
|||
|
||||
label _("Update Checker:")
|
||||
label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}")
|
||||
textbutton _("{size=36}Check for Update\n{/size}") action [Notify("Checking for update..."), Function(UpdateCheck)]
|
||||
|
||||
textbutton _("{size=36}Check for Update\n{/size}") activate_sound "audio/ui/uiClick.wav" action [Notify("Checking for update..."), Function(UpdateCheck)]
|
||||
|
||||
label _("Updater:")
|
||||
label _("{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}")
|
||||
|
||||
default input_on = False
|
||||
button:
|
||||
key_events True
|
||||
|
@ -695,10 +727,9 @@ screen updates():
|
|||
action ToggleScreenVariable('input_on')
|
||||
style_prefix "quick"
|
||||
if persistent.updateresult != "No new version is available":
|
||||
textbutton _("{size=36}Update Now!\n{/size}") action updater.Update(persistent.updateWebServer, force=False)
|
||||
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiNotification.wav" action [updater.Update(persistent.updateWebServer, force=False)]
|
||||
else:
|
||||
textbutton _("{size=36}Update Now!\n{/size}") action Notify("Nothing to update to!")
|
||||
|
||||
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiFail.wav" action [Notify("Nothing to update to!")]
|
||||
use extrasnavigation
|
||||
|
||||
## Load and Save screens #######################################################
|
||||
|
@ -793,19 +824,19 @@ screen file_slots(title, flag=False):
|
|||
|
||||
spacing gui.page_spacing
|
||||
|
||||
textbutton _("<") action FilePagePrevious()
|
||||
textbutton _("<") activate_sound "audio/ui/uiRollover.wav" action FilePagePrevious()
|
||||
|
||||
if config.has_autosave:
|
||||
textbutton _("{#auto_page}A") action FilePage("auto")
|
||||
textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
|
||||
|
||||
if config.has_quicksave:
|
||||
textbutton _("{#quick_page}Q") action FilePage("quick")
|
||||
textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
|
||||
|
||||
## range(1, 10) gives the numbers from 1 to 9.
|
||||
for page in range(1, 10):
|
||||
textbutton "[page]" action FilePage(page)
|
||||
textbutton "[page]" activate_sound "audio/ui/uiClick.wav" action FilePage(page)
|
||||
|
||||
textbutton _(">") action FilePageNext()
|
||||
textbutton _(">") activate_sound "audio/ui/uiRollover.wav" action FilePageNext()
|
||||
|
||||
|
||||
style page_label is gui_label
|
||||
|
@ -863,32 +894,31 @@ screen preferences():
|
|||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Display")
|
||||
textbutton _("Window") action Preference("display", "any window")
|
||||
textbutton _("Fullscreen") action Preference("display", "fullscreen")
|
||||
textbutton _("Window") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "any window")
|
||||
textbutton _("Fullscreen") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "fullscreen")
|
||||
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Rollback Side")
|
||||
textbutton _("Disable") action Preference("rollback side", "disable")
|
||||
textbutton _("Left") action Preference("rollback side", "left")
|
||||
textbutton _("Right") action Preference("rollback side", "right")
|
||||
textbutton _("Disable") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "disable")
|
||||
textbutton _("Left") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "left")
|
||||
textbutton _("Right") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "right")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Naughty Stuff")
|
||||
textbutton _("Enable Lewd Images") action ToggleVariable("persistent.lewd", True, False)
|
||||
textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Requires Restart")
|
||||
textbutton _("Enable Forward-Scroll Movement") action ToggleVariable("persistent.scroll", True, False)
|
||||
|
||||
textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Skip")
|
||||
textbutton _("Unseen Text") action Preference("skip", "toggle")
|
||||
textbutton _("After Choices") action Preference("after choices", "toggle")
|
||||
textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle"))
|
||||
textbutton _("Unseen Text") action [Function(onclick_audio, preferences.skip_unseen), ToggleVariable("preferences.skip_unseen", True, False)]
|
||||
textbutton _("After Choices") action [Function(onclick_audio, preferences.skip_after_choices), ToggleVariable("preferences.skip_after_choices", True, False)]
|
||||
textbutton _("Transitions") action [Function(onclick_audio, preferences.transitions), ToggleVariable("preferences.transitions", 0, 2)]
|
||||
|
||||
## Additional vboxes of type "radio_pref" or "check_pref" can be
|
||||
## added here, to add additional creator-defined preferences.
|
||||
|
@ -917,6 +947,12 @@ screen preferences():
|
|||
hbox:
|
||||
bar value Preference("music volume")
|
||||
|
||||
if config.has_music:
|
||||
label _("UI Sounds Volume")
|
||||
|
||||
hbox:
|
||||
bar value Preference("ui volume")
|
||||
|
||||
if config.has_sound:
|
||||
|
||||
label _("Sound Volume")
|
||||
|
@ -937,7 +973,7 @@ screen preferences():
|
|||
if config.sample_voice:
|
||||
textbutton _("Test") action Play("voice", config.sample_voice)
|
||||
|
||||
if config.has_music or config.has_sound or config.has_voice:
|
||||
if config.has_music or config.has_sound or config.has_voice or config.has_ui:
|
||||
null height gui.pref_spacing
|
||||
|
||||
textbutton _("Mute All"):
|
||||
|
@ -1135,16 +1171,17 @@ screen extrasnavigation():
|
|||
else:
|
||||
add "gui/snootgame.png"
|
||||
vbox:
|
||||
spacing 25
|
||||
spacing 10
|
||||
xpos 1885
|
||||
yalign 0.9
|
||||
ypos 1130
|
||||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||
[
|
||||
[ "Help", ShowMenu("help") ],
|
||||
[ "About", ShowMenu("about") ],
|
||||
[ "Updates", ShowMenu("updates") ],
|
||||
[ "About", ShowMenu("about") ],
|
||||
[ "Updates", ShowMenu("updates") ],
|
||||
[ "Gallery", ShowMenu("cg_gallery_0") ],
|
||||
[ "Return", ShowMenu("main_menu") ]
|
||||
[ "Mods", ShowMenu("mod_menu") ],
|
||||
[ "Return", ShowMenu("main_menu") ]
|
||||
] )
|
||||
|
||||
## Help screen #################################################################
|
||||
|
@ -1215,7 +1252,7 @@ screen keyboard_help():
|
|||
|
||||
hbox:
|
||||
label _("Escape")
|
||||
text _("Accesses the game menu.")
|
||||
text _("Accesses the game menu. Also escapes the Gallery.")
|
||||
|
||||
hbox:
|
||||
label _("Ctrl")
|
||||
|
@ -1258,7 +1295,7 @@ screen mouse_help():
|
|||
|
||||
hbox:
|
||||
label _("Right Click")
|
||||
text _("Accesses the game menu.")
|
||||
text _("Accesses the game menu. Also escapes the Gallery.")
|
||||
|
||||
hbox:
|
||||
label _("Mouse Wheel Up\nClick Rollback Side")
|
||||
|
@ -1359,8 +1396,8 @@ screen confirm(message, yes_action, no_action):
|
|||
xalign 0.5
|
||||
spacing 150
|
||||
|
||||
textbutton _("Yes") action yes_action
|
||||
textbutton _("No") action no_action
|
||||
textbutton _("Yes") activate_sound "audio/ui/uiClick.wav" action yes_action
|
||||
textbutton _("No") activate_sound "audio/ui/uiBack.wav" action no_action
|
||||
|
||||
## Right-click and escape answer "no".
|
||||
key "game_menu" action no_action
|
||||
|
@ -1659,9 +1696,9 @@ screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
|
|||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||
[
|
||||
[ "Help", ShowMenu("help") ],
|
||||
[ "About", ShowMenu("about") ],
|
||||
[ "About", ShowMenu("about") ],
|
||||
[ "Gallery", ShowMenu("cg_gallery_0") ],
|
||||
[ "Return", ShowMenu("main_menu") ]
|
||||
[ "Return", ShowMenu("main_menu") ]
|
||||
] )
|
||||
|
||||
style radio_button:
|
||||
|
|
|
@ -24,7 +24,7 @@ init python:
|
|||
import webbrowser
|
||||
#function for insult layers
|
||||
def showCG():
|
||||
files = ["text0", "text1", "text2", "text3", "text4", "text5", "text6", "text7", "text8", "text9"]
|
||||
files = ["text1", "text2", "text3", "text4", "text5", "text6", "text7", "text8", "text9"]
|
||||
length = len(files)
|
||||
picked = random.randint(0,length - 1)
|
||||
fileName = files[picked]
|
||||
|
@ -117,37 +117,36 @@ define long_textbox = { "window_background": long_textbox_img, 'namebox_style':
|
|||
#Characters
|
||||
define base = Character (ctc="ctc_end_marker", ctc_pause="ctc_mid_marker", ctc_timedpause=Null(), ctc_position="nestled") # try to remember some of the basics of CTC
|
||||
define narrator = Character(kind=base)
|
||||
define A = Character ('Anon', base, color="#36E12D", who_outlines=[(1, '#0C300A')]) # Light Green
|
||||
define F = Character ('Fang', base, color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
|
||||
define Lucy = Character ('Lucy', base, color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
|
||||
define Ro = Character ('Rosa', base, color="#FE712B", who_outlines=[(1, '#3D1809')]) # Red-Orange
|
||||
define St = Character ('Stella', base, color="#D2FFAA", who_outlines=[(1, '#203011')]) # Light Green
|
||||
define N = Character ('Naomi', base, color="#F8B9A0", who_outlines=[(1, '#291A1B')]) # Peach
|
||||
define Nas = Character ('Naser', base, color="#F89E38", who_outlines=[(1, '#2D2D2D')]) # Orange
|
||||
define T = Character ('Trish', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # Purple
|
||||
define Attendant = Character ('Attendant', base, color="#8A0036", who_outlines=[(1, '#FFFFFF')]) # Maroon
|
||||
define Sp = Character ('Spears', base, color="#C4C3C3", who_outlines=[(1, '#272727')]) # Light Grey
|
||||
define Re = Character ('Reed', base, color="#ED4C5B", who_outlines=[(1, '#361013')]) # Bright Red
|
||||
define D = Character ('Driver', base, color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
|
||||
define FM = Character ('Fangs Mom', base, color="#FFD8F6", who_outlines=[(1, '#361730')]) # Bright Pink
|
||||
define FD = Character ('Fangs Dad', base, color="#D8A09A", who_outlines=[(1, '#190E0F')]) # Desaturated Orange
|
||||
define Tsuki = Character ('Mr. Tsuki', base, color="#A7F2A2", who_outlines=[(1, '#320E3B')]) # Pear Green
|
||||
define unknown = Character ('(???)', base, color="#000000", who_outlines=[(1, '#FFFFFF')]) # Black
|
||||
define jingo = Character ('Mr. Jingo', base, color="#CD8283", who_outlines=[(1, '#0F0D49')]) # Desaturated Red
|
||||
define MaitD = Character ('Maitre D', base, color="#241630", who_outlines=[(1, '#241630')]) # Cobalt Blue
|
||||
define Moe = Character('Moe', base, color="#A5BEED", who_outlines=[(1, '#342210')]) # Desaturated Blue
|
||||
define Vince = Character ('Vince', base, color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
|
||||
define Waitress = Character ('Waitress', base, color="#F691C8", who_outlines=[(1, '#402E3A')]) # Pink
|
||||
define Riley = Character ('Riley', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO
|
||||
define Tana = Character ('Tana', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO
|
||||
define Trevor = Character ('Trevor', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO
|
||||
define A = Character ('Anon', base, color="#36E12D", who_outlines=[(gui.name_text_thickness, '#0C300A')]) # Light Green
|
||||
define F = Character ('Fang', base, color="#B4D4CE", who_outlines=[(gui.name_text_thickness, '#0F3930')]) # Light Cyan
|
||||
define Lucy = Character ('Lucy', base, color="#B4D4CE", who_outlines=[(gui.name_text_thickness, '#0F3930')]) # Light Cyan
|
||||
define Ro = Character ('Rosa', base, color="#FE712B", who_outlines=[(gui.name_text_thickness, '#54230F')]) # Red-Orange
|
||||
define St = Character ('Stella', base, color="#D5FFAE", who_outlines=[(gui.name_text_thickness, '#294211')]) # Light Green
|
||||
define N = Character ('Naomi', base, color="#FDD2C1", who_outlines=[(gui.name_text_thickness, '#462628')]) # Peach
|
||||
define Nas = Character ('Naser', base, color="#FFB561", who_outlines=[(gui.name_text_thickness, '#512322')]) # Orange
|
||||
define T = Character ('Trish', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#3A0C5D')]) # Purple
|
||||
define Attendant = Character ('Attendant', base, color="#5BF0F8", who_outlines=[(gui.name_text_thickness, '#121C68')]) # Aqua
|
||||
define Sp = Character ('Spears', base, color="#C7C7C7", who_outlines=[(gui.name_text_thickness, '#272727')]) # Light Grey
|
||||
define Re = Character ('Reed', base, color="#ED4C5B", who_outlines=[(gui.name_text_thickness, '#421014')]) # Bright Red
|
||||
define D = Character ('Driver', base, color="#FFECBC", who_outlines=[(gui.name_text_thickness, '#563010')]) # Yellow-Orange
|
||||
define FM = Character ("Fang's Mom", base, color="#FFD8F6", who_outlines=[(gui.name_text_thickness, '#521947')]) # Bright Pink
|
||||
define FD = Character ("Fang's Dad", base, color="#D8A09A", who_outlines=[(gui.name_text_thickness, '#461B1F')]) # Desaturated Orange
|
||||
define Tsuki = Character ('Mr. Tsuki', base, color="#A7F2A2", who_outlines=[(gui.name_text_thickness, '#471054')]) # Pear Green
|
||||
define unknown = Character ('(???)', base, color="#FFF", who_outlines=[(gui.name_text_thickness, '#000')]) # White
|
||||
define jingo = Character ('Mr. Jingo', base, color="#CD8283", who_outlines=[(gui.name_text_thickness, '#0F0D49')]) # Desaturated Red
|
||||
define MaitD = Character ('Maitre D', base, color="#AF9EFF", who_outlines=[(gui.name_text_thickness, '#241630')]) # Cobalt Blue
|
||||
define Moe = Character('Moe', base, color="#A5BEED", who_outlines=[(gui.name_text_thickness, '#1F253B')]) # Desaturated Blue
|
||||
define Vince = Character ('Vince', base, color="#FFECBC", who_outlines=[(gui.name_text_thickness, '#563010')]) # Yellow-Orange
|
||||
define Waitress = Character ('Waitress', base, color="#F691C8", who_outlines=[(gui.name_text_thickness, '#512040')]) # Pink
|
||||
define Riley = Character ('Riley', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#1F0632')]) # TODO
|
||||
define Tana = Character ('Tana', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#1F0632')]) # TODO
|
||||
define Trevor = Character ('Trevor', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#1F0632')]) # TODO
|
||||
#long TB chars
|
||||
define AnonAndFang = Character('Anon and Fang', base, color="72DFA8", who_outlines=[(1, '#113623')])
|
||||
define SV = Character ('Street Vendor', base, color="#F8E120", who_outlines=[(1, '#361504')])
|
||||
define carl = Character ('Mr. Carldewskii', base, color="#E19E40", who_outlines=[(1, '#03223B')])
|
||||
define Drf = Character ('Dr. Fernsworth', base, color="#253354", who_outlines=[(1, '#334573')])
|
||||
define FRT = Character ('Fang Reed & Trish', base, color="#4963A5", who_outlines=[(1, '#FFFFFF')])
|
||||
define TT = Character ('Tana & Trevor', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO
|
||||
define AnonAndFang = Character('Anon and Fang', base, color="72DFA8", who_outlines=[(gui.name_text_thickness, '#113623')]) # Cyan
|
||||
define SV = Character ('Street Vendor', base, color="#F8E120", who_outlines=[(gui.name_text_thickness, '#58260C')]) # Yellow
|
||||
define carl = Character ('Mr. Carldewskii', base, color="#EECB99", who_outlines=[(gui.name_text_thickness, '#082337')]) #Puke Orange
|
||||
define Drf = Character ('Dr. Fernsworth', base, color="#DCEEF5", who_outlines=[(gui.name_text_thickness, '#253354')]) #Yellow-Orange
|
||||
define FRT = Character ('Fang Reed & Trish', base, color="#DCBBF7", who_outlines=[(gui.name_text_thickness, '#191C78')]) #Light Purple
|
||||
|
||||
#Extra image translations
|
||||
#siloettes
|
||||
|
@ -353,7 +352,7 @@ image naser handout flip = im.Flip("naser/naser handout.png", horizontal=True)
|
|||
image naomi keikaku flip = im.Flip("naomi/naomi keikaku.png", horizontal=True)
|
||||
image anon shrug flip = im.Flip("anon/emotive set/anon shrug.png", horizontal=True)
|
||||
image fang hug flip = im.Flip("fang/emotive set/fang hug.png", horizontal=True)
|
||||
image naser brooding flip = im.Flip("naser/naser brooding.png", horizontal=True)
|
||||
image naser brooding flip = im.Flip("naser/naser brooding.png", horizontal=True)
|
||||
image anon concerned flip = im.Flip("anon/base set/anon concerned.png", horizontal=True)
|
||||
image rosa excited flip = im.Flip("rosa/rosa excited.png", horizontal=True)
|
||||
image fang anguish flip = im.Flip("fang/emotive set/fang anguish.png", horizontal=True)
|
||||
|
|
31
game/script/0._extra_stubs.rpy
Normal file
31
game/script/0._extra_stubs.rpy
Normal file
|
@ -0,0 +1,31 @@
|
|||
|
||||
label chapter_x1:
|
||||
"1"
|
||||
return
|
||||
label chapter_x2:
|
||||
"2"
|
||||
return
|
||||
label chapter_x3:
|
||||
"3"
|
||||
return
|
||||
label chapter_x4:
|
||||
"4"
|
||||
return
|
||||
label chapter_x5:
|
||||
"5"
|
||||
return
|
||||
label chapter_x6:
|
||||
"6"
|
||||
return
|
||||
label chapter_x7:
|
||||
"7"
|
||||
return
|
||||
label chapter_x8:
|
||||
"8"
|
||||
return
|
||||
label chapter_x9:
|
||||
"9"
|
||||
return
|
||||
label chapter_x10:
|
||||
"10"
|
||||
return
|
|
@ -520,7 +520,7 @@ label chapter_14D:
|
|||
show fang d happy with dissolve
|
||||
"We chuckle together."
|
||||
|
||||
play music "audio/OST/Amberlight Brilliance.ogg" fadein 1.0
|
||||
play music "audio/OST/Amberlight Brilliance D ending.ogg" fadein 1.0
|
||||
A "Hey, Lucy…"
|
||||
|
||||
"I keep my eyes on the stars, even when Lucy turns to look at me."
|
||||
|
|
|
@ -158,17 +158,17 @@ screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
|
|||
textbutton _(cp['name']) text_color gui.selected_color text_xalign 0.5
|
||||
else:
|
||||
if cp['eval'] is None:
|
||||
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
textbutton _(cp['name']) activate_sound "audio/ui/uiClick.wav" action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
elif eval(cp['eval']):
|
||||
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
textbutton _(cp['name']) activate_sound "audio/ui/uiClick.wav" action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
else:
|
||||
textbutton _(cp['name']) text_xalign 0.5
|
||||
textbutton _("Return") action ShowMenu('main_menu') text_xalign 0.5
|
||||
textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action ShowMenu('main_menu') text_xalign 0.5
|
||||
|
||||
if _in_replay:
|
||||
textbutton _("End Replay") action EndReplay(confirm=True)
|
||||
textbutton _("End Replay") activate_sound "audio/ui/uiBack.wav" action EndReplay(confirm=True)
|
||||
elif not main_menu:
|
||||
textbutton _("Main Menu") action MainMenu()
|
||||
textbutton _("Main Menu") activate_sound "audio/ui/uiBack.wav" action MainMenu()
|
||||
|
||||
transform:
|
||||
zoom 0.95
|
||||
|
@ -248,6 +248,7 @@ screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
|
|||
|
||||
tag menu
|
||||
key "game_menu" action _origin
|
||||
key "button_alternate" action _origin
|
||||
|
||||
# mousewheel & insert+delete
|
||||
if (ALLOW_ZOOM):
|
||||
|
@ -284,7 +285,7 @@ screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
|
|||
[ "-", zoom_b_f ],
|
||||
[ "Return", zoom_b_f ]
|
||||
] )
|
||||
else:
|
||||
elif renpy.variant("small"):
|
||||
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
|
||||
[
|
||||
[ "Return", _origin ]
|
||||
|
|
102
game/src/extra_chapters_menu.rpy
Normal file
102
game/src/extra_chapters_menu.rpy
Normal file
|
@ -0,0 +1,102 @@
|
|||
|
||||
init python:
|
||||
ex_chapters = [
|
||||
[ "Chicxulub Gutterlanea", "chapter_x1" ],
|
||||
[ "The Mous Pad", "chapter_x2" ],
|
||||
[ "PTA Meeting", "chapter_x3" ],
|
||||
[ "Passion of the Trigga I", "chapter_x4" ],
|
||||
[ "Passion of the Trigga II", "chapter_x5" ],
|
||||
[ "Passion of the Trigga III", "chapter_x6" ],
|
||||
[ "Naomi's Tribulations I", "chapter_x7" ],
|
||||
[ "Naomi's Tribulations II", "chapter_x8" ],
|
||||
[ "Naomi's Tribulations III", "chapter_x9" ],
|
||||
[ "RAYmba's Observations", "chapter_x10" ]
|
||||
]
|
||||
ex_chapters_menu = ex_chapters.copy()
|
||||
|
||||
if persistent.endings is None:
|
||||
ending_image()
|
||||
|
||||
pass
|
||||
|
||||
#similar to quick_button funcs
|
||||
screen ex_ch_button(filename, label, function):
|
||||
button:
|
||||
xmaximum 600
|
||||
ymaximum 129
|
||||
action function
|
||||
if 'Back' in label or 'Return' in label or 'Quit' in label or 'Main Menu' in label:
|
||||
activate_sound "audio/ui/uiBack.wav"
|
||||
else:
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
fixed:
|
||||
add filename xalign 0.5 yalign 0.5 zoom 0.9
|
||||
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34
|
||||
|
||||
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
||||
# Reuse the same image string and keep things 'neat'.
|
||||
screen ex_ch_buttons(filename, label_functions):
|
||||
for l_f in label_functions:
|
||||
use ex_ch_button(filename, l_f[0], Start(l_f[1]) )
|
||||
|
||||
screen ex_ch_menu():
|
||||
|
||||
python:
|
||||
global ex_chapters_menu
|
||||
ex_chapters_menu = ex_chapters.copy()
|
||||
e = persistent.endings #ending seen
|
||||
if (e ^ 0b0000 == 0):
|
||||
ex_chapters_menu.clear()
|
||||
elif not (e & 0b1111 == 0b1111):
|
||||
w = 4
|
||||
for i in range(0, 4):
|
||||
w -= persistent.endings >> i & 0b1 == 0b1
|
||||
|
||||
#trish
|
||||
for i in range(5, 5-w, -1):
|
||||
ex_chapters_menu.remove(ex_chapters[i])
|
||||
#naomi
|
||||
for i in range(8, 8-w, -1):
|
||||
ex_chapters_menu.remove(ex_chapters[i])
|
||||
ex_chapters_menu.pop()
|
||||
|
||||
tag menu
|
||||
style_prefix "main_menu"
|
||||
add gui.main_menu_background
|
||||
|
||||
frame:
|
||||
xsize 420
|
||||
yfill True
|
||||
background "gui/overlay/main_menu.png"
|
||||
|
||||
#side_yfill True
|
||||
vbox:
|
||||
xpos 1940
|
||||
yalign 0.03
|
||||
if persistent.splashtype == 1:
|
||||
add "gui/sneedgame.png"
|
||||
else:
|
||||
add "gui/snootgame.png"
|
||||
|
||||
viewport:
|
||||
# this could be better but its ok for now
|
||||
xpos 1885-540
|
||||
xmaximum 540
|
||||
ymaximum 0.8
|
||||
ypos 200
|
||||
yinitial 0
|
||||
scrollbars "vertical"
|
||||
mousewheel True
|
||||
draggable True
|
||||
pagekeys True
|
||||
vbox:
|
||||
#xpos 1885
|
||||
spacing 12
|
||||
#yalign 0.98
|
||||
|
||||
use ex_ch_button("gui/button/menubuttons/template_idle.png", "Return", ShowMenu("main_menu"))
|
||||
#use ex_ch_button("gui/button/menubuttons/template_idle.png", str(e), ShowMenu("main_menu"))
|
||||
if len(ex_chapters_menu):
|
||||
use ex_ch_buttons("gui/button/menubuttons/template_idle.png", ex_chapters_menu )
|
||||
for x in range(0, len(ex_chapters) - len(ex_chapters_menu)):
|
||||
use ex_ch_button("gui/button/menubuttons/template_idle.png", "???", None)
|
|
@ -10,6 +10,10 @@ screen mod_menu_button(filename, label, function):
|
|||
xmaximum 600
|
||||
ymaximum 129
|
||||
action function
|
||||
if 'Back' in label or 'Return' in label or 'Quit' in label or 'Main Menu' in label:
|
||||
activate_sound "audio/ui/uiBack.wav"
|
||||
else:
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
fixed:
|
||||
add filename xalign 0.5 yalign 0.5 zoom 0.9
|
||||
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34
|
||||
|
@ -21,7 +25,7 @@ screen mod_menu_button(filename, label, function):
|
|||
# Reuse the same image string and keep things 'neat'.
|
||||
screen mod_menu_buttons(filename, arr):
|
||||
for x in arr:
|
||||
use mod_menu_button(filename, x['Name'], Start(x['Label']))
|
||||
use mod_menu_button(filename, x['Name'], Start(x['Label']) )
|
||||
|
||||
screen mod_menu():
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
init -1 python:
|
||||
def ending_image():
|
||||
#0b0000, ABCD, flash the bits with |=, check with &
|
||||
endings = 0b0000
|
||||
_e = 0b1
|
||||
for i in range(1, 5):
|
||||
fn = str(i)+"of4"
|
||||
endings |= (_e * renpy.seen_image(fn))
|
||||
_e = _e << 0b1
|
||||
persistent.endings = endings
|
||||
|
||||
label storyline:
|
||||
call chapter_1
|
||||
call chapter_2
|
||||
|
@ -33,6 +44,7 @@ label storyline:
|
|||
call chapter_12A
|
||||
call chapter_13A
|
||||
call chapter_14A
|
||||
$ ending_image()
|
||||
$ renpy.quit()
|
||||
else: # this block is redundant since we should never hit it
|
||||
#>>ERROR HANDLING OH SWEET BABY JESUS SHIT HIT THE FAN
|
||||
|
@ -47,6 +59,7 @@ label storyline:
|
|||
St "Yes, but you have to have something wrong with you to speedrun a visual novel beta"
|
||||
"/dev/non" "well shit. Please do report this bug and all the choices you made that lead to this point. Something fucked up real bad"
|
||||
#just liek maek gaem
|
||||
$ ending_image()
|
||||
call .ending
|
||||
return
|
||||
|
||||
|
|
Loading…
Reference in a new issue