Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Savage Worlds
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old July 7th, 2015, 10:15 PM
A couple of conversations yesterday sparked a question for those of you with much more experience than me. Is there any way to specify that a .user file (or part thereof) shouldn't be loaded if another .user file or data set isn't available?

It feels like this is something the .1st file should be good for as it is setting up the new sources. Using the equivalent of a pickreq or exprreq that looks for another setting would be useful.

Two examples:

1) Excluding an entire .user file if one of the Horror/Supers/Fantasy add-on is missing (or other .user files come to think of it)

2) Excluding parts of a .user file if another setting is missing. e.g. I will need to create crossovers within the A!C setting to things like Godlike and Interface Zero. If someone doesn't have that setting loaded, it would be useful to ignore anything that has that prerequisite rather than my user file erroring

I'm not sure if this is something I've missed, or something that should be a new request?

Working on: Official Achtung! Cthulhu datafiles
Endtransmission is offline   #1 Reply With Quote
AndrewD2
Senior Member
 
Join Date: Mar 2007
Location: Muskegon, MI
Posts: 2,975

Old July 7th, 2015, 10:25 PM
Nope. It's something that's been requested but is not something the program is currently capable of.
AndrewD2 is offline   #2 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old July 7th, 2015, 10:52 PM
Damn, that's a shame. At least I have a few source books to work through before I have to worry about how to handle that challenge then. Thanks!

Working on: Official Achtung! Cthulhu datafiles
Endtransmission is offline   #3 Reply With Quote
SeeleyOne
Senior Member
 
Join Date: Nov 2009
Posts: 891

Old July 8th, 2015, 10:26 AM
I have not figured out a way to make it look for tags that do not exist. If you could, an easy way would be to have it increment a value if it finds a match as it sorts through the different tags. I could not figure out what the group of source tags is called. The only reference to the group that I was able to find is "Source Volumes", but I do not know how to reference that as the script would not recognize "Source", "Sources", "Volume", or "Volumes". So if there is a way to iterate through the sources that woudl be what we need.

But that does not mean that you are totally out of options. You can change how a mechanic works based on if a source that is in the folder is checked or not.

The easiest scenario is if you want to change how a mechanic works in a game. For example, I like to use the Evasion skill to create a Parry value. But the other GM's in my group do not always want that rule. But we don't want to have to add or remove user files from the folder because that is tedious and can be annoying.

So, what I did was I made a replacement of the Parry derived trait. Then in the first eval script for the new Parry I put this:
Code:
~ Base Parry on either Evasion or Fighting
if (hero.tagis[source.EvaFight] = 1) then
   ~This will base Parry on Evasion.
   if (hero.childexists[skEvasion] <> 0) then
      if (#traitfound[skEvasion] >= 2) then
        var bonus as number
        bonus = #trait[skEvasion]
        if (bonus >= 6) then
          bonus = 6 + round(hero.child[skEvasion].field[trtRoll].value / 2,0,-1)
          endif
        perform field[trtBonus].modify[+,bonus,"Half Evasion"]
        endif
   endif
else
   ~ This will base Parry on Fighting.
   if (hero.childexists[skFighting] <> 0) then
        var bonus as number
        bonus = #trait[skFighting]
        if (bonus >= 6) then
          bonus = 6 + round(hero.child[skFighting].field[trtRoll].value / 2,0,-1)
        endif
     perform field[trtBonus].modify[+,bonus,"Half Fighting"]
   endif
endif
Again, the above requires that both sources actually exist somewhere in the savage folder.

For a user file that you want to work if a certain thing is present (like if you have the Horror Companion), am not entirely sure. I mean, I think that the data is there whether or not you paid for the data. I do not know as I own all of them. But assuming that it IS there, you can use modified things like above. If it is using insanity, then have it just use the Horror as its source.

It seems to me that containerreq, where you can require multiple sources, does not work for derived traits. They work only during character creation for Skills and Edges (but they hide things during Adcancement regardless of if you have the sources or not).

Another idea might be to have the main data file, then a second one to add to your folder if you have other sources that it requires. So the Achtung Cthulu user, then the ACHorror user. You could also make them two totally functional, mutually exclusive versions -- this is easier for some situations.

Evil wins because good rolls poorly .... or the players are not paying enough attention to the game.
SeeleyOne is offline   #4 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old July 8th, 2015, 10:42 AM
Oh this is going to be fun :/

I suspect that I will end up with the main data file and separate ones for each of the crossover books. Thanks!

Working on: Official Achtung! Cthulhu datafiles
Endtransmission is offline   #5 Reply With Quote
Paragon
Senior Member
 
Join Date: Feb 2010
Posts: 874

Old July 8th, 2015, 12:44 PM
Yeah. I appreciate the hell out of the help SeelyOne has given me on various problems, but occasionally the response to "Is there any way to do X" is "Here's this giant block of script that will do what you want, oh, maybe with this other giant block of script if you need to do this other thing too." Its a credit to him that this stuff seems to come naturally to him, but occasionally the rest of us look at it and quietly and slowly back out of the room...
Paragon is offline   #6 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old July 8th, 2015, 01:01 PM
No, it's not that. The code I can work through, it was the thought of trying to do this for every item in the three crossover books... and then working out which ones work in which combination and under what circumstances that started to give me a headache

It is just simpler to have separate, additional, files for each of these crossovers and leave it up to the user to decide when to use them. It just means that those source books will, most likely, not be able to be distributed through the LW mechanism.

Having said that, that is fine with me as the crossover books can be left for last as two of them havn't even been released in beta yet! Gives me time to finish off the other source books first and think things over carefully.

Working on: Official Achtung! Cthulhu datafiles
Endtransmission is offline   #7 Reply With Quote
Paragon
Senior Member
 
Join Date: Feb 2010
Posts: 874

Old July 8th, 2015, 01:36 PM
Quote:
Originally Posted by Endtransmission View Post
No, it's not that. The code I can work through, it was the thought of trying to do this for every item in the three crossover books... and then working out which ones work in which combination and under what circumstances that started to give me a headache
That's the gig though; if it was just a cut-and-paste specific code thing, no one would be bothered. But often you have to figure out which part needs to work with which part and do a lot of adjustment and often it either means some brute force approach is better or what's being done just isn't worth it.
Paragon is offline   #8 Reply With Quote
SeeleyOne
Senior Member
 
Join Date: Nov 2009
Posts: 891

Old July 8th, 2015, 02:14 PM
When I offer help and give multiple options I am doing just that, giving multiple options. Some are better than others for different reasons. And even if they might not be the best solution for one situation, someone might later come along and they will be the best solution for another.

Evil wins because good rolls poorly .... or the players are not paying enough attention to the game.
SeeleyOne is offline   #9 Reply With Quote
Paragon
Senior Member
 
Join Date: Feb 2010
Posts: 874

Old July 8th, 2015, 04:41 PM
Like I said, SO, you've been an enormous help. It was more a comment about how good you are at this that you often find away around the program limitations--but kind of illustrate those limitations in some of the backflips you've had to do to do it.
Paragon is offline   #10 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 12:02 PM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.