• 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

Alternate pre-requisite Edges

Paragon

Well-known member
Okay, first some context:

I'm preparing to run a game based on the current XCOM with SW. I plan to set up the "classes" as essentially Edge chains. I can set up the edges themselves easily enough I think (though if there's a way to do the "you get extra Toughness out of armor" edges that will actually show in the program that would be nice), but one thing I have no idea how to do.

The class powers in the game are tiered, but you can come at them from either of the lower powers. So either Tactical Sense or Aggression can be prerequisites for either Lightning Reflexes, but you only get to buy one of the two.

Short of listing the Edges as just a single Edge each, and you only get to have access to one of them (and I don't know any way for the program to even show which specific one you have) is there any way to set this up? Normally SW has nothing comparable.
 
In the case of just two lines to get to something, like in your example, I'd say make two Edges for it. So Lightning Reflexes (TS) and Lightning Reflexes (A), for example. That's what is done for the Half-Elf race, breaking it into two depending on which bonus you want to choose from it.

If you really need to break it out more you'd probably have to start setting up tags in conditional statements to start keeping track of it. That's not necessarily easy but if you really, really want to go down that road give me a concrete example (I don't have XCOM... not even sure what that is, really) and I can see if I can help figure it out.

Also, not sure what you mean by getting extra Toughness out of armor, but if I'm guessing right then I think you might be able to do that, too, but I think a concrete example and some time to think it over would be what I'd need for something like that, too.
 
All right, let me give a sample of something that will answer both questions.

Someone going up the Assault chain of Edges will have the following choices and prerequisites at the Lieutenant, Captain and Major levels:

Lieutenant: They will have been able to choose either:

Flush: The character can fire a shot at an opponent that gains a +2 to hit, but only does half damage; the target, if hit, will need to roll a Guts roll or immediately make a move to the nearest spot out of cover, OR

Rapid Fire: The character can take two shots at a target instead of one, at a -2 to Shooting; unlike double-tap, this is resolved as though it were a two-round "autofire" attack, which means each shot does full damage and have separate to-hit dice (though only one Wild Die).

Either of these Edges will function as a prerequisite for the Edges at Captain:

Captain: They will have been able to choose either:

Close Combat Specialist: Allows the possessor to take a shot at any opponent approaching within 4" of them, whether or not they're readying a shot for moving opponents, OR

Bring 'Em On: Will add +1 Damage to the bonus D5 for a Raise per each opponent in sight up to +5.

Either of these Edges will function as the prerequisite for:

Major:

Extra Conditioning: The user gains bonus Toughness over what his armor normally provides (since this will be based on the three specific armor types available in this campaign, this will probably be +2, +4 and +6 respectively). It might be nice if I could simply generalize it off the armor they're wearing (+X percentage or some such) but I'm not sure how easy that would be to do, either.

Does that explain what I'm trying to do better?
 
Sorry for the delay. I got caught up in some other stuff. At any rate if you only need to set a pre-requisite for an either/or Edge then just use the following (it's in the Common Code thread, BTW):

Code:
hero.tagis[Edge.edgTDNCO] + hero.tagis[Edge.edgTDOffic] <> 0

the edgTDNCO part for you might be something like edgXCRapFi, or whatever you're using for Rapid Fire, and use the the ID for Flush to replace the TDOffic one. The order doesn't matter. Same method for Extra Conditioning except that you don't need to include Flush or Rapid Fire in the list, just Close Combat Specialist and Bring 'Em On since those already have the others as their pre-requisites so no need to duplicate their lists.

For the other you're just modifying toughness so you could work from something like the Brawny edge to get an idea of what to do there:

Code:
perform #traitadjust[trTough,+,1,"Brawny"]

The problem is you want to determine the value of that +,1 based on a derived value. So for that you'd need to use a variable instead of a set amount, except that the derived amount will be based on what armor you're wearing. So your best bet isn't to put that code into the Edge at all, but rather put it into the armor itself so you set up an if/then expression that if the Edge exists you'd give the appropriate bonus for that particular armor.
 
Okay, I've managed to get all the new Class Edges input with a few false starts, and even figured out how to put them in a subcategory ("Class") by myself.

I've found myself wanting to do one more thing, however, and I'm not clear how to do it; since each of the core Edges is exclusive (if you take the one for Assaults, you're now an Assault and can't take the one for Sniper or Heavy), I'm not sure how to do an eval script to tell it to make an edge unavailable if you have one of the others (fortunately, I only have to do this four times here, since it will, by nature, make all the other edges up-chain unavailable. If I decide to have the program do this to exclude each of the paired Edges from each other, that will be much more painful). I looked through the "useful code" thread (in fact, I copied it for future reference) and didn't see anything that seemed to address it there.

Also, is there a discussion of how to use Hide and Preclude anywhere? I'm apparently doing something wrong with it (when trying to get rid of all the Arcane backgrounds and their dependent Edges) and I can't seem to find any discussion of using them, well, anywhere.
 
Preclude is used to make something completely unavailable when a specific Source setting is selected. So if you setting doesn't use the Ace edge, for example, you would put a preclude for edgAce and use your setting's source for when that preclude should apply. Same if you needed to replace the standard version of something, like you needed to modify how the standard Noble edge works, you would preclude it and then create your own. The only thing of note there is that you'd also want to hunt for an update and and all references to pointed to the UniqueID of the thing your are precluding and either remove them or use the UniqueID of the thing you replaced it with.

For Hidden see http://hlkitwiki.wolflair.com/index.php5?title=Hidden_Element_(Data), but I'd note that you are not setting a source on Hidden so I THINK (I could be completely wrong here) it would apply to every source you've got. So I presume you would only use it if, say, you didn't want something like skGuts to show in ANY setting because your GM never uses it, no matter what.

As to the first question you'd just set a pick-req selecting the "Preclude Selection If Present" box, doing one for each of those other Edges, effectively saying that if any of those other Edges exist then picking this Edge is invalid. So you're just telling it to do the opposite of the default settings (which is to not allow this Edge unless this thing exists.) No code needed which is why it's not in the Common Code thread. :)
 
Yeah, I spotted that damned box while doing some extra work after I posted that. Don't I feel dumb. :P

I'll go check the Preclude/Hidden thing when I get a moment (what seemed to be happening was that once I precluded a prerequisite, it gave me an error for anything dependent on it, whether I also precluded that or not).

Also, in regard to the Extra Conditioning edge I have, and its effect on Armor, I tried to do the following and its telling me that I have a syntax error. Can you tell me what I'm doing wrong here?

if (hero.tagis [Edge.edgExtCon] <> 0) then
perform #traitadjust[trTough,+,2,"Extra Conditioning"]
endif

I freely admit the above is a case of kitbashing together two different pieces of code with an extremely limited understanding of XML programming (the last time I did any extensive programming was, well, 20 years ago and it was GW Basic...)
 
If that is a direct cut-and-paste then you have a space in the first line between hero.tagis and the bracket for [Edge. There shouldn't be a space in there.
 
Oh, one thing to keep in mind when precluding something is that none of that really takes effect until you compile and then reload the data file or use the "test" button (although the latter only reloads that specific thing, not the whole file). So, yeah, you will need to find where what you are precluding is referenced and then either fix or preclude that thing while checking again for any other things the new thing you precluded might also be referenced by. The be sure to save, compile and reload the data file (that last step, or the last two if you want, is done in Hero Lab rather than the Editor) to check it for any errors that way.
 
Sure enough, the space did me in.

I'll check the other things when I get more time and see how they go. Thanks for all the help.
 
Okay, I tried this as a simple test this time: I just Hid Arcane Background: Psionics and Mentalist. When I test it, or simply load the cloned game system, even though I've got both Hidden, I get the following error when I try to load the data file:

Thing 'edgMental' - thing requires thing 'edgArcPsi' that does not exist.
 
If you have a cloned game system you could simply modify the source files to yank what you never want to see. Otherwise why are you wanting to use Hide anyway? Why not preclude those things?
 
If you have a cloned game system you could simply modify the source files to yank what you never want to see. Otherwise why are you wanting to use Hide anyway? Why not preclude those things?

How does one directly effect the source files? Through the authoring kit?

As to Hide--as I recall, Preclude had the same problem I'm having with Hide. Let me check...ah, no, I didn't use Preclude because I couldn't figure out what the source ID was.
 
Ah, source ID is whatever you've set as the source name for your data file. So, for example, in Deadlands Noir the name of "Deadlands Noir" is too long for a Source ID, so I use the ID of "DLN". You could do something like that for a House Rules file, maybe use "HR" or something. Then whenever you select that source from the Character Config screen it will apply those things using that Source ID.

For modifying source files, you said you cloned the game system, which implies to me that you are using the Authoring Kit. If you're just trying to create a source for a new setting or for you own house rules I would definitely not recommend cloning the game system, Just use the standard system and your own .user file using a Source that you create for or in that file (you can also use a .1st file to help organize where your source shows up on the selections list and such.)

I'm pretty sure most of that is covered in the manuals. There are manuals you can get to from both Hero Lab and the Editor if you haven't checked those out yet.

The use of Hide could be very problematic for you if you decide to use any other settings because just the existence of something hidden in any .user file you've got in your data director is going to hide that thing from every other setting, even ones you might want to use it in. For more examples of user files you could go to the Updates for Hero Lab and just select some of the free Savage Settings. Those will open up a .user, and often a .1st as well, fill for that setting in your data directory (for me that's in C:\ProgramData\Hero Lab\data\savage, but depending on how you installed and the OS you are using your directory location may be different, but it should be similarly named.) You can open those .user files either in the editor or in an XML file editor (I use Notepad++, which is free and works quite well for me.)
 
Last edited:
What I have for my House Rules ID is I use "JWHR" Which is the first letters of my name John Willis and then the other 2 letters stand for House Rules and then name it House Rules. The only reason I do that is just in case some one else shares their House rules and uses HR or JHR.
 
Ah, source ID is whatever you've set as the source name for your data file. So, for example, in Deadlands Noir the name of

Ah. Part of the problem is mine is not really set as anything; that's why I cloned the game system instead, since it otherwise automatically loaded the datafile.

Where is it you do this?

"Deadlands Noir" is too long for a Source ID, so I use the ID of "DLN". You could do something like that for a House Rules file, maybe use "HR" or something. Then whenever you select that source from the Character Config screen it will apply those things using that Source ID.

For modifying source files, you said you cloned the game system, which implies to me that you are using the Authoring Kit. If you're just trying to

That's where I originally did it, but I realized most of what I was doing was probably doable in the editor, and since I understood that better than the Kit...

create a source for a new setting or for you own house rules I would definitely not recommend cloning the game system, Just use the standard system and your own .user file using a Source that you create for or in that file (you can also use a .1st file to help organize where your source shows up on the selections list and such.)

Well, I'd already done that, but I'm sure I can move XCOM.dat over in some fashion.

I'm pretty sure most of that is covered in the manuals. There are manuals you can get to from both Hero Lab and the Editor if you haven't checked those out yet.

I'd looked at them, but to be honest, they were remarkably unhelpful on most of the things I'd looked at (other than pointing out the tabs exist I could not find anything that explains what Hide or Preclude did (let along the difference) so I mostly gave up on them. I only realize the exist because another user referenced them.

The use of Hide could be very problematic for you if you decide to use any other settings because just the existence of something hidden in any .user file you've got in your data director is going to hide that thing from every other setting, even ones you might want to use it in. For more examples of

Well, I have no intrinsic objection to using Preclude instead; as I said, I just didn't know what it wanted (and I'm still wondering why Hide seemed to have the problem I mentioned and whether I'll run into the same issue with Preclude).
 
You can set the source at the bottom of most everything there is a button for Source. If the Source you want doesn't show on the list just select New Source and type in the info for the new source when it asks. You may have to hit that "Test Thing" button at the top to make it save the source so it will show up on the list the next time you make something.

On XCOM.dat? Try renaming the file to xcom.user instead. You'll probably need to set your source before moving it over, but otherwise just put it into your main data directory and you should be just fine.

As for why Hide had the problem, I'm not really sure. I never use Hide.
 
You can set the source at the bottom of most everything there is a button for Source. If the Source you want doesn't show

At the risk of sounding stupid, at the bottom of what in this case? I see the buttons for user files in the initial character screen, but when I open the XCOM.user file in the editor, I don't see anything like that.

So where is it I'm supposed to be to set the source for that? None of the documentation I've looked at seems to discuss it.

On XCOM.dat? Try renaming the file to xcom.user instead. You'll probably need to set your source before moving it over, but otherwise just put it into your main data directory and you should be just fine.

It was XCOM.user, I don't know why I said XCOM.dat
 
Sorry, it's the "Edit" button next to the "Sources" on any individual item. So look at the Ammunition tab, for example, below the big box where you put a description on the right (below "Weight" and "Treat as Standard Gear"). It's in pretty much the same spot for everything. In other words anything you create can have a Source set for it.
 
Back
Top