[Resolved] Help with *check_achievements?

I’m fiddling around with a new game+ system and I thought I had the *check_achievements command down, but for some reason it’s being funky for me.

So upon finishing the game for the first time (or really any time thereafter), players unlock an achievement:

*achievement shepherd hidden 1 Shepherd of Haven
    hidden
    Completed the game!

On any subsequent playthroughs, the game should check for that achievement to unlock a new game+ mode:

*check_achievements 
*if (choice_achieved_shepherd)
    It looks like you've completed your journey as a Shepherd once already. Would you like to start your adventure again with added power?
    *choice
        #Yes, I would like to bring a part of my past journey into my new one.
            *set newgameplus true
            *goto newgameplus
        #No, I would prefer to start fresh. 
            *goto beginning

The problem is, this dialogue pops up no matter what, whether the achievement has actually been achieved or not–even though it shouldn’t be possible since there are no opportunities to unlock the achievement in the game yet. Am I missing something?

I’m using CS-IDE and did use the console to *achieve shepherd for testing, but I’ve since restarted/exited the program, so that shouldn’t be lingering. (?) I’m also using implicit_control_flow, but having an *else or not doesn’t make a difference. Deleting the achievement from startup altogether just results in an blank screen (but interestingly not an error). What am I doing wrong?

Edit: Nope, figured it out, turns out CS-IDE remembers achievements you’ve set even after you’ve quit the program/restarted the game. :slight_smile: I’m actually not sure how to unachieve something once you’ve set it in the console, buuuuut never mind, problem solved!

I’ll tag @CJW in case he didn’t aware of this, yet.

1 Like