Character Vault
Any Concept / Any System
Compendium
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools

Savage Worlds

From Roll20 Wiki

Revision as of 20:21, 3 June 2019 by Mike Combs (Talk | contribs)

Jump to: navigation, search

Contents

Savage Worlds on Roll20

Example of Savage Worlds play with macros and customization
The streamlined rules of Savage Worlds are relatively easy to set-up and play in Roll20, even with a free account. The special dice rolls (exploding dice and wild card dice) are easily generated. Cards for initiative can be automated. GMs can upload or create maps, upload tokens for NPCs and track their stats, and upload customized Bennies and action cards. Players can enter all aspects of their characters into a character sheet for easy die rolling that accounts for wounds and other modifiers, with notes for edges, powers, and gear descriptions.


Common functions (like trait rolls and calculating raises) are easily automated with the basic scripting ability included in the free Roll20 service. Most of the scripts (usually called macros) needed to play adventures and campaigns are included in this guide.

Scripts, Macros, and Abilities

Scripts are the lines of code that automate Roll20. When they are stored in the l Collection tab they are called Macros. When they are stored in the Abilities & Attributes tab of a Character sheet they are called Abilities.

Creating a Macro
The scripts in this guide will be have a name and some code, and sometimes an explanation of the code in italics. Scripts (macros) will be shown like this:



roll-run
Run speed is [[6 + 1d6]].

The code 1d6 rolls one d6. Surrounding the roll with [[ shows only the total. Hover over the result to see a tool tip with the values of the die roll.



Collection tab, Macros

To save a scripts as a Macro in the l Collection tab:

  1. On the l Collection tab, Macros, click Add.
  2. In the Edit Macro dialog, enter the name and script.
  3. (Usually) Set Visible to Players = All Players.
  4. (Sometimes) Set Show as Token Action = True. (These appear in a second macro bar only when a token is selected.)


If the previous example is saved as a Macro named roll-run, players can access it by:

  • Typing #roll-run in the chat window. (After typing '#ro', you can press tab to auto-complete the phrase.)
  • Opening the l Collection tab and clicking the t dice icon for the macro.
  • Selecting "Show Macro Quick Bar" in the l Collection tab, and selecting "In bar" for the macro.
  • Clicking the Macro name in the l Collection tab and selecting "Show as Token Action".


Acing Die Rolls

In Savage Worlds, Trait and Damage rolls can Ace. Each time the die rolls its max value, you add that value and roll again.

This example rolls a d4. You can type this script into the qChat tab and see the result there. If the die rolled a 1 the result will be in a red box. If a die aced it will be shown in a green box.

/r 1d4!

/r rolls dice. 1d4! rolls 1d4 and enables acing on the die.

This example macro prompts for the die to roll and a modifier.

roll-trait
Trait roll is [[{1d?{Die type|6}! + ?{Modifier|0}]]

3D Dice

Animated 3D dice help recreate the table top feeling
To see animated, 3D dice rolled on the table top, go to the yMy Settings tab and select Enable 3D Dice.
The dice color match your chat avatar color


If you select Automatically roll 3D dice, the dice will be rolled automatically when needed. If this is not selected, when a die roll is needed you will be prompted to drag across the table top to set the direction and velocity of the dice throw.

The color of the dice will be the same as the color of your chat avatar. Click on the color box of your chat avatar to change it.

Wild Card Die Rolls

When making trait rolls, wild Card characters roll an extra d6 and take the highest of the Trait die or Wild die.

d8 trait roll with wild card die, hovered to show rolls

Here's an example that rolls a d8 and the d6 wild card die. You can type this script into the qChat tab and see the result there. If either die rolled a 1, the result will be in a red box. If a die aced it will be shown in a green box.

[[ {1d8!, 1d6!}kh1 ]]

{x,y}kh1 keeps the highest one of the two dice. Surrounding the roll with [[ shows only the result of the roll. Hover over the result to see a tool tip with the values of the dice.

This example prompts for the die type and modifier, then rolls with a d6 wild card die.

roll-wild-trait
Wild card roll is [[{1d?{Die type|6}!, 1d6!}kh1 + ?{Modifier|0}]]

?{Question|Default} prompts the user to enter a value. Surrounding the roll with [[ shows only the result of the roll. Hover over the result to see a tool tip with the values of the dice.

Damage Rolls

Damage rolls are made after a successful attack (fighting, throwing, shooting) roll, and the damage total gains an extra d6 if the attack roll was a raise. The easiest way to do this is to show the extra d6 roll and let the player add it.

Damage roll is [[1d6! + 1d8!]] and bonus damage is [[1d6!]].

These three scripts prompt for the strength die, weapon dice, modifiers and AP, and roll the optional d6 for the raise bonus. (If you hover over the raise result, the popup text will explain when to apply it.)

melee-damage
The melee damage is [[?{Strength die|d6, d6!|d4, d4!|d8, d8!|d10, d10!|d12, d12!|d12+1, d12!+1|d12+2, d12!+2} + ?{Weapon die|d6|d4|d8|d10|d12}! + ?{Modifier|0}]] AP(?{AP|0}). Raise bonus: [[1d6! Add raise bonus if the fighting roll got a raise.]]

strength-range-damage (Generally thrown weapons, but also the compound bow.)
The range damage is [[?{Strength die|d6, d6!|d4, d4!|d8, d8!|d10, d10!|d12, d12!|d12+1, d12!+1|d12+2, d12!+2} + ?{Weapon die|d6|d4|d8|d10|d12}! ]] AP(?{AP|0}). Raise bonus: [[1d6! Add raise bonus if the shooting or throwing roll got a raise.]]

range-damage (Generally bows and guns.)
The range damage is [[?{Number of dice|2}?{Weapon die|d6|d4|d8|d10|d12}! + ?{Modifier|0}]] AP(?{AP|0}). Raise bonus: [[1d6! Add raise bonus if the shooting or throwing roll got a raise.]]

Calculating Raises and Wounds

In Savage Worlds, a roll is a success if it is at least the Target Number (TN, typically 4), and every 4 points above the TN is called a Raise.

This script computes the number of raises on a 2d6 damage roll against a toughness of 5. The result is the number of raises or a negative number if there was no success.

/r floor({2d6!!-5}/4)

floor(x) rounds down.

This calc-raises macro prompts for the roll total and target number, then returns the number of raises. A negative result is a failure, a 0 is a success.

calc-raises
calc raises: [[ floor( (?{Roll value} - ?{Target number|4} ) /4) ]] raise(s) (0 is success)

In Savage Worlds, some weapons have an armor piercing (AP) value which allows them to bypass up to that many points of armor. (A Glock handgun does 2d6 AP2 damage.) Character's toughness is noted as total toughness followed by armor in parenthesis, like 11 (1). The handgun would ignore 1 point of toughness, so the target has a net toughness of 10.

This calc-damage macro prompts for damage, toughness, armor, and armor piercing damage to calculate net damage to the target. Armor piercing damage bypasses that up to that many points of armor, so the macro subtracts the smallest of the AP damage or armor from the toughness.

calc-damage
Net damage= [[ ?{Damage|7} - (?{Toughness|5} - {?{Armor|3}, ?{AP Damage|2}}kl1) ]]
{x,y}kl1 returns the lower of the two values.

This calc-wounds macro prompts for net damage and the shaken status of the target. In Savage Worlds the target gains 1 wound per raise in net damage, or if there are no raises, 1 wound if the target is shaken.

calc-wounds
Wounds = raises. If no raises, +1 wound if shaken. Wounds = [[ ?{Shaken|No,floor( ?{Net damage} /4)|Yes,{floor( ?{Net damage} /4),1}kh1}} ]]

For ease of reading, here's the same macro without substitutions:

Wounds = raises. If no raises, +1 wound if shaken. Wounds = [[ ?{Shaken|No,floor( ?{Net damage} /4)|Yes,{floor( ?{Net damage} /4),1}kh1}} ]]


Tracking Bennies

In Savage Worlds, Bennies are tokens the players (and GM) may redeem to reroll the dice. Players start each session with three Bennies and are awarded more for good roleplaying or when a Joker is drawn during initiative.

Create a card deck for Bennies

In order to easily track Bennies, create a custom card deck.

  1. On the l Collection tab, Decks, click Add.
  2. In the New Deck dialog:
    1. Name the deck Bennies.
    2. Set Cards in Deck = Infinite, Considered = Drawing.
    3. Set Card Size to 140x140, or 145x145 with shadow (usually a good value since the grid is 70x70).
    4. Upload an image (like a coin or poker chip) for the card back.
    5. Upload the same image for the card front.
  3. Select Show Deck.
  4. Hover over the deck and select Deal.


If you are using a setting with special Bennies, you might have to create extra cards. For example, Deadlands: Reloaded uses a Benny pool made up of Poker Chips called Fate Chips. There are 20 white chips, 10 red chips and 5 blue chips in the Fate Chip pool. So create your deck as before, upload an image of a poker chip as the background, and then create 20 new cards called White Chip. Upload an image of a white poker chip for each card. Repeat for the red and blue chips, making 10 and 5 of each. Then for deck options make sure that you do NOT check "cards in deck are infinite" and cards are played face up. Check the boxes to allow GM to see number of cards in other's hands and front of cards. Set any other options you like and you are done!

You can then shuffle and deal the "deck" just like a deck of cards and the users will receive their Bennies as normal. They can play them to the tabletop just like other cards.

Using Cards for Initiative

In Savage Worlds, Action cards (poker cards with jokers) are dealt to players to determine initiative order. Play order is a countdown from Ace to Two, with Jokers going first, and ties resolved in reverse alphabetical order (Spades, Hearts, Diamonds, Clubs). Some characters may get more than one card, some groups of extras may get one to represent the group.

Use the Turn Tracker to manage initiative in card order

Roll20 can do this manually or automatically with the Turn Tracker.


Manual Method

The GM can play cards onto the table into a place designated for the particular player or group. This method makes it easy to assign one card to a group of extras and extra cards to players that need them. To help track which card was assigned to each player:

  • Drag to edges of the screen assigned to players (e.g. "Dave sits at the top of the screen, Luke on the right, Jeff on the left. I the GM sit at the bottom.")
  • Draw a set of boxes with player names and drag the cards there.
  • Drag left to right corresponding to the avatar names at the bottom.


The first two methods can allow players to draw their own cards. The left-to-right method only holds up if the GM draws the cards.

Automatic Method

You can use the Turn Tracker with cards. Tokens can be added to the Turn Tracker right clicking on them and choosing the Add Turn options from the pop-up menu. The GM decides who gets his own cards and who is grouped together. If a token in the Turn Tracker represents a group of extras the highlighting obviously does not work correctly. Also, don't delete dead tokens because if you delete the one token you chose to represent a group, the group also disappears from the Turn Tracker. A better choice is to mark them dead with a token indicator overlay, or move them out of the visible portion of the Fog of War.

To deal a card to each token in the Turn Tracker, click "Deal" on the Action Cards deck (basically any poker deck), then select "Deal Cards to Turn Order Items" from the pop-up window.

Hybrid Method

Here is how you can use the Turn Tracker and still keep some of the excitement of "dealing the card". The GM calls out who he is dealing for and draws a card from the stack. This is done by clicking on the card that sticks out on the top of the stack. The card is flipped around and the players can see what card it is. The "Show deck to players" option for the deck has to be set for this to work. Then the GM drags the card onto the Turn Tracker. He has to release the mouse when the cursor is over the number next to a token (the number turns yellow then).

You can drag cards into the Turn Order Tracker
The mouse cursor has to be over the number of the Turn Tracker for this to work, not the card, a corner of the card, or actually anything related to the card. It has to be the mouse cursor. It is easier to see this and get it right if the GM picks the card up on the left upper corner, because then it is easier to see the background color of the number in the Turn Tracker turn yellow.

Once the cards are dealt, the GM can open the Turn Order Settings dialog (click the blue gear icon) and press the "By Card/Suit" button to sort the Turn Tracker.

A note on the order in which the cards are drawn. The GM can decide to follow a fixed order every time, but it is easier to use the order in the turn tracker, which will be the order in which the tokens were added in the first round and then the order of the previous round. For dramatic purposes, it might also be a good idea to deal the cards for the NPCs first and then for the players.


Character Sheets

Character Sheets allow you to track your character's traits, edges, powers, and gear. The creator of a game can choose a character sheet template when setting up the game, and all characters in the game will use that sheet template. Use the guides below for specific versions of available character sheets.



Tokens for Characters and Creatures

[https://wiki.roll20.net/Token_Features Tokens can represent PCs and NPCs on the map. Savage Worlds characters can be thought of as three types—Extras, Face cards, and Wild cards—and represented on the map with tokens. Extras are often used for guards and monsters. They have no wild die on trait rolls, and are incapacitated if wounded. Face cards are not in the official rules but are sometimes used for slightly-better monsters, like group leaders. They are incapacitated after three wounds. Wild cards are often used for PCs and unique NPCs. They get a wild die on trait rolls and are incapacitated after three wounds.

Three common types of tokens
NPC art, 440px wide
NPC token, 150px square

Hints for creating tokens: Tokens can generally be:

  • Top-down views for maximum realism, but the least detail because you mostly see the top of the NPC's head and shoulders.
  • Side views provide the most complete view, but since they're displayed at 70x tall most detail is lost and they can be difficult to quickly see on a full-size map.
  • Side view portraits (head and shoulders) in a circle with a colored border are easy to see and provide the most facial detail, but don't show clothing, weapons, hands, and other details. These are generally preferred, and the full side-view art is shown in the character sheet, or a Journal handout, or in the q Chat tab (via a macro). There are applications and web sites that make it easy to scale and crop the portrait art into a round token.


Tokens for standard sized creatures will displayed as 70x70 px, the default map grid size. To look good at 200% zoom, make the token 140x140 px (or 128 square, or 150 square). If you're creating a token that is the head and shoulders clipped from a larger portrait, you'll want the clipped portion to be 140 square and this generally means that the larger (source) portrait will be 300 to 400px wide. If you use smaller source material, your tokens will look blurry.


Here four common ways to represent characters with tokens:

  • Just art: Place token art on the map, keep the key stats like parry and toughness elsewhere. When you need to roll an attack, just choose the appropriate die type.
  • Key stats: Place key stats into the token and use token macros for attacks by the creature. This can be relatively fast, because you typically only need Parry, Toughness, and Spirit.
  • Unlinked character sheet: Create a character sheet for the creature and link it to the token, then unlink it from the token. This lets access the character sheet for special attacks, but each token has their own wounds.
  • Linked character sheet: Create a character sheet for the creature and link it to the token. Stats (like wounds, fatigue, or ammo) can be adjusted on the token and will update the character sheet. This is useful for bosses and unique NPCs.


Just art tokens

The method is the fastest way to put three guards or giant spider on the map. It's well suited to Extras because you don't have to track wounds. To attack, manually select the correct die to roll by consulting the source material, for example, the setting guide, SWADE rule book, etc. But because players cannot see the Parry, Toughness, and Armor values, they'll have to ask the GM (over and over) and this makes combat take longer.

Key stat tokens

The key stats method stores parry and toughness in the token. You can also store spirit, and the primary attack to-hit and damage values in the token. The right balance depends on how much time you're willing to take to enter the information into the token.

Think of the tokens as art plus seven data fields, and use those fields to make combat easier without having to create a full character sheet. Each token has a name field, and three bars each with a value and a maximum value. You can fill just the two values for parry and toughness, or fill in up to all seven, as suits you.

Wounds are not stored for Extras, but for face cards, extras that can sustain wounds, the wounds can be indicated with a red status dot and the wound value.

Field Field Value Example
Name Name or URL to image file http://example.com/fjdi/soldier.png
Bar 1 parry 5
Bar 1 max attack1-hit The soldier swings his sword: [[1d6!]].
Bar 2 toughness 5
Bar 2 max armor 0
Bar 3 spirit d6
Bar 3 max attack1-damage The soldier's cutlass slashes: [[2d6!]] damage.

You can hide the bars so they don't obscure the token and map. If the value or max is blank, that bar will not be shown. If both values for the bar have a value, it will be visible to the GM. On the Basic tab make sure the controlling player is blank. On the Advanced tab, you can make bars invisible to the controlling player by deselecting Edit, and invisible to all players by deselecting See.

With the Key Stats method you use four macros to complete the automation:

  • extra-stats: /desc [picture](@{target|Extra|token_name}?raw=1#.jpg) Parry @{target|Extra|bar1}, Toughness @{target|Extra|bar2(@{target|Extra|bar2|max})
  • extra-attack: @{selected|bar1|max}. [roll damage](~extra-damage)
  • extra-damage: @{selected|bar3|max}
  • extra-unshake: They attempt to unshake: [[@{selected|bar3}!]].


Chases

Savage Worlds (Deluxe) Chases and Roll20 An example and explanation in the forum


Injury (and other) Tables

Use the following weights to get the Injury Table results with one roll.

Wound SWD Weight SWADE Weight
Unmentionables 6 6
Arm 30 30
Guts (Broken) 48 48
Guts (Battered) 48 48
Guts (Busted) 48 48
Leg 18 30
Head (Hideous Scar) 6 3
Head (Blinded) 6 2
Head (Brain Damage) 6 1


It is (currently) not possible to set up the Fright Table as a rollable table since you frequently need to roll on it with a modifier and modifiers for tables are not possible in Roll20.

For the Out of Control Table use these weights:

Effect Weight
Roll Over 1
Spin 5
Skid 24
Slip 5
Flip 1

For the Critical Hits Table use these weights:

Effect Weight
Scratch and Dent 1
Engine 2
Locomotion 3
Controls 4
Chassis 16
Crew 7
Weapon 2
Wrecked 1



Area of Effect (Blast) Templates

Savage Worlds uses blast and cone templates to determine which characters are impacted by various area of effect spells. You can place these images on the map over the tokens.

If you upload templates as art, then drag them onto the map, they will resize to match the grid. To keep them the original size, it's useful to store the templates in card decks, one deck for each template size. Original discussion


Make the templates

  1. Use the Savage Worlds art or create new template art.
  2. Size them correctly: Roll20 grids are 70x per inch, and in SWADE 1 inch = 2 yards, so each yard is 35px. Thus: 4 yard small blast is 140px, 8 yard medium is 280px, 12 yard large is 420px. The 18 yard cone is 630x210.
  3. Set them to be about 20% transparent so you'll be able to see tokens under them.
  4. Also create template card back art. All decks will look the same size while in the player's hand, so it's helpful to have backs that are labelled small, medium, and large.
  5. (optional and fun) Create extra templates to represent different trappings. For the four elements (fire/earth/water/air) and four sizes you'll need 16 templates. Consider adding poison gas, insect and other swarms.
  6. (optional and furious) Make parts inside the blast template transparent, like the space between insects, or an inward spiral for a tornado funnel.


Upload Art to Roll20 Decks

  1. In the Art Library tab, click Upload. You can drag all templates at once into the dialog box.
  2. (optional but useful) Store them into a folder "blast templates". Try to keep your Recent Uploads list empty by putting everything in folders.
  3. Create four decks: small blast, medium blast, large blast, cone.
    • In each deck set the size correctly.
    • For all decks, select Cards in deck are infinite, Allow choosing cards to GM + Players, Played facing = Face Up, and Considered = Drawings.
    • Drag the deck window to the left, click "add card", that window will open a little to the right. Click the Art Library tab and drag over the appropriate template. Repeat for each template and deck.


Using Area Effect Templates in Play

At the start of the session, show the decks, let the players take the cards that match their spells and trappings, then hide the decks. Players will put the card/blast template on the table when they need it. After use, the player can right-click and select Take Card to put it back in their hand.


Organizing Content

As you upload art, tokens, portraits, maps, handouts and other material, here are some tips to get the most from your storage allowance and still rapidly find things.


Art Library

All uploaded art will appear here, even if it is directly uploaded into a card deck, handout, map, or character sheet. All uploaded art counts against your storage allowance, and it is shared across all games you create. Here are some strategies for organization. This will help you avoid duplicates and find things quickly.

When art is uploaded, immediately put it into a folder. Your goal should be for the Recent Uploads section to be blank.

  • Bestiary (monsters, guards)
  • Races (tokens and portraits for playable races)
  • Named NPCs (tokens and portraits)
  • Player Characters (tokens and portraits)
  • Cards and Bennies
  • Scenes
  • Handouts
  • Maps (named locations)
    • 0 Terrain (generic jungle, tavern)
    • 0 Tokens (trees, rocks, saloon tables)

If you're going to run games in vastly different settings (fantasy and science fiction), then you can create top-level folders for this and use the folders above as sub-folders.


Journal

The journal is unique to each game. Good organization here will help you find things while playing. Items in the Journal that are shared with all players will have a blue dot after their name.

Start with a good folder system.

  • Bestiary
  • NPCs
    • Subfolders for locations
  • Player Characters
  • Maps
    • Subfolders for nations, continents, realms, etc.
  • Handouts
  • Rules
    • Raise calculator, weapon and armor tables
    • References for states, power modifiers
    • Character sheets used for storing scripts (macro mules)


Script/Macro/Ability Resources

These threads over on the forum explain more about setting up Macros in Roll20 for Savage Worlds:

Some macros I made for Savage Rifts (Necron99, 2017)

Easy Savage Worlds Macros (Andrew L, 2016)

Example of Setting up Character Sheets and Macros (PaladinTodd, 2014)

Some General Macros: Rate of Fire 3, etc. (John R, 2014)


Finding Games

Roll20 Savages -Savage Worlds Directory


Savage Worlds Macros By Necron99

Here is an example of some of the macros i use for my Savage Rifts game. These Macros also work in regular Savage Worlds game. Just change the names. Link to my original post on macros

Ive been making these macros for my game to make everything run faster. The pull A lot of information from the sheet. One thing I suggest is making a bubble linked to parry on the token it set for bar 1 but you can change it. that way if a PC or what ever make a wild attack, you can just input the -2 and it will adjust. These Macros take everything from the sheet, as much as possible. A couple here and there might be slight mutations. as macros evolve with a life of their own. these macros must be named the name as they are listed if you change the name change the button information as well. these are tiered macros.

Chain-Great-Sword (Enter this as an ability on the character sheet.)
&{template:default}{{name=Chain-Great-Sword AP2 MDC}}{{Attack1=[[floor((1d@{fighting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{target|bar1}-@{wounds}-@{fatigue})/4)]] Raises}}{{Attack2=[[floor((1d@{fighting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{target|bar1}-@{wounds}-@{fatigue})/4)]] Raises}}{{Wild Die=[[floor((1d6!!-@{encumbrance}-@{wounds}-@{fatigue}- @{target|bar1}+?{Penalty or Bonus?|0})/4)]] Raises}}{{Targets Parry=[[@{target|bar1}]]}}{{Target=@{target|token_name}}}{{[Chain-Great-Sword](~chain-great-sword-dmg)}} @{target|image}

Note @{target|image} is used in many macros to show a picture of the target. The target must have an attribute named image and the value must be [image](url of .jpg or gif). If it doesn't have the .jpg or .gif extension, just numbers, add #.jpg or #.png at the end of it.)


chain-great-sword-dmg (Enter as an ability)
&{template:default}{{name=Chain-Great-SwordAP2 Mega Damage}}{{Chain-Sword [[d@{strength}!!+2+2d10!!+?{raise|no,0|yes,1d6!!}]]}}{{Vehicle [[d@{strength}+2+2d10]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}

Mini-rail-gun-(Range-75/150/300)
&{template:default}{{name=Mini-rail-gun-(Range 75/150/300, Damage 2d8+4, RoF 4 AP 6, MDC)}} {{Attack1=[[floor((1d@{shooting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Attack2=[[floor((1d@{shooting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Attack3=[[floor((1d@{shooting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Attack4=[[floor((1d@{shooting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Wild Die=[[floor((1d6!!-@{encumbrance}-@{wounds}-@{fatigue}+?{Penalty or Bonus?|0}-4)/4)]] Raises}}{{Target=@{target|token_name}}}{{[mini-rail-run-dmg](~mini-rail-run-dmg)}}

mini-rail-run-dmg
&{template:default}{{name=Mini-rail-gun-(Range 75/150/300, Damage 2d8+4, RoF 4 AP 6, MDC)}}{{Rail gun=[[2d8!!+4+?{raise|no,0|yes,1d6!!}]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}

NG-57(Range-12/24/48-RoF-1)
&{template:default}{{name=NG-57 Heavy Duty Ion Blaster Range 12/24/48, RoF 1, Damage 1–3d6+1}} {{Attack1=[[floor((1d@{shooting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Wild Die=[[floor((1d6!!-@{encumbrance}-@{wounds}-@{fatigue}+?{Penalty or Bonus?|0}-4)/4)]] Raises}}{{Target=@{target|token_name}}}{{[NG-57-dmg](~NG-57-dmg)}}

NG-57-dmg
&{template:default}{{name=NG-57 Heavy Duty Ion Blaster Range 12/24/48, RoF 1, Damage 1–3d6+1}}{{Damage=[[?{Range|short, 3d6!!| medium, 2d6!!| long, 1d6!!} + ?{dmgmod|0}+?{raise|no,0|yes,1d6!!}]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}

HEX-Grenade
&{template:default}{{name=HEX-Grenade (Range 5/10/20 MDC, MBT)}} {{Attack1=[[floor((1d@{Throwing}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Wild Die=[[floor((1d6!!-@{encumbrance}-@{wounds}-@{fatigue}+?{Penalty or Bonus?|0}-4)/4)]] Raises}}{{Target=@{target|token_name}}}{{[HEX-Grenade-dmg](~HEX-Grenade-dmg)}}

HEX-Grenade-Dmg
&{template:default}{{name=HEX-Grenade (Range 5/10/20 MDC, MBT)}}{{Damage=[[3d8!!+ ?{dmgmod|0}+?{raise|no,0|yes,1d6!!}]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}

fraggrenade (Range 5/10/20) LBT-MDC
&{template:default}{{name=Frag grenade (Range 5/10/20, Damage 3d6, Mega Damage, LBT)}} {{Attack1=[[floor((1d@{Throwing}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Wild Die=[[floor((1d6!!-@{encumbrance}-@{wounds}-@{fatigue}+?{Penalty or Bonus?|0}-4)/4)]] Raises}}{{Target=@{target|token_name}}}{{[FRAG-Grenade](~FRAG-Grenade-dmg)}}

FRAG-Grenade-dmg
&{template:default}{{name=Frag grenade (Range 5/10/20, Damage 3d6, Mega Damage, LBT)}}{{Damage=[[3d6!!+ ?{dmgmod|0}+?{raise|no,0|yes,1d6!!}]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}


this is a special one i have cyborg battle toads. so i gave them "The boot" the-boot
&{template:default}{{name=The Boot MDC}}{{Attack1=[[floor((1d@{fighting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{target|bar1}-@{wounds}-@{fatigue})/4)]] Raises}}{{Attack2=[[floor((1d@{fighting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{target|bar1}-@{wounds}-@{fatigue})/4)]] Raises}}{{Wild Die=[[floor((1d6!!-@{encumbrance}-@{wounds}-@{fatigue}- @{target|bar1}+?{Penalty or Bonus?|0})/4)]] Raises}}{{Targets Parry=[[@{target|bar1}]]}}{{Target=@{target|token_name}}}{{[The Boot](~The-Boot-dmg)}}

the-boot-dmg
&{template:default}{{name=The Boot Mega Damage}}{{The Boot=[[d@{strength}!!+3+1d10!!+3d6!!+?{raise|no,0|yes,1d6!!}]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}

magic
&{template:default}{{name=Magic}}{{Magic=[[floor((1d@{Spellcasting}!!+?{Penalty or Bonus?|0}-@{encumbrance}-@{wounds}-@{fatigue}-4)/4)]] Raises}}{{Wild Die=[[floor((1d6!!+@{encumbrance}-@{wounds}-@{fatigue}+?{Penalty or Bonus?|0}-4)/4)]] Raises}}{{Power Points=[[@{selected|bar3}]]}}{{Wizard=[[-1]] point per raise}} [Armor 5pp](~armor)[slow 2pp 30"](~slow)[Bolt 3d6(2)pp 6d6(4)pp 18/36/72](~bolt)[Boost- Lower-Trait 4pp 20"](~Boost-Lower-Trait)[Darksight 2pp](~darksight)[Deflection 4pp](~deflection)[PPE-Thief 9pp 20"](~ppe-thief)[fear 4pp 30"](~fear)[Rezi 30pp](~RESURRECTION)[mass-healling 6pp 20"r](~mass-healing)[astral-form 10pp](~astral-form)[mind-control 6pp 20"](~mind-control)[slumber 4pp 30"](~slumber)[wall-walker 4pp](~wall-walker)[zombie 3pp/per](~zombie)


armor
&{template:default}{{name=ARMOR GREATER ARMOR}}{{Power Points Cost=[[(5-?{number of raises|0})]]}}{{Range=Touch}}{{Duration=3 (1/round)}}{{Success grants=+5 M.D.C. Armor, a raise grants +10}}

bolt
&{template:default}{{name=Bolt Mega Dmg 18/36/72}}{{3d6 cost=[[2-?{number of raises|0})]]}}{{6d6 cost=[[4-?{number of raises|0})]]}}{{3d6=[[3d6!!+?{Raise|no,0|yes,1d6!!}]]}} {{6d6=[[6d6!!+?{Raise|no,0|yes,1d6!!}]]}}{{Target Toughness=[[@{target|toughnesscur}]] ([[@{target|toughnessArmor}]])}}{{[Dmg-Calc](~dmg-calc)}}

Boost-Lower-Trait
&{template:default}{{name=BOOST/LOWER TRAIT}}{{Power Points Cost=[[(4-?{number of raises|0})]]}}{{Range=[[@{smarts}*2]]}}{{Duration=3 (1/round)}}{{Success grants=two die types for a success, four with a raise.}}

darksight
&{template:default}{{name=DARKSIGHT}}{{Power Points Cost=[[(2-?{number of raises|0})]]}}{{Range=Touch}}{{Duration=1 hour }}{{Success grants=Exalted darksight makes it virtually impossible to impair the target’s vision in any way. Blind does not work on him, nor does any form of obscure or other lighting penalties. He can also see anyone using the invisibility power.}}

i could do the whole list but you get the formula by now to make changes on your own. and I can answer any questions you might have on how to implement them. and yes i did put every spell the npc has into macros. i like all combat to run very fast and these help me do it.

a little bit of work on the back end, and the front runs so much smother.

for those of you that play with someone who is running API script you can add
/fx explode-blood @{target|token_id}
to the end of any macro and make blood explode from your target.

coming soon!(hopefully it can be done i just need to learn it first) how to add a sound effect to play when ever you hit someone or damage them I hope you all find these macros useful. Read the wiki on macros. that where i started. 90% of you are not getting the full enjoyment out of the site as you can. I can only afford a free account and I've done so much with just the free resources.

General Macros

(These have not been reviewed.)

Here is a basic wild card trait test macro. You can point it at any token connected to a sheet. This macro is meant to be put under macros in the setting tab. I should mention, all these macros are for the tabbed sheet for savage worlds. The 2 sheet have different values.

WC-Trait /me @{target|token_name} makes a trait test /r floor(({?{Trait to Roll|Agility, #agility |Smarts,#smarts |Spirit,#spirit |Strength,#strength |Vigor,#vigor }[TR], [[1d6!!]][WD]}k1+?{trait mod|0}[TM]-@{target|wounds}[WND]-@{target|fatigue}[FAT]+?{Agility or Strength Check?|no,0 |yes,#encumbrance }[ENC]-4)/4)


these macros must be put into the macros under the settings tab. Because of the limitation of a free account and the way roll20 parses information, I made a work around. You can't do a a multiple choice with @{target|value}

EDIT: made some changes to make it more clear where the value is coming from agility [[[[d@{target|agility}!!]]+[[@{target|agmod}]]]]

smarts [[[[d@{target|smarts}!!]]+[[@{target|smmod}]]]]

spirit [[[[d@{target|spirit}!!]]+[[@{target|spmod}]]]]

strength [[[[d@{target|strength}!!]]+[[@{target|stmod}]]]]

vigor [[[[d@{target|vigor}!!]]+[[@{target|vimod}]]]]

Here is the Extra's version

extra-trait /me @{target|token_name} makes a trait test /r floor((?{Trait to Roll|Agility, #agility |Smarts,#smarts |Spirit,#spirit |Strength,#strength |Vigor,#vigor }[TR]+?{trait mod|0}[TM]-@{target|wounds}[WND]-@{target|fatigue}[FAT]+?{Agility or Strength Check?|no,0 |yes,#encumbrance }[ENC]-4)/4)

Here the fighting wild card attack. target one token and have it swing at the other token. same instruction as before put these under macros in the settings tab

wild-card-melee /me @{target|making attack|token_name} takes a swing at @{target|being attacked|token_name} whose parry is [[@{target|being attacked|bar1}]] /r floor(({#fighting ,[[1d6!!]]}k1+?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-@{target|being attacked|bar1})/4)

fighting [[[[d@{target|making attack|fighting}!!]]+[[@{target|making attack|fightingmod}]]]]

extra-melee-attack /me @{target|making attack|token_name} takes a swing at @{target|being attacked|token_name} whose parry is [[@{target|being attacked|bar1}]] /r floor((#fighting +?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-@{target|being attacked|bar1})/4) here the fighting wild card attack. target one token and have it swing at the other token. same instruction as before put these under macros in the settings tab

wild-card-melee /me @{target|making attack|token_name} takes a swing at @{target|being attacked|token_name} whose parry is [[@{target|being attacked|bar1}]] /r floor(({#fighting ,[[1d6!!]]}k1+?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-@{target|being attacked|bar1})/4)

fighting [[[[d@{target|making attack|fighting}!!]]+[[@{target|making attack|fightingmod}]]]]

extra-melee-attack /me @{target|making attack|token_name} takes a swing at @{target|being attacked|token_name} whose parry is [[@{target|being attacked|bar1}]] /r floor((#fighting +?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-@{target|being attacked|bar1})/4)

wild-card-ranged-attack /me @{target|making attack|token_name} takes a shot at @{target|being attacked|token_name} /r floor(({#shooting ,[[1d6!!]]}k1+?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-4)/4)

extra-ranged-attack /me @{target|making attack|token_name} takes a shot at @{target|being attacked|token_name} /r floor((#shooting +?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-4)/4)

shooting [[[[d@{target|making attack|shooting}!!]]+[[@{target|making attack|shootingmod}]]]]

get armor value macro. use it after you have rolled damage, and pull the toughness and armor value from a token. now you dont have to bother GM. you can do it your self. if everyone takes a hand in determining all the values flying around, you increase the speed of your combat rounds by at least 50% Which leaves more time for role playing

get-armor-value /me @{target|token to get AV from|token_name} has a Toughness of [[@{target|token to get AV from|toughnesscur}]] and an Armor value of ([[@{target|token to get AV from|toughnessarmor}]])