• 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

Complicated racial ability

Paragon

Well-known member
Okay, just because I thought the early part of this would be easy, Broken Earth has decided to show me I'm over-optimistic.

The Simians in the Broken Earth setting have a racial trait/handicap called Less Educated. Less Educated does three things, and I only have any idea how to do one of the three.

1. They get the Illiterate Hindrance. I suspect by parallelism I can use the code to give someone an Edge from the code thread and rework it into giving them the Hindrance.

2. It prevents them from buying certain skills.

3. However, it can be bought off either with two character creation points (I'm assuming they mean the kind you get from Hindrances and the like) or an Advance.

Any idea how to go about this? I've got the feeling that latter part in particular is not going to be easy to implement.
 
1. Bootstrap the actual Hindrance. There's no background code for that one.

2. Preventing Skills could get interesting. Which Skills?

3. Bought off with Character Creation points? Which ones? They are all specific.
 
I don't have Broken Earth, but at a guess maybe they mean what Hero Labs normally refers to as Rewards? Like when you take a Hindrance?
 
1. Bootstrap the actual Hindrance. There's no background code for that one.

That's what I figured.

2. Preventing Skills could get interesting. Which Skills?

Driving, Lockpicking, Knowledge (Computers, Electronics, Science, and the like), Piloting, and Repair. I'm guessing the Knowledge is just going to have to be done manually, since they can take other Knowledges.

3. Bought off with Character Creation points? Which ones? They are all specific.

The phrasing is "Simians, can buy this off with two character creation points, or as an Advance." I'm guessing they're talking about Rewards, but that's just a guess.
 
It occurs to me a way to do part of this; I could replace the mentioned skills (other than the Knowledges, which I'm guessing will just have to be a case that people remember they can't do those kind) with copies, with an eval script which will make them unavailable if the racial ability is present, then Preclude the old ones. Kind of a pain in the butt to do, but I'd think it should work.

Still don't have any idea how to do the buy-off, though; maybe if I treat it as a Major hindrance? Do advances care whether something was a major or minor Hindrance when you buy them off?
 
As for preventing skills -- as in that character can never get it -- is easy to do if you make it a setting tag. It is kind of annoying because if that hindrance is taken because you will have to manually click on a "Setting" in the Hero Creation menu. Actually, the best way to do that is to have the hindrance also require that setting. If the setting is on, you have that hindrance bootstrapped. You can make it manually give the Rewards points as a bootstrapped hindrance will not grant those normally (that is done in the eval script of the setting), and then preclude those skills using the Setting as the id.

Buy-offs are normally only possible for Minor, and an advance can take it off. If it is a 2-cost hindrance (a Major) it would require two advances.
 
I'm not quite sure I understood what you meant with the first part of this, SeelyOne. If I set the racial trait to evoke the Hindrance, that won't work? This is all going to be part of a source after all.

The problem I see is that this is treated like a minor Hindrance if you buy it off in play (i.e. it only takes one advance to get rid of it) but a Major when bought off at character creation (i.e. its treated as though it cost two Reward points).
 
Making the copies is likely the best way on this one.

As far as the buy-off, you could use a tag and an Edge. Assign the tag to the hero with the Race. Put a containerreq on the Skill copies that checks to see if the character does not have the tag. Then create an Edge that buys this off and removes the tag from the hero. An Edge costs 2 Reward points, so that should work.
 
The easiest way to make it prevent skills is to have a setting of its own in the "Configure Hero" menu.

Make a setting, call it whatever the Hindrance is called.
Then have that setting be part of the Hindrance. In the hindrance it will have a tag of that setting (the one that shows up in the Hero menu). All of the skills will also have this tag. (By tag I mean "Source").

Instead of Bootstrapping it like I suggested (which would make it so you can't buy it off), you can have the Hindrance require the Setting in the hero tab,
 
I just realized I can do the latter part simply by building it into the Edge I do as a buy off (or, if I'm lazy, just note that the Illiterate Hindrance is in effect until the specialty Edge is taken). However, my coding limits are showing so I thought I'd just ask rather than fumbling around for a week and maybe figuring it out:

If I do the trick of having the Edge remove the Tag the skills search for (by the by, why is a Containerreq used for that rather than a Pickreq?), how does one do that? Its not self-evident, though I'm guessing some kind of expression (I didn't see an example in the code thread). If I go to the trouble of having the racial trait bootstrap in Illiterate, is there a way for an expression to remove that?
 
I don't have any good examples of tag use in the code thread mostly because I'm not all that comfortable with it myself. I'm just not exactly sure how to use them, let alone really show their use in the code thread. However, on the part where you have something, like a Hindrance, that bootstraps something else, like another Hindrance, then removing the first Hindrance will necessarily remove the second, so I think that should work for what you want.
 
It sounded like what Caped Crusader was suggesting an Edge to "remove" the tag, and effectively counteract what the racial trait applied. I gather you don't know how code something to delete a tag? I may have to do more research, then.
 
Hmmm. Doing some searching, I found a thread Mathias did in the Pathfinder forum talking about container usage where he says this:

"Instructions you can give:

assign[Group Id.Tag Id]
Add 1 copy of the listed tag here.
delete[Group Id.Tag Id]
Delete ALL copies of the listed tag here.
tagreplace[Group Id.Tag Id,Group Id.Tag Id]
Delete all copies of the first of those listed tags, then assign 1 copy of the second of those listed tags (this is a shortcut for delete[], then assign[])."

Perhaps that's the key to what I should be doing here.
 
Hmmm. Doing some searching, I found a thread Mathias did in the Pathfinder forum talking about container usage where he says this:

"Instructions you can give:

assign[Group Id.Tag Id]
Add 1 copy of the listed tag here.
delete[Group Id.Tag Id]
Delete ALL copies of the listed tag here.
tagreplace[Group Id.Tag Id,Group Id.Tag Id]
Delete all copies of the first of those listed tags, then assign 1 copy of the second of those listed tags (this is a shortcut for delete[], then assign[])."

Perhaps that's the key to what I should be doing here.

Yeah, that's the gist of what I understand it to be from our previous discussion on this forum where we were thinking it would be nice to be able to do a bootstrap of something in code, but you can't do that, instead you have to already have that thing boostrapped and then use tags to prevent the bootstrap from happening, that way if you remove the tag the bootstrap can appear... something like that, anyway. I have a hard time getting tags to assign sometimes, though. It's just not the area of coding in Hero Lab that I have much comfort with, is all, so I don't tend to be a lot of help on that front I'm sorry to say.
 
Here's some code examples:

To add or delete a tag to the current item:
Code:
perform assign[Equipped.Equipped]
perform delete[Equipped.Equipped]

To add a tag to the hero level:
Code:
perform hero.assign[Hero.ShowLang]

To add a tag through a focus:
Code:
perform hero.child[wpUnarmed].setfocus
perform focus.assign[WeaponDie.3]

To add a tag to a container object:
Code:
perform container.parent.assign[WeaponMod.Power]

Tags are very cool. A lot of what happens in the background uses tags. If you have the Develop menu available, check the Floating Info Windows. IT can show you the various tags on everything from the hero down to each individual item on the hero.
 
Back
Top