Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - Authoring Kit (http://forums.wolflair.com/forumdisplay.php?f=58)
-   -   Advances without Chooser tables (http://forums.wolflair.com/showthread.php?t=59089)

RavenX August 31st, 2017 06:51 PM

Advances without Chooser tables
 
Is it possible to have an advance without the chooser table?

Do I have to script a new advance in the form to accomplish this?

Mathias September 1st, 2017 08:35 AM

Here's an example from Shadowrun that bootstraps a particular pick, instead of having the user select a pick. Looking at it, I'm pretty sure the eval script #1 isn't actually giving it information that will end up being used anywhere, and could be discarded.

Code:

  <thing
    id="advNKnSkil"
    name="Gain a New Knowledge Skill"
    compset="Advance"
    description="Select a new knowledge skill of your choice at rating 1.">
    <fieldval field="advAction" value="New Knowledge Skill"/>
    <fieldval field="advDynamic" value="component.SkillKnow &amp; !Hide.Skill &amp; !SkPackKnow.?"/>
    <tag group="Advance" tag="Notation"/>
    <tag group="Advance" tag="KnowCat"/>
    <tag group="AdvSort" tag="Skill"/>

    <!-- Modify tagexpr to deny abilities 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 SkillKnow where "!Hide.Skill & !Helper.Shadow"
        if (eachpick.tagis[User.Unique] <> 0) then
          tagexpr &= " & !UniqueSkl." & 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>
    <eval index="2" phase="Setup" priority="3000"><![CDATA[
      field[advCost].value = #costKarma[mechNKnSKa]
      ]]></eval>
    <child entity="Advance">
      <bootstrap thing="skKnowledg">
        <autotag group="Helper" tag="Displace"/>
        <autotag group="Advance" tag="Gizmo"/>
        </bootstrap>
      </child>
    </thing>

Here's the Spend Karma advance, that just lets the user set how much karma to pay for something arbititrary. The Advance.Notation triggers the display of a template that shows a text box, where the user can specify what they want, and Advance.VarCost triggers the display of an incrementer for the user to set the cost.

Code:

  <thing
    id="advOther"
    name="Spend Karma"
    compset="Advance"
    description="Select this to spend Karma on something that doesn't fall into any of the other advancements, like karma paid to a free spirit.">
    <fieldval field="advAction" value="Spend Karma"/>
    <tag group="AdvSort" tag="Other"/>
    <tag group="Advance" tag="Notation"/>
    <tag group="Advance" tag="VarCost"/>
    <tag group="Advance" tag="AllySpirit"/>
    <child entity="Advance">
      </child>
    </thing>


RavenX September 2nd, 2017 06:39 AM

Thank you, I'll be putting these to use.


All times are GMT -8. The time now is 03:18 PM.

Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.