PDA

View Full Version : Pre-reqs can be ignored under certain circumstances


Mathias
February 2nd, 2009, 09:20 PM
In the system I'm working on, the initial talents granted by the character's career path are exempt from pre-reqs.

I think if I was using pre-reqs, I could do this - I see the option to add a match tag expression that could look for a xacttag and/or autotag assigned by the chooser. The probem is that I've already finished adding all the expr-reqs and pick-reqs for all the talents in the game's main book - a long list, and I don't really want to re-write them all as pre-reqs with match tag expressions.

Is there a way to make everything derived from a component ignore its expr-reqs and pick-reqs given the correct tag? Or to make a chooser's contents ignore pick-reqs and expr-reqs?

rob
February 20th, 2009, 03:01 AM
There is no way to "turn off" validation for a collection of picks. So you cannot have all the talents ignore their pickreqs and exprreqs when bootstrapped. I've added something like this to the todo list, but I don't know when it will get added.

Until that gets added, you will need to revise the talent definitions to get this all to work. However, it may not be as much work as you think it will be. For all of the pickreqs, they can be easily converted to an exprreq that simply tests for a suitable identity tag. If the pickreq relies on the pick with id "mypick", then an equivalent exprreq would test for the tag expression "hero#identity.mypick". This assumes that each talent forwards its identity tag to the hero via a component Eval script.

If you assign all initial talents an auto-tag of "Helper.NoPrereq" via the choosers, that tag can be readily tested within the exprreq tag expression. A talent with the exprreq of "hero#identity.mypick" could be changed to "Helper.NoPrereq | hero#identity.mypick". This would cause the talent to report as valid if it possessed the "ignore" tag or the hero contained the required pick.

In general, you should avoid adding all the items of a particular type in the early going of your data files. Add a handful that are exemplary of the various mechanics that need to be supported. Get them working and fully tested. Once all the wrinkles are sorted out, you can then add the laundry list of items of a given type (e.g. talents). This approach will save you significant amounts of time having to revamp everything a few times until everything is actually working properly. :-)