• 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

Characteristic Allocate Method, and maybe some other questions

Hey there.

I am homebrewing a system which has players allocate set stats to their characteristics, like in CoC 7th edition Quick-Start. Is there a way I could put in some kind of drop down menu or drag and drop so this can be possible without players fiddling with increasing numbers and consulting a chart? And Is there a way I can get rid of CP and abilities in the skeleton files, as they are not needed for the system?
 
The short answer is yes, but are you using the editor for the Call of Cthulhu data files or are you using the Authoring Kit to build a new set of data files?

As for getting ride of CPs with the Authoring Kit, just remove references to the things based on the Resource compset in thing_miscellaneous.dat -- look through traits.str for the lines of code. You'll also want to update or delete the portals referencing them in form_static.dat.

I'm not sure how the CoC 7th edition quick-start is set up, so I can't really speak to that.
 
I am building a new system from scratch using the Authoring Kit, and was just using CoC 7th to provide an example of what I was aiming for.
 
Without really knowing exactly what you're doing, I hear you saying you're trying to do some sort of templates, so that you might have a Soldier Template that adds fixed numbers to attributes, and maybe some other abilities that are dependant on that template.

You could do this with the Authoring Kit with no problem in a couple different ways depending on your needs, but without more details, it's hard to know how to advise.

For example, if adding the template to the hero also adds various traits, you might bootstrap those dependant traits in a gizmo on the template. If the template just adds bonuses, you might not need the gizmo, and could get by with an eval script on the template thing.
 
What I meant was the system uses a set array for characteristics, as in you have a set of number to distribute along them; In the system I am making you have 2, 3, 4, 5, 6, & 7 and you are supposed to put one of each score alongside the characteristics, without class templates or any of the like.

Sorry if I am not making myself clear enough.
 
Have you taken a look at how Pathfinder handles attributes if the attribute selection method you choose is one of the arrays, like "Heroic NPC (15/14/13/12/10/8)"? Is that the sort of thing you want to use?
 
Last edited:
What I meant was the system uses a set array for characteristics, as in you have a set of number to distribute along them; In the system I am making you have 2, 3, 4, 5, 6, & 7 and you are supposed to put one of each score alongside the characteristics, without class templates or any of the like.

Sorry if I am not making myself clear enough.

No, no. You're clear, it's just that games can be very different, and in using the AK, the devil in in the details. There isn't a lot you can't do with the AK, so it helps to be very clear on what you need in order to find the right approach.

So, you have a tab with attributes, and beside each attribute is a chooser containing the number set. Preferably, when you choose a number from that set it is removed from the other choosers, right?
 
Have you taken a look at how Pathfinder handles attributes if the attribute selection method you choose is one of the arrays, like "Heroic NPC (15/14/13/12/10/8)"? Is that the sort of thing you want to use?

When Hero Lab gives you a list of scores and uses them as validation? Yeah, that.

No, no. You're clear, it's just that games can be very different, and in using the AK, the devil in in the details. There isn't a lot you can't do with the AK, so it helps to be very clear on what you need in order to find the right approach.

So, you have a tab with attributes, and beside each attribute is a chooser containing the number set. Preferably, when you choose a number from that set it is removed from the other choosers, right?

Yep. Considering what Mathias said though I may just make it part of validation.

Something else also came up. Whenever I try to force a value to be 1 or greater, I get an unspecified error parsing script message. I'm just adding an if statement;

Code:
<eval value="1" phase="Traits" priority="4000">
      <before name="Derived trtFinal"/>
      <after name="Calc trtFinal"/><![CDATA[
      field[trtBonus].value += #trait[attrDef] - 3
	  <after name="Derived trtFinal"/><![CDATA[
    if (field[trtFinal].value <= -1) then
      field[trtFinal].value = 0
      endif
      ]]></eval>

Yet if I remove the if statement it works, fine, even though the values drop below 0, which I do not want. What is causing this?
 
You've got two separate <![CDATA[ openers, but only one ]]> to close the CDATA. And only one CDATA is allowed per <eval>.
 
Makes sense, but when I remove the CDATA lines, the if statement is then ignored. I'm going off the Savage Worlds example cause it's the only thing documented in the wiki, so how does that make it work when the same lines of code cause an error on my end?
 
What page are you using as a model? Try:

Code:
<eval value="1" phase="Traits" priority="4000">
      <before name="Derived trtFinal"/>
      <after name="Calc trtFinal"/><![CDATA[
         field[trtBonus].value += #trait[attrDef] - 3
	 if (field[trtFinal].value <= -1) then
            field[trtFinal].value = 0
         endif
      ]]></eval>

The before and after elements indicate that the eval script should be timed between the Calc trtFinal script and the Derived trtFinal script. These elements shouldn't be enclosed in a CDATA, just your code.
 
FourCartridge, please show us the code you're written (the updated version, after you removed the extra <![CDATA[ ), so we can help you debug it.
 
Here you go.

Code:
<thing
    id="trDefense"
    name="Armor"
    compset="Trait"
    isunique="yes"
    description="Description goes here">
    <fieldval field="trtAbbrev" value="Def"/>
    <tag group="explicit" tag="3"/>
    <tag group="User" tag="Combat"/>
    <tag group="DashTacCon" tag="Combat"/>

    <eval value="1" phase="Traits" priority="4000">
      <before name="Derived trtFinal"/>
      <after name="Calc trtFinal"/><![CDATA[
         field[trtBonus].value += #trait[attrDef] - 3
	 if (field[trtFinal].value <= -1) then
            field[trtFinal].value = 0
         endif
      ]]></eval>
    </thing>
 
Look in traits.str, at the Derived component's script named "Derived trtFinal". That script comes after this one, right? So, think about how they'll interact. What will happen to the trtFinal you're setting in this script when "Derived trtFinal" runs?
 
Back
Top