View Single Post
Senior Member
Volunteer Data File Contributor
Join Date: Aug 2009
Posts: 1,224

Old February 13th, 2017, 09:48 PM
Well, I'd create a new type of Advance for each of these. Take the standard advance that adds a new Skill and make it cost half an advance like raising a lesser Skill. You'll want to add a source tag so it only shows up in your Setting.

    name="Gain a New Skill from PS"
    description="Select a new skill at a d4 rating.">
    <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"/>
    <!-- Modify tagexpr to deny skills that have already been added to the character -->
    <eval index="1" phase="Render" priority="1000">
      <before name="Assign Dynamic Tagexpr"/><![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

      ~if there are any tags to exclude, append them to the tagexpr appropriately
      if (empty(tagexpr) = 0) then
        field[advDynamic].text &= tagexpr

    <!-- Attach the child entity for tracking the advance -->
    <child entity="Advance">
      <tag group="Advance" tag="MustChoose"/>

Currently Running: Savage Worlds (Fantasy), Savage Galaxy Rangers
Currently Playing: Pathfinder (Kingmaker - it's good to be the King), Savage Wearing the Cape
CapedCrusader is offline   #10 Reply With Quote