• 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

Excluding access based on Edge type

Paragon

Well-known member
I'm sure this is easier than I'm making it.

Basically, one of the things in the XCOM setting is that the Cybernetics and Genemods are mutually exclusive. The Cybernetics is essentially a set of chained Edges, with the bottommost edge being one called Collateral Damage that all the others are predicated off of. The Genemods are a selection of independent edges.

The only good way to make people unable to take the Genemods once they had Cybernetics was just to go through the Genemod Edges and use Collateral Damage an exclusion on each one. There's only ten of them, so its not a big deal, so I did it.

Now the other way around, I could just use each Genemod edge as an excluder on Collateral damage, but it seems like, since the Genemods all have a common Edge type (Genemod) that I ought to be able to tell Collateral Damage just not be takeable if you have any Edge with the Genemod tag. Unfortunately, I'm not quite as good at as working with tags as I could be, and the best I've been able to figure out is that I should probably have an Expression-Req with a Not (!) modifier on it, but I really am beyond my abilities in how to construct the syntax.

Anyone think they can help me here?
 
A containerreq with the !Edge.whatever (assuming it is an edge that you are using, as that is what your text said to me). So the edge will only appear if that edge is not taken.

So !Edge.CollateralDamage for the Genemod, and !Edge.Genemod for the Collateral damage.

At least, that should work. I am thinking the timing is like Initialize 2200. Maybe 2100, but 2200 works.
 
Thinking about this more, I would recommend that you can go ahead and have the Genemod and Collateral Damage preclude each other. But have their "child" edges have a containerreg that requires the first -- or in some cases, the one before it if is just an add-on.

The reason that I say this is for simplicity and ease of adding things in the future. It helps to keep all of the unavailable things off the lookup list, and when you get the first edge you unlock a path that is otherwise unavailable. As for future, what if you were to someday come up with another path? If you do it with a containerreq that requires the first you just have to modify the first edge and not all of them.

So just Edge.edgGenemod for the Gene Mod path and Edge.edgCollateralDamage for the Collateral Damage path.
 
Genemod isn't an edge unto itself; its a type of edge. That's why I want to exclude it off of Collateral Damage based on the tag, since all the Genemod edges have that tag. And I can't do the trick of simply making the exclusion off a base edge, since the Genemod edges, unlike most of the others, don't have any prerequisites.
 
OK, so they are a type. But which is the first? Or which are the first if there is more than one? I still think that basing it on the entry point edge(s) is the best solution long-term, especially if you want to ever be able to add to it easily.

Try to figure out the "gateway" edges to narrow it down. Tags can work, but each thing has to search for them.
 
So anyone can just get these edges? There are merely pre-reqs like rank and skills? There is nothing in common where they start?

A simple solution to this might be to MAKE a starting edge. Genemod can be an edge that costs 0. You can do that, ya know? You have the character declare with a free edge that does nothing other than declare which path to take.
 
So anyone can just get these edges? There are merely pre-reqs like rank and skills? There is nothing in common where they start?

Correct.

A simple solution to this might be to MAKE a starting edge. Genemod can be an edge that costs 0. You can do that, ya know? You have the character declare with a free edge that does nothing other than declare which path to take.

That seems kind of needlessly baroque for the end-user, though. At that point if that's the best I can do, I'd rather just go through and make all ten of the Genemod edges exclude Collateral Damage. That just seems overly busy, but it doesn't make the players do anything odd.
 
If it is bootstrapped they will get it added for them and the user only has to add one of the options and the character is set to a path. Then it will bar them from the "wrong" path.

Anyway, it is an idea that you can consider using if you want to. It is at least easier than modifying every single option. There are less places to modify later on and it is really easy to add. <shrug> I prefer to make things as easy as possible. Seeing an edge added that says "Genemod path" or similar does not seem all that complicated, especially since it added on its own. You can set it to not print on the character, too. Plus looking at the screen you have a glance that says "this is a genemod character".

As I said, do what you want. I gave you an option but you do not need to use it, and someone might want it for a different project.
 
Fair enough. Keep in mind I don't need to add it to every single option at this point; all the Genemods already are precluded if Collateral Damage is present (I did that by setting it up on one of them, then just used that as the basis to set up the rest); it just means I'll have a rather large number of Pick Reqs on Collateral damage.
 
I have played around with the containerreq some more. It is not usable as I mentioned above. At least not with anything that you will look at with Advances. So the edges as mentioned above would not work.

The reason is timing. The edge containerreq takes place in after the lists for Advances are generated. So if you have it based on the existence a different edge it will always be hidden, even if you have the edge. The same goes for if you want it to work for the lack of an edge. Skills that are dependent on the existence of a given edge are also hidden.

During character creation mode the containerreq works as timing is not an issue in creation mode. This is why I had not noticed it and had erroneously recommended it as a solution. There are many things that work differently based on if you are in character creation mode or advancement mode.

The super-simple solution is to instead use a source that is chosen in the Configure Hero window. You can make it so that the player can check one or the other and gray out the other options in the Configure Hero menu. The source is a tag already and can be referenced as needed.

Another option is to select a Group or Faction that allows for one or the other, but I think that the best method is to just use a source.
 
Back
Top