One of the quirks in Perchance is that [listname]
isn't a reference to the variable, meaning it doesn't return the whole list, it would only return a random item from that list.
Thus, on the line output.selectOne.selectUnique(1,2,3)
here is what happens:
output.selectOne
would select an item from theoutput
. For example, it would return[Object1]
since the dropdown is set to 'Zero'.- Doing
.selectUnique(1,2,3)
would randomize the number of selection, however since the returned item is[Object1]
and notObject1
itself, it would not return unique values since you only have[Object1]
as the item and not allGood, hood, Bood
.
Best thing you could do is to create a variable and set that variable to the list to be used like so:
output
[list = Object1] ^[Level == "Zero"]
[list = Object2] ^[Level == "One"]
[list = Object3] ^[Level == "Two"]
GroupSelectPrompt
You find [pack] [output.evaluateItem, list.selectUnique(1,2,3).joinItems(" and ")]
We use output.evaluateItem
to 'run' the function in the square bracket on the selected item, which would set the value of list
to the actual list that we need. Then we use the list
and use .selectUnique
to it to get the unique items.
Another way is to use the random-select-plugin like so:
GroupSelectPrompt
You find [pack] [select(Object1, Object2, Object3, null, Level == "Zero", Level == "One", Level == "Two").selectUnique(1,2,3).joinItems(" and ")]