From: JIRA (f. T. P. ) <ji...@pc...> - 2010-12-07 21:37:15
|
[ http://jira.pcgen.org/browse/NEWTAG-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tom Parker updated NEWTAG-21: ----------------------------- Assignee: Eric C. Smith > CHOOSE:DOMAIN > ------------- > > Key: NEWTAG-21 > URL: http://jira.pcgen.org/browse/NEWTAG-21 > Project: New Tag > Issue Type: Modify Token > Components: LST Tag > Affects Versions: 5.17.1, 5.17.2 > Reporter: Tom Parker > Assignee: Eric C. Smith > Fix For: 5.17.4 (Alpha) > > > Syntax > CHOOSE:DOMAIN|x|y|y[x]|y[x,x]|x,y,y[x],y[x,x] > x is an Domain PRIMITIVE > A PRIMITIVE is an identifier of objects, and may include any number of specifications. In the case of Domain objects, there are are the four global PRIMITIVES: > x = a Domain (specified by key) > x = TYPE=w (w is a TYPE identifier for a Domain ) > x = !TYPE=w (w is a TYPE identifier for a Domain that would be prohibited) > x = ALL (allow the choice of any Domain) > There is also one Domain specific PRIMITIVE: > DEITY = Domains allowed by the Deity > y is a QUALIFIER > A QUALIFIER is a special keyword that identifies a subset of objects that should be returned. Valid qualifiers for Domain objects are any of the Global Qualifiers. > A comma represents "AND", meaning multiple items are evaluated independently and then any item that appears in ALL of the items is added to the list. > CHOOSE:DOMAIN|Fire,War > will result in NO choices because no Domain is both Fire and War. > CHOOSE:DOMAIN|TYPE=Foo,PC > would test for any Domain that has the Foo type (as defined in the Domain LST file) which is ALSO already selected by the PlayerCharacter > This could also be written (probably more clearly): > CHOOSE:DOMAIN|PC[TYPE=Foo] > A pipe represents "OR", meaning multiple items are evaluated independently and then any item that appears in any of the items is added to the list: > CHOOSE:DOMAIN|Fire|War > will result in a choice between Domain Fire and Domain War > All commas (ANDs) are evaluated before pipes (ORs), so something like: > CHOOSE:DOMAIN|War|TYPE=Foo,PC > would include War unconditionally, in addition to any Domain that has the Foo type (as defined in the Domain LST file) which is ALSO already selected by the PlayerCharacter > [edit] Specific Case > ARGUMENT: QUALIFY > This is the only situation where the existing syntax of CHOOSE:DOMAIN will change. QUALIFY currently is a compound behavior, which is performing two tests: - Is the PC qualified for the Domain (equivalent of the QUALIFIER QUALIFIED) - Has the PC taken this Domain (equivalent of the QUALIFIER !PC) > QUALIFY is therefore named in a way that may not be completely clear, and can easily be replaced by two qualifiers joined with a comma (AND): > QUALIFIED,!PC > [edit] Conversion > CHOOSE:DOMAIN|War|Fire > remains unchanged > CHOOSE:DOMAIN|QUALIFY (this currently provides any Domain which the PC is qualified for and hasn't yet taken) > becomes > CHOOSE:DOMAIN|QUALIFIED,!PC -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.pcgen.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |