
The Original Problem I Faced: Earlier, I made a post on here that detailed my issues in trying to get a dropdown query to output different values in different contexts for the same option (eg, I select "Level 1" from the dropdown, it uses 3 in the first call and 7 in the second call, rather than 3 in both calls). Some spells in Pathfinder 2e don't always follow predictable patterns that make using dropdown queries to output a lot of information difficult with current implementations. The "Solutions": Naturally, my solutions were very technical and annoying for the average user to implement, and while one helpful user gave me existing alternatives, those alternatives were...messy. Very messy. I mean: [[?{spell rank|3,1|5,2|8,3}*5]] resistances, [[{60,60,380}kl?{spell rank}]] long ...Really? This is all we have? Now, I wasn't thinking big enough. My thoughts were only limited to how easy it would be to implement to a developer, with little thought for how the user would have to use this. But now I have a new solution, one that serves a lot more use than just the case I had in mind: The Reference Table. The Solution: We already have something LIKE this in two different ways. We can add tables in markdown, and we have something called a rollable table in the Macros, but neither quite get to the thing I'd hope to accomplish with the Reference Table. Quite simply, a Reference Table is a 2-dimensional table that you can reference in the syntax, and could be part of the Macros tab or attached directly to a character as an Attribute. It would have Rows and Columns, and values for each cell in the table, just like the tables you can plop down...right here, even. (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) (2,2) You give it a name, and then you can view it like any markdown table, or access it like you would a Macro or Attribute, just with a couple extra steps: #{tabl_name||r|c} # Detached/"Macro" Reference Table call, r is row index, c is column index
@{tabl_name||r|c} # Character Reference Table call, character unspecified
@{char|tabl_name||r|c} # Character Reference Table call, character specified For example, say I have the following Reference Table named "sacred_form" attached to my character: 20 10 3 21 8 23 5 Medium 21 15 4 28 15 29 10 Large 22 20 5 35 22 36 15 Huge I can set up a number of inline rolls in the description of a spell like so: AC: [[@{sacred_form||?{Level?|6,0|8,1|10,2}|0}+@{level}]]
Temp HP: [[@{sacred_form||?{Level?}|1}]]
Resistance: [[@{sacred_form||?{Level?}|2}]]
Divine Attack Modifier: +[[@{sacred_form||?{Level?}|3}]]
Divine Damage Bonus: +[[@{sacred_form||?{Level?}|4}]]
Athletics Modifier: +[[@{sacred_form||?{Level?}|5}]]
Reach: [[@{sacred_form||?{Level?}|6}]]ft And it will output the values in the given row (Minus that last one, but that's a different problem with Roll20). It's just that easy. How Is This Useful To Me If I Don't Use Any Of This Fancy Stuff?: Even if you don't use these fancy calls, it's still a table, possibly one you might even be able to roll, if they enable that functionality too. It should hopefully be a bit less finicky than the ones in markdown here, if nothing else. Could This Be Nested For More Awesomeness?: What kind of question is that, of course you can (I hope)! Just put another Reference Table call into the various cells. Here's a detached table named "bouba_kiki" that will call cell (2,2) of "sacred_form" from the character Char Lie if something is both bouba and kiki: 0 0 0 [[@{"Char Lie"|sacred_form||2|2}]] And here's an inline roll that will ask if that something is both bouba and kiki: [[#{bouba_kiki||?{Is Bouba?|False,0|True,1}|?{Is Kiki?|False,0|True,1}}]] Any currently-used syntax is subject to change and is used as a placeholder to illustrate what this feature might look like in practice.