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

Cool things to do with TokenMod

Hello, I just imported TokenMod and check the help and it's HUGE! It's a little overwhelming. I guess if someone started when it was small then it would be easy to understand but now it seems monolithic so I'm trying to see what cool things I can do with it and how to do it.  Anyone have good use cases/examples that really changed this gameplay?
1600023486
The Aaron
Roll20 Production Team
API Scripter
Toggling on hunter's mark: !token-mod --set statusmarkers|!archery-target --ids @{target|token_id}
1600023541
The Aaron
Roll20 Production Team
API Scripter
Setting the rotation of selected tokens to 45 degrees: !token-mod --set rotation|45
1600023572
The Aaron
Roll20 Production Team
API Scripter
Adjusting the selected tokens to be 3x3 grid units in size: !token-mod --set scale|3g
1600023681
The Aaron
Roll20 Production Team
API Scripter
Reset all selected tokens to max health (assuming health is in bar3): !token-mod --set bar1_reset|
1600023726
The Aaron
Roll20 Production Team
API Scripter
Set the default token for the character the selected token represents: !token-mod --set defaulttoken
1600023759
The Aaron
Roll20 Production Team
API Scripter
Push the selected token behind all the other tokens: !token-mod --order back
1600023982
The Aaron
Roll20 Production Team
API Scripter
Apply healing to a token, restricted to it's maximum health, report the amount healed to everyone, show the GM the current hp and hp max: !token-mod {{ --set bar3_value|+[[3d8]]! --report all|"{name} regained {bar3_value:abschange} hitpoints" gm|"{name} has {bar3_value}/{bar3_max} hp" }}
1600024027
The Aaron
Roll20 Production Team
API Scripter
Move a target token to a specific location: !token-mod --set left|7.5g top|10.5g --ids @{target|who to move|token_id}
1600024097
David M.
Pro
API Scripter
Too many to list! Basically, automating anything you would want to do with tokens. But, I guess I'll throw one out there. This is one approach to 5E Druid wildshape. Setup is a rollable table token with sides for the druid and each form. Changes the represents property, darkvision (using LDL), bar links, and token size. Any token actions are immediately available since the token now represents a new character. Extensible to as many forms as you want. Note, for wildshape, I would now actually recommend the excellent wildshape script by Angelo, but this at least gives you an idea of the kinds of things you can do with token-mod. With the token selected, this pulls up a chat menu where you can toggle through the forms quickly. The base character name is "Druid" in this example. &{template:npcaction} {{name=@{selected|token_name} }} {{rname=Shapeshifter}} {{description=[Revert Humanoid](!token-mod --set currentside|1 width|70 height|70 represents|@{Druid|character_id} bar1_link|hp bar2_link|ac bar3_link|speed name|Druid showname|yes light_radius| light_dimradius| light_angle|360 --off light_otherplayers @{selected|token_id}) [Dire Wolf](!token-mod --set currentside|2 width|140 height|140 represents|@{Dire Wolf(wildshape)|character_id} bar1_link|hp bar2_link|npc_ac bar3_link|npc_speed name|'Druid Dire Wolf' showname|yes light_radius|60 light_dimradius| light_angle|360 --off light_otherplayers @{selected|token_id} !token-mod --set bar1_value|@{selected|bar1|max}) [Ape](!token-mod --set currentside|3 width|70 height|70 represents|@{Druid|character_id} bar1_link|hp bar2_link|ac bar3_link|speed name|Ape showname|yes light_radius| light_dimradius| light_angle|360 --off light_otherplayers @{selected|token_id} !token-mod --set bar1_value|@{selected|bar1|max}) }}
1600024215
The Aaron
Roll20 Production Team
API Scripter
Set the name of all tokens representing a given character (taken from a token), but only on pages that have players or the gm on them: !token-mod {{ --set name|"@{target|who|character_name} (Seen)" --active-pages --ids @{target|who| character_id } }}
1600024227
Ziechael
Forum Champion
Sheet Author
API Scripter
Then, when you start to get the hang of it, shapeshift a 3.5e druid: /em finds a form to suit her current situation. !token-mod {{ ?{Shape|Lianna, --set  represents#@{Lianna Moonshade|character_id} name#"Lianna Moonshade" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 0| Dire Bear, --set  represents#@{Lianna (Dire Bear form)|character_id} name#"Lianna (Dire Bear form)" height#140 width#140 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 1| Crocodile, --set  represents#@{Lianna (Crocodile form)|character_id} name#"Lianna (Crocodile form)" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 2| Eagle, --set  represents#@{Lianna (Eagle form)|character_id} name#"Lianna (Eagle form)" height#50 width#50 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 3| Leopard, --set  represents#@{Lianna (Leopard form)|character_id} name#"Lianna (Leopard form)" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 4| Dire Wolf, --set  represents#@{Lianna (Dire Wolf form)|character_id} name#"Lianna (Dire Wolf form)" height#140 width#140 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 5| Dire Bat, --set  represents#@{Lianna (Dire Bat form)|character_id} name#"Lianna (Dire Bat form)" height#140 width#140 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 10| Tiger, --set  represents#@{Lianna (Tiger form)|character_id} name#"Lianna (Tiger form)" height#140 width#140 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 11| Hawk, --set  represents#@{Lianna (Hawk form)|character_id} name#"Lianna (Hawk form)" height#40 width#40 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 12| Rat, --set  represents#@{Lianna (Rat form)|character_id} name#"Lianna (Rat form)" height#40 width#40 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 13| Warbound Impaler, --set  represents#@{Lianna (Warbound Impaler form)|character_id} name#"Lianna (Warbound Impaler form)" height#140 width#140 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 14| Silver Dragon, --set  represents#@{Lianna (Silver Dragon form)|character_id} name#"Lianna (Silver Dragon form)" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 15| Steel Dragon, --set  represents#@{Lianna (Steel Dragon form)|character_id} name#"Lianna (Steel Dragon form)" height#50 width#50 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 16| Mercury Dragon, --set  represents#@{Lianna (Mercury Dragon form)|character_id} name#"Lianna (Mercury Dragon form)" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 17| Shadow Dragon, --set  represents#@{Lianna (Shadow Dragon form)|character_id} name#"Lianna (Shadow Dragon form)" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 18| Legendary Ape, --set  represents#@{Lianna (Legendary Ape form)|character_id} name#"Lianna (Legendary Ape form)" height#70 width#70 bar1_value#[[ {[[@{selected|bar1}+@{Lianna Moonshade|level}]], [[@{Lianna Moonshade|hitpoints|Max}]]}kl1 ]] }} !change-token-img --set 19 } Ignore the calls to !change-token-img, this macro is from a while back, tokenMod can handle rollable token sides too!!
1600024333

Edited 1600024347
Ziechael
Forum Champion
Sheet Author
API Scripter
Or have a 5e based LDL sight updater: !token-mod --set ?{Vision|Torch, light_radius#40 light_dimradius#20 light_hassight#yes light_angle#360 light_otherplayers#yes|Hooded Lantern, light_radius#60 light_dimradius#30 light_hassight#yes light_angle#360 light_otherplayers#yes|Bullseye Lantern, light_radius#120 light_dimradius#60 light_angle#60 light_hassight#yes light_otherplayers#yes|Lamp, light_radius#30 light_dimradius#15 light_hassight#yes light_angle#360 light_otherplayers#yes|Candle, light_radius#5 light_dimradius#=0 light_hassight#yes light_angle#360 light_otherplayers#yes|Darkvision, light_radius#60 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Darkvision (90'), light_radius#90 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Warlock Devil's Sight, light_radius#120 light_dimradius#=120 light_hassight#yes light_angle#360 light_otherplayers#no|No light source(Dusk), light_radius#120 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Fog, light_radius#200 light_dimradius#=5 light_hassight#yes light_angle#360 light_otherplayers#no|No light source, light_radius#5 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Blinded, light_hassight#no light_angle#360 light_otherplayers#no}
Truly amazing guys. I am really appreciating this right now and thanks for not saying RTFM (cause I tried it's like jumping onto a moving train)!!
This is sick! David M. said: Too many to list! Basically, automating anything you would want to do with tokens. But, I guess I'll throw one out there. This is one approach to 5E Druid wildshape. Setup is a rollable table token with sides for the druid and each form. Changes the represents property, darkvision (using LDL), bar links, and token size. Any token actions are immediately available since the token now represents a new character. Extensible to as many forms as you want. Note, for wildshape, I would now actually recommend the excellent wildshape script by Angelo, but this at least gives you an idea of the kinds of things you can do with token-mod. With the token selected, this pulls up a chat menu where you can toggle through the forms quickly. The base character name is "Druid" in this example. &{template:npcaction} {{name=@{selected|token_name} }} {{rname=Shapeshifter}} {{description=[Revert Humanoid](!token-mod --set currentside|1 width|70 height|70 represents|@{Druid|character_id} bar1_link|hp bar2_link|ac bar3_link|speed name|Druid showname|yes light_radius| light_dimradius| light_angle|360 --off light_otherplayers @{selected|token_id}) [Dire Wolf](!token-mod --set currentside|2 width|140 height|140 represents|@{Dire Wolf(wildshape)|character_id} bar1_link|hp bar2_link|npc_ac bar3_link|npc_speed name|'Druid Dire Wolf' showname|yes light_radius|60 light_dimradius| light_angle|360 --off light_otherplayers @{selected|token_id} !token-mod --set bar1_value|@{selected|bar1|max}) [Ape](!token-mod --set currentside|3 width|70 height|70 represents|@{Druid|character_id} bar1_link|hp bar2_link|ac bar3_link|speed name|Ape showname|yes light_radius| light_dimradius| light_angle|360 --off light_otherplayers @{selected|token_id} !token-mod --set bar1_value|@{selected|bar1|max}) }}
1600026883
Ziechael
Forum Champion
Sheet Author
API Scripter
Simply put, if there is something you can think of doing with a token (bar recent code releases that may not be API accessible yet...) then tokenMod can likely do it. Search the help guide using specific keywords and the browser search functionality once you have something in mind and there is likely an example in there, failing that, if you have something you want to do with it but can't figure out how, just ask on the forums... the community will jump at the opportunity to help because we've all been there, the bottom of the learning curve is a daunting climb but as I always like to say, the view from the top is worth it ;)
1600029780
Gold
Forum Champion
i use it to Toggle the showname This turns the Nameplate on/off for Tokens. Show the names of the Characters on their tokens at the start of the adventure. Hide the nameplates after a while, for a more pure map and graphics view without the clutter.
Ziechael said: Simply put, if there is something you can think of doing with a token (bar recent code releases that may not be API accessible yet...) then tokenMod can likely do it. Search the help guide using specific keywords and the browser search functionality once you have something in mind and there is likely an example in there, failing that, if you have something you want to do with it but can't figure out how, just ask on the forums... the community will jump at the opportunity to help because we've all been there, the bottom of the learning curve is a daunting climb but as I always like to say, the view from the top is worth it ;) What I'm also trying to figure out is how can I improve the quality of gameplay? I should probably read the forums more to get ideas! Thanks for your help!
1600035509

Edited 1600035680
David M.
Pro
API Scripter
Just expediting monotonous things will improve gameplay by itself, since the players don't have to wait for you to fiddle with stuff manually.  Here's another specific example. Creates a chat menu for the selected token that toggles condition markers by name. Handy to keep things consistent, plus looking up by name is often quicker than trying to find the icon. /w gm &{template:desc} {{desc=**SET STATUS CONDITIONS** for: @{selected|token_name} [Concentration](!token-mod --set statusmarkers#!overdrive) | [Blessed](!token-mod --set statusmarkers#!angel-outfit) | [Raging](!token-mod --set statusmarkers#!rolling-bomb) | [Marked](!token-mod --set statusmarkers#!archery-target) | [Hexed](!token-mod --set statusmarkers#!skull) [Blinded](!token-mod --set statusmarkers#!bleeding-eye) | [Charmed](!token-mod --set statusmarkers#!broken-heart) | [Deafened](!token-mod --set statusmarkers#!edge-crack) | [Frightened](!token-mod --set statusmarkers#!screaming) | [Grappled](!token-mod --set statusmarkers#!grab) | [Invisibility](!token-mod --set statusmarkers#!ninja-mask) | [Incapacitated](!token-mod --set statusmarkers#!interdiction) | [Paralyzed](!token-mod --set statusmarkers#!pummeled) | [Petrified](!token-mod --set statusmarkers#!frozen-orb) | [Poisoned](!token-mod --set statusmarkers#!chemical-bolt) | [Prone](!token-mod --set statusmarkers#!back-pain) | [Restrained](!token-mod --set statusmarkers#!fishing-net) | [Stunned](!token-mod --set statusmarkers#!fist) | [Unconscious](!token-mod --set statusmarkers#!sleepy) [Blue](!token-mod --set statusmarkers|!blue) | [Purple](!token-mod --set statusmarkers|!purple) | [Pink](!token-mod --set statusmarkers|!pink) | [Yellow](!token-mod --set statusmarkers|!yellow) | [OFF](!token-mod --set statusmarkers|=dead|-dead)}} You can take away the /w gm if you want a version the players can use to be able to use the same method for tokens that they control (concentration is a big one for them if you play 5E) EDIT - for concentration, the players could also add a token-mod line to the end of their spell macros that adds the concentration marker automatically   Professor Chaos said: What I'm also trying to figure out is how can I improve the quality of gameplay? I should probably read the forums more to get ideas! Thanks for your help!
Figured I'd jump in and pay it forward with a TokenMod script that I learned and use in my games :)  Just paste this puppy into a new Macro, select a character token, click on the macro, pick you condition, and enjoy!   !token-mod ?{Status|Advantage/Disadvantage, --set statusmarkers#!red|Readying, --set statusmarkers#!sentry-gun|-, |Blinded, --set statusmarkers#!bleeding-eye --flip light_hassight|Charmed, --set statusmarkers#!broken-heart|Confused, --set statusmarkers#!yellow|Deafened, --set statusmarkers#!edge-crack|Frightened, --set statusmarkers#!screaming|Grappled, --set statusmarkers#!grab|Invisibility, --set statusmarkers#!ninja-mask|Incapacitated, --set statusmarkers#!interdiction|Paralyzed, --set statusmarkers#!pummeled|Petrified, --set statusmarkers#!frozen-orb|Poisoned, --set statusmarkers#!chemical-bolt|Prone, --set statusmarkers#!back-pain|Restrained, --set statusmarkers#!fishing-net|Stunned, --set statusmarkers#!fist|Unconscious, --set statusmarkers#!sleepy|-, |Baned, --set statusmarkers#!broken-skull|Blessed, --set statusmarkers#!angel-outfit|Flying, --set statusmarkers#!angel-outfit|Raging, --set statusmarkers#!overdrive|Marked, --set statusmarkers#!archery-target|-, |Dead, --set statusmarkers#=dead|-, |Clear Conditions, --set statusmarkers#-red#-blue#-green#-brown#-purple#-pink#-yellow#-dead#-skull#-sleepy#-half-heart#-half-haze#-interdiction#-snail#-lightning-helix#-spanner#-chained-heart#-chemical-bolt#-death-zone#-drink-me#-edge-crack#-ninja-mask#-stopwatch#-fishing-net#-overdrive#-strong#-fist#-padlock#-three-leaves#-fluffy-wing#-pummeled#-tread#-arrowed#-aura#-back-pain#-black-flag#-bleeding-eye#-bolt-shield#-broken-heart#-cobweb#-broken-shield#-flying-flag#-radioactive#-trophy#-broken-skull#-frozen-orb#-rolling-bomb#-white-tower#-grab#-screaming#-grenade#-sentry-gun#-all-for-one#-angel-outfit#-archery-target}
Here's another for setting sight on a token: !token-mod --set ?{Vision|Torch, light_radius#40 light_dimradius#20 light_hassight#yes light_angle#360 light_otherplayers#yes|Light Spell, light_radius#40 light_dimradius#20 light_hassight#yes light_angle#360 light_otherplayers#yes|Goggles of Night, light_radius#60 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|No Light Source, light_radius#5 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Hooded Lantern, light_radius#60 light_dimradius#30 light_hassight#yes light_angle#360 light_otherplayers#yes|Hooded Lantern (Hood Down), light_radius#60 light_dimradius#5 light_hassight#yes light_angle#360 light_otherplayers#yes|Bullseye Lantern, light_radius#120 light_dimradius#60 light_angle#60 light_hassight#yes light_otherplayers#yes|Lamp, light_radius#30 light_dimradius#15 light_hassight#yes light_angle#360 light_otherplayers#yes|Candle, light_radius#5 light_dimradius#=0 light_hassight#yes light_angle#360 light_otherplayers#yes|Darkvision, light_radius#60 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Darkvision (90'), light_radius#90 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Darkvision (120'), light_radius#120 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Warlock Devil's Sight, light_radius#120 light_dimradius#=120 light_hassight#yes light_angle#360 light_otherplayers#no|No Light Source (Dusk), light_radius#120 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no|Fog, light_radius#200 light_dimradius#=5 light_hassight#yes light_angle#360 light_otherplayers#no|Blinded, light_hassight#no light_angle#360 light_otherplayers#no}
Single-target damage macro: !token-mod --set bar1_value|[[ {(@{selected|bar1}-[[?{Damage|0}]]),0}kh1 ]] --report all|"/em {name} takes ?{Damage|0} damage." Multi-target damage macro (up to 5 tokens, just keep clicking if you have fewer than 5 targets, it won't double-apply damage. Slightly modified from Poltergeisha's original macro): !token-mod --set bar1_value|-[[(?{Damage|0})]]   --ids @{target|Target 1|token_id} @{target|Target 2|token_id} @{target|Target 3|token_id} @{target|Target 4|token_id} @{target|Target 5|token_id} /desc @{target|Target 1|token_name}, @{target|Target 2|token_name}, @{target|Target 3|token_name}, @{target|Target 4|token_name}, and @{target|Target 5|token_name} take ?{Damage|0} damage. Monster setup in conjunction with the TokenNameNumber script: !token-mod {{   --on showname light_hassight   --set     name|"Creature %%NUMBERED%%" aura2_color|#980000 defaulttoken }}
More advanced. This one uses tokenmod, Roll20 Audio Master, rollable tables, and keithcurtis's awesome Scenes macro for Theater of the Mind to present different images and sound on a landing page with just a few clicks: /w gm &{template:desc} {{desc=**General Locations** [Bustling City](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Bustling City !token-mod --ignore-selected --set currentside|14 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Bustling Inn](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Bustling Tavern !token-mod --ignore-selected --set currentside|15 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Bustling Tavern](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Bustling Tavern !token-mod --ignore-selected --set currentside|16 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [City at Sunset](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|City at Sunset !token-mod --ignore-selected --set currentside|17 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Dark Ruins](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Dark Ruins !token-mod --ignore-selected --set currentside|8 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Forest](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Forest Glade !token-mod --ignore-selected --set currentside|1 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Forest Path](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Woodland Path !token-mod --ignore-selected --set currentside|7 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Grassland](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Grassland !token-mod --ignore-selected --set currentside|2 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Hills](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Hills and Mountains !token-mod --ignore-selected --set currentside|3 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Long Rest](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Forest - Night !token-mod --ignore-selected --set currentside|13 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Outpost Entrance](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Outpost Entrance !token-mod --ignore-selected --set currentside|9 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Party Discussion](!roll20AM --audio,stop,ignore| !token-mod --ignore-selected --set currentside|12 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [River](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|River !token-mod --ignore-selected --set currentside|4 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Town at Night](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Dark and Stormy !token-mod --ignore-selected --set currentside|10 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Underground Cave](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Outpost Entrance !token-mod --ignore-selected --set currentside|18 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Village](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Medieval Town !token-mod --ignore-selected --set currentside|6 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Woodland Path](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Woodland Path !token-mod --ignore-selected --set currentside|11 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) [Woodland Cave](!roll20AM --audio,stop,ignore| !roll20AM --audio,play,loop|Echoes of Time !token-mod --ignore-selected --set currentside|5 --ids @{Locations|character_id} !token-mod --ignore-selected --set width|[[978]] height|[[486]] --ids @{Locations|character_id}) }}
I installed the statusinfo mod I believe it does something like this. This is also good reference if I want to do some type of menu thanks! David M. said: Just expediting monotonous things will improve gameplay by itself, since the players don't have to wait for you to fiddle with stuff manually.  Here's another specific example. Creates a chat menu for the selected token that toggles condition markers by name. Handy to keep things consistent, plus looking up by name is often quicker than trying to find the icon. /w gm &{template:desc} {{desc=**SET STATUS CONDITIONS** for: @{selected|token_name} [Concentration](!token-mod --set statusmarkers#!overdrive) | [Blessed](!token-mod --set statusmarkers#!angel-outfit) | [Raging](!token-mod --set statusmarkers#!rolling-bomb) | [Marked](!token-mod --set statusmarkers#!archery-target) | [Hexed](!token-mod --set statusmarkers#!skull) [Blinded](!token-mod --set statusmarkers#!bleeding-eye) | [Charmed](!token-mod --set statusmarkers#!broken-heart) | [Deafened](!token-mod --set statusmarkers#!edge-crack) | [Frightened](!token-mod --set statusmarkers#!screaming) | [Grappled](!token-mod --set statusmarkers#!grab) | [Invisibility](!token-mod --set statusmarkers#!ninja-mask) | [Incapacitated](!token-mod --set statusmarkers#!interdiction) | [Paralyzed](!token-mod --set statusmarkers#!pummeled) | [Petrified](!token-mod --set statusmarkers#!frozen-orb) | [Poisoned](!token-mod --set statusmarkers#!chemical-bolt) | [Prone](!token-mod --set statusmarkers#!back-pain) | [Restrained](!token-mod --set statusmarkers#!fishing-net) | [Stunned](!token-mod --set statusmarkers#!fist) | [Unconscious](!token-mod --set statusmarkers#!sleepy) [Blue](!token-mod --set statusmarkers|!blue) | [Purple](!token-mod --set statusmarkers|!purple) | [Pink](!token-mod --set statusmarkers|!pink) | [Yellow](!token-mod --set statusmarkers|!yellow) | [OFF](!token-mod --set statusmarkers|=dead|-dead)}} You can take away the /w gm if you want a version the players can use to be able to use the same method for tokens that they control (concentration is a big one for them if you play 5E) EDIT - for concentration, the players could also add a token-mod line to the end of their spell macros that adds the concentration marker automatically   Professor Chaos said: What I'm also trying to figure out is how can I improve the quality of gameplay? I should probably read the forums more to get ideas! Thanks for your help!
You could also install Combat Master from Victor's github. It offers a ton of combat control, and includes and updates StatusInfo and Concentration.  Professor Chaos said: I installed the statusinfo mod I believe it does something like this. This is also good reference if I want to do some type of menu thanks! David M. said: Just expediting monotonous things will improve gameplay by itself, since the players don't have to wait for you to fiddle with stuff manually.  Here's another specific example. Creates a chat menu for the selected token that toggles condition markers by name. Handy to keep things consistent, plus looking up by name is often quicker than trying to find the icon. /w gm &{template:desc} {{desc=**SET STATUS CONDITIONS** for: @{selected|token_name} [Concentration](!token-mod --set statusmarkers#!overdrive) | [Blessed](!token-mod --set statusmarkers#!angel-outfit) | [Raging](!token-mod --set statusmarkers#!rolling-bomb) | [Marked](!token-mod --set statusmarkers#!archery-target) | [Hexed](!token-mod --set statusmarkers#!skull) [Blinded](!token-mod --set statusmarkers#!bleeding-eye) | [Charmed](!token-mod --set statusmarkers#!broken-heart) | [Deafened](!token-mod --set statusmarkers#!edge-crack) | [Frightened](!token-mod --set statusmarkers#!screaming) | [Grappled](!token-mod --set statusmarkers#!grab) | [Invisibility](!token-mod --set statusmarkers#!ninja-mask) | [Incapacitated](!token-mod --set statusmarkers#!interdiction) | [Paralyzed](!token-mod --set statusmarkers#!pummeled) | [Petrified](!token-mod --set statusmarkers#!frozen-orb) | [Poisoned](!token-mod --set statusmarkers#!chemical-bolt) | [Prone](!token-mod --set statusmarkers#!back-pain) | [Restrained](!token-mod --set statusmarkers#!fishing-net) | [Stunned](!token-mod --set statusmarkers#!fist) | [Unconscious](!token-mod --set statusmarkers#!sleepy) [Blue](!token-mod --set statusmarkers|!blue) | [Purple](!token-mod --set statusmarkers|!purple) | [Pink](!token-mod --set statusmarkers|!pink) | [Yellow](!token-mod --set statusmarkers|!yellow) | [OFF](!token-mod --set statusmarkers|=dead|-dead)}} You can take away the /w gm if you want a version the players can use to be able to use the same method for tokens that they control (concentration is a big one for them if you play 5E) EDIT - for concentration, the players could also add a token-mod line to the end of their spell macros that adds the concentration marker automatically   Professor Chaos said: What I'm also trying to figure out is how can I improve the quality of gameplay? I should probably read the forums more to get ideas! Thanks for your help!
Checking now thanks! Jay R. said: You could also install Combat Master from Victor's github. It offers a ton of combat control, and includes and updates StatusInfo and Concentration.  Professor Chaos said: I installed the statusinfo mod I believe it does something like this. This is also good reference if I want to do some type of menu thanks! David M. said: Just expediting monotonous things will improve gameplay by itself, since the players don't have to wait for you to fiddle with stuff manually.  Here's another specific example. Creates a chat menu for the selected token that toggles condition markers by name. Handy to keep things consistent, plus looking up by name is often quicker than trying to find the icon. /w gm &{template:desc} {{desc=**SET STATUS CONDITIONS** for: @{selected|token_name} [Concentration](!token-mod --set statusmarkers#!overdrive) | [Blessed](!token-mod --set statusmarkers#!angel-outfit) | [Raging](!token-mod --set statusmarkers#!rolling-bomb) | [Marked](!token-mod --set statusmarkers#!archery-target) | [Hexed](!token-mod --set statusmarkers#!skull) [Blinded](!token-mod --set statusmarkers#!bleeding-eye) | [Charmed](!token-mod --set statusmarkers#!broken-heart) | [Deafened](!token-mod --set statusmarkers#!edge-crack) | [Frightened](!token-mod --set statusmarkers#!screaming) | [Grappled](!token-mod --set statusmarkers#!grab) | [Invisibility](!token-mod --set statusmarkers#!ninja-mask) | [Incapacitated](!token-mod --set statusmarkers#!interdiction) | [Paralyzed](!token-mod --set statusmarkers#!pummeled) | [Petrified](!token-mod --set statusmarkers#!frozen-orb) | [Poisoned](!token-mod --set statusmarkers#!chemical-bolt) | [Prone](!token-mod --set statusmarkers#!back-pain) | [Restrained](!token-mod --set statusmarkers#!fishing-net) | [Stunned](!token-mod --set statusmarkers#!fist) | [Unconscious](!token-mod --set statusmarkers#!sleepy) [Blue](!token-mod --set statusmarkers|!blue) | [Purple](!token-mod --set statusmarkers|!purple) | [Pink](!token-mod --set statusmarkers|!pink) | [Yellow](!token-mod --set statusmarkers|!yellow) | [OFF](!token-mod --set statusmarkers|=dead|-dead)}} You can take away the /w gm if you want a version the players can use to be able to use the same method for tokens that they control (concentration is a big one for them if you play 5E) EDIT - for concentration, the players could also add a token-mod line to the end of their spell macros that adds the concentration marker automatically   Professor Chaos said: What I'm also trying to figure out is how can I improve the quality of gameplay? I should probably read the forums more to get ideas! Thanks for your help!
One more thing to do with TokenMod. If you're like me and you want to have nice styled chat output whenever you change the light source on a token, you can create a chat menu for light options, which has links to each individual light macro. The chat menu macro and all individual macros are stored on a character sheet. Below is the chat menu and an example of one macro called by the menu. (Yes, I'm aware that my Blind condition isn't really blind, but my players are super-irritated being entirely in darkness, so my blind condition just means they can only see their own token.) I'm also using bar3 on a token to store a short description of a token's light source ("Blind" for blind, DarkV for darkvision), so it's clear at a glance when you select a token what light source it's using. Sure, I could use status markers for that, but I don't like cluttering up the token with additional markers, so I hit on using bar3 instead, since temp HP almost never comes up in our campaign so that bar wasn't being used anyway. :) # Set Light Source chat menu, grouped, with display option /w gm &{template:npcaction} {{rname=Set Light Source}} {{description=**Player Light** [Bullseye Lantern](~BullseyeLantern) | [Candle](~Candle) | [Darkvision](~Darkvision) | [Daylight Spell](~DaylightSpell) | [Hooded Lantern](~HoodedLantern) | [Hooded Lantern, Hood Lowered](~HoodedLanternLowered) | [Light Spell](~LightSpell) | [Produce Flame Spell](~ProduceFlameSpell) | [Torch](~Torch) **Player Light (reduced/none)** [Blinded](~Blinded) | [Dim Light Only](~DimLightOnly) | [No Light Source](~NoLightSource) |   **Object Light** [Candle, Object](~CandleObject) | [Daylight Spell, Object](~DaylightSpellObject) | [Lamp](~Lamp) |[Torch, Object](~TorchObject)}} # Blinded !token-mod --set bar3|"Blind" light_radius#3 light_dimradius#=-5 light_hassight#yes light_angle#360 light_otherplayers#no &{template:npcaction} {{rname=Set Light Source}} {{description=**@{selected|token_name}** is now **blind**!}}
These are AMAZING keep em coming please