View Single Post
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old February 28th, 2018, 09:04 AM
I was unable to find the previous time, but reproducing things wasn't that hard. Create a new .user file, open it up in a text editor, and paste in this between the "document signature" and "/document" elements.

Code:
  <portal
    id="oSplBkTb2"
    style="outtable">
    <output_table
      component="BaseSpell"
      showtemplate="osPick"
      showpicks="yes"
      varyheight="yes"
      showsortset="SpellOut">
      <list><![CDATA[
        Spellbook.? & !Helper.CustomItem & ((hero#Classes.StuSu_v1 & Spellbook.cHelpMMT) | Spellbook.PrayerBook | Spellbook.MeditaBook) & !Hide.Spell & !Helper.ActMythSpl
        ]]></list>
      </output_table>
    </portal>

  <layout
    id="oSpellboo2">
    <portalref portal="oSplBkTb2"/>
    <position><![CDATA[
      perform portal[oSplBkTb2].autoplace
      ]]></position>
    </layout>

  <sheet
    id="splbkdes2"
    name="Spellbook sheet, spillover2 (Description)"
    spillover="yes">
    <layoutref layout="oSpellboo2" reference="left"/>
    <layoutref layout="oSpellboo2" reference="right"/>
    <layoutref layout="osBkHeader"/>
    <position><![CDATA[
      ~ Set our global variable to 'output description'
      scenevalue[spellout] = 0

      ~setup the gap to be used between the various sections of the character sheet
      autogap = 40
      scenevalue[sectiongap] = autogap

      layout[osBkHeader].width = width
      perform layout[osBkHeader].render

      layout[left].top = layout[osBkHeader].bottom + 40
      layout[right].top = layout[osBkHeader].bottom + 40

      ~calculate the width of the two columns of the character sheet, leaving a
      ~suitable center gap between them
      var colwidth as number
      colwidth = (width - 50) / 2

      ~output the layout on the lefthand side with whatever information will fit
      layout[left].width = colwidth
      layout[left].height = height - layout[left].top
      perform layout[left].render

      ~output the layout on the righthand side with whatever information will fit
      layout[right].width = colwidth
      layout[right].height = height - layout[right].top
      layout[right].left = width - colwidth
      perform layout[right].render
      ]]></position>
    </sheet>

  <sheet
    id="splbksum2"
    name="Spellbook sheet, spillover (Summary)"
    spillover="yes">
    <layoutref layout="oSpellboo2" reference="left"/>
    <layoutref layout="oSpellboo2" reference="right"/>
    <layoutref layout="osBkHeader"/>
    <position><![CDATA[
      ~ Set our global variable to 'output summaries'
      scenevalue[spellout] = 1

      ~setup the gap to be used between the various sections of the character sheet
      autogap = 40
      scenevalue[sectiongap] = autogap

      layout[osBkHeader].width = width
      perform layout[osBkHeader].render

      layout[left].top = layout[osBkHeader].bottom + 40
      layout[right].top = layout[osBkHeader].bottom + 40

      ~calculate the width of the two columns of the character sheet, leaving a
      ~suitable center gap between them
      var colwidth as number
      colwidth = (width - 50) / 2

      ~output the layout on the lefthand side with whatever information will fit
      layout[left].width = colwidth
      layout[left].height = height - layout[left].top
      perform layout[left].render

      ~output the layout on the righthand side with whatever information will fit
      layout[right].width = colwidth
      layout[right].height = height - layout[right].top
      layout[right].left = width - colwidth
      perform layout[right].render
      ]]></position>
    </sheet>

  <!-- Various spellbook output formats -->
  <dossier
    id="splbkdes2"
    name="Spells in Spellbook (Custom Class) - Full Descriptions">
    <dossier_sheet
      grouping="spellbook">
      <live><![CDATA[
        (Hero.Spellbook | HasBook.?) & !CharType.typArmy & !CharType.typKing
        ]]></live>
      <sheetref sheet="splbkdes2"/>
      </dossier_sheet>
    </dossier>

  <dossier
    id="splbksum2"
    name="Spells in Spellbook (Custom Class) - Summaries">
    <dossier_sheet
      grouping="spellbook">
      <live><![CDATA[
        (Hero.Spellbook | HasBook.?) & !CharType.typArmy & !CharType.typKing
        ]]></live>
      <sheetref sheet="splbksum2"/>
      </dossier_sheet>
    </dossier>
Now, what controls the spells which show here is the <list> expression in the oSplBkTb2 portal. I used your Studied summoner file and filled in the default for that class above. If you want to expand it for future classes you'll be appending to the Classes.??? and Spellbook.??? sections in that tag expression.

For example, if you wanted to add a class called "Taxman" with a Classes tag of "Classes.Taxman" and a unique ID of the class helper of "cHelpTax", you would change this:

Code:
((hero#Classes.StuSu_v1 & Spellbook.cHelpMMT) | Spellbook.PrayerBook | Spellbook.MeditaBook)
to this:

Code:
((hero#Classes.Taxman & Spellbook.cHelpTax) | (hero#Classes.StuSu_v1 & Spellbook.cHelpMMT) | Spellbook.PrayerBook | Spellbook.MeditaBook)
Hope that helps!
Aaron is offline   #6 Reply With Quote