
A feature I'd like to see is nest-able macros without api scripting. Example is currently you can't nest a bracketed item in a bracket item. as a free user Macro:(Does not work as is) ?{Choose an Attack | Balance,/em balances the shields with a computers check of [[1d20cs>20 +@{Reina|Computers} +@{Reina|ShipComputer} +?{Mod|0} ]] | Scan Sensors,/em scans for ship information with a computers check of [[1d20cs>20 +@{Reina|Computers} +@{Reina|ShipComputer} +?{Mod|0} ]] | Target Systems,/em targets the ship's ?{System |core|engines|life support|sensors|weapons} with a computers check of [[1d20cs>20 +@{Reina|Computers} +@{Reina|ShipComputer} +?{Mod|0} ]] | Glide,/em moves the star-ship at half its normal speed. The star-ship can take turns during this movement but the star-ship's distance between turns increases by 2. Add @{Reina|Pilot} to the star-ship's AC and TL for this round with a pilot override check of [[1d20cs>20 +@{Reina|Pilot} +@{Reina|ShipPilot} + ?{Mod|0} ]] | Snap Shot,/em fires one of your star-ship's weapons with gunnery override check of [[1d20cs>20 + {@{Reina|Pilot},@{Reina|BAB}}kh1 - 2 + ?{Mod|0}]] } The reason it does not work is because each element --> ------------------------------------------ ?{List | ect, 1 | ect2, 2} @{Character|Atribute} ?{SimpleChoice |1} {@{Character|Attribute},@{Character|Attribute,[[1d6+12]]}}kh1 @{selected|token_name} @{target|token_name} %{selected|Attribute} ------------------------------------------ <-- looks for a close "bracket", "commas", "|", ect in the whole line, not in logically mathematical method. I understand that this would require an overhaul of the api that reads macros. This is known to happen with %, @, ?, }, {, commas, #, and |. There is 2 workarounds already; 1) Replace all the elements markers as Unicode, so it reads the whole line before processing the element. This option may disappear with future changes, but does exist as of this posting. Example turn line one into line two, ------------------------------------------- /em @{selected|token_name} attacks @{target|token_name} with his/her ?{List | Melee, [[ 1d20 + @{Character|Attribute} + ?{Mod|0}]] | Ranged, [[ 1d20 + @{Character|Attribute} + ?{Mod|0}]]} /em @{selected|token_name} attacks @{target|token_name} with his/her ?{List | Melee, [[ 1d20 + &# 64;&# 123;Character&# 124;Attribute&# 125; + &# 63;&# 123;Mod&# 124;0&# 125;]] | Ranged, [[ 1d20 + &# 64;&# 123;Character&# 124;Attribute&# 125; + &# 63;&# 123;Mod&# 124;0&# 125;]]} ------------------------------------------- of course removing the extra space between each "&#" and "xxx;"(Unicode number), because my example would be auto replaced if I left the Unicode as is without the space. But this is very cumbersome plus if you open and re-save the macro all Unicode is replaced with its normal character and again goes back to the system reading operation out of order. 2) The other option is writing your own API script, which not every user is capable of. Due to either finance or ability. These workarounds do work but, My Suggestion is to rework macro processing to include order of operations in a nested situation, whether that nesting comes from a single macro with nested operations or more than one macro that cause a nested operation order error when one macro calls another. On the architecture programming side of it, I can't offer more help in implementing a new macro processing because I don't know your internal code, and rightly so. So I Drop It In the Suggestion Pool, and hope it floats..... Feel free community, I'm not offended at my own stupidity. Tell me what you think about my suggestion.