Compare commits

...

146 Commits

Author SHA1 Message Date
b1cc24fb2e chapter_select improvements 2024-08-30 20:03:19 -03:00
e0027f3c5d Add ending chapters to chapter-select tool 2024-08-30 19:45:30 -03:00
a787d1ceaf Remove unused globals 2024-08-30 17:33:26 -03:00
719f08ba24 Make set_scores function more readable 2024-08-30 15:18:00 -03:00
a31fa50d8a Functions refactoring 2024-08-30 15:02:24 -03:00
803e878c3f Remove is_end_of_chapters function 2024-08-30 14:40:28 -03:00
f38c53776c Remove tasks.patch 2024-08-30 14:35:02 -03:00
908d8f62f7 Remove lock_scores logic and point-increasing functions 2024-08-29 18:07:30 -03:00
76e61ee78e fix commit 2024-08-29 14:11:56 -03:00
dcff088d11 Remove unused build.classify 2024-08-29 14:07:05 -03:00
9c3ddccbb5 Delete deprecated .android.json file 2024-08-26 17:30:35 -03:00
79dff8fcc9 Remove tasks.patch 2024-08-26 17:15:56 -03:00
ee8f5b04b7 Update versions to latest and greatest 2024-08-26 17:14:34 -03:00
98cd25dc47 Delete build.include_update 2024-08-26 17:02:38 -03:00
0665ce7f03 Delete update.pem 2024-08-26 16:43:46 -03:00
cacc68462a - Add missing build.classify
- Add android mkdir again
2024-08-26 16:28:30 -03:00
41e73b07cf Reenable apk build 2024-08-26 16:16:09 -03:00
baad1afda7 Remove android mkdir 2024-08-26 16:06:35 -03:00
331b628adf Delete .woodpecker 2024-08-26 15:59:21 -03:00
6d7f357dbb Disable android build
Add automated Woodpecker run
2024-08-26 15:55:19 -03:00
60f8efc6df Add build_patch task 2024-08-26 15:49:34 -03:00
fc3472692b Remove task_dir 2024-08-26 15:43:55 -03:00
e060956d82 Copy renconstruct.toml from Wani 2024-08-26 15:40:20 -03:00
7023a06020 Rename config.version 2024-08-26 15:29:04 -03:00
62ffab3bed Enable keystore task 2024-08-25 21:52:06 -03:00
32894af0af Last try 2024-08-25 21:43:52 -03:00
9078bb8aa1 Moar possible fixes 2024-08-25 21:12:17 -03:00
ac1c51543e Update renconstruct dir command 2024-08-24 22:17:42 -03:00
8dd717abeb Remove initial dot from android.json 2024-08-24 19:40:26 -03:00
05b0525a3d delete task_dir 2024-08-24 19:19:15 -03:00
01135c64b9 Modify cache directory 2024-08-24 19:03:23 -03:00
2c325c0d3d Merge branch 'master' of https://git.cavemanon.xyz/Iggy/SnootGame 2024-08-24 15:54:44 -03:00
a175a0bb12 Fix stuff 2024-08-24 15:52:23 -03:00
50b64f170e Add missing files to fix Woodpecker build 2024-08-24 15:33:01 -03:00
fd7ac143af Add missing files to fix Woodpecker build 2024-08-24 15:33:01 -03:00
9ef954bd9f Add keystore keys from Wani 2024-08-24 11:40:18 -03:00
4f4956f201 Add keystore keys from Wani 2024-08-24 11:40:18 -03:00
002e2b6a13 Delete android from woodpecker.yml 2024-08-24 11:18:20 -03:00
949dfa4044 Delete android from woodpecker.yml 2024-08-24 11:18:20 -03:00
c06e73743a Remove tasks.convert_images
Upgrade Renkit version
2024-08-24 10:54:38 -03:00
1f747f5101 Remove tasks.convert_images
Upgrade Renkit version
2024-08-24 10:54:38 -03:00
ae7454506e Enable tasks.keystore 2024-08-23 21:56:48 -03:00
c020847800 Remove tasks.notarize 2024-08-23 21:43:41 -03:00
a04c4e6912 Remove tasks.clean 2024-08-23 21:34:24 -03:00
b048e9c32a Downgrade Renkit version 2024-08-23 21:25:02 -03:00
84f6d467dd Update build commands 2024-08-23 21:03:16 -03:00
dd6da86a8c Change tar compression option 2024-08-23 20:14:09 -03:00
a75d26de8d Update Renkit url 2024-08-23 19:58:07 -03:00
351e433504 Upgrade Renkit version to 4.4.0 2024-08-23 19:49:45 -03:00
80bdae1d08 Add tasks.patch 2024-08-23 19:32:41 -03:00
df967527e4 Update Renpy versions in woodpecker.yml and reconstruct.toml 2024-08-23 18:48:39 -03:00
fef3b7beec Hide quick_menu in chapter selection 2024-08-23 17:45:04 -03:00
cee1984f4d Convert "selected_tuple" into local function variable 2024-08-22 23:26:33 -03:00
0fbff1b81b Code optimizations 2024-08-22 23:18:23 -03:00
84ccfc1b13 Add improved chapter_selection 2024-08-22 22:13:00 -03:00
b65ed32b14 Remove redundant 'initstats' label 2024-08-22 22:04:44 -03:00
c5ea9c9cb5 Move chapter related variables to new file 2024-08-22 22:03:50 -03:00
993824e152 Mode chapter_select into "src" folder 2024-08-22 19:27:44 -03:00
a65a5075fe Implement functions to increase Anon and Fang scores 2024-08-21 21:44:48 -03:00
4d449593f5 Initialize ending_route_number when selecting an ending 2024-08-21 21:32:15 -03:00
233a801aa5 select_chapter function improvements 2024-08-21 21:25:09 -03:00
59c229db73 Add chapters description to selection 2024-08-21 21:05:14 -03:00
afee5de501 Move back global variables to storyline 2024-08-20 22:09:17 -03:00
2d793f86af - Move variables out of utility
- Add increase_points functions
2024-08-20 22:09:04 -03:00
fb64284d84 Add chapter select buttons 2024-08-20 22:08:08 -03:00
72ea3dd640 Add chapter_select 2024-08-20 22:07:43 -03:00
966fca9fc5 Fix Chapter Select button yposition 2024-08-19 20:36:09 -03:00
b34ad59fb4 Add setting to enable or disable chapter select 2024-08-19 20:21:49 -03:00
a933c090e4 Add chapter_select file 2024-08-19 20:21:32 -03:00
17cdc25bb1 Add chapter select to screens 2024-08-19 20:21:23 -03:00
3e9ea5ddbc Add chapter_select file 2024-08-19 19:48:07 -03:00
b7da3f957e Test change 2024-08-19 18:36:01 -03:00
ce05fd5cdb Move story global variables initialization to the "initstats" label 2024-08-18 22:45:14 -03:00
806151f430 Change start script to call the first chapter based on the "chapter_list_index" variable 2024-08-18 22:29:50 -03:00
859610e3bd storyline refactoring and improve function modularity 2024-08-18 22:25:53 -03:00
8b783f6838 Delete persistent ending variables from storyline 2024-08-18 21:14:40 -03:00
a046896907 Move persistent ending variables to screens.rpy 2024-08-18 21:13:45 -03:00
098c7dd021 storyline code cleanup 2024-08-18 21:10:30 -03:00
7084451986 Modify ending chapters to use the next_story_chapter function 2024-08-18 21:08:07 -03:00
ba0024f251 Modify storyline to extend the chapters array once the common chapters are finished 2024-08-18 21:06:13 -03:00
01e9ababa2 Delete commented lines from label get_ending 2024-08-18 12:48:53 -03:00
66d4b308af Delete commented lines from the storyline label 2024-08-18 12:46:40 -03:00
8b20ffaecd Remove init -999 python block for config.developer 2024-08-18 12:44:54 -03:00
97cc4252d5 Update FallingSky font to fix issue with words containing 'ft' 2024-08-18 12:41:03 -03:00
1864a917dc get_ending formatting 2024-08-17 13:26:00 -03:00
f8aa9d0459 Change call order for reset_debug_scores function 2024-08-17 13:25:05 -03:00
fc903d08fb Modify debug_story_variables to append or remove elements accordingly 2024-08-17 13:24:22 -03:00
e4d7b18bf2 Chapter 8 choices formatting 2024-08-17 12:07:11 -03:00
14b7d1a6ea Storyline optimizations and fixes 2024-08-16 21:01:55 -03:00
4a2a62478d Call main menu after credits 2024-08-16 20:58:32 -03:00
88279e9601 - Implement debug_story_variables function
- Modify initstats label to handle debugging and wingStory variable
2024-08-16 20:56:58 -03:00
afb67298ec Implement updated way of playing movies 2024-08-14 22:25:47 -03:00
0a4ab9609a Implement use of 'initstats' label during start 2024-08-11 23:15:13 -03:00
6a32d84d24 Add missing logic to 'next_story_chapter' function
Modify define statements
2024-08-11 23:13:20 -03:00
366c62d484 Comment out storyline and get_ending labels 2024-08-08 22:42:08 -03:00
c68090bf58 Replace return calls in ending chapters 2024-08-08 22:31:18 -03:00
1345686055 Replace return calls with next_story_chapter function 2024-08-08 21:21:36 -03:00
dbf1aa34ef Adjustments to next_ending_chapter function 2024-08-08 20:01:30 -03:00
c50eb0ce32 Replace get_ending label usage in credits.rpy 2024-08-08 19:51:58 -03:00
4b662b5488 Replace get_ending label usage for new function in chapter 11 2024-08-08 19:51:18 -03:00
79569c7441 Add call first element of the general_chapters array in script 2024-08-08 19:43:36 -03:00
297ca81c7c - Add array containing general chapters labels
- Add dictionary for endings
- Add chapter transition functions
2024-08-08 19:19:48 -03:00
Map
670a3624c5 actually fix the language selector jank so it can support longer named languages 2024-07-20 14:30:25 -05:00
Map
50afe3a646 Merge branch 'flower-line' 2024-06-13 03:12:59 -05:00
Map
58469f5ad4 Merge branch 'hunting' into flower-line
This also changes the retranslated spanish line to be corrected, and corrects the id for the other languages to work using the old line.
2024-06-10 23:15:58 -05:00
Map
79a73ccc64 Merge branch 'indentation-stuff' into indentation-continued
This also removes the enum shit that was introduced but never merged to master, because we don't need it.
2024-06-10 22:53:09 -05:00
Map
0e7708f920 Merge branch 'update-readme' 2024-06-09 01:28:21 -05:00
468be6e067 Merge pull request 'Fix bug where polish will randomly turn spanish' (#242) from undo-polishisms-in-spanish into master
Reviewed-on: Cavemanon/SnootGame#242
2024-06-09 05:34:40 +00:00
Map
c31073412b deleted the wrong lines, fixing 2024-06-08 18:08:36 -05:00
Map
3e51013a55 remove old polish translation strings that replace spanish lines. 2024-06-08 18:01:47 -05:00
02c413da81 Fix bug where polish will randomly turn spanish
polish technologia,,.., very good.. yes into spac.e...

the polish translation team built off the spanish translation and forgot
to remove the spanish declarations for their language when translating.
2024-06-08 17:47:47 -05:00
Map
abeb4f9467 change readme to not contribute to an outdate branch 2024-05-31 04:16:03 -05:00
0dacec2e60 Merge pull request 'New Russian Email Patch' (#236) from russianpatch into master
Reviewed-on: Cavemanon/SnootGame#236
2024-05-23 01:40:48 +00:00
88327c44df New Russian Email Patch
From the email:

Hello, Mike! How are you doing? It's Gex again. Some dudes from our Discord
wrote me that with the release of patch 10 (or even 9) a couple of lines in
the "screens" file were added to the game that we didn't notice. They are
responsible for the appearance of notifications about passing the game and
opening bonus chapters. Since they were not translated, I decided to make a
small patch for the Russian translation, which fixes this problem.

In addition, I have corrected a couple of lines in two chapters and
"common" that were displayed incorrectly (literally one word in each - a
request from guys who are working on voice acting) and added an additional
explanation for the gamepad buttons.

I would be very grateful if you can add this small fix in the next update
(or make it into the existing one, because nothing drastically changes).

Sincerely, the translation team
All files attached
2024-05-20 16:19:38 -05:00
947f584c0a Patch "Kurwa Bobr" Ready - Polish translation from email (#235)
Co-authored-by: Map <mapmappening@gmail.com>
Reviewed-on: Cavemanon/SnootGame#235
Reviewed-by: Mappening <mapanon@noreply.git.cavemanon.xyz>
Co-authored-by: Michael Yick <MichaelYick@cavemanon.xyz>
Co-committed-by: Michael Yick <MichaelYick@cavemanon.xyz>
2024-05-04 11:35:46 +00:00
4a872edd95 Merge pull request 'Marks missing text as translatable' (#234) from missing-text into master
Reviewed-on: Cavemanon/SnootGame#234
2024-04-14 09:39:15 +00:00
4a64d9897c Marks missing text as translatable 2024-04-13 08:13:44 -03:00
cac38b6603 Merge pull request 'Forgot CG a tard made' (#233) from nucg into master
Reviewed-on: Cavemanon/SnootGame#233
2024-04-10 04:30:01 +00:00
e04380aa8b Forgot CG a tard made 2024-04-09 23:04:07 -05:00
ea6c9ec95f Merge pull request 'Fixes: #231 - New Russo Translation' (#232) from nurusso into master
Reviewed-on: Cavemanon/SnootGame#232
2024-04-08 05:44:16 +00:00
7a5cc6a3f3 android version will change with woodpecker updates 2024-04-08 00:38:07 -05:00
1bb7f6c99b New BG
New BG from Cerealanon, of wani project fame.

adjusted choreo slightly to work with new BG.

wow snoot game's choreo is stank and blow.
2024-04-08 00:34:53 -05:00
052a5cb0af espan should credit russo translation as well 2024-04-03 06:13:52 -05:00
c12a1c7cbf New Russo Translation 2024-04-03 02:37:52 -05:00
d4c32e117c Merge pull request 'Make CI/CD worko properly' (#230) from renkitfix into master
Reviewed-on: Cavemanon/SnootGame#230
2024-04-03 07:17:55 +00:00
Map
72af697284 fix builds and correct woodpecker to use the proper renpy version. 2024-03-22 03:17:12 -05:00
Map
4a940e62b4 impliment changes to allow building on woodpecker
This also generates strange update files within the distribution folder that I can't seem to disable, but don't prevent building (Aside from possibly just making it slower)
2024-03-22 03:13:03 -05:00
Map
4b509c0981 fix exception on build 2024-03-22 03:06:05 -05:00
862239c60a Merge pull request 'Fixes: #222 - woodpecker files' (#229) from woodpecker into master
Reviewed-on: Cavemanon/SnootGame#229
2024-03-20 00:12:33 +00:00
ef09c6253a woodpecker files 2024-03-01 07:54:03 -06:00
0a73b042bf Merge pull request 'Fixcrash' (#228) from fixcrash into master
Reviewed-on: Cavemanon/SnootGame#228
2024-01-03 07:58:38 +00:00
6a4212b99e fix crash 2024-01-03 01:51:50 -06:00
3dfcd43dab Merge pull request 'Patch 9 #226' (#227) from Patch9 into master
Reviewed-on: Cavemanon/SnootGame#227
Reviewed-by: MichaelYick <michaelyick@cavemanon.xyz>
2024-01-02 23:32:56 +00:00
22f3c694c8 Additional Spanish Translation 2023-12-27 11:51:23 +11:00
da3b9a2467 Add Russian Translation Files & Group by Language
Group translators by Language rather than Role
Rename Patch8 to Patch9 accordingly (Incremental number system for only this game)
Replace the Russian Flag straight from wikipedia instead

Notable Changes (that is kept in) from the cold north:
    FallingSky.otf has Cyrillic characters, unknown where they are from
    One of the insults uses a different font compared to the one from
    the modified FallingSky.otf
2023-12-27 11:28:10 +11:00
e473ddc1db Bonus Chapter 10 Unlock Requirement 2023-10-02 16:53:24 +11:00
a8238b97aa Move the wings check properly 2023-10-02 16:03:26 +11:00
279608bf80 actually uses the automated renpy translation feature formatting
didn't use the automated renpy feature so this wasn't correct whoops
2023-05-07 00:27:00 -06:00
9f2bd4ed5f fixes translation menus
deletes the old lines
2023-05-07 00:21:57 -06:00
93a548957d fix: Cleans up TODO regarding duplicate Rosa line.
Also includes shoddy Spanish translation, definitely requires proofreading.
2023-05-06 23:48:40 -06:00
0c648922aa common code 2023-05-06 22:50:23 -06:00
378cb12bf4 Late Game (Chapters 13, 14) and Bonus Chapters
* Reduces copypasta in the "what plans do you have" scene at the beach.
2023-05-06 22:48:11 -06:00
c890f2094c 2, 5, 8, 11
threes threes threes
2023-05-06 22:45:57 -06:00
dbffdf5c36 chapters 1 and 4 2023-05-06 22:43:35 -06:00
c274f8726a reduce copypasta in chapter7 2023-05-06 22:42:36 -06:00
9021619bf0 chapter 7 alignment issues 2023-05-06 22:42:27 -06:00
222 changed files with 183210 additions and 1512 deletions

5
.gitignore vendored
View File

@ -51,7 +51,4 @@ env
*.rpymc
#backups
*.bak
#android
.android.json
*.bak

88
.woodpecker.yml Normal file
View File

@ -0,0 +1,88 @@
clone:
git:
image: woodpeckerci/plugin-git
settings:
depth: 1
steps:
changelog:
image: debian
commands:
- apt update
- apt install git -y
- mkdir dist
- git log --oneline --decorate --since="7.days" --pretty="## %s%n%an%n%aD%n%b" > dist/README.md || echo "Could not write changelog!" >> dist/README.md #Get that changelog
version-tag:
image: debian
commands:
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_TAG}/g" game/options.rpy #Change the internal build name to the tagged version
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_TAG}/g" android.json
when:
- event: tag
version-cron:
image: debian
commands:
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_SHA}/g" game/options.rpy #if no tag, make it the commit num
- sed -i -e "s/INTERNAL-BUILD/${CI_COMMIT_SHA}/g" android.json
when:
- event: cron
build:
image: openjdk:21-jdk-bookworm
commands:
- apt update
- apt install libgl1 patch -y
- sed -i -e "s/VERSION/${RenpyVersion}/g" game/options.rpy #Change the renpy version to the woodpecker reuqested one.
#Get Renkit
- wget -qO- "https://github.com/kobaltcore/renkit/releases/download/v${RenkitVersion}/renkit-x86_64-unknown-linux-gnu.tar.xz" | tar -Jax --directory=/tmp/
- /tmp/renkit-x86_64-unknown-linux-gnu/renconstruct build "." dist/
- mkdir "dist/android"
- mv dist/*.apk "dist/android"
- cd /tmp/
archival-sha:
image: debian
commands:
- apt update
- apt install curl bash -y
- curl https://git.cavemanon.xyz/Cavemanon/Woodpecker-Webdav/raw/branch/master/push.sh > /tmp/push.sh ## I'd use a proper docker container, but dockerhub is owned by the CIA and I refuse to deal with that (also I don't care to maintain it or set it up). #TODO: merge this script as apart of the file so we don't make unnecessary network requests every time we build.
- chmod +x /tmp/push.sh
- PLUGIN_USERNAME=$RELEASESMITHNEXTCLOUDUSERNAME PLUGIN_PASSWORD=$RELEASESMITHNEXTCLOUDPASSWORD PLUGIN_DESTINATION=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/nightly-${CI_COMMIT_SHA}/ PLUGIN_MAKE_FOLDER_AT=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/nightly-${CI_COMMIT_SHA}/ PLUGIN_FILE_GLOB=dist/* /tmp/push.sh #sovl
- rm -rf "dist"
secrets: [ releasesmithnextcloudusername, releasesmithnextcloudpassword ]
when:
- event: cron
cron: "nightly"
archival-tag:
image: debian
commands:
- apt update
- apt install curl bash -y
- curl https://git.cavemanon.xyz/Cavemanon/Woodpecker-Webdav/raw/branch/master/push.sh > /tmp/push.sh ## I'd use a proper docker container, but dockerhub is owned by the CIA and I refuse to deal with that (also I don't care to maintain it or set it up). #TODO: merge this script as apart of the file so we don't make unnecessary network requests every time we build.
- chmod +x /tmp/push.sh
- PLUGIN_USERNAME=$RELEASESMITHNEXTCLOUDUSERNAME PLUGIN_PASSWORD=$RELEASESMITHNEXTCLOUDPASSWORD PLUGIN_DESTINATION=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/release-${CI_COMMIT_TAG}/ PLUGIN_MAKE_FOLDER_AT=https://cloud.dev.cavemanon.xyz/remote.php/dav/files/ReleaseSmith/Snoot%20Game/Internal%20Builds/release-${CI_COMMIT_TAG}/ PLUGIN_FILE_GLOB=dist/* /tmp/push.sh #sovl
- rm -rf "dist"
secrets: [ releasesmithnextcloudusername, releasesmithnextcloudpassword ]
when:
- event: tag
release:
image: woodpeckerci/plugin-gitea-release:latest
settings:
base_url: https://git.cavemanon.xyz
api_key:
from_secret: releasesmithapikey
files: "*-dists/*"
prerelease: true
title: "${CI_COMMIT_TAG}"
when:
- event: tag
matrix:
RenpyVersion:
- "8.3.0"
RenkitVersion:
- "4.4.0"

View File

@ -1,5 +1,5 @@
# Snoot Game
<h1>Contributing</h1>
<p>Find an issue and start working. Creating issues is very helpful. Simply emailing patches/updated versions of the script works too. <b>All PRs/Contributions to the main code should go to the patch branch and NOT master as to leave master a stable branch</b>. All contributions belong to you, but are licensed under the GNU AGPL v3 and are adherent to the GPL-Exception in the root of the project file.</p>
<p>Find an issue and start working. Creating issues is very helpful. Simply emailing patches/updated versions of the script works too. <b>All PRs/Contributions can go to the master branch now, unless the contributer requests/is specified otherwise.</b>. All contributions belong to you, but are licensed under the GNU AGPL v3 and are adherent to the GPL-Exception in the root of the project file.</p>
<p>It should be noted that any non-contributor sourced assets for the game MUST be under some form of free licensing that is <a href=https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses/>compatable with the CC-BY-SA 4.0 (Listed in this link as BY-SA)</a> for it to be added to the game. This includes audio, images, other bits of code, and other copyrightable assets. Compatable licenses include, but aren't limited to, CC-BY, Public Domain, CC-BY-SA 4.0, CC-BY-SA 3.0, The Free Art license, or any other license that is permissive in how it is used.</p>

24
android.json Normal file
View File

@ -0,0 +1,24 @@
{
"expansion": false,
"google_play_key": null,
"google_play_salt": null,
"heap_size": "3",
"icon_name": "Snoot Game",
"include_pil": false,
"include_sqlite": false,
"layout": null,
"name": "Snoot Game",
"numeric_version": 1,
"orientation": "sensorLandscape",
"package": "cavemanon.snootgame",
"permissions": [
"VIBRATE",
"INTERNET"
],
"source": false,
"store": "none",
"update_always": true,
"update_icons": true,
"update_keystores": true,
"version": "INTERNAL-BUILD"
}

BIN
android.keystore Normal file

Binary file not shown.

BIN
bundle.keystore Normal file

Binary file not shown.

View File

@ -0,0 +1,26 @@
# Store the general chapters inside an array for easy manipulation
default chapter_list = [
"chapter_1", "chapter_2", "chapter_3", "chapter_4", "chapter_5",
"chapter_6", "chapter_7", "chapter_8", "chapter_9", "chapter_10", "chapter_11"
]
define ending_routes = {
4: ["chapter_11D", "chapter_12D", "chapter_12_5D", "chapter_13D", "chapter_14D"],
3: ["chapter_11C", "chapter_12C", "chapter_12_5C", "chapter_13C", "chapter_14C"],
2: ["chapter_11B", "chapter_12B", "chapter_13B", "chapter_14B"],
1: ["chapter_11A", "chapter_12A", "chapter_12_5D", "chapter_13A", "chapter_14A"]
}
# Anon/Fang
default anonscore = 0
default fangscore = 0
default wingStory = False
# Chapter variables
default chapter_list_length = get_chapter_list_length()
default chapter_list_index = 0 # Index number for the current position of the chapter_list array
default current_chapter = chapter_list[chapter_list_index] # Store the name of the label as a string
# Ending variables
default ending_route_number = None
default is_end_reached = False

Binary file not shown.

BIN
game/gui/flag/Poland.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
game/gui/flag/Rus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

View File

@ -24,7 +24,7 @@ define gui.show_name = True
## The version of the game.
define config.version = _("Patch8_NewYears")
define config.version = "INTERNAL-BUILD"
## Text that is placed on the game's about screen. Place the text between the
## triple-quotes, and leave a blank line between paragraphs.
@ -133,6 +133,11 @@ default preferences.text_cps = 50
default preferences.afm_time = 15
define config.developer = "auto"
default persistent.enable_debug_scores = config.developer
default persistent.enable_chapter_select = config.developer
##Default Audio is not ear rape
define config.default_music_volume = 0.48
define config.default_sfx_volume = 0.80
@ -196,6 +201,15 @@ init python:
build.classify('game/mods_example/**', None)
build.classify('game/mods_example/.**', None)
build.classify('README.md', None)
build.classify('renconstruct.toml', None)
build.classify('bundle.keystore', None)
build.classify('android.keystore', None)
build.classify('bundle.keystore.original', None)
build.classify('game/dev/.**', None)
build.classify('build_patch/*', None)
## To archive files, classify them as 'archive'.
@ -220,6 +234,3 @@ init python:
## by a slash.
# define build.itch_project = "renpytom/test-project"
#RenPy updating from snootgame.xyz
define build.include_update = True

View File

@ -292,10 +292,10 @@ screen quick_menu():
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ "Skip", Skip() ],
[ "Save", ShowMenu('save') ],
[ "Auto", Preference("auto-forward", "toggle") ],
[ "Load", ShowMenu('load') ]
[ _("Skip"), Skip() ],
[ _("Save"), ShowMenu('save') ],
[ _("Auto"), Preference("auto-forward", "toggle") ],
[ _("Load"), ShowMenu('load') ]
] )
screen score_menu():
@ -319,6 +319,8 @@ init python:
config.overlay_screens.append("quick_menu")
default quick_menu = True
default persistent.old_endings = None
default persistent.endings = None
style quick_button is default
style quick_button_text is button_text
@ -356,6 +358,10 @@ screen navigation():
textbutton _("Save") activate_sound "audio/ui/uiClick.wav" action ShowMenu("save")
textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
textbutton _("Delete") activate_sound "audio/ui/uiClick.wav" action ShowMenu("delete")
if config.developer and persistent.enable_chapter_select:
textbutton _("Chapter Select") activate_sound "audio/ui/uiClick.wav" action Start("chapter_select")
textbutton _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
#textbutton _("Extras") action ShowMenu("extras")
textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action Return()
@ -437,11 +443,16 @@ screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
action ShowMenu("ex_ch_menu")
activate_sound "audio/ui/uiClick.wav"
fixed:
if persistent.old_endings != persistent.endings:
if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)):
add "bonus_flash" xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
$ persistent.old_endings = persistent.endings
#$ persistent.old_bonus_chapters = persistent.bonus_chapters
else:
add f xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
if (persistent.old_bonus_chapters != persistent.bonus_chapters): #just in case
$ persistent.old_bonus_chapters = persistent.bonus_chapters
text "Bonus Chapters" xalign 0.5 yalign 0.5 xanchor 0.5
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
@ -472,7 +483,8 @@ screen main_menu():
frame:
pass
if persistent.old_endings != persistent.endings:
if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)):
fixed:
xalign 0.125
yalign 0.5
@ -484,10 +496,13 @@ screen main_menu():
add Solid(gui.accent_color) xysize ( int(1920/2)-20, int(1080/4)-12 ):
xalign 0.5
yalign 0.5
if persistent.endings == 0b1111:
text "You have unlocked all bonus chapters!" style "main_menu_text" yalign 0.5
if persistent.endings == 0b1111 and (persistent.bonus_chapters == 0b111111111):
text _("You have unlocked the final bonus chapter!") style "main_menu_text" yalign 0.5
elif persistent.endings == 0b1111:
text _("You have finished all endings! Complete all bonus chapters to receive the final chapter!") style "main_menu_text" yalign 0.5
else:
text "You have unlocked new bonus chapters, complete unseen endings to see more!" style "main_menu_text" yalign 0.5
text _("You have unlocked new bonus chapters, complete unseen endings to see more!") style "main_menu_text" yalign 0.5
## The use statement includes another screen inside this one. The actual
## contents of the main menu are in the navigation screen.
@ -507,20 +522,20 @@ screen main_menu():
use bonus_chapter_button("template_black")
use main_menu_buttons("template_black",
[
[ "Load", ShowMenu("load") ],
[ "Options", ShowMenu("preferences") ],
[ "Extras", ShowMenu("extras") ], \
[ "Quit", Quit(confirm=not main_menu) ]
[ _("Load"), ShowMenu("load") ],
[ _("Options"), ShowMenu("preferences") ],
[ _("Extras"), ShowMenu("extras") ], \
[ _("Quit"), Quit(confirm=not main_menu) ]
] )
else:
use main_menu_button("gui/button/menubuttons/template_idle.png", "Start", Start())
use bonus_chapter_button()
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ "Load", ShowMenu("load") ],
[ "Options", ShowMenu("preferences") ],
[ "Extras", ShowMenu("extras") ], \
[ "Quit", Quit(confirm=not main_menu) ]
[ _("Load"), ShowMenu("load") ],
[ _("Options"), ShowMenu("preferences") ],
[ _("Extras"), ShowMenu("extras") ], \
[ _("Quit"), Quit(confirm=not main_menu) ]
] )
#on "show" action renpy.start_predict_screen("cg_gallery")
@ -971,24 +986,6 @@ screen preferences():
label _("Naughty Stuff")
textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)]
vbox:
style_prefix "check"
label _("Language")
vpgrid:
rows len(languages)
cols 1
mousewheel True
draggable True
xsize 300
ysize 250
if len(languages)>4:
scrollbars "vertical"
for lang in languages:
fixed:
xsize 300
ysize 60
use lang_button(lang)
vbox:
style_prefix "check"
label _("Requires Restart")
@ -1001,6 +998,39 @@ screen preferences():
textbutton _("After Choices") action [Function(onclick_audio, preferences.skip_after_choices), ToggleVariable("preferences.skip_after_choices", True, False)]
textbutton _("Transitions") action [Function(onclick_audio, preferences.transitions, True), ToggleVariable("preferences.transitions", 0, 2)]
if config.developer:
vbox:
style_prefix "check"
label _("Developer Tools")
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
if not main_menu:
if config.developer and persistent.enable_debug_scores:
$ debug_story_variables(False)
$ debug_story_variables(True)
else:
$ debug_story_variables(False)
vbox:
xsize 676
style_prefix "check"
label _("Language")
vpgrid:
rows len(languages)
cols 1
mousewheel True
draggable True
xsize 550
ysize 250
if len(languages)>4:
scrollbars "vertical"
for lang in languages:
fixed:
xsize 656
ysize 60
use lang_button(lang)
## Additional vboxes of type "radio_pref" or "check_pref" can be
## added here, to add additional creator-defined preferences.
@ -1255,14 +1285,15 @@ screen extrasnavigation():
vbox:
spacing 10
xpos 1885
ypos 1130
ypos (1269 if config.developer and persistent.enable_chapter_select else 1130)
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ "Help", ShowMenu("help") ],
[ "About", ShowMenu("about") ],
[ "Gallery", ShowMenu("cg_gallery") ],
[ "Mods", ShowMenu("mod_menu") ],
[ "Return", ShowMenu("main_menu") ]
[ _("Help"), ShowMenu("help") ],
[ _("About"), ShowMenu("about") ],
[ _("Gallery"), ShowMenu("cg_gallery") ],
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
[ _("Mods"), ShowMenu("mod_menu") ],
[ _("Return"), ShowMenu("main_menu") ]
] )
add Null(0, 129)
@ -1755,10 +1786,10 @@ screen quick_menu():
yalign 0.975
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", \
[ \
[ "Back", Rollback() ], \
[ "Skip", Skip() ], \
[ "Auto", Preference("auto-forward", "toggle") ], \
[ "Menu", ShowMenu() ] \
[ _("Back"), Rollback() ], \
[ _("Skip"), Skip() ], \
[ _("Auto"), Preference("auto-forward", "toggle") ], \
[ _("Menu"), ShowMenu() ] \
] )
screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
@ -1777,11 +1808,11 @@ screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
yalign 0.9
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ "Help", ShowMenu("help") ],
[ "About", ShowMenu("about") ],
[ "Gallery", ShowMenu("cg_gallery") ],
[ "Mods", ShowMenu("mod_menu") ],
[ "Return", ShowMenu("main_menu") ]
[ _("Help"), ShowMenu("help") ],
[ _("About"), ShowMenu("about") ],
[ _("Gallery"), ShowMenu("cg_gallery") ],
[ _("Mods"), ShowMenu("mod_menu") ],
[ _("Return"), ShowMenu("main_menu") ]
] )
style radio_button:

View File

@ -51,6 +51,14 @@ init python:
if persistent.autoup == None:
persistent.autoup = False
if persistent.bonus_chapters == None:
if renpy.seen_image("big ending"): #for returning players
persistent.bonus_chapters = 0b111111111
persistent.old_bonus_chapters = 0b111111111
else:
persistent.bonus_chapters = 0b0
persistent.old_bonus_chapters = 0b0
def randomize_choices(choices):
# fine for size of 2
if (renpy.random.randint(0, 1)):
@ -305,17 +313,18 @@ screen textscroll():
# Naser's position when helping Anon get up
transform nmidright:
xalign 1.5 yalign 0.08
xalign 1.5 yalign 0.08
# Naomi's position when handing the brochure to Anon
transform scloserleft:
xalign 0.1 yalign 0.0
xalign 0.1 yalign 0.0
label start:
$ fangscore = 0
$ anonscore = 0
$ wingStory = False
$ toggle_debug()
pause 1.0
call storyline from _call_storyline
$ renpy.call(chapter_list[chapter_list_index]) # Call first element of the chapter_list array

View File

@ -157,7 +157,7 @@ label chapter_1:
scene stairs at Pan((553,169), (553, 169), 0) with None # snap here if the player is advancing the dialogue quickly
window hide
show iris:
xalign 0.99 yalign 0.75
xalign 0.99 yalign 0.75
stop ambient fadeout 4
stop ambient1 fadeout 4
with Dissolve(3)
@ -1289,9 +1289,9 @@ label chapter_1:
show naomi neutral flip with dissolve
show naser:
easein_cubic 0.5 xalign 0.62
pause 0.75
ease 0.75 xalign 0.4
easein_cubic 0.5 xalign 0.62
pause 0.75
ease 0.75 xalign 0.4
pause 2
"He tears the sandwich in two and hands me the larger half."
@ -1846,9 +1846,9 @@ label chapter_1:
window hide
$ i = 0
while i < 20:
$ showCG()
pause 1
$ i = i + 1
$ showCG()
pause 1
$ i = i + 1
$ renpy.music.set_volume(0.4, 2, 'ambient')
@ -3479,7 +3479,7 @@ label chapter_1:
show anon neutral at aleft
show naomi neutral flip at sright
show naser sad flip behind naomi:
xalign 0.7 yalign -0.1
xalign 0.7 yalign -0.1
with Dissolve(1)
pause 0.5
@ -3663,4 +3663,4 @@ label chapter_1:
window auto
pause 1.5
return
$ next_story_chapter()

View File

@ -550,4 +550,4 @@ label chapter_10:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -448,8 +448,9 @@ label chapter_11:
#THIS SECTION IS SCORE DEPENDENT
# Doomer ending skips this segment
call get_ending from _call_get_ending
if _return == Endings.Doomer:
$ ending_score = get_ending()
if ending_score == 2:
stop music fadeout 3
pause 2
jump lPromAnnouncement
@ -585,10 +586,9 @@ label chapter_11:
Nas "Dont take it the wrong way, but my mind just screamed at me worst case scenario."
pause .5
call get_ending from _call_get_ending_1
if _return == Endings.Golden:
if ending_score == 4: # Golden
jump lSortingThings
elif _return == Endings.Tradwife:
elif ending_score == 3: # tradwife
jump lMendingThings
else:
jump lBreakingThings # All else fails, go to shooter.
@ -3847,7 +3847,7 @@ label chapter_11:
pause .5
show rosa neutral behind moe:
yalign 0.2 xalign 0.0
yalign 0.2 xalign 0.0
show rosa:
easein_back 2 yalign 0.2 xalign 0.9
with dissolve
@ -5211,8 +5211,8 @@ label chapter_11:
"Fang and I have been together for a month now."
pause .5
call get_ending from _call_get_ending_2
if _return == Endings.Tradwife:
if ending_score == 3: # tradwife
"Things are going pretty well. When we discount Trishs weekly attempt to talk with Fang."
@ -5245,9 +5245,9 @@ label chapter_11:
scene classroom
show anon neutral:
yalign 0.1 xalign 0.2
yalign 0.1 xalign 0.2
show fang neutral behind anon:
yalign 0.0 xalign 0.8
yalign 0.0 xalign 0.8
with Dissolve(1)
pause .5
@ -5466,9 +5466,9 @@ label chapter_11:
"{cps=*.1}...{/cps}"
call get_ending from _call_get_ending_3
if _return == Endings.Shooter:
return
# skip this segment if we're doing ending 1
if ending_score == 1: #shooter
$ next_story_chapter()
# the following segment makes sense in the context of 11B+11C+11D
window hide
@ -5564,4 +5564,4 @@ label chapter_11:
A "Anyways, where were we?"
return
$ next_story_chapter()

View File

@ -158,4 +158,4 @@ label chapter_11A:
window auto
pause .5
return
$ next_story_chapter()

View File

@ -173,4 +173,4 @@ label chapter_11B:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -302,4 +302,4 @@ label chapter_11C:
"{cps=*.1}...{/cps}"
pause .5
return
$ next_story_chapter()

View File

@ -392,4 +392,4 @@ label chapter_11D:
"{cps=*.1}...{/cps}"
pause .5
return
$ next_story_chapter()

View File

@ -445,4 +445,4 @@ label chapter_12_5C:
window hide
window auto
return
$ next_story_chapter()

View File

@ -443,4 +443,4 @@ label chapter_12_5D:
F "Oh, Anon, youre already here!"
return
$ next_story_chapter()

View File

@ -1034,4 +1034,4 @@ label chapter_12A:
window hide
window auto
return
$ next_story_chapter()

View File

@ -312,7 +312,7 @@ label chapter_12B:
scene biglydie
show fang happy flip:
yalign -0.65 xalign 0.8
show anon neutral:
show anon concerned:
yalign -0.55 xalign 0.2
with Dissolve(1)
pause .5
@ -320,9 +320,8 @@ label chapter_12B:
"The earplugs were not helping. At all."
"Im pretty sure I just went deaf."
pause .5
show anon neutral with Dissolve(1)
"There are about a hundred to a hundred fifty of the concert-goers, give or take."
@ -592,4 +591,4 @@ label chapter_12B:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -901,4 +901,4 @@ label chapter_12C:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -54,7 +54,7 @@ label chapter_12D:
"Looking through one of the map kiosks, I try to make a mental plan for the trip."
show fang neutral at scenter:
show fang neutral at scenter
show anon neutral at aleft:
xalign 0.1
with dissolve
@ -781,4 +781,4 @@ label chapter_12D:
"{cps=*0.1}...{/cps}"
return
$ next_story_chapter()

View File

@ -56,7 +56,7 @@ label chapter_13A:
show naomi prom neutral:
yalign 0.0 xalign -0.4
show naomi prom neutral:
easein_cubic 1 xalign -0.125
easein_cubic 1 xalign -0.125
with dissolve
pause .5
@ -690,13 +690,11 @@ label chapter_13A:
pause .5
menu:
"Could be worse":
"Could be worse":
A "Could be worse."
A "Could be worse."
"Going great, actually":
A "Going great, actually."
"Going great, actually":
A "Going great, actually."
pause .5
Sp "Wheres your date, I thought I saw the two of you enter."
@ -1799,4 +1797,4 @@ label chapter_13A:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -1048,4 +1048,4 @@ label chapter_13B:
window auto
pause 1
return
$ next_story_chapter()

View File

@ -4604,4 +4604,4 @@ label chapter_13C:
#end of new stuff
return
$ next_story_chapter()

View File

@ -3114,17 +3114,13 @@ label chapter_13D:
pause .5
menu:
"Go to college":
A "Well... {w=0.3}Spears convinced me to send out a couple application letters for college."
"Go to college":
A "Well... {w=0.3}Spears convinced me to send out a couple application letters for college."
A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
"Not certain just yet":
A "Im not sure yet."
A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
"Not certain just yet":
A "Im not sure yet."
A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
Re "Oh nice, dude! You can be the bands sound technician when youre done!"
@ -4057,4 +4053,4 @@ label chapter_13D:
"{cps=*.1}...{/cps}"
pause 0.5
return
$ next_story_chapter()

View File

@ -1442,4 +1442,5 @@ label chapter_14A:
pause 5
$ renpy.music.set_volume(1, 0, 'ambient')
return
$ next_story_chapter()

View File

@ -350,4 +350,4 @@ label chapter_14B:
scene black with Dissolve(3)
pause 2
return
$ next_story_chapter()

View File

@ -441,7 +441,7 @@ label chapter_14C:
pause .5
show fang:
easeout_cubic 1 xalign 1.4
easeout_cubic 1 xalign 1.4
show fang c happy with dissolve
hide fang with dissolve
pause 0.5
@ -1014,4 +1014,5 @@ label chapter_14C:
pause 1.0
stop music
$ renpy.music.set_volume(1, 0, 'music')
return
$ next_story_chapter()

View File

@ -898,4 +898,5 @@ label chapter_14D:
pause 16
scene black with Dissolve(1.0)
pause 1
return
$ next_story_chapter()

View File

@ -603,7 +603,7 @@ label chapter_2:
window auto
show fang neutral with Dissolve(1):
xalign -0.6 yalign 0.0
xalign -0.6 yalign 0.0
pause .75
show white:
@ -903,7 +903,7 @@ label chapter_2:
pause .5
show fang sad flip:
ease_cubic 1.5 xalign -0.6
ease_cubic 1.5 xalign -0.6
pause 1.15
show fang sad with dissolve
pause 1.2
@ -964,7 +964,7 @@ label chapter_2:
show fang unimpressed with Dissolve(.25)
F "Uh{cps=*.1}....{/cps}{w=.2} Youve been staring at me for the past 5 minutes. Freak."
show anon neutral with dissolve:
show anon neutral with dissolve
show anon:
easein 0.5 xalign 0.2
pause .5
@ -1919,7 +1919,7 @@ label chapter_2:
show fang sad:
yalign 0 xalign -1
show fang sad:
easein 1 xalign -0.6
easein 1 xalign -0.6
with Dissolve(1)
pause 1
@ -2191,13 +2191,13 @@ label chapter_2:
scene cafeteria
show anon neutral:
xalign -0.2 yalign 0.1
xalign -0.2 yalign 0.1
show reed neutral flip:
xalign 0.5 yalign 0.1
xalign 0.5 yalign 0.1
show fang considering flip:
xalign 0.95 yalign 0.0
xalign 0.95 yalign 0.0
show trish neutral flip:
xalign 1.125 yalign 0.0
xalign 1.125 yalign 0.0
with Dissolve(1)
pause .5
@ -2274,11 +2274,11 @@ label chapter_2:
stop music fadeout 0.02
show reed shocked flip:
easein_quart 1 xalign 0.54
easein_quart 1 xalign 0.54
show fang surprised flip:
easein_quart 1 xalign 0.99
easein_quart 1 xalign 0.99
show trish surprised flip:
easein_quart 1 xalign 1.155
easein_quart 1 xalign 1.155
pause .5
"The three stop in their tracks and look back at me."
pause .5
@ -2331,11 +2331,11 @@ label chapter_2:
pause .5
show reed shocked flip:
easein_quart 1 xalign 0.65#0.54
easein_quart 1 xalign 0.65#0.54
show fang surprised flip:
easein_quart 1 xalign 1.15#0.99
easein_quart 1 xalign 1.15#0.99
show trish neutral flip:
easein_quart 1 xalign 1.25#1.155
easein_quart 1 xalign 1.25#1.155
FRT "Ohfuck.{w=.4} Sorry Anon, we gotta bail."
window hide
@ -2604,4 +2604,4 @@ label chapter_2:
"{cps=*.05}...{/cps}"
pause .5
return
$ next_story_chapter()

View File

@ -2291,4 +2291,4 @@ label chapter_3:
"{cps=*.1}...{/cps}"
return
$ next_story_chapter()

View File

@ -732,7 +732,7 @@ label chapter_4:
show reed king rex behind anon:
yalign 0.1 xalign -1.9
show reed:
easein 1 xalign -1.2
easein 1 xalign -1.2
with Dissolve(1)
pause 1
Re "Itll be fine."
@ -1422,4 +1422,4 @@ label chapter_4:
window auto
pause .5
return
$ next_story_chapter()

View File

@ -7,6 +7,8 @@ init python:
renpy.play('audio/effects/carKick2.ogg', channel='audio')
# renpy.play('audio/effects/carSuspension1.ogg', channel='audio')
image fang_tail_movie = Movie(channel="movie_dp", loop=True, play="images/animations/fang tail.webm") # New way of playing movies as of Renpy 8.1
label chapter_5:
# Gardening Club
@ -551,7 +553,7 @@ label chapter_5:
show anon:
easein_back 0.5 xalign 0.2
label movie:
# label movie:
play sound 'audio/effects/slapstickPunch.ogg'
A "FANG!" with vpunch
@ -559,7 +561,8 @@ label chapter_5:
play ambient 'audio/effects/clipLoop.ogg' fadein 1
play ambient1 'audio/effects/outdoorNatureLoop.ogg' fadein 1
scene fang tail with Dissolve(1)
# scene fang tail with Dissolve(1)
show fang_tail_movie with Dissolve(1) # change how the movie is played
"Through my blurred vision I can make out Fangs tail, slowly shifting side to side."
@ -573,9 +576,9 @@ label chapter_5:
menu:
"Tug Her Tail":
pass
pass
"Tug Her Ankle":
pass
pass
pause .5
@ -844,7 +847,7 @@ label chapter_5:
show fang considering flip with Dissolve(.25)
Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how hard those are to get!"
Ro "Name!{w=.4} What is your name?!"
@ -1388,7 +1391,6 @@ label chapter_5:
A "Err{cps=*.1}...{/cps}{w=.3} Sorry?"
# TODO: the line "do you have any idea how long it takes for those to bloom" is also used earlier when Anon first falls into the flowerbed
Ro "{i}Ay Dios mío{/i}{cps=*.1}...{/cps} do you have any idea how long it takes those to bloom?!"
if not punched_into_flowerbed:
@ -2481,7 +2483,7 @@ label chapter_5:
F "Sure, sure."
F"Anyway, Ill be seeing ya, Anon."
F "Anyway, Ill be seeing ya, Anon."
pause .5
A "Yeah{cps=*.1}...{/cps} See you{cps=*.1}...{/cps}"
@ -3413,8 +3415,6 @@ label chapter_5:
if _value != "Snot":
renpy.jump(_value+chr(0x61+_tick))
$ wingStory = True
F "And the worst part is he cant even hate me."
pause .5
@ -3586,6 +3586,7 @@ label chapter_5:
$ fangscore += 1
$ anonscore += 1
$ wingStory = True
A "{cps=*.1}...{/cps}"
pause .25
@ -4667,9 +4668,9 @@ label chapter_5:
window auto
pause 1
return
$ next_story_chapter()
# I'm guessing this is for the gallery?
label fang_movie:
scene fang tail with fade
""
# label fang_movie:
# scene fang tail with fade
# ""

View File

@ -4677,4 +4677,4 @@ label chapter_6:
window auto
pause 1
return
$ next_story_chapter()

File diff suppressed because it is too large Load Diff

View File

@ -80,9 +80,9 @@ label chapter_8:
"Knowing better than to look through the ocean of students, I follow my nose to Reed."
pause 0.5
show reed sunglasses:
xalign 0.4 yalign 0.1
xalign 0.4 yalign 0.1
show trish neutral behind reed:
xalign 0.9
xalign 0.9
with dissolve
"The fetid raptor was sitting in the very last row with Trish."
@ -622,8 +622,10 @@ label chapter_8:
pause .5
python:
choices = [(_('Play The Guitar'), 'lLetFangPlayGuit'),
(_('Get to Studying'), 'lGetStartedOnStudy')]
choices = [
(_('Play The Guitar'), 'lLetFangPlayGuit'),
(_('Get to Studying'), 'lGetStartedOnStudy')]
renpy.jump(renpy.display_menu(randomize_choices(choices)))
@ -1567,7 +1569,7 @@ label chapter_8:
window hide
window auto
return
$ next_story_chapter()
label lGetStartedOnStudy:
pause 0.5
@ -2156,4 +2158,5 @@ label chapter_8:
"{cps=*.1}...{/cps}"
window hide
window auto
return
$ next_story_chapter()

View File

@ -1297,7 +1297,7 @@ label chapter_9:
jump lGoHomeEarly
label lWaitForTrishToExit:
$ anonscore += 1
$ anonscore += 1
#play music 'audio/OST/fighter.ogg' fadein 1.0
A "You worried about her, too?"
@ -2171,4 +2171,4 @@ label chapter_9:
window auto
pause .5
return
$ next_story_chapter()

View File

@ -612,4 +612,6 @@ label chapter_x1:
scene black with Dissolve(2)
pause 1.5
$ persistent.bonus_chapters |= (0b1 << 0)
return

View File

@ -6,7 +6,7 @@ label chapter_x2:
scene black with Dissolve(2)
pause 1
scene skinrow
scene skinrow
show anon neutral flip:
yalign 0.1 xalign 0.7
show black
@ -62,7 +62,7 @@ label chapter_x2:
pause .5
A "Ive been living here for almost seven months and I wouldnt trade it for anywhere else in the state."
show anon neutral flip with dissolve
A "So lets head on inside for the grand tour!"
window hide
@ -71,7 +71,7 @@ label chapter_x2:
show black with Dissolve(1)
scene room anon day alt
scene room anon day alt
show viewfinder
show rec:
ypos 0.072 xpos 0.91
@ -104,7 +104,7 @@ label chapter_x2:
window hide
window auto
pause .5
show anon shrug behind viewfinder:
yalign 0.1 xalign -0.4
show anon:
@ -275,7 +275,7 @@ label chapter_x2:
easeout_cubic 1 xalign -0.2
pause .5
hide anon with dissolve
play sound 'audio/effects/doorslam.ogg'
pause .1
window show Dissolve(0.0001)
@ -309,7 +309,7 @@ label chapter_x2:
"{cps=*.1}...{/cps}"
A "OH, YOU FUCKING KNOW, STELLA!"
show fang:
easein_cubic 1.5 xalign 0.5
F "PFFFFFFT."
@ -348,8 +348,8 @@ label chapter_x2:
"{cps=*.1}.........{/cps}"
A "Apology not accepted!"
A "Apology not accepted!"
A "Oh and by the way your husbando is shit!"
pause .5
@ -370,7 +370,7 @@ label chapter_x2:
pause 1
A "Ugh{cps=*.1}...{/cps} I need a smo-"
show anon neutral with Dissolve(.25)
A "Wait."
pause .5
@ -405,4 +405,6 @@ label chapter_x2:
scene black with Dissolve(1.5)
pause 2
return
$ persistent.bonus_chapters |= (0b1 << 1)
return

View File

@ -304,4 +304,7 @@ label chapter_x3:
scene black with Dissolve(2)
pause 1.5
$ persistent.bonus_chapters |= (0b1 << 2)
return

View File

@ -42,7 +42,7 @@ label chapter_x4:
easein_cubic 1 xalign 0.05
show fang very happy with Dissolve(.25)
F "I dunno but it's awesome! A real venue this time!"
show dimmer_lighter behind trish with dissolve
"It takes a second to actually register it."
@ -56,7 +56,7 @@ label chapter_x4:
show trish:
easein_cubic 1 xalign 0.75
with None
show trish very happy flip
show trish very happy flip
hide dimmer_lighter
with dissolve
T "Our chance to make VVURM DRAMA the hit it deserves to be!"
@ -197,7 +197,7 @@ label chapter_x4:
T "A trick probably."
pause .5
show dimmer_light behind trish
show dimmer_light behind trish
show trish unimpressed flip
with dissolve
pause .5
@ -219,7 +219,7 @@ label chapter_x4:
show trish happy flip
with Dissolve(.25)
T "Sounds like a plan. We have to prepare for our biggest show yet!"
show fang happy with Dissolve(.25)
pause .5
@ -234,7 +234,7 @@ label chapter_x4:
"I hand Fang the blue strat, which they immediately set to tuning just right."
"Mr. Jingo really needs to get some new gear, these things arent maintained at all."
stop music fadeout 4
pause .5
"Even this bass, no one ever even uses it."
@ -245,4 +245,6 @@ label chapter_x4:
window auto
pause 2
return
$ persistent.bonus_chapters |= (0b1 << 3)
return

View File

@ -5,7 +5,7 @@ label chapter_x5:
stop music fadeout(3)
scene black with Dissolve(2)
pause 1
# skinrow soul?
# summertime synth?
play music 'audio/ost/skinrow soul.ogg' fadein 0.5
@ -71,7 +71,7 @@ label chapter_x5:
Re "We all make mistakes, amigo. Like{cps=*.1}...{/cps} like 'member that time I caught the cooking class on fire?"
T "Yeah, yeah, can't cook to save your life. That doesn't make me feel any less shitty."
T "Yeah, yeah, can't cook to save your life. That doesn't make me feel any less shitty."
Re "Just makes us people, s'all. We all make 'em and we all gotta fix 'em, y'know?"
pause .5
@ -267,7 +267,7 @@ label chapter_x5:
Re "BESIDES! King Rex can't be the only dude there without a date!"
show reed neutral
show trish smile flip
show trish smile flip
with dissolve
"I shake my head and let a laugh escape."
@ -340,4 +340,6 @@ label chapter_x5:
pause 2
return
$ persistent.bonus_chapters |= (0b1 << 4)
return

View File

@ -1417,4 +1417,6 @@ label chapter_x6:
window auto
pause 2
$ persistent.bonus_chapters |= (0b1 << 5)
return

View File

@ -235,7 +235,7 @@ label chapter_x7:
A "Well talk later, Fang. Have fun with the party okay?"
show fangphonevideocall call_ended_bg call_ended with dissolve:
show fangphonevideocall call_ended_bg call_ended with dissolve
# yalign -0.045
# yalign 0
pause .5
@ -397,7 +397,7 @@ label chapter_x7:
pause .5
show trish happy with dissolve
#show trish happy behind dimmer_darker at tleft with easeinleft
#show trish happy behind dimmer_darker at tleft with easeinleft
T "Fang! It took a while but Reeds distracted!"
@ -850,7 +850,7 @@ label chapter_x7:
subpixel True
ease_quad 4 zoom 1.3 xpos 810
pause 2.5
@ -891,7 +891,7 @@ label chapter_x7:
pause .5
scene home fang day alt:
xalign 0.5 zoom 1.2
xalign 0.5 zoom 1.2
ease_cubic 1 zoom 1
show dimmer_lighter:
alpha 1
@ -1230,12 +1230,12 @@ label chapter_x7:
easein_cubic 1.5 xalign 0.75
parallel:
linear 0.5 alpha 1
show naser:
show naser:
parallel:
easein_cubic 1.5 xalign 3.5
parallel:
linear 0.5 alpha 0
show naomi:
show naomi:
parallel:
easein_cubic 1.5 xalign 2.0
parallel:
@ -1720,7 +1720,7 @@ label chapter_x7:
show naser neutral flip with dissolve
pause .5
show naser considering flip with dissolve
show chadshark with dissolve
show chadshark:
easein_cubic 0.25 yalign 0.03
@ -2092,4 +2092,6 @@ label chapter_x7:
scene black with Dissolve(2)
pause 2
return
$ persistent.bonus_chapters |= (0b1 << 6)
return

View File

@ -293,19 +293,19 @@ label chapter_x8:
show naomi:
easein_cubic 1.5 xalign 0.8
pause 1
linear 0.045 yalign -0.002
linear 0.045 yalign -0.002
linear 0.045 yalign 0.002
linear 0.045 yalign -0.004
linear 0.045 yalign -0.004
linear 0.045 yalign 0.004
linear 0.045 yalign -0.005
linear 0.045 yalign -0.005
linear 0.045 yalign 0.005
linear 0.045 yalign -0.005
linear 0.045 yalign -0.005
linear 0.045 yalign 0.005
linear 0.045 yalign -0.005
linear 0.045 yalign -0.005
linear 0.045 yalign 0.005
linear 0.045 yalign -0.004
linear 0.045 yalign -0.004
linear 0.045 yalign 0.004
linear 0.045 yalign -0.002
linear 0.045 yalign -0.002
linear 0.045 yalign 0.002
pause 0.5
easeout_cubic 0.8 yalign -0.3
@ -538,4 +538,7 @@ label chapter_x8:
window hide
window auto
pause 2
$ persistent.bonus_chapters |= (0b1 << 7)
return

View File

@ -1044,7 +1044,7 @@ label chapter_x9:
F "Good night Anon."
$ renpy.music.queue('audio/OST/good faith synth finale end.ogg', channel=u'music', loop=None, clear_queue=True)
queue music "<silence 1.0>" loop
queue music "<silence 1.0>" loop
A "Night Lucy."
@ -1084,4 +1084,7 @@ label chapter_x9:
window auto
pause 2
$ renpy.music.set_volume(1.0, 0, 'music')
$ persistent.bonus_chapters |= (0b1 << 8)
return

173
game/src/chapter_select.rpy Normal file
View File

@ -0,0 +1,173 @@
define chapter_tuple_1 = [
("1. Anon meets Fang.", "chapter_1"),
("2. Fourth day of school.", "chapter_2"),
("3. Showing up at band practice.", "chapter_3"),
("4. Anon needs help during music period.", "chapter_4"),
("5. Fang and Anon cut class to talk on the roof.", "chapter_5"),
("6. Anon helps Fang find a venue for the band.", "chapter_6")
]
define chapter_tuple_2 = [
("7. Concert day.", "chapter_7"),
("8. Anon and Fang study together.", "chapter_8"),
("9. Trish ridicules Anon in front of the school.", "chapter_9"),
("10. Fang goes to Anon's apartment.", "chapter_10"),
("11. School assignment and route lock.", "chapter_11")
]
define ending_1_tuple = [
("11A. ", "chapter_11A"),
("12A. ", "chapter_12A"),
("12_5D. ", "chapter_12_5D"),
("13A. ", "chapter_13A"),
("14A. ", "chapter_14A")
]
define ending_2_tuple = [
("11B. ", "chapter_11B"),
("12B. ", "chapter_12B"),
("13B. ", "chapter_13B"),
("14B. ", "chapter_14B")
]
define ending_3_tuple = [
("11C. ", "chapter_11C"),
("12C. ", "chapter_12C"),
("12_5C. ", "chapter_12_5C"),
("13C. ", "chapter_13C"),
("14C. ", "chapter_14C")
]
define ending_4_tuple = [
("11D. ", "chapter_11D"),
("12D. ", "chapter_12D"),
("12_5D. ", "chapter_12_5D"),
("13D. ", "chapter_13D"),
("14D. ", "chapter_14D")
]
default tuples_index = [
("Chapters 1 to 6", chapter_tuple_1),
("Chapters 7 to 11", chapter_tuple_2)
]
init python:
def select_chapter():
global current_chapter, quick_menu
selected_tuple = ()
while True:
selected_tuple = display_tuple_menu(tuples_index)
if selected_tuple == "go_back":
renpy.jump("chapter_select")
current_chapter = display_tuple_menu(selected_tuple)
if current_chapter == "go_back":
continue
else:
find_chapter_in_array(current_chapter)
break
toggle_debug()
quick_menu = True # Restores the bottom quick menu UI
renpy.call(current_chapter)
def add_ending_tuple(ending_number):
global tuples_index
ending_tuples = {
1: ending_1_tuple,
2: ending_2_tuple,
3: ending_3_tuple,
4: ending_4_tuple
}
if ending_number in ending_tuples:
description = f"Ending {ending_number} chapters"
tuples_index.append((description, ending_tuples[ending_number]))
def display_tuple_menu(options):
return renpy.display_menu(options + [("Go Back", "go_back")])
def set_scores(anon_score, fang_score):
global anonscore, fangscore
anonscore = anon_score
fangscore = fang_score
def find_chapter_in_array(chapter):
global chapter_list_index
try:
chapter_list_index = chapter_list.index(chapter)
except ValueError:
chapter_list_index = -1
chapter = ""
label reset_chapter_list:
$ chapter_list = [
"chapter_1", "chapter_2", "chapter_3", "chapter_4", "chapter_5",
"chapter_6", "chapter_7", "chapter_8", "chapter_9", "chapter_10", "chapter_11"
]
$ tuples_index = [
("Chapters 1 to 6", chapter_tuple_1),
("Chapters 7 to 11", chapter_tuple_2)
]
return
label chapter_select:
$ quick_menu = False # Hides bottom quick menu UI
call reset_chapter_list from _call_reset_chapter_list # Reset every time the tool is called
$ anon_points = 0
$ fang_points = 0
stop sound
stop music fadeout 2
scene black with dissolve
menu:
"Initialize scores:"
"Ending 1":
pass # Since points are already initialized at 0
"Ending 2":
# anon 0
$ fang_points = 4
"Ending 3":
$ anon_points = 4
# fang 0
"Ending 4":
$ anon_points = 4
$ fang_points = 4
$ wingStory = True
"Exit to main menu":
scene black with dissolve
return
$ set_scores(anon_points, fang_points)
$ ending_route_number = get_ending()
$ add_ending_chapters(ending_route_number)
$ add_ending_tuple(ending_route_number)
$ update_ending_variables() # Updates variables for newly extended 'chapter_list' with ending chapters
window hide
$ select_chapter()

View File

@ -1,294 +1,318 @@
# Don't remove init offset as that breaks translations for some reason
init 999 python:
#don't do a halo infinite moment
#hard code the header & footer
#then iterate the list_credits
list_og_credits = {
_('Coded By:'): [
'/dev/non',
"[[Untitled] Anon",
'Schizodev Anon',
'Starmanon',
'Nutbuster Anon',
'Inhumanon',
'Spigot the Bear Anon'
],
_('Written by:'): [
'AVGN Anon',
'Coomer Anon',
'/trash/ Anon',
'FreemAnon',
'Ccp Anon',
'Kokichi Anon',
'Alex Anon',
'Punished Anon',
'Finn Anon'
],
_('Story by:'): [
'AVGN Anon',
'Coomer Anon',
'Alex Anon',
'Singularity Anon',
'Tombstone Anon'
],
_('Production Designer'): [
'Alex Anon'
],
_('Artwork by:'): [
'Alex Anon',
'Mormon Anon',
'Ccp Anon',
'Aome Anon',
'/trash/ Anon',
'Skeleton Anon',
'eyeh Xinnix Anon',
'Brit Anon',
'Dark-N-Wolf Anon',
'Hotel Anon',
'Multi Anon',
'Ionanon'
],
_('Additional Artwork by:'): [
_('Backup Anon 1'),
_('Backup Anon 2'),
_('Backup Anon 3'),
_('Backup Anon 4'),
_('Backup Anon 5'),
_('Backup Anon 6'),
],
_("\"Love theme\" by:"): [
_('Only Person In The Team With A\nPortfolio/Experience Anon'),
],
_('Music By'): [
'Shampoo Anon',
'Melo Anon'
],
_('Egg Hunt Contest\nWinner:'): [
'Olivia Anon'
],
_('Character Design\nContest Winner:'): [
'Mono Anon',
],
_('Special Thanks:'): [
'Commission Anon',
]
}
# The difference between adding in the special thanks and not I have found is about 480px, just to note down.
list_translator_credits = {
_('Translators (Spanish):'): [
'Queso2033 Anon',
'TheShadowTrAnon'
],
_('Proofreaders (Spanish):'): [
'ElBan Anón',
'GMAnon'
],
_('Asset help (Spanish):'): [
'Arkiangelo Anon'
]
}
textlist = []
alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5}
#sizes in px
SIZE_SNOT_GAMES = 68*3+10
SIZE_TITLE = 32*3+10
SIZE_ENTRY = 26*3+10
SIZE_TL = 26*2+10
SIZE_ENDER = 52*3+10
#there is line_spacing but don't usei t
textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs))
textlist.append(Null(1, 16*1))
textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs))
textlist.append(Null(1, 16*18))
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
textlist.append(Null(1, 16*12))
for key, arr in list_og_credits.items():
textlist.append(Text(key, size=SIZE_TITLE, **alignargs))
textlist.append(Null(1, 16*6))
concatstr = ""
for item in arr:
concatstr += __(item) + '\n'
textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs))
textlist.append(Null(1, 16*2))
#smaller font and gridonate for translators
TL_WIDTH = 2
TL_HEIGHT = (len(list_translator_credits)+1)//2
tgrid = []
for key, arr in list_translator_credits.items():
vb = []
vb.append(Text(key, size=SIZE_ENTRY, **alignargs))
vb.append(Null(1, 16*6))
concatstr = ""
for item in arr:
concatstr += item + '\n'
vb.append(Text(concatstr, size=SIZE_TL, **alignargs))
vb.append(Null(1, 16*2))
vb = VBox(*vb)
tgrid.append(vb)
for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT):
tgrid.append(Null())
pass
tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid)
textlist.append(tgrid)
textlist.append(Null(1, 16*12)) #check
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
textlist.append(Null(1, 16*4))
textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs))
credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5)
renpy.image('credits_hbox', credits_hbox)
#
label test_credits:
scene black
stop ambient
#play music '<loop 12.809525>audio/abloop.wav'
"test"
window auto hide
pause 0.5
show c_credits_text:
crop (0, 0, 1920, 670)
pause 1.1
show c_credits_text:
crop None
pause 2.75
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
subpixel True
show c_credits_text at Pan((0, 0),(0, 12155), 65):
crop None
subpixel True
#pause 50
#queue music "audio/abend.wav" noloop
pause
scene black with Dissolve(3)
# Credits definitions moved here so everything that needs to be changed is is one place.
# Anytime the credits changes to include more translators, you're just going to have to guess what the correct
# value to offset everything is again. Mainly concerning values that control the panning destination of credits text,
# and the height of the credits text itself
# My recommendation is to imagine a square on top of the "T" in "THE END"
# The square is as long as one of those characters, and the top of the square should touch the top of the screen
# when the credits stop scrolling
# Someone please come up with an exact formula pls
# Remember, ending sketch is always +550 of when the Pan stops
image credits_coverup:
"black"
crop (0, 0, 1920, 1080)
image b_credits_text = Composite(
(1920, 13235),
(0, 390), "credits_hbox",
(0, 12705), "b_sketch"
)
image c_credits_text = Composite(
(1920, 13235),
(0, 390), "credits_hbox",
(0, 12705), "c_sketch"
)
image d_credits_text = Composite(
(1920, 13235),
(0, 390), "credits_hbox",
(0, 12705), "d_sketch"
)
label lending:
call get_ending from _call_get_ending_4
$ cached_ending = _return # un-necessary to call this so many times
if cached_ending == Endings.Golden:
pause 0.5
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
subpixel True
xalign 0.5
yalign 0.5
linear 6 zoom 1.2
pause 1.75
show d_credits_text with dissolve:
subpixel True
crop (0, 670, 1920, 1080)
ypos 670
xalign 0.5
linear 3 zoom 1.1
pause 2
hide d_credits_text
hide snootgame_big
with dissolve
show credits_base at Pan((0, -1080),(0, 8100), 65):
subpixel True
show d_credits_text at Pan((0, 0),(0, 12155), 65):
subpixel True
show credits_coverup at Pan((0, 0),(0, 12155), 65):
subpixel True
pause 50
queue music 'audio/OST/amberlight brillance live end.ogg'
queue music "<silence 1.0>" loop
elif cached_ending == Endings.Tradwife:
play music "audio/OST/Dino Destiny Reader.ogg"
pause 0.5
show c_credits_text:
crop (0, 0, 1920, 670)
pause 1.1
show c_credits_text:
crop None
pause 2.75
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
subpixel True
show c_credits_text at Pan((0, 0),(0, 12155), 65):
crop None
subpixel True
else:
play music "audio/OST/Dino Destiny Reader.ogg"
pause 0.5
show b_credits_text:
crop (0, 0, 1920, 670)
pause 1.1
show b_credits_text:
crop None
pause 2.75
show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text:
subpixel True
show b_credits_text at Pan((0, 0),(0, 12155), 65):
crop None
subpixel True
pause
stop music fadeout 5
scene black with Dissolve(3)
pause 2
if cached_ending == Endings.Tradwife:
scene c10 with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
elif cached_ending == Endings.Golden:
scene golden ending with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
return
# Don't remove init offset as that breaks translations for some reason
init 999 python:
#don't do a halo infinite moment
#hard code the header & footer
#then iterate the list_credits
list_og_credits = {
_('Coded By:'): [
'/dev/non',
"[[Untitled] Anon",
'Schizodev Anon',
'Starmanon',
'Nutbuster Anon',
'Inhumanon',
'Spigot the Bear Anon'
],
_('Written by:'): [
'AVGN Anon',
'Coomer Anon',
'/trash/ Anon',
'FreemAnon',
'Ccp Anon',
'Kokichi Anon',
'Alex Anon',
'Punished Anon',
'Finn Anon'
],
_('Story by:'): [
'AVGN Anon',
'Coomer Anon',
'Alex Anon',
'Singularity Anon',
'Tombstone Anon'
],
_('Production Designer'): [
'Alex Anon'
],
_('Artwork by:'): [
'Alex Anon',
'Mormon Anon',
'Ccp Anon',
'Aome Anon',
'/trash/ Anon',
'Skeleton Anon',
'eyeh Xinnix Anon',
'Brit Anon',
'Dark-N-Wolf Anon',
'Hotel Anon',
'Multi Anon',
'Ionanon'
],
_('Additional Artwork by:'): [
_('Backup Anon 1'),
_('Backup Anon 2'),
_('Backup Anon 3'),
_('Backup Anon 4'),
_('Backup Anon 5'),
_('Backup Anon 6'),
],
_("\"Love theme\" by:"): [
_('Only Person In The Team With A\nPortfolio/Experience Anon'),
],
_('Music By'): [
'Shampoo Anon',
'Melo Anon'
],
_('Egg Hunt Contest\nWinner:'): [
'Olivia Anon'
],
_('Character Design\nContest Winner:'): [
'Mono Anon',
],
_('Special Thanks:'): [
'Commission Anon',
]
}
# The difference between adding in the special thanks and not I have found is about 480px, just to note down.
list_translator_credits = {
_('Translators (Spanish):'): [
'Queso2033 Anon',
'TheShadowTrAnon'
],
_('Translators (Russian):'): [
'Gexahord',
'strelook21',
'YtkaGen',
'DatFeelFrog',
'CMDR Andrea Dornan'
],
_('Translators (Polish):'): [
'benn55',
'DI MOLTO',
'Man_of_Krieg',
'ReD',
],
_('Proofreaders (Spanish):'): [
'ElBan Anón',
'GMAnon'
],
_('Proofreaders (Russian):'): [
'Gexahord',
'strelook21',
'YtkaGen',
'DatFeelFrog'
],
_('Asset help (Spanish):'): [
'Arkiangelo Anon'
],
_('Asset help (Russian):'): [
'Gexahord',
'YtkaGen',
'2ch Anon'
]
}
textlist = []
alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5}
#sizes in px
SIZE_SNOT_GAMES = 68*3+10
SIZE_TITLE = 32*3+10
SIZE_ENTRY = 19.75*3+10
SIZE_TL = 19.75*2+10
SIZE_ENDER = 52*3+10
#there is line_spacing but don't usei t
textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs))
textlist.append(Null(1, 16*1))
textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs))
textlist.append(Null(1, 16*18))
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
textlist.append(Null(1, 16*12))
for key, arr in list_og_credits.items():
textlist.append(Text(key, size=SIZE_TITLE, **alignargs))
textlist.append(Null(1, 16*6))
concatstr = ""
for item in arr:
concatstr += __(item) + '\n'
textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs))
textlist.append(Null(1, 16*2))
#smaller font and gridonate for translators
TL_WIDTH = 2
TL_HEIGHT = (len(list_translator_credits)+1)//2
tgrid = []
for key, arr in list_translator_credits.items():
vb = []
vb.append(Text(key, size=SIZE_ENTRY, **alignargs))
vb.append(Null(1, 16*6))
concatstr = ""
for item in arr:
concatstr += item + '\n'
vb.append(Text(concatstr, size=SIZE_TL, **alignargs))
vb.append(Null(1, 16*2))
vb = VBox(*vb)
tgrid.append(vb)
for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT):
tgrid.append(Null())
pass
tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid)
textlist.append(tgrid)
textlist.append(Null(1, 16*12)) #check
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
textlist.append(Null(1, 16*4))
textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs))
credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5)
renpy.image('credits_hbox', credits_hbox)
#
label test_credits:
scene black
stop ambient
#play music '<loop 12.809525>audio/abloop.wav'
"test"
window auto hide
pause 0.5
show c_credits_text:
crop (0, 0, 1920, 670)
pause 1.1
show c_credits_text:
crop None
pause 2.75
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
subpixel True
show c_credits_text at Pan((0, 0),(0, 12155), 65):
crop None
subpixel True
#pause 50
#queue music "audio/abend.wav" noloop
pause
scene black with Dissolve(3)
# Credits definitions moved here so everything that needs to be changed is is one place.
# Anytime the credits changes to include more translators, you're just going to have to guess what the correct
# value to offset everything is again. Mainly concerning values that control the panning destination of credits text,
# and the height of the credits text itself
# My recommendation is to imagine a square on top of the "T" in "THE END"
# The square is as long as one of those characters, and the top of the square should touch the top of the screen
# when the credits stop scrolling
# Someone please come up with an exact formula pls
# Remember, ending sketch is always +550 of when the Pan stops
image credits_coverup:
"black"
crop (0, 0, 1920, 1080)
image b_credits_text = Composite(
(1920, 13235),
(0, 390), "credits_hbox",
(0, 12705), "b_sketch"
)
image c_credits_text = Composite(
(1920, 13235),
(0, 390), "credits_hbox",
(0, 12705), "c_sketch"
)
image d_credits_text = Composite(
(1920, 13235),
(0, 390), "credits_hbox",
(0, 12705), "d_sketch"
)
label lending:
$ cached_ending = get_ending()
if cached_ending == 4:
pause 0.5
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
subpixel True
xalign 0.5
yalign 0.5
linear 6 zoom 1.2
pause 1.75
show d_credits_text with dissolve:
subpixel True
crop (0, 670, 1920, 1080)
ypos 670
xalign 0.5
linear 3 zoom 1.1
pause 2
hide d_credits_text
hide snootgame_big
with dissolve
show credits_base at Pan((0, -1080),(0, 8100), 65):
subpixel True
show d_credits_text at Pan((0, 0),(0, 12100), 65):
subpixel True
show credits_coverup at Pan((0, 0),(0, 12100), 65):
subpixel True
pause 50
queue music 'audio/OST/amberlight brillance live end.ogg'
queue music "<silence 1.0>" loop
elif cached_ending == 3:
play music "audio/OST/Dino Destiny Reader.ogg"
pause 0.5
show c_credits_text:
crop (0, 0, 1920, 670)
pause 1.1
show c_credits_text:
crop None
pause 2.75
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
subpixel True
show c_credits_text at Pan((0, 0),(0, 12100), 65):
crop None
subpixel True
else:
play music "audio/OST/Dino Destiny Reader.ogg"
pause 0.5
show b_credits_text:
crop (0, 0, 1920, 670)
pause 1.1
show b_credits_text:
crop None
pause 2.75
show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text:
subpixel True
show b_credits_text at Pan((0, 0),(0, 12100), 65):
crop None
subpixel True
pause
stop music fadeout 5
scene black with Dissolve(3)
pause 2
if cached_ending == 3:
scene c10 with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
elif cached_ending == 4:
scene golden ending with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
$ MainMenu(confirm=False)() # Exits to the main menu

View File

@ -1548,28 +1548,28 @@ image fang very sad blur flip = im.Flip("highres/bluralt/fang very sad blur.webp
image naomi neutral blur flip = im.Flip("highres/bluralt/naomi neutral blur.webp", horizontal=True)
image fang pneutral blur = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang neutral blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang neutral blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
)
image fang pbird happy blur = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang flip off happy blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
(1412, 1500),
#(2683, 2850),
(0, 0), "highres/bluralt/fang flip off happy blur.webp",
(0, 0), "highres/bluralt/amberpendant1 blur.webp"
)
image fang pneutral blur flip = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang neutral blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang neutral blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
)
image fang pbird happy blur flip = Composite(
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang flip off happy blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
(1412, 1500),
#(2683, 2850),
(0, 0), im.Flip("highres/bluralt/fang flip off happy blur.webp", horizontal=True),
(0, 0), im.Flip("highres/bluralt/amberpendant1 blur.webp", horizontal=True)
)
image raymba2 flip = im.Flip("raymba/raymba2.webp", horizontal=True)

View File

@ -59,6 +59,9 @@ screen ex_ch_menu():
for i in range(8, 8-w, -1):
ex_chapters_menu.remove(ex_chapters[i])
ex_chapters_menu.pop()
else:
if not (persistent.bonus_chapters == 0b111111111):
ex_chapters_menu.pop()
tag menu
style_prefix "main_menu"

View File

@ -1,129 +1,131 @@
init offset = -1
screen OkPrompt(message, go_menu):
modal True
zorder 200
style_prefix "confirm"
add "gui/overlay/confirm.png"
frame:
vbox:
xalign .5
yalign .5
spacing 30
label _(message):
style "confirm_prompt"
xalign 0.5
hbox:
xalign 0.5
spacing 100
textbutton _("OK") activate_sound "audio/ui/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
default persistent.seenWarning = []
init python:
from math import ceil
notice = _("NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines.")
languages = [
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'}
]
#This was done so it would work with whatever amount of languages you wanted, I tried it with up to 200 and it worked nicely.
maxItems = len(languages)
maxRows = ceil(maxItems/4)
if maxItems > 4:
maxItems = 4*maxRows
init:
transform renpysdumb: # Needed to scale down the imagebuttons.
zoom 0.5
transform icon: #For the preferences screen
truecenter
zoom 0.1
transform glowie(img):
img
easein_cubic 0.30 matrixcolor TintMatrix(Color((255, 255, 255)))
transform darkie(img):
img
easeout_cubic 0.30 matrixcolor TintMatrix(Color((255/2, 255/2, 255/2)))
screen lang_sel():
tag menu
frame:
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
padding (120, 40)
vbox:
style_prefix "navigation"
vbox:
label _("Choose Your Language") text_size 80
add Null(0, 40)
vpgrid:
if maxItems <= 4:
cols maxItems
rows 1
else:
cols 4
rows maxRows
#spacing 30
draggable True
mousewheel True
if maxRows > 3:
scrollbars "vertical"
for i in range(maxItems):
fixed:
xsize 400
ysize 300
vbox:
if i<len(languages):
text languages[i]["name"] at top
add Null(0,10)
imagebutton:
idle darkie(languages[i]["image"])
hover glowie(languages[i]["image"])
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == None,
true = [Language(languages[i]["value"]), MainMenu(False,False)],
# Important to change the language before calling notice. Otherwise it will be in english.
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), Show(screen="OkPrompt", message=notice, go_menu=True)]
)
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
else:
# Renpy seethes if a vpgrid doesn't have the exact maximum amount of items for some reason.
add Null(0,0)
at truecenter
screen lang_button(lang):
hbox:
spacing 15
textbutton lang["name"]:
activate_sound "audio/ui/uiRollover.wav"
action If(lang["value"] in persistent.seenWarning or lang["value"] == None,
true = [Language(lang["value"])],
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
)
if _preferences.language == lang["value"]:
add glowie(lang["image"]) at icon
else:
init offset = -1
screen OkPrompt(message, go_menu):
modal True
zorder 200
style_prefix "confirm"
add "gui/overlay/confirm.png"
frame:
vbox:
xalign .5
yalign .5
spacing 30
label _(message):
style "confirm_prompt"
xalign 0.5
hbox:
xalign 0.5
spacing 100
textbutton _("OK") activate_sound "audio/ui/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
default persistent.seenWarning = []
init python:
from math import ceil
notice = _("NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines.")
languages = [
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'},
{'image': 'gui/flag/Poland.png', 'name': 'Polski', 'value': 'pl'}
]
#This was done so it would work with whatever amount of languages you wanted, I tried it with up to 200 and it worked nicely.
maxItems = len(languages)
maxRows = ceil(maxItems/4)
if maxItems > 4:
maxItems = 4*maxRows
init:
transform renpysdumb: # Needed to scale down the imagebuttons.
zoom 0.5
transform icon: #For the preferences screen
truecenter
zoom 0.1
transform glowie(img):
img
easein_cubic 0.30 matrixcolor TintMatrix(Color((255, 255, 255)))
transform darkie(img):
img
easeout_cubic 0.30 matrixcolor TintMatrix(Color((255/2, 255/2, 255/2)))
screen lang_sel():
tag menu
frame:
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
padding (120, 40)
vbox:
style_prefix "navigation"
vbox:
label _("Choose Your Language") text_size 80
add Null(0, 40)
vpgrid:
if maxItems <= 4:
cols maxItems
rows 1
else:
cols 4
rows maxRows
#spacing 30
draggable True
mousewheel True
if maxRows > 3:
scrollbars "vertical"
for i in range(maxItems):
fixed:
xsize 400
ysize 300
vbox:
if i<len(languages):
text languages[i]["name"] at top
add Null(0,10)
imagebutton:
idle darkie(languages[i]["image"])
hover glowie(languages[i]["image"])
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == None,
true = [Language(languages[i]["value"]), MainMenu(False,False)],
# Important to change the language before calling notice. Otherwise it will be in english.
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), Show(screen="OkPrompt", message=notice, go_menu=True)]
)
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
else:
# Renpy seethes if a vpgrid doesn't have the exact maximum amount of items for some reason.
add Null(0,0)
at truecenter
screen lang_button(lang):
hbox:
spacing 15
textbutton lang["name"]:
activate_sound "audio/ui/uiRollover.wav"
action If(lang["value"] in persistent.seenWarning or lang["value"] == None,
true = [Language(lang["value"])],
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
)
if _preferences.language == lang["value"]:
add glowie(lang["image"]) at icon
else:
add darkie(lang["image"]) at icon

View File

@ -10,45 +10,53 @@ init -1 python:
persistent.old_endings = persistent.endings
persistent.endings = endings
label storyline:
call chapter_1 from _call_chapter_1
call chapter_2 from _call_chapter_2
call chapter_3 from _call_chapter_3
call chapter_4 from _call_chapter_4
call chapter_5 from _call_chapter_5
call chapter_6 from _call_chapter_6
call chapter_7 from _call_chapter_7
call chapter_8 from _call_chapter_8
call chapter_9 from _call_chapter_9
call chapter_10 from _call_chapter_10
call chapter_11 from _call_chapter_11
call get_ending from _call_get_ending_5
if _return == Endings.Golden:
call chapter_11D from _call_chapter_11D
call chapter_12D from _call_chapter_12D
call chapter_12_5D from _call_chapter_12_5D
call chapter_13D from _call_chapter_13D
call chapter_14D from _call_chapter_14D
elif _return == Endings.Tradwife:
call chapter_11C from _call_chapter_11C
call chapter_12C from _call_chapter_12C
call chapter_12_5C from _call_chapter_12_5C
call chapter_13C from _call_chapter_13C
call chapter_14C from _call_chapter_14C
elif _return == Endings.Doomer:
call chapter_11B from _call_chapter_11B
call chapter_12B from _call_chapter_12B
# no chapter_13 here since the scene is different enough to the other routes for everything to go into 13C
call chapter_13B from _call_chapter_13B
call chapter_14B from _call_chapter_14B
else: # if all else fails, we just assume that we got Endings.Shooter
call chapter_11A from _call_chapter_11A
call chapter_12A from _call_chapter_12A
call chapter_12_5D from _call_chapter_12_5D_1
call chapter_13A from _call_chapter_13A
call chapter_14A from _call_chapter_14A
$ ending_image()
$ renpy.quit()
$ ending_image()
call lending from _call_lending
return
init python:
def next_story_chapter():
global chapter_list_index, current_chapter
# Add check "is_end_reached" to have this if statement be executed only once when finishing the general chapters
if not is_end_reached and chapter_list_index >= chapter_list_length:
process_ending()
if chapter_list_index < chapter_list_length:
chapter_list_index += 1
current_chapter = chapter_list[chapter_list_index]
renpy.call(current_chapter)
else:
end_story()
def process_ending():
global ending_route_number
ending_route_number = get_ending()
add_ending_chapters(ending_route_number)
update_ending_variables() # Updates variables for newly extended 'chapter_list' with ending chapters
def add_ending_chapters(route_number):
global chapter_list
if route_number in ending_routes:
chapter_list.extend(ending_routes[route_number])
def update_ending_variables():
global chapter_list_length
global is_end_reached
# chapter_list_length is updated to reflect the addition to the chapter_list array
chapter_list_length = get_chapter_list_length()
is_end_reached = True
def get_chapter_list_length():
return len(chapter_list) - 1
def end_story():
ending_image()
renpy.call("lending")

View File

@ -125,6 +125,12 @@ translate es strings:
old "You have unlocked all bonus chapters!"
new "¡Has desbloqueado todos los capítulos extra!"
old "You have unlocked the final bonus chapter!"
new "¡Has desbloqueado el último capítulo extra!"
old "You have finished all endings! Complete all bonus chapters to receive the final chapter!"
new "¡Haz conseguido todos los finales! ¡Completa el resto de capítulos extra para desbloquear el último!"
old "You have unlocked new bonus chapters, complete unseen endings to see more!"
new "Has desbloqueado nuevos capítulos extra, ¡Completa los finales no vistos para ver más!"

View File

@ -4099,24 +4099,12 @@ translate es FastTimesAtVolcanoHigh_94e85886:
# A "Well... {w=0.3}Spears convinced me to send out a couple application letters for college."
A "Bueno... {w=0.3}Spears me convenció de enviar un par de letras de aplicación para la universidad."
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3121
translate es FastTimesAtVolcanoHigh_4e617de4:
# A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
A "Estoy pensando en hacer algo con música{cps=*.1}...{/cps} ¿quizás convertirme en ingeniero de sonido?"
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3124
translate es FastTimesAtVolcanoHigh_a2735d38:
# A "Im not sure yet."
A "Todavía no estoy seguro."
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3126
translate es FastTimesAtVolcanoHigh_4e617de4_1:
# A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
A "Estoy pensando en hacer algo con música{cps=*.1}...{/cps} ¿quizás convertirme en ingeniero de sonido?"
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3128
translate es FastTimesAtVolcanoHigh_5ce0f5f5:
@ -6127,3 +6115,11 @@ translate es strings:
old "Not certain just yet"
new "Todavía no estoy seguro"
# TODO: Translation updated at 2023-05-07 00:20
# game/script/13D.fang-plays-well,-naomi-jealous,-fang-talks-to-anon-to-break-up-while-she-thinks-about-her-life.rpy:3123
translate es FastTimesAtVolcanoHigh_4e617de4:
# A "Im thinking of doing something with music{cps=*.1}...{/cps} maybe becoming a sound engineer?"
A "Estoy pensando en hacer algo con música{cps=*.1}...{/cps} ¿quizás convertirme en ingeniero de sonido?"

View File

@ -1116,12 +1116,6 @@ translate es movie_4263d346:
# "I shrug apologetically."
"Me encojo de hombros a modo de disculpa."
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:847
translate es movie_98d69c6e:
# Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "Solo{cps=*.1}...{/cps}{w=.3} ¡URGH!{w=.4} ¿Tienes {i}alguna{/i} idea de cuánto tardan en florecer?"
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:849
translate es movie_2fab4cce:
@ -6944,3 +6938,11 @@ translate es strings:
old "Interrupt"
new "Interrumpir"
# TODO: Translation updated at 2023-05-07 00:26
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:847
translate es movie_f9188bac:
# Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how hard those are to get!"
Ro "Solo{cps=*.1}...{/cps}{w=.3} ¡URGH!{w=.4} ¿Tienes {i}alguna{/i} idea de lo difícil que son conseguirlas?"

View File

@ -2226,48 +2226,6 @@ translate es PostCableConundrum_797b4809:
# "Right into Trishs trap, {w=0.3}hook, {w=0.3}line, {w=0.3}sinker and rod."
"Justo en la trampa, {w=0.3}el anzuelo, {w=0.3}la línea, {w=0.3}la plomada y en la caña de Trish."
# game/script/7.concert-day.rpy:1539
translate es PostCableConundrum_afcbc2bb:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1542
translate es PostCableConundrum_afcbc2bb_1:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1545
translate es PostCableConundrum_afcbc2bb_2:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1548
translate es PostCableConundrum_afcbc2bb_3:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1551
translate es PostCableConundrum_afcbc2bb_4:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1554
translate es PostCableConundrum_afcbc2bb_5:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1557
translate es PostCableConundrum_afcbc2bb_6:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."
# game/script/7.concert-day.rpy:1560
translate es PostCableConundrum_afcbc2bb_7:
@ -2630,3 +2588,11 @@ translate es strings:
old "No."
new "No."
# TODO: Translation updated at 2023-05-07 00:20
# game/script/7.concert-day.rpy:1556
translate es PostCableConundrum_afcbc2bb:
# A "I do NOT have a thing for Incontineisha."
A "La incontinencia NO es mi fetiche."

View File

@ -1,113 +1,128 @@
# TODO: Translation updated at 2022-11-16 11:05
# game/src/credits.rpy:161
translate es test_credits_3991e06e:
# "test"
"test"
translate es strings:
# game/src/credits.rpy:7
old "Coded By:"
new "Programado por:"
# game/src/credits.rpy:7
old "Written by:"
new "Escrito por:"
# game/src/credits.rpy:7
old "Story by:"
new "Historia por:"
# game/src/credits.rpy:7
old "Production Designer"
new "Diseñador de Producción:"
# game/src/credits.rpy:7
old "Artwork by:"
new "Ilustraciones por:"
# game/src/credits.rpy:7
old "Additional Artwork by:"
new "Ilustraciones Adicionales por"
# game/src/credits.rpy:7
old "Backup Anon 1"
new "Anon de respaldo 1"
# game/src/credits.rpy:7
old "Backup Anon 2"
new "Anon de respaldo 2"
# game/src/credits.rpy:7
old "Backup Anon 3"
new "Anon de respaldo 3"
# game/src/credits.rpy:7
old "Backup Anon 4"
new "Anon de respaldo 4"
# game/src/credits.rpy:7
old "Backup Anon 5"
new "Anon de respaldo 5"
# game/src/credits.rpy:7
old "Backup Anon 6"
new "Anon de respaldo 6"
# game/src/credits.rpy:7
old "\"Love theme\" by:"
new "\"Tema de Amor\" por:"
# game/src/credits.rpy:7
old "Only Person In The Team With A\nPortfolio/Experience Anon"
new "La Única Persona Con un\nPortafolio/Experiencia Anon"
# game/src/credits.rpy:7
old "Music By"
new "Música por"
# game/src/credits.rpy:7
old "Egg Hunt Contest\nWinner:"
new "Ganador del Concurso de la\nbúsqueda de Huevos:"
# game/src/credits.rpy:7
old "Character Design\nContest Winner:"
new "Ganador del Concurso de\nDiseño de Personajes"
# game/src/credits.rpy:75
old "Translators (Spanish):"
new "Traducción (Español):"
# game/src/credits.rpy:75
old "Proofreaders (Spanish):"
new "Revisado por (Español):"
# game/src/credits.rpy:75
old "Asset help (Spanish):"
new "Ayuda extra (Español):"
# game/src/credits.rpy:101
old "Snoot Game"
new "Snoot Game"
# game/src/credits.rpy:103
old "By CaveManon"
new "Por CaveManon"
# game/src/credits.rpy:105
old "developed in Ren'py"
new "desarrollado en Ren'py"
# game/src/credits.rpy:144
old "T H E E N D"
new "E L F I N"
# game/src/credits.rpy:146
old "Snoot game started development\n on June 19, 2020"
new "Snoot game comenzó su desarrollo\n en junio 19 del 2020"
old "Special Thanks:"
new "Agradecimientos especiales:"
# TODO: Translation updated at 2022-11-16 11:05
# game/src/credits.rpy:161
translate es test_credits_3991e06e:
# "test"
"test"
translate es strings:
# game/src/credits.rpy:7
old "Coded By:"
new "Programado por:"
# game/src/credits.rpy:7
old "Written by:"
new "Escrito por:"
# game/src/credits.rpy:7
old "Story by:"
new "Historia por:"
# game/src/credits.rpy:7
old "Production Designer"
new "Diseñador de Producción:"
# game/src/credits.rpy:7
old "Artwork by:"
new "Ilustraciones por:"
# game/src/credits.rpy:7
old "Additional Artwork by:"
new "Ilustraciones Adicionales por"
# game/src/credits.rpy:7
old "Backup Anon 1"
new "Anon de respaldo 1"
# game/src/credits.rpy:7
old "Backup Anon 2"
new "Anon de respaldo 2"
# game/src/credits.rpy:7
old "Backup Anon 3"
new "Anon de respaldo 3"
# game/src/credits.rpy:7
old "Backup Anon 4"
new "Anon de respaldo 4"
# game/src/credits.rpy:7
old "Backup Anon 5"
new "Anon de respaldo 5"
# game/src/credits.rpy:7
old "Backup Anon 6"
new "Anon de respaldo 6"
# game/src/credits.rpy:7
old "\"Love theme\" by:"
new "\"Tema de Amor\" por:"
# game/src/credits.rpy:7
old "Only Person In The Team With A\nPortfolio/Experience Anon"
new "La Única Persona Con un\nPortafolio/Experiencia Anon"
# game/src/credits.rpy:7
old "Music By"
new "Música por"
# game/src/credits.rpy:7
old "Egg Hunt Contest\nWinner:"
new "Ganador del Concurso de la\nbúsqueda de Huevos:"
# game/src/credits.rpy:7
old "Character Design\nContest Winner:"
new "Ganador del Concurso de\nDiseño de Personajes"
# game/src/credits.rpy:75
old "Translators (Spanish):"
new "Traducción (Español):"
# game/src/credits.rpy:75
old "Translators (Russian):"
new "Traducción (Ruso):"
# game/src/credits.rpy:75
old "Translators (Polish):"
new "Traducción (Polaco):"
# game/src/credits.rpy:75
old "Proofreaders (Spanish):"
new "Revisado por (Español):"
# game/src/credits.rpy:75
old "Proofreaders (Russian):"
new "Revisado por (Ruso):"
# game/src/credits.rpy:75
old "Asset help (Spanish):"
new "Ayuda extra (Español):"
# game/src/credits.rpy:75
old "Asset help (Russian):"
new "Ayuda extra (Ruso):"
# game/src/credits.rpy:101
old "Snoot Game"
new "Snoot Game"
# game/src/credits.rpy:103
old "By CaveManon"
new "Por CaveManon"
# game/src/credits.rpy:105
old "developed in Ren'py"
new "desarrollado en Ren'py"
# game/src/credits.rpy:144
old "T H E E N D"
new "E L F I N"
# game/src/credits.rpy:146
old "Snoot game started development\n on June 19, 2020"
new "Snoot game comenzó su desarrollo\n en junio 19 del 2020"
old "Special Thanks:"
new "Agradecimientos especiales:"

1221
game/tl/pl/common.rpy Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

6
game/tl/pl/options.rpy Normal file
View File

@ -0,0 +1,6 @@
translate pl strings:
# game/options.rpy:15
old "SnootGame"
new "SnootGame"

510
game/tl/pl/screens.rpy Normal file
View File

@ -0,0 +1,510 @@
#############################################################
#POLISH TL
translate pl strings:
old "Mr. Tsuki"
new "Pan Tsuki"
old "Chicxulub Gutterlane"
new "Kręgielnia Chicxulub"
old "The Mous Pad"
new "Mous Pad"
old "PTA Meeting"
new "Wywiadówka"
old "Passion of the Trigga I"
new "Pasja Triggera I"
old "Passion of the Trigga II"
new "Pasja Triggera II"
old "Passion of the Trigga III"
new "Pasja Triggera III"
old "Naomi's Tribulations I"
new "Udręki Naomi I"
old "Naomi's Tribulations II"
new "Udręki Naomi II"
old "Naomi's Tribulations III"
new "Udręki Naomi Naomi III"
old "RAYmba's Observations"
new "Obserwacje RAYmb'y"
old "Performance"
new "Występ"
old "Cache Surfaces"
new "Powierzchnie pamięci podręcznej"
old "You have no mods! \nInstall some in:\n\"[moddir]\""
new "Brak modów!\nZainstaluj mody w:\"[moddir]\""
old "Animations"
new "Animacje"
old "Lewd"
new "Lewd"
old "Fullbody"
new "Pełna sylwetka"
old "Backgrounds"
new "Tła"
old "Back"
new "Wstecz"
old "Choose Your Language"
new "Wybierz język"
old "NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines."
new "UWAGA: Pamiętaj prosze że to jest nieoficjalne tłumaczenie, i może być nie wpełni zgodne ze znaczeniem oryginału"
old "Gallery"
new "Galeria"
old "Updates"
new "Aktualizacje"
old "About"
new "Informacje"
old "Help"
new "Pomoc"
old "What will you write?"
new "Co napiszesz?"
old "Fang's Dad"
new "Tato Fang"
old 'Driver'
new "Kierowca"
old "Fang's Mom"
new "Mama Fang"
old "Lucy's Mom"
new "Mama Lucy"
old "Lucy's Dad"
new "Tata Lucy"
old "Waitress"
new "Kelnerka"
old "Anon and Fang"
new "Anon i Fang"
old "Street Vendor"
new "Uliczna sprzedawczyni"
old "Fang Reed & Trish"
new "Fang Reed i Trish"
old "Fang and Trish"
new "Fang i Trish"
old "Naser and Naomi"
new "Naser i Naomi"
old "Team member"
new "Członek zespołu"
old "Everyone"
new "Wszyscy"
old "Attendant"
new "Uczestnik"
old "You have unlocked all bonus chapters!"
new "Odblokowałeś/aś wszystkie bonusowe rozdziały!"
old "You have unlocked new bonus chapters, complete unseen endings to see more!"
new "Odblokowałeś/aś nowe bonusowe rozdziały, ukończ pozostałe zakończenia by zobaczyć więcej"
old "Start"
new "Start"
old "Bonus Chapters"
new "Bonusowe rozdziały"
old "Language"
new "Język"
old "Quit"
new "Wyjdź"
# game/screens.rpy:381
old "History"
new "Historia"
# game/screens.rpy:382
old "Save"
new "Zapisz"
# game/screens.rpy:383
old "Load"
new "Załaduj"
# game/screens.rpy:384
old "Delete"
new "Usuń"
# game/screens.rpy:385
old "Options"
new "Opcje"
# game/screens.rpy:387
old "Return"
new "Cofnij"
# game/screens.rpy:391
old "End Replay"
new "Zakończ replay"
# game/screens.rpy:395
old "Main Menu"
new "Menu główne"
# game/screens.rpy:747
old "Version [config.version!t]\n"
new "Wersja [config.version!t]\n"
# game/screens.rpy:754
old "{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}"
new "{size=30}Stworzone przy pomocy {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nAby znaleźć więcej informacji o grze (i jej kodzie źródłowym) zobacz {a=https://www.snootgame.xyz/}naszą stronęe{/a}.{/size}"
# game/screens.rpy:783
old "Version [config.version!t]"
new "Wersja [config.version!t]"
# game/screens.rpy:785
old "{color=#00FF00}{size=32}Update directory exists, updating is possible!\n{/size}{/color}"
new "{color=#00FF00}{size=32}Lokalizacja do aktualizacji istnieje, aktualizacja jest możliwa!!\n{/size}{/color}"
# game/screens.rpy:787
old "{color=#FF0000}{size=32}Update directory does not exist or is corrupt!\n{/size}{/color}"
new "{color=#FF0000}{size=32}Lokalizacja do aktualizacji nie istnieje lub jest uszkodzona!\n{/size}{/color}"
# game/screens.rpy:789
old "Auto Update:"
new "Auto-aktualizacja:"
# game/screens.rpy:790
old "{color=#FFFFFF}{size=32}Automatic Updates: [persistent.autoup!t]{/size}{/color}"
new "{color=#FFFFFF}{size=32}Automatyczne aktualizacje: [persistent.autoup!t]{/size}{/color}"
# game/screens.rpy:791
old "{size=36}Toggle Automatic Updates\n{/size}"
new "{size=36}Przełącz automatyczne aktualizacje\n{/size}"
# game/screens.rpy:793
old "Update Checker:"
new "Sprawdzanie aktualizacji:"
# game/screens.rpy:794
old "{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}"
new "{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}"
# game/screens.rpy:795
old "{size=36}Check for Update\n{/size}"
new "{size=36}Sprawdź dostępne aktualizacje\n{/size}"
# game/screens.rpy:797
old "Updater:"
new "Aktualizator:"
# game/screens.rpy:798
old "{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}"
new "{color=#FFFFFF}{size=32}Serwer URL (kliknij aby edytować):{/size}{/color}"
# game/screens.rpy:813
old "{size=36}Update Now!\n{/size}"
new "{size=36}Aktualizuj teraz!\n{/size}"
# game/screens.rpy:849
old "Page {}"
new "Strona {}"
# game/screens.rpy:849
old "Automatic saves"
new "Auto zapisy"
# game/screens.rpy:849
old "Quick saves"
new "Szybkie zapisy"
# game/screens.rpy:894
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %B %d %Y, %H:%M"
# game/screens.rpy:894
old "Empty Slot"
new "Puste miejsce"
# game/screens.rpy:911
old "<"
new "<"
# game/screens.rpy:914
old "{#auto_page}A"
new "{#auto_page}A"
# game/screens.rpy:917
old "{#quick_page}Q"
new "{#quick_page}Q"
# game/screens.rpy:923
old ">"
new ">"
# game/screens.rpy:980
old "Display"
new "Ekran"
# game/screens.rpy:981
old "Window"
new "Okno"
# game/screens.rpy:982
old "Fullscreen"
new "Pełny ekran"
# game/screens.rpy:986
old "Rollback Side"
new "Strona cofania dialogów"
# game/screens.rpy:988
old "Left"
new "Lewo"
# game/screens.rpy:989
old "Right"
new "Prawo"
# game/screens.rpy:992
old "Naughty Stuff"
new "Niegrzeczne rzeczy"
# game/screens.rpy:993
old "Enable Lewd Images"
new "Włącz lewdowe obrazy"
# game/screens.rpy:997
old "Requires Restart"
new "Wymaga restartu"
# game/screens.rpy:998
old "Enable Forward-Scroll Movement"
new "Włącz przewijanie do przodu"
# game/screens.rpy:1002
old "Skip"
new "Pomiń"
# game/screens.rpy:1003
old "Unseen Text"
new "Niewidoczny tekst"
# game/screens.rpy:1004
old "After Choices"
new "Wybory końcowe"
# game/screens.rpy:1005
old "Transitions"
new "Tranzycje"
# game/screens.rpy:1018
old "Text Speed"
new "Prędkość tekstu"
# game/screens.rpy:1022
old "Auto-Forward Time"
new "Czas automatycznego przewijania"
# game/screens.rpy:1029
old "Music Volume"
new "Głośnośc muzyki"
# game/screens.rpy:1037
old "Sound Volume"
new "Głośnośc dźwięku"
# game/screens.rpy:1043
old "Test"
new "Test"
# game/screens.rpy:1045
old "UI Sounds Volume"
new "Głośnośc dźwięków interfejsu"
# game/screens.rpy:1053
old "Voice Volume"
new "Głośnośc dialogów"
# game/screens.rpy:1064
old "Mute All"
new "Wycisz wszystko"
# game/screens.rpy:1183
old "The dialogue history is empty."
new "Historia dialogów jest pusta."
# game/screens.rpy:1304
old "Keyboard"
new "Klawiatura"
# game/screens.rpy:1305
old "Mouse"
new "Mysz"
# game/screens.rpy:1307
old "Gamepad"
new "Gamepad"
# game/screens.rpy:1327
old "Enter"
new "Enter"
# game/screens.rpy:1328
old "Advances dialogue and activates the interface."
new "Dialog postępuje dalej oraz aktywuje interfejs"
# game/screens.rpy:1331
old "Space"
new "Spacja"
# game/screens.rpy:1332
old "Advances dialogue without selecting choices."
new "Postępuje dialog bez wybierania opcji."
# game/screens.rpy:1335
old "Arrow Keys"
new "Strzałki"
# game/screens.rpy:1336
old "Navigate the interface."
new "Nawiguj interfejs."
# game/screens.rpy:1339
old "Escape"
new "Escape"
# game/screens.rpy:1340
old "Accesses the game menu. Also escapes the Gallery."
new "Wejście do menu gry. Także wyjście z galerii."
# game/screens.rpy:1343
old "Ctrl"
new "Ctrl"
# game/screens.rpy:1344
old "Skips dialogue while held down."
new "Pomija dialog gdy przytrzymany."
# game/screens.rpy:1347
old "Tab"
new "Tab"
# game/screens.rpy:1348
old "Toggles dialogue skipping."
new "Przełącza pomijanie dialogów."
# game/screens.rpy:1351
old "Page Up"
new "Strona w górę"
# game/screens.rpy:1352
old "Rolls back to earlier dialogue."
new "Cofa to poprzedniego dialogu."
# game/screens.rpy:1355
old "Page Down"
new "Strona w dół"
# game/screens.rpy:1356
old "Rolls forward to later dialogue."
new "Przewija w przód do późniejszego dialogu."
# game/screens.rpy:1360
old "Hides the user interface."
new "Ukrywa interfejs."
# game/screens.rpy:1364
old "Takes a screenshot."
new "Wykonuje screenshot."
# game/screens.rpy:1368
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Przełącza {a=https://www.renpy.org/l/voicing}automatyczny-odczyt{/a}."
# game/screens.rpy:1374
old "Left Click"
new "Lewe kliknięcie"
# game/screens.rpy:1378
old "Middle Click"
new "Środkowe kliknięcie"
# game/screens.rpy:1382
old "Right Click"
new "Prawe kliknięcie"
# game/screens.rpy:1386
old "Mouse Wheel Up\nClick Rollback Side"
new "Kólko myszy w górę \nClick Rollback Side"
# game/screens.rpy:1390
old "Mouse Wheel Down"
new "Kólko myszy w dół"
# game/screens.rpy:1397
old "Right Trigger\nA/Bottom Button"
new "Prawy spust\nA/Dolny przycisk"
# game/screens.rpy:1401
old "Left Trigger\nLeft Shoulder"
new "Lewy spust\nLewy bumber"
# game/screens.rpy:1405
old "Right Shoulder"
new "Prawy bumper"
# game/screens.rpy:1410
old "D-Pad, Sticks"
new "D-Pad, Drązki"
# game/screens.rpy:1414
old "Start, Guide"
new "Start, Guide"
# game/screens.rpy:1415
old "Accesses the game menu."
new "Menu gry"
# game/screens.rpy:1418
old "Y/Top Button"
new "Y/Górny przycisk"
# game/screens.rpy:1421
old "Calibrate"
new "Skalibruj"
# game/screens.rpy:1484
old "Yes"
new "Tak"
# game/screens.rpy:1485
old "No"
new "Nie"
# game/screens.rpy:1531
old "Skipping"
new "Pomijanie"

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More