macro.args: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Macros:Special Variables:macro.args moved to macro.args: Moved to main namespace.)
m (Added to Special Variable category.)
Line 23: Line 23:


In the example above, ''damageDice'' is the argument being passed to the macro '''getDamage''', which resides on the '''Lib:test''' [[Token:library_token|library token]]. Within the '''getDamage''' macro, the variable ''macro.args'' is automatically generated and assigned the value of ''damageDice''.
In the example above, ''damageDice'' is the argument being passed to the macro '''getDamage''', which resides on the '''Lib:test''' [[Token:library_token|library token]]. Within the '''getDamage''' macro, the variable ''macro.args'' is automatically generated and assigned the value of ''damageDice''.
[[Category:Special Variable]]

Revision as of 13:44, 25 March 2009

The variable macro.args holds the value of the argument passed to a trusted macro via the MACRO() roll option. macro.args exists only within the macro that is called, and may be manipulated like any variable in a macro.

Examples

When a macro on a library token is called by another macro, the calling macro may pass one argument to the called macro:

Calling Macro Called Macro
<!-- Call the getDamage macro -->
[h:damageDice="2d6"]
[MACRO("getDamage@Lib:test"): damageDice]
<!-- getDamage Macro -->
[h:damageRoll = eval(macro.args) + 9]
You hit your target for [r:damageRoll] damage!

In the example above, damageDice is the argument being passed to the macro getDamage, which resides on the Lib:test library token. Within the getDamage macro, the variable macro.args is automatically generated and assigned the value of damageDice.