
Update: v0.6.3 -- Removed dependency on isGM, added some commands for sub copies, moved to git.
Update v0.51 -- Removed direct use of HTML entities to prevent the substitution bug.
Update v0.5 -- Added !replace-attr command which takes the same arguments as !rename-attr, but does a per character replace of references to the attribute name in abilities with the specified attribute name. Currently supports @{attr-name}, @{Char ID|attr-name}, @{Char name|attr-name}, @{target|attr-name}, and @{selected|attr-name}, all with and with out |max appended. It's possible there may be some edge cases that it won't hit because of looking specifically in abilities of each character separately. Let me know if you run into any issues.
Update v0.4 -- !rename-attr now works. It was !attr-rename in the code but not matches the help docs. =D
Update v0.3 -- !rename-attr now requires each argument to be prefaced by '--'. This is to support attributes that have a space in the name. Additionally, it will now copy the current and max values to any attribute on the character that exists with the rename name, and change the original attribute's name to DELETE ME.
This script grew out of this discussion.
Currently, 2 operations:

Git: https://github.com/shdwjk/Roll20API/blob/master/Ch...
Update v0.51 -- Removed direct use of HTML entities to prevent the substitution bug.
Update v0.5 -- Added !replace-attr command which takes the same arguments as !rename-attr, but does a per character replace of references to the attribute name in abilities with the specified attribute name. Currently supports @{attr-name}, @{Char ID|attr-name}, @{Char name|attr-name}, @{target|attr-name}, and @{selected|attr-name}, all with and with out |max appended. It's possible there may be some edge cases that it won't hit because of looking specifically in abilities of each character separately. Let me know if you run into any issues.
Update v0.4 -- !rename-attr now works. It was !attr-rename in the code but not matches the help docs. =D
Update v0.3 -- !rename-attr now requires each argument to be prefaced by '--'. This is to support attributes that have a space in the name. Additionally, it will now copy the current and max values to any attribute on the character that exists with the rename name, and change the original attribute's name to DELETE ME.
This script grew out of this discussion.
Currently, 2 operations:
- !chardup -- copy all the abilities from a source character to one or more destination characters
- !rename-attr -- rename attributes on all characters.
- !replace-attr -- replaces references to attributes in abilities.

Git: https://github.com/shdwjk/Roll20API/blob/master/Ch...
If you use my scripts, want to contribute, and have the spare bucks to do so, go right ahead. However, please don't feel like you must contribute just to use them! I'd much rather have happy Roll20 users armed with my scripts than people not using them out of some sense of shame. Use them and be happy, completely guilt-free!
Disclaimer: This Patreon campaign is not affiliated with Roll20; as such, contributions are voluntary and Roll20 cannot provide support or refunds for contributions.