> For the complete documentation index, see [llms.txt](https://cyborgsandmages.gitbook.io/palant-roll20-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cyborgsandmages.gitbook.io/palant-roll20-guide/roll20-excel-companions/roll20con-epic-scripts-and-macros.md).

# ROLL20CON EPIC SCRIPTS AND MACROS

### Table of Contents

### **1.** [**Utility characters**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#utility-character-sheets)

* [**DM Utilities OGL**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#dm-utilities)
* [**Player Utilities OGL**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#player-utilities)

### **2.** [**Scripts**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#scripts)

* [**List of scripts**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#list-of-all-installed-scripts)

  **3.** [**Macros**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-macros)
* **Player Macros**
* [**Player Utiliy Menu**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#player-utiliy-sheet-menu)
* [**Initiative**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl_init)
* [**Skill checks**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl_skills)
* [**Ability checks**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-ability-checks)
* [**Saves**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-saves)
* [**Short Rest**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-short-rest)
* [**DM Macros**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#dungeon-masters-ogl-macros)
* [**Setup Group Initiative and Checks**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-setup-group-initiative-and-checks)
* [**💤 Long Rest**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#long-rest)
* [**💀 Monster Token Setup**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#monster-token-setup)
* [**💀 NPC Token Setup**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#npc-token-setup)
* [**💀 PC Token Setup**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#pc-token-setup)
* [**Dungeon Master Utilities 1**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-dungeon-master-utilities-1)
* [**Dungeon Master Utilities 2**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-dungeon-master-utilities-2)
* [**Dungeon Master Utilities 3**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#ogl-dungeon-master-utilities-3)
* [**Token Utilities**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#tokenutilsogl)
* [**Light and vision setup**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#lightvision-options)

### **4.** [**Bonus macros**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#bonus)

* [**Template for any repeating section of the OGL sheet**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#a-macro-template-for-any-repeating-section-of-the-ogl-sheet)
* [**Template for spells of the OGL sheet**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#for-spells)
* [**Statblock**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#statblock-macro)
* [**Scorching Ray**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#scorching-ray-macro)

### **5.** [**Macros for Magic Items**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#magic-items-macros)

* [**Wand of Magic Missiles**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#wand-of-magic-missiles-ogl)
* [**Staff of Healing**](https://github.com/palikhov/palant_roll20_setup/wiki/ROLL20CON-EPIC-SCRIPTS-AND-MACROS#staff-of-healing-ogl)

### Utility Character Sheets

#### **DM Utilities**

Character GMUtilsOGL has many abilities which I created for easy transporting between campaigns.

#### **Player Utilities**

#### > Whisper to GM

**Name:** wgm

**Description:**

```
/w gm ?{Message}
```

#### > Whisper to Token

**Name:** wch

**Description:**

```
/emas @{selected|token_name} speaks low.
/w @{target|token_name} ?{"What"|um}
```

#### > Miscellaneous D20 Rol

**Name:** roll

**Description:**

```
/me rolls a [[1d20+?{modifier|0}]] for ?{reason|no reason}.
```

#### > Calculator

**Name:** calc

**Description:**

```
**=** [[?{Calculator}]]
```

#### Turn /talktomyself on/off

**Name:** ttms

**Description:**

```
/talktomyself
```

#### Post an Image

**Name:** img

**Description:**

```
[Image](?{Image URL})
```

#### Post a Link

**Item of Menu**

**Name:** link

**Description:**

```
Link: **[?{Link Title}](?{Link URL})**
```

### SCRIPTS

#### List of all installed scripts

* ChatSetAttr
* GroupCheck
* GroupInitiative
* 5th Edition OGL by Roll20 Companion
* TokenMod
* TokenNameNumber
* Marching Order
* HTML Builder
* Welcome Package
* Message of the Day
* MonsterHitDice
* OGL-Statblock.js
* OGL-Token-Actions.js
* TurnMarker-1.js
* TurnTimer.js
* Token Status Manager

#### ChatSetAttr

#### GroupCheck

#### GroupInitiative

#### 5th Edition OGL by Roll20 Companion

#### TokenMod

#### TokenNameNumber

#### Marching Order

#### HTML Builder

#### Welcome Package

#### Message of the Day

#### MonsterHitDice

#### OGL-Statblock.js

#### OGL-Token-Actions.js

#### TurnMarker-1.js

#### TurnTimer.js

#### Token Status Manager

### OGL MACROS

#### Definition of description's format

I will describe used macros in next format:

**Name** - logical name of macros, for example - OGL\_init **Shown name** - short version with using of emoji (as described in Clever Tricks) **Needed API script**x - if macro will use some Api

```
Code of macro is ready to be copy-pasted in Roll20
```

#### Player Utiliy Sheet Menu

**Name of Macros** PCUtilsOGL

```
/w @{selected|character_name} &{template:desc} {{desc=
**PC Utilities**

[> Whisper to GM (wgm)](~PCutilsOGL|wgm)  
[> Whisper to Token (wch)](~PCutilsOGL|wch)
[> Miscellaneous D20 Roll (roll)](~PCutilsOGL|roll) 
[> Calculator (calc)](~PCutilsOGL|calc) 
[> Turn /talktomyself on/off (ttms)](~PCutilsOGL|ttms)
[> Post an Image (img)](~PCutilsOGL|img) 
[> Post a Link (link)](~PCutilsOGL|link) }}
```

#### OGL\_Init

**Snown name** - ⚔Init **Description:** It rolls initative for selected token

```
/me 's initiative is [[1d20 + @{selected|dexterity_mod}&{tracker}]]
```

#### OGL\_Skills

**Snown name** ✅

**Description:** Token action to roll skill check for selected token

```
@{selected|wtype}&{template:simple} @{selected|rtype}?{Ability|Acrobatics, +@{selected|acrobatics_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Acrobatics&#125;&#125; {{mod=@{selected|acrobatics_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|acrobatics_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Animal Handling, +@{selected|animal_handling_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Animal Handling&#125;&#125; {{mod=@{selected|animal_handling_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|animal_handling_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Arcana, +@{selected|arcana_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Arcana&#125;&#125; {{mod=@{selected|arcana_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|arcana_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Athletics, +@{selected|athletics_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Athletics&#125;&#125; {{mod=@{selected|athletics_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|athletics_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Deception, +@{selected|deception_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Deception&#125;&#125; {{mod=@{selected|deception_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|deception_bonus}@{selected|pbd_safe} ]]&#125;&#125; |History, +@{selected|history_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=History&#125;&#125; {{mod=@{selected|history_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|history_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Insight, +@{selected|insight_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Insight&#125;&#125; {{mod=@{selected|insight_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|insight_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Intimidation, +@{selected|intimidation_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Intimidation&#125;&#125; {{mod=@{selected|intimidation_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|intimidation_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Investigation, +@{selected|investigation_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Investigation&#125;&#125; {{mod=@{selected|investigation_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|investigation_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Medicine, +@{selected|medicine_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Medicine&#125;&#125; {{mod=@{selected|medicine_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|medicine_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Nature, +@{selected|nature_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Nature&#125;&#125; {{mod=@{selected|nature_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|nature_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Perception, +@{selected|perception_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Perception&#125;&#125; {{mod=@{selected|perception_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|perception_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Performance, +@{selected|performance_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Performance&#125;&#125; {{mod=@{selected|performance_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|performance_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Persuasion, +@{selected|persuasion_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Persuasion&#125;&#125; {{mod=@{selected|persuasion_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|persuasion_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Religion, +@{selected|religion_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Religion&#125;&#125; {{mod=@{selected|religion_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|religion_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Sleight of Hand, +@{selected|sleight_of_hand_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Sleight of Hand&#125;&#125; {{mod=@{selected|sleight_of_hand_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|sleight_of_hand_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Stealth, +@{selected|stealth_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Stealth&#125;&#125; {{mod=@{selected|stealth_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|stealth_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Survival, +@{selected|survival_bonus}@{selected|pbd_safe} ]]&#125;&#125; {{rname=Survival&#125;&#125; {{mod=@{selected|survival_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|survival_bonus}@{selected|pbd_safe} ]]&#125;&#125; |Strength, +@{selected|strength_mod}@{selected|jack_attr}[STR]]]&#125;&#125; {{rname=Strength&#125;&#125; {{mod=@{selected|strength_mod}@{selected|jack_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|strength_mod}@{selected|jack_attr}[STR]]]&#125;&#125; |Dexterity, +@{selected|dexterity_mod}@{selected|jack_attr}[DEX]]]&#125;&#125; {{rname=Dexterity&#125;&#125; {{mod=@{selected|dexterity_mod}@{selected|jack_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|dexterity_mod}@{selected|jack_attr}[DEX]]]&#125;&#125; |Constitution, +@{selected|constitution_mod}@{selected|jack_attr}[CON]]]&#125;&#125; {{rname=Constitution&#125;&#125; {{mod=@{selected|constitution_mod}@{selected|jack_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|constitution_mod}@{selected|jack_attr}[CON]]]&#125;&#125; |Intelligence, +@{selected|intelligence_mod}@{selected|jack_attr}[INT]]]&#125;&#125; {{rname=Intelligence&#125;&#125; {{mod=@{selected|intelligence_mod}@{selected|jack_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|intelligence_mod}@{selected|jack_attr}[INT]]]&#125;&#125; |Wisdom, +@{selected|wisdom_mod}@{selected|jack_attr}[WIS]]]&#125;&#125; {{rname=Wisdom&#125;&#125; {{mod=@{selected|wisdom_mod}@{selected|jack_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|wisdom_mod}@{selected|jack_attr}[WIS]]]&#125;&#125; |Charisma, +@{selected|charisma_mod}@{selected|jack_attr}[CHA]]]&#125;&#125; {{rname=Charisma&#125;&#125; {{mod=@{selected|charisma_mod}@{selected|jack_bonus}&#125;&#125; {{r1=[[ @{selected|d20} + @{selected|charisma_mod}@{selected|jack_attr}[CHA]]]&#125;&#125; } @{selected|global_skill_mod} @{selected|charname_output}
```

#### OGL Ability Checks

**Snown name** ✔️

**Description:** Token action to roll ability check for selected token

```
@{selected|wtype}&{template:simple} @{selected|rtype}?{Stat
|Strength,+[[@{selected|strength_mod}]][STR] ]]&#125;&#125; {{rname=^{strength-u&#125;&#125;&#125; {{mod=[[ [[@{selected|strength_mod}]][STR] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[@{selected|strength_mod}]][STR] ]]
|Dexterity,+[[@{selected|dexterity_mod}]][DEX] ]]&#125;&#125; {{rname=^{dexterity-u&#125;&#125;&#125; {{mod=[[ [[@{selected|dexterity_mod}]][DEX] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[@{selected|dexterity_mod}]][DEX] ]]
|Constitution,+[[@{selected|constitution_mod}]][CON] ]]&#125;&#125; {{rname=^{constitution-u&#125;&#125;&#125; {{mod=[[ [[@{selected|constitution_mod}]][CON] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[@{selected|constitution_mod}]][CON] ]]
|Intelligence,+[[@{selected|intelligence_mod}]][INT] ]]&#125;&#125; {{rname=^{intelligence-u&#125;&#125;&#125; {{mod=[[ [[@{selected|intelligence_mod}]][INT] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[@{selected|intelligence_mod}]][INT] ]]
|Wisdom,+[[@{selected|wisdom_mod}]][WIS] ]]&#125;&#125; {{rname=^{wisdom-u&#125;&#125;&#125; {{mod=[[ [[@{selected|wisdom_mod}]][WIS] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[@{selected|wisdom_mod}]][WIS] ]]
|Charisma,+[[@{selected|charisma_mod}]][CHA] ]]&#125;&#125; {{rname=^{charisma-u&#125;&#125;&#125; {{mod=[[ [[@{selected|charisma_mod}]][CHA] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[@{selected|charisma_mod}]][CHA] ]]
}}} @{selected|global_skill_mod} @{selected|charname_output}
```

#### OGL Saves

**Snown name** 🎲

**Description:** Token action to roll saves for selected token

```
@{selected|wtype}&{template:simple} @{selected|rtype}?{Save
|Strength,+[[(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_str_save}*@{selected|npc})]][STR SAVE] ]]&#125;&#125; {{rname=^{strength-save-u&#125;&#125;&#125; {{mod=[[ [[(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_str_save}*@{selected|npc})]][STR SAVE] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_str_save}*@{selected|npc})]][STR SAVE] ]]
|Dexterity,+[[(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_dex_save}*@{selected|npc})]][DEX SAVE] ]]&#125;&#125; {{rname=^{dexterity-save-u&#125;&#125;&#125; {{mod=[[ [[(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_dex_save}*@{selected|npc})]][DEX SAVE] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_dex_save}*@{selected|npc})]][DEX SAVE] ]]
|Constitution,+[[(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_con_save}*@{selected|npc})]][CON SAVE] ]]&#125;&#125; {{rname=^{constitution-save-u&#125;&#125;&#125; {{mod=[[ [[(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_con_save}*@{selected|npc})]][CON SAVE] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_con_save}*@{selected|npc})]][CON SAVE] ]]
|Intelligence,+[[(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_int_save}*@{selected|npc})]][INT SAVE] ]]&#125;&#125; {{rname=^{intelligence-save-u&#125;&#125;&#125; {{mod=[[ [[(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_int_save}*@{selected|npc})]][INT SAVE] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_int_save}*@{selected|npc})]][INT SAVE] ]]
|Wisdom,+[[(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_wis_save}*@{selected|npc})]][WIS SAVE] ]]&#125;&#125; {{rname=^{wisdom-save-u&#125;&#125;&#125; {{mod=[[ [[(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_wis_save}*@{selected|npc})]][WIS SAVE] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_wis_save}*@{selected|npc})]][WIS SAVE] ]]
|Charisma,+[[(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_cha_save}*@{selected|npc})]][CHA SAVE] ]]&#125;&#125; {{rname=^{charisma-save-u&#125;&#125;&#125; {{mod=[[ [[(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_cha_save}*@{selected|npc})]][CHA SAVE] ]]&#125;&#125; {{r1=[[@{selected|d20}+[[(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_cha_save}*@{selected|npc})]][CHA SAVE] ]]
}}} @{selected|global_save_mod} @{selected|charname_output}
```

#### OGL Short Rest

**Snown name**

**Description**

```
@{selected|wtype}&{template:simple} {{rname=^{hit-dice-u}}} {{mod=?{How many hit dice would you like to spend?|1}D@{selected|hitdie_final}+[[@{selected|constitution_mod}*?{How many hit dice would you like to spend?}[CON]]]}} {{r1=[[ ?{How many hit dice would you like to spend?}d@{selected|hitdie_final}+[[@{selected|constitution_mod}* ?{How many hit dice would you like to spend?}]][CON]]]}} {{normal=1}} @{selected|charname_output} {{charname=@{selected|token_name}}}
```

### Dungeon Master's OGL Macros

#### OGL Setup Group Initiative and Checks

**Description** Одноразовый макрос - производит настройку Group Initiative для листа персонажа Roll20 5e OGL

```
!group-check-config --import 5E-OGL
!group-init --del-group 1
!group-init-config --toggle-replace-roll
!group-init --add-group --bare initiative_bonus
```

#### Long Rest

**Snown name** 💤LR

**Description :** Делает длинный отдых персонажу (обновляет значения расходуемых ресурсов и обновляет значение bar1) ***Automated Long Rest and Token Bar Refresh***

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod), [5th Edition OGL by Roll20 Companion](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#5th-edition-ogl-by-roll20-companion)

```
!longrest @{selected|character_name}
!token-mod --set bar1_reset|
```

#### Monster Token Setup

💀M

**Description:** This macro will setup token and settings of Character Sheet of Monster (1 character sheet belong to many tokens on map)

**API scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
!token-mod --set bar3_link| bar2_link| bar1_link| showname|yes bar1|[[@{selected|npc_hpformula}]] bar2_value|@{selected|npc_ac} bar3_value|@{selected|npc_speed} height|[[@{selected|token_size}*70]] width|[[@{selected|token_size}*70]] name|"@{selected|npc_name} %%NUMBERED%%" bar1_max| bar2_max| defaulttoken
!setattr --sel --wtype --rtype
```

#### NPC Token Setup

💀N

**Description** This macro will setup token and settings of Character Sheet of Monster (1 character sheet belong to many tokens on map)

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
!token-mod --set  bar3_reset| bar1_reset| bar2_reset| bar1_link|hp showname|yes bar1|@{selected|hp|max} bar2_value|@{selected|npc_ac} bar3_value|@{selected|npc_speed} height|[[@{selected|token_size}*70]] width|[[@{selected|token_size}*70]] name|"@{selected|npc_name}" defaulttoken
!setattr --sel --wtype --rtype
```

#### PC Token Setup

💀P

**Description** This macro will setup token of Player Character

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
!token-mod --set  bar3_reset| bar1_reset| bar2_reset| bar1_link|hp showname|yes bar1|@{selected|hp|max} bar2_value|@{selected|ac} bar3_value|@{selected|speed} height|[[@{selected|token_size}*70]] width|[[@{selected|token_size}*70]] name|"@{selected|character_name}" defaulttoken
!token mod light_hassight --on 
!token-mod --set light_radius#60 light_dimradius#=0 --off light_otherplayers
!setattr --sel --wtype --rtype
```

#### Clear all status markers

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
!token-mod --set statusmarkers|=blue|-blue
```

#### Move selected tokens to gm layer

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
!token-mod --set layer|gmlayer
```

#### OGL Dungeon Master Utilities 1

**Description of menu items**

Set Default Token - will setup selected token as default token for character

Token Mod API help -

Create Token Actions - creating attacks, checks and saves for selected token

Create Spellbok - creating ability to fast spellcasting (token action "Spells")

Create Attacks - creating token action "Attacks" which will send to chat list of all possible character's attacks

Create Checks - creating token action "Other" which will send to chat list of all possible character's ability checks, skill checks, saves

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod), [Token actions](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#token-actions), [5eOGL-books](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#5eogl-books)

```
/w gm &{template:default}{{name=**Token-mod api**
[Set Default Token](!token-mod --set defaulttoken)
[Token Mod API help](!token-mod --help)
**TOKEN-ACTIONS**
[Create Token Actions](!ta) [Create Spellbook](!generate-spellbook) [Create Attacks](!generate-attackbook) [Create Checks](!generate-checkbook)}}
```

#### OGL Dungeon Master Utilities 2

**Description**

**API Scripts** [Group Check](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#groupcheck)

```
/w gm &{template:default}{{name=Game Utilitiess}}{{[Group Check](!group-check)[Reset HP](!token-mod --set bar3_reset|0)}}{{**Saves & Damage**}}{{[Play Slots](!token-mod --set statusmarkers|red:[[1d9]]|green:[[1d9]]|blue:[[1d9]] )}}{{**MI**}}{{[Players can ids](!token-mod --config players-can-ids|on)[Show name](!token-mod --on showname)[move selected tokens to gm layer](!token-mod --set layer|gmlayer)[turn blue aura on](!token-mod --on showplayers_aura1 --set aura1_radius|35 aura1_color|0000ff)}}{{[help](!token-mod --help)}}{{**Nameplate**}}{{[Name On](!token-mod --set showplayers_name|yes showname|yes) | [Name Off](!token-mod --set showplayers_name|no showname|yes)}}{{**Light & Vision**}}{{[Snuff](!token-mod --set light_otherplayers|off light_radius|0 light_dimradius|0 light_angle|360) | [Sight](!token-mod --on showname light_hassight light_angle|360) | [Blind](!token-mod --off showname light_hassight light_angle|360) | [Spot](!token-mod --set light_otherplayers|on light_radius|1 light_dimradius|0 light_angle|360) | [GM](!token-mod --set light_otherplayers|off light_radius|5 light_dimradius|5 light_angle|360)[Candle](!token-mod --set light_otherplayers|on light_radius|5 light_dimradius|0 light_angle|360) | [Lamp](!token-mod --set light_otherplayers|on light_radius|30 light_dimradius|15 light_angle|360) | [Torch](!token-mod --set light_otherplayers|on light_radius|40 light_dimradius|20 light_angle|360)[Hooded Lantern](!token-mod --set light_otherplayers|on light_radius|60 light_dimradius|30 light_angle|360) | [Bullseye Lantern](!token-mod --set light_otherplayers|on light_radius|120 light_dimradius|60 light_angle|90)[Darkvision](!token-mod --set light_otherplayers|off light_radius|60 light_dimradius|0 light_angle|360) | [DV90](!token-mod --set light_otherplayers|off light_radius|90 light_dimradius|0 light_angle|360) | [DV120](!token-mod --set light_otherplayers|off light_radius|120 light_dimradius|0 light_angle|360) | [*Light*](!token-mod --set light_otherplayers|on light_radius|40 light_dimradius|20 light_angle|360) | [*Daylight*](!token-mod --set light_otherplayers|on light_radius|120 light_dimradius|60 light_angle|360) | [*Faerie Fire*](!token-mod --set light_otherplayers|on light_radius|1 light_angle|3600 light_dimradius|0 statusmarkers|purple light_angle|360)}}{{**Status**}}{{[Blue](!token-mod --set statusmarkers|!blue) | [Purple](!token-mod --set statusmarkers|!purple) | [Pink](!token-mod --set statusmarkers|!pink) | [Yellow](!token-mod --set statusmarkers|!yellow) | [OFF](!token-mod --set statusmarkers|=dead|-dead)}}{{**Miscellaneous**}}{{[Follow](!showMarchingOrderMenu) }}{{**Initiative**}}{{[Roll Initiative](!group-init) | [Clear Tracker](!clear)}}{{[Sort Tracker](!order)}}{{**menu**}}{{[Set Default Token](!token-mod --set defaulttoken) }}
```

#### OGL Dungeon Master Utilities 3

**Description**

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
/w gm &{template:default} {{name=Game Utilities 2}}{{
**Saves & Damage**
[Group Check](!group-check)
[Reset HP](!token-mod --set bar3_reset|0)
[Direct Damage](!#Apply-Damage)
[Play Slots](!token-mod --set statusmarkers|red:[1d9]]|green:[[1d9]]|blue:[[1d9]])
**Light & Vision**
[Snuff](!token-mod --set light_otherplayers|off light_radius|0 light_dimradius|0 light_angle|360) | [Sight](!token-mod --on showname light_hassight light_angle|360) | [Blind](!token-mod --off showname light_hassight light_angle|360) | [Spot](!token-mod --set light_otherplayers|on light_radius|1 light_dimradius|0 light_angle|360) | [GM](!token-mod --set light_otherplayers|off light_radius|5 light_dimradius|5 light_angle|360) [Candle](!token-mod --set light_otherplayers|on light_radius|5 light_dimradius|0 light_angle|360) | [Lamp](!token-mod --set light_otherplayers|on light_radius|30 light_dimradius|15 light_angle|360) | [Torch](!token-mod --set light_otherplayers|on light_radius|40 light_dimradius|20 light_angle|360) [Hooded Lantern](!token-mod --set light_otherplayers|on light_radius|60 light_dimradius|30 light_angle|360) | [Bullseye Lantern](!token-mod --set light_otherplayers|on light_radius|120 light_dimradius|60 light_angle|90) [Darkvision](!token-mod --set light_otherplayers|off light_radius|60 light_dimradius|0 light_angle|360) | [DV90](!token-mod --set light_otherplayers|off light_radius|90 light_dimradius|0 light_angle|360) | [DV120](!token-mod --set light_otherplayers|off light_radius|120 light_dimradius|0 light_angle|360) | [*Light*](!token-mod --set light_otherplayers|on light_radius|40 light_dimradius|20 light_angle|360) | [*Daylight*](!token-mod --set light_otherplayers|on light_radius|120 light_dimradius|60 light_angle|360) | [*Faerie Fire*](!token-mod --set light_otherplayers|on light_radius|1 light_angle|3600 light_dimradius|0 statusmarkers|purple light_angle|360)
**Initiative**
[Roll Initiative](!group-init) | [Clear Tracker](!clear) | [Sort Tracker](!order)
**Status**
[Blue](!token-mod --set statusmarkers|!blue) | [Purple](!token-mod --set statusmarkers|!purple) | [Pink](!token-mod --set statusmarkers|!pink) | [Yellow](!token-mod --set statusmarkers|!yellow) | [OFF](!token-mod --set statusmarkers|=dead|-dead)
**Nameplate**
[Name On](!token-mod --set showplayers_name|yes showname|yes) | [Name Off](!token-mod --set showplayers_name|no showname|yes)
**MI**
[TokenMod ids](!token-mod --config players-can-ids|on)
[bull](!token-mod --on showname)
[move 2 gm layer](!token-mod --set layer|gmlayer)
[turn blue aura on](!token-mod --on showplayers_aura1 --set aura1_radius|35 aura1_color|0000ff)
[clear markers](!token-mod --set statusmarkers|=blue|-blue)
[Set Default Token](!token-mod --set defaulttoken) 
[help](!token-mod --help)
}}
```

#### OGL Whisper Perception Check of Selected token

**Description**

**API Scripts** N/A

```
/w gm @{selected|wtype}&{template:npc}{{always=1}} {{name=@{selected|npc_name}}} {{rname=Perception}} {{mod=}} {{r1=[[@{selected|d20}+[[@{selected|npc_perception}]][PERCEPTION]]]}} {{r2=[[@{selected|d20}+[[@{selected|npc_perception}]][PERCEPTION]]]}} 
/w gm @{selected|wtype}&{template:npc}{{normal=1}}{{name=@{selected|npc_name}}}{{rname=Passive Perception}} {{mod=}} {{r1=[[10+[[@{selected|npc_perception}]][PERCEPTION]]]}}
```

#### Whisper Perception Checks of Entire Party

**Описание**:

```
/w gm @{PC1|wtype}&{template:npc}{{always=1}} {{name=@{PC1|npc_name}}} {{rname=Perception}} {{mod=}} {{r1=[[@{PC1|d20}+[[@{PC1|npc_perception}]][PERCEPTION]]]}} {{r2=[[@{PC1|d20}+[[@{PC1|npc_perception}]][PERCEPTION]]] Passive [[10+[[@{PC1|npc_perception}]][PERCEPTION]]]}} 
/w gm @{PC2|wtype}&{template:npc}{{always=1}} {{name=@{PC2|npc_name}}} {{rname=Perception}} {{mod=}} {{r1=[[@{PC2|d20}+[[@{PC1|npc_perception}]][PERCEPTION]]]}} {{r2=[[@{PC2|d20}+[[@{PC2|npc_perception}]][PERCEPTION]]] Passive [[10+[[@{PC2|npc_perception}]][PERCEPTION]]]}} 
/w gm @{PC3|wtype}&{template:npc}{{always=1}} {{name=@{PC3|npc_name}}} {{rname=Perception}} {{mod=}} {{r1=[[@{PC3|d20}+[[@{PC1|npc_perception}]][PERCEPTION]]]}} {{r2=[[@{PC3|d20}+[[@{PC3|npc_perception}]][PERCEPTION]]] Passive [[10+[[@{PC3|npc_perception}]][PERCEPTION]]]}} 
/w gm @{PC4|wtype}&{template:npc}{{always=1}} {{name=@{PC4|npc_name}}} {{rname=Perception}} {{mod=}} {{r1=[[@{PC4|d20}+[[@{PC4|npc_perception}]][PERCEPTION]]]}} {{r2=[[@{PC4|d20}+[[@{PC4|npc_perception}]][PERCEPTION]]] Passive [[10+[[@{PC4|npc_perception}]][PERCEPTION]]]}}
```

#### 👁Perception

**Description** Fast Perception check

```
/w gm Perception: %{Selected|npc_perception} @{selected|wtype}&{template:npc} {{name=@{selected|npc_name}}} {{rname=Perception}} {{mod=@{selected|npc_perception}}} {{r1=[[1d20+@{selected|npc_perception}]]}} @{selected|rtype}+@{selected|npc_perception}]]}}
```

#### 🛠️Base-menu

**Description**

**API Scripts** [Token Mod](https://github.com/palikhov/palant_roll20_setup/wiki/02.-API-Scripts#tokenmod)

```
!token-mod {{
  --on showname 
    light_hassight 
    showplayers_name 
    showplayers_bar1 
    showplayers_bar2 
    showplayers_bar3 
    showplayers_aura1 
    showplayers_aura2
  --set represents|?{Character Name} 
    bar2_link|ac
    bar1_link|hp
    bar3_link|spell_save_dc
    light_radius|5 
    light_dimradius|=-5
    defaulttoken
}}
```

#### Potion-Healing

```
/em applies a Potion of healing to @{target|Target|token_name}
!token-mod {{
  --set
    bar3_value|[[{@{target|Target|bar3}+2d4+2, @{target|Target|bar3|Max}d1}kl1]]
  --ids
    @{target|Target|token_id}
}}
```

#### Token Utilities 1

🔗Token

```
/w @{selected|character_name} &{template:desc} {{desc=

**Token Utilities 1**

[Create token of monster](~DMUtilsOGL|Monster-Token-Setup)  
[Create token of NPC](~DMUtilsOGL|NPC-Token-Setup)
[Create token of PC](~DMUtilsOGL|PC-Token-Setup) 
[NPC RND HP](~DMUtilsOGL|NPC-RND-HP) 
 }}
```

#### Light/Vision options

👁

```
?{
Light/Vision options:
|Normal vision,!token-mod --set light_radius#1 light_dimradius#0 --on light_otherplayers
|Off,!token-mod --set light_radius#0 light_dimradius#0 --off light_otherplayers
|Darkvision,!token-mod --set light_radius#70 light_dimradius#=-70 --off light_otherplayers
|Candle,!token-mod --set light_radius#10 light_dimradius#7 --on light_otherplayers
|Lamp,!token-mod --set light_radius#30 light_dimradius#17 --on light_otherplayers
|Torch/Light Cantrip,!token-mod --set light_radius#40 light_dimradius#22 --on light_otherplayers
|Hooded Lantern/Bonfire,!token-mod --set light_radius#60 light_dimradius#31 --on light_otherplayers
|Daylight Spell,!token-mod --set light_radius#120 light_dimradius#61 --on light_otherplayers
|True Seeing,!token-mod --set light_radius#119 light_dimradius#119 --on light_otherplayers
}
```

### Bonus

#### a macro template for any repeating section of the OGL sheet

```
/w @{selected|character_name} &{template:npcaction} {{rname=Checks}} {{description=Select Attack
[@{selected|repeating_attack_$0_atkname}](~selected|repeating_attack_$0_attack)[@{selected|repeating_attack_$1_atkname}](~selected|repeating_attack_$1_attack) [@{selected|repeating_attack_$2_atkname}](~selected|repeating_attack_$2_attack)
}}
```

#### Template for spells

```
/w @{selected|character_name} &{template:npcaction} {{rname=Spells}} {{description=Select Spell
[@{selected|*******}](~selected|@@@@@@)
}}
```

***\*\**** replace with spell levels reference repeating macro (change spell to spellname) \[%{selected|repeating*spell-1*$0*spell} >>>> @{selected|repeating\_spell-1*$0\_spellname}]

List of callable names for each repeating section and their section name repeatin&#x67;*(section name)*$0\_(name called) traits > name tool > toolname proficiencies > name inventory > itemname (for money) @{selected|***} \[replace*** with cp,sp,ep,gp,pp]

#### Statblock macro

```
/w GM &{template:npcaction} {{rname=@{selected|npc_name}}} {{description=**AC** = @{selected|npc_AC}
**Type** = @{selected|npc_type}
**Challenge** = @{selected|npc_challenge}
**XP** = @{selected|npc_xp}
**HP** = @{selected|npc_hpbase}
**Speed** = @{selected|npc_speed}
**STR** = @{selected|strength} @{selected|strength_mod}
**DEX** = @{selected|dexterity} @{selected|dexterity_mod}
**CON** = @{selected|constitution}} @{selected|constitution_mod}
**INT** = @{selected|intelligence} @{selected|intelligence_mod}
**WIS** = @{selected|wisdom} @{selected|wisdom_mod}
**CHA** = @{selected|charisma} @{selected|charisma_mod}
**Immunity** = @{selected|npc_immunities}}
**Immunity Condition** = @{selected|npc_condition_immunities}} **Senses** = @{selected|npc_senses}}}
```

#### Scorching Ray + Hex macro

```
&{template:default}{{name=Scorching Ray}}{{attack = + [[1d4]] on attack roll If bless is active
•[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
•[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
•[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit ?{Spell Slot|
2,
My 3 **Rays** do **Fire Damage** to selected targets |
3,
• Attack 4 [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 4 **Rays** do **Fire Damage** to selected targets |
4,
• Attack 4 [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• Attack 5 [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 5 **Rays** do **Fire Damage** to selected targets|
5,
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 6 **Rays** do **Fire Damage** to selected targets|
6,
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 7 **Rays** do **Fire Damage** to selected targets|
7,
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 8 **Rays** do **Fire Damage** to selected targets|
8,
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 9 **Rays** do **Fire Damage** to selected targets|
9,
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
• [[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]/[[1d20+@{Player_name|charisma_mod}+@{Player_name|pb}]]
[[2d6]]Fire[[1d6]] necrotic
[[2d6]]Fire[[1d6]] necrotic If crit
My 10 **Rays** do **Fire Damage** to selected targets
}}}
```

#### Template for NPC spellbook

```
@{wtype} &{template:default}{{name=@{character_name} Spellcasting}} {{Spell Save DC @{spell_save_dc}=@{spell_attack_bonus} to hit with spell attacks}}{{Spells
=[@{repeating_spell-cantrip_$0_spellname}](~selected|repeating_spell-cantrip_$0_spell)
[@{repeating_spell-cantrip_$1_spellname}](~selected|repeating_spell-cantrip_$1_spell)
[@{repeating_spell-cantrip_$2_spellname}](~selected|repeating_spell-cantrip_$2_spell)
[@{repeating_spell-1_$0_spellname}](~selected|repeating_spell-1_$0_spell)
[@{repeating_spell-1_$1_spellname}](~selected|repeating_spell-1_$1_spell)
[@{repeating_spell-2_$0_spellname}](~selected|repeating_spell-2_$0_spell)
[@{repeating_spell-2_$1_spellname}](~selected|repeating_spell-2_$1_spell)
}}
```

### Magic Items Macros

#### Wand of Magic Missiles OGL

```
@{wtype} &{template:atkdmg} {{rname=Wand of Magic Missiles}} {{attack=0}} {{range=120 feet}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[ [[2+?{Charges|1}]]d4 + [[2+?{Charges}]] ]]}} {{dmg1type=force}} {{damage=1}} {{desc=1}} {{desc=?{Charges} charge(s)}} {{charname=@{Testing|character_name}}}

!setattr --charid @{Testing|character_id} --repeating_resource_$0_resource_right|1 --silent
```

[Roll20 forum](https://app.roll20.net/forum/post/4467673/slug})

#### Staff of Healing OGL

```
/em using Staff of Healing
?{Staff of Healing|Cure Wounds,%{Testing|Cure-Wounds}|Lesser Restoration,%{Testing|Lesser-Restoration}|Mass Cure Wounds,%{Testing|Mass-Cure-Wounds}}
```

```
@{wtype}&{template:dmg&# 125; {{rname=Cure Wounds&# 125;&# 125;{{range=Touch&# 125;&# 125;{{damage=1&# 125;&# 125;{{dmg1flag=1&# 125;&# 125; {{dmg1=[[1d8+[[@{spellcasting_ability}]]]]&# 125;&# 125; {{dmg1type=Healing&# 125;&# 125;{{hldmg=[[[[(1*{(?{Charges&# 124;1&# 124;2&# 124;3&# 124;4&# 125;-1)&# 44;@{other_resource}&# 125;kl1)]]d8]]&# 125;&# 125;
!setattr --charid @{character_id} --modb --other_resource&# 124;-?{Charges&# 125; --silent
```

```
@{wtype}&{template:spell&# 125; {{level=abjuration 2&# 125;&# 125;  {{name=Lesser Restoration&# 125;&# 125; {{castingtime=1 action&# 125;&# 125; {{range=Touch&# 125;&# 125;{{v=1&# 125;&# 125; {{s=1&# 125;&# 125;{{duration=Instantaneous&# 125;&# 125;{{description=You touch a creature and can end either one disease or one condition afflicting it. The condition can be blinded&# 44; deafened&# 44; paralyzed&# 44; or poisoned.&# 125;&# 125;
!setattr --charid @{character_id} --modb --other_resource&# 124;-2 --silent
```

```
@{wtype}&{template:dmg&# 125;{{rname=Mass Cure Wounds&# 125;&# 125;{{range=60 ft&# 125;&# 125;{{damage=1&# 125;&# 125;{{dmg1flag=1&# 125;&# 125;{{dmg1=[[3d8]]&# 125;&# 125;{{dmg1type=Healing&# 125;&# 125;
!setattr --charid @{character_id} --modb --other_resource&# 124;-5 --silent
```

```
@{output_option} &{template:5e-shaped&# 125;{{title=Mass Cure Wounds&# 125;&# 125;{{range=60 ft&# 125;&# 125;{{trait=1&# 125;&# 125;{{heal=[[3d8]]&# 125;&# 125; {{uses=@{repeating_equipment_-KbFI1CvPYgpQEOMsWgZ_uses}&# 125;&# 125;  {{uses_max=@{repeating_equipment_-KbFI1CvPYgpQEOMsWgZ_uses|max}&# 125;&# 125; 
!setattr --charid @{character_id} --modb --repeating_equipment_-KbFI1CvPYgpQEOMsWgZ_uses&# 124;-5 --silent
```

```
@{output_option} &{template:5e-shaped&# 125; {{title=Lesser Restoration&# 125;&# 125; {{spell=1&# 125;&# 125; {{spell_level=^{2ND_LEVEL&# 125;&# 125;&# 125; {{school=^{ABJURATION&# 125;&# 125;&# 125; {{casting_time=^{1_ACTION&# 125;&# 125;&# 125;  {{range=Touch&# 125;&# 125; {{components=^{COMPONENTS_V_S&# 125;&# 125;&# 125; {{duration=^{INSTANTANEOUS&# 125;&# 125;&# 125; {{content=You touch a creature and can end either one disease or one condition afflicting it. The condition can be blinded&# 44; deafened&# 44; paralyzed&# 44; or poisoned.&# 125;&# 125;
!setattr --charid @{character_id} --modb --repeating_equipment_-KbFI1CvPYgpQEOMsWgZ_uses&#  124;-2 --silent
```

If you want to say "Thank you", you can buy
