New Content Mobius Ring - Additional Prefs

Ignoooooose

New member
Some things that would be useful for the new Mobius ring:

1) A _ pref for whether the ring has been "primed"
  1. "Priming" occurs when any combat is run wearing the ring - this includes a free kill, free run, kill, run
  2. We do not yet know if Saberforce, Loss, or groveling gravel count
2) A reset on ascension pref for which paradox-inducing choices have been taken
  1. Choices in the non-combat are always in a fixed order, with the paradox-reducing choices on top - but in order with their respective paradox increasing partners
  2. The choice number is decided by the order presented, and is not fixed
  3. Knowing which paradox-inducing choices have been made ahead of time will let one derive the choice list ahead of time and script a choice preference without a choice adventure script
 
Does mafia record which paraodox choices and the level of paradox currently? Also are we able to automate paradox encounters yet? I want to keep my paradox at a certain level and alternate between increasing and decreasing paradox level at some point. I searched for mobius to see if I could find what is currently recorded and I found these in a revision summary:

_timeCopsFoughtToday _lastMobiusStripTurn _mobiusStripEncounters and also stockCertificateTurn which I guess has something to do with the ring as well.
 
Mafia still needs to recognize the ring enchantments based on paradoxicity. Maybe also keep track of the enchantment of the time cop top hat.
 
We want many things:
  • time cop hat timeposing, init changes,
  • schrodinger's effect steps,
  • mobius ring effect changes,
  • choice support for the big choice, maybe (all the numbers change, so it's like Rufus),
  • preferences for which choice adventures you've paradoxed (non-daily prefs),
  • mixed jelly use preference (and whether it's daily or not),
  • spade consumables,
  • either add clock to fancy chocolate-likes or add a pref
  • "priming", after somebody finishes finding out when that triggers, and whether it's daily
 
Last edited:
I just remembered I have this thing.. is there still no support for the choice adventure? As in, if you try to run scripts wearing it, eventually your going to run into an unsupported choice adventure and then need to go choose manually?
 
I just remembered I have this thing.. is there still no support for the choice adventure? As in, if you try to run scripts wearing it, eventually your going to run into an unsupported choice adventure and then need to go choose manually?
You can do "set choiceAdventure1562 = xxx". You'll have to figure out what number to use for the choice you want.
 
Ok, so there is a way to set a choice, but how do I know what number corresponds to what choice? Does the order change each time, or maybe its easier than I think and if I just choose choice 14 it will alternate between the 14th pair of choices

So.. maybe I could just do...

set choiceAdventure1562 = 14 and it will alternate between these?
 
Here's a sample choice adventure script, based on the one I use:
Code:
void main (int choice, string page)
{
    int option = 0;
    string[int] options = available_choice_options();
    switch (choice) {
        case 1562: // Mobius Ring
                string[] goals = {
                    "Borrow meat from your future", // Gain 1,000 meat
                    "Repay yourself in the past"}; // Lose 10 meat, 50 turns of +30% meat
                foreach i in goals {
                    foreach j in options {
                        if (option == 0 && options[j] == goals[i]) {
                            option = j;
                        }
                    }
                }
                break;
        default:
                return;
    }
    if (option != 0) {
        run_choice(option);
    }
}

To use it, put in your scripts directory, customize the goals array as you see fit (it'll pick the first one that's available, so you want some number of plus paradoxicity choices followed by a single corresponding minus paradoxicity choice), and set choiceAdventureScript to point to it.

(I make no claims that this is optimal, good, or the way it should properly be done.)
 
Last edited:
Here's a sample choice adventure script, based on the one I use:
Code:
void main (int choice, string page)
{
    int option = 0;
    string[int] options = available_choice_options();
    switch (choice) {
        case 1562: // Mobius Ring
                string[] goals = {
                    "Borrow meat from your future", // Gain 1,000 meat
                    "Repay yourself in the past", // Lose 10 meat, 50 turns of +30% meat
                foreach i in goals {
                    foreach j in options {
                        if (option == 0 && options[j] == goals[i]) {
                            option = j;
                        }
                    }
                }
                break;
        default:
                return;
    }
    if (option != 0) {
        run_choice(option);
    }
}

To use it, put in your scripts directory, customize the goals array as you see fit (it'll pick the first one that's available, so you want some number of plus paradoxicity choices followed by a single corresponding minus paradoxicity choice), and set choiceAdventureScript to point to it.

(I make no claims that this is optimal, good, or the way it should properly be done.)

Wow! Thank you. Very fancy and effective scripting. I think what I need to do is go in to into automation>preferences and then set "Choice-Adventure" to point to the script above.. I thought for a second that there was a specific script called choiceAdventureScript I needed to find.. but I think that it just a possible name I could give the script.

I assume that I don't need to set options for every other choice adventure in the script, and it will just use my defaults set separately in mafia for anything I don't map out..
 
There's a choiceAdventureScript preference, so if you saved the script as x.ash, you can do a "set choiceAdventureScript = x.ash". Using the preferences GUI as you describe is an alternative way to do that. The two methods are equivalent.

When you encounter a choice, the specified script will get first dibs, but if it doesn't handle it, it'll still fall back on the usual choice handling.

In addition to the Möbius Ring choice, I currently have my choice adventure script set up to handle the candy cane sword cane options, the bat wings choice, and the Everfull Dart Holster perks, since those are cases where the available options are dynamic.

Also, I just noticed that, in changing the script to be an example instead of just having my own preferences, I messed up the closing of the array. I've edited my post above to fix this.
 
Back
Top