# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cyborgsandmages.gitbook.io/palant-roll20-guide/roll20-excel-companions/roll20con-epic-scripts-and-macros.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
