Hello everyone! A few years ago I got some help with a randomizer of mine and it made it into a wonderful little tool to play around with. Link to it here!
I’ve since expanded upon it, and come into a small problem with the more I add to it: unique outputs.
There are, in total, 4 outputs I’m concerned with the most (the types). Is there any way to make it so that the code keeps track of all 4 outputs and insures they are all unique?
I’ve looked over the documentation and I think it’s a touch out of my current skillset. Thank you to anyone who takes the time to help out!
Here’s my solution so far - create a variable that’ll hold the generated types in and then change the code of the
sentence
list to never use any of these already-generated types:// Create a new "takenTypes" array variable to store the already generated types takenTypes = [[]] sentence [takenTypes = [], ""]You find yourself in {a} [d=description.selectOne] [b=biome.selectOne].<br> As the area is [d.singularForm.lowerCase], [td = typesdescription.selectOne, uniqueReturn(td)] type 'mons are rather prolific. That is in addition to the [removeDups(others[b]).selectUnique(2).map(x => uniqueReturn(x)).join(" and ")] types that live in the [b] already. <br>Oddly enough, there also seem to be some [s=removeDups(stragglers).selectOne, uniqueReturn(s)] type 'mons in the area as well. // Returns a new list that does not contain the entries already shown in the output removeDups(list) => return list.selectAll.filter(x => !takenTypes.includes(x)); // Adds the entry into the "takenTypes" variable so they never show up again in the same output uniqueReturn(i) => takenTypes.push(i); return i;