sbarabaus

Member
Dec 29, 2017
267
234
with the limit on the playable days, is there a way to know if i got to the end of a storyline or if i missed something and should restart to try and get the extra scenes?

for example, in the gym story i got to the f-club show where MJ shows up in the audience
 

ffive

Forum Fanatic
Jun 19, 2022
4,750
10,293
Played the whole (well, most of the game) from start to finish, and kind of wondering if there's possible bug with random encounters and/or Summer's storyline: after her 3rd storyline event (encounter01 == 3) in round 52 there was no random encounters placed on the board at all for the remaining 30 game rounds or so.

The only events the game has launched afterwards was the last event in Lea's storyline (event01 == 10) and then the two events for the fashion show, and that was it. Not sure if this is related.

edit: checking the game code, this seems to be the culprit:
Python:
label randomeventencounter:
//...
    ########################################
    if event01 == 12 and stat_1 <> 90:
        return
Effectively, after the fixed events storyline runs its course this bit causes the code return early and never do the fiftyrandomevent toss, which determines if it's event or encounter that gets placed on the board, if any. Consequently, reaching the end of Lea/fashion events prevents any remaining encounters(i.e. Summer's storyline, but also any other encounters the game might add) from appearing on the board. :sadtrombone:
 
Last edited:
  • Like
Reactions: Basilicata

Basilicata

Radioactive Member
Game Developer
Oct 24, 2017
1,314
3,011
Played the whole (well, most of the game) from start to finish, and kind of wondering if there's possible bug with random encounters and/or Summer's storyline: after her 3rd storyline event (encounter01 == 3) in round 52 there was no random encounters placed on the board at all for the remaining 30 game rounds or so.

The only events the game has launched afterwards was the last event in Lea's storyline (event01 == 10) and then the two events for the fashion show, and that was it. Not sure if this is related.

edit: checking the game code, this seems to be the culprit:
Python:
label randomeventencounter:
//...
    ########################################
    if event01 == 12 and stat_1 <> 90:
        return
Effectively, after the fixed events storyline runs its course this bit causes the code return early and never do the fiftyrandomevent toss, which determines if it's event or encounter that gets placed on the board, if any. Consequently, reaching the end of Lea/fashion events prevents any remaining encounters(i.e. Summer's storyline, but also any other encounters the game might add) from appearing on the board. :sadtrombone:
Thank you for taking the time to check. After reading your post I replayed everything again and again but I couldn't find a problem. In my new games Summer's storyline ends normally. As a matter of fact everything seems normal. The line of code that you mentioned, simply says, if the round isn't 90, don't try to play the fashion days after show party.
Idk. Your lack of progression in Summer's story could just be extreme bad luck, maybe. Anyway, I'll keep my eyes peeled. Thanks again.
 

ffive

Forum Fanatic
Jun 19, 2022
4,750
10,293
Thank you for taking the time to check. After reading your post I replayed everything again and again but I couldn't find a problem. In my new games Summer's storyline ends normally.
But did you play the fashion show event before the end of Summer's storyline, or did Summer's story come to end before it? Because the bug happens in the former scenario. If Summer's encounters line is completed earlier (which is quite possible, depending on RNG and relative length of story chains with Summer's being shorter) you will indeed not notice anything out of order.

I have attached a save from a playthrough with this scenario to make it easier: it's from round 70, right after the fashion show concludes. Summer's storyline played 3 of her events so far. Now see if you get any random encounters in the subsequent 20 rounds? Because they don't trigger for me, even though there's 6 Summer events still left.

The line of code that you mentioned, simply says, if the round isn't 90, don't try to play the fashion days after show party.
That may be the intention but that's just a part of what this snippet actually does. What it does is what i described:
Python:
label randomeventencounter:
//...
    if event01 == 12 and stat_1 <> 90:
        return
//...
    if stat_1 >= 6:
        $ fiftyrandomevent = renpy.random.randint(11,15)
        if fiftyrandomevent == 11:
            $ event01random = True
            $ encounter01random = False
            hide body
            #show card travelguide behind board at cardright with fasterdissolve
            call randomeventsquare01 from _call_randomeventsquare01
        if fiftyrandomevent == 12:
            $ event01random = True
            $ encounter01random = False
            hide body
            #show card travelguide behind board at cardright with fasterdissolve
            call randomeventsquare01 from _call_randomeventsquare01_1
        if fiftyrandomevent == 13:
            if stat_1 >= 33:
                $ encounter01random = True
                $ event01random = False
                call randomencountersquare01 from _call_randomencountersquare01
        if fiftyrandomevent == 14:
            if stat_1 >= 33:
                $ encounter01random = True
                $ event01random = False
                call randomencountersquare01 from _call_randomencountersquare01_1
        if fiftyrandomevent == 15:
            return
In practice, when the game is about to determine if there should be random encounter or event, if event 12 (the fashion show) was played, it will abort the subroutine before it gets to the part where it rolls if there will be random event or encounter this round, and the potential call to place event/encounter squares on the board is made.

As a result, it doesn't prevent only the after-show party event, but all remaining events and encounters.
 
Last edited:

Basilicata

Radioactive Member
Game Developer
Oct 24, 2017
1,314
3,011
But did you play the fashion show event before the end of Summer's storyline, or did Summer's story come to end before it? Because the bug happens in the former scenario. If Summer's encounters line is completed earlier (which is quite possible, depending on RNG and relative length of story chains with Summer's being shorter) you will indeed not notice anything out of order.

I have attached a save from a playthrough with this scenario to make it easier: it's from round 70, right after the fashion show concludes. Summer's storyline played 3 of her events so far. Now see if you get any random encounters in the subsequent 20 rounds? Because they don't trigger for me, even though there's 6 Summer events still left.


That may be the intention but that's just a part of what this snippet actually does. What it does is what i described:
Python:
label randomeventencounter:
//...
    if event01 == 12 and stat_1 <> 90:
        return
//...
    if stat_1 >= 6:
        $ fiftyrandomevent = renpy.random.randint(11,15)
        if fiftyrandomevent == 11:
            $ event01random = True
            $ encounter01random = False
            hide body
            #show card travelguide behind board at cardright with fasterdissolve
            call randomeventsquare01 from _call_randomeventsquare01
        if fiftyrandomevent == 12:
            $ event01random = True
            $ encounter01random = False
            hide body
            #show card travelguide behind board at cardright with fasterdissolve
            call randomeventsquare01 from _call_randomeventsquare01_1
        if fiftyrandomevent == 13:
            if stat_1 >= 33:
                $ encounter01random = True
                $ event01random = False
                call randomencountersquare01 from _call_randomencountersquare01
        if fiftyrandomevent == 14:
            if stat_1 >= 33:
                $ encounter01random = True
                $ event01random = False
                call randomencountersquare01 from _call_randomencountersquare01_1
        if fiftyrandomevent == 15:
            return
In practice, when the game is about to determine if there should be random encounter or event, if event 12 (the fashion show) was played, it will abort the subroutine before it gets to the part where it rolls if there will be random event or encounter this round, and the potential call to place event/encounter squares on the board is made.

As a result, it doesn't prevent only the after-show party event, but all remaining events and encounters.
You're so right. Now I finally get it.
 

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,116
3,399
Pardon my question, there a possibility to play VN games on iPad ?
AFAIK It's (sometimes, depending on apple breaking the build process) technically possible to build renpy games for iOS / ipadOS. however, apple store guidelines do not allow adult content.

It's generally very hard to jailbreak iOS devices now. If you somehow have an old enough device that there are extant jailbreaks, then maybe you might have some luck sideloading a game into a python environment.

Beyond that, there seem to be some tools around. Here's the first search result. I haven't tried myself but:



Note that this method appears to only support 32bit (python 2.x), so games from Renpy v8.x onward will not work with that.
 
4.50 star(s) 45 Votes