Giter Club home page Giter Club logo

swade-immersive-macros's Introduction

SWADE Immersive Macros (SWIM)

This is a selection of macros for Savage Worlds Players and GMs alike.
If you want to support me you can do so on my Ko-fi:
Ko-fi
This is one way to show me that my module is actually used and well-received.

Usage instructions

You'll find all the macros in a new compendium delivered by the module. It contains all the macros. You can either import the macros or replace the code of your existing macros. Once that is done you can start using them although I strongly suggest taking a look at the module settings. There are quite a few which might be interesting for you.
Please read this ReadMe in full, as it contains important instructions on how to use this module. Important: You might need to update the macros you've imported when you update the module. I hope to find a method to automate this in the future.

SUCC

SUCC (SWADE Ultimate Condition Changer) is a module created by Javier Rivera Castro and myself and is a new dependency for SWIM. It is now completely replacing Combat Utility Belt (CUB) because since SWADE v.1+ the way how conditions are handled by the system changed dramatically. CUB will likely take a long time to be fully compatible with the SWADE system, if it ever will be again. This is why I decided to make a module to do what I need myself (after Javier convinced me). SUCC provides a native support for SWADE and thus is very light on the user configuration. No more complicated CUB setup required. It is required to use SWIM.

Health Estimate

Health Estimate is a cool immersion module and thus works great with SWIM. I highly recomment it as it is so much more immersive to say and read "he is a bit beatin'" than to say/read "he has one Wound". Health Estimate should work fine out of the box once activated but you can easily set it up to your liking if you want.

License

The Code of the macros and modules is licensed under the GPU 3.0 License (see License). The SFX is used with permission and may use another License (see Assets section below for details). Some macros contain SWADE rulings in a way that the macros execute them and sometimes include short notices. They do not contain detailed information about the rulings. This is Licensed under the Savage Worlds Fan License.

β€œThis game references the Savage Worlds game system, available from Pinnacle Entertainment Group at www.peginc.com. Savage Worlds and all associated logos and trademarks are copyrights of Pinnacle Entertainment Group. Used with permission. Pinnacle makes no representation or warranty as to the quality, viability, or suitability for purpose of this product.”

The Chase Layouts hold game rules and are licensed under the fan license as well (see above), permission was granted by Shane. The Layouts may not be redistributed under any circumstances.

Help needed!

Are you a creator of sound effects or art and want to contribute? This is great, I'd like to include some assets like macro icons and sound effects in here. Icons need to be square (or round), sound effects need to be short and easily recogniseable. If you want to include your work here I'll gladly give you full credit with links to your homepage for users to check out your other stuff.
You have nothing to offer? Oh you're so wrong. Please create issues here on the GitHub to contribute as well. Tell me which macros or functionality you want to see and inform me about bugs this way and I'll see what I can do about it. No promises I can deliver though and please no hard feelings should I decline your request. Please check for open issues before creating new ones though.
You can reach me on Discord with general questions as well: SalieriC#8263

Current Assets

In this repository you can find a number of assets already.

  • Icons: Game-Icons.net.
  • SFX: (see their file name for origin)
  • Six chase layouts, one for foot/riding chases, one for (ground) vehicle chases and one for ship (watercraft, aircraft and spacecraft) chases/battles with regular and modern theme. You may not redistribute these under any circumstances. I'll may decide on a case basis to allow you to do so, please ask.

Assets are used in the macros. You can also set up your own assets in the modules configuration. There you can change file paths.

Immersion settings

Here you'll find the immersion settings and how to set them up.

SFX

You can set up one or more sound effects (SFX) for this macro. To do so go to the modules configuration and pick the sound effects you like.
Important: Once the AudioHelper (the method to play the SFX) executes you can do nothing to stop it except reloading (F5 on PC). Only use very short sounds (a few seconds at most).
Where to get SFX: There are many websites dedicated to offering sfx to download free of charge or paid for audiobooks and such. Also check out mods for video games such as Fallout or Skyrim. Some mods have awesome sfx which you can easily extract from the mod. Just check if that is allowed by the creator before doing so. I cannot be held resposible for any breach of trade agreements, copyright, terms of use, etc.

Description

Below you'll find some descriptions on the macros. Some require other modules to work properly. Some are compatible with other modules though, well they should be compatible with mostly anything really so I won't give a full list. Instead I'll give you a list of modules that enhance the functionality of the macro.
In the very last line all macros tell you their version number. Use it to check whether or not you're using the latest version.

Spend Benny

Requirements: None.
Compatibility:

Immersion setting: None.
Suggested icon: systems/swade/assets/benny/benny-chip-front.png
Description:
This macro will basically just spend a Benny. It does use the animation from Dice So Nice if it is installed and activated but doesn't require DSN. With SWADE Spices & Flavours you can customise the look of the Benny. This module will automatically find if you're using Spices & Flavours and uses the back image of the Benny if you've set one up.
The macro will use the Bennies of the selected token (needs a token selected to function). If the user is a GM it will also use the GMs Bennies but will always spend token Bennies first and only touches GM Bennies once the token is out of Bennies. It also gives a warning if no more Bennies are left.
This macro is the basis for most of the other macros. Whenever a macro uses a Benny, it will do so using the code from this macro and thus having all its features which I won't detail for other macros.

(Un-)Shake

Requirements: None.
Compatibility:

Immersion setting: SFX.
Suggested icon: modules/swim/assets/icons/status_markers/0-Shaken.png
Description:
This macro will first check whether or not the selected token (needs a token to be selected) is marked as Shaken (checks for the checkbox on the sheet). If the token is not Shaken, it will mark it as Shaken (tick the checkbox). It it is Shaken, then it will prompt a system roll. After rolling it gives a chat message detailing the result. If the result is best it will remove Skaken and that's it. If the roll could've been better it opens a dialogue giving the user the option to spend a Benny to remove Shaken. If accepted a Benny is spent (if there are Bennies left) and removes Shaken. The user can also decline which just closes the dialogue. The dialogue will not appear if there are no more Bennies left (including GM Bennies if the user is a GM). It also tells the user how many Bennies are left in the dialogue.
Now here is the deal: The macro is aware of any core Edges and Special Abilities that can alter the unshake roll and automatically adjusts the roll. You can set up own ones as well by adding them to the const edgeNames object (inside the []); put them in '' and only use lower case. The macro requires you to set up Special Abilities like Undead as Edges or Abilities though, so keep that in mind. Also the macro currently does not add a +2 on a reroll if the token has Elan. Keep in mind that only english Edge names are supported yet.
The macro is also aware of Snake Eyes (Critical Failure) and offers no use of a Benny when Snake Eyes occur. It does not check for Snake Eyes on Extras though.
This macro comes in two variants: SWADE and SWD. I like the SWD rules regarding Shaken much better but the choice is yours. Here are the differences:
SWD: To act this turn you need a raise, success removes Shaken but you may only act next turn. While Shaken your Pace is halved.
SWADE: To act you'll only need a success.

(Un-)Stun

Requirements: None.
Immersion setting: SFX.
Suggested icon: modules/swim/assets/icons/status_markers/2-Stunned.png
Description:
This macro is very similar to the (Un-)Shake macro but handles Stunned. If the selected token (needs one selected) is not Stunned, it will be marked as such, including all the effects that come with it. Otherwise it will initiate a roll to unstun and adds/removes conditions according to the result. It is aware of Snake Eyes. It supports SFX on applying Stunned in the same way as (Un-)Shake. Important: Set up the path to your prone image to the exact same path as your prone image in the modules setting. This is not necessary if you have imported the CUB Contion Lab file (modules/swim/assets/imports/). If you use the system included status markers the path is: systems/swade/assets/icons/status/status_prone.svg.

Soak Damage

Requirements:

Immersion setting: SFX.
Suggested icon: modules/swim/assets/icons/status_markers/3-Incapacitated.png
Description:
One of the most complex macros I ever wrote. It soaks and applies Wounds. It tries to cover everything from SWADE core and guides the user through the process. It is aware of (Un)Holy Warrior and Elan. It follows the core rules and thus is aware of Critical Failures.
It also supports SFX again. You can configure a path to your desired SFX in the modules configuration.
You can also use the Gritty Damage setting rule by adding the name of your Injury Table in the modules config. It must be the exact name of your Injury Table, best copy and paste it. Gritty damage is only used for non-GM accounts. Gritty damage will not be used when you have not set up an ID. So just leave this setting empty if you don't desire to use it.

Ammo Management

Immersion setting: SFX (optional, user provided).
Compatibility:

  • Better Rolls 2 (BR2)
    Description:
    A pretty complex macro. The simple one is pretty straight forward and will not be meintained any longer. The Enhanced version has got it's own documentation here. Make sure to read it, it is mandatory to do so, otherwise the macro will not work.
    It comes with optional BR2 integration for the shooting/using ammo part. How the integration works is documented in the above link as well.
    Wait, where do I get weapon sound effects?
    I can't include that many sfx right now. It is rather difficult to find good weapon sounds which I am allowed to include and I don't have the funds to buy them for this module. I'm not gonna recommend any particular way on how to get adequate sound effects, figuring that out is on you. Just know that there are many resources you should be able to use out there. As a general lead: Look for PC game modifications which alter the weapon sounds in that specific game. You may not be allowed to use the sfx from the game directly (depends on the game of course), but those from mods are usually not a problem but check that before you do take them. I cannot be held responsible for any breach of contract or copyright you commit it is on you to check whether or not you're allowed to use the sfx you find.
    You may also want to take a look at SoundFx Library by Cris. It comes with a few bow sounds which may be sufficient for your standard medieval fantasy settings.

Power Sounds

Immersion setting: SFX.
Requirements:

  • Better Rolls 2 (BR2)
    Description:
    This does not manage your Power Points but it does automatically play SFX when using a power. For this you need to set up some World Global Actions in Better Rolls 2. Take a look at the BR2 integration section of the Shooting & Reloading setup documentation for a general idea how that works.
    Put simply: Set up an additional stat called "sfx" in your world, activate it in a power and fill it with the relative path to the sfx. Then import the "SWIM: Powers SFX" macro in your world and copy-paste this in a new World Global action in the BR2 settings. Don't worry about the naming, it'll work for all powers no matter the skill - even if it is rolled with untrained or an Attribute.
    Again, see the Shooting & Reloading documentation linked above for more details on BR2 integration if you feel lost.
    Wait, where do I get weapon sound effects?
    I can't include that many sfx right now. It is rather difficult to find good magic sounds which I am allowed to include and I don't have the funds to buy them for this module. I'm not gonna recommend any particular way on how to get adequate sound effects, figuring that out is on you. Just know that there are many resources you should be able to use out there. As a general lead: Look for PC game modifications which alter the magic sounds in that specific game. You may not be allowed to use the sfx from the game directly (depends on the game of course), but those from mods are usually not a problem but check that before you do take them. I cannot be held responsible for any breach of contract or copyright you commit it is on you to check whether or not you're allowed to use the sfx you find.
    You may also want to take a look at SoundFx Library by Cris. It comes with a few bow sounds which may be sufficient for your standard medieval fantasy settings.

Fear Table

Requirements: None.
Immersion setting: SFX.
Suggested icon: modules/swim/assets/icons/status_markers/2c-Frightened.png
Description:
This does mostly the same as the macro in the core rules module except you can manually set up the name of your Fear table and it has the option to play a sfx on execution.
This macro basically just opens a dialogue that asks for a fear modifier and then rolls on your Fear table with that modifier. Remember the rules on this: Negative fear modifiers become positive in the table, so do not enter negative numbers unless you know what you're doing.

Mark Death

Requirements:

Immersion setting: SFX.
Description:
This is a rather simple macro that marks a token as Incapacitated! and is mainly intended for NPC Extras. It requires CUB to toggle the Inc.! status and Health Estimate.
The macro plays a sound effect on execution and will mark all selected as Inc.! It works both ways though and can uncheck Inc.! if needed.

Power Point Management

Incompatibility: This macro is not compatible with the power point management offered by the SWADE system. Disable it if you want to use this macro.
Requirements:

Immersion setting: SFX.
Description:
Oh boy, this one was a pain to create and a great way to learn. It tries to handle all core methods of recharging and spending Power Points and also supports Deadlands The Weird West in the sense of that it offers Whateley Blood. It handles Fatigue and Wounds and only shows the Soul Drain or Whateley Blood stuff if the Edge is found on the character (no language support yet). It will spend as many PP as you set up in the dialogue or recharge as many. It also offerst to recharge 5 by spending a Benny or said Edges.
SFX works differently here. You need to set up a Playlist called "Magic Effects" and the macro will get all the tracks in it and then plays the selected when PP are spent (not recharged). This offers more flexebility.
In terms of other SFX: The macro again uses the Incapacitation sfx and the wounded sfx but also a new one played on taking a level of Fatigue.

Personal Health Centre

Requirements:

Immersion setting: SFX.
Description:
This macro is more or less the opposite of the Soak Damage macro. It offers functionality to remove wounds in a generic way (i.e. due to the Healing Skill or Power) and also a way to roll on Natural Healing, interpreting the results, removing wounds, offerring rerolls and is aware of Snake Eyes (adds another Wound or Inc.!). It supports Fast Healer and (on rerolls) Elan as well.
It also supporst the Regeneration Special/Racial Ability but it must be set up as an Edge or Ability called "Fast Regeneration" or "Slow Regeneration". Then it adjusts the time that needs to be passed until a Natural Healing roll can be made. If your setting calls for longer or shorter periods of time until a Natural Healing roll can be made (Hellfrost comes to mind), then you can set this up in the modules settings.
It uses the sfx for Wounds, Inc.! and Healing.
The macro is also capable of removing Fatigue using a given number, which also supports a unique sfx.
Both, removing Fatigue and Wounds, does support using potions. For this you need to provide the potion names in the relevant game settings. Make sure that you enter the exact names (case sensitive) and seperate them by , (comma + empty space). Drinking the potion also has a unique sfx and drinking a potion reduces the quatity by 1. If it was the last potion of this kind, it will be removed from the inventory.

Token Vision

Requirements: None.
Immersion setting: None yet.
Description:
This macro is based on a macro from @Sky#9453 and supported DnD vision and lighting. I altered it to suit Savage Worlds. I have to say though, that information on vision and illumination is very lackluster in SWADE with regards to VTT software. It works fine on an actual tabletop but not with dynamic lighting on VTTs. I had to bring some personal taste in but I tried to stay as true to the rules as I could.
The macro works different for players and GMs. For players it only shows options to equip light sources (activates them in the token settings), GMs are alos able to update the tokens vision. All options work for all tokens that are selected. Here are the options explained: Light Source:

  • No Change: Does not change the current settings.
  • None: Deactivates all emit light settings.
  • Candle: 2" radius of bright light.
  • Lamp: 4" radius of bright light.
  • Bullseye: 4" beam of bright light with an angle of 52.5 degree.(1)
  • Torch: 4" radius of bright light.
  • Flashlight: 10" beam of bright light in an angle of 52.2 degrees.(1)
    Vision Type:
  • No Change: Does not change the current settings.
  • Pitch Darkness (0"): The token cannot see past itself.
  • Dark (10"): Token has dim vision of 10".
  • Dim: Token has dim vision of 1000" (the maximum allowed by Foundry).
  • Low Light Vision: As dim.
  • Infravision: As dim.
  • Full Night Vision: Token has bright vision of 1000" (the maximum allowed by Foundry).
    In general it is best to set up a universal/global light source instead of touching the vision type as that's what SWADE relies on. But the options are there in case the GM forgets to set it up and needs to act quickly.
    (1) These options also lock the token rotation because the core rules uses portrait style tokens. If you use top-down view tokens instead you may want to change that in the macros code.

Shuffle Action Deck

Requirements: None.
Immersion setting: System card deal sound.
Description:
A very basic macro that resets the roll table from which the action cards are drawn. It's mainly there to fix issues when the table doesn't reset during combat.

Chase Setup

Requirements: Chase layouts/scenes (included in a compendium) and a roll table with card images.
Immersion setting: System card deal sound.
Description:
This macro can set up and clean your chase scenes with cards. It places the cards automatically in the correct position. See the Chase Scenes documentation for details.
This requires the chase scenes that come in a compendium with this module. These carry various options, players have in a chase, made with permission from Shane.

Raise Calculator & Raise Calculator (Dynamic)

Requirements: None.
Immersion setting: None.
Description:
Two rather simple macros to calculate Raises inside Foundry. The first one offers a Dialogue and gives a Notification with your amount of Raises. The Dynamic one is more usable in my opinion: It changes the amount of Raises dynamically, depending on your input while you type. Whenever you change the result input field the text below is adjusted and will show you the amount of raises. It does not have a button because a button isn't needed. You could keep this one open at all times and change the values whenever you want.
Below are screenshots from the dynamic version:

Please note: As of version 0.5.0 of SWIM you don't need this macro anymore. It can be easily accessed from the controls on the left side of the screen as long as you have a scene. It is the big plus button in the basic (token) controls.

Ability Converter

Requirements: SWADE 0.17.0 and above.
Immersion setting: None.
Description:
Use this at your own risk!
This is a utility macro not intended to be used a) by the players and b) regularly. It's basically a one time thing. If you've already set up Special Abilities as Edges and Hindrances this will help you convert them:

  1. Crate a backup of your entire world.
  2. Create a folder containing all Special Abilities, nothing else and no sub-folders.
  3. Run the macro.
  4. Read the insctructions carefully and enter the folders name.
  5. Click "Process." and Wait for the message stating the converter is done. (Do not shut down/reload your world! Best do nothing at all while the converter is doing its thing.)
  6. Reload your World (F5 on PC).
    This converts everything in the folder and all of those on your actors (world only, not in compendiums). And only those in the folder. You'll have to go through your actors and convert those Abilities manually that are not in your folder. This means it will not cover things like Weakness (Fire) unless you've set them all up. But it should still help you reduce your work by some degree.
    Warning: This is a dangerous macro and might break your actors. I'm not kidding about the backup, create one! Seriously, do it. I had to restore my world multiple times during the testing, just make a damn backup please. (Which is why it isn't included in the compendium.) And don't blame anyone if the macro destroys something, neither I, nor Kristian Serrano#5077 (the author of the macro) will take responsibility for any broken stuff, use at your own risk.

RollTable Importer

Immersion setting: None.
Description:
Another utility macro that imports a RollTable from your clipboard. Each line (paragraph) in your clipboard is used as one result for the table. It should not contain any leading numbers (1.; 2); 3:; etc.). You can enter the name for the table and copy your tables contents while the dialogue is still open. The importer can only generate tables with weigh 1 and sets the dice formula to 1dx where x is the amount of results.

Deviation

Immersion setting: None.
Description:
A utility macro made by Bruno Calado that calculates Deviation. Will ultimately become part of the Shooting (enhanced) macro. Image source: freesvg.org.

Scale Calculator

Immersion setting: None.
Description:
A utility macro made by Bruno Calado that calculates Scale depending on Size and gives the appropriate malus/bonus. Requires a target to function.

Loot-o-Mat

Immersion setting: None.
Description:
This macro relies on an Additional Stat set up on your actors: "treasure" (type string, no max value). Your bestiary needs this Additional Stat on the actors to function automatically (but there is another way of using it, see below).
Allowed treasure types are: "Meager", "Worthwhile", "Rich" and "Treasure Trove" which are common loot types i.e. in Hellfrost, 50 Fathoms or the Fantasy Companion.
It is also common to these settings to state treasure per x opponents (i.e. "Meager, per 5 Orcs"). In this case set up the Additional Stat like this: "Meager, per x", "Meager per x" or "Meager/x" where x is the amount of enemies as a number not a word. These three options are covered by the macro, use no other format!

How does it work? The macro searches all selected and targeted tokens (it won't use duplicates if targeted and selected tokens are the same, don't worry) for the additional stat "treasure" and makes a roll for loot, then it creates a chat message with the random loot amount.
Alternatively, you can use the macro with no tokens targeted/selected and a dialogue will appear that lets you enter the amount of enemies with their different loot types individually. This dialogue will also open when none of the selected and targeted tokens has the Additional Stat so you can safely use the macro without this.
If the loot type is set up with an amount of enemies like above (i.e. "Meager, per 5"), the number is used for division and the result is rounded to two decimals.
In Hellfrost this represents Silver Scields, in Settings which don't use a sub-currency (like 50f), just ignore or round off manually.

Shape Changer

Immersion setting: SFX & VFX Requirements:

  • Warp Gate
    Compatibility:
  • Sequencer (Enabling VFX) Description:
    The first macro in a lot of things. Writing it was challenging but it seems to work reasonably well. Please report any bugs as usual.
    This macro allows players and GMs alike to shape change their characters into other creatures. It automatically shows those which are available and you can choose whether to change into a new form or back to your regular form. Warp Gate by honeybadger is required to exchange the token on the canvas, so you can't access it without it. The macro will carry over every values that are required, including wounds, fatigue, conviction, power points, etc. Even on changing back all those values will be updated. The macro should relly take care of everything for you.
    There is some setup to be done however: First head to the compendiums and locate the "SWIM Shape Change Folders" compendium. Open it and import the folder structure into your world. Do not change the folders names! Inside the folder structure you'll find sub-folders. You now need to populate these folders with the creatures a chape changer can change into. You don't need to edit any of their settings, the macro will take care of everything. It is recommended that you rename these to avoid confusion with other actors however. I recommend adding a simple "SC: " in front of their names, e.g. "SC: Wolf". Also you might want to delete all the powers the creature might have because as of version 0.13.0, the macro does not delete those (yet). Make sure to set permission to owner on these actors for all players that are shape shifters! Also give them permission to create new actors and to create new tokens! (Due to limitations in Foundry core, setting permission automatically isn't possible atm.) And that is everything.

How does it work? The macro will search this folder structure for your presets and add them to the list of creatures a shape changer can change into. It then will create a duplicate of the selected actor and uses that duplicate for this specific player. It then will change the actor according to the rules. It will change the skills, attributes, token settings, wounds, fatigue, and much more. It even activates conviction if it was currently running on the shape changer.
Why not creating the folder structure automatically on first starting the world? - Shape Change isn't the most common power in my experience, thus I don't want to force it on GMs who have no need for it.
Here is a short video that showcases the macro (visual effect by JB2A, not included in SWIM):

swade-immersive-macros's People

Contributors

salieric avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.