Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account
This post has been closed. You can still view previous posts, but you can't post any new replies.

Fix / revamp Roll20's parser,

1502227651

Edited 1502227829
Hey everyone. I've been running into many issues with the way Roll20 parses macros, rollable tables, and token abilities. As a disclaimer, I am aware of The Aaraon's RecursiveTable - it's immensely powerful, and if you use a lot of Rollable tables, check it out. Let me explain what the problem is. In normal macros (not token abilities), to call another macro, you simply type "#anotherMacro" - unless  there's a dice query involved. With the current API, you can't say: ?{Type of treasure|Horde,#treasureHorde |Individual,#individualTreasure  because you get something like this (that "!rt[Deli..." is the raw text of the #treasureHorde macro, in my case). So you go to the wiki and find that you have to replace " some but not all " problematic characters in the nested macro with their HTML character codes. You can find that  here . From my understanding, you must go into the (in my case) #treasureHorde macro and replace all commas, vertical bars, and end curly brackets with their HTML character codes - it's pretty unsightly and editing the macro once this has been done is a nightmare. However, why is that even the case? Why  do we have to do this? It's a shaky workaround - that work should be done on Roll20's side via recursive function calls or whatever  needs to be done so we, the GMs and players, don't have to mutilate our macros for a chance of success. A secondary problem with the parser are Rollable Tables. As stated before I got into the details, The Aaraon's RecursiveTable is a great  fix for this. Let me explain the problem with Rollable Tables, though. Lets say you're playing D&D 5th Edition and you're looking through the DMG - specifically at the loot tables. You see that there's a table, and lets say it looks something like this So you go and try to put that into a rollable table so you don't have to look up the loot table, roll, etc. every time your party lands on this loot table. You end up with something like this,  Cool, right? Not cool. Neither macros nor inline rolls work. Inline rolls include simply [[2d6]] but could also be rolling on another rollable table, which looks something like [[1t[lootTable]]]. It seems that entries in rollable tables are simply treated as plain text, but they'd be so  much more powerful if they were parsed. Lastly, they're character ability macros. To my knowledge, it's impossible with the current API to query one token ability from another, even with the workaround listed in the Macro section. It's possible for character ability macros to query nested macros , but that's not quite the same thing as character abilities.  There's a slight workaround where you don't need  character abilities to be called one within another - the "parent" ability can subsequently call exclusively macros, but again - why ? Even if that isn't too big an issue, it suffers from the plague of horrendous nesting issues. I think  that's about it. I'd love to hear everyone's feedback or other issues with the parser and I know the Roll20 dev team is super busy all the time and may not be able to get to this. tl;dr - The Roll20 parser doesn't parse everything it should and sometimes when it does, it doesn't do it as smart as it could. EDIT: typos & whatnot.
Dude... couldn't have phrased this any better if I tried. Part of the reason nobody wants to deal with macros, abilities, tables, etc. is this nonsense. +1
1550175559
[Deleted]
Pro
Marketplace Creator
Thanks for the suggestion! After 30 days, Suggestions and Ideas with fewer than 10 votes are closed and the votes are refunded to promote freshness. Your suggestion didn't build the right momentum this time, but feel free to submit it again! We find that the best suggestions describe the problem you are having, and the solution you want. You can learn more about the process of making suggestions on the Roll20 Wiki! More details can be found here .