Compare commits

...

4 Commits

Author SHA1 Message Date
MichaelYick 1046f65408 Merge pull request 'chore: Removes tradwife flag' (#220) from san7890/SnootGame:flag-cleanup into NewPatch
Reviewed-on: #220
2023-05-07 02:13:46 +00:00
san7890 404d3f91bd removes the `trad` arg to `initstats()` as well 2023-05-06 20:11:35 -06:00
san7890 340528ee02 removes the ending flag 2023-05-06 20:06:38 -06:00
san7890 ef4764b322 `get_ending` to not be numerically based, but instead enum-based. (#219)
Co-authored-by: san7890 <the@san7890.com>
Reviewed-on: #219
Co-authored-by: san7890 <san7890@noreply.git.cavemanon.xyz>
Co-committed-by: san7890 <san7890@noreply.git.cavemanon.xyz>
2023-05-07 00:44:59 +00:00
5 changed files with 97 additions and 88 deletions

View File

@ -316,7 +316,6 @@ transform scloserleft:
label start:
$ fangscore = 0
$ anonscore = 0
$ tradwife = False
$ wingStory = False
pause 1.0
call storyline from _call_storyline

View File

@ -449,7 +449,7 @@ label chapter_11:
# Doomer ending skips this segment
call get_ending from _call_get_ending
if _return == 2:
if _return == Endings.Doomer:
stop music fadeout 3
pause 2
jump lPromAnnouncement
@ -586,12 +586,12 @@ label chapter_11:
pause .5
call get_ending from _call_get_ending_1
if _return == 4:
jump lSortingThings # Golden
elif _return == 3:
jump lMendingThings # Tradwife
if _return == Endings.Golden:
jump lSortingThings
elif _return == Endings.Tradwife:
jump lMendingThings
else:
jump lBreakingThings # Shooter
jump lBreakingThings # All else fails, go to shooter.
label lSortingThings:
@ -5212,7 +5212,7 @@ label chapter_11:
pause .5
call get_ending from _call_get_ending_2
if _return == 3: #tradwife
if _return == Endings.Tradwife:
"Things are going pretty well. When we discount Trishs weekly attempt to talk with Fang."
@ -5467,8 +5467,10 @@ label chapter_11:
"{cps=*.1}...{/cps}"
call get_ending from _call_get_ending_3
if _return != 1: # any route except Shooter
# duplicated segment from 11B, 11C and 11D transplanted here
if _return == Endings.Shooter:
return
# the following segment makes sense in the context of 11B+11C+11D
window hide
window auto
pause .5

View File

@ -218,7 +218,8 @@ image d_credits_text = Composite(
label lending:
call get_ending from _call_get_ending_4
if _return == 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
@ -248,7 +249,7 @@ label lending:
pause 50
queue music 'audio/OST/amberlight brillance live end.ogg'
queue music "<silence 1.0>" loop
elif _return == 3:
elif cached_ending == Endings.Tradwife:
play music "audio/OST/Dino Destiny Reader.ogg"
pause 0.5
show c_credits_text:
@ -280,12 +281,12 @@ label lending:
stop music fadeout 5
scene black with Dissolve(3)
pause 2
if tradwife:
if cached_ending == Endings.Tradwife:
scene c10 with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1
elif anonscore >= 4 and fangscore >= 4:
elif cached_ending == Endings.Golden:
scene golden ending with Dissolve(1.5)
pause 20
scene black with Dissolve(2)

View File

@ -23,26 +23,25 @@ label storyline:
call chapter_10 from _call_chapter_10
call chapter_11 from _call_chapter_11
call get_ending from _call_get_ending_5
if _return == 4:
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 == 3:
$ tradwife = True
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 == 2:
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:
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

View File

@ -1,23 +1,31 @@
## Utility functions for game setup, debugging etc.
label initstats(anon=0, fang=0, trad=False):
init python:
from enum import Enum
# Create compile-time macros to more easily track what ending goes to what without the need for magic numbers or strings that can be mistyped
class Endings(Enum):
Shooter = 0
Doomer = 1
Tradwife = 2
Golden = 3
label initstats(anon=0, fang=0):
# Sets various game-related global variables
# :param int anon: Anon's score
# :param int fang: Fang's score
# :param bool trad: Tradwife ending flag
$ anonscore = anon
$ fangscore = fang
$ tradwife = trad
return
label get_ending:
# To check what ending we're getting, call this label and then check the value of _return
# Sensible to have this logic defined in only one place for consistency
if anonscore >= 4 and fangscore >= 4 and wingStory:
return(4) # Golden
return(Endings.Golden)
elif anonscore >= 3 and fangscore <=4:
return(3) # Tradwife
return(Endings.Tradwife)
elif anonscore <= 3 and fangscore >=3:
return(2) # Doomer
return(Endings.Doomer)
else:
return(1) # Shooter
return(Endings.Shooter)