Open Javinat0r opened 1 year ago
I think there should either be an option for how many starting characters you'll have, or the character choices should have none as an option, but not both.
Even in that case, as the code is written now, if character count is removed and all slots are randomized selections and the random selections are:
StartingCharacter1: Random
StartingCharacter2: None
StartingCharacter3: Edgar
StartingCharacter4: Celes
then it will break generation because assignment sequentially runs through a list and when it checks for a character named 'None' it hangs.
This would also happen if the slots were manually assigned as above.
For what it's worth, I'm neutral on the character count/character selection options. Ideally the website would adjust to your selections (ie. select number of characters and only that number of dropdowns appear), but I'm unfamiliar with the AP website template and its capabilities.
Until AP implements conditional options, you're gonna see all four starting character selections in the spoiler log all the time. This isn't an issue unique to FF6: you'll still get Triforce pieces needed in OOT even if not doing Triforce Hunt, to my knowledge.
The reasoning to having the number of starting characters as an option is so that can be randomzied nicely. If I didn't have that, you'd have to do some heavy YAML lifting just to have an even chance between two and three starting characters. IMO a more awkward looking spoiler log is worth that convenience.
What is desired to be the controlling variable here? If a user enters 4 starting characters, but selects Edgar, Mog, None, None (or the randomized options selects this configuration), is it preferred to adjust the number of starting characters to match reality (ie. 2)? Or is the desire to randomize the None slots to be characters?
I'm nearly done fixing this issue (the generation issue, not the spoiler log issue, although that will also end up being fixed), but I need to know this direction first before publishing.
What happened?
Generating a game using WebHost and randomizing (ie. clicking the die) next to player selection and random number of starting characters will generate 4 random options for starting character and then will choose from that based on number of characters. This will generate spoiler logs which show things like this:
Minor issue, but logic could be written in /worlds/ff6wc/init.py to clean this up by making any Starting Character variables for a player beyond the selected number of starting characters to None.
Also, generating as described above can randomly select 'None' as an option for characters beyond the first. If 'None' is selected for Starting Character 2 for example, and the number of starting characters is greater than one, generation will freeze/fail. Need logic to deal with 'None' being randomly selected for StartingCharacters 2 - 4 depending on how many Starting Characters there are.
What were the expected results?
Successful generation and a (more) accurate spoiler log.
Software
Local generation