Keeping track of player choices

I’m looking for a quick way to keep track of the various choices made by the player. Something which can be set with a simple “The abandon friend path is now A” with a corresponding A B C variable. Something which can be checked at any moment of the game “[If abandon friend path is A]”. Maybe even some kind of debug code which allows for

or even a “Change abandon friend to B”

I’m kind of rushing to write this out so sry if Its not coming out quite right.

You’re looking for values that vary - the same thing that most coders call ‘global variables.’

The simplest way to do this is to make a truth-state that varies, and declare what state it starts out in:

Abandonment is a truth-state that varies. Abandonment is false.

For values that are more than straightforward yes/no states, you can do various things. Most straightforwardly, you could just make a number variable that varies, and remember what each number represents:

Plot-decision-1 is a number that varies. Plot-decision-1 is 0.
But with a little more work you can set up something a bit more intuitive:

plot-value is a kind of value. The plot-values are betrayal, abandonment and undecided.

plot-decision-1 is a plot-value that varies. plot-decision-1 is undecided.

is there a way for the separate plot values to have some text of their own? say something like the plot values are cha chb and chc. and I want the “outcome” of cha to be “sleeps in shed” and the “outcome” of chb to be “doesnt sleep in shed.”

thx by the way, i could have sworn I tried defining kinds of values before with no success.

Yes, you can assign the plot values text-valued properties:

A plot value has some text called outcome. The outcome of cha is "sleeps in shed". The outcome of chb is "doesn't sleep in shed".

It might be simpler just to call your values “sleeps in shed” and “doesn’t sleep in shed” instead of giving them funny names like “cha” and “chb”.