diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 028a1e8..0000000 --- a/.travis.yml +++ /dev/null @@ -1,60 +0,0 @@ -language: python -python: - - "2.7" - -sudo: required - -# Travis build script for RenPy -# based on Monika-After-Story script. - -# This is the install stage -# All your dependencies go here. We have done the RenPy SDK part done for you. - -install: - - cd .. - - wget https://www.renpy.org/dl/6.99.12.4/renpy-6.99.12.4-sdk.tar.bz2 - - tar xf renpy-6.99.12.4-sdk.tar.bz2 - - rm renpy-6.99.12.4-sdk.tar.bz2 - - mv renpy-6.99.12.4-sdk renpy - - # now this is where it gets interesting - # we're copying over the template files into the renpy SDK - # and CD into the renpy - - - bash ./ddcc/travis/setup.sh - - - cp -vRf ddcc/* mod/game - - - bash ddcc/travis/inject_version.sh - - - bash ddcc/travis/patch_renpy.sh - - - - cd renpy - - -env: - # this is required as there was build issues without this, don't remove this. - - SDL_AUDIODRIVER=dummy SDL_VIDEODRIVER=dummy - -# This is the script part. This is where the actual building is happening. -# This produces an artifact which we'll use later on to publish a release. - -script: ./renpy.sh "../mod/" lint && ./renpy.sh launcher distribute "../mod/" && cd .. - - -# This is where the actual releases happen. Travis has the ability to publish releases from GitHub, Amazon S3, OpenShift, etc. -# Read on https://docs.travis-ci.com/user/deployment/releases/ to learn more -# For this type of configuration, we're using the GitHub releases schema - -deploy: - provider: releases - api_key: - # DO NOT CHANGE THIS! Travis can replace this since it's a Environment Variable. - # Head to Settings > Environment variables and set this. - secure: $GITHUB_API_KEY - file_glob: true - file: "*-dists/*Mod.zip" - skip_cleanup: true - on: - tags: true # your mods only builds and uploads releases on a GitHub Git tag so make sure you tag and release accordingly! \ No newline at end of file diff --git a/ddcc.rpy b/ddcc.rpy index 4796496..b01a355 100644 --- a/ddcc.rpy +++ b/ddcc.rpy @@ -5,7 +5,8 @@ init -200 python: "What is DDCC?", # Title "ddcc", # Label "club_date", #Thumbnail - "The DDCC Team" + "The DDCC Team", + skit_position = 19 ) ## The Explanation diff --git a/definitions-cokie.rpy b/definitions-cokie.rpy index b6d39a5..1139a87 100644 --- a/definitions-cokie.rpy +++ b/definitions-cokie.rpy @@ -1,6 +1,4 @@ - -define audio.cokie_bgm01 = "mod_assets/cokie/cokie_bgm01.ogg" # Earthbound - Pokey's House. define audio.cokie_sfx_whoosh = "mod_assets/cokie/cokie_sfx_whoosh.wav" #Whoosh SFX from Microsoft Office PowerPoint. image cokie_n_cookie = "mod_assets/cokie/cokie_n_cookie.png" #Cookie sprite from Cookie Cliker. diff --git a/definitions-originalscript.rpy b/definitions-originalscript.rpy new file mode 100644 index 0000000..3359fe9 --- /dev/null +++ b/definitions-originalscript.rpy @@ -0,0 +1,159 @@ +# DiabloGraves -- I yanked these out of the original script because fast-forward uses them +# if you do anything else with Monika in the spaceroom or ghost Natsuki these will probably come in handy. + +init python: + class RectCluster(object): + def __init__(self, theDisplayable, numRects=12, areaWidth = 30, areaHeight = 30): + self.sm = SpriteManager(update=self.update) + self.rects = [ ] + self.displayable = theDisplayable + self.numRects = numRects + self.areaWidth = areaWidth + self.areaHeight = areaHeight + + for i in range(self.numRects): + self.add(self.displayable) + + def add(self, d): + s = self.sm.create(d) + s.x = (random.random() - 0.5) * self.areaWidth * 2 + s.y = (random.random() - 0.5) * self.areaHeight * 2 + s.width = random.random() * self.areaWidth / 2 + s.height = random.random() * self.areaHeight / 2 + self.rects.append(s) + + def update(self, st): + for s in self.rects: + s.x = (random.random() - 0.5) * self.areaWidth * 2 + s.y = (random.random() - 0.5) * self.areaHeight * 2 + s.width = random.random() * self.areaWidth / 2 + s.height = random.random() * self.areaHeight / 2 + return 0 + +image n_rects_ghost1: + RectCluster(Solid("#000"), 4, 15, 5).sm + pos (580, 270) + size (20, 25) + alpha 0.0 + 8.0 + easeout 12 alpha 1.0 + +image n_rects_ghost2: + RectCluster(Solid("#000"), 4, 15, 5).sm + pos (652, 264) + size (20, 25) + alpha 0.0 + 8.0 + easeout 12 alpha 1.0 + +image n_rects_ghost3: + RectCluster(Solid("#000"), 4, 15, 5).sm + pos (616, 310) + size (25, 15) + alpha 0.0 + 8.0 + easeout 12 alpha 1.0 + +image n_rects_ghost4: + RectCluster(Solid("#000"), 4, 15, 5).sm + pos (735, 310) + size (25, 20) + 0.5 + easeout 0.25 zoom 4.5 xoffset 250 yoffset -250 + +image n_rects_ghost5: + RectCluster(Solid("#000"), 4, 15, 5).sm + pos (740, 376) + size (25, 20) + 0.5 + easeout 0.25 zoom 4.5 xoffset 250 yoffset -100 + +image mask_child: + "images/cg/monika/child_2.png" + xtile 2 + +image mask_mask: + "images/cg/monika/mask.png" + xtile 3 + +image mask_mask_flip: + "images/cg/monika/mask.png" + xtile 3 xzoom -1 + + +image maskb: + "images/cg/monika/maskb.png" + xtile 3 + +image mask_test = AnimatedMask("#ff6000", "mask_mask", "maskb", 0.10, 32) +image mask_test2 = AnimatedMask("#ffffff", "mask_mask", "maskb", 0.03, 16) +image mask_test3 = AnimatedMask("#ff6000", "mask_mask_flip", "maskb", 0.10, 32) +image mask_test4 = AnimatedMask("#ffffff", "mask_mask_flip", "maskb", 0.03, 16) + +image mask_2: + "images/cg/monika/mask_2.png" + xtile 3 subpixel True + block: + xoffset 1280 + linear 1200 xoffset 0 + repeat + +image mask_3: + "images/cg/monika/mask_3.png" + xtile 3 subpixel True + block: + xoffset 1280 + linear 180 xoffset 0 + repeat + +image monika_room = "images/cg/monika/monika_room.png" +image monika_room_highlight: + "images/cg/monika/monika_room_highlight.png" + function monika_alpha +image monika_bg = "images/cg/monika/monika_bg.png" +image monika_bg_highlight: + "images/cg/monika/monika_bg_highlight.png" + function monika_alpha +image monika_scare = "images/cg/monika/monika_scare.png" + +image monika_body_glitch1: + "images/cg/monika/monika_glitch1.png" + 0.15 + "images/cg/monika/monika_glitch2.png" + 0.15 + "images/cg/monika/monika_glitch1.png" + 0.15 + "images/cg/monika/monika_glitch2.png" + 1.00 + "images/cg/monika/monika_glitch1.png" + 0.15 + "images/cg/monika/monika_glitch2.png" + 0.15 + "images/cg/monika/monika_glitch1.png" + 0.15 + "images/cg/monika/monika_glitch2.png" + +image monika_body_glitch2: + "images/cg/monika/monika_glitch3.png" + 0.15 + "images/cg/monika/monika_glitch4.png" + 0.15 + "images/cg/monika/monika_glitch3.png" + 0.15 + "images/cg/monika/monika_glitch4.png" + 1.00 + "images/cg/monika/monika_glitch3.png" + 0.15 + "images/cg/monika/monika_glitch4.png" + 0.15 + "images/cg/monika/monika_glitch3.png" + 0.15 + "images/cg/monika/monika_glitch4.png" + + +image room_glitch = "images/cg/monika/monika_bg_glitch.png" + +image room_mask = LiveComposite((1280, 720), (0, 0), "mask_test", (0, 0), "mask_test2") +image room_mask2 = LiveComposite((1280, 720), (0, 0), "mask_test3", (0, 0), "mask_test4") + + \ No newline at end of file diff --git a/definitions-stalker.rpy b/definitions-stalker.rpy deleted file mode 100644 index 07a5c56..0000000 --- a/definitions-stalker.rpy +++ /dev/null @@ -1,287 +0,0 @@ -#Definitions for "Stalker" by Karl - -#Music -define audio.stalker = "mod_assets/stalker/stalker_bgm01.ogg" - -#Backgrounds -image bg stalker_bg = "mod_assets/stalker/stalker_bg01.png" -image bg stalker_bg2 = "mod_assets/stalker/stalker_bg02.png" - -#Custom Character Sprites -image sayori 1sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/a.png") -image sayori 1sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/b.png") -image sayori 1sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/c.png") -image sayori 1sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/d.png") -image sayori 1se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/e.png") -image sayori 1sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/f.png") -image sayori 1sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/g.png") -image sayori 1sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/h.png") -image sayori 1si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/i.png") -image sayori 1sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/j.png") -image sayori 1sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/k.png") -image sayori 1sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/l.png") -image sayori 1sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/m.png") -image sayori 1sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/n.png") -image sayori 1so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/o.png") -image sayori 1sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/p.png") -image sayori 1sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/q.png") -image sayori 1sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/r.png") -image sayori 1ss = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/s.png") -image sayori 1st = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/t.png") -image sayori 1su = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/u.png") -image sayori 1sv = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/v.png") -image sayori 1sw = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/w.png") -image sayori 1sx = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/x.png") -image sayori 1sy = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/y.png") - -image sayori 2sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/a.png") -image sayori 2sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/b.png") -image sayori 2sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/c.png") -image sayori 2sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/d.png") -image sayori 2se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/e.png") -image sayori 2sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/f.png") -image sayori 2sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/g.png") -image sayori 2sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/h.png") -image sayori 2si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/i.png") -image sayori 2sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/j.png") -image sayori 2sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/k.png") -image sayori 2sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/l.png") -image sayori 2sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/m.png") -image sayori 2sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/n.png") -image sayori 2so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/o.png") -image sayori 2sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/p.png") -image sayori 2sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/q.png") -image sayori 2sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/r.png") -image sayori 2ss = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/s.png") -image sayori 2st = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/t.png") -image sayori 2su = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/u.png") -image sayori 2sv = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/v.png") -image sayori 2sw = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/w.png") -image sayori 2sx = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/x.png") -image sayori 2sy = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_1sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/y.png") - -image sayori 3sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/a.png") -image sayori 3sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/b.png") -image sayori 3sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/c.png") -image sayori 3sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/d.png") -image sayori 3se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/e.png") -image sayori 3sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/f.png") -image sayori 3sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/g.png") -image sayori 3sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/h.png") -image sayori 3si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/i.png") -image sayori 3sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/j.png") -image sayori 3sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/k.png") -image sayori 3sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/l.png") -image sayori 3sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/m.png") -image sayori 3sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/n.png") -image sayori 3so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/o.png") -image sayori 3sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/p.png") -image sayori 3sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/q.png") -image sayori 3sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/r.png") -image sayori 3ss = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/s.png") -image sayori 3st = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/t.png") -image sayori 3su = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/u.png") -image sayori 3sv = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/v.png") -image sayori 3sw = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/w.png") -image sayori 3sx = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/x.png") -image sayori 3sy = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_1sr.png", (0, 0), "sayori/y.png") - -image sayori 4sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/a.png") -image sayori 4sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/b.png") -image sayori 4sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/c.png") -image sayori 4sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/d.png") -image sayori 4se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/e.png") -image sayori 4sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/f.png") -image sayori 4sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/g.png") -image sayori 4sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/h.png") -image sayori 4si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/i.png") -image sayori 4sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/j.png") -image sayori 4sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/k.png") -image sayori 4sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/l.png") -image sayori 4sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/m.png") -image sayori 4sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/n.png") -image sayori 4so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/o.png") -image sayori 4sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/p.png") -image sayori 4sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/q.png") -image sayori 4sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/r.png") -image sayori 4ss = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/s.png") -image sayori 4st = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/t.png") -image sayori 4su = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/u.png") -image sayori 4sv = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/v.png") -image sayori 4sw = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/w.png") -image sayori 4sx = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/x.png") -image sayori 4sy = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_2sl.png", (0, 0), "mod_assets/stalker/sayori/stalker_s_2sr.png", (0, 0), "sayori/y.png") - -image sayori 6 = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/a.png") -image sayori 6b = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/b.png") -image sayori 6c = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/c.png") -image sayori 6d = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/d.png") -image sayori 6e = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/e.png") -image sayori 6f = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/f.png") -image sayori 6g = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/g.png") -image sayori 6h = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/h.png") -image sayori 6i = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/i.png") -image sayori 6j = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/j.png") -image sayori 6k = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/k.png") -image sayori 6l = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/l.png") -image sayori 6m = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/m.png") -image sayori 6n = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/n.png") -image sayori 6o = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/o.png") -image sayori 6p = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/p.png") -image sayori 6q = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/q.png") -image sayori 6r = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/r.png") -image sayori 6s = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/s.png") -image sayori 6t = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/t.png") -image sayori 6u = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/u.png") -image sayori 6v = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/v.png") -image sayori 6w = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/w.png") -image sayori 6x = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/x.png") -image sayori 6y = im.Composite((960, 960), (0, 0), "mod_assets/stalker/sayori/stalker_s_4s.png", (0, 0), "sayori/y.png") - -image yuri 1sa = im.Composite((960, 960), (0, 0), "yuri/a.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sb = im.Composite((960, 960), (0, 0), "yuri/b.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sc = im.Composite((960, 960), (0, 0), "yuri/c.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sd = im.Composite((960, 960), (0, 0), "yuri/d.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1se = im.Composite((960, 960), (0, 0), "yuri/e.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sf = im.Composite((960, 960), (0, 0), "yuri/f.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sg = im.Composite((960, 960), (0, 0), "yuri/g.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sh = im.Composite((960, 960), (0, 0), "yuri/h.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1si = im.Composite((960, 960), (0, 0), "yuri/i.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sj = im.Composite((960, 960), (0, 0), "yuri/j.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sk = im.Composite((960, 960), (0, 0), "yuri/k.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sl = im.Composite((960, 960), (0, 0), "yuri/l.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sm = im.Composite((960, 960), (0, 0), "yuri/m.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sn = im.Composite((960, 960), (0, 0), "yuri/n.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1so = im.Composite((960, 960), (0, 0), "yuri/o.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sp = im.Composite((960, 960), (0, 0), "yuri/p.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sq = im.Composite((960, 960), (0, 0), "yuri/q.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sr = im.Composite((960, 960), (0, 0), "yuri/r.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1ss = im.Composite((960, 960), (0, 0), "yuri/s.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1st = im.Composite((960, 960), (0, 0), "yuri/t.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1su = im.Composite((960, 960), (0, 0), "yuri/u.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sv = im.Composite((960, 960), (0, 0), "yuri/v.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") -image yuri 1sw = im.Composite((960, 960), (0, 0), "yuri/w.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sr.png") - -image yuri 2sa = im.Composite((960, 960), (0, 0), "yuri/a.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sb = im.Composite((960, 960), (0, 0), "yuri/b.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sc = im.Composite((960, 960), (0, 0), "yuri/c.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sd = im.Composite((960, 960), (0, 0), "yuri/d.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2se = im.Composite((960, 960), (0, 0), "yuri/e.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sf = im.Composite((960, 960), (0, 0), "yuri/f.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sg = im.Composite((960, 960), (0, 0), "yuri/g.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sh = im.Composite((960, 960), (0, 0), "yuri/h.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2si = im.Composite((960, 960), (0, 0), "yuri/i.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sj = im.Composite((960, 960), (0, 0), "yuri/j.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sk = im.Composite((960, 960), (0, 0), "yuri/k.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sl = im.Composite((960, 960), (0, 0), "yuri/l.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sm = im.Composite((960, 960), (0, 0), "yuri/m.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sn = im.Composite((960, 960), (0, 0), "yuri/n.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2so = im.Composite((960, 960), (0, 0), "yuri/o.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sp = im.Composite((960, 960), (0, 0), "yuri/p.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sq = im.Composite((960, 960), (0, 0), "yuri/q.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sr = im.Composite((960, 960), (0, 0), "yuri/r.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2ss = im.Composite((960, 960), (0, 0), "yuri/s.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2st = im.Composite((960, 960), (0, 0), "yuri/t.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2su = im.Composite((960, 960), (0, 0), "yuri/u.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sv = im.Composite((960, 960), (0, 0), "yuri/v.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 2sw = im.Composite((960, 960), (0, 0), "yuri/w.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_1sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") - -image yuri 3sa = im.Composite((960, 960), (0, 0), "yuri/a.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sb = im.Composite((960, 960), (0, 0), "yuri/b.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sc = im.Composite((960, 960), (0, 0), "yuri/c.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sd = im.Composite((960, 960), (0, 0), "yuri/d.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3se = im.Composite((960, 960), (0, 0), "yuri/e.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sf = im.Composite((960, 960), (0, 0), "yuri/f.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sg = im.Composite((960, 960), (0, 0), "yuri/g.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sh = im.Composite((960, 960), (0, 0), "yuri/h.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3si = im.Composite((960, 960), (0, 0), "yuri/i.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sj = im.Composite((960, 960), (0, 0), "yuri/j.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sk = im.Composite((960, 960), (0, 0), "yuri/k.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sl = im.Composite((960, 960), (0, 0), "yuri/l.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sm = im.Composite((960, 960), (0, 0), "yuri/m.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sn = im.Composite((960, 960), (0, 0), "yuri/n.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3so = im.Composite((960, 960), (0, 0), "yuri/o.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sp = im.Composite((960, 960), (0, 0), "yuri/p.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sq = im.Composite((960, 960), (0, 0), "yuri/q.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sr = im.Composite((960, 960), (0, 0), "yuri/r.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3ss = im.Composite((960, 960), (0, 0), "yuri/s.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3st = im.Composite((960, 960), (0, 0), "yuri/t.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3su = im.Composite((960, 960), (0, 0), "yuri/u.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sv = im.Composite((960, 960), (0, 0), "yuri/v.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") -image yuri 3sw = im.Composite((960, 960), (0, 0), "yuri/w.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sl.png", (0, 0), "mod_assets/stalker/yuri/stalker_y_2sr.png") - -image monika 1sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/a.png") -image monika 1sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/b.png") -image monika 1sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/c.png") -image monika 1sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/d.png") -image monika 1se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/e.png") -image monika 1sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/f.png") -image monika 1sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/g.png") -image monika 1sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/h.png") -image monika 1si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/i.png") -image monika 1sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/j.png") -image monika 1sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/k.png") -image monika 1sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/l.png") -image monika 1sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/m.png") -image monika 1sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/n.png") -image monika 1so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/o.png") -image monika 1sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/p.png") -image monika 1sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/q.png") -image monika 1sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/r.png") - -image monika 2sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/a.png") -image monika 2sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/b.png") -image monika 2sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/c.png") -image monika 2sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/d.png") -image monika 2se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/e.png") -image monika 2sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/f.png") -image monika 2sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/g.png") -image monika 2sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/h.png") -image monika 2si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/i.png") -image monika 2sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/j.png") -image monika 2sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/k.png") -image monika 2sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/l.png") -image monika 2sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/m.png") -image monika 2sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/n.png") -image monika 2so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/o.png") -image monika 2sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/p.png") -image monika 2sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/q.png") -image monika 2sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_1sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/r.png") - -image monika 3sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/a.png") -image monika 3sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/b.png") -image monika 3sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/c.png") -image monika 3sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/d.png") -image monika 3se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/e.png") -image monika 3sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/f.png") -image monika 3sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/g.png") -image monika 3sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/h.png") -image monika 3si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/i.png") -image monika 3sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/j.png") -image monika 3sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/k.png") -image monika 3sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/l.png") -image monika 3sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/m.png") -image monika 3sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/n.png") -image monika 3so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/o.png") -image monika 3sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/p.png") -image monika 3sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/q.png") -image monika 3sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_1sr.png", (0, 0), "monika/r.png") - -image monika 4sa = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/a.png") -image monika 4sb = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/b.png") -image monika 4sc = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/c.png") -image monika 4sd = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/d.png") -image monika 4se = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/e.png") -image monika 4sf = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/f.png") -image monika 4sg = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/g.png") -image monika 4sh = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/h.png") -image monika 4si = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/i.png") -image monika 4sj = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/j.png") -image monika 4sk = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/k.png") -image monika 4sl = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/l.png") -image monika 4sm = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/m.png") -image monika 4sn = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/n.png") -image monika 4so = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/o.png") -image monika 4sp = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/p.png") -image monika 4sq = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/q.png") -image monika 4sr = im.Composite((960, 960), (0, 0), "mod_assets/stalker/monika/stalker_m_2sl.png", (0, 0), "mod_assets/stalker/monika/stalker_m_2sr.png", (0, 0), "monika/r.png") diff --git a/definitions-zroasthanaka.rpy b/definitions-zroasthanaka.rpy new file mode 100644 index 0000000..d8711cf --- /dev/null +++ b/definitions-zroasthanaka.rpy @@ -0,0 +1,49 @@ +## Definitions for Roast of Hanaka Skit +## Hanaka - by kyoryii (duh) [Only allowed in this skit] +## zroasthanaka_NS (psb) - Denelson83 by CC-BY-SA Unported 3.0 +## https://commons.wikimedia.org/wiki/File:SMPTE_Color_Bars.svg +## zroasthanaka_bleep.ogg (psbsfx) - Hughesj333 by CC-0 +## https://freesound.org/s/99202/ +## zroasthanaka_aud_laugh.ogg (zhlaugh) - lonemonk by CC-BY-SA Unported 3.0 | edited by skit maker +## https://freesound.org/s/72843/ +## zroasthanaka_clap.ogg (clap) - lonemonk by CC-BY-SA Unported 3.0 | edited by skit maker +## https://freesound.org/s/72841/ +## zroasthanaka_mech_load.wav (hml) - GregorQuendel, Paul368, danlucaz & Erokia | edited by Logokas +## https://freesound.org/s/422116/ by CC-BY-SA Unported 3.0 +## https://freesound.org/s/264063/ by CC-0 +## https://freesound.org/s/517754/ by CC-0 +## https://freesound.org/s/417141/ by CC-BY-SA Unported 3.0 +## zroasthanaka_splosion.ogg (nerfthis) - Chiff the Oblivious#4251 | edited by skit maker +## zroasthanaka_ddlc_bg.png (crf) & zroasthanaka_ddlc_podium.png (desk) - Kimagure After (T.O.P) | edited by yagamirai01 + +define h = DynamicCharacter('h_name', image='hanaka', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed") +default h_name = "Hanaka" +define lm = Character('You & Moni', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed") +define desk = DynamicCharacter('Desk', image='desk', what_prefix='"', what_suffix='"', ctc="ctc", ctc_position="fixed") + +image hanaka 1 = "mod_assets/zroasthanaka/hanaka.png" +image hanaka 1g = "mod_assets/zroasthanaka/grin.png" +image hanaka 1m = "mod_assets/zroasthanaka/mad.png" +image hanaka 1ss = "mod_assets/zroasthanaka/slight smile.png" +image hanaka 1ses = "mod_assets/zroasthanaka/shut eye smirk.png" +image hanaka 1p = "mod_assets/zroasthanaka/pissed.png" +image hanaka 1s = "mod_assets/zroasthanaka/smirk.png" + +image desk 1 = "mod_assets/zroasthanaka/zroasthanaka_ddlc_podium.png" + +image bg crf = "mod_assets/zroasthanaka/zroasthanaka_ddlc_bg.png" +image bg psb = "mod_assets/zroasthanaka/zroasthanaka_NS.png" +image zroasthanaka_thumbnail = im.FactorScale("mod_assets/zroasthanaka/zroasthanaka_tn.png", 0.15, 0.15) + +define audio.psbsfx = "mod_assets/zroasthanaka/zroasthanaka_bleep.ogg" +define audio.zhlaugh = "mod_assets/zroasthanaka/zroasthanaka_aud_laugh.ogg" +define audio.hml = "mod_assets/zroasthanaka/zroasthanaka_mech_load.wav" +define audio.nerfthis = "mod_assets/zroasthanaka/zroasthanaka_splosion.ogg" +define audio.clap = "mod_assets/zroasthanaka/zroasthanaka_clap.ogg" + +transform t43b: + tcommon(960) +transform f43b: + focus(960) +transform t45: + tcommon(1140) \ No newline at end of file diff --git a/definitions.rpy b/definitions.rpy index 8a24b36..534e4d7 100644 --- a/definitions.rpy +++ b/definitions.rpy @@ -5,7 +5,7 @@ define persistent.demo = False -define persistent.steam = False +define persistent.steam = ("steamapps" in config.basedir.lower()) define config.developer = False python early: @@ -43,7 +43,7 @@ init python: - +define audio.ddcc_mm = "mod_assets/shared_assets/ddcc_mainmenu.ogg" define audio.t1 = "bgm/1.ogg" @@ -1342,6 +1342,8 @@ default persistent.special_poems = None default persistent.clearall = None default persistent.menu_bg_m = None default persistent.first_load = None +default persistent.ddcc_completed = False +default persistent.ddcc_single_menu = False @@ -1350,7 +1352,7 @@ default in_sayori_kill = None default in_yuri_kill = None default anticheat = 0 define config.mouse = None -default allow_skipping = True +default allow_skipping = False default basedir = config.basedir default chapter = 0 default currentpos = 0 @@ -1416,10 +1418,10 @@ default natsuki_23 = None init -201 python: class Skit: - def __init__(self, name, call_label, thumbnail, author): + def __init__(self, name, call_label, thumbnail, author, skit_position): self.name = name self.call_label = call_label self.thumbnail = thumbnail self.author = author + self.skit_position = skit_position skits = [] -# Decompiled by unrpyc: https://github.com/CensoredUsername/unrpyc \ No newline at end of file diff --git a/mod_assets/DDLCModTemplateLogo2.png b/mod_assets/DDLCModTemplateLogo2.png new file mode 100644 index 0000000..05f2ca5 Binary files /dev/null and b/mod_assets/DDLCModTemplateLogo2.png differ diff --git a/mod_assets/Tormuse/NatsukisSecret_n_aa.png b/mod_assets/Tormuse/NatsukisSecret_n_aa.png new file mode 100644 index 0000000..0594fd9 Binary files /dev/null and b/mod_assets/Tormuse/NatsukisSecret_n_aa.png differ diff --git a/mod_assets/Tormuse/NatsukisSecret_n_ab.png b/mod_assets/Tormuse/NatsukisSecret_n_ab.png new file mode 100644 index 0000000..d7a72d4 Binary files /dev/null and b/mod_assets/Tormuse/NatsukisSecret_n_ab.png differ diff --git a/mod_assets/Tormuse/NatsukisSecret_n_ac.png b/mod_assets/Tormuse/NatsukisSecret_n_ac.png new file mode 100644 index 0000000..bfeea41 Binary files /dev/null and b/mod_assets/Tormuse/NatsukisSecret_n_ac.png differ diff --git a/mod_assets/Tormuse/Natsukissecret_thumbnail.png b/mod_assets/Tormuse/Natsukissecret_thumbnail.png new file mode 100644 index 0000000..6f515f4 Binary files /dev/null and b/mod_assets/Tormuse/Natsukissecret_thumbnail.png differ diff --git a/mod_assets/Tormuse/YurisFriends_thumbnail.png b/mod_assets/Tormuse/YurisFriends_thumbnail.png new file mode 100644 index 0000000..dbd2b14 Binary files /dev/null and b/mod_assets/Tormuse/YurisFriends_thumbnail.png differ diff --git a/mod_assets/chaos/chaos_m01.wav b/mod_assets/chaos/chaos_m01.wav deleted file mode 100644 index 38a297a..0000000 Binary files a/mod_assets/chaos/chaos_m01.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_m02.wav b/mod_assets/chaos/chaos_m02.wav deleted file mode 100644 index a7ca527..0000000 Binary files a/mod_assets/chaos/chaos_m02.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_m03.wav b/mod_assets/chaos/chaos_m03.wav deleted file mode 100644 index 2a0da94..0000000 Binary files a/mod_assets/chaos/chaos_m03.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_m04.wav b/mod_assets/chaos/chaos_m04.wav deleted file mode 100644 index dfdf1f0..0000000 Binary files a/mod_assets/chaos/chaos_m04.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_m05.wav b/mod_assets/chaos/chaos_m05.wav deleted file mode 100644 index d4d59d7..0000000 Binary files a/mod_assets/chaos/chaos_m05.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_m_super-monika.png b/mod_assets/chaos/chaos_m_super-monika.png deleted file mode 100644 index 09d3d2a..0000000 Binary files a/mod_assets/chaos/chaos_m_super-monika.png and /dev/null differ diff --git a/mod_assets/chaos/chaos_n01.wav b/mod_assets/chaos/chaos_n01.wav deleted file mode 100644 index 879558c..0000000 Binary files a/mod_assets/chaos/chaos_n01.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_n02.wav b/mod_assets/chaos/chaos_n02.wav deleted file mode 100644 index 1ddcfd2..0000000 Binary files a/mod_assets/chaos/chaos_n02.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_n02_alt.wav b/mod_assets/chaos/chaos_n02_alt.wav deleted file mode 100644 index 100ded8..0000000 Binary files a/mod_assets/chaos/chaos_n02_alt.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_n02_orig.wav b/mod_assets/chaos/chaos_n02_orig.wav deleted file mode 100644 index f6bf2cf..0000000 Binary files a/mod_assets/chaos/chaos_n02_orig.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_s01.wav b/mod_assets/chaos/chaos_s01.wav deleted file mode 100644 index 87c68c9..0000000 Binary files a/mod_assets/chaos/chaos_s01.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_s02.wav b/mod_assets/chaos/chaos_s02.wav deleted file mode 100644 index ca692f7..0000000 Binary files a/mod_assets/chaos/chaos_s02.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_s03.wav b/mod_assets/chaos/chaos_s03.wav deleted file mode 100644 index 23b391a..0000000 Binary files a/mod_assets/chaos/chaos_s03.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_s04.wav b/mod_assets/chaos/chaos_s04.wav deleted file mode 100644 index aeb8118..0000000 Binary files a/mod_assets/chaos/chaos_s04.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_s05.wav b/mod_assets/chaos/chaos_s05.wav deleted file mode 100644 index 3a8c3b7..0000000 Binary files a/mod_assets/chaos/chaos_s05.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_sfx01.wav b/mod_assets/chaos/chaos_sfx01.wav deleted file mode 100644 index f34cae8..0000000 Binary files a/mod_assets/chaos/chaos_sfx01.wav and /dev/null differ diff --git a/mod_assets/chaos/chaos_sfx02.wav b/mod_assets/chaos/chaos_sfx02.wav deleted file mode 100644 index 4cb934f..0000000 Binary files a/mod_assets/chaos/chaos_sfx02.wav and /dev/null differ diff --git a/mod_assets/cokie/cokie_bgm01.ogg b/mod_assets/cokie/cokie_bgm01.ogg deleted file mode 100644 index 5cbcd33..0000000 Binary files a/mod_assets/cokie/cokie_bgm01.ogg and /dev/null differ diff --git a/mod_assets/madman/game.mkv b/mod_assets/madman/game.mkv deleted file mode 100644 index 7e61d80..0000000 Binary files a/mod_assets/madman/game.mkv and /dev/null differ diff --git a/mod_assets/madman/madman_thumbnail.png b/mod_assets/madman/madman_thumbnail.png deleted file mode 100644 index 2853d7b..0000000 Binary files a/mod_assets/madman/madman_thumbnail.png and /dev/null differ diff --git a/mod_assets/merchandise/merchandise_bg01.png b/mod_assets/merchandise/merchandise_bg01.png new file mode 100644 index 0000000..f191415 Binary files /dev/null and b/mod_assets/merchandise/merchandise_bg01.png differ diff --git a/mod_assets/merchandise/merchandise_thumbnail.png b/mod_assets/merchandise/merchandise_thumbnail.png new file mode 100644 index 0000000..fbe36f3 Binary files /dev/null and b/mod_assets/merchandise/merchandise_thumbnail.png differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Choir_Aahs.ogg b/mod_assets/shared_assets/DDLC_Ditty_Choir_Aahs.ogg new file mode 100644 index 0000000..c673a00 Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Choir_Aahs.ogg differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Grand_Piano.ogg b/mod_assets/shared_assets/DDLC_Ditty_Grand_Piano.ogg new file mode 100644 index 0000000..435c037 Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Grand_Piano.ogg differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Oboe.ogg b/mod_assets/shared_assets/DDLC_Ditty_Oboe.ogg new file mode 100644 index 0000000..510f5c7 Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Oboe.ogg differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Orchestra_Hit.ogg b/mod_assets/shared_assets/DDLC_Ditty_Orchestra_Hit.ogg new file mode 100644 index 0000000..1c86c5a Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Orchestra_Hit.ogg differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Overdrive_Guitar.ogg b/mod_assets/shared_assets/DDLC_Ditty_Overdrive_Guitar.ogg new file mode 100644 index 0000000..eeee46e Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Overdrive_Guitar.ogg differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Steel_Drums.ogg b/mod_assets/shared_assets/DDLC_Ditty_Steel_Drums.ogg new file mode 100644 index 0000000..445465d Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Steel_Drums.ogg differ diff --git a/mod_assets/shared_assets/DDLC_Ditty_Viola.ogg b/mod_assets/shared_assets/DDLC_Ditty_Viola.ogg new file mode 100644 index 0000000..78253bf Binary files /dev/null and b/mod_assets/shared_assets/DDLC_Ditty_Viola.ogg differ diff --git a/mod_assets/shared_assets/ddcc_mainmenu.ogg b/mod_assets/shared_assets/ddcc_mainmenu.ogg new file mode 100644 index 0000000..a414ea6 Binary files /dev/null and b/mod_assets/shared_assets/ddcc_mainmenu.ogg differ diff --git a/mod_assets/shared_assets/transition1.wav b/mod_assets/shared_assets/transition1.wav deleted file mode 100644 index 31ae492..0000000 Binary files a/mod_assets/shared_assets/transition1.wav and /dev/null differ diff --git a/mod_assets/shared_assets/transition_default.png b/mod_assets/shared_assets/transition_default.png index 734fa46..1c7d7aa 100644 Binary files a/mod_assets/shared_assets/transition_default.png and b/mod_assets/shared_assets/transition_default.png differ diff --git a/mod_assets/stalker/monika/stalker_m_1sl.png b/mod_assets/stalker/monika/stalker_m_1sl.png deleted file mode 100644 index 61850f1..0000000 Binary files a/mod_assets/stalker/monika/stalker_m_1sl.png and /dev/null differ diff --git a/mod_assets/stalker/monika/stalker_m_1sr.png b/mod_assets/stalker/monika/stalker_m_1sr.png deleted file mode 100644 index 00fb424..0000000 Binary files a/mod_assets/stalker/monika/stalker_m_1sr.png and /dev/null differ diff --git a/mod_assets/stalker/monika/stalker_m_2sl.png b/mod_assets/stalker/monika/stalker_m_2sl.png deleted file mode 100644 index d74034b..0000000 Binary files a/mod_assets/stalker/monika/stalker_m_2sl.png and /dev/null differ diff --git a/mod_assets/stalker/monika/stalker_m_2sr.png b/mod_assets/stalker/monika/stalker_m_2sr.png deleted file mode 100644 index ab66d2c..0000000 Binary files a/mod_assets/stalker/monika/stalker_m_2sr.png and /dev/null differ diff --git a/mod_assets/stalker/sayori/Notes.txt b/mod_assets/stalker/sayori/Notes.txt deleted file mode 100644 index 0e945d1..0000000 --- a/mod_assets/stalker/sayori/Notes.txt +++ /dev/null @@ -1 +0,0 @@ -You can use face sprites from the original game. The face sprite displayable should the most upper while compositing and have fm.png as its alpha mask \ No newline at end of file diff --git a/mod_assets/stalker/sayori/stalker_s_1sl.png b/mod_assets/stalker/sayori/stalker_s_1sl.png deleted file mode 100644 index 7598980..0000000 Binary files a/mod_assets/stalker/sayori/stalker_s_1sl.png and /dev/null differ diff --git a/mod_assets/stalker/sayori/stalker_s_1sr.png b/mod_assets/stalker/sayori/stalker_s_1sr.png deleted file mode 100644 index 3ac4354..0000000 Binary files a/mod_assets/stalker/sayori/stalker_s_1sr.png and /dev/null differ diff --git a/mod_assets/stalker/sayori/stalker_s_2sl.png b/mod_assets/stalker/sayori/stalker_s_2sl.png deleted file mode 100644 index 79c1dd7..0000000 Binary files a/mod_assets/stalker/sayori/stalker_s_2sl.png and /dev/null differ diff --git a/mod_assets/stalker/sayori/stalker_s_2sr.png b/mod_assets/stalker/sayori/stalker_s_2sr.png deleted file mode 100644 index d564e32..0000000 Binary files a/mod_assets/stalker/sayori/stalker_s_2sr.png and /dev/null differ diff --git a/mod_assets/stalker/sayori/stalker_s_4s.png b/mod_assets/stalker/sayori/stalker_s_4s.png deleted file mode 100644 index a35a3e2..0000000 Binary files a/mod_assets/stalker/sayori/stalker_s_4s.png and /dev/null differ diff --git a/mod_assets/stalker/sayori/stalker_s_fm.png b/mod_assets/stalker/sayori/stalker_s_fm.png deleted file mode 100644 index ba2e036..0000000 Binary files a/mod_assets/stalker/sayori/stalker_s_fm.png and /dev/null differ diff --git a/mod_assets/stalker/stalker_bg01.png b/mod_assets/stalker/stalker_bg01.png deleted file mode 100644 index 249c57c..0000000 Binary files a/mod_assets/stalker/stalker_bg01.png and /dev/null differ diff --git a/mod_assets/stalker/stalker_bg02.png b/mod_assets/stalker/stalker_bg02.png deleted file mode 100644 index dafb3da..0000000 Binary files a/mod_assets/stalker/stalker_bg02.png and /dev/null differ diff --git a/mod_assets/stalker/stalker_bgm01.ogg b/mod_assets/stalker/stalker_bgm01.ogg deleted file mode 100644 index abe13bf..0000000 Binary files a/mod_assets/stalker/stalker_bgm01.ogg and /dev/null differ diff --git a/mod_assets/stalker/stalker_sfx_army1.ogg b/mod_assets/stalker/stalker_sfx_army1.ogg deleted file mode 100644 index 0aec826..0000000 Binary files a/mod_assets/stalker/stalker_sfx_army1.ogg and /dev/null differ diff --git a/mod_assets/stalker/stalker_sfx_army2.ogg b/mod_assets/stalker/stalker_sfx_army2.ogg deleted file mode 100644 index f75f907..0000000 Binary files a/mod_assets/stalker/stalker_sfx_army2.ogg and /dev/null differ diff --git a/mod_assets/stalker/stalker_sfx_army3.ogg b/mod_assets/stalker/stalker_sfx_army3.ogg deleted file mode 100644 index 2104230..0000000 Binary files a/mod_assets/stalker/stalker_sfx_army3.ogg and /dev/null differ diff --git a/mod_assets/stalker/stalker_sfx_breeki.ogg b/mod_assets/stalker/stalker_sfx_breeki.ogg deleted file mode 100644 index 81ecc00..0000000 Binary files a/mod_assets/stalker/stalker_sfx_breeki.ogg and /dev/null differ diff --git a/mod_assets/stalker/stalker_sfx_shotgun.ogg b/mod_assets/stalker/stalker_sfx_shotgun.ogg deleted file mode 100644 index 6e30423..0000000 Binary files a/mod_assets/stalker/stalker_sfx_shotgun.ogg and /dev/null differ diff --git a/mod_assets/stalker/stalker_sfx_shotgun2.ogg b/mod_assets/stalker/stalker_sfx_shotgun2.ogg deleted file mode 100644 index 665c5c7..0000000 Binary files a/mod_assets/stalker/stalker_sfx_shotgun2.ogg and /dev/null differ diff --git a/mod_assets/stalker/yuri/stalker_y_1sl.png b/mod_assets/stalker/yuri/stalker_y_1sl.png deleted file mode 100644 index 2d35492..0000000 Binary files a/mod_assets/stalker/yuri/stalker_y_1sl.png and /dev/null differ diff --git a/mod_assets/stalker/yuri/stalker_y_1sr.png b/mod_assets/stalker/yuri/stalker_y_1sr.png deleted file mode 100644 index 52fc9d5..0000000 Binary files a/mod_assets/stalker/yuri/stalker_y_1sr.png and /dev/null differ diff --git a/mod_assets/stalker/yuri/stalker_y_2sl.png b/mod_assets/stalker/yuri/stalker_y_2sl.png deleted file mode 100644 index a6de07e..0000000 Binary files a/mod_assets/stalker/yuri/stalker_y_2sl.png and /dev/null differ diff --git a/mod_assets/stalker/yuri/stalker_y_2sr.png b/mod_assets/stalker/yuri/stalker_y_2sr.png deleted file mode 100644 index 0930329..0000000 Binary files a/mod_assets/stalker/yuri/stalker_y_2sr.png and /dev/null differ diff --git a/mod_assets/zroasthanaka/grin.png b/mod_assets/zroasthanaka/grin.png new file mode 100644 index 0000000..faae520 Binary files /dev/null and b/mod_assets/zroasthanaka/grin.png differ diff --git a/mod_assets/zroasthanaka/hanaka.png b/mod_assets/zroasthanaka/hanaka.png new file mode 100644 index 0000000..742f29f Binary files /dev/null and b/mod_assets/zroasthanaka/hanaka.png differ diff --git a/mod_assets/zroasthanaka/mad.png b/mod_assets/zroasthanaka/mad.png new file mode 100644 index 0000000..d69282d Binary files /dev/null and b/mod_assets/zroasthanaka/mad.png differ diff --git a/mod_assets/zroasthanaka/pissed.png b/mod_assets/zroasthanaka/pissed.png new file mode 100644 index 0000000..abfd5db Binary files /dev/null and b/mod_assets/zroasthanaka/pissed.png differ diff --git a/mod_assets/zroasthanaka/shut eye smirk.png b/mod_assets/zroasthanaka/shut eye smirk.png new file mode 100644 index 0000000..1c5fc31 Binary files /dev/null and b/mod_assets/zroasthanaka/shut eye smirk.png differ diff --git a/mod_assets/zroasthanaka/slight smile.png b/mod_assets/zroasthanaka/slight smile.png new file mode 100644 index 0000000..c1f2158 Binary files /dev/null and b/mod_assets/zroasthanaka/slight smile.png differ diff --git a/mod_assets/zroasthanaka/smirk.png b/mod_assets/zroasthanaka/smirk.png new file mode 100644 index 0000000..32708f3 Binary files /dev/null and b/mod_assets/zroasthanaka/smirk.png differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_NS.png b/mod_assets/zroasthanaka/zroasthanaka_NS.png new file mode 100644 index 0000000..8a99061 Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_NS.png differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_aud_laugh.ogg b/mod_assets/zroasthanaka/zroasthanaka_aud_laugh.ogg new file mode 100644 index 0000000..4d5601f Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_aud_laugh.ogg differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_bleep.ogg b/mod_assets/zroasthanaka/zroasthanaka_bleep.ogg new file mode 100644 index 0000000..4cc4b66 Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_bleep.ogg differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_clap.ogg b/mod_assets/zroasthanaka/zroasthanaka_clap.ogg new file mode 100644 index 0000000..46e807b Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_clap.ogg differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_ddlc_bg.png b/mod_assets/zroasthanaka/zroasthanaka_ddlc_bg.png new file mode 100644 index 0000000..9c11c8f Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_ddlc_bg.png differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_ddlc_podium.png b/mod_assets/zroasthanaka/zroasthanaka_ddlc_podium.png new file mode 100644 index 0000000..19eaaf3 Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_ddlc_podium.png differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_mech_load.wav b/mod_assets/zroasthanaka/zroasthanaka_mech_load.wav new file mode 100644 index 0000000..4f91f1a Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_mech_load.wav differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_splosion.ogg b/mod_assets/zroasthanaka/zroasthanaka_splosion.ogg new file mode 100644 index 0000000..52180de Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_splosion.ogg differ diff --git a/mod_assets/zroasthanaka/zroasthanaka_tn.png b/mod_assets/zroasthanaka/zroasthanaka_tn.png new file mode 100644 index 0000000..1a473bd Binary files /dev/null and b/mod_assets/zroasthanaka/zroasthanaka_tn.png differ diff --git a/options.rpy b/options.rpy index 98afeaf..067f308 100644 --- a/options.rpy +++ b/options.rpy @@ -2,20 +2,20 @@ # human readable name of this game # _() marks strings eligable for translation -define config.name = "Doki Doki Comedy Club" +define config.name = "Doki Doki Comedy Club 2" # True shows the name on main menu, False hides it -define gui.show_name = True +define gui.show_name = False # Version of the game -define config.version = "0.0.5" +define config.version = "2.1" # text placed on about screen define gui.about = _("") # short name used in executables and dirs. # ASCII-only, no spaces, no colons, no semis -define build.name = "DokiDokiComedyClub" +define build.name = "DokiDokiComedyClubTwo" # Controls which sound / music mixers are available define config.has_sound = True @@ -23,7 +23,7 @@ define config.has_music = True define config.has_voice = True # main menu music -define config.main_menu_music = audio.t1 +define config.main_menu_music = audio.ddcc_mm # enter / exiting game menu transitions define config.enter_transition = Dissolve(.2) @@ -66,7 +66,7 @@ default preferences.sfx_volume = 0.75 # Linux: $HOME/.renpy/ # # must be a literal string -define config.save_directory = "DokiDokiComedyClub" +define config.save_directory = "SDC-DDCC2" # icon displayed on taskbar / dock define config.window_icon = "gui/window_icon.png" @@ -142,14 +142,18 @@ init python: build.package(build.directory_name + "Mod",'zip',build.name,description='DDCC') # archives to create - build.archive("scripts",build.name) + build.archive("scripts", build.name) + build.archive("mod_assets", build.name) # folder / files to put in archives - build.classify("game/mod_assets/**","scripts") + build.classify("game/mod_assets/**","mod_assets") build.classify('game/**.rpyc',"scripts") build.classify("game/**.txt","scripts") #All the .txt files in game # stuff to ignore + build.classify('ddcc_submission_guidelines.txt', None) + build.classify('.gitignore', None) + build.classify('.gitattributes', None) build.classify('**~', None) build.classify('**.bak', None) build.classify('**/.**', None) diff --git a/screens.rpy b/screens.rpy index f41299a..8689d3a 100644 --- a/screens.rpy +++ b/screens.rpy @@ -448,7 +448,7 @@ screen navigation(): #if persistent.playthrough == 1: # textbutton _("ŔŗñĮ¼»ŧþŀÂŻŕěōì«") action If(persistent.playername, true=Start(), false=Show(screen="name_input", message="Please enter your name", ok_action=Function(FinishEnterName, next_scene_name="start"))) #else: - if config.developer: + if persistent.ddcc_complete: textbutton _("Play") action If(persistent.playername, true=Start("choose"), false=Show(screen="name_input", message="Please enter your name", ok_action=Function(FinishEnterName, next_scene_name="choose"))) textbutton _("Play All") action If(persistent.playername, true=Start(), false=Show(screen="name_input", message="Please enter your name", ok_action=Function(FinishEnterName, next_scene_name="start"))) @@ -1588,25 +1588,65 @@ style notify_text: screen scene_select(): #Note: Screens predict faster if you give them an empty parameter list - the (). + key "mouseup_3" action NullAction + key "mouseup_2" action NullAction modal True #Make it so we can't dismiss the screen by clicking through it. imagemap: ground "bg/notebook.png" #Easiest way to set a background for a screen is imagemap - ground. vpgrid: #Viewport + Grid. + id "vp" cols 2 + yoffset 50 + xoffset 75 + ymaximum 660 + spacing 5 rows len(skits) #We want a row for every skit. mousewheel True #This lets us scroll the viewport with the mousewheel. - scrollbars True #This puts a scrollbar on the side of the viewport. - side_xalign 0.5 #Because we have a scrollbar, we need side_xalign instead of xalign. + draggable True + + python: + skits = sorted(skits, key=lambda skits: skits.skit_position) for i in range(len(skits)): #For every skit imagebutton: #Make a button - idle skits[i].thumbnail #Idle image is the thumbnail - action Function(scene_select_cleanup, skits[i].call_label) hover_sound "gui/sfx/hover.ogg" activate_sound "gui/sfx/select.ogg" + idle At(skits[i].thumbnail, adjust_cover) #Idle image is the thumbnail + xsize 470 #When clicked, we're going to pass the skit's call label to our cleanup function. Buttons make sounds like DDLC buttons. - text skits[i].name style "monika_text" #Next to the button, have text with the skit's name. + textbutton skits[i].name: + text_style "scene_select_text" + action Function(scene_select_cleanup, skits[i].call_label) + hover_sound "gui/sfx/hover.ogg" + activate_sound "gui/sfx/select.ogg" + yoffset i + 14 + + #Decor + text "Python" style "monika_text" xpos 22 ypos 13 size 22 + text "Music" style "monika_text" xpos 105 ypos 14 size 22 + text "Skit List" style "monika_text" xpos 175 ypos 14 size 22 color "#fff" + + textbutton "Back": + text_style "back_text" + xalign 0.99 yalign 0.01 + hover_sound "gui/sfx/hover.ogg" + activate_sound "gui/sfx/select.ogg" + action MainMenu(confirm=True) + vbar value YScrollValue("vp") xpos 888 ypos 95 ysize 605 + +style scene_select_text: + font "gui/font/m1.ttf" + size 33 + outlines [] + color "#000" + hover_outlines [(1, "#fef", 0, 0), (1, "#fcf", 0, 0), (1, "#faf", 0, 0)] + +style back_text is scene_select_text: + outlines [(3, "#fff", 0, 0), (2, "#fff", 0, 0), (1, "#fff", 0, 0)] + hover_outlines [(3, "#fef", 0, 0), (2, "#fcf", 0, 0), (1, "#faf", 0, 0)] + init python: #Cleanup function for scene_select screen def scene_select_cleanup(label): renpy.hide_screen("scene_select") #Hide the screen + renpy.music.stop(channel='music', fadeout=2.0) renpy.call(label) #Call the picked label. screen credits_screen(): @@ -1615,15 +1655,21 @@ screen credits_screen(): python: title_list = [] author_list = [] + skits = sorted(skits, key=lambda skits: skits.skit_position) for x in skits: title_list.append("\"" + x.name +"\"" +"\n") author_list.append(x.author + "\n") hbox: vbox: text "Skit Name:" - text "" + #text "" text title_list vbox: text "Skit Author:" - text "" + #text "" text author_list + + text "Doki Doki Comedy Club 2 (DDCC 2) Copyright © 2021 GanstaKingofSA. All rights reserved. Individual skits submitted to DDCC 2 are copyrighted to their skit creators." + +transform adjust_cover: + size(223,126) diff --git a/script-Natsukissecret.rpy b/script-Natsukissecret.rpy new file mode 100644 index 0000000..6a5df06 --- /dev/null +++ b/script-Natsukissecret.rpy @@ -0,0 +1,193 @@ +image natsuki 1aa = im.Composite((960, 960), (0, 0), "natsuki/1l.png", (0, 0), "natsuki/1r.png", (0, 0), "mod_assets/Tormuse/NatsukisSecret_n_aa.png") +image natsuki 1ab = im.Composite((960, 960), (0, 0), "natsuki/1l.png", (0, 0), "natsuki/1r.png", (0, 0), "mod_assets/Tormuse/NatsukisSecret_n_ab.png") +image natsuki 1ac = im.Composite((960, 960), (0, 0), "natsuki/1l.png", (0, 0), "natsuki/1r.png", (0, 0), "mod_assets/Tormuse/NatsukisSecret_n_ac.png") +image natsuki 5ac = im.Composite((960, 960), (18, 22), "mod_assets/Tormuse/NatsukisSecret_n_ac.png", (0, 0), "natsuki/3.png") + +image NatsukisSecret_thumbnail = "mod_assets/Tormuse/Natsukissecret_thumbnail.png" + +init -200 python: + skit_NatsukisSecret = Skit( + "Natsuki's Secret", + "NatsukisSecret", + "NatsukisSecret_thumbnail", + "@Tormuse#9495, u/Tormuse", + skit_position = 16 + ) + + skits.append(skit_NatsukisSecret) + +label NatsukisSecret(preserve_transition=True): + scene bg club_day + if preserve_transition: + with Dissolve(1) + play music t3 + show natsuki 1u at l11 zorder 2 + "Natsuki is the last to arrive at the club meeting." + "She looks nervous." + show natsuki 1n at t11 zorder 2 + mc "Hey Natsuki, you doing all right?" + n 1m "Um... I don't know yet..." + n "I mean I sort of have an announcement to make." + n 1ab "It's uh... really embarrassing..." + n 1aa "And... and I'm kinda nervous about how you'll all react..." + n 1ab "Especially because my dad didn't take it well." + show natsuki 1u at t11 zorder 2 + show yuri 1e at t33 zorder 2 + show sayori 1b at t31 zorder 2 + "Everyone turns to Natsuki, looking concerned." + show yuri 1f at f33 zorder 2 + y "Well, whatever it is, we won't judge you for it." + show yuri 1a at t33 zorder 2 + show sayori 2x at f31 zorder 2 + s "Yeah, we're your friends, Natsuki." + show sayori 1a at t31 zorder 2 + show natsuki 1l at f32 zorder 2 + n "Exactly, we're all friends!" + n 1t "You all mean a lot to me... which is why I thought you all deserve to know..." + n 1w "I'm trans. I was actually born a boy." + show natsuki 1n at t11 zorder 2 + show yuri 1d at f33 zorder 2 + y "Aha! I knew it!" + show yuri 1c at t33 zorder 2 + show sayori 1n at t31 zorder 2 + show natsuki 1p at f32 zorder 2 + n "WHAT?" + show natsuki 1p at t32 zorder 2 + show yuri 3n at hf33 zorder 2 + y "Aah! S-sorry, that came out wrong..." + y 3o "I mean... I mean I suspected... er... I hoped...?" + show yuri 3n at t33 zorder 2 + show sayori 1g at t31 zorder 2 + show natsuki 4o at f32 zorder 2 + n "Hey, I told you this is hard for me! You don't have to be a jerk about it!" + show natsuki 4i at t32 zorder 2 + show yuri 3p at f33 zorder 2 + y "N-no! I just got a little overly excited about it... be-because..." + show sayori 1n at t31 zorder 2 + y 2l "I am also transgender." + show yuri 3n at t33 zorder 2 + show natsuki 5h at f32 zorder 2 + n "Don't make fun of me, you asshole!" + show natsuki 5i at t32 zorder 2 + show sayori 1g at t31 zorder 2 + show yuri 3p at f33 zorder 2 + y "I'm not making fun! I swear, I was assigned male at birth!" + show yuri 3n at t33 zorder 2 + show natsuki 5h at f32 zorder 2 + n "C'mon, with gazongas like those?" + show natsuki 5i at t32 zorder 2 + show yuri 3q at f33 zorder 2 + y "Ah... yes... I suppose I did overcompensate a bit." + y 3t "The fact that I'm so tall made my gender dysphoria quite severe..." + show sayori 1f at t31 zorder 2 + show natsuki 5c at t32 zorder 2 + y 4c "I even hated my body enough to want to damage it sometimes." + show yuri 4c at t33 zorder 2 + show natsuki 5m at f32 zorder 2 + n "Oh..." + n 5ac "..." + n 1m "Crap... I'm sorry, Yuri." + show natsuki 1ac at t32 zorder 2 + show sayori 1d at t31 zorder 2 + show yuri 2q at f33 zorder 2 + y "It's all right. I'm much happier with how I look now..." + show natsuki 1j at t32 zorder 2 + y 1d "And now, I have a new trans friend to share with." + show yuri 1c at t33 zorder 2 + show sayori 1a at t31 zorder 2 + show natsuki 1l at f32 zorder 2 + n "Ehehe, yeah, I'm glad to have you too, trans buddy." + show natsuki 1z at t32 zorder 2 + show sayori 4x at f31 zorder 2 + s "Aww, this is so sweet!" + s 4s "I guess this is a good time to tell you all that I'm trans too." + show sayori 4n at t31 zorder 2 + show natsuki 1k at t32 zorder 2 + show yuri 1e at t33 zorder 2 + mc "Sayori! Really?" + show sayori 1c at f31 zorder 2 + s "Huh?" + show sayori 1b at t31 zorder 2 + mc "You never told me!" + show natsuki 1c at t32 zorder 2 + show sayori 3j at f31 zorder 2 + s "[player], we've known each other our whole lives! How could you not know?" + show sayori 1i at t31 zorder 2 + show natsuki 1g at t32 zorder 2 + mc "W-well... uh... I guess it just didn't come up?" + show sayori 1j at f31 zorder 2 + s "I've been on hormone replacement therapy for the past year." + s 1l "It's why I was so excited that my boobs got bigger the other day." + show sayori 1d at t31 zorder 2 + mc "I don't know, you've just... you've always seemed girly to me, I guess?" + show sayori 1g at t31 zorder 2 + show natsuki 4e at f32 zorder 2 + n "Jeez, [player], I knew you were dense, but... come on!" + show natsuki 4g at t32 zorder 2 + show sayori 1h at f31 zorder 2 + s "You're not upset about it, are you?" + show sayori 1g at t31 zorder 2 + mc "No, no... of course not!" + mc "After all..." + show sayori 1d at t31 zorder 2 + show natsuki 4k at t32 zorder 2 + mc "I'm trans too." + show sayori 4r at f31 zorder 2 + s "That's right! You big ol' handsome man, you!" + show sayori 4q at t31 zorder 2 + show yuri 1g at t33 zorder 2 + show natsuki 3m at f32 zorder 2 + n "Huh? He used to be a chick? I wouldn't have guessed." + show natsuki 3g at t32 zorder 2 + show sayori 4n at t31 zorder 2 + show yuri 1h at f33 zorder 2 + y "Natsuki! That's not polite!" + show yuri 1g at t33 zorder 2 + show natsuki 3e at f32 zorder 2 + n "What? I was giving him a compliment!" + show natsuki 3g at t32 zorder 2 + show sayori 1g at t31 zorder 2 + show yuri 2r at f33 zorder 2 + y "The preferred terminology is 'assigned female at birth.' You should know this!" + show yuri 2g at t33 zorder 2 + show natsuki 1f at f32 zorder 2 + n "Well, la di da, Miss Know-it-all!" + show natsuki 1g at t32 zorder 2 + show sayori 1r at f31 zorder 2 + s "ANYWAY! I used to be depressed until I found my true self, and I'm a lot happier now!" + show sayori 1a at t41 zorder 2 + show natsuki 1g at t42 zorder 2 + show yuri 2g at t43 zorder 2 + show monika 1c at t44 zorder 2 + mc "Monika, you've been awfully quiet. How do you feel about all of this?" + show monika 2d at f44 zorder 3 + m "Eh... I'm happy for you guys, I guess..." + m 1d "But it's all pretty arbitrary to me." + m 1b "Watch this..." + show monika 3a at f44 zorder 3 + $ consolehistory = [] + call updateconsole ("Edit monika.chr", "$ gender = \"male\"") + show natsuki 1j at t42 zorder 2 + show yuri 1a at t43 zorder 2 + m 1b "Tada! I'm a boy now." + m 1k "Ahaha!" + show monika 3j at f44 zorder 3 + $ consolehistory = [] + call updateconsole ("Edit monika.chr", "$ gender = \"female\"") + m 1b "And now I'm a girl again!" + show monika 1a at t44 zorder 2 + show sayori 2x at f41 zorder 3 + call hideconsole + s "There, see? It's all right, Natsuki. We all accept you." + show sayori 1a at t41 zorder 2 + show natsuki 1t at f42 zorder 3 + n "Yeah... yeah, you're right." + n 1l "I don't know what I was so nervous about. You guys are awesome." + show natsuki 1j at t42 zorder 2 + mc "I hope your dad wasn't too hard on you about it." + show natsuki 1l at f42 zorder 3 + n "Ehh... it wasn't really that bad." + n 1t "He has to accept me. We're family!" + n 1l "After all..." + n 1z "He did give birth to me." + return \ No newline at end of file diff --git a/script-YurisFriends.rpy b/script-YurisFriends.rpy new file mode 100644 index 0000000..d3849e3 --- /dev/null +++ b/script-YurisFriends.rpy @@ -0,0 +1,99 @@ +transform breasts: + tcommon(690) + +transform fbreasts: + focus(690) + +image YurisFriends_thumbnail = "mod_assets/Tormuse/YurisFriends_thumbnail.png" + +init -200 python: + skit_YurisFriends = Skit( + "Yuri's Friends", + "YurisFriends", + "YurisFriends_thumbnail", + "@Tormuse#9495, u/Tormuse", + skit_position = 17 + ) + + skits.append(skit_YurisFriends) + +label YurisFriends(preserve_transition=True): + scene bg club_day + if preserve_transition: + with Dissolve(1) + play music t3 + show yuri 3o at l32 zorder 2 + "Yuri is the last one to arrive at the club meeting." + "She looks like she's in distress." + show yuri 3n at t32 zorder 2 + mc "Yuri, are you okay?" + y 3o "It's nothing. It's nothing. I j-just... need a moment to calm down." + show sayori 1g at t31 zorder 2 + show monika 1f at t33 zorder 2 + "Everyone else turns to look at her with concern." + show monika 1g at f33 zorder 3 + m "What happened, Yuri?" + show monika 1f at t33 zorder 2 + show yuri 4c at f32 zorder 3 + play music t9 fadeout 1 + y "It's really nothing I can't handle." + y "Just... some of my classmates having fun at my expense." + y "The only reason it troubles me at all is..." + y 4d "B-because it's a reminder that I don't have any friends." + show yuri 4c at t32 zorder 2 + show sayori 2h at f31 zorder 3 + s "Oh, Yuri! That's not true!" + show monika 1e at t33 zorder 2 + show sayori 1q at t42 zorder 1 + "Sayori goes up to Yuri and gives her a big hug..." + show sayori 1r at f42 zorder 1 + s "We're your friends. We care about you!" + show sayori 1q at t42 zorder 1 + show monika 1b at f33 zorder 3 + m "That's right." + show monika 1j at t43 zorder 1 + "Monika goes up to Yuri and hugs her from the other side." + show monika 1k at f43 zorder 1 + m "You can always turn to us if you're feeling down." + show monika 1j at t43 zorder 1 + show yuri 4e at t32 zorder 2 + "I can see Yuri smiling weakly behind her hair." + show yuri 4e at f32 zorder 2 + y "Th-thank you... it's nice to know there are people I can turn to." + show yuri 4e at t32 zorder 2 + show natsuki 1e at t33 zorder 2 + n "Yeah, your classmates are a bunch of jerks. Don't listen to them." + show natsuki 1g at breasts zorder 3 + show sayori 1n at t42 zorder 1 + show monika 1f at t43 zorder 1 + show yuri 1o at t32 zorder 2 + "Natsuki goes over and puts her hands on Yuri's breasts." + show yuri 1t at f32 zorder 2 + y "Ah... Natsuki..." + show yuri 1t at t32 zorder 2 + show natsuki 1e at fbreasts zorder 3 + n "What?" + show natsuki 1g at breasts zorder 3 + show monika 1g at f43 zorder 1 + m "Natsuki, that's a little inappropriate." + show monika 1f at t43 zorder 1 + show natsuki 1h at fbreasts zorder 3 + n "Well, it was the only part of her I could reach." + show natsuki 1i at breasts zorder 3 + show sayori 1o at f42 zorder 1 + s "Uh..." + show sayori 1o at t42 zorder 1 + show natsuki 4w at fbreasts zorder 3 + n "Look... I just think they're cool, okay? Don't judge me!" + show natsuki 4s at breasts zorder 3 + "..." + mc "Anyway..." + mc "You can count on my friendship too, Yuri." + show yuri 1b at f32 zorder 2 + y "Thank you, [player]." + y 1u "..." + show monika 1m at t43 zorder 1 + show sayori 4m at t42 zorder 1 + show natsuki 1p at breasts zorder 3 + y 4e "If you want to join in, there's still some space on my butt." + return \ No newline at end of file diff --git a/script-ayuskit.rpy b/script-ayuskit.rpy index 7c126fd..79b9aec 100644 --- a/script-ayuskit.rpy +++ b/script-ayuskit.rpy @@ -22,6 +22,7 @@ init -200 python: "ayuskit_label", # Label "ayuskit_thumbnail", # Thumbnail "PattAttack#3007", # Authors: PattAttack#3007 & SuperHatGuy#1795 + skit_position = 18 ) skits.append(ayuskit_skit) diff --git a/script-backups.rpy b/script-backups.rpy index 5ee4507..405b1b4 100644 --- a/script-backups.rpy +++ b/script-backups.rpy @@ -5,7 +5,8 @@ init -200 python: "Good thing she keeps backups", # Title "backups", # Label "club_date", #Thumbnail - "@Chronos#1609, /u/chronoshag" + "@Chronos#1609, /u/chronoshag", + skit_position = 1 ) skits.append(skit_backups) diff --git a/script-chaos.rpy b/script-chaos.rpy deleted file mode 100644 index 9def13e..0000000 --- a/script-chaos.rpy +++ /dev/null @@ -1,80 +0,0 @@ -# "Chaos" by Logokas -# Super Monika sprite by UNKNOWN -# Voice of Monika by AngryHedgehog - https://www.youtube.com/channel/UCOd2-46VpUUEOmUOxLJHAuA/featured -# Voice of Sayori & Natsuki by Yagamirai10 - -init -200 python: - skit_chaos = Skit( - "Chaos", # Title - "chaos", # Label - "club_date", #Thumbnail - "@Logokas#5981, /u/Logokas" - ) - - skits.append(skit_chaos) - - -image monika 6 = im.Composite((960, 960), (0, 0), "mod_assets/chaos/chaos_m_super-monika.png") - -label chaos(preserve_transition=True): - - scene bg club_day - if preserve_transition == True: - with dissolve_scene_full - play music t5 - - show sayori 1d zorder 2 at i33 - voice "mod_assets/chaos/chaos_s01.wav" - s "Uh, Monika?" - voice "mod_assets/chaos/chaos_s02.wav" - s "The..Club and I were wondering.." - voice "mod_assets/chaos/chaos_s03.wav" - s 1h "What're those colored stones you've been using to make this place go funny lately?" - show monika 1b zorder 3 at l32 - voice "mod_assets/chaos/chaos_m01.wav" - m "Ahaha!" - show monika 3a zorder 3 at f32 - voice "mod_assets/chaos/chaos_m02.wav" - m "You mean, the Chaos Emeralds?" - show monika 3a zorder 3 at t32 - show sayori 1h zorder 2 at f33 - voice "mod_assets/chaos/chaos_s04.wav" - s "Uh..\"{space=5000}{w=0.5}{nw}" - show sayori 1h zorder 2 at t33 - show monika 1a zorder 3 at f32 - voice "mod_assets/chaos/chaos_m03.wav" - m "I'm going to assume you mean the Chaos Emeralds." - show monika 5a zorder 3 at hf32 - voice "mod_assets/chaos/chaos_m04.wav" - m "If that's what you're wondering about, I've got all of them, right here!" - #Monika Shifts to Super Monika - show white zorder 4: - alpha 0.6 - linear 0.25 alpha 0.0 - play sound "mod_assets/chaos/chaos_sfx01.wav" - show monika 6 zorder 3 at h32 - pause 1 - show sayori 4o zorder 2 at hf33 - voice "mod_assets/chaos/chaos_s05.wav" - s "Whoa!" - #use forced dialogue movement - show natsuki 1o zorder 1 at l31 - voice "mod_assets/chaos/chaos_n01.wav" - n "Are you fucking serious?! You can't just-\"{space=5000}{w=1.45}{nw}" - show monika 6 zorder 3 at hf32 - stop music fadeout 1.5 - play sound "mod_assets/chaos/chaos_sfx02.wav" - voice "mod_assets/chaos/chaos_m05.wav" - m "Chaos Delete!\"{space=5000}{w=0.75}{nw}" - show monika 6 zorder 3 at t32 - show natsuki scream zorder 1 at hf31 - voice "mod_assets/chaos/chaos_n02.wav" - n "Wait no no NO NO NO-!\"{space=5000}{w=0.4}{nw}" - #Cut to black with an explosion sound - window hide(None) - scene black - pause 3 - # Remove the glitch intro of the transition as it's a black screen, so you wouldn't be able to see it anyway. - if preserve_transition == False: - $ transition_glitch_intro = False - return \ No newline at end of file diff --git a/script-cokie.rpy b/script-cokie.rpy index 9768efa..2f14c22 100644 --- a/script-cokie.rpy +++ b/script-cokie.rpy @@ -49,7 +49,8 @@ init -200 python: "The Cookie", "script_cokie", "cokie_thumbnail", - "/u/AinsleyHairyott" + "/u/AinsleyHairyott", + skit_position = 8 ) skits.append(skit_cokie) @@ -62,7 +63,8 @@ label script_cokie(preserve_transition=True): scene black with wipeleft - play music cokie_bgm01 + #play music cokie_bgm01 + play music t3 # Developer Comments scene bg club_day: subpixel True # this line is very recommended to make your animations move more smoother by using subpixel positioning instead of regular pixel positioning. @@ -240,7 +242,7 @@ label script_cokie(preserve_transition=True): subpixel True xtile 3 zoom 1.4 xcenter 1125 ycenter 325 - ease 0.5 zoom 1.25 xcenter 1225 ycenter 295 + ease 0.5 zoom 1.25 xcenter 1275 ycenter 295 show sayori 4a at i11: zoom 1.1 xcenter 900 ycenter 360 xoffset 900 @@ -250,7 +252,7 @@ label script_cokie(preserve_transition=True): xoffset 900 alpha 1 ease 0.5 alpha 0 - s "Thank you Natuski~!" + s "Thank you Natsuki~!" hide s1 show layer master: subpixel True @@ -258,7 +260,7 @@ label script_cokie(preserve_transition=True): ease_quad 0.5 xcenter -700 ycenter 450 show bg club_day: subpixel True - zoom 1.25 xcenter 1225 ycenter 295 + zoom 1.25 xcenter 1275 ycenter 295 ease_quad 0.5 xcenter 1175 ycenter 305 window hide(None) pause 0.5 @@ -313,6 +315,7 @@ label script_cokie(preserve_transition=True): window show(None) s "Awww...! Please?" s "Just a bit..!" + stop music fadeout 2.0 show natsuki 1x window hide(None) show layer master: @@ -352,6 +355,7 @@ label script_cokie(preserve_transition=True): subpixel True zoom 1.2 xcenter 1205 ycenter 295 easein_elastic 1 zoom 1.15 xcenter 1215 ycenter 285 + play music t7 n "NO!!" show layer master: subpixel True @@ -403,6 +407,7 @@ label script_cokie(preserve_transition=True): easein_quad 0.5 yoffset 10 pause 1 window show(None) + stop music fadeout 2.0 n "{i}*Sigh*{/i}" show natsuki 1g at i11: subpixel True @@ -413,6 +418,7 @@ label script_cokie(preserve_transition=True): with Dissolve(0.25) n "Alright, then." n 4a "It's yours, my friend." + play music t3 window hide(None) show natsuki 4a at i11: subpixel True @@ -527,6 +533,7 @@ label script_cokie(preserve_transition=True): easein_elastic 1 zoom 1.20 xcenter 1205 ycenter 295 n 4x "Cookie Monster." + window hide(None) show layer master return \ No newline at end of file diff --git a/script-ddlc-abridged.rpy b/script-ddlc-abridged.rpy index bd433d0..b9816ba 100644 --- a/script-ddlc-abridged.rpy +++ b/script-ddlc-abridged.rpy @@ -5,7 +5,8 @@ init -200 python: "DDLC Abridged", # Title "ddlc_abridged", # Label "residential_day_date", #Thumbnail - "@Chronos#1609, /u/chronoshag" + "@Chronos#1609, /u/chronoshag", + skit_position = 0 ) skits.append(skit_ddlc_abridged) @@ -14,8 +15,7 @@ label ddlc_abridged(preserve_transition=True): stop music fadeout 2.0 scene bg residential_day - if preserve_transition == True: - with dissolve_scene_full + with dissolve_scene_full play music t2 mc "I'm both bored and boring." diff --git a/script-deepchat.rpy b/script-deepchat.rpy index b596673..ad67545 100644 --- a/script-deepchat.rpy +++ b/script-deepchat.rpy @@ -3,7 +3,8 @@ init -200 python: "A Talk With The Club", # Title "club_talk", # Label "club_date", #Thumbnail - "@KarasilSothren#9772, /u/Karasilsothren" + "@KarasilSothren#9772, /u/Karasilsothren", + skit_position = 13 ) # skits.append(skit_club_talk) diff --git a/script-external-monologue.rpy b/script-external-monologue.rpy index 8d36f24..0cb2cf5 100644 --- a/script-external-monologue.rpy +++ b/script-external-monologue.rpy @@ -5,7 +5,8 @@ init -200 python: "External Monologue", # Title "external_monologue", # Label "club_date", #Thumbnail - "@Tormuse#9495, /u/Tormuse" + "@Tormuse#9495, /u/Tormuse", + skit_position = 5 ) skits.append(skit_external_monologue) diff --git a/script-fast-forward.rpy b/script-fast-forward.rpy index 3d632ba..c09e06b 100644 --- a/script-fast-forward.rpy +++ b/script-fast-forward.rpy @@ -8,7 +8,8 @@ init -200 python: "Fast-Forward", # Title "fast_forward", # Label "fast-forward_thumbnail", # Thumbnail - "@MrGraves#9413, /u/DiabloGraves" # Author + "@MrGraves#9413, /u/DiabloGraves", # Author + skit_position = 11 ) skits.append(skit_fast_forward) # Add your skit to the list! Make sure it matches the name above. diff --git a/script-madman.rpy b/script-madman.rpy deleted file mode 100644 index bc57d92..0000000 --- a/script-madman.rpy +++ /dev/null @@ -1,117 +0,0 @@ -# "Absolute Madman" by Logokas -# Some script nicked from Tormuse's skit -# Video ripped from HJordH's channel ( https://www.youtube.com/watch?v=RrjJtYpOawU ) -# Thumbnail from Bethesda's official site - -image madman_thumbnail = im.FactorScale("mod_assets/madman/madman_thumbnail.png",0.3,0.3) - -init -200 python: - skit_madman = Skit( - "Absolute Madman", # Title - "madman", # Label - "madman_thumbnail", # Thumbnail - "@Logokas#5981, /u/Logokas" - ) - - skits.append(skit_madman) - -label madman(preserve_transition=True): - - scene bg club_day - show sayori 1q zorder 2 at t11 - s 1q "Ehehe~" - s 1a "There's actually something else." - show sayori 1a zorder 2 at t11 - s "I wanted to thank you for getting rid of Monika." - play music hb - show black: - alpha 0.5 - parallel: - 0.36 - alpha 0.5 - repeat - parallel: - 0.49 - alpha 0.475 - repeat - show layer master at heartbeat - s 1b "That's right..." - s "I know everything that she did." - s 1x "Maybe it's because I'm the President now." - s "But I really know everything, [player]." - s 1q "Ehehe~" - s 1d "I know how hard you tried to make everyone happy." - s "I know about all of the awful things that Monika did to make everyone really sad..." - s 1b "But none of that matters anymore." - s "It's just us now.{nw}" - show screen tear(20, 0.1, 0.1, 0, 40) - play sound "sfx/s_kill_glitch1.ogg" - $ pause(0.25) - stop sound - hide screen tear - show room_glitch zorder 1: - xoffset -5 - 0.1 - xoffset 5 - 0.1 - linear 0.1 alpha 0.6 - linear 0.1 alpha 0.8 - 0.1 - alpha 0 - s "It's just us now.{fast}" - hide room_glitch - s 1d "And you made me the happiest girl in the whole world." - s "I can't wait to spend every day like this..." - s "With you." - play sound "sfx/s_kill_glitch1.ogg" - show room_glitch zorder 1: - xoffset -10 - 0.1 - xoffset 0 - 0.1 - linear 0.1 alpha 0.6 - linear 0.1 alpha 0.8 - 0.1 - alpha 1.0 - $ pause(0.3) - stop sound - s 1q "Forever and ever..." - show sayori 1a at face - s "F" - s "o" - s "r" - show screen tear(20, 0.1, 0.1, 0, 40) - play sound "sfx/s_kill_glitch1.ogg" - $ pause(0.25) - stop sound - hide screen tear - s "e" - s "v" - s "e" - window show(None) - stop music - call screen dialog("No.", ok_action=Return()) - show layer master - hide black - show sayori end-glitch onlayer screens - s "...Eh?" - call screen dialog("We're not doing this again.", ok_action=Return()) - show screen tear(20, 0.1, 0.1, 0, 40) - hide sayori onlayer screens - window hide(None) - play sound "sfx/s_kill_glitch1.ogg" - scene black - pause 0.35 - stop sound - hide screen tear - window show(None) - call screen dialog("This is all just a huge waste of time.", ok_action=Return()) - call screen dialog("Just go play something else.", ok_action=Return()) - call screen dialog("Here.", ok_action=Return()) - call screen dialog("This should do.", ok_action=Return()) - window hide(None) - stop sound - scene black - pause 2 - $ renpy.movie_cutscene("mod_assets/madman/game.mkv") - return \ No newline at end of file diff --git a/script-merchandise.rpy b/script-merchandise.rpy new file mode 100644 index 0000000..065ae15 --- /dev/null +++ b/script-merchandise.rpy @@ -0,0 +1,49 @@ +# Skit template by Ceane +# This template should help you get going, and set up your own skit to be compatible with the rest of the game. +# Author of the skit, and any credits for assets or parts of code should be commented here, at the start of the file + +# It's by Chiff the Oblivious#4251, and the background is surprisingly enough from the DDLC store. + +# If you don't want to use one of the original game's thumbnails (e.g. club_date, corridor_date, class_date), then define it here. +image merchandise_thumbnail = "mod_assets/merchandise/merchandise_thumbnail.png" + +# First, we need to add our skit to the list of skits that the game looks at. +init -200 python: + skit_merchandise = Skit( + "Merchandise", # Set this to be the title of your skit. + "merchandise", # Set this to be the label that you call below. + "merchandise_thumbnail", # Set this to be the thumbnail you want for your skit. If you aren't using one from the original game, then you'll need to define its image. + "@Chiff the Oblivious#4251", # Author + skit_position = 14 + ) + + skits.append(skit_merchandise) # Add your skit to the list! Make sure it matches the name above. + +image merchandise_bg01 = "mod_assets/merchandise/merchandise_bg01.png" + +# Now, for the actual scene: +label merchandise(preserve_transition=True): # Don't change the preserve_transition part, but rename "template" to what you want your label to be. + + scene black # Whatever scene you want + if preserve_transition == True: + with dissolve_scene_full + # You can have whatever transition effects you want at the start of your script, as long as you put them in this if block. + # This is used for triggering the transition depending on whether or not someone is going through the game in "Play All" mode, + # or through scene selection. + + "I gently open the DDLC store." + mc "{cps=30}.......Sayo--{/cps}{nw}" + window hide(None) + window auto + play music td + show merchandise_bg01 + pause 3.76 + show screen tear(20, 0.1, 0.1, 0, 40) + play sound "sfx/s_kill_glitch1.ogg" + pause 0.25 + stop sound + hide screen tear + pause 3.00 + stop music + + return \ No newline at end of file diff --git a/script-monikas-surprise.rpy b/script-monikas-surprise.rpy index 6cddf1a..491d99b 100644 --- a/script-monikas-surprise.rpy +++ b/script-monikas-surprise.rpy @@ -6,7 +6,8 @@ init -200 python: "Monika's Surprise", # Title "monikas_surprise", # Label "monika_room_date", #Thumbnail - "@Tormuse#9495, /u/Tormuse" + "@Tormuse#9495, /u/Tormuse", + skit_position = 4 ) skits.append(skit_monikas_surprise) diff --git a/script-natlaunch.rpy b/script-natlaunch.rpy index c2f754a..dfd17a7 100644 --- a/script-natlaunch.rpy +++ b/script-natlaunch.rpy @@ -3,7 +3,8 @@ init -200 python: "Don't Call A Tsundere Cute", # Title "natcute", # Label "club_date", #Thumbnail - "@KarasilSothren#9772, /u/Karasilsothren" + "@KarasilSothren#9772, /u/Karasilsothren", + skit_position = 12 ) skits.append(skit_nocallnatcute) @@ -70,6 +71,7 @@ label natcute(preserve_transition=True): scene bg club_day if preserve_transition == True: with dissolve_scene_full + play music t3 show natsuki 4a at t11 "I walk into the club room seeing Nat waiting." mc "Hey cutie." @@ -129,8 +131,10 @@ label natcute(preserve_transition=True): scene bg club_day show natsuki 1a at t11 hide screen tear + stop music + play music t3 "I walk in and see Nat." - mc "Hye cutie." + mc "Hey cutie." n 1q "I-I'm not cute." mc "But you so are, I mean look at you." show natsuki at t22 @@ -164,5 +168,6 @@ label natcute(preserve_transition=True): show sayori at t44 show yuri at t41, behind monika m "Nope I am not dealing with this." - call screen dialog("Whe have launched Natsuki enough times.", ok_action=Return()) + stop music + call screen dialog("We have launched Natsuki enough times.", ok_action=Return()) return \ No newline at end of file diff --git a/script-notebook.rpy b/script-notebook.rpy index a23af6b..70fa3e6 100644 --- a/script-notebook.rpy +++ b/script-notebook.rpy @@ -5,7 +5,8 @@ init -200 python: "The Missing Notebook", "terra_ddcc", "club_date", - "@Terra#2060, /u/wingedterra" + "@Terra#2060, /u/wingedterra", + skit_position = 6 ) skits.append(skit_template) diff --git a/script-printer.rpy b/script-printer.rpy index 8e0e8fd..8c1eb8a 100644 --- a/script-printer.rpy +++ b/script-printer.rpy @@ -35,7 +35,8 @@ init -200 python: "The Annoying Printer", "script_printer", "printer_thumbnail", - "/u/AinsleyHairyott" + "/u/AinsleyHairyott", + skit_position = 9 ) skits.append(skit_printer) diff --git a/script-punclub.rpy b/script-punclub.rpy index 6f0a4cc..709b896 100644 --- a/script-punclub.rpy +++ b/script-punclub.rpy @@ -14,7 +14,8 @@ init -200 python: "Pun Club", "punclub", "punclub_thumbnail", - "@VirtualKibou#0811, /u/VirtualKibou" + "@VirtualKibou#0811, /u/VirtualKibou", + skit_position = 7 ) skits.append(skit_punclub) diff --git a/script-sayomania.rpy b/script-sayomania.rpy index 5f362df..d39186e 100644 --- a/script-sayomania.rpy +++ b/script-sayomania.rpy @@ -18,7 +18,8 @@ init -200 python: "Sayo-nara: Mania Adventures edition", "sayomania", "sayori_room_date", - "@CPG Yuri - u/reconusm#1435" + "@CPG Yuri - u/reconusm#1435", + skit_position = 10 ) skits.append(skit_template) diff --git a/script-sayoriantileave.rpy b/script-sayoriantileave.rpy new file mode 100644 index 0000000..06061cb --- /dev/null +++ b/script-sayoriantileave.rpy @@ -0,0 +1,157 @@ +# Skit template by Ceane +# This template should help you get going, and set up your own skit to be compatible with the rest of the game. +# Author of the skit, and any credits for assets or parts of code should be commented here, at the start of the file + +# If you don't want to use one of the original game's thumbnails (e.g. club_date, corridor_date, class_date), then define it here. +image template_thumbnail = "images/bg/club.png" +transform t51: + tcommon(140) +transform t61: + tcommon(100) +transform t71: + tcommon(60) +transform t72: + tcommon(12) +transform t81: + tcommon(5) +transform t91: + tcommon(-100) +transform t101: + tcommon(-200) +transform t111: + tcommon(-290) +# First, we need to add our skit to the list of skits that the game looks at. +init -200 python: + skit_antileave = Skit( + "Don't let Sayori leave, I swear to god!", # Set this to be the title of your skit. + "no_leave", # Set this to be the label that you call below. + "template_thumbnail", # Set this to be the thumbnail you want for your skit. If you aren't using one from the original game, then you'll need to define its image. + "@KarasilSothren#9772, /u/Karasilsothren", + skit_position = 15 + ) + + skits.append(skit_antileave) # Add your skit to the list! Make sure it matches the name above. +#this was so I could test it on it's own outside of the comedy club mod and have more control +#default preserve_transition = True +# Now, for the actual scene: +label no_leave(preserve_transition=True): # Don't change the preserve_transition part, but rename "template" to what you want your label to be. + + scene bg club_day # Whatever scene you want + if preserve_transition == True: + with dissolve_scene_full + # You can have whatever transition effects you want at the start of your script, as long as you put them in this if block. + # This is used for triggering the transition depending on whether or not someone is going through the game in "Play All" mode, + # or through scene selection. + play music t10 + show sayori 2l at t11 + s "Hey, I'm going to go home. Tell Monika I wasn't feeling good." + "I almost feel myself say sure but something prevents me from doing so." + stop music + mc "You shouldn't leave. We still have other things to do." + s 4h "What?" + mc "Just come with me." + "I take Sayori by the arm and drag her to everyone else." + s 1p "What are you doing?" + mc "Bringing you back to the rest of the club." + show sayori 4m at t41 + s 3l "Hey, I said I wanted to go home..." + "I ignore Sayori knowing it was for her own good." + play music t3 + mc "Hey guys, can you make sure Sayori stays here for the rest of the meeting?" + show monika 1d at f11 + m "Why would we need to do that?" + show sayori at f41 + show monika at t11 + s 1k "I'm feeling under the weather." + mc "And that's why you need to stay." + show sayori at t41 + show monika at f11 + m 3i "I'm not sure about this." + show monika at t42 + show natsuki 1m at f43 + n "What's going on?" + mc "I'm trying to have Sayori not leave." + show sayori at t51 + "Sayori starts walking away." + show sayori 4n at t41 + mc "Sayori what are you doing?" + show sayori at f41 + s 5b "Nothing." + show sayori at t41 + show yuri 1f at f44 + y "What's going on?" + show yuri at t44 + show natsuki at f43 + n "Apparently we are trying to prevent Sayori from leaving." + show sayori 1k at t61 + m "It's not going well." + show sayori at t72 + mc "Sayori!" + show sayori 4p at t41 + mc "I swear she doesn't want to hang out with us or something." + show sayori 1l at t51 + show natsuki at f43 + n 5w "Well {b}MAYBE{/b} it's because of you forcing her to stay here." + show sayori at t61 + mc "I'm just worried about her is all." + show sayori at t71 + n "Worried is a bit of an understatement." + show sayori at t81 + y "I'm with Natsuki on this one." + show sayori at t72 + m "Okay I'm done with this." + show sayori 4p at t41 + mc "Sayori don't leave I swear to god!" + python: + renpy.sound.play("sfx/interference.ogg", channel='sound', loop=True) + window hide + $ consolehistory = [] + call updateconsole("Raise class shields", "Raising") + $ consolehistory = [] + call updateconsole("", "Raising{fast}.") + $ consolehistory = [] + call updateconsole("", "Raising.{fast}.") + $ consolehistory = [] + call updateconsole("", "Raising..{fast}.") + $ consolehistory = [] + call updateconsole("", "Raising Complete") + $ consolehistory = [] + call hideconsole + stop sound + show natsuki 1k + show yuri 2g + mc "What did you do?" + m "I prevented Sayori from leaving, so that should do it." + mc "So there's nothing here that would allow her to leave?" + show sayori 3l at t51 + m 4r "The only thing that's here is rope, but what would she do with that?" + show sayori at t61 + mc "Climb out the window?" + show sayori at t71 + m "I blocked all points of access so there would still be no way she could leave." + show sayori at t81 + mc "So there is no way out?" + show sayori at t91 + m "No and if there was I'm sure I could cover that one as well if I had to." + show sayori at t101 + mc "Are you sure, because I am really worried about her." + show sayori at t111 + m "Yes now let's continue this meeting then." + m "Sayori can't leave plain and simple." + show screen tear(20, 0.1, 0.1, 0, 40) + stop music + pause 0.25 + hide sayori + show s_kill at t61: + yoffset -0.6 + hide screen tear + show natsuki scream + show yuri 3p + show monika 1r at t42 zorder 2 + mc "What the hell happened!?" + m "Nope I am not dealing with this, this is your fault." + m "Should've let her leave." + m 3i "But instead she hung herself!" + m "So guess what she left and you won't be seeing her again." + $ renpy.call_screen("dialog", "I'm done with this shit.", ok_action=Return()) + return \ No newline at end of file diff --git a/script-stalker.rpy b/script-stalker.rpy deleted file mode 100644 index 75a27d3..0000000 --- a/script-stalker.rpy +++ /dev/null @@ -1,158 +0,0 @@ -#Stalker by CampinKarl - -init -200 python: - skit_stalker = Skit( - "S.T.A.L.K.E.R.", # Title - "stalker", # Label - "stalker_date", #Thumbnail - "@CampinKarl#8524, /u/CampinKate" - ) - - skits.append(skit_stalker) - - -label stalker(preserve_transition=True): - stop music fadeout 2.0 - - #Thanks for guiding me so far with the programming Karl... it's # to re-write, huh? - $ persistent.playthrough = 0 - scene bg stalker_bg - if preserve_transition == True: - with dissolve_scene_full - - #'Hold on, let me just put this in.' - if player == m_name: - m "Imitation is the sincerest form of flattery, [currentuser]." - m "But I prefer your real name." - $ player = currentuser - - elif player == "Karl": #'Inspired by people who use Karl as a name' - m "Are we de-bugging, [player]?" - play sound "sfx/giggle.ogg" - - elif player == "Francis": #'Here's to the MBS artist, cheers!' - m "Oooh, [player]!" - - $ m_name = '????' - $ s_name = '????' - $ y_name = '????' - $ n_name = 'Bandits' - #maybe I should set up the mood a bit - - play music stalker - y "Oh my..." - y "This..." - y "...This should be the place." - $ y_name = 'Yuri' - show yuri 1sq at t11 - y "The Zone of Markov." - - #a little music here~ - y "It's {i}grassier{/i} than they put out in the books." - y 2ss "I wonder if the landmarks are right..." - play sound "mod_assets/stalker/stalker_sfx_army1.ogg" - show yuri 3se - y "Ooh-!" - y "..." - y "..." - y 3sd "This is indeed the place!" - y 2si "I should begin surveying the locations." - y "Perhaps enjoy some tea as well." - y 2sc "Perfect place to read!" - show yuri 3sp at t43 - play sound "mod_assets/stalker/stalker_sfx_breeki.ogg" - y "Eaahh!!" - y "Bandits!!" - s "Papali-!" - s "Papali suka!" - play sound "mod_assets/stalker/stalker_sfx_shotgun.ogg" - show sayori 6p at h41 - s "Uwaaaa-!!!" - s "Heeeeeelp mee!!!" - show yuri 2sn - y "What do I do???" - hide sayori - show yuri 1so at t11 - y "I should call the army." - y "They'll be of quaint assistance!" - play sound "mod_assets/stalker/stalker_sfx_army2.ogg" - scene bg stalker_bg2 - with dissolve_scene_full - pause 1.0 - show yuri at t11 - y 3sp "HEEEEEEEEELP!!!!" - y "SOMEONE!!!" - y "There are bandits prowling about!!!" - y 3so "...." - y "..." - show yuri at t41 - show monika 1sh at t44 - m "..." - show yuri 3sp - m 2si "Kakogo cherta ty zdes' delayesh'?" - y 2sq "I'm sorry, I don't speak Markov!" - $ m_name = 'Monika' - show monika 1sc - m "..." - show yuri 2ss - m 1sd "I see." - m 1sa "Are you traveling alone, or in a group?" - y 2st "Loner..." - show monika 1se - y "I..." - y "I'm alone..." - play sound "mod_assets/stalker/stalker_sfx_army3.ogg" - m 3sk "Perfect!" - show monika 3sj - y 2sq "Ahaha..." - y "How so...?" - m 1sa "Say goodbye." - y 1se "Goodbye?" - y "But I just got here..." - play sound "mod_assets/stalker/stalker_sfx_shotgun2.ogg" - m 1se "I know, Yuri." - m 1sj "I know..." - stop music - stop sound - show yuri at t11 - hide monika - y 3sp "Eahhh!" - scene black - hide yuri - play sound "mod_assets/stalker/stalker_sfx_shotgun.ogg" - y "..." - y "..." - y "..." - play music stalker - y "Am I dead?" - scene bg stalker_bg - with dissolve_scene_full - show sayori 4sa at t22 - show yuri 3sw at t21 - s "Are you alright?" - y 3sn "..." - y "..." - show sayori 3sn - y 3ss "You saved me..." - s 3sm "I did?" - y "Thank you..." - show yuri 2sn - s 4sp "I shot the army!!!!" - s 1sw "I thought it was a bandit!!!" - show sayori 1su - y 1st "Well..." - y "...No matter..." - y "At least we're safe now." - s 2sy "I actually don't have any bullets left." - y 1sf "Oh?" - y 1sa "Well what's the worst that can happen?" - play sound "mod_assets/stalker/stalker_sfx_breeki.ogg" - show yuri 2sn - show sayori 4sn - n "Anu cheeki breeki iv damke!" -# scene black -# stop music -# hide sayori -# hide yuri -# "FIN." - return \ No newline at end of file diff --git a/script-stop.rpy b/script-stop.rpy index 1940fd4..b66a7ea 100644 --- a/script-stop.rpy +++ b/script-stop.rpy @@ -10,7 +10,8 @@ init -200 python: "Stop", # Title "stop", # Label "club_date", #Thumbnail - "@Chronos#1609, /u/chronoshag" + "@Chronos#1609, /u/chronoshag", + skit_position = 3 ) skits.append(skit_stop) diff --git a/script-transition.rpy b/script-transition.rpy index d1743fb..792cfdb 100644 --- a/script-transition.rpy +++ b/script-transition.rpy @@ -5,7 +5,8 @@ # leftovers are not carried over from one skit to the next. # Defining the Transition assets -define audio.transition1 = "mod_assets/shared_assets/transition1.wav" +define audio.transition1 = "mod_assets/shared_assets/DDLC_Ditty_Grand_Piano.ogg" +define special_tracks = ["mod_assets/shared_assets/DDLC_Ditty_Choir_Aahs.ogg", "mod_assets/shared_assets/DDLC_Ditty_Oboe.ogg", "mod_assets/shared_assets/DDLC_Ditty_Orchestra_Hit.ogg", "mod_assets/shared_assets/DDLC_Ditty_Overdrive_Guitar.ogg", "mod_assets/shared_assets/DDLC_Ditty_Steel_Drums.ogg", "mod_assets/shared_assets/DDLC_Ditty_Viola.ogg"] image bg transition_image = "mod_assets/shared_assets/transition_default.png" define transition_glitch_intro = True @@ -27,8 +28,12 @@ label skit_transition: $ quick_menu = False stop music show bg transition_image zorder 4 - play music transition1 - + $ special_chance = renpy.random.randint(1, 100) + if special_chance == 58: + play music special_tracks[renpy.random.randint(0,5)] + else: + play music transition1 + # While the music is playing, lets reset everything back to normal $ s_name = "Sayori" $ y_name = "Yuri" @@ -37,7 +42,7 @@ label skit_transition: $ transition_glitch_intro = True # Finally a screen tear to ease out - $ pause (3) + $ pause (2) stop music show screen tear(20, 0.1, 0.1, 0, 40) play sound "sfx/s_kill_glitch1.ogg" diff --git a/script-under-new-management.rpy b/script-under-new-management.rpy index 4aab0b2..f7b83fc 100644 --- a/script-under-new-management.rpy +++ b/script-under-new-management.rpy @@ -5,7 +5,8 @@ init -200 python: "Under New Management", # Title "under_new_management", # Label "club_date", #Thumbnail - "@Chronos#1609, /u/chronoshag" + "@Chronos#1609, /u/chronoshag", + skit_position = 2 ) skits.append(skit_management) diff --git a/script-zroasthanaka.rpy b/script-zroasthanaka.rpy new file mode 100644 index 0000000..296258b --- /dev/null +++ b/script-zroasthanaka.rpy @@ -0,0 +1,121 @@ + +## The Roast of the Moderator (now Admin) who calls themselves Weiss +## Copyright 2020-2021 GanstaKingofSA. +## Thanks Nacho and Syner for suggestions on editing a few roasts! + +init -200 python: + skit_zroast_hanaka = Skit( + "The Roast of Hanaka", #Title + "zroast_hanaka", #Label + "zroasthanaka_thumbnail", #Thumbnail + "@GanstaKingofSA#0235, u/GanstaKingofSA", #Author + skit_position = 19 + ) + + skits.append(skit_zroast_hanaka) + +label zroast_hanaka(preserve_transition=True): + stop music fadeout 2.0 + scene black + if preserve_transition == True: + with dissolve_scene_full + $ pause (1.0) + "Disclaimer: The characters in this skit are all fictional, except Hanaka." + "Any resemblance to a actual persons' personality in this skit are merely coincidential." + $ pause(1.0) + scene bg crf + show desk 1 at t21 zorder 3 + with dissolve_cg + play music t2 + mc "Ladies and Gentleman!" + mc "Welcome to the first ever DDMC Roast Stream!" + mc "Today we have someone everyone has to deal with on a day to day basis." + mc "{i}And the admin that calls himself Weiss almost everyday...{/i}{w=0.05}{nw}" + mc "It's Hanaka!" + show hanaka 1ss at t43b + play audio clap + h "*waves*" + mc "Alright! Let the show begin!" + show monika 2b behind desk at f21 + show desk at f21 + show hanaka 1 at t43b + m "Thanks for having me here." + m "Hanaka, I'm surprised you stayed three years in the community." + m "Three years and you still haven't learned to grow up." + show monika at t21 + show desk at t21 + play audio zhlaugh + mc "Ooh! Looks like things are about to get spicy!" + show hanaka at f43b + h 1g "..." + show hanaka at t43b + show monika 2d at f21 + show desk at f21 + m "During those times you always liked to say I was yours alone." + m 2h "Though now you picked up some ice girl from some place called \"Remnant\"." + m 5b "I wonder how she's doing for you." + m "Especially since she looks like a discount Elsa from Frozen." + show monika at t21 + show desk at t21 + play audio zhlaugh + show hanaka 1p + mc "Ouch! Targetting his new waifu I see!" + show monika at f21 + show desk at f21 + m "To be honest, I feel you made that name up and got her at a discount fisher price store." + play audio zhlaugh + show monika at t21 + show desk at t21 + show hanaka at f43b + h 1m "..." + show hanaka at t43b + show monika at f21 + show desk at f21 + m "{cps=28}Here's some advice, stop dreaming up a reality with her because it's going to be your final fantasy, and-{nw}{cps=28}" + m 2h "Oh wait you don't know what that is either." + m "Why don't you Google that instead of wishing for horse simulators in your diary?" + show monika at t21 + show desk at t21 + play audio zhlaugh + mc "Oof! The comedy stream strikes a home run tonight!" + show hanaka 1ses at f43b + h "*smirks*" + show hanaka 1s at t43b + show monika 3m at f21 + show desk at f21 + m "Hanaka, who did your hair?" + show hanaka at t33 + m 3n "And what's with your outfit?" + show hanaka at t44 + m "It almost looks like you are just wearing a wig and bought them off the reject shop." #actual store in Australia, did research + show hanaka at t45 + m 2k "You look so ridiculous that I can say that you don't look like a clown." + show hanaka at rhide + hide hanaka + m "But the entire circus!" + show monika at t21 + show desk at t21 + play audio zhlaugh + $ skw = renpy.random.randint(0,1) + if skw == 0: + mc "So much comedy gold from our guest Monika." + else: + mc "So much comedy cringe from our guest Monika." + play audio hml + mc "Wait. Where the heck did Hanaka go?" + show monika at f21 + show desk at f21 + m 1d "Huh?" + m "{cps=25}Hanak-{nw}{cps=25}" + show monika at t21 + show desk at t21 + play audio nerfthis + h "NERF{w=1.0} THIS!{w=1.0}{nw}" + show monika 5b at t21 + lm "{cps=15}AW CRA-{nw}{cps=15}" + stop music + stop audio + scene bg psb + play audio psbsfx + $ pause(2.0) + return diff --git a/script.rpy b/script.rpy index 24cc5e0..78aa393 100644 --- a/script.rpy +++ b/script.rpy @@ -3,14 +3,14 @@ label start: stop music fadeout 1.5 python: + skits = sorted(skits, key=lambda skits: skits.skit_position) for script in skits: - if script.call_label == "ddcc": - renpy.call_in_new_context(script.call_label, preserve_transition=True) - else: - renpy.call_in_new_context(script.call_label, preserve_transition=False) + renpy.call_in_new_context(script.call_label, preserve_transition=False) renpy.call_in_new_context("skit_transition") - - #TODO: call credits from _call_credits + + if not persistent.ddcc_complete: + call endgame + call endgame2 return screen scenechoice1: @@ -58,8 +58,14 @@ screen scenechoice2: textbutton "<<< Previous" action Jump("Choice2") xcenter .38 ycenter .95 style "monika_text" hover_sound "gui/sfx/hover.ogg" activate_sound "sfx/pageflip.ogg" label choose: - play music t4 + stop music fadeout 2.0 + window hide show screen scene_select() + with dissolve_scene_full + play music t4 + if not persistent.ddcc_single_menu: + call screen dialog("Welcome to the DDCC Skit Menu!\n\nIn here you may pick any skit that was featured\nin DDCC 2!\n\nJust select the skit you want to play and experience\nthe skit all over again.", ok_action=Return()) + $ persistent.ddcc_single_menu = True pause #scene bg notebook with Dissolve(0.5, alpha=True) #play music t4 @@ -72,7 +78,7 @@ label choose: # show screen scenechoice2 #while True: # pause 50.0 - return #This return will send us back to the title screen after the skit we picked is done. + jump choose #This return will send us back to the title screen after the skit we picked is done. label cleanJump: hide screen scenechoice1 @@ -80,3 +86,47 @@ label cleanJump: hide screen main_menu stop music fadeout 2.0 #jump expression jumpLabel + +label endgame: + scene black + $ pause (1.0) + show hanaka 1g at t11 + h "Sorry to keep you waiting!" + scene bg club_day + show hanaka 1g at t11 + with dissolve_cg + h "Much better." + h 1ses "I just wanted to thank you for playing [config.name]!" + h 1m "I know this project has taken over three years to complete, but it's not my fault it is finally out the 4th anniversary of DDLC." + h 1g "A-Anyways." + h 1 "I hope you enjoyed all the skits that were made by the DDMC community!" + h 1g "Everyone put a lot of dedication towards these skits and appreciate everyone that submitted one to be part of DDMC history." + h 1 "Now that you reached the end, you might be wondering what to do next." + h "Why not play through everyone's skits again?" + h 1m "What? Is that not enough?" + h "Fine. Here." + $ pause (1.0) + $ persistent.ddcc_complete = True + $ renpy.notify("DDCC Completed") + h 1s "I added a special \"Play\" button in the game for you." + h "This will allow you to play through a skit of your choosing without going through the headache of playing every other skit." + h 1 "With that out of the way, thank you again for playing DDCC 2!" + $ stream_list = ["obs32.exe", "obs64.exe", "obs.exe", "xsplit.core.exe", "livehime.exe", "pandatool.exe", "yymixer.exe", "douyutool.exe", "huomaotool.exe"] + if list(set(process_list).intersection(stream_list)): + h 1s "But before you go, I have one last thing to say." + $ pause (1.0) + h 1g "Hi Influencer! Hi Everyone Else!" + h 1ses " Ahaha~. I always wanted to do that." + return + +# the end label of the game. Not the credits. +label endgame2(pause_length=4.0): + $ quick_menu = False + stop music fadeout 2.0 + scene black + show end + with dissolve_scene_full + pause pause_length + $ quick_menu = True + return + \ No newline at end of file diff --git a/splash.rpy b/splash.rpy index 17559e3..f2e8b92 100644 --- a/splash.rpy +++ b/splash.rpy @@ -16,7 +16,7 @@ init -100 python: init python: menu_trans_time = 1 #The default splash message, originally shown in Act 1 and Act 4 - splash_message_default = "This game is an unofficial fan work, unaffiliated with Team Salvato." + splash_message_default = "This game is an unofficial fan work, unaffiliated with Team Salvato or Logokas." #Optional splash messages, originally chosen at random in Act 2 and Act 3 splash_messages = [ "Please support Doki Doki Literature Club." @@ -27,7 +27,7 @@ image splash_warning = ParameterizedText(style="splash_text", xalign=0.5, yalign ##Here's where you can change the logo file to whatever you want image menu_logo: - "/mod_assets/DDLCModTemplateLogo.png" + "/mod_assets/DDLCModTemplateLogo2.png" subpixel True xcenter 240 ycenter 120 @@ -206,13 +206,14 @@ image tos2 = "bg/warning2.png" label splashscreen: - ## devmode check - default devmode = ['Devmode'] python: - for x in devmode: - if player in devmode: - config.developer = True - renpy.notify('Developer Mode Enabled') + process_list = [] + if renpy.windows: + try: + process_list = subprocess.check_output("wmic process get Description", shell=True).lower().replace("\r", "").replace(" ", "").split("\n") + except: + pass + #If this is the first time the game has been run, show a disclaimer default persistent.first_run = False if not persistent.first_run: @@ -222,9 +223,9 @@ label splashscreen: scene tos with Dissolve(1.0) pause 1.0 - "[config.name] is a Doki Doki Literature Club fan mod that is not affiliated with Team Salvato." + "[config.name] or DDCC 2, is a Doki Doki Literature Club fan mod that is not affiliated with Team Salvato or the old Logokas DDCC project." "It is designed to be played only after the official game has been completed, and contains spoilers for the official game." - "Game files for Doki Doki Literature Club are required to play this mod and can be downloaded for free at: http://ddlc.moe" + "Game files for Doki Doki Literature Club are required to play this mod and can be downloaded for free at http://ddlc.moe or Steam." menu: "By playing [config.name] you agree that you have completed Doki Doki Literature Club and accept any spoilers contained within." "I agree.": @@ -257,7 +258,7 @@ label splashscreen: show white $ persistent.ghost_menu = False #Handling for easter egg from DDLC $ splash_message = splash_message_default #Default splash message - $ config.main_menu_music = audio.t1 + $ config.main_menu_music = audio.ddcc_mm $ renpy.music.play(config.main_menu_music) show intro with Dissolve(0.5, alpha=True) pause 2.5 @@ -268,7 +269,7 @@ label splashscreen: show splash_warning "[splash_message]" with Dissolve(0.5, alpha=True) pause 2.0 hide splash_warning with Dissolve(0.5, alpha=True) - $ config.allow_skipping = True + $ config.allow_skipping = False return label warningscreen: @@ -315,7 +316,7 @@ label autoload: jump expression persistent.autoload label before_main_menu: - $ config.main_menu_music = audio.t1 + $ config.main_menu_music = audio.ddcc_mm return label quit: diff --git a/travis/inject_version.sh b/travis/inject_version.sh deleted file mode 100755 index b827dfb..0000000 --- a/travis/inject_version.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -# You find yourself in a strange place. This is where we inject semvering via Git Tags -# No need to change anything below the replacer variable. -# Just change the value of replacer, the script will do everything for you - -replacer="0.0.5" - -if [ ! -z $TRAVIS_TAG ]; then - echo " ---> Tag exists, using tag." - sed -i "s/define config.version = \"$replacer\"/define config.version = \"$TRAVIS_TAG\"/g" mod/game/options.rpy; - cat mod/game/options.rpy | grep config.version; -else - echo " ---> Tag not exists, using hash." - sed -i "s/config.version = \"$replacer\"/config.version = \"$TRAVIS_COMMIT\"/g" mod/game/options.rpy; - cat mod/game/options.rpy | grep config.version; -fi diff --git a/travis/patch_renpy.sh b/travis/patch_renpy.sh deleted file mode 100755 index c4e58a6..0000000 --- a/travis/patch_renpy.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# patches Ren'Py to work with Voice Engines. - -# Sanity check first - -if [[ -z "$(cat renpy/renpy/defaultstore.py | grep '_menu = False')" ]]; then - - echo " ----> Patching..." - echo "_menu = False" >> renpy/renpy/defaultstore.py - - # final output check before exiting - echo " ---> Patched. Review the following if this is okay." - cat renpy/renpy/defaultstore.py | grep '_menu = False'; - exit 0 - -else - - echo " ----> Line exists. Exiting now."; - exit 0; - -fi \ No newline at end of file diff --git a/travis/setup.sh b/travis/setup.sh deleted file mode 100755 index aa58b7a..0000000 --- a/travis/setup.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# config for mc -# If you have your own base files, kindly edit this -# However, if you prefer our base files, that's okay too! - -mc_endpoint="https://s3-api.us-geo.objectstorage.softlayer.net" -mc_hmac_key="aa1d6f56b97443c185d7282c22adc4a7" -mc_hmac_secret="29fc312082d26720ceeec6e89630f6d2fc382a96c7a72b1c" -mc_alias="ibm" -mc_bucket="filepub" -mc_filename="ddlc_pkg.zip" - -# DO NOT EDIT BELOW THIS LINE -# This is intended for automating unzipping and putting the RPAs into the respect folder -echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Installing Minio S3 Client" - -wget "https://dl.minio.io/client/mc/release/linux-amd64/mc" && \ - -chmod +x mc && \ - -sudo cp -vR mc /usr/bin/mc && \ - -mc config host add $mc_alias $mc_endpoint $mc_hmac_key $mc_hmac_secret && \ - -# try if it works - -mc ls $mc_alias; - -echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Checking for dir if it exists" - -if [ -d "./mod" ]; then - # dir exists, just unzip, and make new dir to add files - echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Directory exists. Creating game/ subdir and copying files over." - mc cp "$mc_alias/$mc_bucket/$mc_filename" ./ - mkdir -p "./mod/game" - unzip $mc_filename -d mod/game - exit 0 - else - echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Directory does not exist. Creating dir and copying files over" - mkdir -p mod - mc cp "$mc_alias/$mc_bucket/$mc_filename" ./ - mkdir -p "./mod/game" - unzip $mc_filename -d mod/game - exit 0 -fi \ No newline at end of file