first draft
2
LICENSE
|
@ -6,3 +6,5 @@ WoodSnap.wav - "Snapping, Wooden Fence, N.wav" by InspectorJ (www.jshaw.co.uk) o
|
|||
firealarm.ogg - "School Fire Alarm" by Cullen Card
|
||||
shot.ogg - "38 Caliber Gun Shot 5x" by Mike Koenig
|
||||
wind.wav - "Wind" by Mark DiAngelo
|
||||
punch.ogg - "Strong Punch" by Mike Koenig
|
||||
menacing.ogg - "Scaryscape 01" by Suonho (soundcloud.com/suonho) of Freesound.org
|
BIN
game/audio/effects/alarmAirraidSiren.ogg
Normal file
BIN
game/audio/effects/alarmClicheLoop.ogg
Normal file
BIN
game/audio/effects/alarmKlaxonLoop.ogg
Normal file
BIN
game/audio/effects/alarmPoliceSiren.ogg
Normal file
BIN
game/audio/effects/alarmSirenLoop.ogg
Normal file
BIN
game/audio/effects/anonDeskSlam.ogg
Normal file
BIN
game/audio/effects/anonDink.ogg
Normal file
BIN
game/audio/effects/anonDumbassFall.ogg
Normal file
BIN
game/audio/effects/anonHeadbutt.ogg
Normal file
BIN
game/audio/effects/cellphone.ogg
Normal file
BIN
game/audio/effects/classroomLoop.ogg
Normal file
BIN
game/audio/effects/digital_alarm.ogg
Normal file
BIN
game/audio/effects/fangPunch.wav
Normal file
BIN
game/audio/effects/heartbeat.ogg
Normal file
BIN
game/audio/effects/hungryBeast.ogg
Normal file
BIN
game/audio/effects/menacing.ogg
Normal file
BIN
game/audio/effects/outdoor ambience.ogg
Normal file
BIN
game/audio/effects/outdoorLoop.ogg
Normal file
BIN
game/audio/effects/outdoorNatureLoop.ogg
Normal file
BIN
game/audio/effects/paEndReverb.ogg
Normal file
BIN
game/audio/effects/punch.ogg
Normal file
BIN
game/audio/effects/rooftopDoorSmash.ogg
Normal file
BIN
game/audio/effects/schoolBell.ogg
Normal file
BIN
game/audio/effects/shotTinnitus.wav
Normal file
BIN
game/audio/effects/siren.ogg
Normal file
BIN
game/audio/effects/slapstickBigPunch.ogg
Normal file
BIN
game/audio/effects/slapstickGlassBreak.ogg
Normal file
BIN
game/audio/effects/slapstickPunch.ogg
Normal file
BIN
game/audio/effects/slapstickSuperPunch.ogg
Normal file
BIN
game/audio/effects/spearYellRumbleTinnitusProlongVoice.ogg
Normal file
BIN
game/audio/effects/spearYellRumbleVoice.ogg
Normal file
BIN
game/audio/effects/spearYellRumbleVoicePA.ogg
Normal file
BIN
game/audio/effects/spearYellVoice.ogg
Normal file
BIN
game/audio/effects/tableSlam.ogg
Normal file
BIN
game/audio/effects/teenageCafeteriaLoop.ogg
Normal file
BIN
game/audio/effects/teenageCrowdFarLoop.ogg
Normal file
BIN
game/audio/effects/teenageCrowdJeerLoop.ogg
Normal file
BIN
game/audio/effects/teenageCrowdLaugh.ogg
Normal file
BIN
game/audio/effects/teenageCrowdLoop.ogg
Normal file
BIN
game/audio/effects/whoosh.ogg
Normal file
BIN
game/audio/effects/windLightLoop.ogg
Normal file
BIN
game/images/anon/base set/anon concerned.png
Normal file
After Width: | Height: | Size: 317 KiB |
BIN
game/images/anon/base set/anon grin.png
Normal file
After Width: | Height: | Size: 317 KiB |
BIN
game/images/anon/base set/anon ohshit.png
Normal file
After Width: | Height: | Size: 321 KiB |
BIN
game/images/naser/naser handout.png
Normal file
After Width: | Height: | Size: 376 KiB |
BIN
game/images/other/farnsworth concerned.png
Normal file
After Width: | Height: | Size: 223 KiB |
BIN
game/images/trish/trish surprised.png
Normal file
After Width: | Height: | Size: 242 KiB |
BIN
game/images/vfx/iris.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
game/images/vfx/pickicon.png
Normal file
After Width: | Height: | Size: 827 B |
BIN
game/images/vfx/pickicon2.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
|
@ -47,13 +47,7 @@ define build.name = "SnootGame"
|
|||
|
||||
define config.has_sound = True
|
||||
define config.has_music = True
|
||||
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)
|
||||
define config.has_voice = False
|
||||
|
||||
|
||||
## To allow the user to play a test sound on the sound or voice channel,
|
||||
|
|
148
game/screens.rpy
|
@ -1,4 +1,4 @@
|
|||
###Updater Python stuff###
|
||||
###Updater Python stuff###
|
||||
init python:
|
||||
if renpy.variant("pc"): #Don't run this on mobile, not supported
|
||||
if persistent.updateresult is None:
|
||||
|
@ -17,64 +17,8 @@ init python:
|
|||
else:
|
||||
persistent.updateresult = pendingVersion
|
||||
|
||||
#idk non-functional dummies for uisounds hackery
|
||||
#coming soon
|
||||
|
||||
def ToggleAutoUpdate():
|
||||
if persistent.autoup == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
persistent.autoup = not persistent.autoup
|
||||
|
||||
def ToggleLewd():
|
||||
if persistent.lewd == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
# persistent.lewd = not persistent.lewd
|
||||
|
||||
def ToggleScroll():
|
||||
if persistent.scroll == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
# persistent.scroll = not persistent.scroll
|
||||
|
||||
def ToggleSkip():
|
||||
if preferences.skip_unseen == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
# preferences.skip_unseen = not preferences.skip_unseen
|
||||
|
||||
def ToggleAfterChoices():
|
||||
if preferences.skip_after_choices == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
# preferences.skip_after_choices = not preferences.skip_after_choices
|
||||
|
||||
def ToggleTransitions():
|
||||
if preferences.transitions == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
# preferences.transitions = not preferences.transitions
|
||||
|
||||
# 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 ToggleAutoForwardMove():
|
||||
if preferences.afm_enable == True:
|
||||
renpy.play("audio/ui/uiOptionOff.wav")
|
||||
else:
|
||||
renpy.play("audio/ui/uiOptionOn.wav")
|
||||
preferences.afm_enable = not preferences.afm_enable
|
||||
persistent.autoup = not persistent.autoup
|
||||
|
||||
################################################################################
|
||||
## Initialization
|
||||
|
@ -104,7 +48,6 @@ 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")
|
||||
|
@ -307,8 +250,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")
|
||||
|
||||
|
@ -323,10 +265,6 @@ 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"
|
||||
|
@ -412,22 +350,22 @@ screen navigation():
|
|||
|
||||
spacing gui.navigation_spacing
|
||||
|
||||
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 _("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 _("Extras") action ShowMenu("extras")
|
||||
textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action Return()
|
||||
textbutton _("Return") action Return()
|
||||
|
||||
|
||||
if _in_replay:
|
||||
|
||||
textbutton _("End Replay") activate_sound "audio/ui/uiBack.wav" action EndReplay(confirm=True)
|
||||
textbutton _("End Replay") action EndReplay(confirm=True)
|
||||
|
||||
elif not main_menu:
|
||||
|
||||
textbutton _("Main Menu") activate_sound "audio/ui/uiBack.wav" action MainMenu()
|
||||
textbutton _("Main Menu") action MainMenu()
|
||||
#textbutton _("Debug Score Card") action ShowMenu("score_menu")
|
||||
|
||||
#if renpy.variant("pc"):
|
||||
|
@ -460,10 +398,6 @@ 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
|
||||
|
@ -743,11 +677,10 @@ screen updates():
|
|||
|
||||
label _("Update Checker:")
|
||||
label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}")
|
||||
textbutton _("{size=36}Check for Update\n{/size}") activate_sound "audio/ui/uiClick.wav" action [Notify("Checking for update..."), Function(UpdateCheck)]
|
||||
textbutton _("{size=36}Check for Update\n{/size}") 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
|
||||
|
@ -762,9 +695,10 @@ screen updates():
|
|||
action ToggleScreenVariable('input_on')
|
||||
style_prefix "quick"
|
||||
if persistent.updateresult != "No new version is available":
|
||||
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiNotification.wav" action [updater.Update(persistent.updateWebServer, force=False)]
|
||||
textbutton _("{size=36}Update Now!\n{/size}") action updater.Update(persistent.updateWebServer, force=False)
|
||||
else:
|
||||
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiFail.wav" action [Notify("Nothing to update to!")]
|
||||
textbutton _("{size=36}Update Now!\n{/size}") action Notify("Nothing to update to!")
|
||||
|
||||
use extrasnavigation
|
||||
|
||||
## Load and Save screens #######################################################
|
||||
|
@ -859,19 +793,19 @@ screen file_slots(title, flag=False):
|
|||
|
||||
spacing gui.page_spacing
|
||||
|
||||
textbutton _("<") activate_sound "audio/ui/uiRollover.wav" action FilePagePrevious()
|
||||
textbutton _("<") action FilePagePrevious()
|
||||
|
||||
if config.has_autosave:
|
||||
textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
|
||||
textbutton _("{#auto_page}A") action FilePage("auto")
|
||||
|
||||
if config.has_quicksave:
|
||||
textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
|
||||
textbutton _("{#quick_page}Q") action FilePage("quick")
|
||||
|
||||
## range(1, 10) gives the numbers from 1 to 9.
|
||||
for page in range(1, 10):
|
||||
textbutton "[page]" activate_sound "audio/ui/uiClick.wav" action FilePage(page)
|
||||
textbutton "[page]" action FilePage(page)
|
||||
|
||||
textbutton _(">") activate_sound "audio/ui/uiRollover.wav" action FilePageNext()
|
||||
textbutton _(">") action FilePageNext()
|
||||
|
||||
|
||||
style page_label is gui_label
|
||||
|
@ -929,32 +863,32 @@ screen preferences():
|
|||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Display")
|
||||
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")
|
||||
textbutton _("Window") action Preference("display", "any window")
|
||||
textbutton _("Fullscreen") action Preference("display", "fullscreen")
|
||||
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Rollback Side")
|
||||
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")
|
||||
textbutton _("Disable") action Preference("rollback side", "disable")
|
||||
textbutton _("Left") action Preference("rollback side", "left")
|
||||
textbutton _("Right") action Preference("rollback side", "right")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Naughty Stuff")
|
||||
textbutton _("Enable Lewd Images") action [Function(ToggleLewd), ToggleVariable("persistent.lewd", True, False)]
|
||||
textbutton _("Enable Lewd Images") action ToggleVariable("persistent.lewd", True, False)
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Requires Restart")
|
||||
textbutton _("Enable Forward-Scroll Movement") action [Function(ToggleScroll), ToggleVariable("persistent.scroll", True, False)]
|
||||
textbutton _("Enable Forward-Scroll Movement") action ToggleVariable("persistent.scroll", True, False)
|
||||
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Skip")
|
||||
textbutton _("Unseen Text") action [Function(ToggleSkip), ToggleVariable("preferences.skip_unseen", True, False)]
|
||||
textbutton _("After Choices") action [Function(ToggleAfterChoices), ToggleVariable("preferences.skip_after_choices", True, False)]
|
||||
textbutton _("Transitions") action [InvertSelected(Function(ToggleTransitions)), ToggleVariable("preferences.transitions", True, False)]
|
||||
textbutton _("Unseen Text") action Preference("skip", "toggle")
|
||||
textbutton _("After Choices") action Preference("after choices", "toggle")
|
||||
textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle"))
|
||||
|
||||
## Additional vboxes of type "radio_pref" or "check_pref" can be
|
||||
## added here, to add additional creator-defined preferences.
|
||||
|
@ -983,12 +917,6 @@ 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")
|
||||
|
@ -1009,7 +937,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 or config.has_ui:
|
||||
if config.has_music or config.has_sound or config.has_voice:
|
||||
null height gui.pref_spacing
|
||||
|
||||
textbutton _("Mute All"):
|
||||
|
@ -1213,10 +1141,10 @@ screen extrasnavigation():
|
|||
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") ]
|
||||
[ "Return", ShowMenu("main_menu") ]
|
||||
] )
|
||||
|
||||
## Help screen #################################################################
|
||||
|
@ -1431,8 +1359,8 @@ screen confirm(message, yes_action, no_action):
|
|||
xalign 0.5
|
||||
spacing 150
|
||||
|
||||
textbutton _("Yes") activate_sound "audio/ui/uiClick.wav" action yes_action
|
||||
textbutton _("No") activate_sound "audio/ui/uiBack.wav" action no_action
|
||||
textbutton _("Yes") action yes_action
|
||||
textbutton _("No") action no_action
|
||||
|
||||
## Right-click and escape answer "no".
|
||||
key "game_menu" action no_action
|
||||
|
@ -1731,9 +1659,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:
|
||||
|
|
|
@ -29,6 +29,13 @@ init python:
|
|||
picked = random.randint(0,length - 1)
|
||||
fileName = files[picked]
|
||||
renpy.show(fileName, at_list=[randPosition])
|
||||
# extra music channel so we can do crossfade instead of fadeout followed by fadein
|
||||
# TODO: function for stopping both channels with optional fadeout so we don't have to keep track of which channel is playing
|
||||
renpy.music.register_channel("music1","music",True,tight=True)
|
||||
# allows playing looped ambience alongside music
|
||||
renpy.music.register_channel("ambient","sfx",True,tight=True)
|
||||
renpy.music.register_channel("ambient1","sfx",True,tight=True)
|
||||
renpy.music.register_channel("ambient2","sfx",True,tight=True)
|
||||
if persistent.scroll == True:
|
||||
config.keymap['dismiss'].append('mousedown_4')
|
||||
|
||||
|
@ -86,35 +93,57 @@ transform randPosition:
|
|||
# attribute guitar:
|
||||
# "guitar.webp"
|
||||
|
||||
# Click-to-continue icons / animations
|
||||
# TODO: settle on a position/animation that people like
|
||||
image ctc_end_marker:
|
||||
"pickicon2"
|
||||
# xalign 0.925 yalign 0.98
|
||||
alpha 0
|
||||
linear 0.25 alpha 1
|
||||
# linear 0.5 alpha 0
|
||||
# repeat
|
||||
image ctc_mid_marker:
|
||||
"pickicon2"
|
||||
# xalign 0.925 yalign 0.98
|
||||
alpha 0
|
||||
linear 0.25 alpha 1
|
||||
# linear 0.5 alpha 0
|
||||
# repeat
|
||||
|
||||
#Raw Image & kwargs for long textboxes
|
||||
define long_textbox_img = Image("gui/textbox_long.png", xalign=0.5, yalign=1.0)
|
||||
define long_textbox = { "window_background": long_textbox_img, 'namebox_style': "namebox_large" }
|
||||
|
||||
#Characters
|
||||
define A = Character ('Anon',color="#36E12D", who_outlines=[(1, '#0C300A')]) # Light Green
|
||||
define F = Character ('Fang',color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
|
||||
define Lucy = Character ('Lucy',color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
|
||||
define Ro = Character ('Rosa',color="#FE712B", who_outlines=[(1, '#3D1809')]) # Red-Orange
|
||||
define St = Character ('Stella',color="#D2FFAA", who_outlines=[(1, '#203011')]) # Light Green
|
||||
define N = Character ('Naomi',color="#F8B9A0", who_outlines=[(1, '#291A1B')]) # Peach
|
||||
define Nas = Character ('Naser',color="#F89E38", who_outlines=[(1, '#2D2D2D')]) # Orange
|
||||
define T = Character ('Trish',color="#B675E6", who_outlines=[(1, '#1F0632')]) # Purple
|
||||
define Attendant = Character ('Attendant',color="#8A0036", who_outlines=[(1, '#FFFFFF')]) # Maroon
|
||||
define Sp = Character ('Spears',color="#C4C3C3", who_outlines=[(1, '#272727')]) # Light Grey
|
||||
define Re = Character ('Reed',color="#ED4C5B", who_outlines=[(1, '#361013')]) # Bright Red
|
||||
define D = Character ('Driver',color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
|
||||
define FM = Character ('Fangs Mom',color="#FFD8F6", who_outlines=[(1, '#361730')]) # Bright Pink
|
||||
define FD = Character ('Fangs Dad',color="#D8A09A", who_outlines=[(1, '#190E0F')]) # Desaturated Orange
|
||||
define Tsuki = Character ('Mr. Tsuki',color="#A7F2A2", who_outlines=[(1, '#320E3B')]) # Pear Green
|
||||
define unknown = Character ('(???)',color="#000000", who_outlines=[(1, '#FFFFFF')]) # Black
|
||||
define jingo = Character ('Mr. Jingo',color="#CD8283", who_outlines=[(1, '#0F0D49')]) # Desaturated Red
|
||||
define MaitD = Character ('Maitre D',color="#241630", who_outlines=[(1, '#241630')]) # Cobalt Blue
|
||||
define Moe = Character('Moe',color="#A5BEED", who_outlines=[(1, '#342210')]) # Desaturated Blue
|
||||
define Vince = Character ('Vince',color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
|
||||
define Waitress = Character ('Waitress',color="#F691C8", who_outlines=[(1, '#402E3A')]) # Pink
|
||||
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 I = Character(kind=base) # for internal dialogue i.e narration. Required for CTC indicators working with Anon's thoughts
|
||||
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
|
||||
#long TB chars
|
||||
define AnonAndFang = Character('Anon and Fang',color="72DFA8", who_outlines=[(1, '#113623')])
|
||||
define SV = Character ('Street Vendor',color="#F8E120", who_outlines=[(1, '#361504')])
|
||||
define carl = Character ('Mr. Carldewskii',color="#E19E40", who_outlines=[(1, '#03223B')])
|
||||
define Drf = Character ('Dr. Fernsworth',color="#253354", who_outlines=[(1, '#334573')])
|
||||
define FRT = Character ('Fang Reed & Trish',color="#4963A5", who_outlines=[(1, '#FFFFFF')])
|
||||
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')])
|
||||
|
||||
#Extra image translations
|
||||
#siloettes
|
||||
|
@ -122,6 +151,7 @@ image stellaSilo = im.Flip(im.MatrixColor("stella/stella neutral.png",im.matrix.
|
|||
image rosaSilo = im.MatrixColor("rosa/rosa neutral.png",im.matrix.brightness(-1))
|
||||
image naomiSilo = im.MatrixColor("naomi/naomi neutral.png",im.matrix.brightness(-1))
|
||||
image naserSilo = im.Flip(im.MatrixColor("naser/naser neutral.png",im.matrix.brightness(-1)), horizontal=True)
|
||||
image naserSiloShocked = im.Flip(im.MatrixColor("naser/naser shocked.png",im.matrix.brightness(-1)), horizontal=True)
|
||||
image fangSilo = im.MatrixColor("fang/basic set/fang neutral.png",im.matrix.brightness(-1))
|
||||
image fangAngrySilo = im.MatrixColor("fang/basic set/fang angry.png",im.matrix.brightness(-1))
|
||||
|
||||
|
@ -197,6 +227,7 @@ image reed sad flip = im.Flip("reed/reed sad.png", horizontal=True)
|
|||
|
||||
#shocked flips
|
||||
image anon shocked flip = im.Flip("anon/emotive set/anon shocked.png", horizontal=True)
|
||||
image anon ohshit flip = im.Flip("anon/base set/anon ohshit.png", horizontal=True)
|
||||
image fang shocked flip = im.Flip("fang/emotive set/fang shocked.png", horizontal=True)
|
||||
image fang c shocked flip = im.Flip("fang/future sets/fang c shocked.png", horizontal=True)
|
||||
image reed shocked flip = im.Flip("reed/reed shocked.png", horizontal=True)
|
||||
|
@ -210,6 +241,8 @@ image reed considering flip = im.Flip("reed/reed considering.png", horizontal=Tr
|
|||
image naser considering flip = im.Flip("naser/naser considering.png", horizontal=True)
|
||||
image naomi considering flip = im.Flip("naomi/naomi considering.png", horizontal=True)
|
||||
image rosa considering flip = im.Flip("rosa/rosa considering.png", horizontal=True)
|
||||
image trish considering flip = im.Flip("trish/trish considering.png", horizontal=True)
|
||||
image stella considering flip = im.Flip("stella/stella considering.png", horizontal=True)
|
||||
|
||||
#happy flips
|
||||
image fang happy flip = im.Flip("fang/basic set/fang happy.png", horizontal=True)
|
||||
|
@ -226,6 +259,7 @@ image naomi prom happy flip = im.Flip("naomi/naomi prom happy.png", horizontal=T
|
|||
image reed happy flip = im.Flip("reed/reed happy.png", horizontal=True)
|
||||
image reed happy sunglasses flip = im.Flip("reed/reed happy sunglasses.png", horizontal=True)
|
||||
image anon face happy flip = im.Flip("anon/base set/anon face happy.png", horizontal=True)
|
||||
image anon happy flip = im.Flip("anon/emotive set/anon happy.png", horizontal=True)
|
||||
image trish future smug flip = im.Flip("trish/trish future smug.png", horizontal=True)
|
||||
image trish prom happy flip = im.Flip("trish/trish prom happy.png", horizontal=True)
|
||||
image stella happy flip = im.Flip("stella/stella happy.png", horizontal=True)
|
||||
|
@ -257,7 +291,7 @@ image stella unimpressed flip = im.Flip("stella/stella unimpressed.png", horizon
|
|||
image trish future unimpressed flip = im.Flip("trish/trish future unimpressed.png", horizontal=True)
|
||||
image fangdad unimpressed flip = im.Flip("fangparents/fangdad unimpressed.png", horizontal=True)
|
||||
image fangmom unimpressed flip = im.Flip("fangparents/fangmom unimpressed.png", horizontal=True)
|
||||
|
||||
image rosa unimpressed flip = im.Flip("rosa/rosa unimpressed.png", horizontal=True)
|
||||
|
||||
#annoyed flip
|
||||
image naser annoyed flip = im.Flip("naser/naser annoyed.png", horizontal=True)
|
||||
|
@ -271,9 +305,11 @@ image fang hiding flip = im.Flip("fang/emotive set/fang hiding.png", horizontal=
|
|||
|
||||
#indignant flip
|
||||
image trish prom indignant flip = im.Flip("trish/trish prom indignant.png", horizontal=True)
|
||||
image trish indignant flip = im.Flip("trish/trish indignant.png", horizontal=True)
|
||||
|
||||
#surprised flip
|
||||
image fang surprised flip = im.Flip("fang/basic set/fang surprised.png", horizontal=True)
|
||||
image trish surprised flip = im.Flip("trish/trish surprised.png", horizontal=True)
|
||||
|
||||
|
||||
#other flips
|
||||
|
@ -290,9 +326,13 @@ image jinflip = im.Flip("other/jin.png", horizontal=True)
|
|||
image farnsworth flip = im.Flip("other/farnsworth.png", horizontal=True)
|
||||
image carldelewski flip = im.Flip("other/carldelewski.png", horizontal=True)
|
||||
image fangdad unimpressed flip = im.Flip("fangparents/fangdad unimpressed.png", horizontal=True)
|
||||
image naser handout flip = im.Flip("naser/naser handout.png", horizontal=True)
|
||||
|
||||
|
||||
# vfx
|
||||
image black = "#000"
|
||||
image dimmer_lighter = "#00000033"
|
||||
image dimmer_light = "#00000066"
|
||||
image dimmer_darker = "#00000088"
|
||||
|
||||
#WAOH ITS THE TITLE SCREEN!!!!
|
||||
label splashscreen:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
label chapter_7:
|
||||
#Concert Day
|
||||
"-One Week Later-"
|
||||
I "{cps=*0.2}-- One Week Later --{/cps}"
|
||||
pause .6
|
||||
|
||||
scene moes pizza
|
||||
show anon neutral at aright
|
||||
|
@ -13,30 +14,38 @@ label chapter_7:
|
|||
"More excitement from Fang and the band and trepidation on my part around Fang."
|
||||
|
||||
"Having come to terms with how I feel, I just can’t stop noticing all the little things she does."
|
||||
pause .5
|
||||
|
||||
"Like her cute tail wagging to a silent tune."
|
||||
pause .5
|
||||
|
||||
"Or her weird and funny way of eating."
|
||||
pause .5
|
||||
|
||||
"Or how soft and huggable her wings look."
|
||||
pause .5
|
||||
|
||||
"Raptor Jesus, if this is what love is I kind of want to sample buckshot."
|
||||
pause .5
|
||||
|
||||
"And yet I don’t want it to stop."
|
||||
|
||||
"Even now as Moe and Reed work on clearing the floor of tables and making a noise."
|
||||
|
||||
"And I’m drooling like an idiot as I watch Fang bend over a large Amp."
|
||||
pause .5
|
||||
|
||||
unknown "Ahem"
|
||||
|
||||
"Even now her tail wags to that mysterious beat in her head."
|
||||
pause .5
|
||||
|
||||
unknown "AHEM"
|
||||
|
||||
"Not to mention the way those jeans hug her hips and ass-"
|
||||
|
||||
unknown "AH-HEM!"
|
||||
pause .5
|
||||
|
||||
unknown "AH-{b}HEM!{/b}{w=.3}"
|
||||
|
||||
A "Hm?"
|
||||
show anon neutral flip with dissolve
|
||||
|
@ -105,7 +114,7 @@ label chapter_7:
|
|||
|
||||
"Stella gives me a quizzical look and glances down at her shirt, her face turning bright red."
|
||||
|
||||
St "Oh my… th-this was the only clean shirt I had…"
|
||||
St "Oh my…{w=.4} th-this was the only clean shirt I had…"
|
||||
|
||||
"If I didn’t feel the way I did about Fang, I’d think Stella’s stammering was kinda cute."
|
||||
|
||||
|
@ -133,7 +142,7 @@ label chapter_7:
|
|||
|
||||
St "Oooh, we should watch it together sometime!"
|
||||
|
||||
St "I have the box set of every season!"
|
||||
St "I have the box set of {i}every{/i} season!"
|
||||
|
||||
St "We could marathon it over a long weekend or something!"
|
||||
|
||||
|
@ -200,6 +209,7 @@ label chapter_7:
|
|||
hide stella neutral alt flip
|
||||
show stella neutral alt at sright
|
||||
hide stella with moveoutright
|
||||
play sound 'audio/effects/whoosh.ogg'
|
||||
|
||||
"She flees in denim pissing fear."
|
||||
stop music fadeout 1.0
|
||||
|
@ -222,8 +232,9 @@ label chapter_7:
|
|||
|
||||
|
||||
"And then promptly trip."
|
||||
#anon fall
|
||||
|
||||
#anon fall
|
||||
play sound 'audio/effects/anonDumbassFall.ogg'
|
||||
"*FWAP*"
|
||||
|
||||
A "Argh!"
|
||||
|
@ -285,7 +296,7 @@ label chapter_7:
|
|||
T "...Reed’s."
|
||||
|
||||
A "..."
|
||||
|
||||
pause .5
|
||||
T "..."
|
||||
|
||||
A "And you trust his word on something like this?"
|
||||
|
@ -316,7 +327,7 @@ label chapter_7:
|
|||
|
||||
label LeaveStageAsIs:
|
||||
$ anonscore += 1
|
||||
"Reed may not understand cable management, but then again neither did I."
|
||||
"Reed may not understand cable management,{w=.4} but then again neither did I."
|
||||
|
||||
"Probably better to let sleeping fossils lie."
|
||||
|
||||
|
@ -332,7 +343,7 @@ label chapter_7:
|
|||
|
||||
"I’ll just put them all on one of Moe’s surge protectors."
|
||||
|
||||
"Aaaaaand done."
|
||||
"{cps=*0.5}Aaaaaand{/cps} done."
|
||||
|
||||
label PostCableConundrum:
|
||||
|
||||
|
@ -404,7 +415,7 @@ label chapter_7:
|
|||
show trish fury flip with dissolve:
|
||||
xalign 0.5 yalign 10.0
|
||||
|
||||
T "YOU CAN’T USE THAT WORD, THAT’S OUR WORD!"
|
||||
T "YOU CAN’T USE THAT WORD, THAT’S {b}OUR{/b} WORD!"
|
||||
|
||||
show trish angry flip at tcenter with dissolve
|
||||
|
||||
|
@ -548,7 +559,7 @@ label chapter_7:
|
|||
|
||||
show fang happy flip with dissolve
|
||||
|
||||
F "What? It was great though! Everyone was cheering!"
|
||||
F "What? {w=0.2} It was great though! Everyone was cheering!"
|
||||
|
||||
show trish indignant with dissolve
|
||||
|
||||
|
@ -570,7 +581,7 @@ label chapter_7:
|
|||
|
||||
A "Have you sold much?"
|
||||
|
||||
T "Three buttons, four stickers, and an Apron!"
|
||||
T "Three buttons, four stickers, {w=.2} and an Apron!"
|
||||
|
||||
A "An apron?"
|
||||
|
||||
|
@ -827,7 +838,7 @@ label chapter_7:
|
|||
|
||||
show reed neutral flip at rright with moveinright
|
||||
|
||||
Re "Yooo, Anon!"
|
||||
Re "Yooo, {w=.3} Anon!"
|
||||
|
||||
"Reed crosses right through the puddles, tracking grimy footprints without a care."
|
||||
|
||||
|
@ -865,7 +876,7 @@ label chapter_7:
|
|||
|
||||
Re "Honestly… That’s probably something to be left for Fang and Fang alone to talk about… Sorry."
|
||||
|
||||
A "Er… riiiiiight."
|
||||
A "Er… ri{cps=*0.7}iiiii{/cps}ght."
|
||||
|
||||
Re "Only thing that stayed the same was like... me and my carfe, bro."
|
||||
|
||||
|
@ -939,7 +950,7 @@ label chapter_7:
|
|||
T "By the way Anon, I saw you talking to that Stella girl before the concert. You have something going on there?"
|
||||
|
||||
"I feel a pit in my stomach as a look of betrayal crosses Fang’s face."
|
||||
|
||||
play sound 'audio/effects/heartbeat.ogg' fadein 1.0
|
||||
"Right into Trish’s trap, hook, line, sinker and rod."
|
||||
|
||||
menu:
|
||||
|
@ -959,7 +970,7 @@ label chapter_7:
|
|||
A "I do NOT have a thing for Incontineisha."
|
||||
"No.":
|
||||
A "I do NOT have a thing for Incontineisha."
|
||||
|
||||
stop sound fadeout 1.0
|
||||
Re "Who?... Thought like, we were talkin’ bout whatsherface."
|
||||
|
||||
T "The one with the Dino Duel cards."
|
||||
|
@ -984,7 +995,7 @@ label chapter_7:
|
|||
|
||||
play music 'audio/OST/you can_t sage here.ogg' fadein 1.0
|
||||
"SHIT."
|
||||
|
||||
play sound 'audio/effects/heartbeat.ogg' fadein 1.0
|
||||
A "O-oh, I haven’t? Huh."
|
||||
|
||||
F "Who really cares where you went to last?"
|
||||
|
@ -1022,7 +1033,7 @@ label chapter_7:
|
|||
"DON’T SAY SOMETHING STUPID YOU ONLY GET ONE SHOT AT THIS."
|
||||
|
||||
A "Family issues."
|
||||
|
||||
stop sound fadeout 0.5
|
||||
"Nailed it."
|
||||
|
||||
Re "Bummer man… glad you’re here instead."
|
||||
|
|
|
@ -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']) activate_sound "audio/ui/uiClick.wav" action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
elif eval(cp['eval']):
|
||||
textbutton _(cp['name']) activate_sound "audio/ui/uiClick.wav" action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
|
||||
else:
|
||||
textbutton _(cp['name']) text_xalign 0.5
|
||||
textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action ShowMenu('main_menu') text_xalign 0.5
|
||||
textbutton _("Return") action ShowMenu('main_menu') text_xalign 0.5
|
||||
|
||||
if _in_replay:
|
||||
textbutton _("End Replay") activate_sound "audio/ui/uiBack.wav" action EndReplay(confirm=True)
|
||||
textbutton _("End Replay") action EndReplay(confirm=True)
|
||||
elif not main_menu:
|
||||
textbutton _("Main Menu") activate_sound "audio/ui/uiBack.wav" action MainMenu()
|
||||
textbutton _("Main Menu") action MainMenu()
|
||||
|
||||
transform:
|
||||
zoom 0.95
|
||||
|
|
|
@ -10,10 +10,6 @@ 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
|
||||
|
|
12
game/utility.rpy
Normal file
|
@ -0,0 +1,12 @@
|
|||
## Utility functions for game setup, debugging etc.
|
||||
|
||||
|
||||
label initstats(anon=0, fang=0, trad=False):
|
||||
# Sets various game-related global variables
|
||||
# :param int anon: Anon's score
|
||||
# :param int fang: Fang's score
|
||||
# :param bool trad: Tradwife ending flag
|
||||
$ anonscore = anon
|
||||
$ fangscore = fang
|
||||
$ tradwife = trad
|
||||
return
|