Okay, I think I know how to do each half of this; I just don't know how to combine them within one trait.
The second half of the 4e Scholar Theme gives you some benefits relating to skills and languages.
In the first case, it gives you one of the same three languages it gave during the first piece of this I was asking before, unless you have them all, then it just gives you a language of your choice.
In the second bit, it gives you training in one of about five skills, or if you have them all, gives you a bonus with one of them.
So I need to do the following:
1. Check to see if the three languages are present.
2. If not, offer one of the ones not already present up (incidentally, the solution to my prior problem doesn't entirely address this; it offers all three up anyway and I just lazily assumed you would pick one that you didn't already have. If I can work out how to handle this step I'll go back and do that there, too).
3. If they are, offer up all the other languages as an option.
About the only part of this I know how to do is step one; both of the other two seem to require the program putting together an ad-hoc pulldown menu, and even if I could construct the proper if-then construction needed to select between them (maybe yes, maybe no) I have no idea how to tell the program, in essence "Construct a pull down option for all of these objects that have not been located doing a search for live things."
In the second half I have a somewhat similar issue, as it looks like this.
1. Search for these five skills.
2. If not all of them are live, present a pulldown option to take one of the remaining ones.
3. If all are live, present a pulldown for all five that will allow you to gain a bonus on that one.
Again, I know how to do step one as a eval script. But I don't know how to do step two, and I'm not sure how to set up step three either (or rather the ways I know how to do it--setting up each option as a special "thing" that is bootstrapped from a pull down that then bootstraps a skill and vanishes is really, really baroque and clumsy) and in any case I don't know how to set up an eval script that would decide between doing the necessary pulldown to do it, or whatever would be required to do step two (and I suspect if I know how to do step two it'd provide me a more compact and less clumsy way to do step three anyway).
So basically it looks to me like I have two or three basic questions here (some of which I could possibly figure out if I can find a similar case in the already extent data--and there's a lot of it--but unlike my work with Savage Worlds I don't know D&D4 very well, so I don't even know where to look for a possible example). I'll continue to try and figure them out elsewhere, but if anyone would care to enlighten me on them, they'd be very helpful:
1. This one's so basic its dumb, but I've mostly gotten by in the past by just chunking together extent pieces of code that did this in my SW work, so I never really internalized it: How in HL's eval scripts do you actually construct a proper if-then? My knowledge of such things is incredibly outdated so what may be obvious to people knowing more modern programming languages (even a little) isn't so obvious to me.
2. How do you tell HL to do a selector directly as an element of an eval script?
3. How do you tell the above to use an arbitrary set of "things" you've determined to fill your criteria, which the script will have to determine for you?
Alternatively, if someone can see a different way to do that using some of the main functionality typical of the Selection or Menu elements present in most of the game systems while still allowing the search for the extent live "things", that's fine too.
Any help with this admittedly kind of complicated and sticky thing (from where I sit) would be appreciated.
The second half of the 4e Scholar Theme gives you some benefits relating to skills and languages.
In the first case, it gives you one of the same three languages it gave during the first piece of this I was asking before, unless you have them all, then it just gives you a language of your choice.
In the second bit, it gives you training in one of about five skills, or if you have them all, gives you a bonus with one of them.
So I need to do the following:
1. Check to see if the three languages are present.
2. If not, offer one of the ones not already present up (incidentally, the solution to my prior problem doesn't entirely address this; it offers all three up anyway and I just lazily assumed you would pick one that you didn't already have. If I can work out how to handle this step I'll go back and do that there, too).
3. If they are, offer up all the other languages as an option.
About the only part of this I know how to do is step one; both of the other two seem to require the program putting together an ad-hoc pulldown menu, and even if I could construct the proper if-then construction needed to select between them (maybe yes, maybe no) I have no idea how to tell the program, in essence "Construct a pull down option for all of these objects that have not been located doing a search for live things."
In the second half I have a somewhat similar issue, as it looks like this.
1. Search for these five skills.
2. If not all of them are live, present a pulldown option to take one of the remaining ones.
3. If all are live, present a pulldown for all five that will allow you to gain a bonus on that one.
Again, I know how to do step one as a eval script. But I don't know how to do step two, and I'm not sure how to set up step three either (or rather the ways I know how to do it--setting up each option as a special "thing" that is bootstrapped from a pull down that then bootstraps a skill and vanishes is really, really baroque and clumsy) and in any case I don't know how to set up an eval script that would decide between doing the necessary pulldown to do it, or whatever would be required to do step two (and I suspect if I know how to do step two it'd provide me a more compact and less clumsy way to do step three anyway).
So basically it looks to me like I have two or three basic questions here (some of which I could possibly figure out if I can find a similar case in the already extent data--and there's a lot of it--but unlike my work with Savage Worlds I don't know D&D4 very well, so I don't even know where to look for a possible example). I'll continue to try and figure them out elsewhere, but if anyone would care to enlighten me on them, they'd be very helpful:
1. This one's so basic its dumb, but I've mostly gotten by in the past by just chunking together extent pieces of code that did this in my SW work, so I never really internalized it: How in HL's eval scripts do you actually construct a proper if-then? My knowledge of such things is incredibly outdated so what may be obvious to people knowing more modern programming languages (even a little) isn't so obvious to me.
2. How do you tell HL to do a selector directly as an element of an eval script?
3. How do you tell the above to use an arbitrary set of "things" you've determined to fill your criteria, which the script will have to determine for you?
Alternatively, if someone can see a different way to do that using some of the main functionality typical of the Selection or Menu elements present in most of the game systems while still allowing the search for the extent live "things", that's fine too.
Any help with this admittedly kind of complicated and sticky thing (from where I sit) would be appreciated.