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

Prompt macros aren't working anymore!

1634813041
Manny L.
Pro
Marketplace Creator
Most of the macros in my DnD 5E campaign are also still not working. For example, I use the Token Action Maker api script to create the token actions which includes buttons for Save and Check: Now, when you press Save it comes up with the following: and check is similar: Do the API scripts require updates now, or will this also be addressed in the rollback?
1634815424

Edited 1634815821
GiGs
Pro
Sheet Author
API Scripter
Peacekeeper B said: I'm curious if this means I will eventually have to rewrite most of my macros to fit into a new scheme. Like is this rollback temporary or is it coming back? I already have to use a bunch of API and a custom.sheet just to make running Castles and Crusades worthwhile on roll20 but if I have to spend days or weeks rewriting macros then it might be time to relook at Fantasy Grounds. Do will [button](!
#macro) be obsolete and if so what should it look like? Thats a good question. I know the intention is to get rid of the need for html substitutions in nested queries, but it does raise the question whether some hacks will be rendered unusuable (and [button](!
#macro) is a hack - it wasnt intended). Some of those 'hacks' have become standard features, and it will be a problem if they aren't usable any more. As an aside, this is why I urged caution several times when the Reusing Rolls method was discovered - it seems like a bug that was never meant to be exposed to users, so there's always a danger that the devs will fix that bug and stop it working.
Hello, In approx 5 years and over 3K hours on Roll20 this is the first time I am not only angry but also I was humiliated in the new DOTMM game I started running last night.  I am not a programmer or into code or anything but one of the players character's became stunned and incapacitated in the game last night and I clicked on the condition macro I had set up that had been working for months on another game and instead of getting a drop down menu the chat was full of EVERY condition in D&D 5e!!! The players actually laughed. They are decent folk so I tried not to take it personally.  The 'helpful' macros thing that was posted by ROLL20 a few months ago is now a complete farce. However even though the conditions and various other 'in bar' macros are not working the POTION ones are in the token macros.  I have tried to read through possible solutions but due to my earlier comment about not being a tech sort, I have no idea what people are talking about regarding fixes and parsing and other jargon.  Can anyone help me please?  I am really really really angry and I am not an angry person! 
1634816180

Edited 1634816453
GiGs
Pro
Sheet Author
API Scripter
Garry Miller said: Can anyone help me please? It seems like there are problems with the update, so the following might not work. But its worth a try. The update is intended to remove the need for html entities when nesting queries. You should be able to nest queries inside queries without them. One way to test if the update is working properly is to do the opposite of standard advice: make sure you have a safe copy of the macro, then create a new macro, paste your macro text into it. Save that macro, close it, and then reopen it. That should get rid of the html entities and you can test if it now works. If the update is working as intended, this should make your macros work again.
1634816440
GiGs
Pro
Sheet Author
API Scripter
Note to the devs: Whether or not the update was successful, you should have created a new thread for everyone, highlighting the changes expected. This was such a big change, used by so many people, that roll20 devs should have done a much better job of communicating the changes.
1634817834
Andreas J.
Forum Champion
Sheet Author
Translator
GiGs said: Note to the devs: Whether or not the update was successful, you should have created a new thread for everyone, highlighting the changes expected. This was such a big change, used by so many people, that roll20 devs should have done a much better job of communicating the changes. Yeah, one day later and there isn't even a Release Notes thread mentioning an update happened.
Garry Miller said: I clicked on the condition macro I had set up that had been working for months on another game and instead of getting a drop down menu the chat was full of EVERY condition in D&D 5e!!! I have similar macro and I too encountered this problem yesterday when I used this macro. The problem is that for any given condition, the output includes multiple lines to facilitate easier reading (as opposed to long, illegible one line text). And the bug in question prevents use of separate lines in the output. Currently, this works but makes output a mess and writing a horror: ?{Select Condition|Blinded,**Blinded**Effects1 Effects2|Charmed,**Charmed**Effect1 Effects2} This does not work, but it used to: ?{Select Condition|Blinded,**Blinded** Effects1 Effects2|Charmed,**Charmed** Effect1 Effects2}
it has been fixed?  because overall my macros...  that would be a pain! 
Can someone fix the apply damage script that works in conjunction with group check?  I believe its failing cause its also using html escapes and its an actual API script not a macro.  
Why can’t the upgrade ,ha ha , be rolled back and then fixed in development before being applied this is the 2nd upgrade that has push the program backwards. I’m still awaiting the fix for right clicking on iPads from last month . Come on developers sort this out . This new upgrade as made the program totally unusable 
The problem here isn't even really the bug, its literally the lack of publication, lack of communication, lack of support.  For christ sake, respond to us and tell us if we need to rewrite our pages of macros for the new system or keep them the way they are, cause you know what will drive me to foundry faster?  Making me rewrite stuff then reverting the code hours after I finish!  Answer the damned thread.  Tiktok tiktok the seconds to more lost pro subscriptions.  
So do we remove the html and things should work or is it still broken? My group mentioned macro issues like an hour ago.
Kage said: So do we remove the html and things should work or is it still broken? My group mentioned macro issues like an hour ago. I have been able to make my macros work by removing html. Try it out, but save a copy, just in case.
What even is the html part of it? For us who are not fluent in tech!
I mentioned it to the group, I get to spend a few hours going through macros when I get home I guess. Antonio S. said: I have been able to make my macros work by removing html. Try it out, but save a copy, just in case.
Kage said: I mentioned it to the group, I get to spend a few hours going through macros when I get home I guess. Antonio S. said: I have been able to make my macros work by removing html. Try it out, but save a copy, just in case. That’s ok if you can edit macros if not been able to do this on my iPad since right click option stopped working. 
Garry Miller said: What even is the html part of it? For us who are not fluent in tech! In nested inquiries you originally had to replace the following symbols with thier html code equivalents, now you can just use the symbols. , =  , } = } | =  |
Antonio S. said: Kage said: So do we remove the html and things should work or is it still broken? My group mentioned macro issues like an hour ago. I have been able to make my macros work by removing html. Try it out, but save a copy, just in case. All of my problems I believe are related to linebreaks, for example above, the "apply damage" script that works with group check api is running 2 api commands in 1 macro, I believe its failing because the !apply line is suppose to have a linebreak but their new system is failing to register linebreaks.  Same goes for my torch api macro, its doing a !flicker command, then a /emote, then a !tokenmod command and when I try to fire the macros they just do not work at all, seemingly failing due to line breaks.  Should we be escaping linebreaks?  How do we fix this?  Should we fix this?
THANK YOU KAGE however...................see below........ Kage said: Garry Miller said: What even is the html part of it? For us who are not fluent in tech! In nested inquiries you originally had to replace the following symbols with thier html code equivalents, now you can just use the symbols. , =  , } = } | =  | This is the Conditions macro that Roll20 put out a few months ago. This doesn't look like it has any nested inquiries and it doesn't work..... &{template:desc} {{desc= ?{Condition| Blinded, **Blinded** A blinded creature can't see and automatically fails any ability check that requires sight. Attack Rolls against the creature have advantage and the creature's attack rolls have disadvantage.| Charmed, **Charmed** A charmed creature can't attack the charmer or target the charmer with harmful abilities or magical effects. The charmer has advantage on any ability check to interact socially with the creature.| Deafened, **Deafened** A deafened creature can't hear and automatically fails any ability check that requires hearing.| Exhaustion, **Exhaustion** Some special abilities and Environmental Hazards such as starvation and the long-term effects of freezing or scorching temperatures can lead to a special condition called exhaustion. Exhaustion is measured in six levels. An effect can give a creature one or more levels of exhaustion as specified in the effect's description. *Level 1* Disadvantage on ability checks *Level 2* Speed halved *Level 3* Disadvantage on attack rolls and saving throws *Level 4* Hit point maximum halved *Level 5* Speed reduced to 0 *Level 6* Death If an already exhausted creature suffers another effect that causes exhaustion its current level of exhaustion increases by the amount specified in the effect's description. A creature suffers the effect of its current level of exhaustion as well as all lower levels. For example a creature suffering level 2 exhaustion has its speed halved and has disadvantage on ability checks. An effect that removes exhaustion reduces its level as specified in the effect's description with all exhaustion effects ending if a creature's exhaustion level is reduced below 1. Finishing a long rest reduces a creature's exhaustion level by 1 provided that the creature has also ingested some food and drink. Also being raised from the dead reduces a creature's exhaustion level by 1.| Frightened, **Frightened** A frightened creature has disadvantage on ability checks and attack rolls while the source of its fear is within line of sight. The creature can't willingly move closer to the source of its fear.| Grappled, **Grappled** A grappled creature's speed becomes 0   and it can't benefit from any bonus to its speed. The condition ends if the grappler is incapacitated (see the condition). The condition also ends if an effect removes the grappled creature from the reach of the grappler or grappling effect   such as when a creature is hurled away by the *thunderwave* spell.| Incapacitated, **Incapacitated** An incapacitated creature can’t take actions or reactions.| Invisible, **Invisible** An invisible creature is impossible to see without the aid of magic or a special sense. For the purpose of hiding the creature is heavily obscured. The creature's location can be detected by any noise it makes or any tracks it leaves. Attack rolls against the creature have disadvantage and the creature's attack rolls have advantage.| Paralyzed, **Paralyzed** A paralyzed creature is incapacitated (see the condition) and can't move or speak. The creature automatically fails strength and dexterity saving throws. Attack rolls against the creature have advantage. Any attack that hits the creature is a critical hit if the attacker is within 5 feet of the creature.| Petrified, **Petrified** A petrified creature is transformed along with any nonmagical object it is wearing or carrying into a solid inanimate substance (usually stone). Its weight increases by a factor of ten and it ceases aging. The creature is incapacitated (see the condition) can't move or speak and is unaware of its surroundings. Attack rolls against the creature have advantage. The creature automatically fails strength and dexterity saving throws. The creature has resistance to all damage. The creature is immune to poison and disease although a poison or disease already in its system is suspended not neutralized.| Poisoned, **Poisoned** A poisoned creature has disadvantage on attack rolls and ability checks.| Prone, **Prone** A prone creature's only movement option is to crawl unless it stands up and thereby ends the condition. The creature has disadvantage on attack rolls. An attack roll against the creature has advantage if the attacker is within 5 feet of the creature. Otherwise the attack roll has disadvantage.| Restrained, **Restrained** A restrained creature's speed becomes 0 and it can't benefit from any bonus to its speed. Attack rolls against the creature have advantage and the creature's attack rolls have disadvantage. The creature has disadvantage on dexterity saving throws.| Stunned, **Stunned** A stunned creature is incapacitated (see the condition) can't move and can speak only falteringly. The creature automatically fails atrength and dexterity saving throws. Attack Rolls against the creature have advantage.| Unconscious, **Unconscious** An unconscious creature is incapacitated (see the condition) can't move or speak and is unaware of its surroundings. The creature drops whatever it's holding and falls prone. The creature automatically fails strength and dexterity saving throws. Attack rolls against the creature have advantage. Any attack that hits the creature is a critical hit if the attacker is within 5 feet of the creature.}}}
Your macro has linebreaks in a query.  That is the problem, same problem I have.  They need to answer and they need to fix this, Its breaking tons of content all over the place.  
I can confirm that the condition macro mentioned by Gary Miller does not work at all. I used it as provided by roll20. Now it does not querry anything, it just puts out everything:
DM Eddie said: The problem here isn't even really the bug, its literally the lack of publication, lack of communication, lack of support.&nbsp; For christ sake, respond to us and tell us if we need to rewrite our pages of macros for the new system or keep them the way they are, cause you know what will drive me to foundry faster?&nbsp; Making me rewrite stuff then reverting the code hours after I finish!&nbsp; Answer the damned thread.&nbsp; Tiktok tiktok the seconds to more lost pro subscriptions.&nbsp;&nbsp; Matt &nbsp;said: New update has broken nested prompts and essentially all dropdowns as part of a "bug fix," with absolutely no instructions on how it should now be implemented. Knowing roll20, expect it will never be fixed. Might want to change your macros to a more simple form. <a href="https://help.roll20.net/hc/en-us/articles/360037772613-Change-Log#october-20-2021-0-1" rel="nofollow">https://help.roll20.net/hc/en-us/articles/360037772613-Change-Log#october-20-2021-0-1</a> 👁👄👁
I use a couple of macros that someone else did and I copied and pasted into my games, they are for drop down menus for skill checks and saves for D&amp;D 5E and I'm using the standard Roll20 D&amp;D5E sheet, hopefully people will know the macros I mean, they are far beyond anything I can manage myself.&nbsp; I've just tested them out in a game and both appear broken, they query as to whether the roll is at advantage or not, but they don't ask which save or skill it is and what comes up in chat is a mess. Just adding another comment to the mix really.
1634831250

Edited 1634831981
Juniper L. said: Hi folks, we SHOULD be good to go now, we rolled back a small subset of changes made earlier today. Nothing has been fixed! What you "Juniper L. Roll20 Team" should be teaching people how to fixe it! Like this: Before i had this simple macro in several lines: ?{Dice| D20, Rolled a D20 =[[1d20]]| D12, Rolled a D12 =[[1d12]]| D10, Rolled a D10 =[[1d10]]| D8, Rolled a D8 =[[1d8]]| D6, Rolled a D6 =[[1d6]]| D4, Rolled a D4 =[[1d4]]| D100, Rolled a D100 =[[1d100]]} all you have to do is to turn that macro into a single line! Like this: ?{Dice| D20, Rolled a D20 =[[1d20]]| D12, Rolled a D12 =[[1d12]]| D10, Rolled a D10 =[[1d10]]| D8, Rolled a D8 =[[1d8]]| D6, Rolled a D6 =[[1d6]]| D4, Rolled a D4 =[[1d4]]| D100, Rolled a D100 =[[1d100]]} We users have paid for a service that we've been using for very different amounts of time, the company only has to maintain the same product and if there are any new updates ask the client (us), if we would like to try it! Please don't do this ever again!
1634831869
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
The update was announced and on dev for over a month. Very few folks responded, and the bug that you document above was reported (and seemingly overlooked). Rather than require everyone to completely rebuild every affected macro, the update should account for them. Either backward compatibility, or a conversion tool, if macros are no longer backward compatible.
Oenanthe said: I use a couple of macros that someone else did and I copied and pasted into my games, they are for drop down menus for skill checks and saves for D&amp;D 5E and I'm using the standard Roll20 D&amp;D5E sheet, hopefully people will know the macros I mean, they are far beyond anything I can manage myself.&nbsp; I've just tested them out in a game and both appear broken, they query as to whether the roll is at advantage or not, but they don't ask which save or skill it is and what comes up in chat is a mess. Just adding another comment to the mix really. Skill Check @{selected|wtype}&amp;{template:default} {{name=Skill Check}} {{?{Skill| Acrobatics, Acrobatics =[[@{selected|d20}+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_acrobatics}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_acrobatics}*@{selected|npc})]]]]| Animal Handling, Animal Handling =[[@{selected|d20}+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_animal_handling}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_animal_handling}*@{selected|npc})]]]]| Arcana, Arcana=[[@{selected|d20}+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_arcana}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_arcana}*@{selected|npc})]]]]| Athletics, Athletics=[[@{selected|d20}+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_athletics}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_athletics}*@{selected|npc})]]]]| Decpetion, Decpetion=[[@{selected|d20}+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_deception}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_deception}*@{selected|npc})]]]]| History, History=[[@{selected|d20}+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_history}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_history}*@{selected|npc})]]]]| Insight, Insight=[[@{selected|d20}+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_insight}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_insight}*@{selected|npc})]]]]| Intimidation, Intimidation=[[@{selected|d20}+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_intimidation}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_intimidation}*@{selected|npc})]]]]| Investigation, Investigation=[[@{selected|d20}+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_investigation}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_investigation}*@{selected|npc})]]]]| Medicine, Medicine=[[@{selected|d20}+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_medicine}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_medicine}*@{selected|npc})]]]]| Nature, Nature=[[@{selected|d20}+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_nature}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_nature}*@{selected|npc})]]]]| Perception, Perception=[[@{selected|d20}+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_perception}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_perception}*@{selected|npc})]]]]| Performance, Performance=[[@{selected|d20}+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_performance}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_performance}*@{selected|npc})]]]]| Persuasion, Persuasion=[[@{selected|d20}+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_persuasion}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_persuasion}*@{selected|npc})]]]]| Religion, Religion=[[@{selected|d20}+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_religion}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_religion}*@{selected|npc})]]]]| Sleight of Hand, Sleight of Hand=[[@{selected|d20}+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]]]]| Stealth, Stealth=[[@{selected|d20}+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_stealth}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_stealth}*@{selected|npc})]]]]| Survival, Survival=[[@{selected|d20}+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_survival}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_survival}*@{selected|npc})]]]]}}} Saving Throws @{selected|wtype}&amp;{template:default} {{name=Saving Throw for @{selected|character_name}}} {{?{Saving Throw| Strength, Strength= [[@{selected|d20}+[[(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_str_save}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_str_save}*@{selected|npc})]]]]| Dexterity, Dexterity= [[@{selected|d20}+[[(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_dex_save}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_dex_save}*@{selected|npc})]]]]| Constitution, Constitution= [[@{selected|d20}+[[(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_con_save}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_con_save}*@{selected|npc})]]]]| Intelligence, Intelligence= [[@{selected|d20}+[[(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_int_save}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_int_save}*@{selected|npc})]]]]| Wisdom, Wisdom= [[@{selected|d20}+[[(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_wis_save}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_wis_save}*@{selected|npc})]]]]| Charisma, Charisma= [[@{selected|d20}+[[(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_cha_save}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_cha_save}*@{selected|npc})]]]]}}}
keithcurtis said: Rather than require everyone to completely rebuild every affected macro, the update should account for them. Either backward compatibility, or a conversion tool, if macros are no longer backward compatible. I second that! I strongly hope (and I believe) they will ensure backward comaptibility. Being forced to put every macro in one line is not an option. They would become unreadable. It is hard enough with the syntax we have. Having to put everything in one line would be a nightmare.
The same thing happened to me last night. I couldn't see the problem during gameplay so I gave up a used the slow adv. dice roller. This morning I found if I just typed the exact same lines above the old and then deleted the extra lines at the end as was well. Weird
I'm LIVID. I have a characters of a 2-3 year long campaigns with custom drop-down macros with queries for their ENTIRE spellbook... and now it's completely useless.&nbsp; I literally spent years tweaking, adding, adjusting, improving, and adding onto tthis set of macros to make the perfect 'Grimoire' ... and now it's broken. I wrote <a href="https://wiki.roll20.net/Macros/Pathfinder_Examples" rel="nofollow">https://wiki.roll20.net/Macros/Pathfinder_Examples</a> years ago, and it's held up right until this moment.&nbsp; I'm beyond livid.&nbsp; This is seriously the kind of poor development practices that are going to make people leave the platform, because it's definitely not the first time. It's absolutely preposterous that a subscription business would roll out such a significant change in a seeming vaccum. Only a handful of people are on your Dev servers;&nbsp; the vast majority of your userbase isn't going to see notices there.&nbsp; Even if everyone were to see a notice, how is it ever OK to invalidate a method of coding that's been in use for years?&nbsp; HTML replacements have been needed and used literally for years... and the devs decided it was a good idea to just not use them anymore?!?! One of the biggest obstacles to switching to a different platform like Foundry or Fantasy Grounds is having to port over automations into a new system.&nbsp; If we have to re-write everything as 'the fix' to this problem, we might as well just bite the bullet and migrate anyway. This is just ONE of the simpler macros in question. &amp;{template:pf_spell} {{color=@{rolltemplate_color}}} {{name=?{Level 3 Spells | Aqueous Orb, Aqueous Orb &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/a/aqueous-orb&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/a/aqueous-orb&amp;#125;&amp;#125</a>; {{subtitle=*10' Sphere*&amp;#125;&amp;#125; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]]&amp;#125;&amp;#125;{{saving_throw=Reflex(neg)&amp;#125;&amp;#125; {{dc=*[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-CONJ}[SF] ]]*&amp;#125;&amp;#125; {{1st Save=[[2d6]] Non-Lethal&amp;#125;&amp;#125 {{description=(*If 1st save failed*) Make a ** 2nd Save** vs.Engulf. Up to [[4]] medium creatures Engulfed. Take ``[[2d6]]`` Non-Lethal at **start of their turn.** Have ***[Cover](<a href="http://www.d20pfsrd.com/gamemastering/combat#TOC-Cover)***" rel="nofollow">http://www.d20pfsrd.com/gamemastering/combat#TOC-Cover)***</a> and ***[Entangled](<a href="http://www.d20pfsrd.com/gamemastering/conditions#TOC-Entangled)***" rel="nofollow">http://www.d20pfsrd.com/gamemastering/conditions#TOC-Entangled)***</a>. New Reflex to escape to random square ([[1d8]]) Move 30' as Move Action | Battering Blast, Battering Blast &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/</a> &amp;#125;&amp;#125; {{subtitle=[[floor(@{spellclass-0-level-total}/5)]]x Spiked Force Balls&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{saving_throw=Ref(Partial)&amp;#125;&amp;#125; {{Failed Save=``PRONE``&amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-EVOC}[SF] ]] &amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]] &amp;#125;&amp;#125; {{description= Force Damage vs Touch AC • ***[[1d20 + @{attk-ranged}]] ► [[5d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[5d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[5d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** (*+10 CMB for each additional Blast on a single target beyond the first*) If [BULLRUSHED](<a href="http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush" rel="nofollow">http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush</a>) Target Saves vs Reflex or falls PRONE | Battering Blast(Intensified), Battering Blast(Intensified) &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/</a> &amp;#125;&amp;#125; {{subtitle=[[floor(@{spellclass-0-level-total}/5)]]Spiked Force Balls&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{saving_throw=Ref(Partial)&amp;#125;&amp;#125; {{Failed Save=``PRONE``&amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-EVOC}[SF] ]] &amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]] &amp;#125;&amp;#125; {{description=Force Damage vs Touch AC • ***[[1d20 + @{attk-ranged}]] ► [[ [[floor(@{spellclass-0-level-total}/2) ]]d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[ [[floor(@{spellclass-0-level-total}/2) ]]d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[ [[floor(@{spellclass-0-level-total}/2) ]]d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** (*+10 CMB for each additional Blast on a single target beyond the first*) If [BULLRUSHED](<a href="http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush" rel="nofollow">http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush</a>) Target Saves vs Reflex or falls PRONE | DayLight, DayLight &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/d/daylight/&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/d/daylight/&amp;#125;&amp;#125</a>; {{subtitle=Target Object Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Minutes(D) &amp;#125;&amp;#125;{{description=• 60' Bright Light • Not Actual Daylight • Negates Magical Darkness • Counters Spells of Equal Level | Dispel Magic, Dispel Magic&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/d/dispel-magic&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/d/dispel-magic&amp;#125;&amp;#125</a>; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]] &amp;#125;&amp;#125; {{subtitle=*Spell&amp;#44; Target&amp;#44; or Item*&amp;#125;&amp;#125; {{description= ***Rolls Adjusted for 11+CL. Just compare CL not CL+11*** &amp;#125;&amp;#125;{{ Targeted [[1d20 + @{spellclass-0-level-total} -11]]=**vs Spell's CL**&amp;#125;&amp;#125; {{ Success=**Spell Ends**&amp;#125;&amp;#125; {{ Failure=**Target Next Spell**&amp;#125;&amp;#125; {{ Suppress [[1d20 + [[@{spellclass-0-level-total}]] -11 ]]=**vs Item's CL** &amp;#125;&amp;#125; {{ Suppress Duration=[[1d4]] *rds* &amp;#125;&amp;#125; {{COUNTER [[1d20+@{spellclass-0-level-total}+4]]=**vs Spell's CL** | Explosive Runes, Explosive Runes &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/e/explosive-runes" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/e/explosive-runes</a> &amp;#125;&amp;#125; {{subtitle=1 Obj. less than 10 lbs.&amp;#125;&amp;#125; {{sr=[[1d20 + [[@{spellclass-0-level-total}]]]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-EVOC}[SF] + @{Int-mod}[INT] ]] Ref (See Text)&amp;#125;&amp;#125; {{description= • 5ft of item: [[6d6]] No Save • 10ft of item: [[6d6]] Ref for Half • Toppling: [[1d20 + @{spellclass-0-level-total} + @{Int-Mod}]] vs CMD | Fireball, Fireball&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125</a>; {{subtitle=[[20]] ft Radius&amp;#125;&amp;#125; {{long=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-long}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-EVOC}[SF] + @{Int-mod}[INT] ]] *Reflex (Half)*&amp;#125;&amp;#125; {{sr=[[1d20 + [[@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]]] ]] &amp;#125;&amp;#125;{{description=[[10d6]] **Fire Dmg** • *Sets fire to combustibles* • *Damages unattended obj.* | Fireball(Intensified), Fireball(Intensified)&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125</a>; {{subtitle=[[20]] ft Radius&amp;#125;&amp;#125; {{long=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-long}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-EVOC}[SF] + @{Int-mod}[INT] ]] *Reflex (Half)*&amp;#125;&amp;#125; {{sr=[[1d20 + [[@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]]] ]] &amp;#125;&amp;#125;{{description=[[15d6]] **Fire Dmg** • *Sets fire to combustibles* • *Damages unattended obj.* | Fly , Fly &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/f/fly/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/f/fly/</a> &amp;#125;&amp;#125; {{subtitle=Creature Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Minutes &amp;#125;&amp;#125;{{description=• 60' Fly Speed • Can Charge but not Run • Fly Skill + [[floor(@{spellclass-0-level-total}/2)]] Upon expiring target floats down 60 feet per round for [[1d6]] rounds | Haste , Haste &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/haste/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/haste/</a> &amp;#125;&amp;#125; {{subtitle=*@{spellclass-0-level-total}x within 30' of each&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds&amp;#125;&amp;#125;{{description=• Extra Attack During FullRound • +1 Attack Rolls • +1 Dodge Bonus AC • +1 Reflex Saves • Movement +30' | Haste(Mythic) , Haste &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/haste/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/haste/</a> &amp;#125;&amp;#125; {{subtitle=*@{spellclass-0-level-total}x within 30' of each&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds&amp;#125;&amp;#125;{{description=• Extra Attack During FullRound • +1 Attack Rolls • +1 Dodge Bonus AC • +1 Reflex Saves • Movement +50' • Extra Move Action each round **IF** Augmented (2x mp) • Movement +70' • Move over liquid as if solid • If liquid deals damage take half | Heroism, Heroism &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/heroism/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/heroism/</a> &amp;#125;&amp;#125; {{subtitle=Creature Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Minutes&amp;#125;&amp;#125;{{description=+[[2]] Morale Bonus: Attack • Saves • Skill Checks | Heroism(M), Heroism(M) &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/heroism/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/heroism/</a> &amp;#125;&amp;#125; {{subtitle=Creature Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Minutes&amp;#125;&amp;#125;{{description=+[[4]] Morale Bonus: Attack • Damage • Saves • All Checks **Augmented(3rd)** Expend 2 Mythic Power the target gains an additional attack as per Haste (TIER) number of times | Ice Spears, Ice Spears&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/i/ice-spears&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/i/ice-spears&amp;#125;&amp;#125</a>; {{subtitle=[[floor(@{spellclass-0-level-total}/4)]] 5foot x 10foot Ice Spears&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{Int-mod}[INT] + @{SF-CONJ}[SF]]] *Reflex (Half)*&amp;#125;&amp;#125; {{description= **Spear1:** [[2d6]] *Cold** Dmg* + Trip [[d20 + @{spellclass-0-level-total}[Level] + @{int-mod}[Int]]] **Spear1:** [[2d6]] *Piercing** Dmg* **Spear2:** [[2d6]] *Cold** Dmg* + Trip [[d20 + @{spellclass-0-level-total}[Level] + @{int-mod}[Int] ]] **Spear2:** [[2d6]] *Piercing** Dmg* **Spear3:** [[2d6]] *Cold** Dmg* + Trip [[d20 + @{spellclass-0-level-total}[Level] + @{int-mod}[Int] ]] **Spear3:** [[2d6]] *Piercing** Dmg* (**+10** Trip Bonus for each additional spear hitting same target) | Invisibility Sphere, Invisibility Sphere &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/i/invisibility-sphere/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/i/invisibility-sphere/</a> &amp;#125;&amp;#125; {{subtitle=10' Radius around Caster&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Minutes &amp;#125;&amp;#125;{{description=**INVISIBILITY** • Creatures See Each Other • Leaving Area or Attacking removes effect for the creature only | Pellet Blast, Pellet Blast &amp;#125;&amp;#125; {{name_link=<a href="https://www.d20pfsrd.com/magic/all-spells/p/pellet-blast/" rel="nofollow">https://www.d20pfsrd.com/magic/all-spells/p/pellet-blast/</a> &amp;#125;&amp;#125; {{subtitle=*30' Cone*&amp;#125;&amp;#125; {{saving_throw=Reflex(Half) &amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-CONJ}[SF] ]] &amp;#125;&amp;#125; {{description= Damage: [[ [[ {5 &amp;#44; floor(@{spellclass-0-level}*.5) &amp;#125;kl1 ]]d8 ]] Piercing Damage **This damage is subject to damage reduction.** **Optional Material Components:** Silver(20gp) Cold Iron(50gp) Adamantine(100gp) | Resist Energy(Communal) , Resist Energy(Communal) &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/r/resist-energy/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/r/resist-energy/</a> &amp;#125;&amp;#125; {{subtitle=Creatures Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Min (Total)&amp;#125;&amp;#125; {{description=Resist Energy Damage **Level 1-6:** 10 Resistance **Level 7-10:** 20 Resistance **Level 11-20:** 30 Resistance **Duration Breakdown:** • 2 Targets: [[[[ round(@{spellclass-0-level-total}/2)*10 ]]*100/100]] Minutes Per Target • 3 Targets: [[[[ round(@{spellclass-0-level-total}/3)*10 ]]*100/100]] Minutes Per Target • 4 Targets: [[[[ round(@{spellclass-0-level-total}/4)*10 ]]*100/100]] Minutes Per Target • 5 Targets: [[[[ round(@{spellclass-0-level-total}/5)*10 ]]*100/100]] Minutes Per Target • 6 Targets: [[[[ round(@{spellclass-0-level-total}/6)*10 ]]*100/100]] Minutes Per Target | Slow, Slow &amp;#125;&amp;#125; {{name_link=<a href="https://www.d20pfsrd.com/magic/all-spells/s/slow/" rel="nofollow">https://www.d20pfsrd.com/magic/all-spells/s/slow/</a> &amp;#125;&amp;#125; {{subtitle=*[[@{spellclass-0-level-total}]] Creatures 30' apart*&amp;#125;&amp;#125; {{close=range_pick &amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]] &amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds &amp;#125;&amp;#125; {{saving_throw=Will(Neg) &amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-TRANS}[SF] ]] &amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total}[CL] + @{spellclass-0-SP-mod}[SP MOD]]] &amp;#125;&amp;#125; {{description=• **``Staggered``** • **-1** Attack Rolls • **-1** AC • **-1** Reflex Saves Creature moves half speed | Spiked Pit, Spiked Pit &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/s/spiked-pit" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/s/spiked-pit</a> &amp;#125;&amp;#125; {{subtitle=[[{floor((10*@{spellclass-0-level-total})/2)&amp;#44;50&amp;#125;kl1 ]] deep 10foot x 10foot Pit &amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}+1]] rounds &amp;#125;&amp;#125; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{Int-mod}[INT] + @{SF-CONJ}[SF]]] *Reflex (Negate)*&amp;#125;&amp;#125; {{description=**Fall Damage:**[[[[{floor((@{spellclass-0-level-total})/2)&amp;#44;5&amp;#125;kl1 ]]d6]] **Spike Damage:** [[ 2d6 ]] **ClimbDC20 Damage:** [[ 1d6 ]] per round | Stinking Cloud, Stinking Cloud&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/s/stinking-cloud&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/s/stinking-cloud&amp;#125;&amp;#125</a>; {{subtitle=[[20]] ft Radius Cloud&amp;#125;&amp;#125; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-CONJ}[SF] + @{Int-mod}[INT] ]] *Fort (neg)*&amp;#125;&amp;#125; {{description=Save vs. ***[Nauseated](<a href="http://www.d20pfsrd.com/gamemastering/conditions#TOC-Nauseated)***" rel="nofollow">http://www.d20pfsrd.com/gamemastering/conditions#TOC-Nauseated)***</a> • *Lasts [[1d4+1]] Rounds after leaving the cloud* | Twilight Knife , Twilight Knife &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/t/twilight-knife/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/t/twilight-knife/</a> &amp;#125;&amp;#125; {{subtitle=Floating Knife of Force&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds&amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]] &amp;#125;&amp;#125; {{description=**Attack: [[1d20cs&gt;19 + @{int-mod} ]] ► [[1d4]] (+ [[ [[floor(@{spellclass-0-level-total}/4)]]d6 ]] Sneak Attack)** • Attacks Same Single Target as Caster each round. • Dispelled if strike fails SR Check • Always Positions to Flank Caster | WaterBreathing, WaterBreathing &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/w/water-breathing/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/w/water-breathing/</a> &amp;#125;&amp;#125; {{subtitle=Multiple Creatures&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*2]] Hours Split in 2hr Incr&amp;#125;&amp;#125;{{description=The transmuted creatures can breathe water freely. Divide the duration evenly among all the creatures you touch. The spell does not make creatures unable to breathe air. } }}
Yep, I keep coming back to this point.&nbsp; This mistake was worse then the UDL/LDL flub.&nbsp; Cause this mistake is making us all have to decide what to do here.&nbsp; Either we all spend hours rebuilding in this already established poorly run business, or try our luck with an alternative.&nbsp; And you know whats not helping?&nbsp; The dead silence here.&nbsp; They should have been working overnight to either fix the patch or revert the damned thing and the fact they keep prancing out a community manager gving us 1 sentence pep talks that don't help us figure this shit out does NOT make this decision hard.&nbsp; Clearly they don't need our money.&nbsp;&nbsp;
There is absolutly 0 regard for the people who keep this buisness model afloat. I am livid as well, I had my games set up as I wanted them and now let's break the stuff we are all using and depending in our automations for running the game. Not only this platform is outdated and far far behind it's competitors it is punishing, the people who decided to stay here... This change should have been rolled back the miniute it was reported.
1634835086

Edited 1634835295
So this is a really annoying issue but for the drop down query macros that roll20 published I plugged them into&nbsp; <a href="https://www.textfixer.com/tools/paragraph-to-lines.php" rel="nofollow">https://www.textfixer.com/tools/paragraph-to-lines.php</a> &nbsp;and copy and pasted the result to replace the old macro. It managed to get the Condition, Cover, and Potion macros to work again. Now I try to do the same to Craig and KyleG's macro:&nbsp; <a href="https://app.roll20.net/forum/post/5591522/5e-ogl-universal-ability-check-macro-updated-for-v2-dot-0" rel="nofollow">https://app.roll20.net/forum/post/5591522/5e-ogl-universal-ability-check-macro-updated-for-v2-dot-0</a> &nbsp;but it gives me this: I'm not code savvy by any means so if anyone has any ideas or fixes they can recommend or explain would be helpful. I've managed to get all my other drop down macros to work again now except for Craig and KyleG's&nbsp;Universal Macros. Universal Ability Check: @{selected|wtype}&amp;{template:simple} @{selected|rtype}?{Skill |Acrobatics,+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_acrobatics}*@{selected|npc})]][ACRO] ]]&amp;#125;&amp;#125; {{rname=^{acrobatics-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_acrobatics}*@{selected|npc})]][ACRO] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_acrobatics}*@{selected|npc})]][ACRO] ]] |Animal Handling,+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_animal_handling}*@{selected|npc})]][ANIM] ]]&amp;#125;&amp;#125; {{rname=^{animal-handling-u&amp;#125;&amp;#125;&amp;#125;{{mod=[[ (@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_animal_handling}*@{selected|npc})]][ANIM] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_animal_handling}*@{selected|npc})]][ANIM] ]] |Arcana,+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_arcana}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{arcana-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_arcana}*@{selected|npc})]][ARCA] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_arcana}*@{selected|npc})]][ARCA] ]] |Athletics,+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_athletics}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{athletics-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_athletics}*@{selected|npc})]][ATHL] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_athletics}*@{selected|npc})]][ATHL] ]] |Decpetion,+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_deception}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{deception-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_deception}*@{selected|npc})]][DECE] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_deception}*@{selected|npc})]][DECE] ]] |History,+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_history}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{history-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_history}*@{selected|npc})]][HIST] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_history}*@{selected|npc})]][HIST] ]] |Insight,+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_insight}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{insight-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_insight}*@{selected|npc})]][INSI] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_insight}*@{selected|npc})]][INSI] ]] |Intimidation,+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_intimidation}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{intimidation-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_intimidation}*@{selected|npc})]][INTI] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_intimidation}*@{selected|npc})]][INTI] ]] |Investigation,+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_investigation}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{investigation-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_investigation}*@{selected|npc})]][INVE] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_investigation}*@{selected|npc})]][INVE] ]] |Medicine,+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_medicine}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{medicine-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_medicine}*@{selected|npc})]][MEDI] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_medicine}*@{selected|npc})]][MEDI] ]] |Nature,+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_nature}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{nature-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_nature}*@{selected|npc})]][NATU] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_nature}*@{selected|npc})]][NATU] ]] |Perception,+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_perception}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{perception-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_perception}*@{selected|npc})]][PERC] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_perception}*@{selected|npc})]][PERC] ]] |Performance,+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_performance}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{performance-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_performance}*@{selected|npc})]][PERF] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_performance}*@{selected|npc})]][PERF] ]] |Persuasion,+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_persuasion}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{persuasion-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_persuasion}*@{selected|npc})]][PERS] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_persuasion}*@{selected|npc})]][PERS] ]] |Religion,+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_religion}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{religion-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_religion}*@{selected|npc})]][RELI] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_religion}*@{selected|npc})]][RELI] ]] |Sleight of Hand,+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{sleight_of_hand-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]][SLEI] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]][SLEI] ]] |Stealth,+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_stealth}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{stealth-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_stealth}*@{selected|npc})]][STEA] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_stealth}*@{selected|npc})]][STEA] ]] |Survival,+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_survival}*@{selected|npc})]][ARC] ]]&amp;#125;&amp;#125; {{rname=^{survival-u&amp;#125;&amp;#125;&amp;#125; {{mod=[[ [[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_survival}*@{selected|npc})]][SURV] ]]&amp;#125;&amp;#125; {{r1=[[@{selected|d20}+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_survival}*@{selected|npc})]][SURV] ]] }}} {{global= @{selected|global_skill_mod} }} @{selected|charname_output}
Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most).
ABSOLUTELY THIS!!&nbsp; Livid is an understatement.&nbsp; MarkOfTheDragon said: I'm LIVID. I have a characters of a 2-3 year long campaigns with custom drop-down macros with queries for their ENTIRE spellbook... and now it's completely useless.&nbsp; I literally spent years tweaking, adding, adjusting, improving, and adding onto tthis set of macros to make the perfect 'Grimoire' ... and now it's broken. I wrote <a href="https://wiki.roll20.net/Macros/Pathfinder_Examples" rel="nofollow">https://wiki.roll20.net/Macros/Pathfinder_Examples</a> years ago, and it's held up right until this moment.&nbsp; I'm beyond livid.&nbsp; This is seriously the kind of poor development practices that are going to make people leave the platform, because it's definitely not the first time. It's absolutely preposterous that a subscription business would roll out such a significant change in a seeming vaccum. Only a handful of people are on your Dev servers;&nbsp; the vast majority of your userbase isn't going to see notices there.&nbsp; Even if everyone were to see a notice, how is it ever OK to invalidate a method of coding that's been in use for years?&nbsp; HTML replacements have been needed and used literally for years... and the devs decided it was a good idea to just not use them anymore?!?! One of the biggest obstacles to switching to a different platform like Foundry or Fantasy Grounds is having to port over automations into a new system.&nbsp; If we have to re-write everything as 'the fix' to this problem, we might as well just bite the bullet and migrate anyway. This is just ONE of the simpler macros in question. &amp;{template:pf_spell} {{color=@{rolltemplate_color}}} {{name=?{Level 3 Spells | Aqueous Orb, Aqueous Orb &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/a/aqueous-orb&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/a/aqueous-orb&amp;#125;&amp;#125</a>; {{subtitle=*10' Sphere*&amp;#125;&amp;#125; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]]&amp;#125;&amp;#125;{{saving_throw=Reflex(neg)&amp;#125;&amp;#125; {{dc=*[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-CONJ}[SF] ]]*&amp;#125;&amp;#125; {{1st Save=[[2d6]] Non-Lethal&amp;#125;&amp;#125 {{description=(*If 1st save failed*) Make a ** 2nd Save** vs.Engulf. Up to [[4]] medium creatures Engulfed. Take ``[[2d6]]`` Non-Lethal at **start of their turn.** Have ***[Cover](<a href="http://www.d20pfsrd.com/gamemastering/combat#TOC-Cover)***" rel="nofollow">http://www.d20pfsrd.com/gamemastering/combat#TOC-Cover)***</a> and ***[Entangled](<a href="http://www.d20pfsrd.com/gamemastering/conditions#TOC-Entangled)***" rel="nofollow">http://www.d20pfsrd.com/gamemastering/conditions#TOC-Entangled)***</a>. New Reflex to escape to random square ([[1d8]]) Move 30' as Move Action | Battering Blast, Battering Blast &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/</a> &amp;#125;&amp;#125; {{subtitle=[[floor(@{spellclass-0-level-total}/5)]]x Spiked Force Balls&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{saving_throw=Ref(Partial)&amp;#125;&amp;#125; {{Failed Save=``PRONE``&amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-EVOC}[SF] ]] &amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]] &amp;#125;&amp;#125; {{description= Force Damage vs Touch AC • ***[[1d20 + @{attk-ranged}]] ► [[5d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[5d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[5d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** (*+10 CMB for each additional Blast on a single target beyond the first*) If [BULLRUSHED](<a href="http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush" rel="nofollow">http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush</a>) Target Saves vs Reflex or falls PRONE | Battering Blast(Intensified), Battering Blast(Intensified) &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/b/battering-blast/</a> &amp;#125;&amp;#125; {{subtitle=[[floor(@{spellclass-0-level-total}/5)]]Spiked Force Balls&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{saving_throw=Ref(Partial)&amp;#125;&amp;#125; {{Failed Save=``PRONE``&amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-EVOC}[SF] ]] &amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]] &amp;#125;&amp;#125; {{description=Force Damage vs Touch AC • ***[[1d20 + @{attk-ranged}]] ► [[ [[floor(@{spellclass-0-level-total}/2) ]]d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[ [[floor(@{spellclass-0-level-total}/2) ]]d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** • ***[[1d20 + @{attk-ranged}]] ► [[ [[floor(@{spellclass-0-level-total}/2) ]]d6]] dmg + BullRush: [[1d20+@{int-mod}+@{spellclass-0-level-total}]]*** (*+10 CMB for each additional Blast on a single target beyond the first*) If [BULLRUSHED](<a href="http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush" rel="nofollow">http://www.d20pfsrd.com/gamemastering/combat/#TOC-Bull-Rush</a>) Target Saves vs Reflex or falls PRONE | DayLight, DayLight &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/d/daylight/&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/d/daylight/&amp;#125;&amp;#125</a>; {{subtitle=Target Object Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Minutes(D) &amp;#125;&amp;#125;{{description=• 60' Bright Light • Not Actual Daylight • Negates Magical Darkness • Counters Spells of Equal Level | Dispel Magic, Dispel Magic&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/d/dispel-magic&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/d/dispel-magic&amp;#125;&amp;#125</a>; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]] &amp;#125;&amp;#125; {{subtitle=*Spell&amp;#44; Target&amp;#44; or Item*&amp;#125;&amp;#125; {{description= ***Rolls Adjusted for 11+CL. Just compare CL not CL+11*** &amp;#125;&amp;#125;{{ Targeted [[1d20 + @{spellclass-0-level-total} -11]]=**vs Spell's CL**&amp;#125;&amp;#125; {{ Success=**Spell Ends**&amp;#125;&amp;#125; {{ Failure=**Target Next Spell**&amp;#125;&amp;#125; {{ Suppress [[1d20 + [[@{spellclass-0-level-total}]] -11 ]]=**vs Item's CL** &amp;#125;&amp;#125; {{ Suppress Duration=[[1d4]] *rds* &amp;#125;&amp;#125; {{COUNTER [[1d20+@{spellclass-0-level-total}+4]]=**vs Spell's CL** | Explosive Runes, Explosive Runes &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/e/explosive-runes" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/e/explosive-runes</a> &amp;#125;&amp;#125; {{subtitle=1 Obj. less than 10 lbs.&amp;#125;&amp;#125; {{sr=[[1d20 + [[@{spellclass-0-level-total}]]]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-EVOC}[SF] + @{Int-mod}[INT] ]] Ref (See Text)&amp;#125;&amp;#125; {{description= • 5ft of item: [[6d6]] No Save • 10ft of item: [[6d6]] Ref for Half • Toppling: [[1d20 + @{spellclass-0-level-total} + @{Int-Mod}]] vs CMD | Fireball, Fireball&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125</a>; {{subtitle=[[20]] ft Radius&amp;#125;&amp;#125; {{long=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-long}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-EVOC}[SF] + @{Int-mod}[INT] ]] *Reflex (Half)*&amp;#125;&amp;#125; {{sr=[[1d20 + [[@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]]] ]] &amp;#125;&amp;#125;{{description=[[10d6]] **Fire Dmg** • *Sets fire to combustibles* • *Damages unattended obj.* | Fireball(Intensified), Fireball(Intensified)&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/f/fireball&amp;#125;&amp;#125</a>; {{subtitle=[[20]] ft Radius&amp;#125;&amp;#125; {{long=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-long}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-EVOC}[SF] + @{Int-mod}[INT] ]] *Reflex (Half)*&amp;#125;&amp;#125; {{sr=[[1d20 + [[@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]]] ]] &amp;#125;&amp;#125;{{description=[[15d6]] **Fire Dmg** • *Sets fire to combustibles* • *Damages unattended obj.* | Fly , Fly &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/f/fly/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/f/fly/</a> &amp;#125;&amp;#125; {{subtitle=Creature Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Minutes &amp;#125;&amp;#125;{{description=• 60' Fly Speed • Can Charge but not Run • Fly Skill + [[floor(@{spellclass-0-level-total}/2)]] Upon expiring target floats down 60 feet per round for [[1d6]] rounds | Haste , Haste &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/haste/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/haste/</a> &amp;#125;&amp;#125; {{subtitle=*@{spellclass-0-level-total}x within 30' of each&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds&amp;#125;&amp;#125;{{description=• Extra Attack During FullRound • +1 Attack Rolls • +1 Dodge Bonus AC • +1 Reflex Saves • Movement +30' | Haste(Mythic) , Haste &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/haste/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/haste/</a> &amp;#125;&amp;#125; {{subtitle=*@{spellclass-0-level-total}x within 30' of each&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds&amp;#125;&amp;#125;{{description=• Extra Attack During FullRound • +1 Attack Rolls • +1 Dodge Bonus AC • +1 Reflex Saves • Movement +50' • Extra Move Action each round **IF** Augmented (2x mp) • Movement +70' • Move over liquid as if solid • If liquid deals damage take half | Heroism, Heroism &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/heroism/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/heroism/</a> &amp;#125;&amp;#125; {{subtitle=Creature Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Minutes&amp;#125;&amp;#125;{{description=+[[2]] Morale Bonus: Attack • Saves • Skill Checks | Heroism(M), Heroism(M) &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/h/heroism/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/h/heroism/</a> &amp;#125;&amp;#125; {{subtitle=Creature Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Minutes&amp;#125;&amp;#125;{{description=+[[4]] Morale Bonus: Attack • Damage • Saves • All Checks **Augmented(3rd)** Expend 2 Mythic Power the target gains an additional attack as per Haste (TIER) number of times | Ice Spears, Ice Spears&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/i/ice-spears&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/i/ice-spears&amp;#125;&amp;#125</a>; {{subtitle=[[floor(@{spellclass-0-level-total}/4)]] 5foot x 10foot Ice Spears&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{Int-mod}[INT] + @{SF-CONJ}[SF]]] *Reflex (Half)*&amp;#125;&amp;#125; {{description= **Spear1:** [[2d6]] *Cold** Dmg* + Trip [[d20 + @{spellclass-0-level-total}[Level] + @{int-mod}[Int]]] **Spear1:** [[2d6]] *Piercing** Dmg* **Spear2:** [[2d6]] *Cold** Dmg* + Trip [[d20 + @{spellclass-0-level-total}[Level] + @{int-mod}[Int] ]] **Spear2:** [[2d6]] *Piercing** Dmg* **Spear3:** [[2d6]] *Cold** Dmg* + Trip [[d20 + @{spellclass-0-level-total}[Level] + @{int-mod}[Int] ]] **Spear3:** [[2d6]] *Piercing** Dmg* (**+10** Trip Bonus for each additional spear hitting same target) | Invisibility Sphere, Invisibility Sphere &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/i/invisibility-sphere/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/i/invisibility-sphere/</a> &amp;#125;&amp;#125; {{subtitle=10' Radius around Caster&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Minutes &amp;#125;&amp;#125;{{description=**INVISIBILITY** • Creatures See Each Other • Leaving Area or Attacking removes effect for the creature only | Pellet Blast, Pellet Blast &amp;#125;&amp;#125; {{name_link=<a href="https://www.d20pfsrd.com/magic/all-spells/p/pellet-blast/" rel="nofollow">https://www.d20pfsrd.com/magic/all-spells/p/pellet-blast/</a> &amp;#125;&amp;#125; {{subtitle=*30' Cone*&amp;#125;&amp;#125; {{saving_throw=Reflex(Half) &amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-CONJ}[SF] ]] &amp;#125;&amp;#125; {{description= Damage: [[ [[ {5 &amp;#44; floor(@{spellclass-0-level}*.5) &amp;#125;kl1 ]]d8 ]] Piercing Damage **This damage is subject to damage reduction.** **Optional Material Components:** Silver(20gp) Cold Iron(50gp) Adamantine(100gp) | Resist Energy(Communal) , Resist Energy(Communal) &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/r/resist-energy/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/r/resist-energy/</a> &amp;#125;&amp;#125; {{subtitle=Creatures Touched&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*10]] Min (Total)&amp;#125;&amp;#125; {{description=Resist Energy Damage **Level 1-6:** 10 Resistance **Level 7-10:** 20 Resistance **Level 11-20:** 30 Resistance **Duration Breakdown:** • 2 Targets: [[[[ round(@{spellclass-0-level-total}/2)*10 ]]*100/100]] Minutes Per Target • 3 Targets: [[[[ round(@{spellclass-0-level-total}/3)*10 ]]*100/100]] Minutes Per Target • 4 Targets: [[[[ round(@{spellclass-0-level-total}/4)*10 ]]*100/100]] Minutes Per Target • 5 Targets: [[[[ round(@{spellclass-0-level-total}/5)*10 ]]*100/100]] Minutes Per Target • 6 Targets: [[[[ round(@{spellclass-0-level-total}/6)*10 ]]*100/100]] Minutes Per Target | Slow, Slow &amp;#125;&amp;#125; {{name_link=<a href="https://www.d20pfsrd.com/magic/all-spells/s/slow/" rel="nofollow">https://www.d20pfsrd.com/magic/all-spells/s/slow/</a> &amp;#125;&amp;#125; {{subtitle=*[[@{spellclass-0-level-total}]] Creatures 30' apart*&amp;#125;&amp;#125; {{close=range_pick &amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]] &amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds &amp;#125;&amp;#125; {{saving_throw=Will(Neg) &amp;#125;&amp;#125; {{dc=[[10[BASE] + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + [[ @{INT-MOD} ]][INT] + @{SF-TRANS}[SF] ]] &amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total}[CL] + @{spellclass-0-SP-mod}[SP MOD]]] &amp;#125;&amp;#125; {{description=• **``Staggered``** • **-1** Attack Rolls • **-1** AC • **-1** Reflex Saves Creature moves half speed | Spiked Pit, Spiked Pit &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/s/spiked-pit" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/s/spiked-pit</a> &amp;#125;&amp;#125; {{subtitle=[[{floor((10*@{spellclass-0-level-total})/2)&amp;#44;50&amp;#125;kl1 ]] deep 10foot x 10foot Pit &amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}+1]] rounds &amp;#125;&amp;#125; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{Int-mod}[INT] + @{SF-CONJ}[SF]]] *Reflex (Negate)*&amp;#125;&amp;#125; {{description=**Fall Damage:**[[[[{floor((@{spellclass-0-level-total})/2)&amp;#44;5&amp;#125;kl1 ]]d6]] **Spike Damage:** [[ 2d6 ]] **ClimbDC20 Damage:** [[ 1d6 ]] per round | Stinking Cloud, Stinking Cloud&amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/s/stinking-cloud&amp;#125;&amp;#125" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/s/stinking-cloud&amp;#125;&amp;#125</a>; {{subtitle=[[20]] ft Radius Cloud&amp;#125;&amp;#125; {{medium=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-medium}]] &amp;#125;&amp;#125; {{DC=[[10 + ?{Heightened Spell Level &amp;#124; 3 &amp;#125;[SL] + @{SF-CONJ}[SF] + @{Int-mod}[INT] ]] *Fort (neg)*&amp;#125;&amp;#125; {{description=Save vs. ***[Nauseated](<a href="http://www.d20pfsrd.com/gamemastering/conditions#TOC-Nauseated)***" rel="nofollow">http://www.d20pfsrd.com/gamemastering/conditions#TOC-Nauseated)***</a> • *Lasts [[1d4+1]] Rounds after leaving the cloud* | Twilight Knife , Twilight Knife &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/t/twilight-knife/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/t/twilight-knife/</a> &amp;#125;&amp;#125; {{subtitle=Floating Knife of Force&amp;#125;&amp;#125; {{close=range_pick&amp;#125;&amp;#125; {{range=[[@{spellclass-0-close}]]&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}]] Rounds&amp;#125;&amp;#125; {{sr=[[1d20+@{spellclass-0-level-total} + @{spellclass-0-SP-mod}]] &amp;#125;&amp;#125; {{description=**Attack: [[1d20cs&gt;19 + @{int-mod} ]] ► [[1d4]] (+ [[ [[floor(@{spellclass-0-level-total}/4)]]d6 ]] Sneak Attack)** • Attacks Same Single Target as Caster each round. • Dispelled if strike fails SR Check • Always Positions to Flank Caster | WaterBreathing, WaterBreathing &amp;#125;&amp;#125; {{name_link=<a href="http://www.d20pfsrd.com/magic/all-spells/w/water-breathing/" rel="nofollow">http://www.d20pfsrd.com/magic/all-spells/w/water-breathing/</a> &amp;#125;&amp;#125; {{subtitle=Multiple Creatures&amp;#125;&amp;#125; {{duration=[[@{spellclass-0-level-total}*2]] Hours Split in 2hr Incr&amp;#125;&amp;#125;{{description=The transmuted creatures can breathe water freely. Divide the duration evenly among all the creatures you touch. The spell does not make creatures unable to breathe air. } }}
I CANNOT AGREE WITH THIS MORE.&nbsp; Are we supposed to keep checking the forum on an hourly basis to pre-empt anything changing? I have loved Roll20 for years and been a pro member for years too.&nbsp; I was made to look like a bloody chump last night when I started the new campaign off. Grrrrrrrr!!&nbsp; Dario M. said: keithcurtis said: The update was announced and on dev for over a month. Very few folks responded, and the bug that you document above was reported (and seemingly overlooked). Rather than require everyone to completely rebuild every affected macro, the update should account for them. Either backward compatibility, or a conversion tool, if macros are no longer backward compatible. YES! that gives complete legitimacy to what happened! It's my fault and everyone else that has been having isseus! I should have paid attention &nbsp;to the forum! MY BAD! These are excuses! I want solutions! if you don't have solutions stop giving excuses!!!!!!
Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most). I will hold my breath, however thank you for the response from actual Roll20.&nbsp;
1634836200

Edited 1634837059
Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most). Thank you for your reply, but I would like to understand roll20's development process better. How could an update like this ever make it to production and not catch this massive problem?&nbsp; 21 hours later and just rolling it back 'within the next few hours'&nbsp; now?&nbsp; There were reports of issues less than 2 hours after the update and it's only starting to be rolled back now, 21 hours later. We've seen this kind of 'update' more than a few times, now.&nbsp; I'm genuinely curious how this (rolling out an update and not realize it broke something significant and very noticible)&nbsp; keeps seeming to happen.
1634836734
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hi Dario, Please re-read my post. I was agreeing with you. None of this was your fault, I was merely pointing out in reference to "if there are any new updates ask the client (us), if we would like to try it!" that it folks had been asked to try it. The rest of my post was taking Roll20 to task (not you) for not utilizing that feedback properly. You are not to blame here, no excuses were intended, and I am sorry if my post was not clear on that.
1634837031
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most). Thank you Jeff. I agree with Mark of the Dragon and others, that a post mortem on this would be welcome.
Thank you! Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most).
1634837683

Edited 1634837699
keithcurtis said: Hi Dario, Please re-read my post. I was agreeing with you. None of this was your fault, I was merely pointing out in reference to "if there are any new updates ask the client (us), if we would like to try it!" that it folks had been asked to try it. The rest of my post was taking Roll20 to task (not you) for not utilizing that feedback properly. You are not to blame here, no excuses were intended, and I am sorry if my post was not clear on that. I was angry, not at you, and my words weren't directed at you personally! It was out of frustration, and my first language is not English so I've must have misread. Sorry
Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most). Thank you. This is the news I wanted to hear. I am not a script writer and have been piggy-backing off the work of others more talented than I (inc. Nick Olivio YouTube videos) so manual fixes would not come easily to me. The ability to use APIs from the script library and have them work as intended is my bar. No one is a fan of the 'Law of Unintended Consequences' and thank you for all your efforts in recognising and fixing this
Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most). Thanks for the message.
Thanks for fixing it Roll 20!&nbsp;
Jeff L. said: Hey everyone, Thanks for your reports and patience regarding this issue.&nbsp; Yesterday (Oct 20) we deployed some improvements to the roll query parser to allow for some experimental new features that have been in testing on the dev server.&nbsp; We hotfixed a few of these issues yesterday, but the remaining issues with the parser do not meet our standard of quality for your games.&nbsp; We're reverting the changes made to this parser now, which will be live shortly.&nbsp; You do not, and will not, have to rewrite your macros -- any change that would require such a thing would not be considered lightly. I will post again here when the fix is live (within the next few hours at most). We've rolled back the changes to roll queries and macros, and these issues should now be resolved.
I've tested it and can confirm that on my games, macros work as before following the rollback. Thanks Roll20!
Jeff L. said: We've rolled back the changes to roll queries and macros, and these issues should now be resolved. Verified. Can you please provide a post-mortem for visibility on how the issue occured and how it was handled?
1634845983

Edited 1634846043
vÍnce
Pro
Sheet Author
These issues were brought up on the Dev thread months ago by a handful of users willing to "test" roll20's new features. ;-( Another failed roll-out...&nbsp; iMO not requiring character substitution in macros is a major QoL update, so hopefully this will get a concentrated effort by the Devs to quickly fix the issues (must be backward compatible with existing macros (ie special characters and line breaks) ) and re-release to Production.
1634847579
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Looks good over here, too. Thanks for the fix, dev team!