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

Old February 13th, 2017, 08:48 PM
Ouch.
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.

Code:
  <thing
    id="advSkillPS"
    name="Gain a New Skill from PS"
    compset="Advance"
    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
          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
      ]]></eval>

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

_
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