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

Query Advantage/Disadvantage

1626599248

Edited 1626599387
I'm trying to construct a Macro for a travel mechanic where I can input a result from a previous Macro to carry across positive and negative modifiers. I don't need the two Macros to be linked at all (although that would be kind of cool!), but some of the upper and lower results determine this roll to be made with advantage/disadvantage either as a selectable option within the macro or by selecting a token with the global toggle active from the character sheet. I feel this should be relatively simple, however, even after I've consulted the wiki and read other forum posts that gestured at similar coding issues which gave me some ideas to experiment with, I am going horribly wrong somewhere and try as I might I can't seem to get it working.  I think I'm using all the correct syntax and wotnot but for whatever reason, and having no background in coding whatsoever, all I get is a bunch of text posted in chat and not the D12 roll + Modifier, ? Advantage|Disadvantge rolls I am looking for. I'll post my Macro Code I've been working on below, if anyone can point out what I am getting wrong, I would greatly appreciate it. (?{Embark Modifier|1,-2|2,+0|3,-1|4,+1|5,+0|6,+0|7,+0|8,+0|9,-1|10,+1|11, +0|12,+2} ?{Advantage|Yes,1|No,0} ?{Disadvantage|Yes,1|No,0}&{template:default}   {{name= Journey}}{{Result= [[?{Advantage?|Normal,1d12|Disadvantage]]r<1 
There’s definitely a lot of malformed code there. I can’t understand what you want the result to be, so it’s hard to help. If you explain a bit more clearly what the travel mechanic is - not the code you are trying to use, but what you want the output to be and the rules that you are using - someone can likely help write a macro for it. 
1626639182

Edited 1626639328
Jarren K. said: There’s definitely a lot of malformed code there. I can’t understand what you want the result to be, so it’s hard to help. If you explain a bit more clearly what the travel mechanic is - not the code you are trying to use, but what you want the output to be and the rules that you are using - someone can likely help write a macro for it.  I am adapting the travel rules from Adventure in Middle Earth 5e for the hex-crawl in my Tomb of Annihilation game. I've already had help from this forum designing the Embark query macro - and I thought I'd learnt enough to tackle modifying that code for the Journey Roll.  Well I tried but not my natural forte. I want to have a macro query with drop down options called "Journey"  1."What was the result from the Embarkation Roll made by the party guide?"  Select results: 1 - 12. Some of those results give +/- modifiers to the roll made with the journey macro which will be another D12. The upper and lower ranges of the Embark roll (1, 12) confer advantage or disadvantage on the Journey D12 roll  So net result is roll from a macro which rolls a d12 to discover the journey but has queries to check for any Embark modifers and conditionally whether or not the journey rolls is made with Adv or Ddv if you rolled well/poorly enough when you embarked. The result will be a number between 1 - 12 which relates to a table I keep on Google docs. RE: Malformed code.  I am bad at this and need all the help I can get.  :-)
I think this is what you're looking for (assuming all of the Embark Roll Modifiers you listed above are correct): !?{Embark Roll|1,-2|2,+0|3,-1|4,+1|5,+0|6,+0|7,+0|8,+0|9,-1|10,+1|11,+0|12,+2} !?{Advantage/Disadvantage?|Advantage,2d12kh1|Normal,1d12|Disadvantage,2d12kl1} &{template:default} {{name=Journey}} {{Result=[[?{Advantage/Disadvantage?}?{Embark Roll}]]}} If you're using the D&D 5E by Roll20 sheet, you can make it look 'prettier' in one of the roll templates from the sheet like this: !?{Embark Roll|1,-2|2,+0|3,-1|4,+1|5,+0|6,+0|7,+0|8,+0|9,-1|10,+1|11,+0|12,+2} !?{Advantage/Disadvantage?|Advantage,2d12kh1|Normal,1d12|Disadvantage,2d12kl1} &{template:npcaction} {{rname=Journey}} {{description=Result:[[?{Advantage/Disadvantage?}?{Embark Roll}]]}} And if you want to make it even better, you'd use Rollable Tables to simply print out what the table results are directly into chat, instead of looking it up in a google doc.  Since you have a Pro subscription, you could use the RecursiveTables script to roll all of these things at once and output a single result that lists all of the rolls and what the effects were, but that would take a little more setup.
Jarren K. said: I think this is what you're looking for (assuming all of the Embark Roll Modifiers you listed above are correct): !?{Embark Roll|1,-2|2,+0|3,-1|4,+1|5,+0|6,+0|7,+0|8,+0|9,-1|10,+1|11,+0|12,+2} !?{Advantage/Disadvantage?|Advantage,2d12kh1|Normal,1d12|Disadvantage,2d12kl1} &{template:default} {{name=Journey}} {{Result=[[?{Advantage/Disadvantage?}?{Embark Roll}]]}} If you're using the D&D 5E by Roll20 sheet, you can make it look 'prettier' in one of the roll templates from the sheet like this: !?{Embark Roll|1,-2|2,+0|3,-1|4,+1|5,+0|6,+0|7,+0|8,+0|9,-1|10,+1|11,+0|12,+2} !?{Advantage/Disadvantage?|Advantage,2d12kh1|Normal,1d12|Disadvantage,2d12kl1} &{template:npcaction} {{rname=Journey}} {{description=Result:[[?{Advantage/Disadvantage?}?{Embark Roll}]]}} And if you want to make it even better, you'd use Rollable Tables to simply print out what the table results are directly into chat, instead of looking it up in a google doc.  Since you have a Pro subscription, you could use the RecursiveTables script to roll all of these things at once and output a single result that lists all of the rolls and what the effects were, but that would take a little more setup. Dear Jarren,  Thank you for your help.  I'll give it a go and report back.  Everytime I ask these questions I learn a little bit more about coding with Macros!  I do have a Pro Subscription and the recursive tables API running in the sandbox.   I haven't really dug into using it before - but this sounds like an ideal opportunity to learn how!  P.S What are the roll templates e.g. default, npcaction?  I tried looking for them on the Wiki but again went down a rabbit hole of feeling like I was not understanding what I was reading.
The Macro works perfectly just as I had in mind.  Thank you for your help in pressing my malformed code into working order! 
This is the google doc I have all the outputs in for the Embark, Journey and Arrival Tables. <a href="https://docs.google.com/document/d/1iPZnQ5LTAvAK5fiCwQLaROfZgzB2-HNjRXNm-jBAvZE/edit" rel="nofollow">https://docs.google.com/document/d/1iPZnQ5LTAvAK5fiCwQLaROfZgzB2-HNjRXNm-jBAvZE/edit</a> Many, if not most have further rolls concerning the outcome of a player-specifc roll or further rolls for number/type of encounter. e.g Journey result 7:&nbsp; the hunter thinks this is a good area to hunt for some game.&nbsp; Roll survival check against terrain DC.&nbsp; Failure: you spent the next 1d4 hours tracking the beast fruitlessly everyone takes 1d8 damage from scratches and twisted ankles everyone gains 1 lvl of exhaustion and increase arrival penalty by +1 How do you suggest I incorporate the text concerning the table and choice it asks the players to make for Recursive Tables to use? I've seen examples for things like weather where the tables are simple e.g windy, rainy, sunny.&nbsp; so [[t1 [[weather]]] functions rather well by substituting a roll into the text read out in chat.&nbsp; That much I think I sort of understand.&nbsp; But how do I translate that into making roll tables that can capture the relative complexity of the embark, journey, arrival mechanic used in AiME which assigns roles to PCs and has their rolls affect how the journey starts, progresses and ends? As with all of this, I am utterly naive and very grateful for anyone taking their time to explain to me what are probably simple concepts in ways I can use and learn how to use the coding tools available.&nbsp; It's all just a little bit bewildering otherwise.
(DM) RH said: P.S What are the roll templates e.g. default, npcaction?&nbsp; I tried looking for them on the Wiki but again went down a rabbit hole of feeling like I was not understanding what I was reading. Templates are just a way of displaying information, using CSS.&nbsp; The 'default' roll template is built into Roll20, and can be used in any game at any time. It has a simple format: &amp;{template:default} and then each field is indicated by a set of braces {{ }}. Each field has two parts which are separated by an equals symbol.&nbsp; There is only one 'special' field which is the 'name' field, so whatever you have in the {{name=}} field will be the header, otherwise all other fields will be displayed in rows in the order they were used in a macro. Any other roll template must be built into the character sheet that the game uses, so Pathfinder, D&amp;D 5E, Call of Cthulu, etc. will each have different character sheets (possibly more than one per game, such as the 5E Shaped sheet versus the D&amp;D 5E by Roll20 which are both for 5th Edition D&amp;D).&nbsp;&nbsp; For the D&amp;D 5E by Roll20 Character sheet, you can find a&nbsp; list of the roll templates here . Those roll templates will not work unless your game is using the D&amp;D 5E by Roll20 Character sheet. The 'npcaction' template is a great one to use because you can use almost any of the fields from the other templates.&nbsp;
(DM) RH &nbsp;said: This is the google doc I have all the outputs in for the Embark, Journey and Arrival Tables. <a href="https://docs.google.com/document/d/1iPZnQ5LTAvAK5fiCwQLaROfZgzB2-HNjRXNm-jBAvZE/edit" rel="nofollow">https://docs.google.com/document/d/1iPZnQ5LTAvAK5fiCwQLaROfZgzB2-HNjRXNm-jBAvZE/edit</a> Many, if not most have further rolls concerning the outcome of a player-specifc roll or further rolls for number/type of encounter. e.g Journey result 7:&nbsp; the hunter thinks this is a good area to hunt for some game.&nbsp; Roll survival check against terrain DC.&nbsp; Failure: you spent the next 1d4 hours tracking the beast fruitlessly everyone takes 1d8 damage from scratches and twisted ankles everyone gains 1 lvl of exhaustion and increase arrival penalty by +1 How do you suggest I incorporate the text concerning the table and choice it asks the players to make for Recursive Tables to use? I've seen examples for things like weather where the tables are simple e.g windy, rainy, sunny.&nbsp; so [[t1 [[weather]]] functions rather well by substituting a roll into the text read out in chat.&nbsp; That much I think I sort of understand.&nbsp; But how do I translate that into making roll tables that can capture the relative complexity of the&nbsp; embark, journey, arrival&nbsp; mechanic used in AiME which assigns roles to PCs and has their rolls affect how the journey starts, progresses and ends? As with all of this, I am utterly naive and very grateful for anyone taking their time to explain to me what are probably simple concepts in ways I can use and learn how to use the coding tools available.&nbsp; It's all just a little bit bewildering otherwise. Yeah that's a pretty complicated system to incorporate into a single roll, because things like the Embarkation Roll can affect rolls on the Journey Table, the Peril, ability checks, advantage/disadvantage, etc.; then there's multiple possible outcomes on each roll.
1626698548
timmaugh
Pro
API Scripter
Have you looked at the metascript gang for some of this? Muler has the ability to roll against its tables or to select data from the table based on value, and with ZeroFrame also installed, will recursively expand rolls or mule-data retrieval. It also lets you store data from one roll to use in another roll later -- either this session or a future one -- so instead of having to ask what the Embarkation roll was, you could just retrieve that data from a mule. In fact, to that last point, since these are metascripts, they could work in a standard chat message (like a roll template) or in the RecursiveTables call... so no matter which direction you went you could store the data you need to keep and re-use it later. Embedding Plugger (another metascript) in the data retrieved from a mule could let you output whispered messages to players and/or the GM to them based on whether they were Scouts, Rangers, etc., from the Journey table... so the GM can see the informative text, but the player might be presented the text, "Hobstuckle needs to make a Stealth roll," possibly even with a button to activate that roll. I wrote up a couple of examples recently, here and here , using Muler (and other metascripts) for other systems. If you want to explore that possibility, I can help get you started.
timmaugh said: Have you looked at the metascript gang for some of this? Muler has the ability to roll against its tables or to select data from the table based on value, and with ZeroFrame also installed, will recursively expand rolls or mule-data retrieval. It also lets you store data from one roll to use in another roll later -- either this session or a future one -- so instead of having to ask what the Embarkation roll was, you could just retrieve that data from a mule. In fact, to that last point, since these are metascripts, they could work in a standard chat message (like a roll template) or in the RecursiveTables call... so no matter which direction you went you could store the data you need to keep and re-use it later. Embedding Plugger (another metascript) in the data retrieved from a mule could let you output whispered messages to players and/or the GM to them based on whether they were Scouts, Rangers, etc., from the Journey table... so the GM can see the informative text, but the player might be presented the text, "Hobstuckle needs to make a Stealth roll," possibly even with a button to activate that roll. I wrote up a couple of examples recently, here and here , using Muler (and other metascripts) for other systems. If you want to explore that possibility, I can help get you started. I have literally never heard of a metascript - this would be my introduction to the concept. I will take a look though.&nbsp; Probably not tonight as we are gaming tonight (3 vs a black ooze in Zaldara's Dungeon!) I'm working on the exploration tables for when they hit the jungle so we've sometime yet. Analogue this system makes sense roll dice carry forward result to 2nd table by writing down the the modifiers&nbsp; and then roll for the branching outcomes Vs a DC decided by the terrain type. The trick is capturing that digitally. My hope is if I can pull this off it will make montaging the interminable hex-crawl actually a lot more fun. The mule concept does sound like just the sort of thing I need but I'd also need the super basic breakdown of how to do it.
1626791538

Edited 1626791557
timmaugh
Pro
API Scripter
Just as a primer... In a game, you have normal/flat/simple messages... these are things that you type into the chat input and they hit the chat pane. They can be plain text or roll templates, whispered or public, and they can include inline rolls ( [[1d10]] ), sheet calls ( @{character|attribute} ), or roll queries( ?{What?|Option1|Option2} ). You also have API messages... these are prepended with an exclamation point, and they do not (in and of themselves) hit the chat pane. They get handed to the scripts you have installed to see if any of them need to answer. The scripts hand the same message off, one script to the next. Typically, each script is looking to see if it needs to do anything with the message by the message handle (the part that immediately follows the exclamation point). !thehandle --arg1 --arg2 The scripts are processed (typically) in install-order, handing the message over in a chain until there are no more scripts to inspect the message to see if they should take action. For these scripts, the destination script designated by the handle is typically the end of the line. You want TokenMod to pick up your call to !token-mod , and you want ChatSetAttrs to pick up the call to !setattrs . The message will continue on through the rest of the scripts; it's just likely that none of them will have anything to do with it. Until recently, that was the end of the discussion. Then The Aaron discovered a quirk of script ordering that would let a script shin-kick its way to the front of the chain of scripts waiting to handle the message in order. In other words, no matter if you installed one of these shin-kicking scripts later in your script library, it would still get the message first. That discovery gave birth to metascripts. Metascripts use the shin-kicking technique to get to the head of the line, but they don't look for a particular handle of their own. They don't aim to be the end-destination of the message. Instead, they are looking for text triggers within the command line that tell them to take particular actions on the message before they hand it off (to the queue of regular scripts waiting to see if they should handle the message). In effect, they offer a universal level of "pre-processing" to other scripts without needing the coding infrastructure duplicated by each individual scripter. Metascripts can alter the command line of the message, alter other properties of the message, or fire other scripts... all with the goal of getting the message into a particular shape by the time that the intended-destination script would pick it up. APILogic - can conditionally include/exclude parts of a command line using comparison logic Muler - can store and retrieve variables from mule tables, offering rollable or static access; can bypass HTML character replacement requirements for roll queries Plugger - offers a way to run script commands at meta-speed, making it easy to plug-in small, single-job code snippets or to execute full calls to other scripts; optionally can return some result from the plugged-in code to the command line (see this discussion about converting a range script to a Plugger plugin to return a range modifier) SelectManager - There is a quirk of Roll20 that when a script sends a chat call to another script, the tabletop's selected tokens are not maintained with the new message. SelectManager returns those. It also allows you to "virtually" select tokens, replacing what is actually selected on the tabletop, or adding to that set. Can also iterate a command on a per-token basis, returning individual information to each token's command line Fetch - Extends the things that can be returned from tokens, characters, etc., including a default value. It offers the ability to designate a default value in case the thing asked for isn't found, and offers a standardized framework to access a repeating attribute without having to know its position on the character sheet ahead of time. MathOps - provides an inline math parser, offering more functions than are available in a typical inline roll ZeroFrame - brings a script framework to scripts that are built to work with it... allowing the user to loop over their installed metascripts and set the order for an individual pass over the loop or for all passes. For instance, sometimes you might need to run a Fetch construction before you base APILogic off of what you return. Other times, you might need to run the APILogic comparisons before you know what you need to Fetch. ZeroFrame also allows you to defer inline rolls (only resolving them after all required meta-processing has completed), and to output a simple message (hitting the chat window) and skipping the waiting queue of API scripts. That ability means you can utilize metascript constructs in what you want to be a normal message. So even though you don't have a destination script in mind, you can still use APILogic to conditionally construct your line, or you can use Muler to return a variable, or you can Fetch a token property that isn't available with the typical Roll20 syntax, or you can use Plugger to get the range between two tokens... and then output that to a roll template in the chat window. The Meta Script Toolbox thread links to the articles for each of these... although I owe an article or two to the wiki to start to update people on how to really leverage these.
timmaugh said: Just as a primer... In a game, you have normal/flat/simple messages... these are things that you type into the chat input and they hit the chat pane. They can be plain text or roll templates, whispered or public, and they can include inline rolls ( [[1d10]] ), sheet calls ( @{character|attribute} ), or roll queries( ?{What?|Option1|Option2} ). You also have API messages... these are prepended with an exclamation point, and they do not (in and of themselves) hit the chat pane. They get handed to the scripts you have installed to see if any of them need to answer. The scripts hand the same message off, one script to the next. Typically, each script is looking to see if it needs to do anything with the message by the message handle (the part that immediately follows the exclamation point). !thehandle --arg1 --arg2 The scripts are processed (typically) in install-order, handing the message over in a chain until there are no more scripts to inspect the message to see if they should take action. For these scripts, the destination script designated by the handle is typically the end of the line. You want TokenMod to pick up your call to !token-mod , and you want ChatSetAttrs to pick up the call to !setattrs . The message will continue on through the rest of the scripts; it's just likely that none of them will have anything to do with it. Until recently, that was the end of the discussion. Then The Aaron discovered a quirk of script ordering that would let a script shin-kick its way to the front of the chain of scripts waiting to handle the message in order. In other words, no matter if you installed one of these shin-kicking scripts later in your script library, it would still get the message first. That discovery gave birth to metascripts. Metascripts use the shin-kicking technique to get to the head of the line, but they don't look for a particular handle of their own. They don't aim to be the end-destination of the message. Instead, they are looking for text triggers within the command line that tell them to take particular actions on the message before they hand it off (to the queue of regular scripts waiting to see if they should handle the message). In effect, they offer a universal level of "pre-processing" to other scripts without needing the coding infrastructure duplicated by each individual scripter. Metascripts can alter the command line of the message, alter other properties of the message, or fire other scripts... all with the goal of getting the message into a particular shape by the time that the intended-destination script would pick it up. APILogic - can conditionally include/exclude parts of a command line using comparison logic Muler - can store and retrieve variables from mule tables, offering rollable or static access; can bypass HTML character replacement requirements for roll queries Plugger - offers a way to run script commands at meta-speed, making it easy to plug-in small, single-job code snippets or to execute full calls to other scripts; optionally can return some result from the plugged-in code to the command line (see this discussion about converting a range script to a Plugger plugin to return a range modifier) SelectManager - There is a quirk of Roll20 that when a script sends a chat call to another script, the tabletop's selected tokens are not maintained with the new message. SelectManager returns those. It also allows you to "virtually" select tokens, replacing what is actually selected on the tabletop, or adding to that set. Can also iterate a command on a per-token basis, returning individual information to each token's command line Fetch - Extends the things that can be returned from tokens, characters, etc., including a default value. It offers the ability to designate a default value in case the thing asked for isn't found, and offers a standardized framework to access a repeating attribute without having to know its position on the character sheet ahead of time. MathOps - provides an inline math parser, offering more functions than are available in a typical inline roll ZeroFrame - brings a script framework to scripts that are built to work with it... allowing the user to loop over their installed metascripts and set the order for an individual pass over the loop or for all passes. For instance, sometimes you might need to run a Fetch construction before you base APILogic off of what you return. Other times, you might need to run the APILogic comparisons before you know what you need to Fetch. ZeroFrame also allows you to defer inline rolls (only resolving them after all required meta-processing has completed), and to output a simple message (hitting the chat window) and skipping the waiting queue of API scripts. That ability means you can utilize metascript constructs in what you want to be a normal message. So even though you don't have a destination script in mind, you can still use APILogic to conditionally construct your line, or you can use Muler to return a variable, or you can Fetch a token property that isn't available with the typical Roll20 syntax, or you can use Plugger to get the range between two tokens... and then output that to a roll template in the chat window. The Meta Script Toolbox thread links to the articles for each of these... although I owe an article or two to the wiki to start to update people on how to really leverage these. Wowzers! That all sounds very cool and think I about got it reading it through once. How on Earth I apply that to this I wouldn't know where to begin! But as a primer, that was detailed, insightful and helpful in present ingthe concept and I appreciate the help..
1627919251

Edited 1627919347
timmaugh
Pro
API Scripter
I have a functioning version of this very nearly completed in my test game, but I do have questions (at end of this message)... First, the pics: Step 1 - GM clicks button to "Start New Journey After answering prompts about the Guide, Peril, Terrain, Difficulty, and whether the Ranger is acting as Guide, the GM gets this whisper: EDIT: I realize I mis-spelled "Embark" in the above image. I have corrected that in my command line, but I'm not going to go through the hassle of recapturing/posting the image. Step 2 - GM clicks the Alert button Whomever was designated as the Guide gets the following whisper: Step 3 - Guide clicks button to Embark The roll takes into account the GMs choices for the Journey, and produces an output like: If the Guide tries to roll again, s/he is prompted with the following message: ...until the GM initiates a new Journey. Step 4 - Journey Encounters The GM clicks a button to generate an encounter. Every encounter decrements the count of remaining encounters for this journey. As long as there is still an encounter to be had, the GM gets an output from the Journey Table: If there are still more encounters after this one, there will be a button at the bottom of the output to generate the next encounter. If this is the last encounter, that entry says, instead, "None": And if the GM should try to generate an encounter when the remaining encounters is already at 0, you'd be prompted with: Remaining Bells &amp; Whistles to Build I did not include some of the effect text from the Journey in the output, as that text should automatically prompt for certain activities... like checking the Embarkation Roll to see if it is a 1 or 12, and alerting you that the encounter is automatically a friend or foe. Other text that did make it in can be replaced with messages to other players. For instance, if every character has to make a CON check, they should get a message prompting them for that roll. Also, I haven't built the Arrival portion, yet. Questions If this looks like something you might like, I can post the setup instructions, and/or invite you to my test game so you can poke around and see it in action. To get it finalized, though, I have some questions: 1) The Embarkation table #10 and #12 have a +1 and a +2 (respectively) mod to Journey Encounter rolls. Based on the construction of the Journey Encounters table, I believe that is wrong. These are good rolls for Embarkation, so you want better/easier encounters, which would mean subtracting these mods. Am I correct? 2) For the Terrain mods (selected by the GM at the start of a Journey), both Hard and Severe are listed as +1... are these supposed to be the same? 3) The Journey Encounter table #12 references the "Embarkation value"... does this refer to the Peril setting for the Journey? 4) Your "Journey Length" numbers both overlap and leave gaps. A short journey is up to 6 days, except that your medium journey is from 6 to 15 days -- so those overlap. Then your long journey starts at 17 days, even though that doesn't account for 16 days. This doesn't matter to what I've set up, but you might want to correct it. 5) It looks like the party can only choose the speed of their Journey once -- at the beginning. That generates the number of encounters along the way. And while that pace has implications for what they can do (for instance, no longer able to ambush), they can't actually change it once the journey has started. Is this correct?
timmaugh WOW!!!! I am so impressed with this.&nbsp; I will review your post tomorrow and reply with answers to your questions.&nbsp; I am floored by what you have accomplished.&nbsp; That is simply amazing!&nbsp;
timmaugh said: I have a functioning version of this very nearly completed in my test game, but I do have questions (at end of this message)... First, the pics: Step 1 - GM clicks button to "Start New Journey After answering prompts about the Guide, Peril, Terrain, Difficulty, and whether the Ranger is acting as Guide, the GM gets this whisper: EDIT: I realize I mis-spelled "Embark" in the above image. I have corrected that in my command line, but I'm not going to go through the hassle of recapturing/posting the image. Step 2 - GM clicks the Alert button Whomever was designated as the Guide gets the following whisper: Step 3 - Guide clicks button to Embark The roll takes into account the GMs choices for the Journey, and produces an output like: If the Guide tries to roll again, s/he is prompted with the following message: ...until the GM initiates a new Journey. Step 4 - Journey Encounters The GM clicks a button to generate an encounter. Every encounter decrements the count of remaining encounters for this journey. As long as there is still an encounter to be had, the GM gets an output from the Journey Table: If there are still more encounters after this one, there will be a button at the bottom of the output to generate the next encounter. If this is the last encounter, that entry says, instead, "None": And if the GM should try to generate an encounter when the remaining encounters is already at 0, you'd be prompted with: Remaining Bells &amp; Whistles to Build I did not include some of the effect text from the Journey in the output, as that text should automatically prompt for certain activities... like checking the Embarkation Roll to see if it is a 1 or 12, and alerting you that the encounter is automatically a friend or foe. Other text that did make it in can be replaced with messages to other players. For instance, if every character has to make a CON check, they should get a message prompting them for that roll. Also, I haven't built the Arrival portion, yet. Questions If this looks like something you might like, I can post the setup instructions, and/or invite you to my test game so you can poke around and see it in action. To get it finalized, though, I have some questions: 1) The Embarkation table #10 and #12 have a +1 and a +2 (respectively) mod to Journey Encounter rolls. Based on the construction of the Journey Encounters table, I believe that is wrong. These are good rolls for Embarkation, so you want better/easier encounters, which would mean subtracting these mods. Am I correct? 2) For the Terrain mods (selected by the GM at the start of a Journey), both Hard and Severe are listed as +1... are these supposed to be the same? 3) The Journey Encounter table #12 references the "Embarkation value"... does this refer to the Peril setting for the Journey? 4) Your "Journey Length" numbers both overlap and leave gaps. A short journey is up to 6 days, except that your medium journey is from 6 to 15 days -- so those overlap. Then your long journey starts at 17 days, even though that doesn't account for 16 days. This doesn't matter to what I've set up, but you might want to correct it. 5) It looks like the party can only choose the speed of their Journey once -- at the beginning. That generates the number of encounters along the way. And while that pace has implications for what they can do (for instance, no longer able to ambush), they can't actually change it once the journey has started. Is this correct? Hi Timmaugh,&nbsp; Huge apologies - real life sort of interveined in a ' need to buy a house ' sort of way and thoroughly derailed my plans to sit down and reply to your post.&nbsp; So a little later than intended, here we go. 1 - Yes please invite me to your test game so I can see this in action!&nbsp; 2 - Embark 10 &amp; 12 contain +1 and +2 modifiers for the journey table. &nbsp;- yes this is by design. The journey results table is a mixture of good, neutral or potentially bad outcomes.&nbsp; The idea is the better they roll to embark the more likely there are to roll high on the journey table (mitigated by the terrain and general peril) and meet favourable - but not always - circumstances in encounters. Rolling high on the d12 for the journey ranges from - finding a campsite to long rest at (8), which may or may not be safe to use; A piece of lore which can either inspire or crush their hope (9); A Dangerous place (10) could be a abandoned watchtower or a goblin campsite, corruption from the spellplague, a batlefield filled with undead ghosts. Moar Enemies (11) is for large movements of groups - could be a stampede, a phalanx of Ras Nsi's undead or a moot of Goblin-kin, the skies darken under the wings of hundreds of ptera folks - reflective of the fact that the jungle is alive with enemies that will vastly outnumber an adventuring party; An (in)auspicious meeting (12) is when I can introduce a significant NPC (if they were hunting for Meskia, or find Salida at camp with some Zhentarim, can be role-play&nbsp; - and it could be role-play or combat, this is more to help me the DM steer the story and come up with an encounter involving them as appropriate. 3 - the Terrain Mods Hard and Severe are both +1. Yeah, this was a small plateu I introduced so that the terrible terrain didn't end up skewing negative all the time.&nbsp; I considered a straight scale of +1 +2 +3, but I worried that the dreadful settings would be negative 100% of the time so I made it so Dreadful is still the worst of the bunch - but the terrain modifier didn't increase while the DC did. If you think it would work better as +1, +2 +3 we can change it, but my concern was this made the results always awful - and while that is fitting - in story terms a perpetual down beat is miserable so I wanted to leaven it a smidge. 4 - The journey table 12 references Embarkation value. This was intended to reflect the D12 without modifiers used in the Embarkation Roll&nbsp; - and simply determines if the (in)auspicious meeting is automatically an enemy or an ally. One of the features I really appreciated about the travel rules in AiME was how the consequences carried forward and affected how things played out much later.&nbsp; This was intended to be a consequence for rolling really high (or low) or how the journey starts and then getting a 12 on the journey - and you think you are about to meet Artus Cimber with directions to Omu, and that night the Nightmare hauntings begin becuase that's when the Sewn Sister's found you.&nbsp; &nbsp; 5 - The Journey Length's overlap -&nbsp; This might be an error on my part, it was more to use as an estimation of you want to travel to where on the map?&nbsp; AiME sort of assumes you are traveling to Bree and then onto Weathertop, hence embarl-journey-arrival&nbsp; That doesn't map onto an unexplored jungle so well until it starts to be come explored.&nbsp; So the abstraction is to use the hex per day for the DM to judge okay so that's a long way from Nangalore to Orolunga through swamp (difficult) and deep jungle (hard) and The Shadowfell aura of Orolunga (Dreadful)&nbsp; - and I will need enough encoutners to reflect that sense of exploring various biomes and terrains and pick encounters which reflect the changing circumstances - guided by the types of encounter that pop out of the journey table. 6 - The pace of the party is it chosen once? I did not intend it to be, no.&nbsp; If they have had a particularly bruising encounter they may be looking for somewhere they can rest and recover - that will not be automatic so they may chose to slow their pace to more thoroughly canvas the hex at a penalty to their progress. Likewise if they are running after the orc pack like Aragorn, Legolas and Gmili - that will move them further on the map but at a cost to blundering into an encounter and an increase in the chance of exhaution becuase they are running.&nbsp; I saw this as something the DM would ask the party, akin to "are you doing this stealthily?"&nbsp; &nbsp; I am really sorry it took this long to get back to you with a substantive reply - and I hope that clarifies things and am super-excited to see all this in action.&nbsp; Thank You!&nbsp;
1630413165
timmaugh
Pro
API Scripter
So what you're saying is, you started a journey... maybe with a Realtor guide, maybe with you acting as your own Realtor guide...&nbsp; =D No worries. I sent a PM with the game invite.
timmaugh said: So what you're saying is, you started a journey... maybe with a Realtor guide, maybe with you acting as your own Realtor guide...&nbsp; =D No worries. I sent a PM with the game invite. Was out this afternoon looking at a three story townhouse over a garage, with mum and dad who just happened to be visiting.&nbsp; Proper viewing on Thursday.&nbsp; Yup&nbsp; this is my life currently.&nbsp;&nbsp; Thanks for the game invite - I will look it up and join soon.&nbsp; Cheers!&nbsp;