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:)
 
(2 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
   |}
 
   |}
  
==The following are the philosophies underlying these token change proposals for the 5.15 cycle:==
+
==Underlying Philosophies for Changes==
  
 
# 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.
 
# 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.
Line 12: Line 12:
 
# Elimination of complicated, undocumented interactions
 
# Elimination of complicated, undocumented interactions
  
==The following are the definitions of the Reason in the token change proposals:==
+
==Definition of "Reason" Terminology==
  
 
* Syntax: This is a proposed syntax change to improve clarity and eliminate a magical value that is not clearly identified
 
* Syntax: This is a proposed syntax change to improve clarity and eliminate a magical value that is not clearly identified
Line 23: Line 23:
 
* Complicated: This is a proposed change that eliminates complicated behavior
 
* Complicated: This is a proposed change that eliminates complicated behavior
  
==The following are the actual proposed changes to tokens:==
+
==Proposed Token Changes==
  
 
There is a complete rebuild of CHOOSE proposed: [[CHOOSE Token Proposal for 6.0|CHOOSE Proposal for 6.0]]
 
There is a complete rebuild of CHOOSE proposed: [[CHOOSE Token Proposal for 6.0|CHOOSE Proposal for 6.0]]
Line 29: Line 29:
 
{| style="width:100%" border="1"
 
{| style="width:100%" border="1"
 
! '''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]
 
|-
 
| 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'''
 
|-
 
|-
 
| Class || HASSUBSTITUTIONLEVEL || HASSUBSTITUTIONLEVEL || REQUIRE :YES || HASSUBSTUTIONLEVEL: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 || 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'''
 
| 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]<br>
 
[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]<br>
 
[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 || 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 || 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 || 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 || ADD:SPELLCASTER|Arcane || Make Type require a type || ADD:SPELLCASTER|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 || 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]
 
|-
 
| 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 || [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)

Latest revision as of 14:21, 23 March 2009

Underlying Philosophies for Changes

  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

Definition of "Reason" Terminology

  • 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

Proposed Token Changes

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
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 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

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)