Difference between revisions of "Token Change Proposals for 5.15 Alpha"

From PCGen Wiki
Jump to: navigation, search
(The following are the actual proposed changes to tokens:)
Line 30: Line 30:
 
! '''Token LST File''' !! '''Token Name''' !! '''Current Syntax''' !! '''Syntax Change''' !! '''Future Syntax''' !! '''Reason''' !! '''Justification for Change''' !! '''Discussion/Approval/FREQ'''
 
! '''Token LST File''' !! '''Token Name''' !! '''Current Syntax''' !! '''Syntax Change''' !! '''Future Syntax''' !! '''Reason''' !! '''Justification for Change''' !! '''Discussion/Approval/FREQ'''
 
|-
 
|-
| Template || BONUSSKILLPOINTS || BONUSSKILLPOINTS:x || TBD ||  || Consistency || XTRASKILLPTSPERLVL in Race matches behavior of BONUSSKILLPOINTS in Template LST file || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]]
+
| Template || BONUSSKILLPOINTS || BONUSSKILLPOINTS:x || TBD ||  || Consistency || XTRASKILLPTSPERLVL in Race matches behavior of BONUSSKILLPOINTS in Template LST file || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]
 
|-
 
|-
| Race || XTRASKILLPTSPERLVL || XTRASKILLPTSPERLVL:x || TBD ||  || Consistency || XTRASKILLPTSPERLVL in Race matches behavior of BONUSSKILLPOINTS in Template LST file || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]]
+
| Race || XTRASKILLPTSPERLVL || XTRASKILLPTSPERLVL:x || TBD ||  || Consistency || XTRASKILLPTSPERLVL in Race matches behavior of BONUSSKILLPOINTS in Template LST file || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]
 
|-
 
|-
 
| Class || HASSUBCLASS || HASSUBCLASS || REQUIRE :YES || HASSUBCLASS:YES || Consistency || Tokens are A:B, not A || '''IMPLEMENTED'''
 
| Class || HASSUBCLASS || HASSUBCLASS || REQUIRE :YES || HASSUBCLASS:YES || Consistency || Tokens are A:B, not A || '''IMPLEMENTED'''
Line 46: Line 46:
 
| Class || CHECK* || CHECK* || Deprecate || none || Unnecessary || Unused code || '''IMPLEMENTED'''
 
| Class || CHECK* || CHECK* || Deprecate || none || Unnecessary || Unused code || '''IMPLEMENTED'''
 
|-
 
|-
| Race || FAVCLASS || FAVCLASS:x|x || Deprecate || FAVOREDCLASS:x|x || Consistency || FAVOREDCLASS is used on Template LST Alternate to this is to change Template LST to FAVCLASS Also consider making this specific to Class vs. Subclass... ?? || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7466 _exp 7466]] [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]]
+
| Race || FAVCLASS || FAVCLASS:x|x || Deprecate || FAVOREDCLASS:x|x || Consistency || FAVOREDCLASS is used on Template LST Alternate to this is to change Template LST to FAVCLASS Also consider making this specific to Class vs. Subclass... ?? || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7466 _exp 7466] [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]
 
|-
 
|-
| Class || CRFORMULA || CRFORMULA:x || Deprecate || CR:x || Consistency || NOTE: This is an *undocumented* Token, it is NOT the GameMode Token CR: is used on Race, there is no reason to state FORMULA in the token name || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7467|_exp 7467]] [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]]
+
| Class || CRFORMULA || CRFORMULA:x || Deprecate || CR:x || Consistency || NOTE: This is an '''undocumented''' Token, it is NOT the GameMode Token CR: is used on Race, there is no reason to state FORMULA in the token name || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7467|_exp 7467] [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7511 _exp 7511]
 
|-
 
|-
 
| Global || ADD: || ADD:SUBTOKEN:x|y,y || TBD ||  || Consistency || Desire to make ADD: consistent with SPELLLIST and SKILLLIST || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7512 _exp 7512]]
 
| Global || ADD: || ADD:SUBTOKEN:x|y,y || TBD ||  || Consistency || Desire to make ADD: consistent with SPELLLIST and SKILLLIST || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7512 _exp 7512]]
Line 54: Line 54:
 
| Global || AUTO: || AUTO:SUBTOKEN:x|y,y || TBD ||  || Consistency || Desire to make AUTO: consistent with ADD:, SPELLLIST and SKILLIST Also for AUTO:, convert to putting PRExxx at end of the Token || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/8018 _exp 8018]]
 
| Global || AUTO: || AUTO:SUBTOKEN:x|y,y || TBD ||  || Consistency || Desire to make AUTO: consistent with ADD:, SPELLLIST and SKILLIST Also for AUTO:, convert to putting PRExxx at end of the Token || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/8018 _exp 8018]]
 
|-
 
|-
| Class || SPELLLIST || SPELLLIST:x|y|y || Change | to , || SPELLLIST:x|y,y || Consistency || Desire to make ADD: consistent with SPELLLIST and SKILLLIST || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7512 _exp 7512]]
+
| Class || SPELLLIST || SPELLLIST:x|y|y || Change | to , || SPELLLIST:x|y,y || Consistency || Desire to make ADD: consistent with SPELLLIST and SKILLLIST || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7512 _exp 7512]
 
|-
 
|-
| Class || SKILLLIST || SKILLLIST:x|y|y || Change | to , || SKILLLIST:x|y,y || Consistency || Desire to make ADD: consistent with SPELLLIST and SKILLLIST || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/7512 _exp 7512]]
+
| Class || SKILLLIST || SKILLLIST:x|y|y || Change | to , || SKILLLIST:x|y,y || Consistency || Desire to make ADD: consistent with SPELLLIST and SKILLLIST || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/7512 _exp 7512]
 
|-
 
|-
 
| Global || PREALIGN || PREALIGN:x (align abbr) PREALIGN:x (number) || Eliminate Numbers || PREALIGN:x (align abbr) || Not fully functioning, Consistency || Simplifies Token, makes Alignments clear across game modes ||
 
| Global || PREALIGN || PREALIGN:x (align abbr) PREALIGN:x (number) || Eliminate Numbers || PREALIGN:x (align abbr) || Not fully functioning, Consistency || Simplifies Token, makes Alignments clear across game modes ||
Line 68: Line 68:
 
| Global || PRExxx: || PRExxx: || Expand/Rebuild Behavior || PRE:xxx|... REQ:xxx|... EQPRE:xxx|... EQREQ:xxx|... || Disambiguation, Validation, Consistency, Performance, Syntax ||  ||
 
| Global || PRExxx: || PRExxx: || Expand/Rebuild Behavior || PRE:xxx|... REQ:xxx|... EQPRE:xxx|... EQREQ:xxx|... || Disambiguation, Validation, Consistency, Performance, Syntax ||  ||
 
|-
 
|-
| Class || LEVELSPERFEAT || LEVELSPERFEAT:x || Eliminate Magical Value (0) || LEVELSPERFEAT:x || Syntax || The general issue here is that this is PER something, implying division. Using zero implies division by zero, which is non-sensical (it implies infinite feats). Since that is not the case, it is either a bug in the datasets that contain it, or it is a magical value that needs to be eliminated. || [[http://tech.groups.yahoo.com/group/pcgen_experimental/message/8382 exp_8382]]
+
| Class || LEVELSPERFEAT || LEVELSPERFEAT:x || Eliminate Magical Value (0) || LEVELSPERFEAT:x || Syntax || The general issue here is that this is PER something, implying division. Using zero implies division by zero, which is non-sensical (it implies infinite feats). Since that is not the case, it is either a bug in the datasets that contain it, or it is a magical value that needs to be eliminated. || [http://tech.groups.yahoo.com/group/pcgen_experimental/message/8382 exp_8382]
 
|-
 
|-
 
| Spell || CT || CT: || Dead Code || TBD - required for Alpha set? ||  ||  ||
 
| Spell || CT || CT: || Dead Code || TBD - required for Alpha set? ||  ||  ||
 
|-
 
|-
| Spell || COST || COST:x|y,z || y,z causes error - loads as zero ||  ||  || Fix for data use of COST || Tracker [[http://sourceforge.net/tracker/index.php?func=detail&aid=1968742&group_id=25576&atid=837763 1968742]]
+
| Spell || COST || COST:x|y,z || y,z causes error - loads as zero ||  ||  || Fix for data use of COST || Tracker [http://sourceforge.net/tracker/index.php?func=detail&aid=1968742&group_id=25576&atid=837763 1968742]
 
|}
 
|}
  
 
In addition, it would be nice to define for the 6.0 branch the preferred output format of SOURCEDATE: ... once it is actually stored as a DATE, I doubt we want it written out in the default form (e.g. Wed Mar 28 00:00:00 EDT 2007)
 
In addition, it would be nice to define for the 6.0 branch the preferred output format of SOURCEDATE: ... once it is actually stored as a DATE, I doubt we want it written out in the default form (e.g. Wed Mar 28 00:00:00 EDT 2007)

Revision as of 14:36, 4 August 2008

The following are the philosophies underlying these token change proposals for the 5.15 cycle:

  1. Elimination of magical values: Values like -1 that represent unlimited should be replaced by "UNLIMITED" or a String otherwise explictly identifying the meaning of the special value.
  2. Elimination of duplicate code by consolidating tokens
  3. Completion of Ability Object changes
  4. Preparation for CDOM parsing of tokens
  5. Performance (in one or two cases)
  6. Elimination of complicated, undocumented interactions

The following are the definitions of the Reason in the token change proposals:

  • Syntax: This is a proposed syntax change to improve clarity and eliminate a magical value that is not clearly identified
  • Consistency: This is a proposed change to improve consistency between tokens
  • Duplicate: This is a proposed change to eliminate an alternate way of achieving an identical result
  • Upgrade: This is a proposed change based on upgrades made to PCGen to keep the application consistent
  • Nonfunctioning: This is a proposed change due to the token not functioning in the current rev of PCGen
  • Unnecessary: This is a token that provides insights, but requires no processing by the code
  • Performance: This is a proposed change that will reducing parsing complexity and thus improve speed
  • Complicated: This is a proposed change that eliminates complicated behavior

The following are the actual proposed changes to tokens:

There is a complete rebuild of CHOOSE proposed: CHOOSE Proposal for 6.0

Token LST File Token Name Current Syntax Syntax Change Future Syntax Reason Justification for Change Discussion/Approval/FREQ
Template BONUSSKILLPOINTS BONUSSKILLPOINTS:x TBD Consistency XTRASKILLPTSPERLVL in Race matches behavior of BONUSSKILLPOINTS in Template LST file _exp 7511
Race XTRASKILLPTSPERLVL XTRASKILLPTSPERLVL:x TBD Consistency XTRASKILLPTSPERLVL in Race matches behavior of BONUSSKILLPOINTS in Template LST file _exp 7511
Class HASSUBCLASS HASSUBCLASS REQUIRE :YES HASSUBCLASS:YES Consistency Tokens are A:B, not A IMPLEMENTED
Class HASSUBSTITUTIONLEVEL HASSUBSTITUTIONLEVEL REQUIRE :YES HASSUBSTUTIONLEVEL:YES Consistency Tokens are A:B not A IMPLEMENTED
Class HASSUBCLASS HASSUBCLASS: Deprecate special SUBCLASS:Foo.FORGET Duplicate, Unnecessary Unused in the code
Class HASSUBSTITUTIONLEVEL HASSUBSTITUTIONLEVEL: Deprecate special SUBSTITUTIONLEVEL:Foo.FORGET Duplicate, Unnecessary Unused in the code
Class HASSPELLFORMULA HASSPELLFORMULA Deprecate none Unnecessary This is for intelligence gathering/debugging value to the data team, unneeded by code IMPLEMENTED
Class CHECK* CHECK* Deprecate none Unnecessary Unused code IMPLEMENTED
Race FAVCLASS x Deprecate x Consistency FAVOREDCLASS is used on Template LST Alternate to this is to change Template LST to FAVCLASS Also consider making this specific to Class vs. Subclass... ?? _exp 7466 _exp 7511
Class CRFORMULA CRFORMULA:x Deprecate CR:x Consistency NOTE: This is an undocumented Token, it is NOT the GameMode Token CR: is used on Race, there is no reason to state FORMULA in the token name _exp 7467] _exp 7511
Global ADD: y,y TBD Consistency Desire to make ADD: consistent with SPELLLIST and SKILLLIST [_exp 7512]
Global AUTO: y,y TBD Consistency Desire to make AUTO: consistent with ADD:, SPELLLIST and SKILLIST Also for AUTO:, convert to putting PRExxx at end of the Token [_exp 8018]
Class SPELLLIST y|y to , y,y Consistency Desire to make ADD: consistent with SPELLLIST and SKILLLIST _exp 7512
Class SKILLLIST y|y to , y,y Consistency Desire to make ADD: consistent with SPELLLIST and SKILLLIST _exp 7512
Global PREALIGN PREALIGN:x (align abbr) PREALIGN:x (number) Eliminate Numbers PREALIGN:x (align abbr) Not fully functioning, Consistency Simplifies Token, makes Alignments clear across game modes
Global PREDEITYALIGN PREDEITYALIGN:x PREDEITYALIGN:Deity Eliminate Numbers PREDEITYALIGN:x PREDEITYALIGN:Deity Not fully functioning, Consistency Simplifies Token, makes Alignments clear across game modes
Template REGION REGION:x REGION:Yes Deprecate YES REGION:x RACEREGION:x Complicated Simplifies Token to perform one action, rather than two
Global ADD:SPELLCASTER Arcane Make Type require a type TYPE=Arcane Consistency, Disambiguation Avoids name conflicts with classes and types of Spellcasting, keeps token consistent with other tokens
Global PRExxx: PRExxx: Expand/Rebuild Behavior ... REQ:xxx|... EQPRE:xxx|... EQREQ:xxx|... Disambiguation, Validation, Consistency, Performance, Syntax
Class LEVELSPERFEAT LEVELSPERFEAT:x Eliminate Magical Value (0) LEVELSPERFEAT:x Syntax The general issue here is that this is PER something, implying division. Using zero implies division by zero, which is non-sensical (it implies infinite feats). Since that is not the case, it is either a bug in the datasets that contain it, or it is a magical value that needs to be eliminated. exp_8382
Spell CT CT: Dead Code TBD - required for Alpha set?
Spell COST y,z y,z causes error - loads as zero Fix for data use of COST Tracker 1968742

In addition, it would be nice to define for the 6.0 branch the preferred output format of SOURCEDATE: ... once it is actually stored as a DATE, I doubt we want it written out in the default form (e.g. Wed Mar 28 00:00:00 EDT 2007)