From: Tom P. (JIRA) <ji...@pc...> - 2010-05-23 01:49:35
|
[ http://jira.pcgen.org/browse/NEWTAG-20?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tom Parker updated NEWTAG-20: ----------------------------- Status: In Discussion (was: Proposed) > CHOOSE:SHIELDPROFICIENCY > ------------------------ > > Key: NEWTAG-20 > URL: http://jira.pcgen.org/browse/NEWTAG-20 > Project: New Tag > Issue Type: New Feature > Components: LST Tag > Affects Versions: 5.17.1, 5.17.2 > Reporter: Tom Parker > Fix For: 5.17.3 (Alpha) > > > CHOOSE:SHIELDPROFICIENCY > SUBTOKEN: SHIELDPROFICIENCY (new) > SUBTOKEN: SHIELDPROF (deprecated by this proposal) > Reason for deprecation: The Challenge with the existing CHOOSE:SHIELDPROF is that it is based on equipment. Meaning, CHOOSE:SHIELDPROF|TYPE=Foo means to allow a choice of any ShieldProf that is used in a PROFICIENCY:SHIELD|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:SHIELDPROFICIENCY|x|y|y[z]|y[z,z]|x,y,y[z],y[z,z] > x is an ShieldProf PRIMITIVE > A PRIMITIVE is an identifier of objects, and may include any number of specifications. In the case of ShieldProf objects, the only valid PRIMITIVES are the four global PRIMITIVES: > x = a ShieldProf (specified by key) > x = TYPE=w (w is a TYPE identifier for a ShieldProf ) - note that none of our ShieldProfs actually use TYPE: but this works anyway :) > x = !TYPE=w (w is a TYPE identifier for a ShieldProf that would be prohibited) > x = ALL (allow the choice of any ShieldProf) > y is a QUALIFIER > A QUALIFIER is a special keyword that identifies a subset of objects that should be returned. Valid qualifiers for ShieldProf objects are any of the Global Qualifiers. > In the case of a global QUALIFIER, z is an ShieldProf PRIMITIVE (see above) > An additional "local" QUALIFIER specific to ShieldProf 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 ShieldProf objects as identified by their PROFICIENCY:SHIELD tokens. These ShieldProf 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:SHIELDPROFICIENCY|EQUIPMENT[ALL] > is equivalent to > CHOOSE:SHIELDPROFICIENCY|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:SHIELDPROF|Buckler,Tower Shield > will result in NO choices because no ShieldProf is both Buckler and Tower Shield. > CHOOSE:SHIELDPROF|TYPE=Foo,EQUIPMENT[TYPE=Bar] > would test for any ShieldProf that has the Foo type (as defined in the ShieldProf 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:SHIELDPROF|Buckler|Tower Shield > will result in a choice between ShieldProf Buckler and ShieldProf Tower Shield > All commas (ANDs) are evaluated before pipes (ORs), so something like: > CHOOSE:SHIELDPROF|Buckler|TYPE=Foo,EQUIPMENT[TYPE=Bar] > would include Bucklerunconditionally, in addition to any ShieldProf that has the Foo type (as defined in the ShieldProf 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:SHIELDPROF|Buckler > becomes > CHOOSE:SHIELDPROFICIENCY|EQUIPMENT[Buckler] > CHOOSE:SHIELDPROF|ALL > becomes > CHOOSE:SHIELDPROFICIENCY|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 |