• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

An upcoming change to the custom output

Mathias

Moderator
Staff member
We're getting close to the next update (which will have Ultimate Equipment), so I wanted to give AncientOne, Armindale, and anyone else working on custom outputs a heads up on a change that will be in the next update.

A new "All Saves" pick has been added, so that in a script, if you need to add the same bonus to all three saving throws, it only takes one line of code to do so. I added isallsaves="[0/1]" so that you can exclude the "All Saves" item from displays of saving throws.

I've also been working on getting the Hero Lab statblock to match the official statblock, and my current project is the situational modifiers to saving throws, so there's a new situational="" piece of information in the custom output. Note that for cases like the Fighter's Bravery, that situational information is specific to the Will save, but for the Elven Immunity's bonus vs. enchantments, it's on svAll, since that applies to all saves.

Code:
<saves>
<save name="Fortitude Save" base="+3" isallsaves="0" situational="" frommisc="" fromresist="" fromattr="-1" save="+2" abbr="Fort"/>
<save name="Reflex Save" base="" isallsaves="0" situational="" frommisc="" fromresist="" fromattr="+1" save="+1" abbr="Ref"/>
<save name="Will Save" base="" isallsaves="0" situational="+1 vs. fear" frommisc="" fromresist="" fromattr="" save="+0" abbr="Will"/>
<save name="All Saves" base="" isallsaves="1" situational="+2 vs. enchantments" frommisc="" fromresist="" fromattr="" save="+0" abbr=""/>
</saves>
 
OMG situational saves are finally coming to the customs sheets!!!!! That is AWESOME! I have been hacking up things and using the "Short Name" to get that info to the sheets for my players. An official way would be AWESOME as their are SO MANY situational saves and bonuses in Pathfinder. :) :D :)
 
Changes coming to how the saves will be output - don't base any changes off what I wrote in my first post. I'll update this post when I've sorted them out.
 
Here's how the saves section of the DTD has changed:

Code:
<!ELEMENT saves ((save+,allsaves))>
<!ELEMENT save ((situationalmodifiers,situationalmodifier*))>
<!ATTLIST save
name CDATA #REQUIRED
abbr CDATA #REQUIRED
save CDATA #REQUIRED
base CDATA #REQUIRED
fromattr CDATA #IMPLIED
frommisc CDATA #IMPLIED
fromresist CDATA #IMPLIED
>
<!ELEMENT allsaves ((situationalmodifiers,situationalmodifier*))>
<!ATTLIST allsaves
save CDATA #REQUIRED
base CDATA #REQUIRED
frommisc CDATA #IMPLIED
fromresist CDATA #IMPLIED
>
<!ELEMENT situationalmodifiers EMPTY>
<!ATTLIST situationalmodifiers
text CDATA #REQUIRED
>
<!ELEMENT situationalmodifier EMPTY>
<!ATTLIST situationalmodifier
text CDATA #REQUIRED
source CDATA #REQUIRED
>

Here's an example:

Code:
<saves>
  <save name="Fortitude Save" abbr="Fort" save="+2" base="+3" fromattr="-1" fromresist="" frommisc="">
    <situationalmodifiers text="" />
  </save>
  <save name="Reflex Save" abbr="Ref" save="+1" base="" fromattr="+1" fromresist="" frommisc="">
    <situationalmodifiers text="" />
  </save>
  <save name="Will Save" abbr="Will" save="+0" base="" fromattr="" fromresist="" frommisc="">
    <situationalmodifiers text="+1 vs. fear" />
    <situationalmodifier text="+1 vs. fear" source="Bravery" />
  </save>
  <allsaves save="+0" base="" fromresist="" frommisc="">
    <situationalmodifiers text="+2 vs. enchantments" />
    <situationalmodifier text="+2 vs. enchantments" source="Elven Immunities" />
  </allsaves>
</saves>

Now, <allsaves> is a different element than <save>, so it won't add a 4th save to any character sheets printed for that time period between when we release the new version and the custom output authors can update their versions (and users can download those updates).

You can also look at either <situationalmodifiers/>, which has a comma-separated list of all the modifiers to that save, or you can look at each of those modifiers on their own, in the <situationalmodifier/> elements, which lists each of the individual modifiers, along with the name of the ability that's adding that modifier.
 
Got it. Now I just need to figure out the best way to actually represent this information on the sheet.

Time to break out the hammer and anvil... ;)
 
I went through a couple of tries before settling on how this would look on the printout. I eventually went with a slightly indented, comma-separated list of "{b}Source{/b}: modifier" entries below the boxes that make up each save, repeating the list of situational modifiers from All Saves on each of the individual saves, after any modifiers that applied only to that save.

I thought about using a single "modifiers" box on the right, like the back-of-the-book character sheet uses, but I couldn't figure out how to distinguish save-specific modifiers from modifiers to all the saves in that small a space. Using that narrow a space would also have led to some odd line wrapping as I tried to fit all the text in that space.

P.S. The save line of the statblock for that character is:

Fort +2, Ref +1, Will +0 (+1 vs. fear); +2 vs. enchantments

In case you wanted to draw inspiration from that format.
 
We decided to make the listing of the individual modifiers children of the list of modifiers, instead of another element at the same level:

Code:
<!ELEMENT saves ((save+,allsaves))>
<!ELEMENT save ((situationalmodifiers))>
<!ATTLIST save
name CDATA #REQUIRED
abbr CDATA #REQUIRED
save CDATA #REQUIRED
base CDATA #REQUIRED
fromattr CDATA #IMPLIED
frommisc CDATA #IMPLIED
fromresist CDATA #IMPLIED
>
<!ELEMENT allsaves ((situationalmodifiers))>
<!ATTLIST allsaves
save CDATA #REQUIRED
base CDATA #REQUIRED
frommisc CDATA #IMPLIED
fromresist CDATA #IMPLIED
>
<!ELEMENT situationalmodifiers ((situationalmodifier*))>
<!ATTLIST situationalmodifiers
text CDATA #REQUIRED
>
<!ELEMENT situationalmodifier EMPTY>
<!ATTLIST situationalmodifier
text CDATA #REQUIRED
source CDATA #REQUIRED
>

Code:
<saves>
  <save name="Fortitude Save" abbr="Fort" save="+2" base="+3" fromattr="-1" fromresist="" frommisc="">
    <situationalmodifiers text="" />
    </save>
  <save name="Reflex Save" abbr="Ref" save="+1" base="" fromattr="+1" fromresist="" frommisc="">
    <situationalmodifiers text="" />
    </save>
  <save name="Will Save" abbr="Will" save="+0" base="" fromattr="" fromresist="" frommisc="">
    <situationalmodifiers text="+1 vs. fear">
      <situationalmodifier text="+1 vs. fear" source="Bravery" />
      </situationalmodifiers>
    </save>
  <allsaves save="+0" base="" fromresist="" frommisc="">
    <situationalmodifiers text="+2 vs. enchantments">
      <situationalmodifier text="+2 vs. enchantments" source="Elven Immunities" />
      </situationalmodifiers>
    </allsaves>
  </saves>
 
Back
Top