• 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

Authoring Example help

Okay, I got it to work.

I was thinking that I could use my component in the table, i.e.

Code:
<table_dynamic
      component="Cybertech"
      showtemplate="abCyber"
      choosetemplate="grGrThing"
      buytemplate="BuyCash"
      selltemplate="SellCash">
but I had to put Gear in

Code:
<table_dynamic
      component="Gear"
      showtemplate="abCyber"
      choosetemplate="grGrThing"
      buytemplate="BuyCash"
      selltemplate="SellCash">
and then use list and candidate to get the specific things I wanted.

Thanks!

edg
 
Oh right - the component="" on a table must be set to whichever component in the compset has isgear="yes" in order to trigger all the mechanisms that isgear="yes" turns on. Sorry I forgot about that one - I ran into the same thing on the Augment tab in Shadowrun.
 
I'm back!

Actually, things have clicked for me quite well these last few weeks. I have added new tabs in minutes instead of hours. I have written tag expressions to narrow down selections as needed. I have grokked several aspects of the data files and made corrections or updates as needed! I have been really excited with how well things have been going!

But I still have questions, mainly in terms of best practice.

How do I implement optional rules? Rather, how do I implement the user interface? For example, there is an optional rule in Alternity for a different skill cost. So, I assume I would add a tag to the hero that they are using this rule. And then if I see this tag, I use the optional skill cost formulas. But where do I set this up? Do I create a source for it and then in an eval section under that source, add a tag? Is that what you would do?

I am working on the editor and have found a weird situation. In adding new skills, I have found that it's doubling the tags listed?

In tags.1st:

Code:
	<group
	  id="PsiGroup"
	  dynamic="yes">
	  <value id="Bkinesis"/>
	  <value id="ESP"/>
	  <value id="Tkinesis"/>
	  <value id="Tpathy"/>
	</group>

	<group
	  id="Profession"
	  dynamic="yes">
	  <value id="FreeAgent"/>
	  <value id="Diplomat"/>
	  <value id="CombatSpec"/>
	  <value id="Mindwalker"/>
	  <value id="TechOp"/>
	  <value id="Adept"/>
	</group>

Then, in editor.dat:

Code:
	<inputthing
	  name="Profession skill?"
	  helptext="Pick the associated profession, if applicable.">
	  <it_tagpick group="Profession" tag="?"/>
	</inputthing>
	<inputthing
	  name="Psionic Group?"
	  helptext="Pick the psionic group, if applicable.">
	  <it_tagpick group="PsiGroup" tag="?"/>
	</inputthing>

However, in the editor, Professions are duplicated (two each) but the Psionic Group is fine. No other group is duplicated but for some reason, Professions is. I'm not sure why that's happening.

What else can I show you for these issues?

Thanks!

edg
 
Actually, you can test for the source directly - no need to create a tag to serve as an intermediary:

Code:
if (hero.tagis[source.XXXXX] <> 0) then
  SKILLCOST *= 2
  endif

I'm not sure how you have your skills organized, but the idea is that this would be added to whatever script is calculating your skill costs, after they've been calculated, and before that total is added to the resource.
 
For your tag issue, are you absolutely certain that you don't have any misspelled versions of those tags lying around anywhere? Perhaps cases where you didn't use exactly the same capitalization as the official versions?

One thing you could do to test for that is to remove the dynamic="yes" line. Then, users may only use the tags that are there - any other tags in that tag group will be errors.

The other thing to check - is the Profession tag group defined anywhere else? For example, is it an identity tag anywhere?
 
Okay, thanks! Makes sense.

On my other item, I have more information.

In my thing_profession.dat file, I have:

Code:
	<thing
	  id="prMind"
	  name="Mindwalker"
	  compset="Profession"
	  isunique="yes"
	  description="Default Mindwalker">
	  <tag group="Profession" tag="Mindwalker"/>
	  <bootstrap thing="abMACB"/>
	  <bootstrap thing="abMSit"/>
	  <bootstrap thing="abMMin"/>
	</thing>

And it is this that the it_tagpick is also grabbing because when I select the second listed Mindwalker, the id is "prMind". So I'm not sure why the tagpick grabbed these things? Do you know?

edit: Is it because I named the compset the same thing?

Thanks again!

edg
 
Last edited:
Look in the profession component - do you have this:

<identity group="Profession"/>

If so, delete the

<tag group="Profession"

lines from each profession thing, and delete the Profession group from tags.1st. You've set up an identity group, so Hero Lab will create a tag in that group automatically, each time you create a new profession thing. There's no need to also manually create those tags.
 
Okay, another question.

I created a user file and in it, I replaced a skill with a new version of it. If I have that source selected, it works great! I see the new version as I expect. However, if I deselect that source, the original doesn't appear as a choice. Neither does the replaced version, though, so at least that's not happening.

It's taking me off guard because I am expecting the main skill to show if that source isn't being used. Is that wrong? Or is what I'm expecting not how it works?

Thanks!

edg
 
Replacing a thing and adding a source to the replacement does not mean "While we have this source checked, it works this way, and it works the old way when the source isn't checked". It means "It now works this way, which includes only being available while this source is checked."
 
Last edited:
Pickreqs can't have OR - use an exprreq for that instead:

hero.childlives[XXXXX] + hero.childlives[YYYYY] <> 0

I actually never used pickreqs in Shadowrun, Cortex, or Call of Cthulhu. I always used exprreqs or prereqs, becuase I was always generating identity tags and testing for them. That way, you can have things that get disabled, and if they're disabled, you don't forward the "we're here" identity tag to the hero, and any exprreqs looking for that item fail. With a pickreq, you can only test for its presence. You can't test for its current status.

I think I'm finally understanding why you do this. Can you give me an example of how you use them?

Thanks!

edg
 
Each component that I will need to use in a prereq has an identity tag:

<identity group="Something"/>

And a script, usually at initialize/2000, or something similarly early, to tell the hero about that tag (but only if it hasn't been disabled):

doneif (activated = 0)
perform forward[Something.?]

Then, exprreqs can be written to look for those tags:

hero.tagis[Something.?] <> 0
 
Each component that I will need to use in a prereq has an identity tag:

<identity group="Something"/>

And a script, usually at initialize/2000, or something similarly early, to tell the hero about that tag (but only if it hasn't been disabled):

doneif (activated = 0)
perform forward[Something.?]

Then, exprreqs can be written to look for those tags:

hero.tagis[Something.?] <> 0

Worked beautifully! Thanks!

edg
 
Back
Top