• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Deathwatch

Something must be missing from your description expression for that portal (don't forget to look into any called procedures in the description as well). Either that or the damage tag isn't being applied to the weapon until it is a pick rather than a thing.
 
Something must be missing from your description expression for that portal (don't forget to look into any called procedures in the description as well). Either that or the damage tag isn't being applied to the weapon until it is a pick rather than a thing.

I set up the Damage as a combination of Tag + Field (basically dice tag + field for Strength bonus modifier the weapon provides) which are on the actual <thing... </thing> entries. I am guessing it might be the portal. I admit that I don't know much about the portals. I am trying to learn it though.

I will check on the procedures once I get this stuff knocked out for Mathias.
 
I got a little progress done over the weekend's gaming with my players. More talents are now in the system. I think I am getting used to writing the xml now.
 
I am trying to figure out Encumbrance. I know that to get it for this system I have to add Strength bonus + Toughness bonus (Sum of the Tens digits of the relevant attribute scores) and have it look up that number as the index of a table. The Lifting and Drag or Push are x2 and x4 respectively for the value looked up for the most part. I know I will have to alter the compset most likely as this was based on a 4e file but am I going about this the right way?

Code:
<thing
  id="MaxCarry"
  name="Max Carrying Weight Mechanics"
  compset="Mechanics">
  
  <array field="CarryTable" index="0" value="0.9"/>
  <array field="CarryTable" index="1" value="2.25"/>
  <array field="CarryTable" index="2" value="4.5"/>
  <array field="CarryTable" index="3" value="9"/>
  <array field="CarryTable" index="4" value="18"/>
  <array field="CarryTable" index="5" value="27"/>
  <array field="CarryTable" index="6" value="36"/>
  <array field="CarryTable" index="7" value="45"/>
  <array field="CarryTable" index="8" value="56"/>
  <array field="CarryTable" index="9" value="67"/>
  <array field="CarryTable" index="10" value="78"/>
  <array field="CarryTable" index="11" value="90"/>
  <array field="CarryTable" index="12" value="112"/>
  <array field="CarryTable" index="13" value="225"/>
  <array field="CarryTable" index="14" value="337"/>
  <array field="CarryTable" index="15" value="450"/>
  <array field="CarryTable" index="16" value="675"/>
  <array field="CarryTable" index="17" value="900"/>
  <array field="CarryTable" index="18" value="1350"/>
  <array field="CarryTable" index="19" value="1800"/>
  <array field="CarryTable" index="20" value="2250"/>
  </thing>
 
I am still a long way off on getting data in here. I have the Talents in place, and the skills, but I am still working on the core parts of the data. It will take me time to get this book knocked out. Luckily the mechanics are very much tag friendly. ^_^ I just don't know as much about portals as I wish I did. I am currently working on getting the Traits in so that I can start working on the necessary portals for them. (They will need to be there once I have the core mechanics working correctly.)
 
So how's it going on the home front Raven. The work you've done on this looks great. Keep up the great work - looking forward to this. I love this game. I have all the books in hard copy and would love to have a good program to work with it.
And again - Love your work!!!!!!!!!!
 
So how's it going on the home front Raven. The work you've done on this looks great. Keep up the great work - looking forward to this. I love this game. I have all the books in hard copy and would love to have a good program to work with it.
And again - Love your work!!!!!!!!!!

Not as good as I would like, Its not a matter of data input for this project that I was having problems with, but dealing with the Raw XML code itself. I still need to get some of the portals working correctly to get the data to display like it should. As it stands right now, you all are not the first to inquire me about the data, I plan on finishing it when I have some spare time, but I am currently in the process of moving, which means packing, cleaning, pest control, and other set backs I have to deal with in my spare time. I am also writing a campaign setting book for Pathfinder at the Behest of my players who've wanted me to do this for over ten years now. Much of my free time has been spent compiling this book, which as it stands now is over 200 pages. I also have contractual obligations for other datafiles with LWD Technology, Inc. that I work on so my days are pretty busy. I've also been getting things straight with my old university so that I can attend grad school after I finish the move. I will attempt to get some progress going on the Deathwatch dataset again soon, but don't expect any official releases unless by some miracle I get the data actually working properly. I won't release buggy or malfunctioning code for others to play around with, I'll get it done when I have some time. I just wanted to give everyone an update since some of you have been wondering where things stand, it basically sits where the last set of screenshots was. I have a lot of work to do on this data, but it will come together given time. I apologize in advance if you don't see me on the boards much lately, but things will improve over time. Wish I could drop everything and finish this data right now, but I've got a lot on my plate and only 16 hours a day to do anything with (I need to sleep sometime).

I'll post another update once I have more progress on this data.

RavenX
 
I have done a small amount of tweaking around and got a few things working correctly that were not working right for me for before. This data is still a long way from completion though. I will try to tweak away at it when I have free time or down time during my game sessions, but it still has a long way to go. Yes I've made a few good strides on it, but after the leaps made last night, I've realized its going to take some serious time before this gets done. I'll try to put a little effort into it each week though until I can get it done.

RavenX
 
You do what you have to, personal life comes first - That's my gaming groups motto. I will look forward to it - even if it's a year or so away LOL - Take your time.
 
It could take a year honestly, just depends on how things go.
I have a lot on my plate at this time and just can't devote a lot of time to this.
Once I figure out the portals and compsets needed to finish up the chapter tab things should go much more smoothly.
Its a lot to learn, but I am doing fairly well with it.
 
I think I have the basics of portals down now. Just having a hard time manipulating them into doing what I need them to do for output.

The screenshot shows what I mean about manipulating them correctly. I'll post the code for that tab here in case someone can help me figure this out.

Code:
 <portal
    id="spHelp"
    style="lblDisable">
    <label
      ismultiline="yes"
      text="Once you've chosen a specialty, you can view specialty features and choose a special ability.">
      </label>
    </portal>

  <!-- Specialty title label, chooser and info button -->
  <portal
    id="spTitle"
    style="lblNormal">
    <label
      text="Choose Character Specialty:">
      </label>
    </portal>
  <portal
    id="spSpecialt"
    style="chsNormal">
    <chooser_table
      component="Specialty"
      choosetemplate="SpecThing"
      showupdate="yes"
      descwidth="450">
      <candidate></candidate>
      <chosen><![CDATA[
        if (@ispick = 0) then
          @text = "{text ff0000}Select Specialty"
        else
          @text = field[name].text
          if (valid = 0) then
            @text = "{text ff0000}" & @text
            endif
          endif
        ]]></chosen>
      <titlebar><![CDATA[
        @text = "Choose the specialty for your character"
        ]]></titlebar>
      </chooser_table>
    </portal>
  <portal
    id="spInfo"
    style="actInfo">
    <action
      action="info">
      </action>
    <mouseinfo><![CDATA[
      ~Get our currently selected specialty
      perform hero.findchild[Specialty].setfocus
      if (state.isfocus = 0) then
        @text = "No specialty selected."
        done
        endif

       ~append specialty info
       @text = "{b}" & focus.field[name].text & "{/b}{br}{br}"
       @text = focus.field[descript].text
       ]]></mouseinfo>
    </portal>

  <!-- spFeatures portal 
        Presents a fixed table where the user can inspect and configure specialty
        features.  
  -->
  <portal
    id="spFeatures"
    style="tblInvis">
    <table_fixed
      component="Specialty"
      showtemplate="spSpecInfo"
      columns="1"
      alwaysupdate="yes">
      <list><![CDATA[
        ConfSource.Specialty
        ]]></list>
      <headertitle><![CDATA[
        @text = "Specialty Features"
        ]]></headertitle>
      </table_fixed>
    </portal>
  <portal
    id="spInfoTbl"
    style="tblInvis">
    <table_fixed
      component="Specialty"
      showtemplate="spSpecInfo"
      alwaysupdate="yes">
      <list><![CDATA[
        ]]></list>
      </table_fixed>
    </portal>

  <!-- Special Ability label, chooser and info -->
  <portal
    id="abAbility"
    style="tblNormal">
    <table_dynamic
      component="Ability"
      showtemplate="abPick"
      choosetemplate="SimpleItem"
      showfixedlast="yes"
      addpick="resAbility">
      <candidate>!Hide.Ability</candidate>
      <titlebar><![CDATA[
        @text = "Add a Special Ability - " & hero.child[resAbility].field[resSummary].text
        ]]></titlebar>
      <description/>
      <headertitle><![CDATA[
        @text = "Special Ability: " & hero.child[resAbility].field[resSummary].text
        ]]></headertitle>
      <additem><![CDATA[
        ~if we're in advancement mode, we've been frozen, so display accordingly
        if (state.iscreate = 0) then
          @text = "{text clrgrey}Add Special Abilities Via Advances Tab"
          done
          endif

        ~set the color based on whether the proper number of slots are allocated
        if (field[resLeft].value = 0) then
          @text = "{text clrgrey}"
        elseif (field[resLeft].value < 0) then
          @text = "{text clrwarning}"
          endif
        @text &= "Add New Special Ability"
        ]]></additem>
      </table_dynamic>
    </portal>

  <!-- spSpecInfo template
  Displays info for the current specialty in a large template area.
  -->
  <template
    id="spSpecInfo"
    name="Specialty Info"
    compset="Trait">

    <portal
      id="details"
      style="lblNormal">
      <label
        ismultiline="yes">
        <labeltext><![CDATA[
          var descript as string
          var nodescript as number
          nodescript = 1
          call Descript
          @text = "{align left}" & descript
          ]]></labeltext>
        </label>
      </portal>

    <position><![CDATA[
      ~set up our height based on our tallest portal
      portal[details].width = width
      height = portal[details].textheight
      ]]></position>

    </template>

  <!-- SpecThing template 
  -->
  <template
    id="SpecThing"
    name="Specialty Thing"
    compset="Specialty"
    marginhorz="3"
    marginvert="5"
    width="200">
  
    <portal
      id="name"
      style="lblXLarge"
      showinvalid="yes">
      <label
        field="name">
        </label>
      </portal>
    </template>


  <!-- abPick template
        Displays the name of the pick/thing and an info button with the basic
        description text. This is basically the "SimpleItem" template, with one
        key difference. Auto-added abilities such as those conferred by races are
        sorted and colored differently to distinguish their nature.
  -->
  <template
    id="abPick"
    name="Ability Pick"
    compset="Ability"
    marginhorz="3"
    marginvert="2">

    <portal
      id="name"
      style="lblNormal"
      showinvalid="yes">
      <label
        field="name">
        </label>
      </portal>

    <portal
      id="info"
      style="actInfo">
      <action
        action="info">
        </action>
      <mouseinfo/>
      </portal>

    <portal
      id="delete"
      style="actDelete"
      tiptext="Click to delete this item">
      <action
        action="delete">
        </action>
      </portal>

    <position><![CDATA[
      ~set up our height based on our tallest portal
      height = portal[info].height

      ~if this is a "sizing" calculation, we're done
      doneif (issizing <> 0)

      ~position our tallest portal at the top
      portal[info].top = 0

      ~center the other portals vertically
      perform portal[name].centervert
      perform portal[delete].centervert

      ~position the delete portal on the far right
      perform portal[delete].alignedge[right,0]

      ~position the info portal to the left of the delete button
      perform portal[info].alignrel[rtol,delete,-8]

      ~position the name on the left and let it use all available space
      portal[name].left = 0
      portal[name].width = minimum(portal[name].width,portal[info].left - 5)

      ~if the ability is auto-added, change its font to indicate that fact
      if (candelete = 0) then
        perform portal[name].setstyle[lblAuto]
        endif
      ]]></position>

    </template>
 
Code:
  <!-- specialty layout
        This layout orchestrates the display of the visual elements that comprise
        the specialty tab.  This amounts to a tital at the top and display of specialty
        features
  -->
  <layout
    id="specialty">
    <portalref portal="spTitle"/>
    <portalref portal="spSpecialt" taborder="10"/>
    <portalref portal="spHelp"/>
    <portalref portal="spInfo" taborder="20"/>
    <portalref portal="spFeatures" taborder="40"/>
    <portalref portal="spInfoTbl"/>
    <portalref portal="abAbility" taborder="90"/>

    <!-- This script sizes and positions the layout and its child visual elements -->
    <position><![CDATA[
      ~freeze our table in advancement mode to disable adding new choices
      ~Note: All freezing must be done *before* any positioning is performed.
      if (state.iscreate = 0) then
        portal[abAbility].freeze = 1
        endif

      portal[spSpecialt].width = 200

      ~position the specialty selection portal at the top of the panel,
      ~horizontally centered.
      var space as number
      space = 10
      var total as number
      total = portal[spTitle].width + space + portal[spSpecialt].width + space + portal[spInfo].width
      portal[spTitle].left = (width - total) / 2
      portal[spSpecialt].left = portal[spTitle].right + space
      portal[spInfo].left = portal[spSpecialt].right + space

      ~center the controls veritically within the specialty chooser
      portal[spSpecialt].top = 3
      perform portal[spTitle].centeron[vert,spSpecialt]
      perform portal[spInfo].centeron[vert,spSpecialt]

      ~if we don't have a specialty, hide all our tables and show the help label
      if (hero.tagis[Specialty.?] = 0) then
        portal[spFeatures].visible = 0
        portal[spInfoTbl].visible = 0
        portal[abAbility].visible = 0
      else
        portal[spHelp].visible = 0
        portal[abAbility].visible = 0
        endif
   
      ~position our help label under the 'choose' chooser.
      portal[spHelp].width = width * 2 / 3
      portal[spHelp].height = portal[spHelp].textheight
      perform portal[spHelp].centerhorz
      portal[spHelp].top = portal[spSpecialt].bottom + 50

      ~position the specialty features table under the specialty chooser - always let
      ~it use all the space it needs, since if it uses up too much we'll just scroll
      ~scroll the tab
      portal[spFeatures].left = 0
      portal[spFeatures].width = width
      portal[spFeatures].top = portal[spSpecialt].bottom + 20
      portal[spFeatures].height = height

      ~position the specialty features under the header
      portal[spInfoTbl].left = 0
      portal[spInfoTbl].width = width
      portal[spInfoTbl].top = portal[spFeatures].bottom + 20
      portal[spInfoTbl].top = height - portal[spInfoTbl].top

      ~position and size the table to span the full layout; it will only use the
      ~vertical space that it actually needs
      portal[abAbility].left = 0
      portal[abAbility].width = width
      portal[abAbility].top = portal[spInfoTbl].bottom + 20
      portal[abAbility].top = height - portal[abAbility].top
      ]]></position>

    </layout>

  <!-- abilities panel
        This is the "Abilities" panel shown within Hero Lab. Since we want this
        panel to appear after Basics and within the traits grouping, we assign it
        an "order" of 120.

        The logic for this panel is similar to the logic for the Basics panel, so
        please refer to the Basics panel for more details.
  -->
  <panel
    id="abilities"
    name="Specialty"
    marginhorz="5"
    marginvert="5"
    order="105">
    <live>!HideTab.specialty</live>
    <layoutref layout="specialty"/>
    <position><![CDATA[
      ]]></position>
    </panel>
 
Looks like you want to move most of the label and info portals inside a template, and then put that template on the layout. See the personal tab for an example of how to have a template and a couple of tables all on a tab, and note that the template uses the thing="" option - that's essential, because all those portals in the template look at that to know what thing they should be providing information about.
 
Alright, I'll check that out then.
I've dug most of what I learned out of the 4e data more than the savage worlds files.
Hopefully I can figure this out and get this tab working right.
 
Ok, I think I get what you're saying now. Templates can be placed in a layout with a templateref the same way portals use portalref and can be manipulated just like portals in the layout. I'll have to do some more tinkering but I think I see what you mean here.

Thanks Mathias.
 
If I read the documentation correctly, based on the hint you've given me, the Features portals should be moved in a template since they're displaying output for the user to inspect and look over. The chooser and special ability menu table have to be left outside the template because templates don't support those processes.
 
note that the template uses the thing="" option - that's essential, because all those portals in the template look at that to know what thing they should be providing information about.

So for the thing="" option, I noticed it said mscPerson on the personal tab, which I am assuming means miscellaneous personal information. How do I know what to put into the thing= option? Is it a compset item or a component?
 
It has to be a specific pick, and it has to be something that's guaranteed to be on all characters.

If you want it to instead display whatever example the user selects from a category of things (such as from a chooser), you can't put the template there directly - your template will instead be a table entry in a table that has only one item.

If that doesn't work, I'll have to spend a bit of time explaining how the agent linkage mechanisms work, so you can build something like the Pathfinder/d20 class tabs.
 
Back
Top