• 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

Displaying Items with Gizmos

TCArknight

Well-known member
OK, I think I'm missing something. Kairos tried to help me with this since his Tao tab for his system is similar to what I want to be doing with Skills and AoE.

I'd like to display skills and their selected child AoE (if any) like this:

<Skill Name> <AoE Indicator> <Skill Ranks> <Info>
<Child AoE name>
<Skill Name> <AoE Indicator> <Skill Ranks> <Info>
<Skill Name> <AoE Indicator> <Skill Ranks> <Info>
<Skill Name> <AoE Indicator> <Skill Ranks> <Info>

I have a BaseSkill component common to both, and I'm using it in the showtemplate for the table_fixed portal of the skill table. However, the Child AoE never shows. :(

Code:
  <!-- Skill - all skills derive from this compset -->
  <compset
    id="BaseSkill"
    forceunique="yes">
    <compref component="BaseSkill"/>
    <compref component="Trait"/>
    <compref component="CanAdvance"/>
    </compset>

  <!-- Skill - all skills derive from this compset -->
  <compset
    id="Skill"
    forceunique="yes">
    <compref component="Skill"/>
    <compref component="BaseSkill"/>
    <compref component="Trait"/>
    <compref component="CanAdvance"/>
    </compset>

  <!-- SkillAoE - all expertise derive from this compset -->
  <compset
    id="SkillAoE"
    forceunique="yes">
    <compref component="SkillAoE"/>
    <compref component="BaseSkill"/>
    <compref component="Trait"/>
    <compref component="Domain"/>
    <compref component="CanAdvance"/>
    </compset>

  <!-- Athletics Skill -->
  <thing
    id="skAthletic"
    name="Athletics"
    compset="Skill"
    isunique="yes"
    description="Description goes here">
    <fieldval field="trtAbbrev" value="Acad"/>
    <tag group="DashTacCon" tag="NonCombat"/>
    <link linkage="attribute" thing="attrIng"/>
    <child entity="entAoE" />
    </thing>

  <thing
    id="aoeRun"
    name="Running"
    compset="SkillAoE"
    isunique="yes"
    description="Description goes here">
    <fieldval field="trtAbbrev" value="Run"/>
    <tag group="Hide" tag="SkillAoE"/>
    <tag group="SkillGen" tag="skAthletic"/>
    </thing>

  <!-- An entity for the Area of Expertise -->
  <entity
    id="entAoE"
    form="frmAoE">
    <bootstrap thing="AoEHelp"/>
    </entity>
  <component
    id="AoEHelp"
    name="Area of Expertise Helper">

    <!-- Selection Tag Expressions -->
    <field
      id="aoeAoEExpr"
      name="Equipment Tag Expression"
      type="derived"
      maxlength="500">
      </field>

    </component>
skills tab:
Code:
  <portal
    id="baSkill"
    style="tblInvis">
    <table_fixed
      component="BaseSkill"
      showtemplate="baSklPick"
      showsortset="Skills"
      scrollable="yes"
      alwaysupdate="yes">
      <headertitle><![CDATA[
        @text = "Skills"
        ]]></headertitle>
      </table_fixed>
    </portal>

  <template
    id="baSklPick"
    name="Skill Pick"
    compset="BaseSkill"
    marginhorz="23"
    marginvert="3">

    <portal
      id="name"
      style="lblNormal"
      showinvalid="yes">
      <label>
          <labeltext><![CDATA[
          @text = field[name].text
          ]]></labeltext>
        </label>
      </portal>

    <portal
      id="value"
      style="incrBox">
      <incrementer
        field="trtUser">
        </incrementer>
      <mouseinfo><![CDATA[
        if (hero.tagis[mode.creation] = 0) then
          @text = "Skills must be modified via the Advances tab once the character is locked for play."
        elseif (autonomous = 0) then
          @text = "This trait has been improved via the Advances tab and cannot be modified further from here."
        else
          @text = "Allocate points to this skill by clicking on the arrows to increase/decrease the number of points assigned."
          endif
        ]]></mouseinfo>
      </portal>

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

    <portal
      id="edit"
      style="actAoE"
      tiptext="Add Expertise">
      <action
        action="edit"
        buttontext="">
        </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)

      ~freeze our value in advancement mode or if an advancement has modified us
      ~Note: All freezing must be done *before* any positioning is performed.
      if (state.iscreate = 0) then
        portal[value].freeze = 1
      elseif (autonomous = 0) then
        portal[value].freeze = 1
        endif

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

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

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

      ~if the skill has a User.IsAoE tag it's a specialty
      if (tagis[User.IsAoE] = 0) then
      
	      ~position the incrementer to the left of the info portal (plus a gap)
	      perform portal[value].alignrel[rtol,info,-10]
	
	      ~only show the master button if the actor is a minion
	      portal[edit].visible = tagis[User.AllowSpec]
      
	      if (portal[edit].visible <> 0) then
	        
	        ~position the skSpec to the left of the incrementer portal (plus a gap)
	        portal[edit].width = 20
	        perform portal[edit].alignrel[rtol,value,-10]

	        ~position the name on the left and make sure its width does not 
	        ~exceed the available space
	        portal[name].left = 0
	        portal[name].width = minimum(portal[name].width,portal[edit].left - portal[name].left - 10)

	      else
      
	        ~position the name on the left and make sure its width does not 
	        ~exceed the available space
	        portal[name].left = 0
	        portal[name].width = minimum(portal[name].width,portal[value].left - portal[name].left - 10)

	        endif
	  else
	  	 ~hide the incrementer and specialization button
	      portal[value].visible = 0

	  	~ Position the name indented on the left and make sure its width does not 
	    ~exceed the available space
	    portal[name].left = 20
	    portal[name].width = minimum(portal[name].width,portal[info].left - portal[name].left - 30)
	  endif
      
      ]]></position>

    </template>

Thoughts?
 
Why do they need to be displayed on the hero, as shadowed picks, if these AoEs are modifications of the skills? If they're modifications, you should use a script to collect the names of the AoEs and display them as part of their skill, not display them on their own, separated from the thing they modify.
 
Back
Top