chris b. said: For Pathfinder users (we are still here! :) ) I updated Morbidsoul's macro so that it checks whether a skill that requires training has ranks. If it does not have any ranks, it forces the result to zero. It does this by multiplying the skill (roll plus mod) by {1,@{skill-ranks}}kl1 which is the lower of 1 or the ranks, so that it either multiplies by 1 or 0. When you hover over I collapsed the calculations so you only see the roll, the 0 or 1 multiplier, and the modifier: The key was replacing the brackets and commas with { } and , Thanks to Ed S. above, I could not figure it out until I read about also replacing the commas, that was the trick. Why did I do this? Because I didn't want more than one macro. This way I can use one for all players and not worry. The only thing I can't do is use the dropdown to pick a skill and have each player roll separately by calling all the macros. It uses the first (or last, I forget) player's roll and modifiers. So my "roll all perceptions" and "roll all Will saves" macros are still pretty campaign specific. Here is the macro: &{template:pf_generic} {{character_name=@{character_name}}} {{name=Skill Roll}} {{?{Pick a skill to roll|Acrobatics, Acrobatics = [[[[1d20]]+[[@{Acrobatics}]]]]|Appraise, Appraise=[[[[1d20]]+[[@{Appraise}]]]]|Artistry, Artistry=[[[[1d20]]+[[@{Artistry}]]]]|Bluff, Bluff=[[[[1d20]]+[[@{Bluff}]]]]|Climb, Climb=[[[[1d20]]+[[@{Climb}]]]]|Craft, Craft=[[[[1d20]]+[[@{Craft}]]]]|Diplomacy, Diplomacy=[[[[1d20]]+[[@{Diplomacy}]]]]|Disable Device, Disable Device=[[[[{1,@{Disable-Device-ranks}}kl1]]*([[1d20]]+[[@{Disable-Device}]])]]|Disguise, Disguise=[[[[1d20]]+[[@{Disguise}]]]]|Escape Artist, Escape Artist=[[[[1d20]]+[[@{Escape-Artist}]]]]|Fly, Fly=[[[[1d20]]+[[@{Fly}]]]]|Handle Animal, Handle Animal=[[[[{1,@{Handle-Animal-ranks}}kl1]]*([[1d20]]+[[@{Handle-Animal}]])]]|Heal, Heal=[[[[1d20]]+[[@{Heal}]]]]|Intimidate, Intimidate=[[[[1d20]]+[[@{Intimidate}]]]]|Know Arcana,Know Arcana=[[[[{1,@{Knowledge-Arcana-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Arcana}]])]]|Know Dungeoneering,Know Dungeoneering=[[[[{1,@{Knowledge-Dungeoneering-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Dungeoneering}]])]]|Know Engineering,Know Engineering=[[[[{1,@{Knowledge-Engineering-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Engineering}]])]]|Know Geography,Know Geography=[[[[{1,@{Knowledge-Geography-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Geography}]])]]|Know History,Know History=[[[[{1,@{Knowledge-History-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-History}]])]]|Know Local,Know Local=[[[[{1,@{Knowledge-Local-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Local}]])]]|Know Nature,Know Nature=[[[[{1,@{Knowledge-Nature-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Nature}]])]]|Know Nobility,Know Nobility=[[[[{1,@{Knowledge-Nobility-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Nobility}]])]]|Know Planes,Know Planes=[[[[{1,@{Knowledge-Planes-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Planes}]])]]|Know Religion,Know Religion=[[[[{1,@{Knowledge-Religion-ranks}}kl1]]*([[1d20]]+[[@{Knowledge-Religion}]])]]|Linguistics, Linguistics=[[[[{1,@{Linguistics-ranks}}kl1]]*([[1d20]]+[[@{Linguistics}]])]]|Lore, Lore=[[[[{1,@{Lore-ranks}}kl1]]*([[1d20]]+[[@{Lore}]])]]|Perception, Perception=[[[[1d20]]+[[@{Perception}]]]]|Perform, Perform=[[[[1d20]]+[[@{Perform}]]]]|Profession, Profession=[[[[{1,@{Profession-ranks}}kl1]]*([[1d20]]+[[@{Profession}]])]]|Ride, Ride=[[[[1d20]]+[[@{Ride}]]]]|Sense Motive, Sense Motive=[[[[1d20]]+[[@{Sense-Motive}]]]]|Sleight of Hand, Sleight of Hand=[[[[{1,@{Sleight-of-Hand-ranks}}kl1]]*([[1d20]]+[[@{Sleight-of-Hand}]])]]|Spellcraft, Spellcraft=[[[[{1,@{Spellcraft-ranks}}kl1]]*([[1d20]]+[[@{Spellcraft}]])]]|Stealth, Stealth=[[[[1d20]]+[[@{Stealth}]]]]|Survival, Survival=[[[[1d20]]+[[@{Survival}]]]]|Swim, Swim=[[[[1d20]]+[[@{Swim}]]]]|Use Magic Device, Use Magic Device=[[[[{1,@{Use-Magic-Device-ranks}}kl1]]*([[1d20]]+[[@{Use-Magic-Device}]]]]]]}}} Chris, I'm very excited to see this development on te macro. However, I've copied & pasted this one and I'm running into a glitch. The drop down won't show anything past Disable Device, and using the macro results in a LONG block of code instead of a chosen roll. I cannot see what's causing the code to stop at that point. Anyone have any ideas?