I was wondering if I could quickly hack ChatSetAttr in order to set character abilities, not attributes. Turns out I could!
Rough documentation (it generally works similarly to the way ChatSetAttr does):
Disclaimer: This is not well-tested at all, so there are probably lots of bugs!
Replacers for --replace: This has been changed from the way it works in ChatSetAttr to make it both more useful and less confusing. A table of replaced characters follows:
Example: The command
Rough documentation (it generally works similarly to the way ChatSetAttr does):
- The main commands are !setability for creating/setting and !delability for deleting abilities.
- The targeting options --sel, --all, --allgm, --allplayers, --charid, --name are the same as in ChatSetAttr.
- Other supported command line options shared with ChatSetAttr are --nocreate, --evaluate, --silent, --mute.
- The --replace option is available, but works differently from the way it functions in ChatSetAttr. (see explanation later)
- You can insert character attributes by wrapping it in double percentages, e.g. %%character_id%% will insert the character's id into the specified point in the ability.
- The only new option is --token, which will set the selected abilities to be token abilities.
- You can specify a pair of ability name and ability text by --abilityname#abilitytext. Omitting '#' will create an empty ability if none exists, and will otherwise leave the ability text unchanged (this is useful for just making actions token actions via --token).
- Just for !delability: --deleteall will delete all abilities for the specified characters.
Disclaimer: This is not well-tested at all, so there are probably lots of bugs!
Replacers for --replace: This has been changed from the way it works in ChatSetAttr to make it both more useful and less confusing. A table of replaced characters follows:
Input | Replacement |
\[ | [[ |
\] | ]] |
~ | - |
\q | ? |
\at | @ |
\p | % |
\amp | & |
\h | # |
!setability --all --token --Initiative#\p{%%character_id%%|initiative}will give all characters a token action ability called Initiative, with text %{CHARID|initiative}, where CHARID is the character's id.