mirror of
https://git.cavemanon.xyz/Cavemanon/SnootGame.git
synced 2025-01-22 17:26:20 +01:00
330 lines
12 KiB
Text
330 lines
12 KiB
Text
#TODO
|
|
#<strike>add chadshark</strike>
|
|
#The game needs something like a CG gallery, if only to track your progress.
|
|
#remove sex
|
|
#troll /adgd/
|
|
#idk debug lol
|
|
#just like make game
|
|
#??????
|
|
#Profit&Export
|
|
#/usr/bin/touch gf - cannot touch 'gf': Permission denied
|
|
|
|
#To whoever looked at the old script file of this, woe be upon ye, because it was an absolute clusterfuck. story scripts are now in the script directory. everything here is just boilerplate code for characters, scenes, transitions, and whatnot.
|
|
#Even then (extending to definitions.rpy), it's incredibly inconsistant with how things are named, how things are set up, and there's definitely a lot of optimization that could be had and refactoring needed.
|
|
#Why yes all my code was formerly in one massive file called "script" thats 28k lines long, how could you tell?
|
|
#Licensed under the GNU AGPL v3, for more information check snootgame.xyz or the LICENSE file that should have came with this work.
|
|
|
|
init -1 python:
|
|
# Modding Support variables
|
|
# All mod rpy files must run a small init python script
|
|
mod_dir = "mods/"
|
|
mod_menu_access = []
|
|
|
|
init python:
|
|
|
|
import random
|
|
import webbrowser
|
|
#function for insult layers
|
|
def showCG():
|
|
files = ["text1", "text2", "text3", "text4", "text5", "text6", "text7", "text8", "text9"]
|
|
length = len(files)
|
|
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)
|
|
renpy.music.register_channel("music2","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)
|
|
renpy.music.register_channel("ambient3","sfx",True,tight=True)
|
|
if persistent.scroll == True:
|
|
config.keymap['dismiss'].append('mousedown_4')
|
|
elif persistent.scroll == None:
|
|
persistent.scroll = False
|
|
|
|
if persistent.lewd == None:
|
|
persistent.lewd = False
|
|
|
|
if persistent.autoup == None:
|
|
persistent.autoup = False
|
|
|
|
if persistent.bonus_chapters == None:
|
|
if renpy.seen_image("big ending"): #for returning players
|
|
persistent.bonus_chapters = 0b111111111
|
|
persistent.old_bonus_chapters = 0b111111111
|
|
else:
|
|
persistent.bonus_chapters = 0b0
|
|
persistent.old_bonus_chapters = 0b0
|
|
|
|
def randomize_choices(choices):
|
|
# fine for size of 2
|
|
if (renpy.random.randint(0, 1)):
|
|
choices.reverse()
|
|
return choices
|
|
|
|
pass
|
|
|
|
transform randPosition:
|
|
alpha 0.0
|
|
xalign random.uniform(0.2,0.8)
|
|
yalign random.uniform(0.2,0.8)
|
|
linear 0.6 alpha 1.0
|
|
linear 1.0 alpha 0.0
|
|
|
|
|
|
#python:
|
|
# def Walking( name ):
|
|
# show name:
|
|
# xalign 0.2 yalign 0.25
|
|
# ease 1.0 yalign 0.0
|
|
# ease 1.0 yalign 0.25
|
|
# repeat
|
|
|
|
|
|
#layeredimage aquariumexhibit:
|
|
#group animals:
|
|
# attribute babyTurtle:
|
|
# attribute octo:
|
|
# attribute
|
|
# attribute
|
|
# attribute
|
|
# attribute
|
|
|
|
#layeredimage aquarium
|
|
#group kids:
|
|
# attribute wkids:
|
|
# "smolpatrol.webp"
|
|
|
|
#layeredimage anon:
|
|
# group face:
|
|
# attribute neutralFace default:
|
|
# "anonb1f1.webp"
|
|
# attribute happyFace:
|
|
# "anonhappyface.webp"
|
|
# attribute flipNeutralFace:
|
|
# "flipanonb1f1.webp"
|
|
# attribute flipHappyFace:
|
|
# "flipanonhappyface.webp"
|
|
# group body:
|
|
# attribute neutralBody default:
|
|
# "anonspriteneutral.webp"
|
|
# attribute thumbsUp:
|
|
# "anonspritethumbsup.webp"
|
|
# attribute flipThumbsUp:
|
|
# "flipanonspritethumbsup.webp"
|
|
# attribute:
|
|
# "flipanonspriteneutral.webp"
|
|
# attribute monkey:
|
|
# "monkeyanon.webp"
|
|
# group holding:
|
|
# attribute guitar:
|
|
# "guitar.webp"
|
|
|
|
# Click-to-continue icons / animations
|
|
# TODO: settle on a position/animation that people like
|
|
|
|
|
|
#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 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=[(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 LM = Character (_("Lucy's Mom"), base, color="#FFD8F6", who_outlines=[(gui.name_text_thickness, '#521947')]) # Bright Pink
|
|
define LD = Character (_("Lucy'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=[(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
|
|
define FangAndTrish = Character(_('Fang and Trish'), base, color="#42DFA8", who_outlines=[(gui.name_text_thickness, '#183623')])
|
|
define NaserAndNaomi = Character(_('Naser and Naomi'), base, color="#22DFA8", who_outlines=[(gui.name_text_thickness, '#2036B3')])
|
|
define TeamMember = Character(_('Team member'), base, color="#D32552", who_outlines=[(gui.name_text_thickness, '#445F42')])
|
|
define Everyone = Character(_('Everyone'), base, color="#A45489", who_outline=[(gui.name_text_thickness, '#4F5F81')])
|
|
define Chet = Character(_('Chet'), base, color="#B45411", who_outline=[(gui.name_text_thickness, '#BF5F81')])
|
|
|
|
|
|
#Custom Vars for positions
|
|
transform scenter:
|
|
xalign 0.5 yalign 0.0
|
|
transform sleft:
|
|
xalign 0.0 yalign 0.0
|
|
transform sright:
|
|
xalign 1.0 yalign 0.0
|
|
|
|
#Stella
|
|
transform stcenter:
|
|
xalign 0.5 yalign 0.1
|
|
transform stleft:
|
|
xalign 0.0 yalign 0.1
|
|
transform stright:
|
|
xalign 1.0 yalign 0.1
|
|
|
|
#Anon
|
|
transform acenter:
|
|
xalign 0.5 yalign 0.1
|
|
transform aleft:
|
|
xalign 0.0 yalign 0.1
|
|
transform aright:
|
|
xalign 1.0 yalign 0.1
|
|
|
|
#Naser
|
|
transform ncenter:
|
|
xalign 0.6 yalign 0.1
|
|
transform nleft:
|
|
xalign -0.2 yalign 0.1
|
|
transform nright:
|
|
xalign 1.9 yalign 0.1
|
|
|
|
#Fangs mom
|
|
transform fmcenter:
|
|
xalign 0.5 yalign 0.1
|
|
transform fmleft:
|
|
xalign 0.0 yalign 0.1
|
|
transform fmright:
|
|
xalign 1.0 yalign 0.1
|
|
|
|
#Trish
|
|
transform tcenter:
|
|
xalign 0.5 yalign 0.1
|
|
transform tleft:
|
|
xalign 0.0 yalign 0.1
|
|
transform tright:
|
|
xalign 1.0 yalign 0.1
|
|
|
|
#Reed and other long tailed dinos
|
|
transform rcenter:
|
|
xalign 1.2 yalign 0.1
|
|
transform rleft:
|
|
xalign -0.2 yalign 0.1
|
|
transform rright:
|
|
xalign 1.7 yalign 0.1
|
|
|
|
#misc transforms
|
|
transform shudder:
|
|
subpixel True
|
|
around (.5, .5) alignaround (.5, .5) xalign .5 yalign .5
|
|
rotate 0
|
|
linear 0.0 rotate -0.75
|
|
block:
|
|
linear 0.04 rotate 0.75
|
|
linear 0.05 rotate -0.75
|
|
linear 0.07 rotate 0
|
|
|
|
transform turnaround:
|
|
linear 0.1 xzoom -1.0
|
|
|
|
transform wiggle:
|
|
subpixel True
|
|
block:
|
|
xpos 0.5 ypos 1.0 xanchor 0.5 yanchor 1.0 zoom 1.02
|
|
alignaround (.5, .5)
|
|
linear 10.0 yalign 1.0 clockwise circles 1
|
|
repeat
|
|
|
|
|
|
transform raymbatransform:
|
|
xcenter 0.6 ycenter 0.385 zoom 0.5
|
|
|
|
# PHONE SCROLLING
|
|
|
|
|
|
transform cursortransform:
|
|
block:
|
|
yalign 0.2 xalign 0.60
|
|
pause .25
|
|
easein_cubic 1 yalign 0.75 xalign 0.54
|
|
pause .5
|
|
repeat
|
|
|
|
screen prompt():
|
|
fixed:
|
|
add "cursor"
|
|
|
|
screen mousedetect():
|
|
transform: # thanks based nutbuster
|
|
zoom 0.8
|
|
rotate 12.5
|
|
mousearea:
|
|
ypos -75
|
|
area(432, 0, 795, 1100)
|
|
# xalign 0.5 yanchor 0 ypos 0
|
|
hovered Hide("prompt" )
|
|
unhovered Show("prompt")
|
|
|
|
screen textscroll():
|
|
timer 2.0 action(Show("mousedetect"), Show("prompt"))
|
|
|
|
add Solid("FFF")
|
|
|
|
transform:
|
|
zoom 0.8
|
|
rotate 12.5
|
|
viewport:
|
|
xalign 0.51 yanchor 0 ypos -75 xysize(795, 1150)
|
|
child_size(795, 7650)
|
|
draggable True
|
|
arrowkeys True
|
|
# edgescroll(400, 800)
|
|
|
|
yinitial 1.0
|
|
|
|
imagebutton auto "fangbutton%s" xalign 0.53 yalign 0.5:
|
|
ypos 65+(int(107/2))
|
|
xsize 284
|
|
ysize 107
|
|
action (Hide("mousedetect"), Hide("prompt"), Hide("textscroll", transition=Dissolve(1.0)), Return())
|
|
add "texts"
|
|
|
|
add "fang phone"
|
|
|
|
|
|
# Naser's position when helping Anon get up
|
|
transform nmidright:
|
|
xalign 1.5 yalign 0.08
|
|
|
|
# Naomi's position when handing the brochure to Anon
|
|
transform scloserleft:
|
|
xalign 0.1 yalign 0.0
|
|
|
|
|
|
|
|
label start:
|
|
$ fangscore = 0
|
|
$ anonscore = 0
|
|
$ tradwife = False
|
|
$ wingStory = False
|
|
pause 1.0
|
|
call storyline from _call_storyline
|