• 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

Achtung! Cthulhu datafile

One of the experiments that I've been playing with is breaking the data file down into lots of mini files and combining them to test. This gives me the chance to build different data files in the future that are targeted at one or two books, rather than everything. It also makes it easier to find the bits I need when errata are released. So far it seems to be working. Recombining them is a simple .bat file in windows, or an Automator process on a Mac.

To avoid losing everything in the future, all of the general character creation bits are being backed up on GitHub: https://github.com/endtransmission/herolab/tree/master/AC HL Data files

I'm leaving out a lot of the spells and equipment for now to make sure the core elements are working. Thanks to the split files, it's really easy to add these into the correct places later.
 
Last edited:
Oh actually, something I've been trying to work out, and obviously missed somewhere, is precluding various skills when you select something else.

For an example, I have a set of National Identities that starting characters can use:

<thing id="edgACNIGB" name="National Identity - British" description="The British stiff upper lip makes them incredibly resilient under even the most dreadful circumstances. Tommys add +2 to Spirit rolls made to resist Fear, Intimidation, or arcane powers. It does not add to Spirit rolls made to recover from being Shaken." compset="Edge" uniqueness="useronce">
<fieldval field="shortname" value="National Identity - British"/>
<usesource source="sepActCth"/>
<tag group="EdgeType" tag="Background"/>
<tag group="MinRank" tag="0" name="Novice" abbrev="Novice"/>
<tag group="User" tag="NeedWild"/>
<eval phase="PreTraits" priority="5000">
<![CDATA[perform #resspent[resEdge,-,1,"National Identity"]]]>
</eval>
</thing>

While it doesn't explicitly say in the book that people should only have one national identity or career path, I'd like to try precluding all the other careers/identities when they select one. The main problem is I don't know what future national identities or careers will be released in the future, so I don't want to have to explicitly state each and every Thing in every other Thing :/
 
You can make that edge cost 0 by merely placing a 0 in the cost field of the edge, no need to have the eval script modify it.

I would recommend either using a group or a faction, which has a drop-down menu kind of like a race.

As per the core data, Faction is usually used for different deities, but you can use it if you want.
 
Oh, I'd not thought of using Race for national identity... how dim am I?!

And thanks for the Edge cost field, I'd missed that one

Thanks for those!
 
A quick restructure of the dataset to use Race, Faction (Organisation) and Group (Career) seems to be working better than all those not-really-an-Edge Edges. Now to try and limit the careers to certain organisations
 
Glad that it worked. You can either give each one the free edge for Humans, or just add it through the setting or even a mechanic that looks for the setting.

Limiting is easy with the pickreqs.

You can make the edges worth anything you want. 0.5 is an edge that costs 1 reward point at character creation or a half an advance. It is a good way to handle things like Specializations for skills. Though, in my opinion, Specialization is a misnomer as Proficiency would be better.
 
Endtransmission: Using a Group/Faction is exactly what I did for National Identity in the Weird War II data file. Good to see that method works for you in this case as well.

Dartnet: I've not been involved in the SFC or SPC2 stuff at all (other than making that unofficial SPC2 data file that my group was using for our SPC2 game in the interim). It sounded like some folks were in a beta test for it, but I wasn't one of them... although it's entirely possible that if someone was in on the beta that they might have had an NDA for it so we may never know anything from someone who as in beta anyway. In any case other than what CC has posted here about the files being in for testing and evaluation or whatever it was, I have no clue what the status is there. I'm HOPING for some really cool new things in SFC so maybe the wait will be worth it.
 
Tonight feels like a good step forward. Turns out I'd missed a page of edges; these are now all in and working nicely. Careers are all entered, I just need to bootstrap any equipment to them when I get around to retyping all of that back into the files... and I closed off a load of outstanding issues I'd noted in testing :)

One edge has an interesting limitation on it. The person must have at least 4 points spent in any Smarts skills, at least two of which must be in a single Knowledge skill.

I was trying to deconstruct the query to check if someone has a certain Knowledge skill above a certain level and got down to this to check if we have more than 2 points in one knowledge skill:

<prereq message="At least 2 points of Knowledge are required, plus another 2 in any Smart skill">
<validate>
<![CDATA[foreach pick in hero where "thingid.skKnow"
if (eachpick.field[trtFinal].value >= 4) then
@valid=1
endif
nexteach]]>
</validate>
</prereq>

I'm just not sure now to now extend this to check if there are at least two more points in *any* Skill in the Smart category. I couldn't spot any examples in the data files I have, but I'm probably missing something really obvious.
 
Yes, you are on the right track. Put the something like above for the knowledge skill, using var total as number at the start. The smarts part and end are like this:
Code:
var total as number
var knowcount as number
var smartcount as number
total = 0
knowcount = 0
smartcount = 0

~ Check for Knowledge skills
~put code here, its total goes will add to knowcount

if (knowcount >= 2) then
   total += 1
endif

~ Check for Smarts skills
foreach pick in hero from Skill where "Attribute.attrSma"
  smartcount += 1
nexteach

if(smartcount >= 2) then
   total += 1
endif

~if we have at least two, we're valid
        validif (total >= 2)
        if (@ispick <> 0) then
             altpick.linkvalid = 0
          endif
 
Tonight feels like a good step forward. Turns out I'd missed a page of edges; these are now all in and working nicely. Careers are all entered, I just need to bootstrap any equipment to them when I get around to retyping all of that back into the files...

I wouldn't do that, I've been bit by it before. Bootstrapped equipment isn't like regularly purchased items, so the character won't be able to sell it or drop it or anything as long as they have the thing that bootstrapped it. Although if they changed "careers" (or whatever boostrapped the gear) they'd also lose or otherwise change all that gear. I don't remember if I found a way to add gear in some way other than using the bootstrap mechanic, though, but I don't think I did. I definitely can't think of a way off the top of my head to just add gear like that.
 
Hmmm. A couple of the Edges in Broken Earth do that (as they give a weapon free as part of the edge). I'll have to look into that further.

Edit: You're right that there seems no way to delete it, but it seems to be accepting "dropped to ground".
 
Last edited:
I guess you could make a duplicate of the equipment that was no cost and only selectable if you had that Edge or whatever, but there's probably no point since you can select equipment at no cost anyway.
 
I would just note it, although if it's a special weapon (as in it would be affected with some bonuses or something, like trademark weapon does) then you may want to look at how Trademark Weapon handles that. Other than that I usually just add a "NOTE:" to the end of the Edge description with text saying the player will need to manually add whatever it is at no cost.
 
Adding it to a note is certainly a hell of a lot easier than creating random bits of equipment and gear that have no real benefit to the game. Some of the careers do things like grant you a pair of flying goggles. Woo, how exciting :/

You've just saved me an awful lot of time and effort tonight!
 
Thanks for the Smarts check code SeeleyOne, that worked brilliantly. I ended up with one minor change as it turns out I needed to see how many points had been spent on Smart skills in total, rather than how many Smarts skills had been taken. So the Smarts check changed to

Code:
foreach pick in hero from Skill where "Attribute.attrSma"
	smacount += (eachpick.field[trtFinal].value)
nexteach
~ 5 is the minimum smacount possible when spending 4 points, granting knowledge 1d10. 
~ Any other combination would give a higher total
if (smacount >= 5) then
	total += 1
endif
 
Back
Top