From: SourceForge.net <no...@so...> - 2009-02-06 03:45:38
|
Documentation Feature Requests item #2317458, was opened at 2008-11-20 07:54 Message generated for change (Comment added) made by maredudd800 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=748235&aid=2317458&group_id=25576 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Documentation New Tag(s) Group: For 5.16.0 Status: Open Resolution: None Priority: 6 Private: No Submitted By: Maredudd (maredudd800) Assigned to: Maredudd (maredudd800) Summary: Implement changes to Favored Class tags and add CHOOSE:CLASS Initial Comment: Per the following code tracker: https://sourceforge.net/tracker/index.php?func=detail&aid=1999270&group_id=25576&atid=384722 See experimental thread here: http://tech.groups.yahoo.com/group/pcgen_experimental/message/10768 This is to address features in the Pathfinder RPG Background: FAVCLASS:Any currently performs an automatic choice of the highest level class of the PC, which is potentially confusing given other uses of "Any" and "All" in our data. This should be changed to be consistent. In Pathfinder, the Human race doesn't use the "Any" format (above), but gets to choose "any one class as their favored class". PCGen currently cannot support this feature. FAVCLASS:CHOOSE:<blah> is not consistent with other CHOOSE: tokens, which are of the form: CHOOSE:SUBTOKEN|<choices> ...and which is extracted into other tokens using items like %LIST, e.g.: TOKEN:%LIST This proposal impacts the following tokens: FAVCLASS (Race) FAVOREDCLASS (Template) This proposal drives the creation of: CHOOSE:CLASS|x|x,x Current syntax on FAVCLASS is: FAVCLASS:x|x.y FAVCLASS:CHOOSE:x|x.y Current syntax on FAVOREDCLASS is: FAVOREDCLASS:x|x.y Proposal: The first syntax of FAVCLASS will be expanded to add a %LIST argument. This %LIST argument will insert all of the items selected on the current Race into the Player Character's Favored Class list. The first syntax of FAVCLASS, which currently supports FAVCLASS:ANY to perform a choice of the highest class on a PC will be changed to FAVCLASS:HIGHESTLEVELCLASS (FAVCLASS:ANY will report it is deprecated) The second syntax (FAVCLASS:CHOOSE:x|x.y) will be deprecated, to be replaced by a separate CHOOSE token and the enhanced FAVCLASS (above) FAVOREDCLASS will be expanded to add a %LIST argument. This %LIST argument will insert all of the items selected on the current object (Template) into the Player Character's Favored Class list. CHOOSE:CLASS|x|x,x CHOOSE:CLASS|y[x|x,x] A new Chooser will be added to PCGen, allowing the choice of classes. Valid entries for x will be: ANY (any Class) TYPE=y (specifies a type, can be chained to perform AND, e.g. TYPE=y.y) !TYPE=y (specifies a type, can be chained to perform AND, e.g. !TYPE=y.y) x (any primitive class, e.g. Fighter) x.y (any specific subclass, e.g. Wizard.Illusionist) Valid entries for y are: ALL (optional implementation) [implied when no y is listed] VISIBLE , is used to join entries joined by AND | is used to join entries joined by OR Thus: CHOOSE:CLASS|TYPE=Monster,!TYPE=Foo|TYPE=Har Means you can choose from Classes that are: 1) TYPE Monster AND NOT TYPE Foo OR 2) TYPE Har The sole use of x for any Class with Subclasses (e.g. Wizard) allows the use of the "base" class in addition to ALL of the subclasses of that base class. To specify only a single subclass (or the single base class) the x.y syntax is used: e.g. Wizard.Wizard. This matches the existing syntax for FAVCLASS. Note that the use of a true primitive in an AND situation, e.g. Fighter,TYPE=PC may be considered non-sensical, and failure is implementation dependent (optional) When reading CHOOSE:CLASS with qualifiers, you should think of it taking the items in the brackets ("x") from the set defined by the "y" item, e.g.: CHOOSE:CLASS|VISIBLE[!TYPE=Monster] reads as: "Show everything from the VISIBLE set of classes that is NOT TYPE=Monster" As in other 6.0-style CHOOSERS (see http://pcgen.wiki.sourceforge.net/CHOOSE+Token+Proposal+for+6.0 ), the ALL qualifier is implied. i.e. the following are equivalent: CHOOSE:CLASS|TYPE=Monster CHOOSE:CLASS|ALL[TYPE=Monster] {Note that the explicit ALL qualifier is not a requirement to be implemented in this proposal, but may be supported if it makes things easier} (Note that in 6.0, CHOOSE:CLASS|ALL[ANY] is technically valid [albeit verbose] syntax, but will probably unparse as CHOOSE:CLASS|ANY once the system can unparse CHOOSE tokens. If the ALL qualifier is implemented, then the verbose ALL[ANY] syntax should be legal) CHOOSE:CLASS will also support a second qualifier, VISIBLE. This will only display items that are VISIBLE:YES e.g. CHOOSE:CLASS|VISIBLE[!TYPE=Monster] Conversion Plan: Automatic conversion of the FAVCLASS:CHOOSE syntax for data between 5.16 and a subsequent revision of PCGen can be performed. The conversion follows the pattern: FAVCLASS:ANY ...becomes... FAVCLASS:HIGHESTLEVELCLASS FAVCLASS:CHOOSE:x,y,z.a ...becomes... CHOOSE:CLASS:x|y|z.a FAVCLASS:%LIST There is a risk of races already having a CHOOSE. This is why the FAVOREDCLASS (Template) enhancement is required to be performed at the same time. Thus any Race which already contains a CHOOSE can be converted into a Race with a hidden template, e.g.: FAVCLASS:CHOOSE:x,y,z.a ...becomes... TEMPLATE:RaceFooFavoredClass RaceFooFavoredClass CHOOSE:CLASS:x|y|z.a FAVOREDCLASS:%LIST Notes: FAVCLASS:Any will be deprecated in PCGen 5.16 and prohibited in the subsequent release (tokens must have one release deprecated and one release where they are guaranteed to fail before they can be reused). As a note of a minor constraint on future enhancement, in order to have "any" as the favored classes (no XP penalty ever, even with N classes of arbitrary level), it would require one of: - Fully deprecate FAVCLASS in Race and replace with something like FAVOREDCLASS - Use a separate token, e.g. XPPENALTY (set to NO for the Race) ---------------------------------------------------------------------- >Comment By: Maredudd (maredudd800) Date: 2009-02-05 22:45 Message: svn #9289 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=748235&aid=2317458&group_id=25576 |