-
February 21st, 2023, 08:37 #1
- Join Date
- Oct 2022
- Posts
- 6
Changing the Soak attribute from Vigor to Spirit
Hello guys!
I am currently running a Beasts&Barbarians campaign and one of my players got an setting specific edge ,to change her soak role from Vigor to spirit.
Is there a way ,to change this mechanic ,for this player only ?Its kind of a pain in the back ,to do this manually,during big fights (and there are lots of them ).
Thank you in advance,and sorry for my poor English….I hope what I wrote is kind of understandable.
-
February 21st, 2023, 16:26 #2
- Join Date
- Sep 2020
- Location
- Ballston Lake, NY
- Posts
- 600
Soaking with Vigor is built into the ruleset. There's no way to change that afaik, outside of writing a very specific extension.
How are you doing it now? Maybe someone can suggest an easier manual way of doing this.
-
February 21st, 2023, 23:08 #3
- Join Date
- Mar 2020
- Location
- Sydney, Australia
- Posts
- 247
This would have to be done via an extension.
However I would have thought that the B&B FGU ruleset would have taken care of this.
If this is not currently working then the following solution "should" work for you ... assumption is that you are using SWADE ruleset.
1. Create a blank extension
2. In that extension, create a LUA file that is loaded in the extension XML
3. Create a copy of the soakRollHandler function in manager_trait.lua from the Savage Worlds Ruleset and name it something memorable
4. In that function, there is a line that gets vigor as the trait roll (line 170)
5. You need to insert code into there that checks for the fear on the character and then use Spirit if they are a Monk (contemplative) or not.
6. In the onInit of the extension replace that soakRollHandler with your new version with something like TraitManager.soakRollHandler = myNewSoakRollHandler
I currently to do not have time to look into this personally, however what I have outlined should work.
I was able to sit down and write a quick extension to do this ... was not too hard.
It relies on that character having a specific Edge that is checked for. It is not elegant since it copies a whole function and inserts some code, and I am sure there is a simpler/more elegant way to do this.
I am putting the code below for the 2 files required for the extension.
You will need to unzip the SavageWorlds ruleset, find the function soakRollHandler and copy the code from there into the launcher.lua file below.
I decided against copying it for you because I might be infringing on some kind of copyright etc.
All you then need to do is put the files in a folder in your Extensions directory for the Fantasy Grounds data.
Extension.xml
Code:<root version="4.0" release="1.0" logo=""> <announcement text="Beasts and Barbarians Monk (Contemplative) Extension for Fantasy Grounds" icon="" font="emotefont" /> <properties> <name>Beasts and Barbarians Monk (Contemplative)</name> <version>1.00</version> <author>david @ DSC</author> <description>An extension to allow Contemplative Monks soak using Spirit.</description> <ruleset> <name>SavageWorlds</name> </ruleset> <loadorder>1000</loadorder> </properties> <base> <script name="BBMCLauncher" file="launcher.lua" /> </base> </root>
Code:function onInit() TraitManager.registerTraitRoll("soak", mySoakRollHandler) end function mySoakRollHandler(sActorType, nodeActor, sTraitType, rUserData, draginfo) -- code from original function goes here up until the following line local nodeTrait = TraitManager.getTraitNode(sActorType, nodeActor, "vigor") if CharacterManager.hasEdge(nodeActor, "Monk (Contemplative)"). -- CHANGE THE EDGE NAME HERE!!! then nodeTrait = TraitManager.getTraitNode(sActorType, nodeActor, "spirit") end -- final line of code goes here from original function end
Last edited by UrsaTeddy; February 22nd, 2023 at 00:31. Reason: Did not want to have code copied directly from ruleset displayed here
Thanks In Advance,
D
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks