
Hi and sorry in advance for sheit formatting, being inconsistent with my past and present and this being a trick and investigation into reusing rolls results, but i wanted to share it somewhere and this felt like the correct place since the megathread about reusing rolls is now locked. So I started yesterday evening trying to do some weird stuff with boolean evaluations in roll20 and then I went on a tangent and tried to use the boolean expression with reusing rolls, this is what i have found and being a retelling of most of it today after having a nights rest. My first test failed with this comment : "Can't eval boolean operation, but $[[2]] is turned into normal text." Roll: $[[0.computed]] $[[1.computed]] $[[2]] [[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]] Result: And after trying a bit more and reading about Computed rolls and order independence in the reusing roll wikipage i tried again, and ended up with this comment: "Can access boolean if i try to access $[[3]]" Roll: $[[0.computed]] $[[1.computed]] $[[2.computed]] $[[3.computed]] [[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]] Result: With the following comment being: "What if i tried to not use .computed?" Roll: $[[3]] [[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]] Result: And the next comment in my notes being: "Okey so this works, can i add multiplication to it?" With a no as the result Roll: [[$[[3]]*2]] [[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]] Result: But not being content with that I started to brute force some changes to the roll and after some retries and just by sheer luck and stupidity added an extra pair of [] around the boolean evaluation. Roll: [[$[[3]]*2]] [[[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]]] Result roll: And this ended with a comment: Oh this works, does it work with attributes? Roll: [[$[[3]]*2+@{Orion|CritBon}]] [[[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]]] Result: And almost calling it here a new thought popped into my head: But what if I want to try to access the internal [[1d10]] and [[2d6]] rolls? Roll: [[$[[3]]*2]] $[[2]] $[[1]] $[[0]] [[[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]]] Without computed: And the next comment from me being: It breaks apart… so how do i fix this? After trying a couple of times with adding more [] pairs I found that adding .computed was the only way to fix it for me (there might be other ways to fix this). Roll: [[$[[3]]*4]] $[[2.computed]] $[[1.computed]] $[[0.computed]] [[[{ 1d1+[[ [[1d10]] + [[2d6]] ]]}>3]]] Result: After this I found myself commenting this: So can this do more? Kinda yeah, me trying to reuse the computed value twice resulted in only in the first $[[2]] being rerolled Roll:[[$[[2]]d2]] [[$[[2]]d1+1 ]] [[[ [[1d10]] + [[2d6]] ]]] And then building on that information i tried some other stuff which are not documented at all… but what is documentation is this comment and the three rolls below: Oh it can build ladders :O [[1d$[[2]] + 10 +9 ]] [[1d$[[1]] + 5 + 6 ]] [[1d$[[0]] + 1 + 2 ]] [[[ [[1d10]] + [[2d6]] ]]] [[1d$[[2]] + 10 +9 ]] [[1d$[[1]] + 5 + 6 ]] [[[1d$[[0]] + 1 + 2 ]]] [[[ [[1d10]] + [[2d6]] ]]] [[1d$[[2]] + 10 +9 ]] [[[1d$[[1]] + 5 + 6 ]]] [[[1d$[[0]] + 1 + 2 ]]] [[[ [[1d10]] + [[2d6]] ]]] So i checked them out this morning and noted that they contain different amount of [] paris and after rerunning them this is what happened So… first row in the pictures show that $[[1]] value is the result of [[1d$[[0]] + 1 + 2 ]] and are not used in the next roll and $[[2]] is using the 1d10 result after hovering over the $[[2]] complete roll. Second row has an added pair of [] around the $[[0]] roll and now makes the $[[1]] use the result form [[[1d$[[0]] + 1 + 2 ]]] for a new roll that $[[2]] tries to use and for some reason [[2d6]] result is in plain text. And the last row has another pair of [] around the $[[1]] and $[[2]] now uses the $[[1]] result and rolls, but 2d6 roll is still plain text. So the amount of [] seems to matter here. But why is the 2d6 turned into plain text then? What I could find before writing this is that depending on what $[[]] is accessing it changes text print. If $[[0]] (1d10) is accessed then the roll of 2d6 is turned into plain text [[$[[0]]d1 ]] [[[ [[1d10]] + [[2d6]] ]]] If $[[1]] (2d6) is accessed then the roll of 1d10 is turned into plain text [[$[[1]]d1 ]] [[[ [[1d10]] + [[2d6]] ]]] f $[[2]] (sum of 2d6 + 1d10) is accessed then it works and an extra pair or [] is printed [[$[[2]]d1 ]] [[[ [[1d10]] + [[2d6]] ]]] But I’m still not any smarter, thanks to not understanding what i happening under the hood in roll20 and wanting to do other stuff I instead tried to use .computed as a value in a calculation like since that was nagging me that i didn’t try it yesterday or at least didn’t keep any notes. So what happens with .computed… yeah it does not work [[$[[0.computed]]d1 + 10 +9 ]] [[[ [[1d10]] + [[2d6]] ]]] Everything except $[[0.computed]] is now plain text, but the total of 1d10 and 2d6 are calculated. And yes i tried to just change the 0 to a 1 and 2 and same stuff just using the other values. Also stuff breaks if the order is changed :(. So the roll below works. [[$[[2]]d1 + 10 +9 ]] [[$[[0]]d1 + 100 ]] [[[ [[1d10]] + [[2d6]] ]]] But moving the $[[]] access to the end of the string doesn’t work, so order is important here. [[[ [[1d10]] + [[2d6]] ]]] [[$[[2]]d1 + 10 +9 ]] [[$[[0]]d1 + 100 ]] TLDR: The amount of [] matter to reuse a computed roll in another roll and $[[]] value seems to be only able to reuse once :(.