json.objrolls: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 4: | Line 4: | ||
|trusted=false | |trusted=false | ||
|version=1.4.0.5 | |version=1.4.0.5 | ||
|description | |description= | ||
Is similar to {{func|json.rolls}} but returns a JSON object. | |||
|usage= | |usage= | ||
< | <syntaxhighlight lang="mtmacro" line> | ||
json.objrolls(names, stat, rolls) | json.objrolls(names, stat, rolls) | ||
</ | </syntaxhighlight> | ||
'''Parameters''' | '''Parameters''' | ||
{{param|names|A JSON array containing the names to be used for each group.}} | {{param|names|A JSON array containing the names to be used for each group.}} | ||
{{param|stat|A JSON array with the stat names.}} | {{param|stat|A JSON array with the stat names.}} | ||
{{param| | {{param|rolls|Either a single string containing a dice roll expression or a JSON array of dice roll expressions.}} | ||
This will generate rolls for each stat in a group for each "name". | This will generate rolls for each stat in a group for each "name". Rolls is either a single string with a roll expression in which case every stat will use same roll expression, or a json array with a roll expression for each stat (so must be same size as stat). | ||
''Example:''< | ''Example:''<syntaxhighlight lang="mtmacro" line> | ||
{json.indent(json.objrolls("['henchman1', 'henchman2', 'henchman3']", "['Str', 'Dex', 'Con', 'Int', 'Wis', 'Chr']", "3d6"),2)} | {json.indent(json.objrolls("['henchman1', 'henchman2', 'henchman3']", | ||
</ | "['Str', 'Dex', 'Con', 'Int', 'Wis', 'Chr']", | ||
"3d6"),2)} | |||
</syntaxhighlight> | |||
<pre>code:{ "henchman1": { | <pre>code:{ "henchman1": { | ||
Line 47: | Line 50: | ||
}}</pre> | }}</pre> | ||
''Example:''< | ''Example:''<syntaxhighlight lang="mtmacro" line> | ||
{json.indent(json.objrolls("['henchman1', 'henchman2', 'henchman3']", "['Str', 'Dex', 'Con', 'Int', 'Wis', 'Chr']", "['3d6+1', '3d6', '3d6', '3d6-2', '3d6', '2d6']"),2)} | {json.indent(json.objrolls("['henchman1', 'henchman2', 'henchman3']", | ||
</ | "['Str', 'Dex', 'Con', 'Int', 'Wis', 'Chr']", | ||
"['3d6+1', '3d6', '3d6', '3d6-2', '3d6', '2d6']"),2)} | |||
</syntaxhighlight> | |||
<pre>code:{ "henchman1": { | <pre>code:{ "henchman1": { |
Latest revision as of 23:59, 15 March 2023
json.objrolls() Function
• Introduced in version 1.4.0.5
Is similar to json.rolls() but returns a JSON object.
Usage
json.objrolls(names, stat, rolls)
Parameters
names
- A JSON array containing the names to be used for each group.stat
- A JSON array with the stat names.rolls
- Either a single string containing a dice roll expression or a JSON array of dice roll expressions.
This will generate rolls for each stat in a group for each "name". Rolls is either a single string with a roll expression in which case every stat will use same roll expression, or a json array with a roll expression for each stat (so must be same size as stat).
Example:
{json.indent(json.objrolls("['henchman1', 'henchman2', 'henchman3']",
"['Str', 'Dex', 'Con', 'Int', 'Wis', 'Chr']",
"3d6"),2)}
code:{ "henchman1": { "Str": 10, "Dex": 12, "Con": 10, "Int": 10, "Wis": 8, "Chr": 12 }, "henchman2": { "Str": 11, "Dex": 10, "Con": 7, "Int": 13, "Wis": 9, "Chr": 7 }, "henchman3": { "Str": 10, "Dex": 10, "Con": 10, "Int": 12, "Wis": 15, "Chr": 13 }}
Example:
{json.indent(json.objrolls("['henchman1', 'henchman2', 'henchman3']",
"['Str', 'Dex', 'Con', 'Int', 'Wis', 'Chr']",
"['3d6+1', '3d6', '3d6', '3d6-2', '3d6', '2d6']"),2)}
code:{ "henchman1": { "Str": 11, "Dex": 12, "Con": 13, "Int": 8, "Wis": 10, "Chr": 11 }, "henchman2": { "Str": 12, "Dex": 11, "Con": 12, "Int": 8, "Wis": 12, "Chr": 3 }, "henchman3": { "Str": 12, "Dex": 13, "Con": 9, "Int": 8, "Wis": 13, "Chr": 7 }}