The One Ring
From Roll20 Wiki
The One Ring (TOR) is less tactically oriented than some games played on the Roll20 platform, but we can still configure it to help with:
- shared dice rolls, showing the 'proper' TOR dice.
- help with tracking players' "state" in the subsystems for travel and combat
- using features in the toolset to provide assistance in generating attack buttons for tokens.
- re-styling the Roll20 user interface to make it more atmospheric.
This guide currently details use of Rollable Tables, Attributes and Macros to achieve the first. It also points out links to items on the Roll20 site to assist with the third. At the end of the guide you will find some example macros you can copy-paste into your roll20 campaign (they will work without scripts).
Contents |
Rollable Tables
First, to get hold of the graphics for the TOR dice, you have two options:
- (officially) download the dice font that Cubicle Seven have made available for personal use only in the TOR resources thread, take screenshots and create your own graphics;
- (unofficially) download directly a zip file where someone has already done this work for you.
Then you need to create five Rollable Tables for the One Ring dice - named 'feat', 'normal', 'weary', 'lm-feat' and 'hazard' (these names are important only because they are referenced in the macros below). For each Rollable Table, check the box that says "Players can roll from table?" except for the 'hazard' table and the 'lm-feat' table, then add the following items per table (n.b. the Icon refers to the graphics you downloaded or created).
feat
Name | Weight | Icon (Optional) |
---|---|---|
1 | 1 | 1.png |
2 | 1 | 2.png |
3 | 1 | 3.png |
4 | 1 | 4.png |
5 | 1 | 5.png |
6 | 1 | 6.png |
7 | 1 | 7.png |
8 | 1 | 8.png |
9 | 1 | 9.png |
10 | 1 | 10.png |
0 | 1 | eye.png |
10 | 1 | gandalf.png |
Note the '0' between 10 and line 12: this is the value for the Eye of Sauron.
normal
Name | Weight | Icon (Optional) |
---|---|---|
1 | 1 | 1.png |
2 | 1 | 2.png |
3 | 1 | 3.png |
4 | 1 | 4.png |
5 | 1 | 5.png |
6 | 1 | 6-tengwar.png |
weary
Name | Weight | Icon (Optional) |
---|---|---|
0 | 1 | 1-weary.png |
0 | 1 | 2-weary.png |
0 | 1 | 3-weary.png |
4 | 1 | 4.png |
5 | 1 | 5.png |
6 | 1 | 6-tengwar.png |
Note the three '0's at the beginning: these are for the 1-3 scores that are discounted on rolls when weary. We use separate items so we can display the separate graphic icons.
The 'lm-feat' table switches the value of the Eye of Sauron and Gandalf icons when rolled by the LM.
lm-feat
Name | Weight | Icon (Optional) |
---|---|---|
1 | 1 | 1.png |
2 | 1 | 2.png |
3 | 1 | 3.png |
4 | 1 | 4.png |
5 | 1 | 5.png |
6 | 1 | 6.png |
7 | 1 | 7.png |
8 | 1 | 8.png |
9 | 1 | 9.png |
10 | 1 | 10.png |
10 | 1 | eye.png |
0 | 1 | gandalf.png |
Note the '0' in position 12: this is the value for the Gandalf rune when rolled by the LM for a Minion of the Enemy. The '10' in position eleven is for the Eye of Sauron as the value switches with that of the 'G' rune when rolled by the LM.
hazard
Name | Weight | Icon (Optional) |
---|---|---|
Guide | 3 | |
Scout | 2 | |
Huntsman | 2 | |
Lookout_man | 2 | |
All_Companions | 1 | |
LM_Choice | 1 | |
Players_Choice | 1 |
Macros
We now need to create Macros to automate rolling the Feat Die and additional D6. These prompt for a description of what the roll is for (useful for reference in the chat window!) and how many dice to D6 to add:
feat
/me rolls for ?{Skill name|attack} /r 1t[feat] + ?{Number of D6 to roll|0}t[@{selected|weary}]The LM version of this works slightly differently as monster tokens don't have an Attribute list to pull their Endurance status from.
lmfeat-normal
/me rolls for ?{Skill name|attack} /r 1t[feat] + ?{Number of D6 to roll|0}t[normal]A corresponding lmfeat macro is used for creatures that are weary.
lmfeat-weary
/me rolls for ?{Skill name|attack} /r 1t[feat] + ?{Number of D6 to roll|0}t[weary]We can also create a macro that handles two Feat Dice and keeping the best roll:
2feat
/me rolls best of 2 feat dice for ?{Skill name|attack} /r {2t[feat]}k1 + ?{Number of D6 to roll|0}t[@{selected|weary}]And also, a macro that handles two Feat Dice and keeping the worst roll:
2feat-low
/me rolls worst of 2 feat dice for ?{Skill name|attack} /r {2t[feat]}kl1 + ?{Number of D6 to roll|0}t[@{selected|weary}]A macro that handles Travels rolls for players Travel
@{selected|token_name} rolls for Travel /r 1t[feat] + @{selected|travel|0}t[@{selected|weary}]To use this macro you need to have an Attribute labelled 'travel' set up in each character.N.B. these use the currently selected token, and can be set as 'Visible to Players' to share with your players to use with any token they are allowed to control. Alternatively you can have the players create their own macros. If they make their own, have them replace 'selected' with the name of their character so they don't need to have their token selected.
Hazard
/r 1t[hazard]This macro rolls on the 'hazard' rollable table and generates a result from the table on page 35 of the LM book which is checked when a character rolls a fatigue test for travelling and fails with an 'Eye' symbol. If you are using any of the alternate rules for travelling then you should adjust this macro and the table to suit.If you check the option to display the macro 'In Bar', you will get a convenient button to trigger a roll. Alternatively you can type e.g. '#feat' into the chat window to trigger rolling the Feat die with prompts.N.B. you can also add a modifier to your die roll by adding a suffix when you call the macro, e.g. typing "#feat +2" will roll the Feat die, two D6 and add 2 to the result.
Buttons and Tokens
The Tips and Tricks link on the left side of the page provides help with adding Macros to tokens and the associated buttons to activate them.
https://wiki.roll20.net/Linking_Tokens_to_Journals
This shows you how to add a Macro such as "Primary Weapon Attack":
/em @{selected|character_name} strikes at @{target|character_name} with his/her @{selected|weapon_skill_name_1} /r 1t[feat] + @{selected|weapon_rating_1}t[@{selected|Weary}]
and make it a Token Action which shows up when you select a Token. It requires the addition of the Rollable Tables shown above and referenced in the Macro.
Restyling the user interface
Update: it is now recommended to use Stylus instead of Stylish, details see below.
A theme for The One Ring has been developed that can be installed in your browser (either Firefox or Chrome at least) by installing a free plugin.
Install Stylish then the theme
- Update: it is now recommended to use Stylus (https://addons.mozilla.org/de/firefox/addon/styl-us/) instead of Stylish for data privacy reasons (details: https://www.ghacks.net/2017/05/16/stylus-is-a-stylish-fork-without-analytics/)
- install the Stylus extension in your browser
- navigate to roll20.net
- click on the Stylus icon and "search for styles"
- browse until you find "The One Ring on Roll20" by StuartJ
- (not recommended anymore: go to http://userstyles.org and follow the links to install either 'Stylish for Firefox' or 'Stylish for Chrome'.)
- (not recommended anymore: go to http://userstyles.org/styles/100415/the-one-ring-on-roll20 and click 'Install with Stylish'.)
Configuring your Roll20 game
- go to Roll20 and open your game. You should see the pages and menu tabs already look different, but the background (probably) doesn't. This is because Roll20 defaults to showing a white background with a grid.
- go to the Pages tab at the top, hover over a page and click the 'Page settings icon' (gear icon in the top left).
- In the 'Page Settings' popup window that appears, click on the box next to 'Background', then in the smaller pop-up window with little coloured boxes, type 'transparent' in the 'Hex' text field at the bottom and press return. The background box should now have changed to a grey and white checkerboard. Also uncheck the box for 'Grid' then click 'OK'.
- You should now see the ring and wooden backdrop! You're done. :-)
Scripts and Macros
Here is an extended guide to setting up scripts and macros to automate rolls and battle significantly.
Unfortunately a lot of Michael Heilemann API have become broken and need tweaking to work right, Still follow his guide but I have tweaked his API you may find the updated API Script here The One Ring Updated API Script Download
Example Macros (to use with a Free Account)
These sample macros are based on the excellent work from Michael Heilemann (character sheet and macro examples he provided under the site mentioned above ). A big “Thank You” to him for this great job!
Unfortunately some of the macros from the example above have become broken and will need tweaking, I have with help from others reworked the macros I have broken them down into sections in the hope of making them a bit more future proof so if Roll20 were to break them it would be easier to troubleshoot I also under Abilities in the different Character sheets add calls to execute the macros examples are provided at the bottom of my Updated The One Ring Macros . The One Ring Updated Macros Download
Please be aware that the macros below provide a limited functionality compared to the ones he is presenting in his guide as it does not use any scripts. However, all of them can be used with the free account in Roll20 and they still provide a good level of support to both players and LM.
Note: some of the macros below are a repetition of what is already stated above but for the sake of completeness...
Player Character Macros
Player Attack Macros
Add these macros but don’t show them neither as Token Action nor In Bar. Use these as abilities instead. Be sure to set these macro's as Visible to Players “All Players”, otherwise your players can't use their abilities.
Go to each PC sheet. Add Ability (as many as you have weapon slots, e.g. 3). Give it the name of Weapon #1 (e.g. “Sword”) and enter #attack_w1 in the macro text field for the first Ability macro. Save and select “Show as Token Action”. Repeat for every weapon. Done.
attack_w1
/em strikes at @{target|character_name} with the @{selected|weapon_skill_name_1} vs. TN [[?{Target Number from Stance|0} + @{target|parry} + @{target|shield}]] &{template:default} {{name=@{selected|weapon_skill_name_1}}} {{Damage=@{selected|weapon_damage_1}}} {{Edge = @{selected|weapon_edge_1}}} {{Injury=@{selected|weapon_injury_1}}} {{Called Shot = @{selected|weapon_called_shot_1}}} {{Damage Bonus = @{selected|damage}}} {{Ranged Bonus = @{selected|ranged}}} {{Favoured = @{selected|weapon_favoured_1}}} /r 1t[feat] + @{selected|weapon_rating_1}t[@{selected|Weary}] A miss AND Eye-of-Sauron triggers a Called Shot attempt of your opponent (as next action)!
attack_w2
/em strikes at @{target|character_name} with the @{selected|weapon_skill_name_2} vs. TN [[?{Target Number from Stance|0} + @{target|parry} + @{target|shield}]] &{template:default} {{name=@{selected|weapon_skill_name_2}}} {{Damage=@{selected|weapon_damage_2}}} {{Edge = @{selected|weapon_edge_2}}} {{Injury=@{selected|weapon_injury_2}}} {{Called Shot = @{selected|weapon_called_shot_2}}} {{Damage Bonus = @{selected|damage}}} {{Ranged Bonus = @{selected|ranged}}} /r 1t[feat] + @{selected|weapon_rating_2}t[@{selected|Weary}] A miss AND Eye-of-Sauron triggers a Called Shot attempt of your opponent (as next action)!
attack_w3
/em strikes at @{target|character_name} with the @{selected|weapon_skill_name_3} vs. TN [[?{Target Number from Stance|0} + @{target|parry} + @{target|shield}]] &{template:default} {{name=@{selected|weapon_skill_name_3}}} {{Damage=@{selected|weapon_damage_3}}} {{Edge = @{selected|weapon_edge_3}}} {{Injury=@{selected|weapon_injury_3}}} {{Called Shot = @{selected|weapon_called_shot_3}}} {{Damage Bonus = @{selected|damage}}} {{Ranged Bonus = @{selected|ranged}}} /r 1t[feat] + @{selected|weapon_rating_3}t[@{selected|Weary}] A miss AND Eye-of-Sauron triggers a Called Shot attempt of your opponent (as next action)!
Character-Specific Player Macros
Add these macros and select Show as Token Actions and Visible to Players “All Players”.
EscapeCombat
/em attempts to flee vs. TN [[10 + ?{highest Attribute level among foes?|0}]] /r 1t[feat]+@{selected|athletics|0}t[@{selected|weary}] Attribute-Bonus: Body Great/Extraordinary success needed to escape if engaged by multiple opponents. On failure you stay engaged and cannot attack in next round.
Protection
/em rolls for Protection vs. TN ?{Injury|0} /r 1t[feat] + @{selected|armour}t[@{selected|Weary}] + @{selected|head-gear} Attribute-Bonus: Body
Travel
/em rolls for Travel vs. TN ?{Target Number|14} /r 1t[feat]+@{selected|travel|0}t[@{selected|weary}] Attribute-Bonus: Heart
Generic Macros
Add these macros. Make them visible to All Players and show them In Bar. The FlexRoll can be used to re-roll the feat die on various occasions (e.g. for pick best or worst) or to roll for some NSC. The SuccessDie lets you roll just that.
FlexRoll
/em Rolling for something... vs. TN ?{Target Number|14} /r ?{Number of Feat Dice|1}t[feat] + ?{Number of Success Dice|0}t[?{Normal or Weary|normal,normal|weary,weary}] + ?{Modifier|0}
SuccessDie
/em Rolling an additional success die /r 1t[?{Normal or Weary|normal,normal|weary,weary}]
LM and NSC Macros
Important: The NSC macros don’t use the weary-attribute as the ones for the Player Characters do. This is done in order to support the use of mooks ( [[1]] ). So for this macro to work as written you need to make sure that bar1 (default the green one) for all your NSCs is set to either “normal” or “weary”. (You can of course change to bar2 or bar3 but then make sure you change the macros accordingly.)
Adversary Attack Macros
Add these macros but don’t show them neither as Token Action nor In Bar. Use these as abilities instead. Go to each NSC sheet. Add Ability (as many as you have weapon slots, e.g. 2). Give it the name of Weapon #1 (e.g. “Claws”) and enter #lm_attack_1 in the macro text field for the first Ability macro. Save and select “Show as Token Action”. Repeat for every weapon. Done.
Note: I experienced issues with weapon attributes not being created when I entered the weapons in the Adversary section of the character sheet. However, when I entered the weapons (and only the weapons) in the Player Character section of the same sheet it worked perfectly.
lm_attack_1
/em @{selected|character_name} strikes at @{target|character_name} with the @{selected|weapon_skill_name_1} vs. /desc TN [[?{Target Number from Stance|0} + @{target|parry} + @{target|shield}]] &{template:default} {{name=@{selected|weapon_skill_name_1}}} {{Damage=@{selected|weapon_damage_1}}} {{Edge = @{selected|weapon_edge_1}}} {{Injury=@{selected|weapon_injury_1}}} {{Called Shot = @{selected|weapon_called_shot_1}}} {{Damage Bonus = @{selected|attribute_level}}} {{Favoured = @{selected|weapon_favoured_1}}} /r 1t[lm-feat] + @{selected|weapon_rating_1}t[@{selected|bar1}] +[[@{selected|weapon_favoured_1} * @{selected|attribute_level}]]
lm_attack_2
/em @{selected|character_name} strikes at @{target|character_name} with the @{selected|weapon_skill_name_2} vs. /desc TN [[?{Target Number from Stance|0} + @{target|parry} + @{target|shield}]] &{template:default} {{name=@{selected|weapon_skill_name_2}}} {{Damage=@{selected|weapon_damage_2}}} {{Edge = @{selected|weapon_edge_2}}} {{Injury=@{selected|weapon_injury_2}}} {{Called Shot = @{selected|weapon_called_shot_2}}} {{Damage Bonus = @{selected|attribute_level}}} {{Favoured = @{selected|weapon_favoured_2}}} /r 1t[lm-feat] + @{selected|weapon_rating_2}t[@{selected|bar1}] +[[@{selected|weapon_favoured_2} * @{selected|attribute_level}]]
NSC-Specific Macros
lm_protection
/em @{selected|character_name} rolls for Protection vs. /desc TN ?{Injury|0} /r 1t[lm-feat] + @{selected|armour}t[@{selected|bar1}] + [[@{selected|armour_favoured} * @{selected|attribute_level}]]
Loremaster Rolls
lm_hazard
/em Loremaster rolls for a hazard! /r 1t[hazard]
Tips on how to handle Bonus Dice, Inspired Condition and Courage Points
If you want to keep track of
- the journey/combat/encounter bonus dice and/or
- the bonus dice from the inspired condition (see the rules for Singing Songs in the Rivendell sourcebook p. 24) and/or
- the courage points (introduced in the Adventurer's Companion p. 104)
you can make use of the Card Deck feature in Roll20.
https://wiki.roll20.net/Collections#Card_Decks
You deal out a number of cards equal to the number of bonus dice in a certain category or the number of courage points a player has. Whenever a player wants to use such a die it is removed from the hand and put on the table.
Just prepare an image for the dice/points you want to keep track and create a card deck for each. You can use the same image for back and front of the card as your deck will only have 1 card but this card infinitely. Make the deck accessible to your players and show/hide when needed.
Hints: For the images you could use drawings from the revised rulebook, e.g. a helmet (p. 121) for combat bonus dice, a wandering hobbit (p. 34 or p. 61) for the journey bonus dice and maybe a smoking pipe (p. 93 or 96) for the encounter bonus dice - for the inspired bonus dice you could use the singing elf (p. 54 or p. 133) and for courage points maybe the inspiring leader on p. 85.
Tor Custom RollTemplate
I added a Custom Roll Template to the Tor Character sheet and added all 66 Character/ping colors to the template in 1/11/21 my github is located at https://github.com/Aragent
Jakob's Better Default Rolltemplate more info can be found here https://wiki.roll20.net/Building_Character_Sheets/Roll_Templates
Example of Aragent's improved Macros using the custom roll template &{template:custom} {{color=@{selected|rolltemplate}}} {{title=%{Game Macros|templatepic}}} {{subtitle=@{selected|token_name}}} {{name=@{selected|token_name}}} {{ %{Game Macros|attack_1}}} {{%{Game Macros|pc_vs_npc_defense}}} %{Game Macros|pc_weapon_temp_1} %{Game Macros|pc} %{Game Macros|pc_weapon_1} %{Game Macros|pc_vs_npc_defense} %{Game Macros|edge_1}
Depending on how creative you wish to get what I do is create a Attribute named rolltemplate and place the color hex code (without the #) then the macro pulls the color hex code from that (so that I don't have to keep modifying my macro if I change colors.) but it can be as simple as [ Template:Color=00ffff ] . with my Improved Macros (I break my macros across character sheets for easier importing/exporting , so if you just want a certain color for all characters you could do {{color=%{Game Macros|rolltemplate}}} or just all PC Characters {{color=%{PC Macros|rolltemplate}}} or if you wish to have each character header the same as their Character/Ping Color you would just {{color=%{selected|rolltemplate}}}
I hope this helps, good luck and better Gaming Aragent user 2624774 https://app.roll20.net/users/2624774/michael-i