From: Tom P. (JIRA) <ji...@pc...> - 2010-06-22 02:54:29
|
[ http://jira.pcgen.org/browse/NEWTAG-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tom Parker updated NEWTAG-19: ----------------------------- Status: Approved (was: In Discussion) > CHOOSE:ARMORPROFICIENCY > ----------------------- > > Key: NEWTAG-19 > URL: http://jira.pcgen.org/browse/NEWTAG-19 > Project: New Tag > Issue Type: Modify Token > Components: LST Tag > Affects Versions: 5.17.1, 5.17.2 > Reporter: Tom Parker > Fix For: 5.17.4 (Alpha) > > > CHOOSE:ARMORPROFICIENCY > SUBTOKEN: ARMORPROFICIENCY (new) > SUBTOKEN: ARMORPROF (deprecated by this proposal) > Reason for deprecation: The Challenge with the existing CHOOSE:ARMORPROF is that it is based on equipment. Meaning, CHOOSE:ARMORPROF|TYPE=Foo means to allow a choice of any ArmorProf that is used in a PROFICIENCY:ARMOR|x token on a piece of Equipment of TYPE=Foo. This is counter to the long-term plan for CHOOSE tokens, and I would like to get away from this. > [edit] Syntax > CHOOSE:ARMORPROFICIENCY|x|y|y[x]|y[x,x]|x,y,y[x],y[x,x] > x is an ArmorProf PRIMITIVE > A PRIMITIVE is an identifier of objects, and may include any number of specifications. In the case of ArmorProf objects, the only valid PRIMITIVES are the four global PRIMITIVES: > x = an ArmorProf (specified by key) > x = TYPE=w (w is a TYPE identifier for an ArmorProf ) - note that none of our ArmorProfs actually use TYPE: but this works anyway :) > x = !TYPE=w (w is a TYPE identifier for an ArmorProf that would be prohibited) > x = ALL (allow the choice of any ArmorProf) > y is a QUALIFIER > A QUALIFIER is a special keyword that identifies a subset of objects that should be returned. Valid qualifiers for ArmorProf objects are any of the Global Qualifiers. > in case of a global QUALIFIER, z is an ArmorProf PRIMITIVE (see above) > An additional "local" QUALIFIER specific to ArmorProf objects is also available: > EQUIPMENT: If this is used then the parameters in z are evaluated. Once the equipment identified by the z parameters is summarized, the equipment is queried to determine the ArmorProf objects as identified by their PROFICIENCY:ARMOR tokens. These ArmorProf objects are then added to the items that can be selected. > In this case, z is an Equipment PRIMITIVE > A PRIMITIVE is an identifier of objects, and may include any number of specifications. In the case of Equipment objects, there only valid PRIMITIVES are the three global primitives: > z = a piece of Equipment (specified by key) > z = TYPE=w (w is a TYPE identifier for a piece of Equipment) > z = !TYPE=w (w is a TYPE identifier for a piece of Equipment that would be prohibited) > z = ALL (use any Equipment) > Note that for a QUALIFIER, ALL is the implied PRIMITIVE, so: > CHOOSE:ARMORPROFICIENCY|EQUIPMENT[ALL] > is equivalent to > CHOOSE:ARMORPROFICIENCY|EQUIPMENT > 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:ARMORPROF|Chainmail,Field Plate > will result in NO choices because no ArmorProf is both Chainmail and Field Plate. > CHOOSE:ARMORPROF|TYPE=Foo,EQUIPMENT[TYPE=Bar] > would test for any ArmorProf that has the Foo type (as defined in the ArmorProf LST file) which is ALSO the proficiency for an Equipment that has the TYPE Bar (as defined in the Equipment LST file) > 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:ARMORPROF|Chainmail|Field Plate > will result in a choice between ArmorProf Chainmail and ArmorProf Field Plate > All commas (ANDs) are evaluated before pipes (ORs), so something like: > CHOOSE:ARMORPROF|Chainmail|TYPE=Foo,EQUIPMENT[TYPE=Bar] > would include Chainmail unconditionally, in addition to any ArmorProf that has the Foo type (as defined in the ArmorProf LST file) which is ALSO the proficiency for an Equipment that has the TYPE Bar (as defined in the Equipment LST file) > [edit] Conversion > CHOOSE:ARMORPROF|Chainmail > becomes > CHOOSE:ARMORPROFICIENCY|EQUIPMENT[Chainmail] > CHOOSE:ARMORPROF|ALL > becomes > CHOOSE:ARMORPROFICIENCY|EQUIPMENT[ALL] -- 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 |