• 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

Ignoring rank conditionally question

zarlor

Well-known member
No doubt I'm getting deep into the weeds here but I may as well see if anyone here might have some ideas on this one.

In 50 Fathoms a character is allowed at character creation time to ignore the "Seasoned" Rank requirement on any 1, and only 1, Edge. I've got it figured out how to check for character creation and how to set the Seasoned rank outside of the Minimum Rank drop-box (just set that to novice). What I can't figure out is the syntax for checking that only 1 of those ranks was picked.

Since I'm not using MinRank I can't refer to that tag (it's set to Novice for the rest of this to work) but I noticed in the tags.1st file that the Helper group is set to be "dynamic", which means I can create a tag under that group on the fly. So for my Seasoned edges I set a Tag with a Group of Helper, an ID of 1, and I set Name and Abberviation to Seasoned, so it looks just like the MinRank tag does (why not.)

So, my setup is that MinRank is set to Novice, and I have a new Helper.1 tag to denote Seasoned edges. Then in Pre-reqs I set a message of "Seasoned rank required.", which is the same message that MinRank would normally generate if the character is novice and I set the following:

Code:
~Checking for Rank Seasoned (or higher), this is how to do it outside 
~of the "Minimum Rank Required" drop-down box
validif (herofield[acRank].value > 0)

Now I also want to say that this is valid if we are at character creation. Normally I would just add to the above the following line if it's always valid during character creation:
Code:
validif (state.iscreate <> 0)

But, I want to check first to see if the character has already picked any other Edge where the Helper.1 tag is already set on it, so I think I need to encase my validif statement in a foreach loop something like this:
Code:
var scount as number
scount = 0
foreach pick in hero where "Helper.1"
   scount += 1
nexteach
if (state.iscreate = 0) then
   scount +=1
endif
validif (scount = 0)

So we create a variable called "scount" search through the hero for a Helper.1 tag and if we find any add 1 to scount. Then we check for the character creation state and if we are not in that state add 1. Finally we check the scount variable and if it's equal to 0 then everything here is valid, so we won't show the "Seasoned rank required." warning and it won't be greyed out.

Of course my only problem is it doesn't seem to work (and maybe I'm overcoding it anyway). Specifically it does work to show valid at character creation (and not afterwards) but it doesn't seem to be counting my Helper.1 tagged Edges. Anyone have any ideas on what else I could try or a better way to do this?

There is also one other "gotcha" with this method, in that everything is valid when you go to pick it at character creation, but as soon as you have picked it the Seasoned edge instantly become invalid where it shows up on the list. However if I remove the Helper.1 Tag entry I made then it stays valid (so apparently it was counting itself against itself once picked, so presumably just changing my validif scount=0 line to scount >=2 would fix that) but then goes invalid as soon as you switch to character Advance mode. There is a tag for Helper.IgnoreRank that is supposed to ignore the MinRank field and maybe that is what I would need to try and work with instead (although I can't get that to work either) so I'm not really sure how to handle this and it's driving me crazy!
 
Last edited:
I wish we could figure this out - It would be great for High Space to be able to Ignore the rank Requirement, because the rank requirement for weapons and gear is for being able to pick them - if you find or acquire it through game play it does not apply per say except through role-playing. On how you go able keeping it. I have been playing around with it with no luck today.
 
Yeah, I've been at it most of the day, seeing if things needed to be set in Eval Rules instead, just all kinds of stuff and I just cannot figure it out. I seem to just have no clue and no luck finding examples of exactly how something like the Helper.IgnoreRank tag is supposed to be used and work in the Editor at all. All the examples (and for other tags in the Helper group because I find NO examples of IgnoreRank being used AT ALL!) are all ones used for source code and I can't see how to really use them in scripts. The whole thing has been bugging me for days now, but I've been hitting this one hard, hard, hard today, trying to decipher the wiki as best as a could and I feel like I've made minor in-roads at best. I'm very frustrated with this right now.

Plus I can't help but think if we can get this figured out it will also tell us how to answer Erich's question on setting a Min/Max value on a derived Trait (something I could also use for the HoER and Noir files.) I think I'm going to have to give up for now, although I can't seem to get the problem out of my head. I'm pretty sure there is something pretty fundamental here that I'm just completely missing.
 
Well I hope we are not back to no one watching over this forum - it's been pretty quiet on the front with any answers or go bite yourself - herolab can not do that so get over it answers "LOL".
 
There is a bunch of stuff going on at Lone Wolf, it seems to me, with RealmWorks getting into the final stages, a Kickstarter to babysit for that, several data files to review (although the ones I have for review are actually a bit dependent on this exact bit), not to mention the updates recently done to Hero Lab itself, the Savage Worlds and Companions data files and our main brain-trust in this forum is also the guy maintaining several data files that I believe he's working on now as well. So I get it, but I still can't help getting a bit frustrated hoping we could get a little more active participation here with a little more detail on how to do some of this stuff. I think I heard a rumor that CapeCrusader may get a little time this weekend for us, though. I'm keeping my fingers crossed because I've spent even more time on this today with still no luck (even trying to use the "Born A Hero" setting modifier as basis but I couldn't quite figure out how to make that work with this stuff, either.) Rough stuff and my brain is pretty well fried at the moment.
 
I hear you - but one thing came out of me working on trying to get this to work was that I found a way to get cyberware to work in my NightFall game and I have it tracking the balance loss which is my derived trait for cyberware and I'm setting up a way to count the amount of different cyberware that can be picked for say eyes and such and will throw an error if you pick to many and used your prereq eval script to limit how low you go before becoming "Cyber-Psychosis"
 
The Heroism setting in Configure Hero lets you ignore all rank requirements during character creation. One way to handle the ignore Seasoned is tell your players to only get Novice or Seasoned edges at character creation. :) It is a lot easier for something that only happens during character creation :D I am tired right now so I can't think hard enough at the moment, but maybe if you can figure out where the Herosim setting is, you can see what it does.
 
I've tried working with that setting (Born A Hero, actually, which does the same thing but that's what it's called for SWD). You can see what they did in source to implement Heroism and Epic Heroism on the wiki but it's just not clear how to do that in the Editor. Where is it more appropriate to use @valid over validif, for example? It gave me some clues on how to build out some of the code above, though, but not enough to get me all the way to where I need to be. :(

As for saying "screw it" and letting the players and GM deal with, I often do that for some minor things or the kind of thing I'm pretty sure can't be coded for, but I do not consider character creation to be minor. It's the first thing you do with a character and it's one of the things you will often spend the most time doing when it comes to defining and building a character and what Hero Lab is really all about. I'd like that first impression, at least for someone using one of my data files, to be one that includes taking care of one of the major setting variations for either 50 Fathoms or Pirates of the Spanish Main (PotSM allows any non-Legendary Edge to be taken at Creation but then adds in a a bunch of edges that also allow for taking certain Edges at a Rank lower than normally required as well.)

So for me this is something I would prefer not to turn around and say "Hero Lab doesn't do that, you just have to manually check that it's right". I think Hero Lab CAN do something like that, I just have to figure out how to make it do it.

Now admittedly I could release the files with them not checking for those things and add that functionality later, and that may be what I end up doing, but I really want to see if we can figure this out first, if we can.
 
I have to admit that I prefer to let the program do everything it can. I can be kind of "anal" that way, I like it to check for errors so I don't have to. I tend to be a perfectionist in that regard.

While I did suggest letting it slide, the anal part of me was actually yelling at myself for saying it. It can work if it is not that important, like a one-shot game, but you are quite right about that it needs to work, if possible, for a data file.
 
I'll be honest, my first inclination, indeed the the Pirates file file I submitted for review for approval to release, didn't handle that. But the review feedback I got included my discussing that part and I got some hints back that it was possible to do that in Hero Lab with some general hints on how it might be done, which eventually let me to the code above. And now that I've gotten that far I'm just stupidly obsessed with seeing it through! ;)
 
Definitely take a look at the thread entitled "Character Creation Tag", since you'll find the missing pieces you need there.
 
Back
Top