• 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

Edge that grants two skills from a longer list?

senjak

Well-known member
I'm working on implementing house rules. (Savage Battlestar Galactica if anyone is interested, player's writeup is about 25 pages so far)

I'm racking my brain for an example Edge that grants a choice of skills from a limited list. Ideally two skills from a list of about 10.

Can anyone point me to a existing Edge that does something like that, point me to an existing example or send me one of their examples on how to do that sort of coding please?

Thanks!

Senjak
 
The closest that I can think of is the Scholar edge. Where it looks for only Knowledge skills will have to be modified.

I would like to see your BSG writeup when you are done. I am finally watching the series. I watched the first season when it was on TV, but I had not gotten around to watching the rest (life got in the way and I forgot about it). I just got the complete series.
 
Usually the lists are used for doing things like selecting something to modify. So an example from the Common Code thread (stickied near the top of this form) is:

To create a drop-down "pick list", let's say to apply a +1 roll bonus to one of three skills (the Scholar Edge is another example worth looking at):

Menu #1 Source: All Picks on Hero (this will make sure you don't get an error for trying to modify a skill that doesn't exist on the character)
Menu #1 Tag Expression: thingid.skBoating | thingid.skDriving | thingid.skPiloting
Eval Scripts: Pre-Traits/5000 - Before: Calc trtFinal

Code:
Code:
~apply the +1 modifier to selected skill
if (field[usrChosen1].ischosen <> 0) then
   perform field[usrChosen1].chosen.field[trtRoll].modify[+,1,"Ordo Novus Templum"]
endif

There are more than a few examples of that kind of thing in several of the data files out there. However that's basically selecting one thing to do something with, not 2 or more. Trying to think of some way to do that right now is making my brain hurt. :/
 
I'll start with that.

I'm slowly making my way through the examples and implementing stuff.

Thanks again for the assistance.

Senjak
 
getting there....

I tend to break down everything to very small parts, that way the victories can be felt as code starts to work.

My goal is that I can pick two skills from a list and then if the skill doesn't exist, it is set to D4, otherwise it is raised by one. Oh, and the house rules limits skills to D6, unless it is one that was picked here, in which case it can go up to D8.

I've got the picking of skills done on the Edge page:

Menu #1 Source: All Things
Menu #1 Tag Expression: thingid.skFighting | thingid.skGambling | thingid.skInvest | thingid.skKnow

(Shortened for readability.)

That gives me two drop down menus with the set of skills.

Thanks again for the assistance. I'm sure that I'll have more questions later!

Senjak
 
Remember that you can't create something with a script that has to run its own scripts. So, you can't use drop-down menus to add skills that don't exist, because those skills have their own scripts to run.
 
It seems to me to be a really, really complicated way of setting things up, too, which, IMHO, kind of detracts from the whole Fast, Fun, Furious nature of using the Savage Worlds rules.

Even so I think I have some examples of either bumping a skill or adding it if it doesn't exist in the Code Examples thread. The other possibility might be to think of it in other terms. So rather than selecting from a list can you prevent a selection if this Edge doesn't exist or something? Or you could presumably make multiple versions of the edge depending on which two edges you would be picking with it. Not necessarily pretty as it quickly crowds the Edges list but it might be the only other way to really go.
 
It seems to me to be a really, really complicated way of setting things up, too, which, IMHO, kind of detracts from the whole Fast, Fun, Furious nature of using the Savage Worlds rules.

Even so I think I have some examples of either bumping a skill or adding it if it doesn't exist in the Code Examples thread. The other possibility might be to think of it in other terms. So rather than selecting from a list can you prevent a selection if this Edge doesn't exist or something? Or you could presumably make multiple versions of the edge depending on which two edges you would be picking with it. Not necessarily pretty as it quickly crowds the Edges list but it might be the only other way to really go.
This is a method that I have used.

And for a semi-related note, I have made it so that Edges that get improved do not print out the original entry on the character sheet. For example if a character is Very Attractive it will not also have Attractive shown in the list of Edges. This helps to remove some of the clutter.
 
I meant clutter on the selection list, but I actually like having the originals on the sheet. Then again I use sheets (when I use them at all, since I tend to play with HL on my laptop at the table) with the full descriptions printed and sometimes the first Edge has needed information that the Improved version only adds something to. Most of my players are pretty bad about remembering their abilities... then again we have 4 different games going (only 2 use Savage Worlds rules) so any one character only gets played ever other week so it's a bit easy to forget the specifics with that much jumping around.
 
That is one thing that I really like about the Pathfinder options. You can print out the descriptions as well. If Savage Worlds were to do that, I would append the Improved versions to show what is missing.
 
I must read through your code examples again Zarlor. I've got the selection working just fine, now I need to either bump it up by one if it exists, or add the skill to the character if it doesn't.
 
But as Mathias said you won't be able to essentially call a script from a menu selection like that so I'm not sure you can both have a menu selection and add a skill like that. Certainly worth a try, of course, but you may be out of luck trying to do it that way.
 
I just realized I didn't actually work out an "add a skill or increase it if it exists" code (see http://forums.wolflair.com/showthread.php?t=42993 for the last time I considered it.) Once again it was just creating multiple versions to handle the various use cases.

Although I would still say that this whole thing sounds a bit over-complicated. If this is a rules set you have some input on I would seriously reconsider bringing up with the creators why that requirement was needed in the rules you wanted to use to begin with. Is it really necessary to add that extra layer or could what is trying to be achieved be accomplished in a more standardized SWD/FFF method?
 
Last edited:
I find it really funny how often I run into weird edge cases in just about everything I do.

It is funny to me simply because both my dad and my sister are researchers in physics, and they spend all their time searching for interesting edge cases in low temperature solid state physics.

Thanks for the pointer to the earlier thread.
 
Could you share the code to set a skill to d4 if it doesn't exist? I think that I can just skip increment the skill and get the intended effect.

Thanks,

Senjak
 
There is no code to directly do that, you have to Bootstrap what you want, although you can find the code in the Common Code thread for refunding the cost of something you want to Bootstrap for "free" that way. That goes back to the various threads we have here about doing what we were calling a Conditional Bootstrap (which Mathias showed us means something a little different to them), but in essence the problem there is the real way to have something added based on some condition in code is to just bootstrap it to begin with but then use code to hide that thing until the appropriate condition is met. So it's a lot harder to do, essentially, and not always appropriate to do it.
 
Back
Top