token (roll option): Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 20: | Line 20: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The ''identifier'' is the name of the token. The search first checks to see if the specified string is the Name of any token (i.e. matches [[token.name]]), then it checks GMName (i.e. matches [[token.gm_name]]), and last it checks the unique [[ | The ''identifier'' is the name of the token. The search first checks to see if the specified string is the Name of any token (i.e. matches [[token.name]]), then it checks GMName (i.e. matches [[token.gm_name]]), and last it checks the unique [[Glossary#T|token id]] (this is a 32-character string generated by MapTool). | ||
If there are multiple tokens with the same name, such as '''Goblin''', then the ''GM Name'' field of the token should be unique so that it can be used to select tokens. Note that the [[ | If there are multiple tokens with the same name, such as '''Goblin''', then the ''GM Name'' field of the token should be unique so that it can be used to select tokens. Note that the [[getTokens|getTokens()]] and related functions return a list of token ids. | ||
|examples= | |examples= | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> |
Latest revision as of 23:59, 20 April 2023
[token():] Roll Option
Note: This function can only be used in a Trusted Macro
token is a macro function that allows an associated code block to be executed as though it were executing with a specified token as the context. This allows the code block to use properties of the token without special coding.
This "context" function lasts only for the given code block. References to variables within the code block will still be available when the code block finishes. (Variables belong to the macro, while properties belong to the token.)
Usage
[token(identifier): single_statement]
[token(identifier), code: {
statement1
statement2
}]
The identifier is the name of the token. The search first checks to see if the specified string is the Name of any token (i.e. matches token.name), then it checks GMName (i.e. matches token.gm_name), and last it checks the unique token id (this is a 32-character string generated by MapTool).
If there are multiple tokens with the same name, such as Goblin, then the GM Name field of the token should be unique so that it can be used to select tokens. Note that the getTokens() and related functions return a list of token ids.
Examples
[h, token("Goblin 21"): health = floor(100*HP/HPmax)]
The healthbar of <b>Goblin 21</b> should be at [r: health]%.
If Goblin 21 has 32 hit points and a maximum hit points of 40 (and these numbers are stored in HP and HPmax properties, respectively), the output produced will be:
- The healthbar of Goblin 21 should be at 80%.