macro.args: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
Line 5: Line 5:
When a macro on a [[Token:library_token|library token]] is called by another macro, the calling macro may pass one argument to the called macro:
When a macro on a [[Token:library_token|library token]] is called by another macro, the calling macro may pass one argument to the called macro:


{| class="wikitable" border="1"
{| class="wikitable" border="1" style="border-collapse:collapse;"
|-
|-
!Calling Macro
!Calling Macro

Revision as of 05:18, 22 December 2008

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.