From: JIRA (f. A. M. ) <ji...@pc...> - 2011-03-10 16:48:38
|
CHOOSE:ABILITY is not back compatible with 5.16 in trunk -------------------------------------------------------- Key: CODE-535 URL: http://jira.pcgen.org/browse/CODE-535 Project: Code Issue Type: Bug Components: CHOOSE system Affects Versions: Not Released Reporter: Andrew Maitland I'm trying to implement a 'CHOOSE:ABILITY|Special Ability|Ability1,Ability2,Ability3' As per the docs for 5.16, but when using it in 5.17.6, I'm getting a LST Error. Docs for 5.16: CHOOSE:ABILITY|x|y,y Variables Used (x): Text (Ability category) Variables Used (y): Text (Ability name) Variables Used (y): TYPE=Text (Ability type) What it does: * Will present a list of abilities, by name and/or type, of the specified category. * At least one ability or ability type must be designated for this tag to function properly. Example: CHOOSE:ABILITY|FEAT|TYPE=Rogue Abilities A list of all "Rogue Abilities" type feats will be presented. Per the 5.17 Wiki: [http://wiki.pcgen.org/Qualified_CDOMObject_Proposals#CHOOSE:ABILITY] CHOOSE:ABILITY|w|x|y|y[z]|y[z,z]|x,y,y[z],y[z,z] w is an Ability Category (e.g. FEAT) as defined in the Ability Category LST file. x is a Ability PRIMITIVE A PRIMITIVE is an identifier of objects, and may include any number of specifications. In the case of Ability objects, there are are the three global PRIMITIVES: x = an Ability (specified by key) x = TYPE=w (w is a TYPE identifier for a Ability) x = !TYPE=w (w is a TYPE identifier for a Ability that would be prohibited) x = ALL (allow the choice of any Ability) y is a QUALIFIER A QUALIFIER is a special keyword that identifies a subset of objects that should be returned. Valid qualifiers for Ability 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:ABILITY|FEAT|Dodge,Toughness will result in NO choices because no Ability is both Dodge and Toughness. CHOOSE:ABILITY|FEAT|TYPE=Foo,PC would test for any Ability that has the Foo type (as defined in the Ability LST file) which is ALSO already selected by the PlayerCharacter This could also be written (probably more clearly): CHOOSE:ABILITY|FEAT|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:ABILITY|FEAT|Dodge|Toughness will result in a choice between Ability Dodge and Ability Toughness. All commas (ANDs) are evaluated before pipes (ORs), so something like: CHOOSE:ABILITY|FEAT|Dodge|TYPE=Foo,PC would include Dodge unconditionally, in addition to any Ability that has the Foo type (as defined in the Ability LST file) which is ALSO already selected by the PlayerCharacter Conversion Current CHOOSE:ABILITY format does not change (backwards compatible) Here is the error messages I get: 08:22:26.109 LSTERROR Thread-3 AbilityLoader:117 Invalid combination of objects was used in: Bard Spell Level 0,Bard Spell Level 1,Bard Spell Level 2,Bard Spell Level 3,Bard S pell Level 4,Bard Spell Level 5 08:22:26.110 LSTERROR Thread-3 AbilityLoader:117 Check that ALL is not combined 08:22:26.111 LSTERROR Thread-3 AbilityLoader:117 Check that a key is not joined with AND (,) 08:22:26.111 LSTERROR Thread-3 AbilityLoader:117 Failed in parsing subtoken: ABILITY of Special Ability|Bard Spell Level 0,Bard Spell Level 1,Bard Spell Level 2,Bard Spell Lev el 3,Bard Spell Level 4,Bard Spell Level 5 08:22:26.112 LSTERROR Thread-3 AbilityLoader:117 Illegal CHOOSE subtoken 'ABILITY' 'Special Ability|Bard Spell Level 0,Bard Spell Level 1,Bard Spell Level 2,Bard Spell Level 3 ,Bard Spell Level 4,Bard Spell Level 5' for Bonus Bard Spell 08:22:26.112 LSTERROR Thread-3 AbilityLoader:117 CHOOSE:RACE not compatible 08:22:26.113 LSTERROR Thread-3 AbilityLoader:117 Illegal Token 'CHOOSE' 'ABILITY|Special Ability|Bard Spell Level 0,Bard Spell Level 1,Bard Spell Level 2,Bard Spell Level 3,Ba rd Spell Level 4,Bard Spell Level 5' for pcgen.core.Ability Bonus Bard Spell 08:22:26.133 LSTERROR Thread-3 AbilityLoader:117 Invalid combination of objects was used in: Inquisitor Spell Level 0,Inquisitor Spell Level 1,Inquisitor Spell Level 2,Inquisi tor Spell Level 3,Inquisitor Spell Level 4,Inquisitor Spell Level 5 08:22:26.133 LSTERROR Thread-3 AbilityLoader:117 Check that ALL is not combined 08:22:26.134 LSTERROR Thread-3 AbilityLoader:117 Check that a key is not joined with AND (,) 08:22:26.134 LSTERROR Thread-3 AbilityLoader:117 Failed in parsing subtoken: ABILITY of Special Ability|Inquisitor Spell Level 0,Inquisitor Spell Level 1,Inquisitor Spell Leve l 2,Inquisitor Spell Level 3,Inquisitor Spell Level 4,Inquisitor Spell Level 5 08:22:26.135 LSTERROR Thread-3 AbilityLoader:117 Illegal CHOOSE subtoken 'ABILITY' 'Special Ability|Inquisitor Spell Level 0,Inquisitor Spell Level 1,Inquisitor Spell Level 2, Inquisitor Spell Level 3,Inquisitor Spell Level 4,Inquisitor Spell Level 5' for Bonus Inquisitor Spell 08:22:26.135 LSTERROR Thread-3 AbilityLoader:117 CHOOSE:RACE not compatible 08:22:26.136 LSTERROR Thread-3 AbilityLoader:117 Illegal Token 'CHOOSE' 'ABILITY|Special Ability|Inquisitor Spell Level 0,Inquisitor Spell Level 1,Inquisitor Spell Level 2,Inq uisitor Spell Level 3,Inquisitor Spell Level 4,Inquisitor Spell Level 5' for pcgen.core.Ability Bonus Inquisitor Spell 08:22:26.169 LSTERROR Thread-3 AbilityLoader:117 Invalid combination of objects was used in: Sorcerer Spell Level 0,Sorcerer Spell Level 1,Sorcerer Spell Level 2,Sorcerer Spel l Level 3,Sorcerer Spell Level 4,Sorcerer Spell Level 5,Sorcerer Spell Level 6,Sorcerer Spell Level 7,Sorcerer Spell Level 8 08:22:26.169 LSTERROR Thread-3 AbilityLoader:117 Check that ALL is not combined 08:22:26.169 LSTERROR Thread-3 AbilityLoader:117 Check that a key is not joined with AND (,) 08:22:26.169 LSTERROR Thread-3 AbilityLoader:117 Failed in parsing subtoken: ABILITY of Special Ability|Sorcerer Spell Level 0,Sorcerer Spell Level 1,Sorcerer Spell Level 2,So rcerer Spell Level 3,Sorcerer Spell Level 4,Sorcerer Spell Level 5,Sorcerer Spell Level 6,Sorcerer Spell Level 7,Sorcerer Spell Level 8 08:22:26.170 LSTERROR Thread-3 AbilityLoader:117 Illegal CHOOSE subtoken 'ABILITY' 'Special Ability|Sorcerer Spell Level 0,Sorcerer Spell Level 1,Sorcerer Spell Level 2,Sorcer er Spell Level 3,Sorcerer Spell Level 4,Sorcerer Spell Level 5,Sorcerer Spell Level 6,Sorcerer Spell Level 7,Sorcerer Spell Level 8' for Bonus Sorcerer Spell 08:22:26.170 LSTERROR Thread-3 AbilityLoader:117 CHOOSE:RACE not compatible 08:22:26.170 LSTERROR Thread-3 AbilityLoader:117 Illegal Token 'CHOOSE' 'ABILITY|Special Ability|Sorcerer Spell Level 0,Sorcerer Spell Level 1,Sorcerer Spell Level 2,Sorcerer Spell Level 3,Sorcerer Spell Level 4,Sorcerer Spell Level 5,Sorcerer Spell Level 6,Sorcerer Spell Level 7,Sorcerer Spell Level 8' for pcgen.core.Ability Bonus Sorcerer Spell 08:22:42.535 SEVERE Thread-3 MultToken:102 Ability (Special Ability) Bonus Bard Spell had MULT:YES but no CHOOSE 08:22:42.535 SEVERE Thread-3 MultToken:102 Ability (Special Ability) Bonus Inquisitor Spell had MULT:YES but no CHOOSE 08:22:42.535 SEVERE Thread-3 MultToken:102 Ability (Special Ability) Bonus Sorcerer Spell had MULT:YES but no CHOOSE 08:22:42.540 SEVERE Thread-3 MultToken:102 Ability (Special Ability) Bonus Bard Spell had MULT:YES but no CHOOSE 08:22:42.541 SEVERE Thread-3 MultToken:102 Ability (Special Ability) Bonus Inquisitor Spell had MULT:YES but no CHOOSE 08:22:42.541 SEVERE Thread-3 MultToken:102 Ability (Special Ability) Bonus Sorcerer Spell had MULT:YES but no CHOOSE This presents an interesting problem. I can obviously find an alternative solution, but wanted you to be aware of the issue, especially as we're cross-pollinating one set for two different versions of the program. I'm catering to both 5.16 and 5.17 development with the Paizo Pathfinder Sets. Cheers, -- Andrew Maitland -- 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 |