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

Difference between revisions of "Savage Worlds"

From Roll20 Wiki

Jump to: navigation, search
(Acing (Exploding) Die Rolls)
(Wild Card Die Rolls)
Line 71: Line 71:
  
 
'''roll-wild-trait'''
 
'''roll-wild-trait'''
<br><code><nowiki>Wild card roll is [[{1d?{Die type|6}!, 1d6!}kh1 + ?{Modifier|0}]]</nowiki></code>
+
<br><code><nowiki>Wild card trait roll is [[{d?{Die type|6}!, d6!}kh1 + ?{Modifier|0}]] to ?{Reason|do nothing}</nowiki></code>
  
 
''<code>?{Question|Default}</code> prompts the user to enter a value. Surrounding the roll with <code>[[</code> shows only the result of the roll. Hover over the result to see a tool tip with the values of the dice.''
 
''<code>?{Question|Default}</code> prompts the user to enter a value. Surrounding the roll with <code>[[</code> shows only the result of the roll. Hover over the result to see a tool tip with the values of the dice.''

Revision as of 23:24, 29 June 2019

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, including the special dice rolls (Acing/exploding rolls and Wild Card dice) and cards for initiative. 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, and others are built into the character sheet.

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]].

Syntax: 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 (Exploding) 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, a modifier, and some descriptive text.

roll-trait
Trait roll is [[ d?{Die type|6}! + ?{Modifier|0} ]] to ?{Reason|do nothing}

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 trait roll is [[{d?{Die type|6}!, d6!}kh1 + ?{Modifier|0}]] to ?{Reason|do nothing}

?{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)
Syntax: 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) ]]
Syntax: {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&#125; /4)|Yes,{floor( ?{Net damage&#125; /4)&#44;1&#125;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

You can drag cards into the Turn Tracker
You can also use the Turn Tracker and still keep some of the excitement of dealing cards. For each character, the GM calls out their name and draws a card from the stack. To draw a card the GM clicks on the card sticking out of the deck; this flips it face up. (The deck must have "Show deck to players" enabled.) Then the GM drags the card onto the Turn Tracker to the card next to the character's name, and when the number turns yellow the GM drops the card.


The card, or drop point, turns yellow when the mouse pointer is over it. The drop point is only activated by the mouse pointer, not the card. This is easiest to do if the GM picks up the card on the upper left 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

Tokens in Roll20 can represent PCs and NPCs (and other objects) on the map. Tokens have artwork and may also have some attributes (like Parry or a name) and a link to a character sheet.

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

Hints for Token Artwork

There are three general art styles for tokens: Top-down, side, and round. Top-down views provide the most 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 see on a map.

The third type, round tokens, have head and shoulder portraits with a colored circle border and are generally preferred. They're easy to see and provide the most facial detail, and there are free applications and web sites that make it easy to scale and crop the portrait art into a round token. They don't show clothing, weapons, hands, and other details but these can be in the full side-view art in the character sheet, or a Journal handout, or in the q Chat tab (via a macro).

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.


Methods of representing characters as tokens

Savage Worlds characters can be thought of as three types: Extras, Face cards, and Wild cards. 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.

You may want to use different methods of mapping these attributes onto tokens. There are advantages to each, but you have to weigh this against the time it takes to set it up. The four major token attribute methods are:

  • 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.


Token method: Just Art

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.

Token method: Key Stats

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}!]].

Token method: Character Sheet

This method ties the token to a character sheet. It's very helpful because it provides a quick reference to the Edges, Powers and all the attributes of the character. For Wild Cards, this is worth the time to set up, and possibly for commonly encountered Extras, but this depends on how much time you want to allocate to entering the data.

First, create the character sheet. You can enter as little or much information as you choose.

Next, create a token and scale it on the map correctly. Edit the token and configure the bars to link them to attributes on the character sheet. You can do this any way you'd like. These settings will be used on tokens every time you drag the character sheet onto the map. (When you drag, drag by the character name and not the handle icon.)

Then follow the directions for Linking Tokens to Journals.


States and tokens

A lot of bad things can happen to Savage Worlds characters, and many are represented by states. You can use Roll20's Status Indicators to provide visual reminders.

Click the round button to show indicator icons

You can overlay a single digit on top of any indicator icon, to indicate things like flying height in inches or 10s of inches. Hover the mouse pointer over the wing icon and press a single digit. Fatigue and Wounds could be indicated this way, but it's generally better to use the token bars instead.

Status Indicators have no effect on Roll20's calculations so you can use any indicator for any purpose. This convention is a good place to start. (The name of the status and the red text aren't part of the indicator. Use this chart or create one like it as a handout in the N Journal tab.

Roll20 Status Indicators mapped to SW States


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 P 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 (in the l Collection tab): 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 P 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.


P Art Library tab

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.

N Journal tab

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


Pro Account Features for Savage Worlds

The free Roll20 service is powerful and easy enough to run a complete Savage Worlds adventure or complete campaign with the Base Account subscription. The Pro Account adds the ability to create and run API:Script_Index, including some that are particularly useful for Savage Worlds. This isn't a list of all of the advantages of a Pro Account or all of the API Scripts, just a selection that might be particularly helpful for Savage Worlds.

API: Import Stat Block -- This saves a lot time creating Character Sheets for NPCs and creatures from the bestiary. All you have to do is copy a stat block from a PDF or other source into the GM Notes section of a token, then type "!SW-Import" into the q Chat tab and it will create the Character sheet for you.

API: Token Mod: This enables macros to set token status indicators like shaken, vulnerable, and prone. These can be set manually by clicking on the token, clicking the indicator button, scrolling the menu, and clicking on the status indicator, but setting them via macro is much easier.

API blood: Add /fx explode-blood @{target|token_id} to the end of any macro that prompts for a target (most damage macros) and make blood explode from your target.

Savage Worlds Macros By Necron99

General Macros

Here are trait test macros for Wild Cards and Extras. You can point it at any token connected to the SW-TCS. Put all of these in the Macro section of the (l Collection tab.

WC-Trait 👎(Requires Agility, Smarts, Strength, Spirit, and Vigor macros below.)
/me @{target|token_name} makes a trait test /r floor(({?{Trait to Roll|Agility, #t-agility |Smarts,#t-smarts |Spirit,#t-spirit |Strength,#t-strength |Vigor,#t-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)

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

t-agility 👍
[[ [[d@{target|agility}!!]]+[[@{target|agilitymod}]] ]]

t-smarts 👍
[[ [[d@{target|smarts}!!]]+[[@{target|smartsmod}]] ]]

t-spirit 👍
[[ [[d@{target|spirit}!!]]+[[@{target|spiritmod}]] ]]

t-strength 👍
[[ [[d@{target|strength}!!]]+[[@{target|strengthmod}]] ]]

t-vigor 👍
[[ [[d@{target|vigor}!!]]+[[@{target|vigormod}]] ]]

Here the fighting attack macros for Wild Cards and Extras. Target one token and have it swing at the other token. You can point it at any tokens connected to the SW-TCS. Put all of these in the Macro section of the (l Collection tab.

WC-Melee (Requires fighting macro below and parry in token bar 1.)
/me @{target|making attack|token_name} takes a swing at @{target|being attacked|token_name} whose parry is [[@{target|being attacked|bar1}]] /r floor(({#s-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)

Extra-Melee (Requires fighting macro below and parry in token bar 1.)
/me @{target|making attack|token_name} takes a swing at @{target|being attacked|token_name} whose parry is [[@{target|being attacked|bar1}]] /r floor((#s-fighting +?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-@{target|being attacked|bar1})/4)

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

WC-Ranged (Requires shooting macro below.)
/me @{target|making attack|token_name} takes a shot at @{target|being attacked|token_name} /r floor(({#s-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 (Requires shooting macro below.)
/me @{target|making attack|token_name} takes a shot at @{target|being attacked|token_name} /r floor((#s-shooting +?{skill mod|0}-@{target|making attack|wounds}-@{target|making attack|fatigue}+@{target|making attack|encumbrance}+?{skill mod|0}-4)/4)

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

The Get Armor macro reveals the toughness and armor value from the token (linked to a SW-TCS). With this, players can calculate wounds without having to interrupt the GM.

get-armor 👍
/me @{target|Get armor value|token_name} has Toughness [[@{target|Get armor value|toughnesscur}]] ([[@{target|Get armor value|toughnessarmor} armor value]])

Savage Rifts Macros

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.