Andreas J.
From Roll20 Wiki
Page Updated: 2024-07-17 |
Plays many systems. Sheet Author to several Character Sheets on Roll20, and have contributed to more sheets than I can count. Active editor of this Roll20 Community Wiki, and Forum Champion.
If you wish to support me for the Roll20 Sheets & Wiki updates I do, see my Patreon page!
|
|
---|
|
- Andreas J. (Roll20 Profile)
- Anduh
- anduh_
- Anduh
Contents |
Creations
Roll20-relevant stuff I've created:
Character Sheets
I've create, updated, provided translation capabilities, and submitted bugfixes to many Roll20 Character Sheets, and written large parts of the existing documentation for it.
Created
- Stargate RPG
- Mythic D6
- GODSEND Agenda
- Barbaric!
- Chepheus Atom
- Ambition & Avarice
- Hc Svnt Dracones Second Edition
- D6 Star Wars (WEG)
- Supers RED(initial version)
- WeaverDice
- Quest
- Feast of Legends
- Changeling: 20th Anniversary Edition (cWoD)
Major Contributions
- Free Spacer
- Magical Kittens Save the Day
- PF2E
- provided translation capabilities for ~10 other sheets
Tools
Roll20-related tools I've made or contributed to.
Minor projects:
- npm package: @anduh/pug-cli - If you want to use PUGjs in the command line.
- fork of the official pug-cli, but with updated dependencies.
VS Code
Visual Studio Code(VS Code) is a popular text editor. It's free, and available for Windows/Linux/Mac, as well as accessible online through vscode.dev.
VS Code has some uses with Roll20, primarily for editing complicated macros, and for Character Sheet Creation.
Here are some useful VS Code extensions:
Roll20 Syntax Highlight
Extension to make roll20 macro and API command writing & troubleshooting easier. Highlight works when you use VSCode to view .rmacro
-files.
- Roll20 Syntax Highlight -forum thread
Features:
- bracket pairing & highlights
- shows with colors which brackets/parentheses belong together(making mismatched brackets easier to find)
- does this for roll20 macros syntax too (
@{ }
,?{ }
,%{ }
,&{ }
,$[[ ]]
)
- syntax highlight
- roll, macro & API commands (e.g.
/r
,!example
,#dex
) - in dice rolls,
d
&dF
- some common keywords, like
selected
,template
,%%NEWLINE%%
- special characters used in macros (e.g.
~,|#=+
, and HTML Entities)
- roll, macro & API commands (e.g.
- Features: full summary
Roll20 Sheet Dev
Roll20 Sheet Dev by Andreas J.
Extension to help with Character Sheet Development.
Features:
- auto-completion, info, & documentation links for roll20-specific HTML elements & attributes
- syntax highlight for rolltemplates & sheetworkers(javascript)-code inside HTML files
- snippet shortcuts for HTML & PUG
- Features: full summary
Other Extensions
- HTMLHint - catch minor issues in your code, like accidentally capitalized HTML elements
- HTML CSS Support or IntelliSense for CSS class names in HTML
- Prettier - Code formatter
- Tabnine - autocomplete based on your code
- GitLens - makes using Git easier
- GitHub Pull Requests and Issues - manage Github interaction in VS Code
Sublime Text
Roll20 settings for Character Sheet Development
SublimeSettings is a collection of settings files for the "Sublime Text" text editor which contains bunch of Roll20-specific HTML/CSS syntax highlights, as well as shorthands automation that creates HTML with several of Roll20 quirks to speed up things.
ACSI
sheet translation tool - (linux CLI)
tool deprecated - Alternatives: K-Scaffold has similar feature to add i18n-language attributes to code that doesn't have it, & to generate the translation.json
file.
ACSI is/was a tool for partially automation the process of introducing i18n-language attributes to character sheets.
Wiki
I've updated the Roll20 Community Wiki quite a lot starting from 2018. This is a general overview of what I've done, and some of the goals.
I've also started Roll20 articles and translations into Finnish & Swedish.
Check Help:Edit Wiki for info on how to contribute to the wiki, and see what wiki features are available
Major Articles Written
- Complete Guide to Macros & Rolls
- Short Git Guide
- Rewritten 90% of Building Character Sheets over the years, and split of large sections of it to be independent articles.
- No, the dice rolls are not broken, or why human intuition on randomness is flawed(Forum) (forum post addressing perception on what seem or doesn't seem like "random" results)
- Mod:Script Index kept the Mod:Script Index updated with info and links for, along with writing and updating pages for individual mods like: TokenMod Meta-Toolbox, ChatSetAttr
- Andreas Guide to Sheet Development
General Cleanup
This have amounted to: cleaned up the majority of articles at least once, removed redundant pages, restructured the wiki's categorization, created wiki templates, added/updated images to articles, created redirects to major pages(so they are easier to find, and have shorter wiki URLs, making them easier to link), updated the Wiki Main Page, categorized basically all pages.
Documentation for Character Sheet Creation
I've updated the main Building Character Sheets pretty majorly, and split of a bunch of articles from it when it was getting to large. Also added to CSS Wizardry a bunch of examples.
Some of the major pages created:
- Sheet Author Tips
- Designing Character Sheet Layout
- Button - how to create different kinds of buttons
- Image use in character sheets
- Custom Sheet Sandbox
- Short Git Guide
Todo
API Ideas
Various API Script ideas I've seen or come up with, which could be created to automate/simplify/streamline/enhance Roll20 gaming, but haven't been realized for one reason or other(but are completely possible). I'm not good enough with API programming to have the time to learn & implement them, but the ideas are listed here so others could create them.
Selective Text Chat(Forum)
Make it so only people on the same map page hears the related rolls. Resembles somewhat the "whisper to characters to simulate languages" stupid trick.
Player Sheet Manager
Note: The Aaron have created PlayerCharacters(Forum) which does some of the ideas listed, but mainly not the automated Char Vault import/export idea using roll20id. It might get that feature eventually.
PSM is an API idea that revolves around automating & simplifying players sheet management in games that import/export sheets a lot, and/or there is a large revolving door of characters/players in the campaign, such as "West Marches"-style, or in game formats like "Adventure League"/"Pathfinder Society".
At the core, PSM is meant to be able to auto-assign sheets imported from the Character Vault to the player who imported it, instead of requiring the GM to do so manually. It would do this by checking the new character sheet for an attribute named roll20id, which the API could then use to figure out who to assign the sheet to as, roll20id
for each person is persistent between games.
People can either manually add their roll20id
to the sheet when creating them in a game that doesn't have PSM, or if made in a game where the PSM exists, it automatically adds a players roll20id to the sheet when the GM assigns the sheet to them.
Feature Ideas
Most of these ideas are from a while ago when I first thought about an API like this, and this is a good time to properly write them down so I can find it later again. Or inspire you.
1. setting toggle: if sheets are visible to everyone, or just owner
- Useful if player use extra sheets(wildshape, familiar, animal companion, spiritual weapon etc.), and only one or two needs to be seen by others
- players could to toggle visibility themselves
2. save API settings on sheet, to streamline import/export further
- have the API create/edit a PSMinfo-attribute on the sheet, which could save sheet settings between games, such as the ones from idea 1.
3 ability for player to "discard" extra/unused sheets
- API could just hide the sheet from all players, and append "(discarded by player)" to the name, so the GM can later see what's going on.
4. Actively manage/track if all players have sheets
- option to give the GM an overview of the player situation, like listing all the players who don't have a sheet.
- when players enter the game and they have no sheets, the API could have a prompt, which gives the player option to get assigned a empty sheet, or instructions on how to import a sheet form their vault.
- The API could tell the player their roll20id, and give instructions on how they could manually add it to their sheet, if they plan to import it from a game where the API haven't automatically added the roll20id.
- this would make all this automation work even if the (free) player have created the sheet by themselves.
5. options to track campaign/player-names/nicknames
- not all sheets have fields for saving campaign name, player names, nicknames,or discord nicks, which could be practical to have as optional info on the sheets, which the API then could track and summarize to the GM.
- if you have lot of people come and go, making the mental connection between character name, player Roll20 account name, in-game displayed name, and discord nick can get hard to remember
- the player could also have a PSM info field where they can say if the character is WIP or ready for play, or just to leave
6. Option to add short session notes to char sheets, add xp
- after a game, the GM could use the API to quickly append the session info the the char sheets that where in the game, so that later both players and GM can easily see who participated in what.
- could be useful to be able to add the session's xp/gold to all participating sheets at once, so each player don't have to do it themselves. Especially useful of the GM calculates that in-between sessions, so it's there for the next time player checks the sheet.
Stargate Teleport
It would be cool if an API could be made that streamlines Stargate travel for GM & players, so that once a gate have been opened to a specific location, players or GM could just move their token into the open gate, and be instantly transported to the other side.
The smartest option would be to use the existing Script:Teleport and figure out how to configure it to work like stargates as it seems to covers all usercases, but it's possible that some minor/specialized parts would have to be implemented in a separate API if one aims for the highest degree of automation.
- Stargates & Moving Between Locations talks more about this.