View Single Post
SeeleyOne
Senior Member
 
Join Date: Nov 2009
Posts: 891

Old April 12th, 2017, 04:56 PM
What I did was make a user file, and then edit it outside of the editor as this one contains nothing that the editor can read. I ended mine with "Data" in its name to remind me that it is just a data file, not really a "user" file as we normally use them.

This is mine:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>



<document signature="Hero Lab Data">
  <!-- ADVANCES -->
  <!-- Attribute Increases -->
  <thing id="advAttriN" name="Boost Attribute (Novice)" description="Increase an attribute by one die type." compset="Advance" replaces="advAttrib" uniqueness="unique">
    <fieldval field="advAction" value="Novice Boost Attribute"/>
    <fieldval field="advDynamic" value="component.Attribute &amp; !Helper.Maximum &amp; !Hide.Attribute"/>
    <fieldval field="advCost" value="1"/>
    <tag group="Advance" tag="Increase"/>
    <child entity="Advance"></child>
  </thing>
  <thing id="advAttriS" name="Boost Attribute (Seasoned)" description="Increase an attribute by one die type." compset="Advance" uniqueness="unique">
    <fieldval field="advAction" value="Seasoned Boost Attribute"/>
    <fieldval field="advDynamic" value="component.Attribute &amp; !Helper.Maximum &amp; !Hide.Attribute"/>
    <fieldval field="advCost" value="1"/>
    <tag group="Advance" tag="Increase"/>
    <child entity="Advance"></child>
  </thing>
  <thing id="advAttriV" name="Boost Attribute (Veteran)" description="Increase an attribute by one die type." compset="Advance" uniqueness="unique">
    <fieldval field="advAction" value="Veteran Boost Attribute"/>
    <fieldval field="advDynamic" value="component.Attribute &amp; !Helper.Maximum &amp; !Hide.Attribute"/>
    <fieldval field="advCost" value="1"/>
    <tag group="Advance" tag="Increase"/>
    <child entity="Advance"></child>
  </thing>
  <thing id="advAttriH" name="Boost Attribute (Heroic)" description="Increase an attribute by one die type." compset="Advance" uniqueness="unique">
    <fieldval field="advAction" value="Heroic Boost Attribute"/>
    <fieldval field="advDynamic" value="component.Attribute &amp; !Helper.Maximum &amp; !Hide.Attribute"/>
    <fieldval field="advCost" value="1"/>
    <tag group="Advance" tag="Increase"/>
    <child entity="Advance"></child>
  </thing>
  <thing id="advAttriL" name="Boost Attribute (First Legendary)" description="Increase an attribute by one die type." compset="Advance" uniqueness="unique">
    <fieldval field="advAction" value="Legendary Boost Attribute"/>
    <fieldval field="advDynamic" value="component.Attribute &amp; !Helper.Maximum &amp; !Hide.Attribute"/>
    <fieldval field="advCost" value="1"/>
    <tag group="Advance" tag="Increase"/>
    <child entity="Advance"></child>
  </thing>
  <thing id="advAttriZ" name="Boost Attribute (Legendary)" description="Increase an attribute by one die type." compset="Advance">
    <fieldval field="advAction" value="Legendary Boost Attribute"/>
    <fieldval field="advDynamic" value="component.Attribute &amp; !Helper.Maximum &amp; !Hide.Attribute"/>
    <fieldval field="advCost" value="1"/>
    <tag group="Advance" tag="Increase"/>
    <child entity="Advance"></child>
  </thing>

  <!-- New Skill -->
  <thing id="advSkiLL" name="Gain a New Skill" description="Select a new skill at a d4 rating." compset="Advance" replaces="advSkill">
    <fieldval field="advAction" value="New Skill"/>
    <fieldval field="advDynamic" value="component.Skill &amp; !Hide.Skill"/>
    <fieldval field="advCost" value=".5"/>
    <tag group="Advance" tag="AddNew"/>
    <tag group="DomainTerm" tag="Focus"/>
    <eval phase="Render" priority="1000">
      <![CDATA[
      ~get the list of all unique skills on the hero and assemble it as a list of precluded tags
      var tagexpr as string
      foreach pick in hero from Skill where "!Hide.Skill"
        if (eachpick.isunique <> 0) then
          tagexpr &= " & !Skill." & eachpick.idstring
          endif
        nexteach

      ~if there are any tags to exclude, append them to the tagexpr appropriately
      if (empty(tagexpr) = 0) then
        field[advDynamic].text &= tagexpr
        endif]]>
      <before name="Assign Dynamic Tagexpr"/>
    </eval>
    <child entity="Advance">
      <tag group="Advance" tag="MustChoose"/>
    </child>
  </thing>

  <!-- Power points tracker so the user can manage the expenditure of power points -->
  <thing
    id="trkPowNoHi"
    name="Power Points"
    compset="Tracker">

    <fieldval field="trkMin" value="0"/>
    <fieldval field="trkMax" value="0"/>

    <!-- Resetting the tracker sets the value to the maximum -->
    <tag group="Helper" tag="ResetMax"/>
  </thing>
  
  <!-- Shootist Power points tracker -->
  <thing
    id="trkPowSh"
    name="Shootist Pool"
    compset="Tracker">

    <fieldval field="trkMin" value="0"/>
    <fieldval field="trkMax" value="0"/>

    <!-- Resetting the tracker sets the value to the maximum -->
    <tag group="Helper" tag="ResetMax"/>
  </thing>
  
  <!-- Free Soaks tracker so the user can manage the expenditure soaks -->
  <thing
    id="trkSoak"
    name="Soak Pool"
    compset="Tracker">

    <fieldval field="trkMin" value="0"/>
    <fieldval field="trkMax" value="0"/>

    <!-- Resetting the tracker sets the value to the maximum -->
    <tag group="Helper" tag="ResetMax"/>
  </thing>

  <!-- Adaptable Warrior tracker so the user can manage the expenditure soaks -->
  <thing
    id="trkAdWar"
    name="Adaptable Warrior"
    compset="Tracker">

    <fieldval field="trkMin" value="0"/>
    <fieldval field="trkMax" value="0"/>

    <!-- Resetting the tracker sets the value to the maximum -->
    <tag group="Helper" tag="ResetMax"/>
  </thing>

  <!-- Versatile Caster tracker so the user can manage the expenditure soaks -->
  <thing
    id="trkVCast"
    name="Versatile Caster"
    compset="Tracker">

    <fieldval field="trkMin" value="0"/>
    <fieldval field="trkMax" value="0"/>

    <!-- Resetting the tracker sets the value to the maximum -->
    <tag group="Helper" tag="ResetMax"/>
  </thing>
</document>
For the Soak Pool above, I have the players get one free Soak roll per session per Rank. It is the initial roll, and may not be used for a re-roll.

For Adaptable Warrior, that is the number of uses per session to use a Combat Edge that the character does not normally have.

Evil wins because good rolls poorly .... or the players are not paying enough attention to the game.
SeeleyOne is offline   #18 Reply With Quote