Replace each newline in your instructions string with \n See my Exalted 2e sheet for an example: { "html": "exalted2e.html", "css": "exalted2e.css", "authors": "Brian Shields, Benjamin Bandelow", "preview": "exalted2e.jpg", "roll20userid": "235259,442", "instructions": "###Rollable Tables\nThe roll buttons assume you have two rollable tables, one named `exalted` and one named `exalted-damage`.\n\nThe table `exalted` should have the following table items:\n\n* \"botch\" (weight 1)\n* \"0\" (weight 5)\n* \"1\" (weight 3)\n* \"2\" (weight 1)\n\nThe table `exalted-damage` should have the following table items:\n\n* \"0\" (weight 6)\n* \"1\" (weight 4)\n\nIf your campaign includes Sidereals throwing around Ascending and/or Descending Destinies, you will either need the API (a mentor feature) or alternate rollable tables, and the roll buttons on the sheet will not be correct.\n\n**When creating your own macros,** be sure to multiply any Ability by `1-Ability|max`, to account for abilities which have been reset to 0. For example, `/r (@{Dexterity}+@{Melee})t[exalted]` will roll your Dexterity and Melee together, however if the checkbox to reset Melee to 0 is ticked, the roll will be incorrect. Instead, use `/r (@{Dexterity+@{Melee}*(1-@{Melee|max}))t[exalted]`.\n\n###Roll Templates\nThis sheet includes five roll templates: `joinbattle`, `joindebate`, `joinwar`, `attack`, and `damage`.\n\n`joinbattle` and `joindebate` both accept the properties `wits`, `awareness`, `bonus dice`, `bonus successes`, and `roll`. `joinwar` is the same, except `war` is used instead of `awareness`. If you create your own macros using these templates, each of the properties should be an inline roll and the `roll` property should roll an appropriate number of times on the `exalted` table.\n\n`attack` **requires** the properties `attribute`, `ability`, `specialty`, `accuracy`, `bonus dice`, `bonus successes`, and `roll`. As with the previous templates, if you create your own attack macros, these properties should all be inline rolls, and `roll` should roll on the `exalted` table. `attack` can *optionally* include the properties `name`, `attribute name`, `ability name`, and `specialty name`. The attack roll button in the repeating section on the **Combat** tab uses the weapon name for `name`, while the other name properties are unused. If supplied in a custom macro, they will be used in place of \"Attribute\", \"Ability\", and \"Specialty\".\n\n`damage` **requires** the properties `damage type`, `damage`, `bonus dice`, `bonus successes`, `target soak`, `pool`, `minimum roll`, and `roll`. `damage` can *optionally* include `name`, `attribute name`, `attribute`, `ability name`, and `ability`.\n\nThe properties `damage`, `attribute`, `ability`, `bonus dice`, `bonus successes`, `target soak`, `pool`, `minimum roll`, and `roll` should all be inline rolls. `minimum roll` should roll on the `exalted-damage` table a number of times equal to your minimum damage for the attack (generally 1, except for overwhelming weapons). `roll` should roll on the `exalted-damage` table the appropriate number of times. The two damage rolls are distinguised by the `pool` property. **In a custom macro, `pool` should be set to roll a number of zero-sided dice equal to your damage dice pool minus your minimum damage. This roll should generate successes on results of 1 or greater, and failures on results of 1 or less.** Such an inline roll looks something along the lines of `[[(Damage + Attribute + Ability + Bonus Dice - Target Soak - Minimum Damage)d0>1f<1]]`. This computation results in either 0 (for a die pool of 0 or less) or the size of the pool expressed as a negative value. This lets the template know whether to use your minimum damage or your regular damage." }