From the error, it seems to think that pottery is -10, which should be impossible.
Can you try rewriting the pottery in rand?
it may be that it is not written properly.
@Lucid what is the value of pottery? in second case
The issue may be in the value of pottery variable prior to *if check. Had a similar error once: text variable’s length was interpreted as 0 symbols, even though the line was under condition *if length(variable)>2. Purely because the variable was created with value “” and later changed only through text input (without *set).
I don’t believe pottery ever gets below 0. I have checks in place to catch it if it does, just in case. But, if the check RIGHT BEFORE the *rand doesn’t catch it, then I guess none of them will.
Unlike randomtest quicktest doesn’t actually execute your code properly, instead it does more “exploratory” testing. This can lead to some annoying false positives, like complaining about things that would not actually happen in a real run through. You can usually workaround this by adding missing conditionals, or changing the initial value of your variables.