• 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

d6 Star Wars

thedarkelf007

Well-known member
Any interest in collaborating for d6 Star Wars 2nd Edition revised?

I am starting to put it together but could use help if people want to join in.
 
Hi Guys,

I am working on making the d6 system pips appear with the attribute selection and I keep getting a Syntax error on the highlighted line. It seems if I try and reuse a variable it is calling it a invalid use of a reserved word.

Have I done something wrong here?

Code:
        ~bound our final value including in-play adjustments
        var dValue as number
        dValue = 0
        var final as number
        final = field[trtFinal].value
        while (final > 2)
          dValue += 1
          final -= 3
          loop
        
        debug "dValue = " & dValue & " and final = " & final
        ~covert the final value for the trait to the proper die type for display
        var dievalue as string
      [COLOR="Red"]  if (final > 0)[/COLOR]
          dievalue = dValue & "D+" & final
        else
          dievalue = dValue & "D"
          endif
 
You might try an Id other than "final" - that may be reserved for something else in the programming language (I have no idea why it would have an error there, and not the first time, though). Also, when looking at it in the XML, does your script start like this:

Code:
<![CDATA[
~bound our final value

If so, the empty line after the <![CDATA[ is line 1, not the initial comment, meaning line 14 is the line where you're declaring the dievalue macro, which suggests that "dievalue" already has some other meaning in the programming language.
 
Thanks for the reply Mathias.

here is what I eventually had to do to get the code to work with adding a +0 on the end of the string which I was trying to avoid.

The commented out if statement below does not work with var's using in the while statement. I am not sure why.

This is derived from the Savage Worlds example.

So far I am liking what I am seeing and hope to have a basic Star Wars build ready by the end of September. I already have a good start on Attributes, Skills and Races.

Code:
      <eval index="3" phase="Render" priority="5000" name="Calc trtDisplay">
        <after name="Calc trtFinal"/><![CDATA[
        ~if this is a derived trait, our display text is the final value
        if (tagis[component.Derived] <> 0) then
          field[trtDisplay].text = field[trtFinal].value
          done
          endif
          
        ~bound our final value including in-play adjustments
        var dValue as number
        dValue = 0
        var final as number
        final = field[trtFinal].value
        while (final > 2)
          dValue += 1
          final -= 3
          loop
        
        debug "dValue = " & dValue & " and final = " & final
        ~covert the final value for the trait to the proper die type for display
        var dievalue as string
        dievalue = dValue & "D+" & final
        ~if (final <> 0)
        ~  dievalue &= "+" & final
        ~  endif
           
        ~put the final result into the proper field
        field[trtDisplay].text = dievalue
        ]]></eval>
 
Next questions.

Skill specialisations are added to the value of skills, then attributes. I have skills working with attributes, but is it possible to link a skill with a skill?

or as I trying to do, can I have a skill that takes the attribute and base skill (if it has ranks) and add itself for the total without having to add the base skill?

Then I will try Advanced skills which don't use the attribute. Can you have a skill not link to an attribute?
 
The fact that someone is doing this makes me happy. I'm no good with programming, so I can't help, but I can't wait to see your results.
 
I have Attributes, Skills, Races, Equipment, Weapon and Force Powers semi working.

Specialisations are not inheriting from the core skill at this stage and I might make it an adjustment done later.

I've added General Equipment, working on Melee and Ranged Weapons.

Working on Character Creation Phase first with the following done

  • Attribute Points work for increasing Stats up to the racial average dice + 6D
  • Attributes are bound by the racial type
  • Skills allow 7D of base skills with Specialisations taking 1/3 the price
  • Skills and specialisation start from 1D up to 2D
  • Force Skills are only available with Force Sensitive selected
  • Force Skills can only be 1D
  • Each force skill provides a special ability point which can be spent on an ability relating to the skill
  • Each force ability must be bought with an ability point matching its required force skills
  • Force Skills and Advanced Skills don't inherit a base attribute (but a hidden one)
  • Medicine stacks with First Aid (slight bug in appearance - need to change pips in First Aid for it to appear)
  • Era selection options
  • Source book selection options
  • Force point tracking

Still learning how this works, so far I am five days into it working on it in my spare time.

To Do in the next month
  • Finish Weapons
  • Add Vehicles
  • Add Starships
  • Look at Starting Templates
  • Do Charactersheet Output
  • Add Pre-requisites to Force Skills
  • Finish cleaning up Skill Descriptions
  • Add Force Power, Weapon and Vehicle Descriptions
  • Consider how to do character droids...

So far this is only the Core Book (Star Wars RPG 2nd Ed - Revised and Expanded)
 
I was looking so hard for major things wrong that I missed a minor thing wrong:
Code:
if (final > 2) then
 
Last edited:
Next questions.

Skill specialisations are added to the value of skills, then attributes. I have skills working with attributes, but is it possible to link a skill with a skill?

or as I trying to do, can I have a skill that takes the attribute and base skill (if it has ranks) and add itself for the total without having to add the base skill?

Then I will try Advanced skills which don't use the attribute. Can you have a skill not link to an attribute?

Sorry, I'm not familiar with this system, and I don't understand what you're trying to accomplish within Hero Lab.

There's nothing special about the linkages and attributes - the linkage itself is defined in the component, all the scripts that make use of it are in the same component, and setting it to only allow a selection from among attributes is in the editor entry for the skills.

For Shadowrun and Cortex, I stripped out the linkage mechanisms, since they weren't what I needed, so you can certainly make them optional. Here's the wiki page on how components are defined: http://hlkitwiki.wolflair.com/index.php5/Component_Element_(Data) - the "Linkage" section there has how to set the linkage itself as optional. Deciding to make use of it or not will have to be handled within the scripts.

(P.S. I've moved this thread to the Authoring Kit forum, since it's turned into a thread about building a game with the authoring kit. The "User Projects" forum is intended for corrdinating groups of users or getting a group together. This way, the next preson who wants to build a game using the authoring kit will find the threads you create about this game, and can hopefully learn from them.)
 
Last edited:
Sorry, I'm not familiar with this system, and I don't understand what you're trying to accomplish within Hero Lab.

There's nothing special about the linkages and attributes - the linkage itself is defined in the component, all the scripts that make use of it are in the same component, and setting it to only allow a selection from among attributes is in the editor entry for the skills.

For Shadowrun and Cortex, I stripped out the linkage mechanisms, since they weren't what I needed, so you can certainly make them optional. Here's the wiki page on how components are defined: http://hlkitwiki.wolflair.com/index.php5/Component_Element_(Data) - the "Linkage" section there has how to set the linkage itself as optional. Deciding to make use of it or not will have to be handled within the scripts.

(P.S. I've moved this thread to the Authoring Kit forum, since it's turned into a thread about building a game with the authoring kit. The "User Projects" forum is intended for corrdinating groups of users or getting a group together. This way, the next preson who wants to build a game using the authoring kit will find the threads you create about this game, and can hopefully learn from them.)

Skills have specialisations (sort of like Shadowrun).

You can take the skill and the specialisation at character creation. If you do the specialisation stacks with the skill. i.e. attribute has 3 points, skill has 3 points and specialisation has 3 points. Final value for the skill is 6 points and 9 points for the specialisation.

But you can take the specialisation without the skill.

Once you are in the advancement phase of characters, increasing the skill does not increase the specialisation.

And if you add a new specialisation, and have the skill, the specialisation adds the current (with advancements) value of the skill to the new specialisation.

I am looking at using a field to store the skill value at specialisation creation time.

I am currently playing with Advancements and figuring out how this part of the tool works.
 
Star Wars uses a Advancement style similar to Shadowrun's karma advancement.

How can you specify the cost to increase a skill based on the "rank" of the skill and not a default number?

Same for attribute.
 
New Questions: Is it possible for an "Advancement" object to access the item it is advancing?

And if so how do you do this?

(this is for determining the cost of upgrading skills and attributes)
 
Another question:

How can I change / set the race in the static form from he authoring kit from another item.

example:
- Star Wars has templates
- Each template is assigned a race
- I want to auto select the race when the template is selected or leave it blank if no template is selected
 
Once you are in the advancement phase of characters, increasing the skill does not increase the specialisation.

And if you add a new specialisation, and have the skill, the specialisation adds the current (with advancements) value of the skill to the new specialisation.

Okay, these are damned difficult in Hero Lab, since Hero Lab is set up to re-calculate everything, every time the user changes something on the hero.

What you're going to have to rely on here is that every advancement on the advances tab has that same script to add the actual bonus from advancement that's in the CanAdvance component in advancement.core, and that all advancements run that script in the order they're listed on the Advances tab, from oldest to newest. That means that if, in that script, you can tell your thing that it started life as a specialization that was added during advancement, you can have it look up the current value of the skill it's based on. Since all the scripts are running in order, that value will only have the bonuses from any advancements added to that skill before the "New Specialization" advancement was added - not those after. Those specializations that were added during character creation will have a different script on their component that looks up the user-added value + bonuses from races, etc., but not from advancement, and adds that to the value of the specialization.

First, identifying whether a specialization was added during character creation or during advancement:

Code:
origin.ishero = 0

Means it was added as an advancement ( <> 0 means it was added during creation).

So, in a script on the specialization component, you can look up the non-advancement parts of the associated skill and add them as a bonus to the specialty.

Second, the advancement script. The first thing to do is to change the timing - you need it to come before the "Calc trtFinal" script, so that Calc trtFinal incorporates the amount this thing has been advanced, but since you also need to look up the user-added portion of the value (+ any bonus from races, etc. that apply to both the skill and specialty), you need your script to happen after the "Bound trtUser" script. So, Traits/1500 (or 2000 or 2500), if those other scripts are still using the timing from the Skeleton files.

Then, in that script, you'll need to check whether the thing you're currently working on is a specialization added during advancement mode:

Code:
if (tagis[component.SkillSpec] <> 0) then
  if (origin.ishero = 0) then
    field[spAssocSkl].value += field[trtUser].value + field[trtBonus].value + other values you need to sdd

(obviouly, I was guessing at the Id of your specialty component and the field you're using to store the value of the associated skill) (also, instead of "field[trtUser].value + field[trtBonus].value", you'll need to use whatever method you've set up to associate a specialty with its skill to transition to the skill, and add their values, rather than the trtUser and trtBonus from the specialty itself).

P.S. I like to use something other than trtBonus to store the bonus from advancement - I find it helpful to have the bonuses from races, etc. in trtBonus, and the bonuses from advancement in trtAdvance, or something like that, to make it easier to track down what came from what when I'm debugging.
 
Star Wars uses a Advancement style similar to Shadowrun's karma advancement.

How can you specify the cost to increase a skill based on the "rank" of the skill and not a default number?

Same for attribute.

You've seen that the cost of an advancement is stored in advCost on the Advance component, right. Okay, so you need to change advCost in a script.

This is handled in the same script that's adding the +1 to that skill/attribute - that way, the cost you're calculating is based on that advancement, and all the advancements to the same thing that came before it, but not any of the advancements that came after it.

I'm presuming that there's a fixed multiplier, and that all attributes have the same multiplier. All skills use the same multiplier as well (which is most likely different from the attribute multiplier). That value you can store on the advancement itself, in thing_advances.dat - add the following line to an advancement to get a x5 multiplier:

Code:
<fieldval field="advCost" value="5"/>

Now, to take that multiplier and multiply it by the current value of the thing:

Code:
var basevalue as number
 
~advancements often need to reference their base value in a couple of different places, so put that in a variable now
if (origin.parent.tagis[Advance.Increase] + origin.parent.tagis[Advance.Decrease] <> 0) then
  basevalue = linkage[basis].field[trtUser].value + linkage[basis].field[trtAdvance].value + linkage[basis].field[trtBonus].value + anything else that modifies the value that advancement cost is based upon
  endif
 
if (origin.parent.tagis[Advance.Increase] > 0) then
  linkage[basis].field[trtAdvance].value += 1
  origin.parent.field[advCost].value *= basevalue
elseif (origin.parent.tagis[Advance.Decrease] > 0) then
  linkage[basis].field[trtAdvance].value -= 1
  origin.parent.field[advCost].value *= basevalue
  endif

Note that because you're setting the basevalue aside in a variable before you add the bonus, the cost you calculate will be multiplied by whatever the value of the thing was before adding the advancement, so a x4 multiplier on an advancement from 4 to 5 would mean 16 XP. If it's based on the final value, you can add to basevalue as your're multiplying it:

Code:
origin.parent.field[advCost].value *= (basevalue + 1)
 
Thanks Mathias, I managed to get a little further than I thought over the weekend with this one, not sure if I am doing it right but it seems to be fairly stable.

What I have done is created a trtRacial field for all traits and a skSpecial field for skills where I add the value of the linked skill (only specialisations have linked skills).

This seems to work well except for when adding a specialisation to a skill that has already been advanced as I need the advanced value at that time.

I have some issues with how to determine if the linked skill is attached to the hero, and what the value of the skill is at the time a specialisation is created.

This for determining the point cost of the skill, and the bonus it receives from the base skill.
 
Back
Top