• 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

Adding areas of expertise to skills

Please clarify this, I'm not sure how you've got an advancement that's inside a gizmo.

Ok, on a Trait which is directly on the hero I can use

Code:
if (isuser + origin.ishero >= 2) then

So that when I add an advancement for a Trait it doesn't use Character Points. Areas of Expertise are not on the hero they are on the Skill gizmo. What I'm trying do is have the same kind of check for the Areas of Expertise so they don't use Skill Points when you add them through an Advance.

If I use the same check it doesn't use points during character creation or during Advancement.
 
Ok, on a Trait which is directly on the hero I can use

Code:
if (isuser + origin.ishero >= 2) then
So that when I add an advancement for a Trait it doesn't use Character Points. Areas of Expertise are not on the hero they are on the Skill gizmo. What I'm trying do is have the same kind of check for the Areas of Expertise so they don't use Skill Points when you add them through an Advance.

If I use the same check it doesn't use points during character creation or during Advancement.

Think of the original test as two doneif statements (or keep them as if statements, but think of one nested inside the other):
Code:
doneif (isuser = 0)
doneif (origin.ishero = 0)

Now, can you modify that so that if it's in a gizmo, the test that's giving you a problem won't be checked?
 
I've tried checking if it was on a gizmo with parent.isgizmo, but that's going to be true no matter how it's added, I've tried origin.ishero <> 0, I can't figure out how to get it to add while on one gizmo, but not add from the other.
 
container.ishero?

Isn't your question whether the item itself is in a gizmo (in which case you want it to apply its cost differently) or on the hero (in which case its cost is paid with the standard XP mechanism for your game?
 
if I do:

doneif (container.ishero = 0) it doesn't add add to the points spent

if I do:

doneif (container.ishero <> 0) it adds both when it's added in character creation and in Advanement mode
 
I was just looking at advancement and I may be doing it wrong, since when I add an area of exertise it doesn't update on the skill tab, so I might have to go to the drawnig board
 
I think I got it figured out, I did the check of if the parent is a skill and isuser and it only adds for skills during creation and does not add points when its added through an advance.
 
Ok, now that I've got the cost part taken care of I'm back to setting up the Advancement for Areas of Expertise. I've created a template with a menu_things element, I have picks set to be on hero and just for starters I've set it to component.Skill for the candidate element, but no matter what I get a "Nothing to Select" message. All the skills are bootstrapped to the hero so they should all come up as far as I can tell.
 
If your areas of expertise are items added within the gizmos of the skills, there is no way to use an advancement to add an item to the inside of a gizmo from outside that gizmo.

In Shadowrun, skill specialties added as advancements place their name into a field on the skill with a script, and then that field is displayed under the table of specialties the user added.
 
Right, I'm doing that, but in Shadowrun there is also a menu that selects which skill you're going to be picking from, that's what I'm trying to do now.
 
What you're describing all sounds correct, so I'm not sure what's not working.

Code:
    <portal
      id="skill"
      style="menuNormal">
      <menu_things
        field="advSpecial"
        component="Skill"
        maxvisible="10"
        usepicks="hero">
        <candidate><![CDATA[
          !component.SkillGroup & !Hide.Skill & (!SkillHelp.NoSpecial | SkillHelp.UsingGroup)
          ]]></candidate>
        </menu_things>
      </portal>
 
Hmm it looks like what I've got

Code:
   <!--Skill selector template -->
    <template
      id="advSkill"
      name="Skill Selector"
      compset="AdvDetails">
      
        <!-- Skill chooser -->

  <portal
    id="menu"
    style="menuNormal"
    width="275">
    <menu_things
      field="advSkill"
      component="AdvDetails"
      usepicks="hero">
      <candidate><![CDATA[
      component.Skill & Helper.CanExpert
      ]]></candidate>
      </menu_things>
      </portal>
      
    <position><![CDATA[
      height = portal[menu].height
      width = 50
      
      ~position portal
      portal[menu].left = 0
      ]]></position>
      
    </template>

But I'm still not getting anything to show up, hmm guess I'll try something else out. Even changing it to show all things isn't working, this seems odd.
 
Big difference I see - you've got component="AdvDetails", I've got component="Skill". So everything you're adding to this table must have "component.AdvDetails & component.Skill & Helper.CanExpert".
 
I did not realize that, now I just need to get it to limit the other list of what's available to the selected skill
 
In Shadowrun, that script's in thing_advances.dat, in the script that's building the field that stores what's allowed to be selected for an advance - it looks up the skill that was selected and uses that to generate the proper restrictions.
 
Back
Top