<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://159.203.101.162/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LegacyKing</id>
	<title>PCGen Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://159.203.101.162/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LegacyKing"/>
	<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php/Special:Contributions/LegacyKing"/>
	<updated>2026-05-13T15:09:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Talk:LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4373</id>
		<title>Talk:LegacyKing and MertonMonk discuss specs for replacement app</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Talk:LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4373"/>
		<updated>2025-10-30T01:49:11Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Initial responses.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''mertonmonk''' — 5:21 PM&lt;br /&gt;
My thoughts in partially random order:&lt;br /&gt;
The 'rules' and 'basic formulas' associated with a game-type can be contained in a default character that is associated with that game-type.  This way you can associate the default ability scores and other base elements, including formulas for determining ac, hp, etc, to a default character.  The PC's character has a reference to this default character, so the PC character really only contains character selections.  For example, a dwarf cleric of level 1 would have a character object that contains links to the default pc, the dwarf object, cleric object, cleric-level-1 object, total-class-level 1 object, and links to whatever objects the character selected for being a dwarf and a level 1 cleric.  I like your idea about uids.&lt;br /&gt;
&lt;br /&gt;
The data files for a particular source could be split into multiple files (say, all the feats in one file, classes in another, etc.) or they could all be in one file.  Since the object structure for all objects will be the same, having them all in one easily-shared file is a possibility.  Having it in multiple files makes it easier for people to split up the work for crafting the data.&lt;br /&gt;
&lt;br /&gt;
'''mertonmonk''' — 5:36 PM&lt;br /&gt;
Internally the code should contain all the data about a character in a map and stacking rules can be defined/applied to the map nodes.  All values should be in the format main.sub1...subx..bonustype.  For example, combat.ac.armor, would be a valid bonus key.  Each value would also contain a link to the source of where it came from so debugging a value is easier.&lt;br /&gt;
We will need to discuss the syntax of formulas.  There are free libraries that can be used to evaluate a math equation once all tokens have been replaced with numerics.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''LegacyKing''' — 6:37 PM&lt;br /&gt;
Having multiple files allows for easier debugging - and easier organization. Some files are already thousands of lines long I don't imagine it'd be fun to try and find x.&lt;br /&gt;
&lt;br /&gt;
I'm up for the discussion, let me know. The beauty of what Tom Parker built is it supports non-numerical formats. Replacing a string with another string, changing alignment (reversing alignment or gender due to a cursed item is possible).&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4371</id>
		<title>LegacyKing and MertonMonk discuss specs for replacement app</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4371"/>
		<updated>2025-10-29T16:23:08Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to lay the groundwork for taking the best of existing PCGen and being unhindered with backwards compatible constraints to build a PCGen &amp;quot;Remastered&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Design Philosophy: Data driven, code engine system agnostic ==&lt;br /&gt;
&lt;br /&gt;
UI/UX - Every &amp;quot;blade&amp;quot; should be fully customizable and language friendly (Support for any language) - We should be able to define these by 'system'&lt;br /&gt;
&lt;br /&gt;
PCGen built sets based on books, which is a nice structure to understand what is included. But the method of selecting compatible books was painful. A checkbox and tree view would be ideal. Also the idea of optional rules being selected here would make sense. (DISCUSSION TOPIC)&lt;br /&gt;
&lt;br /&gt;
Legal - Systems Licenses should be displayed or available to view, and each content source should clearly delineate it's license.&lt;br /&gt;
&lt;br /&gt;
Code will utilize a simplistic design to replicate to all objects.&lt;br /&gt;
&lt;br /&gt;
OUTPUT/DISPLAY - Most groups use smaller devices at their tabletop, formats like html or pdf that can be viewed is nice. We don't expect the app to be used real-time, but if it is, the displays should work and present the up-to-date details (especially true for temporary bonuses).&lt;br /&gt;
* EXPORT: Do we retain the three formats, or move to a single format? FREEMARKER template engine is an impressive engine, it does have some drawbacks that the export needs to understand to function fully, but the engine has made vast improvements. &lt;br /&gt;
&lt;br /&gt;
PDF - Has the most support and backend configuration (base.xml.ftl with the macros and templates &amp;gt; various blocks to allow for modular sheet building)&lt;br /&gt;
- Talks surrounding a unified platform that could alter the output to various formats (Honestly a single template with multiple exports would be ideal and cut down on the knowledge required to add/remove features).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CODE / CONTENT ==&lt;br /&gt;
&lt;br /&gt;
=== Re-use the code that shows promise: ===&lt;br /&gt;
&lt;br /&gt;
Formula (Replacement for JEP)&lt;br /&gt;
&lt;br /&gt;
Full Write up here - [http://pcgen.org/w/index.php/Setting_up_the_new_Formula_System Setting up the Formula System]&lt;br /&gt;
&lt;br /&gt;
* MODIFY/MODIFYOTHER - Handles all variables&lt;br /&gt;
* - [http://pcgen.org/w/index.php/Dynamic_Scopes DYNAMIC Scopes] &lt;br /&gt;
* - [http://pcgen.org/w/index.php/Lookup_Table LOOKUP TABLES]&lt;br /&gt;
* - [http://pcgen.org/w/index.php/INFO/INFOVARS INFO/INFOVARS]&lt;br /&gt;
&lt;br /&gt;
Not Coded:&lt;br /&gt;
* [http://pcgen.org/w/index.php/SELECTION_-_A_CHOOSE_Replacement SELECTION] (replace the CHOICE/CHOOSER)&lt;br /&gt;
&lt;br /&gt;
== What are we solving for - aka Requirements ==&lt;br /&gt;
&lt;br /&gt;
In most d20 systems a character must prequalify before taking something (feats, powers); conversely, during some situations, the qualifications may be lost causing the loss of an ability (required)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* If a feat required Dex 13, and the character's dexterity is below 13 they lose access to the benefits of the feat.&lt;br /&gt;
* A spellcaster requires a minimum spellcasting score to cast any given level.&lt;br /&gt;
&lt;br /&gt;
PRE/REQ&lt;br /&gt;
&lt;br /&gt;
PRE: What it takes to take the object&lt;br /&gt;
REQ: What it takes to use the object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spells/Power - This system while functional, is outdated and requires a major facelift.&lt;br /&gt;
&lt;br /&gt;
Requirements - &lt;br /&gt;
Ability to group spells together in a hierarchy (Classification, List, Level, or class/level as required by the system)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 1e spells were grouped by category, schools, class and level&lt;br /&gt;
* 3e spells were grouped by category, class specific level  (Also some had special subcategories of casting/ability such as Specialization for wizards, and Domains for clerics)&lt;br /&gt;
* 4e spells were called 'powers' and categorized by tiers and class&lt;br /&gt;
* 5e spells were grouped by category, level &lt;br /&gt;
&lt;br /&gt;
Spells need to be selectable based upon criteria, assignable to specific class or category. And update in real-time (We've had issues where spell assignments never populated until application or character reload)&lt;br /&gt;
&lt;br /&gt;
Additionally, the ability to add and remove things such as attachments or crystals to equipment (aka containers) is a necessary issue. Tom, Mark and myself had a discussion on how to make sure bonuses would apply when attachments are used here: [[Proposal_Attachment|Attachment Proposal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Character save files: &lt;br /&gt;
1) Limitations - The saved file lacks the photo assigned to it (Dimensions, etc.) meaning a GM sent the file cannot have a working copy. The filepaths are absolutes typically meaning companions are broken when shared.&lt;br /&gt;
&lt;br /&gt;
Directory Structure should allow for a more unified experience.&lt;br /&gt;
&lt;br /&gt;
Characters and associated companions should be saved as such:&lt;br /&gt;
* character_directory/game_system/characters &amp;lt;-- all characters&lt;br /&gt;
* character_directory/game_system/characters/companions &amp;lt;-- All support companions &lt;br /&gt;
&lt;br /&gt;
Taking a best practice, we should encode a uid for every character and use that as the reference to the pairing for companions (if we can make these globally unique, great, otherwise, something randomly generated based off of date, time and a random salt created per installation)&lt;br /&gt;
 &lt;br /&gt;
I'll use an xml format for illustration purposes, I really don't care how the final file format is made... But some initial ideas&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;character&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Baldwin&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;uid&amp;gt;20251029_efffe34437389734&amp;lt;/uid&amp;gt;&lt;br /&gt;
    &amp;lt;linked_uids&amp;gt;&lt;br /&gt;
     &amp;lt;uid_1&amp;gt;&lt;br /&gt;
      &amp;lt;uid&amp;gt;20251029_fffejahdkjjkf&amp;lt;/uid&amp;gt;&lt;br /&gt;
      &amp;lt;reference_name&amp;gt;Baldwin's Familiar&amp;lt;/reference_name&amp;gt;&lt;br /&gt;
      &amp;lt;reference_relationship&amp;gt;companion&amp;lt;/reference_relationship&amp;gt;&lt;br /&gt;
     &amp;lt;/uid_1&amp;gt;&lt;br /&gt;
   &amp;lt;linked_uids&amp;gt;&lt;br /&gt;
  &amp;lt;/character&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;character&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Baldwin's Familiar&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uid&amp;gt;20251029_fffejahdkjjkf&amp;lt;uid&amp;gt;&lt;br /&gt;
    &amp;lt;linked_uids&amp;gt;&lt;br /&gt;
      &amp;lt;uid_1&amp;gt;&lt;br /&gt;
       &amp;lt;uid&amp;gt;20251029_efffe34437389734&amp;lt;/uid&amp;gt;&lt;br /&gt;
       &amp;lt;reference_name&amp;gt;Baldwin&amp;lt;/reference_name&amp;gt;&lt;br /&gt;
       &amp;lt;reference_relationship&amp;gt;master&amp;lt;/reference_relationship&amp;gt;&lt;br /&gt;
      &amp;lt;/uid_1&amp;gt;&lt;br /&gt;
    &amp;lt;linked_uids&amp;gt;&lt;br /&gt;
   &amp;lt;/character&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NICE TO HAVE:&lt;br /&gt;
* - Customizer&lt;br /&gt;
&lt;br /&gt;
SUBPAGES:&lt;br /&gt;
&lt;br /&gt;
[[PCGen 2e - Token List]]&lt;br /&gt;
&lt;br /&gt;
[[Pathfinder 2e - Remastered design]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4370</id>
		<title>LegacyKing and MertonMonk discuss specs for replacement app</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4370"/>
		<updated>2025-10-29T06:28:52Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* Re-use the code that shows promise: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to lay the groundwork for taking the best of existing PCGen and being unhindered with backwards compatible constraints to build a PCGen &amp;quot;Remastered&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Design Philosophy: Data driven, code engine system agnostic ==&lt;br /&gt;
&lt;br /&gt;
UI/UX - Every &amp;quot;blade&amp;quot; should be fully customizable and language friendly (Support for any language) - We should be able to define these by 'system'&lt;br /&gt;
&lt;br /&gt;
PCGen built sets based on books, which is a nice structure to understand what is included. But the method of selecting compatible books was painful. A checkbox and tree view would be ideal. Also the idea of optional rules being selected here would make sense. (DISCUSSION TOPIC)&lt;br /&gt;
&lt;br /&gt;
Legal - Systems Licenses should be displayed or available to view, and each content source should clearly delineate it's license.&lt;br /&gt;
&lt;br /&gt;
Code will utilize a simplistic design to replicate to all objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Re-use the code that shows promise: ==&lt;br /&gt;
&lt;br /&gt;
Formula (Replacement for JEP)&lt;br /&gt;
&lt;br /&gt;
Full Write up here - [http://pcgen.org/w/index.php/Setting_up_the_new_Formula_System Setting up the Formula System]&lt;br /&gt;
&lt;br /&gt;
* MODIFY/MODIFYOTHER - Handles all variables&lt;br /&gt;
* - [http://pcgen.org/w/index.php/Dynamic_Scopes DYNAMIC Scopes] &lt;br /&gt;
* - [http://pcgen.org/w/index.php/Lookup_Table LOOKUP TABLES]&lt;br /&gt;
* - [http://pcgen.org/w/index.php/INFO/INFOVARS INFO/INFOVARS]&lt;br /&gt;
&lt;br /&gt;
Not Coded:&lt;br /&gt;
* [http://pcgen.org/w/index.php/SELECTION_-_A_CHOOSE_Replacement SELECTION] (replace the CHOICE/CHOOSER)&lt;br /&gt;
&lt;br /&gt;
== What are we solving for - aka Requirements ==&lt;br /&gt;
&lt;br /&gt;
In most d20 systems a character must prequalify before taking something (feats, powers); conversely, during some situations, the qualifications may be lost causing the loss of an ability (required)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* If a feat required Dex 13, and the character's dexterity is below 13 they lose access to the benefits of the feat.&lt;br /&gt;
* A spellcaster requires a minimum spellcasting score to cast any given level.&lt;br /&gt;
&lt;br /&gt;
PRE/REQ&lt;br /&gt;
&lt;br /&gt;
PRE: What it takes to take the object&lt;br /&gt;
REQ: What it takes to use the object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spells/Power - This system while functional, is outdated and requires a major facelift.&lt;br /&gt;
&lt;br /&gt;
Requirements - &lt;br /&gt;
Ability to group spells together in a hierarchy (Classification, List, Level, or class/level as required by the system)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 1e spells were grouped by category, schools, class and level&lt;br /&gt;
* 3e spells were grouped by category, class specific level  (Also some had special subcategories of casting/ability such as Specialization for wizards, and Domains for clerics)&lt;br /&gt;
* 4e spells were called 'powers' and categorized by tiers and class&lt;br /&gt;
* 5e spells were grouped by category, level &lt;br /&gt;
&lt;br /&gt;
Spells need to be selectable based upon criteria, assignable to specific class or category. And update in real-time (We've had issues where spell assignments never populated until application or character reload)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NICE TO HAVE:&lt;br /&gt;
* - Customizer&lt;br /&gt;
&lt;br /&gt;
SUBPAGES:&lt;br /&gt;
&lt;br /&gt;
[[PCGen 2e - Token List]]&lt;br /&gt;
&lt;br /&gt;
[[Pathfinder 2e - Remastered design]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Pathfinder_2e_-_Remastered_design&amp;diff=4369</id>
		<title>Pathfinder 2e - Remastered design</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Pathfinder_2e_-_Remastered_design&amp;diff=4369"/>
		<updated>2025-10-28T23:11:28Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;  Breakout (We need an ability to display Icons to represent actions and traits)   ABILITY SCORE &amp;lt;--  Strength Dexterity Constitution Intelligence Wisdom Charisma  Score is a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Breakout (We need an ability to display Icons to represent actions and traits)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ABILITY SCORE &amp;lt;-- &lt;br /&gt;
Strength&lt;br /&gt;
Dexterity&lt;br /&gt;
Constitution&lt;br /&gt;
Intelligence&lt;br /&gt;
Wisdom&lt;br /&gt;
Charisma&lt;br /&gt;
&lt;br /&gt;
Score is a value 1-30 typically. &lt;br /&gt;
&lt;br /&gt;
System specific rules&lt;br /&gt;
Default method: All characters begin with a value of 10 in all ability scores, ability boosts add 2 to the score while ability flaws reduce by 2. However, if the score is 18 or higher, the boost benefit is reduced to 1. Furthermore, level 1 characters may not have a starting value over 18.&lt;br /&gt;
&lt;br /&gt;
Alternatives - roll and assign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alignment (Moral and ethical attitude) (Standard nine Good, Neutral, Evil with Lawful, Neutral and Chaos axis)&lt;br /&gt;
&lt;br /&gt;
Age has no mechanical bearing in 2e&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ancestries (aka Race or Species)&lt;br /&gt;
* Dwarf&lt;br /&gt;
* Elf&lt;br /&gt;
* Gnome&lt;br /&gt;
* Goblin&lt;br /&gt;
* Halfling&lt;br /&gt;
* Human&lt;br /&gt;
&lt;br /&gt;
Heritage + Ancestry Feat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Backgrounds &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hit Points - No longer just from Class levels, but also dictated by Ancestry.&lt;br /&gt;
&lt;br /&gt;
Classes (Levels 1-20) PF2e caps at level 20&lt;br /&gt;
* Alchemist&lt;br /&gt;
* Barbarian&lt;br /&gt;
* Bard&lt;br /&gt;
* champion&lt;br /&gt;
* Cleric&lt;br /&gt;
* Druid&lt;br /&gt;
* Fighter&lt;br /&gt;
* Monk&lt;br /&gt;
* Ranger&lt;br /&gt;
* Rogue&lt;br /&gt;
* Sorcerer&lt;br /&gt;
* Wizard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skills&lt;br /&gt;
&lt;br /&gt;
Feats&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Equipment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spells&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MISC:&lt;br /&gt;
&lt;br /&gt;
Rules&lt;br /&gt;
Conditions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Version LK has is OGL v1.0a&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4368</id>
		<title>LegacyKing and MertonMonk discuss specs for replacement app</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4368"/>
		<updated>2025-10-28T22:47:57Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to lay the groundwork for taking the best of existing PCGen and being unhindered with backwards compatible constraints to build a PCGen &amp;quot;Remastered&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Design Philosophy: Data driven, code engine system agnostic ==&lt;br /&gt;
&lt;br /&gt;
UI/UX - Every &amp;quot;blade&amp;quot; should be fully customizable and language friendly (Support for any language) - We should be able to define these by 'system'&lt;br /&gt;
&lt;br /&gt;
PCGen built sets based on books, which is a nice structure to understand what is included. But the method of selecting compatible books was painful. A checkbox and tree view would be ideal. Also the idea of optional rules being selected here would make sense. (DISCUSSION TOPIC)&lt;br /&gt;
&lt;br /&gt;
Legal - Systems Licenses should be displayed or available to view, and each content source should clearly delineate it's license.&lt;br /&gt;
&lt;br /&gt;
Code will utilize a simplistic design to replicate to all objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Re-use the code that shows promise: ==&lt;br /&gt;
&lt;br /&gt;
Formula (Replacement for JEP)&lt;br /&gt;
&lt;br /&gt;
* MODIFY/MODIFYOTHER - Handles all variables&lt;br /&gt;
* - DYNAMIC &lt;br /&gt;
* - TABLES&lt;br /&gt;
* SELECTION (replace the CHOICE/CHOOSER)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What are we solving for - aka Requirements ==&lt;br /&gt;
&lt;br /&gt;
In most d20 systems a character must prequalify before taking something (feats, powers); conversely, during some situations, the qualifications may be lost causing the loss of an ability (required)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* If a feat required Dex 13, and the character's dexterity is below 13 they lose access to the benefits of the feat.&lt;br /&gt;
* A spellcaster requires a minimum spellcasting score to cast any given level.&lt;br /&gt;
&lt;br /&gt;
PRE/REQ&lt;br /&gt;
&lt;br /&gt;
PRE: What it takes to take the object&lt;br /&gt;
REQ: What it takes to use the object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spells/Power - This system while functional, is outdated and requires a major facelift.&lt;br /&gt;
&lt;br /&gt;
Requirements - &lt;br /&gt;
Ability to group spells together in a hierarchy (Classification, List, Level, or class/level as required by the system)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 1e spells were grouped by category, schools, class and level&lt;br /&gt;
* 3e spells were grouped by category, class specific level  (Also some had special subcategories of casting/ability such as Specialization for wizards, and Domains for clerics)&lt;br /&gt;
* 4e spells were called 'powers' and categorized by tiers and class&lt;br /&gt;
* 5e spells were grouped by category, level &lt;br /&gt;
&lt;br /&gt;
Spells need to be selectable based upon criteria, assignable to specific class or category. And update in real-time (We've had issues where spell assignments never populated until application or character reload)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NICE TO HAVE:&lt;br /&gt;
* - Customizer&lt;br /&gt;
&lt;br /&gt;
SUBPAGES:&lt;br /&gt;
&lt;br /&gt;
[[PCGen 2e - Token List]]&lt;br /&gt;
&lt;br /&gt;
[[Pathfinder 2e - Remastered design]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4367</id>
		<title>LegacyKing and MertonMonk discuss specs for replacement app</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4367"/>
		<updated>2025-10-28T22:47:34Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to lay the groundwork for taking the best of existing PCGen and being unhindered with backwards compatible constraints to build a PCGen &amp;quot;Remastered&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Design Philosophy: Data driven, code engine system agnostic ==&lt;br /&gt;
&lt;br /&gt;
UI/UX - Every &amp;quot;blade&amp;quot; should be fully customizable and language friendly (Support for any language) - We should be able to define these by 'system'&lt;br /&gt;
&lt;br /&gt;
PCGen built sets based on books, which is a nice structure to understand what is included. But the method of selecting compatible books was painful. A checkbox and tree view would be ideal. Also the idea of optional rules being selected here would make sense. (DISCUSSION TOPIC)&lt;br /&gt;
&lt;br /&gt;
Legal - Systems Licenses should be displayed or available to view, and each content source should clearly delineate it's license.&lt;br /&gt;
&lt;br /&gt;
Code will utilize a simplistic design to replicate to all objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Re-use the code that shows promise: ==&lt;br /&gt;
&lt;br /&gt;
Formula (Replacement for JEP)&lt;br /&gt;
&lt;br /&gt;
* MODIFY/MODIFYOTHER - Handles all variables&lt;br /&gt;
* - DYNAMIC &lt;br /&gt;
* - TABLES&lt;br /&gt;
* SELECTION (replace the CHOICE/CHOOSER)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What are we solving for - aka Requirements ==&lt;br /&gt;
&lt;br /&gt;
In most d20 systems a character must prequalify before taking something (feats, powers); conversely, during some situations, the qualifications may be lost causing the loss of an ability (required)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* If a feat required Dex 13, and the character's dexterity is below 13 they lose access to the benefits of the feat.&lt;br /&gt;
* A spellcaster requires a minimum spellcasting score to cast any given level.&lt;br /&gt;
&lt;br /&gt;
PRE/REQ&lt;br /&gt;
&lt;br /&gt;
PRE: What it takes to take the object&lt;br /&gt;
REQ: What it takes to use the object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spells/Power - This system while functional, is outdated and requires a major facelift.&lt;br /&gt;
&lt;br /&gt;
Requirements - &lt;br /&gt;
Ability to group spells together in a hierarchy (Classification, List, Level, or class/level as required by the system)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 1e spells were grouped by category, schools, class and level&lt;br /&gt;
* 3e spells were grouped by category, class specific level  (Also some had special subcategories of casting/ability such as Specialization for wizards, and Domains for clerics)&lt;br /&gt;
* 4e spells were called 'powers' and categorized by tiers and class&lt;br /&gt;
* 5e spells were grouped by category, level &lt;br /&gt;
&lt;br /&gt;
Spells need to be selectable based upon criteria, assignable to specific class or category. And update in real-time (We've had issues where spell assignments never populated until application or character reload)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NICE TO HAVE:&lt;br /&gt;
* - Customizer&lt;br /&gt;
&lt;br /&gt;
SUBPAGES:&lt;br /&gt;
&lt;br /&gt;
[[PCGen 2e - Token List]]&lt;br /&gt;
[[Pathfinder 2e - Remastered design]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=PCGen_2e_-_Token_List&amp;diff=4366</id>
		<title>PCGen 2e - Token List</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=PCGen_2e_-_Token_List&amp;diff=4366"/>
		<updated>2025-10-28T22:46:44Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Initial page creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What to use where...&lt;br /&gt;
&lt;br /&gt;
The vast majority of tokens in PCGen today are game system specific for a base d20 game system. Some are characteristics that needed to be captured but can easily be handled with newer systems.&lt;br /&gt;
&lt;br /&gt;
d20 uses AGE and has milestones associated with certain age categories. Infant, child, youth, adult, middle-aged, old, ancient. To make this even more nuisanced, every race or species has a different age threshold. Humans are vastly different to elves and dwarves. Certain characteristics players enjoy having randomizers:&lt;br /&gt;
Hair color, eye color, skin tone, height, weight, sex/gender, handed, even names. While some races these characteristics don't apply - Lizardfolk/Dragonkin don't have hair. We need a method to alter some fields and inputs to be morphed to handle the diversity of the species available to a player.&lt;br /&gt;
&lt;br /&gt;
Additionally, newer game systems have completely altered the rules between a playable races and those that are controlled by a Game Master - requiring the ability to switch rules based on whether the character created is a player character or non-player character. See Sagaborn as an example of a complete separation between player generated characters, and GM generated characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While the intention is to support any game system, the focus initially will be around Pathfinder 'Remastered' as that is what is being used currently, and allows for a complete design shift for support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a general principle, all variables shall utilize the existing formula system Tom Parker created:&lt;br /&gt;
&lt;br /&gt;
MODIFY and MODIFYOTHER&lt;br /&gt;
* MODIFY is a direct modification of the object it is on if a local scope, or a GLOBAL variable.&lt;br /&gt;
* MODIFYOTHER is a modification of a local scope from another object (Think Feat altered a weapon such a improving the value of the critical)&lt;br /&gt;
&lt;br /&gt;
TABLE allows for things that can be referenced in a table or occur in a table. Some use cases - Encumbrance Load based upon the strength score (3e/35e/PF1e)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DISCUSSION LIST:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APPROVED LIST:&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4365</id>
		<title>LegacyKing and MertonMonk discuss specs for replacement app</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=LegacyKing_and_MertonMonk_discuss_specs_for_replacement_app&amp;diff=4365"/>
		<updated>2025-10-28T22:24:08Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;This page is to lay the groundwork for taking the best of existing PCGen and being unhindered with backwards compatible constraints to build a PCGen &amp;quot;Remastered&amp;quot;.   == Design...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to lay the groundwork for taking the best of existing PCGen and being unhindered with backwards compatible constraints to build a PCGen &amp;quot;Remastered&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Design Philosophy: Data driven, code engine system agnostic ==&lt;br /&gt;
&lt;br /&gt;
UI/UX - Every &amp;quot;blade&amp;quot; should be fully customizable and language friendly (Support for any language) - We should be able to define these by 'system'&lt;br /&gt;
&lt;br /&gt;
PCGen built sets based on books, which is a nice structure to understand what is included. But the method of selecting compatible books was painful. A checkbox and tree view would be ideal. Also the idea of optional rules being selected here would make sense. (DISCUSSION TOPIC)&lt;br /&gt;
&lt;br /&gt;
Legal - Systems Licenses should be displayed or available to view, and each content source should clearly delineate it's license.&lt;br /&gt;
&lt;br /&gt;
Code will utilize a simplistic design to replicate to all objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Re-use the code that shows promise: ==&lt;br /&gt;
&lt;br /&gt;
Formula (Replacement for JEP)&lt;br /&gt;
&lt;br /&gt;
* MODIFY/MODIFYOTHER - Handles all variables&lt;br /&gt;
* - DYNAMIC &lt;br /&gt;
* - TABLES&lt;br /&gt;
* SELECTION (replace the CHOICE/CHOOSER)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What are we solving for - aka Requirements ==&lt;br /&gt;
&lt;br /&gt;
In most d20 systems a character must prequalify before taking something (feats, powers); conversely, during some situations, the qualifications may be lost causing the loss of an ability (required)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* If a feat required Dex 13, and the character's dexterity is below 13 they lose access to the benefits of the feat.&lt;br /&gt;
* A spellcaster requires a minimum spellcasting score to cast any given level.&lt;br /&gt;
&lt;br /&gt;
PRE/REQ&lt;br /&gt;
&lt;br /&gt;
PRE: What it takes to take the object&lt;br /&gt;
REQ: What it takes to use the object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spells/Power - This system while functional, is outdated and requires a major facelift.&lt;br /&gt;
&lt;br /&gt;
Requirements - &lt;br /&gt;
Ability to group spells together in a hierarchy (Classification, List, Level, or class/level as required by the system)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* 1e spells were grouped by category, schools, class and level&lt;br /&gt;
* 3e spells were grouped by category, class specific level  (Also some had special subcategories of casting/ability such as Specialization for wizards, and Domains for clerics)&lt;br /&gt;
* 4e spells were called 'powers' and categorized by tiers and class&lt;br /&gt;
* 5e spells were grouped by category, level &lt;br /&gt;
&lt;br /&gt;
Spells need to be selectable based upon criteria, assignable to specific class or category. And update in real-time (We've had issues where spell assignments never populated until application or character reload)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NICE TO HAVE:&lt;br /&gt;
* - Customizer&lt;br /&gt;
&lt;br /&gt;
SUBPAGES:&lt;br /&gt;
&lt;br /&gt;
[[PCGen 2e - Token List]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Development_Specs&amp;diff=4364</id>
		<title>Development Specs</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Development_Specs&amp;diff=4364"/>
		<updated>2025-10-28T21:06:34Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Discussion regarding new app to replace the aging pcgen...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
This section lists the various Data Driven specifications under development&lt;br /&gt;
&lt;br /&gt;
[[LegacyKing and MertonMonk discuss specs for replacement app]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Specs currently under development ==&lt;br /&gt;
&lt;br /&gt;
[[Critical Thinking - Altering how we do things]]&lt;br /&gt;
&lt;br /&gt;
[[Limiting Known Spells from Domains]]&lt;br /&gt;
&lt;br /&gt;
[[Skill Cost and CSKILL Overhaul]]&lt;br /&gt;
&lt;br /&gt;
[[Spell Improvements]]&lt;br /&gt;
&lt;br /&gt;
[[Advanced Spell Chooser]]&lt;br /&gt;
&lt;br /&gt;
[[Prerequisites for Armor and Shield Proficiencies]]&lt;br /&gt;
&lt;br /&gt;
[[DONOTADD Tag Proposal Updates]] &amp;lt; Handy for Eclipse, but not required &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Method to Grant Companions Benefits direct from Master's Selections]] &amp;lt; Definitely handy for Eclipse &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[New Tag - Ability to Dynamically Handle HD/HP as a Var in a Single Class]] &amp;lt;Definitely Handy for Eclipse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Ability to Alter Skill Points per Level in a Single Class Dynamically]] &amp;lt;Almost crucial to better support Eclipse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[The Ability to Add additional Skill Cost changes dynamically]] &amp;lt;Needed for Eclipse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[The Ability to Dynamically add spells to a Spell List]] &amp;lt;Multiple Sets can use this&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[The Ability to Choose an Ability/Feat from a list and have it be assigned to a character]] &amp;lt;Handy for any set&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[The Ability to Adjust the Cost of an Ability/Feat]] &amp;lt;Crucial for Eclipse Support&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[We need a method to track when an ability was gained]] &amp;lt;Crucial for Practical Enchanter&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[COMPANIONLIST Improvements]] Something that would be helpful for new sources support&lt;br /&gt;
&lt;br /&gt;
[[Eclipse Master List]] Showing List of Issues for Eclipse&lt;br /&gt;
&lt;br /&gt;
[[Conditional Skill Proposal]] Better design to handle conditional skills&lt;br /&gt;
&lt;br /&gt;
[[BONUSTYPE to replace TYPE in assigning bonuses]]&lt;br /&gt;
&lt;br /&gt;
== Finalized Specs which now have associated code FREQ trackers ==&lt;br /&gt;
&lt;br /&gt;
[[Pathfinder bonus feat progression]]&lt;br /&gt;
&lt;br /&gt;
[[Additional Weapon Damage]]&lt;br /&gt;
&lt;br /&gt;
[[Equipment Variables]]&lt;br /&gt;
&lt;br /&gt;
== Finalized Specs which are now closed ==&lt;br /&gt;
&lt;br /&gt;
[[SORTKEY - The Ability to Sort Items other than default NAME alphabetical]] 5.17.4&lt;br /&gt;
&lt;br /&gt;
[[Spells Tab Revamp]] in 5.14.0&lt;br /&gt;
&lt;br /&gt;
[[ASPECT tag for Abilities and Feats]] in 5.15.3&lt;br /&gt;
&lt;br /&gt;
[[Pathfinder feat progression]] in 5.15.4&lt;br /&gt;
&lt;br /&gt;
[[Quick Source Loading Page]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Lookup_Table&amp;diff=4361</id>
		<title>Lookup Table</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Lookup_Table&amp;diff=4361"/>
		<updated>2023-06-22T22:28:39Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;Now it's lookup(TABLE[x,y], x, COLUMN[y])  TABLE and COLUMN will be special types.  Both are complicated types, meaning they will look something like: * TABLE[NUMBER,STRING] *...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Now it's lookup(TABLE[x,y], x, COLUMN[y])&lt;br /&gt;
&lt;br /&gt;
TABLE and COLUMN will be special types.  Both are complicated types, meaning they will look something like:&lt;br /&gt;
* TABLE[NUMBER,STRING]&lt;br /&gt;
* or &lt;br /&gt;
* COLUMN[STRING]&lt;br /&gt;
&lt;br /&gt;
Note that a MODIFY doesn't look any different.  It's still:&lt;br /&gt;
* MODIFY:TABLENAME|SET|SomeTable&lt;br /&gt;
&lt;br /&gt;
&amp;quot;SomeTable&amp;quot; is still a string to a naive reader, but what the system will do at that point is make sure that SomeTable can actually be interpreted as a TABLE[x,y]... rather than just treating it as a String.  Similar for the column names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In that way, the first variable will allow multiple tables to be swapped in, AS LONG AS they are the right format.  If the format is not compatible, then all bets are off and you'll get an error.  Note that a table that has formats like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NUMBER,NUMBER,STRING&lt;br /&gt;
&lt;br /&gt;
... will have multiple valid places it can be used, including:&lt;br /&gt;
* TABLE[NUMBER,NUMBER]&lt;br /&gt;
* TABLE[NUMBER,STRING]&lt;br /&gt;
&lt;br /&gt;
This doesn't mean you can assign one TABLE format to another if the table happens to be compatible.  I'm not even going to TRY to manage that one... and the use case is probably pretty narrow anyway.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that this still allows some runtime errors, but catches a lot of possible issues.  It is still possible to do a lookup on a Table that doesn't contain a specific column of the given name.  So if the third variable is COLUMN[NUMBER], we can check at load that the TABLEFORMAT has columns of FORMAT=NUMBER, but we can't guarantee the variable will resolve to a name actually in that table... that will have to wait for a runtime error.  That's life, but it does allow us to know the formats at load time, so we do get a lot of error checking in the context of the usage, if not the exact table and column names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tom&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* STARTTABLE:Carrying Capacity,&lt;br /&gt;
* Strength,Capacity&lt;br /&gt;
* NUMBER,NUMBER&lt;br /&gt;
* 1,10&lt;br /&gt;
* 2,20&lt;br /&gt;
* ...&lt;br /&gt;
* 29,1400&lt;br /&gt;
* ENDTABLE:Carrying Capacity,&lt;br /&gt;
&lt;br /&gt;
Ignoring some of the diagnosis of bad inputs that will be necessary, this is the key logic:&lt;br /&gt;
* (1) This format of START and END allows more than one table per file (avoids sprawl)&lt;br /&gt;
* (2) Trailing commas are ignored (this allows the STARTTABLE and ENDTABLE lines to have blank cells where the rest are the table contents... we don't want to complain on minor things that may tools will do.)&lt;br /&gt;
* (3) Blank lines will be ignored.  This includes lines with commas but without content. (allows tables to be separated by blank lines or lines of all commas)&lt;br /&gt;
* (4) The column names (Strength,Capacity) are always the first line of the table.  The Formats are always the second line.  The rest of the lines are content of the table&lt;br /&gt;
* (5) Attempts to use embedded line breaks or embedded quotes may or may not be supported by the parsing system, but certainly aren't supported for purposes of PCGen.&lt;br /&gt;
* Optionally:&lt;br /&gt;
* (6) Lines that have the first cell starting with &amp;quot;#&amp;quot; are considered comment lines and will be ignored.  This will likely need to include if the first cell is escaped in quotes, just for protection from any tools that quote by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The dicestep then becomes more like:&lt;br /&gt;
&lt;br /&gt;
* STARTTABLE:Dice Step,,,,,,,,,&lt;br /&gt;
* Dice,DOWN5,DOWN4,DOWN3,DOWN2,DOWN1,SELF,UP1,UP2,UP3,UP4,UP5,...&lt;br /&gt;
* DICE,DICE,DICE,DICE,DICE,DICE,DICE,DICE,DICE,DICE,DICE,DICE,...&lt;br /&gt;
* ...&lt;br /&gt;
* 1d3,-,-,0,1,1d2,1d3,1d4,1d6,1d8,2d6,3d6,...&lt;br /&gt;
* ...&lt;br /&gt;
* ENDTABLE:Dice Step,,,,,,,,,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that &amp;quot;self&amp;quot; here is clearly defined, and it's a matter of pulling out of the correct column.  Since the CSV format ignores leading/trailing spaces, one can easily have a spaced out version that is a table in a text editor if folks don't want to edit in a spreadsheet.  (Having someone write a &amp;quot;PrettyTable&amp;quot; ... a trivial perl or python program to do that for the data team seems fairly easy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I haven't fleshed it out, but there are some nuances here about what is &amp;quot;invalid&amp;quot; vs &amp;quot;empty&amp;quot; vs something else.  Lots of &amp;quot;-&amp;quot; used in various tables in rules and we'd need to decide what those mean so we don't just crash if it happens...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second major issue is how to do the lookup in data.  We can borrow some inspiration from things like Excel and Google Docs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''lookup(X,Y,Z)'''&lt;br /&gt;
&lt;br /&gt;
* X is a table name.  This must resolve in the formula system to a String that is a valid table name.&lt;br /&gt;
* Y is the lookup value in the table.  It must match the format of the column in the table.&lt;br /&gt;
* Z is the target column name.  This must resolve in the formula system to a String that is a valid table column name in the table named X&lt;br /&gt;
* &lt;br /&gt;
Thus max load calculation would be something like:&lt;br /&gt;
* lookup(&amp;quot;Carrying Capacity&amp;quot;,roundDown(StrScore),&amp;quot;Capacity&amp;quot;)*SizeMult&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In a formula - data controlled in a MODIFY.&lt;br /&gt;
(&lt;br /&gt;
&lt;br /&gt;
This ignores the over 29 logic, as well as how SizeMult was initialized (presumably from the SIZE: object), but those are not difficult.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To make the Dice Step example work, we would need something to find the correct column from the offset:&lt;br /&gt;
* STARTTABLE:Step Column,&lt;br /&gt;
* Steps,Name&lt;br /&gt;
* NUMBER,STRING&lt;br /&gt;
* -5,DOWN5&lt;br /&gt;
* -4,DOWN4&lt;br /&gt;
* ...&lt;br /&gt;
* 0,SELF&lt;br /&gt;
* 1,UP1&lt;br /&gt;
* ...&lt;br /&gt;
* ENDTABLE:Step Column,&lt;br /&gt;
&lt;br /&gt;
The query would then look up the correct column name and use that column from Dice Step:&lt;br /&gt;
&lt;br /&gt;
* lookup(&amp;quot;Dice Step&amp;quot;,BaseDamage,lookup(&amp;quot;Step Column&amp;quot;,CurrentSize-BaseSize,&amp;quot;Name&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
There are probably some nuances around things like range lookup (having it correctly deal with an input like 4.5 so the rounddown isn't necessary), but that is easy mechanics as part of the lookup function. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
One neat item would be that we could alter the query above to extract the table name into the Global Modifier file:&lt;br /&gt;
* MODIFY:DiceStepTable|SET|&amp;quot;Dice Step&amp;quot;&lt;br /&gt;
* lookup(DiceStepTable,BaseDamage,lookup(&amp;quot;Step Column&amp;quot;,CurrentSize-BaseSize,&amp;quot;Name&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if someone needs different dice steps for some reason... they can override the DiceStepTable variable and it will look up in a different table... so expansions could truly be expansions and not have to reach back into core PCC files in order to change key behaviors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another neat item is identical cast/known tables could be shared - the numbers would only need to be typed in once... :) ... since they are external to the Class file at that point... or if a subclass alters the default, just create a new table rather than having to BONUS/MODIFY all the numbers with adding and subtracting...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIDE COMMENT: This was regarding tables with no limits...&lt;br /&gt;
&lt;br /&gt;
* [7:45 PM] Tom Parker: so the min one is fairly easy&lt;br /&gt;
* [7:45 PM] Tom Parker: if STR &amp;lt; 0, result is zero&lt;br /&gt;
* [7:45 PM] Tom Parker: that can be easily done with a MODIFY SET with a higher priority&lt;br /&gt;
* [7:45 PM] Tom Parker: the max one is trickier, but basically you can do something like:&lt;br /&gt;
* [7:46 PM] Tom Parker: mult = roundup ( (basestr - 29) % 10)&lt;br /&gt;
* [7:46 PM] Tom Parker: lookup then uses -&amp;gt; basestr - (mult * 10)&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Dynamic_Scopes&amp;diff=4360</id>
		<title>Dynamic Scopes</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Dynamic_Scopes&amp;diff=4360"/>
		<updated>2023-06-22T22:24:25Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;On Vision (and movement for that matter)   Since originally designing the variable system, I have long considered vision to be just another variable, with &amp;quot;vision&amp;quot; actually be...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On Vision (and movement for that matter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since originally designing the variable system, I have long considered vision to be just another variable, with &amp;quot;vision&amp;quot; actually being a namespace.  I have shown examples of such, with VISION=Darkvision as a namespace and variable.  This has long been an interest to clean up because Vision is actually a rather weird object within PCGen.  It's halfway to things like Template and Skill, but leaves a lot of its code unused.  So it's a bit wasteful, but there is a recognition that it needs to have *some* level of &amp;quot;power&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That being said, my desire for a separate namespace has been built upon an assumption that I would eventually build a method of exposing all varibles of a certain namespace (to allow an output sheet to increment across all of the forms of vision).  We didn't cover that in the data meeting simply because we ran out of time (after running for 3 hours!?!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately, using a mere variable this runs into two challenges.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first is that there is data that &amp;quot;turns on and off&amp;quot; the vision based on the variables.  This hadn't really worried me - doing a bit of &amp;quot;pushing&amp;quot; on the data team to find constructs that work in the new system is good, and if it's really a problem, we can figure something out once I understand the exact rules construct that doesn't seem to work easily.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, in planning conversion there is an issue when looking at one of the types of vision:&lt;br /&gt;
Low-light Vision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a problem (and the second challenge).  Obviously &amp;quot;-&amp;quot; is a prohibited character in a variable name.  So is the space.  So we would have to have LowLightVision as the variable and then figure out a way for that to get &amp;quot;Low-Light Vision&amp;quot; onto the Output Sheet.  Preferably without hardcoding awareness of Low-Light vision  into the output sheet.  Could it be done? Yes.  Does it make a lot of sense to introduce LowLightVision (no minue, no space) as another String to be dealt with?  No.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reality is this: We have a &amp;quot;string name&amp;quot; (Low-Light Vision) and a numeric Range (60).  This fits better with the model of certain types of Vision also not having a range (but being present).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Trying to extract and carry together both a name and a number in a single variable is a bit crazy.  I could easily define a new format, but then that format suffers from the same conversion issues I challenged Mark on with respect to OrderedPair a while ago.  It's worse, actually.  And I'm not sure it even solves the &amp;quot;how to increment across all variables of a type&amp;quot; problem, which is code I haven't written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What we really need is the ability to define a &amp;quot;scope&amp;quot; on the fly, which creates a basically hollow, simple object.  So the scope is &amp;quot;VISION&amp;quot;, and we can then instantiate &amp;quot;Low-Light Vision&amp;quot; and give it a variable &amp;quot;Range&amp;quot;:&lt;br /&gt;
* DYNAMICSCOPE:VISION&lt;br /&gt;
* VISION:Low-Light Vision&lt;br /&gt;
* LOCAL:VISION|NUMBER|Range&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can then be modified as:&lt;br /&gt;
* MODIFYOTHER:VISION|Low-Light Vision|Range|SET|60&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since Vision is then an object that is in our &amp;quot;object library&amp;quot; (ReferenceContext to the code folks), we can pull the entire list from there (that code has long been written).  We can then expose the dynamic types in its own subvariable, and we then have a pretty easy way to increment across all vision objects:&lt;br /&gt;
* &amp;lt;#list ${pc.dynamic.vision} as vision&amp;gt;&lt;br /&gt;
*   ${vision.name} ${vision.val.number.range}&lt;br /&gt;
* &amp;lt;/#list&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(this ignores converting 60 to local units and all that, but you get the idea)&lt;br /&gt;
&lt;br /&gt;
So the proposal is this:&lt;br /&gt;
1)&lt;br /&gt;
&lt;br /&gt;
'''DYNAMICSCOPE:''' becomes a new data control variable. &lt;br /&gt;
&lt;br /&gt;
Like other LST tokens, this is case insensitive, but usage in later tokens is always capitalized, so I suspect the data standard should be all CAPS.&lt;br /&gt;
Any argument to that then becomes a legal &amp;quot;subtoken&amp;quot; in FILE:&lt;br /&gt;
&lt;br /&gt;
2)&lt;br /&gt;
&lt;br /&gt;
'''DYNAMIC:''' becomes a new token legal in PCC files.  It's format is:&lt;br /&gt;
&lt;br /&gt;
'''DYNAMIC:x'''&lt;br /&gt;
* x is the file just as in tokens like DEITY or DOMAIN&lt;br /&gt;
* INCLUDE/EXCLUDE on the line are are legal.&lt;br /&gt;
* The prefix MUST appear on the line, e.g.:&lt;br /&gt;
* VISION:Darkvision&lt;br /&gt;
* VISION:Low-Light Vision&lt;br /&gt;
&lt;br /&gt;
3) &lt;br /&gt;
&lt;br /&gt;
A Dynamic can not contain any information (no tokens).  It is NOT a full CDOMObject.&lt;br /&gt;
&lt;br /&gt;
4) &lt;br /&gt;
&lt;br /&gt;
For Variable Definition and usage in MODIFYOTHER, the appropriate argument &amp;quot;x&amp;quot; matches the DYNAMICSCOPE (e.g. VISION would sensibly be &amp;quot;x&amp;quot; below)&lt;br /&gt;
&lt;br /&gt;
* LOCAL:x|VAR|Range&lt;br /&gt;
* MODIFYOTHER:x|Low-Light Vision|SET|Range|60&lt;br /&gt;
&lt;br /&gt;
5) &lt;br /&gt;
&lt;br /&gt;
We introduce a new token usable in LST files:&lt;br /&gt;
* '''GRANT:x|y'''&lt;br /&gt;
* x is a DYNAMICSCOPE&lt;br /&gt;
* y is the name of the dynamic object.&lt;br /&gt;
&lt;br /&gt;
6) &lt;br /&gt;
&lt;br /&gt;
A Dynamic object MUST be granted in order to have its local variables modified or to have its modifiers have an impact (just like any other object)&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Conversion&amp;diff=4359</id>
		<title>Conversion</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Conversion&amp;diff=4359"/>
		<updated>2023-06-22T22:20:55Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;${pc.val.x}  (again, where the &amp;quot;x&amp;quot; is the new variable now holding new FACE).   2 new tokens for the Data Control file: * FUNCTION:x * VALUE:x   '''FUNCTION:x''' * Must appear...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;${pc.val.x}&lt;br /&gt;
&lt;br /&gt;
(again, where the &amp;quot;x&amp;quot; is the new variable now holding new FACE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 new tokens for the Data Control file:&lt;br /&gt;
* FUNCTION:x&lt;br /&gt;
* VALUE:x&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FUNCTION:x'''&lt;br /&gt;
* Must appear as the first item on the line in a data control file&lt;br /&gt;
* Takes one argument, a function name&lt;br /&gt;
* Must be a &amp;quot;legal&amp;quot; function name, meaning:&lt;br /&gt;
* - starts with a letter, e.g. A-Z, additional legal characters are 0-9&lt;br /&gt;
* and _ (none of those as the first character)&lt;br /&gt;
* - No spaces, no other special characters.&lt;br /&gt;
* - Are case insensitive (as many other things in LST files)&lt;br /&gt;
This defines the function name as it will be used in a formula in the&lt;br /&gt;
LST data files.&lt;br /&gt;
&lt;br /&gt;
If a FUNCTION appears more than once, the other characteristics (currently VALUE) must be identical.&lt;br /&gt;
===&lt;br /&gt;
'''VALUE:x'''&lt;br /&gt;
Must appear as an additional token on the line of a FUNCTION: in the data control file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The provided value must be a value formula.  This means it must have valid variable names, valid function names, matching parenthesis, etc. etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to all of the build-in functions (e.g. if, ceil, round), two additional items can be used:&lt;br /&gt;
&lt;br /&gt;
   (1) the arg(n) function.  The arg function is a &amp;quot;local&amp;quot; function to the VALUE: part of a FUNCTION (it can not generally be used in LST files).&lt;br /&gt;
&lt;br /&gt;
The arg function takes one argument.  It MUST be a Integer &amp;gt;= 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  (2) Any previously defined FUNCTION. This MUST appear in the file before the current Function or in a file processed before the current file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meaning:&lt;br /&gt;
* FUNCTION:d20mod &amp;lt;&amp;gt; VALUE:floor((arg(0)-10)/2)&lt;br /&gt;
* FUNCTION:embed &amp;lt;&amp;gt; VALUE:d20mod(arg(0)*4&lt;br /&gt;
is legal, while:&lt;br /&gt;
* FUNCTION:embed &amp;lt;&amp;gt; VALUE:d20mod(arg(0)*4&lt;br /&gt;
* FUNCTION:d20mod &amp;lt;&amp;gt; VALUE:floor((arg(0)-10)/2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...is not legal (since d20mod does not yet exist when embed is encountered)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When a function is used in LST data, it is called by the name provided&lt;br /&gt;
in the FUNCTION token.  It requires a certain number of arguments.  This&lt;br /&gt;
exactly matches the integer one greater than the highest number of the&lt;br /&gt;
arg(n) function provided in the VALUE part of a FUNCTION&lt;br /&gt;
     (In computer science terms, the arg(n) function is zero-indexed)&lt;br /&gt;
&lt;br /&gt;
The provided arguments can be any legal formula, so:&lt;br /&gt;
* d20Mod(INT)&lt;br /&gt;
* d20Mod(INT+4)&lt;br /&gt;
are both perfectly legal.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
For example:&lt;br /&gt;
* FUNCTION:d20Mod &amp;lt;&amp;gt; VALUE:floor((arg(0)-10)/2)&lt;br /&gt;
* Note the arg(n) function here uses ZERO, not ONE.&lt;br /&gt;
This would then be used in LST data as:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d20Mod(n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It will catch both d20Mod() and d20Mod(14,5) as errors (too few or too many args).  It would also catch: d20Mod(&amp;quot;mystring&amp;quot;) as an error (wrong format - requires a Number, found a String).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The n is substituted where &amp;quot;arg(0)&amp;quot; appears in the &amp;quot;VALUE&amp;quot;... so a&lt;br /&gt;
statmod would be as easy as:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d20Mod(INT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or some such...&lt;br /&gt;
&lt;br /&gt;
Direct values can also be used, e.g. d20Mod(10) would return 0.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
Some other notes:&lt;br /&gt;
* Note that the function actually has to be *used* (not just defined) for&lt;br /&gt;
* the errors to be caught (since it can't guess at overall context)&lt;br /&gt;
* An embedding example can be found here:&lt;br /&gt;
* https://groups.yahoo.com/neo/groups/pcgen_experimental/conversations/messages/19549&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=INFO/INFOVARS&amp;diff=4358</id>
		<title>INFO/INFOVARS</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=INFO/INFOVARS&amp;diff=4358"/>
		<updated>2023-06-22T22:16:40Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;I wanted to start a development discussion on how we process items for output since we seem to have different methods... like other things it would be nice to get one powerful...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I wanted to start a development discussion on how we process items for output since we seem to have different methods... like other things it would be nice to get one powerful, consistent method.&lt;br /&gt;
&lt;br /&gt;
As always for architecture items on _dev:&lt;br /&gt;
- Only high-level syntax discussion (it's usually none, but this one really does have a syntax impact)&lt;br /&gt;
- Read for intent, this is not the time to nitpick token names&lt;br /&gt;
- There is no schedule, and no plan to define one&lt;br /&gt;
- Be specific with examples of where this wouldn't meet needs - with specific examples of objects/rules... no chasing phantoms.&lt;br /&gt;
&lt;br /&gt;
Assumptions: &lt;br /&gt;
- For any given identification of output, we only need one thing&lt;br /&gt;
- The output is unconditional&lt;br /&gt;
&lt;br /&gt;
Clarification of assumptions:&lt;br /&gt;
&amp;quot;One thing&amp;quot; is akin to TargetArea on a spell today, which is 1 thing (the token overwrites if provided again).  This is different than the current &amp;quot;DESC&amp;quot; or &amp;quot;Components&amp;quot; on a spell which are &amp;quot;append&amp;quot;, and thus can be multiple things.  These multiple items use .CLEAR/.CLEARALL to clear the list.  If multiple outputs with the same identification are required, I'd like to see the rules structure/output structure that requires such behavior.&lt;br /&gt;
&lt;br /&gt;
Unconditional is relative... since this should be assumed to arrive after the new variable system, if the data/OS wants to gate output on a FLAG in the new variable system, more power to them... so a trailing PRExxx is unnecessary to get full function.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
&lt;br /&gt;
I'll skip over the methods we have of doing substitution and get into my thought: What if we were to allow definition of a MessageFormat?&lt;br /&gt;
&lt;br /&gt;
INFO:InfoName|&amp;lt;message format&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that MessageFormat allows items that include | et al, so we can't tack on any extra items in that token.  No PRE, no variables, etc.&lt;br /&gt;
&lt;br /&gt;
That would require:&lt;br /&gt;
&lt;br /&gt;
INFOVARS:InfoName|x|x&lt;br /&gt;
&lt;br /&gt;
For the variables (x would be something valid in the new formula system)&lt;br /&gt;
&lt;br /&gt;
InfoName doesn't need to be pre-defined, just needs to be recognized that it overwrites if it matches a previously defined item on that object.&lt;br /&gt;
&lt;br /&gt;
Not 100% certain if we can catch if there is an INFO without the appropriate count of INFOVARS, though it looks like getFormats() can effectively help accomplish such a check at the end of LST load.&lt;br /&gt;
&lt;br /&gt;
Seems this can replace OutputName, Desc, Aspect (for just about everything except 4E where PRExxx may be necessary? - not sure since I never played 4E), many of the spell tokens (e.g. TargetArea), and some others.&lt;br /&gt;
&lt;br /&gt;
Sensible at all?&lt;br /&gt;
&lt;br /&gt;
Any way to do it with another String formatting system that would allow it in one token like DESC is today? Is that tradeoff worth it vs being able to leverage java.text.MessageFormat (built into Java)&lt;br /&gt;
&lt;br /&gt;
Note: One of my decision criteria here is avoiding indirection.  I've long held that data like this:&lt;br /&gt;
&lt;br /&gt;
NEWTOKEN:InfoName|message_ab_foo_1|x|y|z&lt;br /&gt;
...where message_ab_foo_1 has to be in a language file... is putting a huge burden on data because it forces indirection due to localization.  I neither want to develop nor debug data like that, so really have no interest in writing tokens that behave like that....&lt;br /&gt;
&lt;br /&gt;
Having said that, this format does lend itself to localization, as the MessageFormat is effectively in the one token (INFO) and the specific information is named (The InfoName would be Description, OutputName, whatever).&lt;br /&gt;
&lt;br /&gt;
You can therefore &amp;quot;address&amp;quot; that MessageFormat... so imagine a separate file doing:&lt;br /&gt;
ABILITY:FEAT|Dodge|Description|&amp;lt;other language version of message format&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This allows the code to do the swap of the message format without making the original data indirect.&lt;br /&gt;
&lt;br /&gt;
Thoughts?&lt;br /&gt;
&lt;br /&gt;
TP.&lt;br /&gt;
&lt;br /&gt;
This is a formalization of the proposal earlier put onto _dev to address a replacement for DESC.  The _dev discussion can be found here: https://groups.yahoo.com/neo/groups/pcgen_developers/conversations/topics/4412&lt;br /&gt;
&lt;br /&gt;
Note that the dev discussion contains some examples I have not repeated here.&lt;br /&gt;
&lt;br /&gt;
This is a proposed replacement for DESC, ASPECT, BENEFIT, and likely a number of other tokens.  Since those tokens will be replaced *over time* (this is not a deprecation of these older tokens), the full list is not currently defined (We will discover them as we go and I'm sure the data team will add to the list as they discover and use the flexibility provided here)&lt;br /&gt;
&lt;br /&gt;
Specifically to these tokens, there are four main reasons to replace them:&lt;br /&gt;
&lt;br /&gt;
First, they allow Prerequisites, which is a non-trivial endeavor in determining what to do in any given situation.  This can be confusing to a reader of the data (in trying to hold the PRExxx in their head) as well as uses CPU time for the code to determine at any given time what DESCs are &amp;quot;on&amp;quot;  or &amp;quot;off&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Second, they allow multiple tokens, so we have to keep track of a list, we have to allow clearing of that list, we have to do extra things because there can be more than one.   In the case of Aspect we actually have to do things that violate the isolation assumptions that support the use of an LST editor (so writing editor code for Aspect would be tough to get correct).  Reducing this to a one-to-one relationship helps simplify a number of things in the code (and I'd argue the data as well).&lt;br /&gt;
&lt;br /&gt;
Third, it does not play well with any form of localization because the substitutions are hardcoded and the variables and strings are all mixed together.&lt;br /&gt;
&lt;br /&gt;
Lastly, it is hardcoded to the existing formula system to do replacement.  Trying to mix the old and new formula systems is pretty much a disaster, so DESC (and other tokens that do similar replacement) need to be swapped out in the conversion  to the new formula system.&lt;br /&gt;
&lt;br /&gt;
This is a proposal for a replacement for DESC and the other descriptive tokens.  There are two key Assumptions in this proposal:&lt;br /&gt;
- For any given identification of output, we only need one thing&lt;br /&gt;
- The output is unconditional&lt;br /&gt;
&lt;br /&gt;
Clarification of assumptions:&lt;br /&gt;
&amp;quot;One thing&amp;quot; is akin to TargetArea on a spell today, which is 1 thing (the token overwrites if provided again).  This is different than the current &amp;quot;DESC&amp;quot; or &amp;quot;Components&amp;quot; on a spell which are &amp;quot;append&amp;quot;, and thus can be multiple things.  These multiple items use .CLEAR/.CLEARALL to clear the list.  &lt;br /&gt;
&lt;br /&gt;
If multiple outputs with the same identification are required, I'd like to see the rules structure/output structure that requires such behavior.  (This has been posted to _dev and bumped, and so far everything that has come back doesn't require multiple items, just a mental model change in how to make the data)&lt;br /&gt;
&lt;br /&gt;
'''The proposal involves two LST tokens:'''&lt;br /&gt;
&lt;br /&gt;
* INFO:x|y&lt;br /&gt;
* x is an &amp;quot;info name&amp;quot;.  This is data defined&lt;br /&gt;
* y is the message format.  It matches the format required by java.text.MessageFormat, which can be found, among many other places, here: http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html#getFormatsByArgumentIndex%28%29&lt;br /&gt;
* This token overwrites (if the &amp;quot;info name&amp;quot; matches)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* INFOVARS:x|y=z|y=z&lt;br /&gt;
* x is an &amp;quot;info name&amp;quot;.  This is data defined&lt;br /&gt;
* y is a scope from the new Formula System (e.g. AREA).  The y= is optional if y is &amp;quot;VAR&amp;quot; (the default numeric variable scope)&lt;br /&gt;
* z is a variable from the new Formula System (e.g. Face)&lt;br /&gt;
* This token overwrites (if the &amp;quot;info name&amp;quot; matches)&lt;br /&gt;
&lt;br /&gt;
'''Some notes:'''&lt;br /&gt;
* - The &amp;quot;info name&amp;quot; is dynamic.  It is NOT under the control of something like the data control file (it is NOT like FACT names or Variables).  It is more similar to today's Aspect names.&lt;br /&gt;
* - There are rules for the &amp;quot;info name&amp;quot; regarding use in INFO and INFOVARS.  Specifically:&lt;br /&gt;
* --- If an info name is used in INFOVARS but never in INFO on that object, it is an LST load error&lt;br /&gt;
* --- If an info name is used in INFO and the Message Format requires variables and no INFOVARS is provided, it is an LST load error&lt;br /&gt;
* --- If an info name is used in INFO and the Message Format requires N variables and the number provided to INFOVARS does not match N, then it is an LST load error.&lt;br /&gt;
* ---The &amp;quot;info name&amp;quot; is only so flexible, but the code will not restrict it at this time.  I would advise the data standard be all letters and numbers (no spaces, no special characters), and if we can get to a standard the data team wants strongly enforced, that can be done.&lt;br /&gt;
&lt;br /&gt;
Output in the new Freemarker system is implied.  Any INFO token will be available under *.info .  For example:&lt;br /&gt;
* Race LST file&lt;br /&gt;
* Monkey &amp;lt;&amp;gt; INFO:Wildness|Monkeys are usually found in the wild&lt;br /&gt;
* can be accessed under the following:&lt;br /&gt;
* pc.race.info.wildness&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Tom%27s_Discussions_with_Andrew_aka_LegacyKing&amp;diff=4357</id>
		<title>Tom's Discussions with Andrew aka LegacyKing</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Tom%27s_Discussions_with_Andrew_aka_LegacyKing&amp;diff=4357"/>
		<updated>2023-06-22T22:12:28Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
* [[INFO/INFOVARS]]&lt;br /&gt;
* [[Conversion]]&lt;br /&gt;
* [[Dynamic Scopes]]&lt;br /&gt;
* [[Lookup Table]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Tom%27s_Discussions_with_Andrew_aka_LegacyKing&amp;diff=4356</id>
		<title>Tom's Discussions with Andrew aka LegacyKing</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Tom%27s_Discussions_with_Andrew_aka_LegacyKing&amp;diff=4356"/>
		<updated>2023-06-22T22:11:54Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;  INFO/INFOVARS Conversion Dynamic Scopes Lookup Table&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[INFO/INFOVARS]]&lt;br /&gt;
[[Conversion]]&lt;br /&gt;
[[Dynamic Scopes]]&lt;br /&gt;
[[Lookup Table]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Architecture&amp;diff=4355</id>
		<title>Architecture</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Architecture&amp;diff=4355"/>
		<updated>2023-06-22T22:10:42Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* Future */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
Welcome to the Wiki section for the Architecture team!  &lt;br /&gt;
&lt;br /&gt;
This section of our wiki will explain the different portions of our code base, the current work underway to improve different sections for better performance and flexibility.&lt;br /&gt;
&lt;br /&gt;
=Resources=&lt;br /&gt;
&lt;br /&gt;
Before reading about the details of the PCGen architecture, it is likely helpful to understand our key [[Design Concepts for PCGen]] and [[Architecture Document Conventions]]&lt;br /&gt;
&lt;br /&gt;
=Index of Architecture Documents=&lt;br /&gt;
&lt;br /&gt;
There is an [[Index to Architecture Documents]] that provides a complete list and is in the recommended reading order for those who wish to read the complete set of relevant documentation.&lt;br /&gt;
&lt;br /&gt;
=PCGen Subsystems=&lt;br /&gt;
&lt;br /&gt;
This section lays out the primary sub-systems within PCGen&lt;br /&gt;
&lt;br /&gt;
==Startup System==&lt;br /&gt;
&lt;br /&gt;
The [[Startup System]] is responsible for the activities required to load PCGen to the state where a user can select an option from the Load UI. This includes:&lt;br /&gt;
* Discovery and loading of Plugins (the plugin.* packages)&lt;br /&gt;
* Loading the Game Modes (stored in the system directory)&lt;br /&gt;
* Discovering and loading the PCC files (from the data directory)&lt;br /&gt;
* Loading the Load UI (part of pcgen.gui2.*)&lt;br /&gt;
&lt;br /&gt;
==Load UI== &lt;br /&gt;
&lt;br /&gt;
The Load UI is responsible for presenting the user with the options of game systems and components available to be loaded. The LoadUI triggers a call to the Rules Persistence system when the user requests for specific data to be loaded, and to the Character Persistence system when the user requests for a Player Character to be loaded...&lt;br /&gt;
&lt;br /&gt;
==Rules Persistence System==&lt;br /&gt;
&lt;br /&gt;
The [[Rules Persistence System]] is one of the major components of PCGen. It is responsible for loading game system and component data from the persistence data file format and (in most cases) saving it back into that data file format. It is aware of the internal storage of information within PCGen only to the point it is required to store information in the Rules Data Store for use by the core of PCGen. The Rules Persistence System is not capable of interpreting much in the way of behavior of the values it is storing (strictly it will know the persistent text format, but doesn't understand what REACH actually means, only that it contains a number to be loaded into a specific location in the Rules Data Store).&lt;br /&gt;
&lt;br /&gt;
We have a number of files in both the system (game mode) and data (effectively book content) directories that represent the data.  Specific file &amp;quot;Loaders&amp;quot; load each of the different formats of file that we have, breaking it into lines.  &lt;br /&gt;
&lt;br /&gt;
These lines are then split up into the first token (indicating what the line means) and the other tokens.  Tokens are separated by one or more tab characters.&lt;br /&gt;
&lt;br /&gt;
Given the combination of Loader (file format) and Token, we can look up the appropriate plugin to process that specific token.  This is called to parse the value of the token.  This parse method is responsible for loading the information about the token into the Rules Data Store (generally into the object being loaded, but this is not universally true).  Any failure means the entire contents of the token will be ignored (the contents of the token are a &amp;quot;transaction&amp;quot; in the sense that it fully succeeds or fully fails).&lt;br /&gt;
&lt;br /&gt;
Those tokens may encounter various items including references to other objects, which we capture as [[CDOM References Concept Document|CDOMReferences]].  In addition, there may be groups of objects referred to as well, so you may want to learn about [[Referring to Groups in LST Data]].&lt;br /&gt;
&lt;br /&gt;
This also includes the [[Load Commit Subsystem]].  Additional detail is provided in [[Full Load Order Detail]].&lt;br /&gt;
&lt;br /&gt;
==Rules Data Store==&lt;br /&gt;
&lt;br /&gt;
The [[Rules Data Store]] is the internal data structure used to store the game system and component information. &lt;br /&gt;
&lt;br /&gt;
As a &amp;quot;Data Store&amp;quot;, it is very much akin to a complicated database (it could be converted into an actual database with some effort). The Rules Data Store is not designed to have methods that interpret the contents of the Rules Data Store, nor is the Rules Data Store capable of storing the information it contains into a persistent state. The conversion to and from a persistent state is owned by the [[Rules Persistence System]].&lt;br /&gt;
&lt;br /&gt;
Once items are in the [[Rules Data Store]], they must be retrieved by their Identity.  For more information, see [[Identifying Objects]]&lt;br /&gt;
&lt;br /&gt;
==Player Character UI==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;i&amp;gt;Player Character UI&amp;lt;/i&amp;gt; is responsible for presenting the user with the contents of the PC, including all of the PC's characteristics.  Requests to modify a PC are sent to back to the core to be processed.  Much of this is currently framed through Facade objects which attempt to isolate the UI from the core.&lt;br /&gt;
&lt;br /&gt;
Note that some of the items on a PC can be conditional, so it's valuable to understand [[Prerequisites and Requirements]] to understand what can be chosen and how those items will be applied to a PC.&lt;br /&gt;
&lt;br /&gt;
==Processing a PC==&lt;br /&gt;
&lt;br /&gt;
When an item is added to a PC, those behaviors need to be processed by [[Calculating Items on the PC]].  To understand that in more detail, you probably want to learn about the [[Formula Systems]], including JEP and the new formula system.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Other - to Be Edited=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Character Persistence: The &amp;lt;i&amp;gt;Character Persistence&amp;lt;/i&amp;gt; system is responsible for loading and saving PCs into the specified file format. The &amp;lt;i&amp;gt;Character Persistence&amp;lt;/i&amp;gt; system is also responsible for creating and initializing a new Player Character.  &lt;br /&gt;
** Character Output: The &amp;lt;i&amp;gt;Character Output&amp;lt;/i&amp;gt; system is responsible for resolving the active objects on a PC, searching those objects to find specific information, and preparing that information for consumption by any of the systems that desire PC information. &lt;br /&gt;
** Event Controller: The &amp;lt;i&amp;gt;Event Controller&amp;lt;/i&amp;gt; acts as a hub to communicate events (typically triggered by changes to a PC) to the UI and to any loaded Plugins.  &lt;br /&gt;
** Character Data Store: The &amp;lt;i&amp;gt;Character Data Store&amp;lt;/i&amp;gt; is the internal data structure used to store the PC. &lt;br /&gt;
&lt;br /&gt;
* [[Explanation of the Code Base|Code Base]] - Key Concepts&lt;br /&gt;
** [[Key Terms]]&lt;br /&gt;
** [[Tags and Tokens]]&lt;br /&gt;
** [[FreeMarker Output]]&lt;br /&gt;
** [[CDOM References Concept Document]]&lt;br /&gt;
* [[CDOM Primitive Choice Set Concept Document]]&lt;br /&gt;
** [[CDOM Choice Actors Concept Document]]&lt;br /&gt;
&lt;br /&gt;
* Walkthroughs&lt;br /&gt;
** [[User Selection Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
* Rules Data Store Concepts&lt;br /&gt;
** [[Ability Category|Ability Categories]]&lt;br /&gt;
&lt;br /&gt;
=Open Sub Projects=&lt;br /&gt;
&lt;br /&gt;
==Current==&lt;br /&gt;
&lt;br /&gt;
* [[Formula System Conversion]]&lt;br /&gt;
* [[FreeMarker Facet Output]]&lt;br /&gt;
* [[Incompatible Change List v6]]&lt;br /&gt;
* [[Current Architecture Projects]] (personal scratchpad)&lt;br /&gt;
* [[LST Token Information]] (scratchpad - relates to facet design and abstracting behaviors)&lt;br /&gt;
* [[BONUS Tag conversion list]]&lt;br /&gt;
* [[SELECTION - A CHOOSE Replacement]]&lt;br /&gt;
&lt;br /&gt;
==Future==&lt;br /&gt;
&lt;br /&gt;
* [[Internationalization]]&lt;br /&gt;
* [[Data Cleanup Projects]]&lt;br /&gt;
* [[PREREQ Cleanup]]&lt;br /&gt;
* [[PCG Round Robin Work]] (Tom's scratchpad)&lt;br /&gt;
* [[Bonus Subsystem Thoughts]]&lt;br /&gt;
* [[Bonus Subsystem Design]]&lt;br /&gt;
* [[Tom's Discussions with Andrew aka LegacyKing]]&lt;br /&gt;
&lt;br /&gt;
=Past Projects=&lt;br /&gt;
&lt;br /&gt;
* [[FACT Token]], [[FACTSET Token]]&lt;br /&gt;
* [[Architecture Update 1Q2013]]&lt;br /&gt;
* [[Subsystem Isolation]] (out of date?)&lt;br /&gt;
* [[PObject - The Refactoring]] (effectively completed for most items - CDOMObject)&lt;br /&gt;
* [[Rebuild of the Token/Loader System]] (effectively completed for most items)&lt;br /&gt;
* [[Architecture Changes 5.17]] (completed as much as would be in 5.17)&lt;br /&gt;
* [[Things to Test]] (now uses TEST- trackers)&lt;br /&gt;
&lt;br /&gt;
==Not used==&lt;br /&gt;
&lt;br /&gt;
Things not really part of the current architecture, but for context&lt;br /&gt;
* [[Behavior Questions]]&lt;br /&gt;
* [[CDOM]]&lt;br /&gt;
* [[Tom's Arch &amp;quot;TO DO&amp;quot; List]]&lt;br /&gt;
* [[Character Data Store]]&lt;br /&gt;
&lt;br /&gt;
=Active Team Members=&lt;br /&gt;
&lt;br /&gt;
===[[Explanation of Teams#Silverback|Silverback]]===&lt;br /&gt;
* [[Tom Parker]]&lt;br /&gt;
&lt;br /&gt;
===[[Explanation of Teams#Second|2nd]]===&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
===[[Explanation of Teams#Lemur|Lemur]]===&lt;br /&gt;
* [[Connor Petty]]&lt;br /&gt;
* [[James Dempsey]]&lt;br /&gt;
&lt;br /&gt;
=Inactive Team Members=&lt;br /&gt;
&lt;br /&gt;
===[[Explanation_of_Teams#2nd|2nd]]===&lt;br /&gt;
* Devon Jones&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Release_Instructions&amp;diff=4338</id>
		<title>Release Instructions</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Release_Instructions&amp;diff=4338"/>
		<updated>2018-11-12T23:54:22Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* Create Release Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Here are the steps to follow when making a release of PCGen. If it is your first time, please check the prereqs section at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
The first time you run a release you will have to make sure you have the following tools available:&lt;br /&gt;
===Release Notes===&lt;br /&gt;
* Text editor&lt;br /&gt;
* Web browser&lt;br /&gt;
* Perl interpreter&lt;br /&gt;
* Perl modules: readonly (installed on Windows via ActivePerl's Perl Package Manager)&lt;br /&gt;
&lt;br /&gt;
===Release===&lt;br /&gt;
* Java SDK 1.8 (the one that includes the javac compiler) --FOR PCGEN 6.07.x&lt;br /&gt;
* Gradle 1.x&lt;br /&gt;
* git&lt;br /&gt;
* Perl interpreter&lt;br /&gt;
* [http://nsis.sourceforge.net/Download NSIS]&lt;br /&gt;
&lt;br /&gt;
===Outstanding Issues===&lt;br /&gt;
You need to check JIRA for any outstanding issues to ensure the release meets our QA std.&lt;br /&gt;
&lt;br /&gt;
* Alpha releases require no Blockers, allow Critical only with Code lead exception&lt;br /&gt;
* Beta releases require no Blockers or Criticals&lt;br /&gt;
* RCs/final releases require no Blockers, Criticals, or Majors&lt;br /&gt;
&lt;br /&gt;
==Create Release Notes==&lt;br /&gt;
&lt;br /&gt;
# Update your local copy of pcgen from github&lt;br /&gt;
# Copy the previous set of release notes to pcgen-release-notes-nnn.html where nnn is the version number.&lt;br /&gt;
# Do a global replace of the old version number to the new version number, both as n.nn.n and nnnn&lt;br /&gt;
# Open Jira and for each project open the release notes for the version.&lt;br /&gt;
# Copy the html to the changelog section, changing h2 tags to h3.&lt;br /&gt;
# Update the What's New section with any high profile changes.&lt;br /&gt;
# Update the Thanks section with the list of people who committed during the cycle. The search filter &amp;quot;is:pr is:closed is:merged updated:&amp;gt;2015-02-09&amp;quot; is useful for triming the list of pull request to those included in the release.&lt;br /&gt;
# Commit the new release notes and notify pcgen_bod so they can review it.&lt;br /&gt;
# Notify pcgen dev and experimental lists of upcoming release, asking for autobuilds to be tested. Best to give 24 hours notice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes Placeholder ==&lt;br /&gt;
* https://pcgenorg.atlassian.net/projects/CODE?orderField=RANK&amp;amp;selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&amp;amp;status=unreleased&lt;br /&gt;
&lt;br /&gt;
==The Build==&lt;br /&gt;
# Using a clean directory with no changes to the pcgen files&lt;br /&gt;
# '''git pull master''' the PCGen repository (5 mins)&lt;br /&gt;
# Release manager edits '''pcgen/code/src/java/pcgen/resources/prop/PCGenProp.properties''' to set the release date, version number, contributors, etc. and commit the result (5 mins)&lt;br /&gt;
# If switching to or from RC mode, edit '''gradle.properties''' and adjust the version number to be in the correct format. e.g. '''6.04.00 RC1''' or '''6.04.00''' &lt;br /&gt;
# Execute '''gradle prepareRelease slowtest''' OR IF USING WINDOWS ('''gradle prepareRelease slowtest --project-cache-dir c:\gradle\cache''')  in the pcgen directory and verify there are no failing Junit test. Also check if there are any &amp;quot;Unknown publisher&amp;quot; messages. If so you need to add new entries for the listed publishers to the '''gendatalist.pl''' script. (20 mins)&lt;br /&gt;
# Check Jira for any closed requests missing from the release notes. Steps 4 and 6 of 'Create Release Notes' section above can be used to assist here. (10 mins)&lt;br /&gt;
# Update the '''readme.md''' file with the what's new section of the release notes.&lt;br /&gt;
# Smoke test the newly built pcgen full zip or exe.  (30 mins)&lt;br /&gt;
# Create a folder for the release under the [https://sourceforge.net/projects/pcgen/files/ File Manager]&lt;br /&gt;
# Upload the release notes using the File Manager to the release folder&lt;br /&gt;
# Run '''gradle pcgenRelease''' OR IF USING WINDOWS ('''gradle pcgenRelease --project-cache-dir c:\gradle\cache''') (which updates the gradlefiles and tags the SVN repository). (2 mins)&lt;br /&gt;
# Upload the release files to SourceForge. The quickest way is uploading via the web, the same way you uploaded the release notes etc. (10 mins)&lt;br /&gt;
# Update '''Readme.MD''' with the SHA256 checksums from target/SHA256-digests.txt. Upload the revised file and check-in. (5 mins)&lt;br /&gt;
# Notify PCGen_bod of the new release. (5 mins)&lt;br /&gt;
# PR Monkeys create a news item for the new release&lt;br /&gt;
# PR Monkeys send announcement to all pcgen mailing list for the new release&lt;br /&gt;
&lt;br /&gt;
==Update JIRA==&lt;br /&gt;
&lt;br /&gt;
For each of the projects, mark the version you are working on as released and create the next version if it doesn't already exist. When marking a version as released, please make sure the released date is set to today.&lt;br /&gt;
 &lt;br /&gt;
* [https://pcgenorg.atlassian.net/plugins/servlet/project-config/CODE/versions Code Versions]&lt;br /&gt;
* [https://pcgenorg.atlassian.net/plugins/servlet/project-config/DATA/versions Data Versions]&lt;br /&gt;
* [https://pcgenorg.atlassian.net/plugins/servlet/project-config/DOCS/versions Documentation Versions]&lt;br /&gt;
* [https://pcgenorg.atlassian.net/plugins/servlet/project-config/NEWSOURCE/versions New Source Versions]&lt;br /&gt;
* [https://pcgenorg.atlassian.net/plugins/servlet/project-config/NEWTAG/versions New Tag Versions]&lt;br /&gt;
* [https://pcgenorg.atlassian.net/plugins/servlet/project-config/OS/versions Output Sheets Versions]&lt;br /&gt;
&lt;br /&gt;
==Mac Installer==&lt;br /&gt;
&lt;br /&gt;
See [http://pcgen.svn.sourceforge.net/viewvc/pcgen/Trunk/pcgen/installers/mac-installer/instructions.html Instructions]&lt;br /&gt;
&lt;br /&gt;
==IMPORTANT==&lt;br /&gt;
For Production Cycle Autobuilds the file '''code\gradle\autobuild.gradle''' lines 16-18 needs to be set to:&lt;br /&gt;
   destAutobuildDir = '/home/pcgen1/public_html/autobuilds-prod/'&lt;br /&gt;
   } else {&lt;br /&gt;
   destAutobuildDir = &amp;quot;${buildDir}/autobuilds-prod/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Signing Files with PGP==&lt;br /&gt;
'''Historical only''' We used to use the [[http://www.gnupg.org/ GnuPG for Windows]] to generate the signatures. You will need the private key, either your own, or the PCGen one (contact the PCGen BOD). Once GnuPG is installed and knows about the key you wish to use, it is just a matter fo right clicking on the files to be signed (multi-select is fine) and selecting GPGee &amp;gt; Sign and then making sure the PCGen key is selected, hitting OK and entering the passphrase for the key. This creates an .asc signature file for each selected file.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Yes, even the best installs of all the program amount to nothing if there is a hitch. These are basic notes from the current issues cropping up and resolutions. These notes are not prettified yet. The idea being we will get a full set of troubleshooting tips and tricks here in the near future.&lt;br /&gt;
&lt;br /&gt;
Check your versions. &lt;br /&gt;
JDK1.8 is required with JAVA_HOME variable (see below)&lt;br /&gt;
My Computer &amp;gt; System &amp;gt; Advanced Settings:&lt;br /&gt;
For JAVA_HOME make sure it's a set System Variable and make sure it's using the correct path to your current installation base folder&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OLD===&lt;br /&gt;
SVN must be a true .exe install, TortoiseSVN will not meet this requirement&lt;br /&gt;
SVN exe can be found here [[http://subversion.tigris.org/files/documents/15/46531/Setup-Subversion-1.6.5.msi SVN]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_11_10&amp;diff=4323</id>
		<title>Meeting 2018 11 10</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_11_10&amp;diff=4323"/>
		<updated>2018-11-10T15:14:20Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;==Attendance== * Chair/Content - Andrew * Code/Architecture - Tom * PR - Paul * Data 2nd - Gwen * OS 2nd - Stefan  * '''Volunteers/Lurkers''' * David * Avilay * Brad G. * Jaco...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Attendance==&lt;br /&gt;
* Chair/Content - Andrew&lt;br /&gt;
* Code/Architecture - Tom&lt;br /&gt;
* PR - Paul&lt;br /&gt;
* Data 2nd - Gwen&lt;br /&gt;
* OS 2nd - Stefan&lt;br /&gt;
&lt;br /&gt;
* '''Volunteers/Lurkers'''&lt;br /&gt;
* David&lt;br /&gt;
* Avilay&lt;br /&gt;
* Brad G.&lt;br /&gt;
* Jacob&lt;br /&gt;
* BT&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
* Production Release planned for December 1st&lt;br /&gt;
* Revised Documentation Hosting&lt;br /&gt;
* Revise Wiki for Code Entry into the new system&lt;br /&gt;
* Finish License Reviews of outstanding new sources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Raw Log===&lt;br /&gt;
* LegacyKing Today at 6:02 AM&lt;br /&gt;
* Welcome everyone to our Public Board Meeting on November 11th 6am (-0800 UTC)&lt;br /&gt;
* AGENDA for November 10 - 0600 PST:&lt;br /&gt;
* &lt;br /&gt;
* 1) State of the Program and release update plans&lt;br /&gt;
* &lt;br /&gt;
* 2) Reports from Content, Code and PR&lt;br /&gt;
* &lt;br /&gt;
* 3) Additional Business (If any)&lt;br /&gt;
* &lt;br /&gt;
* 4) Public Q&amp;amp;A&lt;br /&gt;
* For those new to these meetings, the rules are simple. Please allow the main speaker to finish what they are discussing and hold questions till the end. We do reserve time at the end for Public Questions and Answers.&lt;br /&gt;
* Roll Call real quick - Andrew Maitland (aka LegacyKing) acting Chair, and Content Silverback&lt;br /&gt;
* Bryan McRoberts Today at 6:06 AM&lt;br /&gt;
* Bryan McRoberts - Benevolent Dictator&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:06 AM&lt;br /&gt;
* Paul Grosse (AKA Nylanfs) - PR Silverbck, Public Face :smiley:&lt;br /&gt;
* thpr Today at 6:06 AM&lt;br /&gt;
* Tom Parker (thpr) - Code/Architecture lead&lt;br /&gt;
* Gwen T. Today at 6:06 AM&lt;br /&gt;
* Gwen T. - Data Second&lt;br /&gt;
* bigrin42 Today at 6:07 AM&lt;br /&gt;
* Brad Grinstead (AKA bigrin42) - code monkey and resident lurker&lt;br /&gt;
* LegacyKing Today at 6:07 AM&lt;br /&gt;
* Stefan Radermacher aka Zaister - OS 2nd (Looks like he lost connection)&lt;br /&gt;
* Zaister Today at 6:08 AM&lt;br /&gt;
* Yeah it’s a bit flaky,I’m i on mobile&lt;br /&gt;
* LegacyKing Today at 6:08 AM&lt;br /&gt;
* No worries man. We've all been there.&lt;br /&gt;
* Teladorer Today at 6:08 AM&lt;br /&gt;
* Avilay  - professional lurker, help with design&lt;br /&gt;
* Jacob Today at 6:09 AM&lt;br /&gt;
* Jacob R, code monkey, also on mobile&lt;br /&gt;
* BT Today at 6:09 AM&lt;br /&gt;
* BT - absentee data and support&lt;br /&gt;
* LegacyKing Today at 6:09 AM&lt;br /&gt;
* Okay, thanks all for checking in&lt;br /&gt;
* Agenda item 1) State of the Program and release update plans&lt;br /&gt;
* This one might need more than myself to chime in - Personally, I've lost the ability to run PCGen developer builds, but when it was working things were very stable and we're on track with the formula system replacement; main focus is correcting and getting the data tables and the lookup working. Release Schedule is off course currently from the Roadmap we put out earlier this year.&lt;br /&gt;
* We're still focused on JAVA and we've been updating things to work with the LTS release of Java 11.&lt;br /&gt;
* @thpr or @Bryan McRoberts any comments about the Program?&lt;br /&gt;
* or schedule?&lt;br /&gt;
* thpr Today at 6:14 AM&lt;br /&gt;
* I literally just submitted the last PR to fully bring us to Java 11&lt;br /&gt;
* 💯&lt;br /&gt;
* 1&lt;br /&gt;
* 💛&lt;br /&gt;
* 1&lt;br /&gt;
* 👌&lt;br /&gt;
* 1&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:15 AM&lt;br /&gt;
* There have been more and more people going straight for the Stable build and we keep refering them to the dev because of the age. Getting a new stable out would be good.&lt;br /&gt;
* Bryan McRoberts Today at 6:16 AM&lt;br /&gt;
* I am able to get PCGen to build in java 11 on my machine - what problems are you having with the developer builds?&lt;br /&gt;
* LegacyKing Today at 6:16 AM&lt;br /&gt;
* @Bryan McRoberts let's discuss after the meeting. It's complicated and would take too much time from the meeting.&lt;br /&gt;
* thpr Today at 6:17 AM&lt;br /&gt;
* Good, but let's get you back up &amp;amp; running&lt;br /&gt;
* Bryan McRoberts Today at 6:17 AM&lt;br /&gt;
* we can take the developer issue offline, but let's get a stable build out asap because, as Paul mentioned, the age of the last one.&lt;br /&gt;
* LegacyKing Today at 6:17 AM&lt;br /&gt;
* Oh, I agree, but after the meeting. This would be a Rabbit Hole and derail the meeting. :wink:&lt;br /&gt;
* thpr Today at 6:18 AM&lt;br /&gt;
* On the tables/lookup, I saw that you are still encountering the same issue from earlier in the week, I'm looking into that&lt;br /&gt;
* LegacyKing Today at 6:18 AM&lt;br /&gt;
* Tom - I believe that is related to my above problem, I'm not getting a build with your PRs&lt;br /&gt;
* Again, another Rabbit Hole. Shall we plan for a fairly aggressive Stable release by December?&lt;br /&gt;
* Content has been ready to release and has mainly been doing bug squashes, so we are ready to switch to Beta if Code is good to go&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:21 AM&lt;br /&gt;
* I'm okay with december(edited)&lt;br /&gt;
* Bryan McRoberts Today at 6:22 AM&lt;br /&gt;
* I think a stable by December would be excellent.&lt;br /&gt;
* The travis builds work, it works on my machine, so unless there are mission-critical bugs, the sooner we release the better.&lt;br /&gt;
* LegacyKing Today at 6:23 AM&lt;br /&gt;
* If we're good, and we can fix my build capability today, we can have a beta release out later today, another next week (17th) RC1 on the 24th, and a Production by the 1st.&lt;br /&gt;
* thpr Today at 6:23 AM&lt;br /&gt;
* I think that's reasonable - I have one or two nice to haves, but aren't strictly necessary for a stable&lt;br /&gt;
* Bryan McRoberts Today at 6:23 AM&lt;br /&gt;
* excellent.  let's fix your build issues after the meeting.&lt;br /&gt;
* 👌&lt;br /&gt;
* 1&lt;br /&gt;
* LegacyKing Today at 6:24 AM&lt;br /&gt;
* Okay, let's Segway into Agenda item 2)  Reports from Content, Code and PR&lt;br /&gt;
* Content has been pumping out newsources, bug fixes, and features. We're good to go for a release as planned.&lt;br /&gt;
* 😃&lt;br /&gt;
* 1&lt;br /&gt;
* Not much else to say other than I'll be HAPPY to work on the new system and clear out ancient bug reports.(edited)&lt;br /&gt;
* Gwen T. Today at 6:26 AM&lt;br /&gt;
* I need to clean up Adventurer's Guide a bit before it gets finalized, and I am moving apace on Horror Adventures.&lt;br /&gt;
* Teladorer Today at 6:26 AM&lt;br /&gt;
* what are the new sources to be including in new stable?&lt;br /&gt;
* LegacyKing Today at 6:27 AM&lt;br /&gt;
* Whatever ones the volunteers say are ready for review before we switch to Beta&lt;br /&gt;
* And pass License and Data review&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:27 AM&lt;br /&gt;
* I know there are three or four ready for me to do a license review&lt;br /&gt;
* Teladorer Today at 6:27 AM&lt;br /&gt;
* oki. :smiley:&lt;br /&gt;
* Bryan McRoberts Today at 6:28 AM&lt;br /&gt;
* A list of new sources will be part of the release message, right? Lots of people will want to be able to see a list.&lt;br /&gt;
* LegacyKing Today at 6:28 AM&lt;br /&gt;
* And the ones that don't make the deadline can be add-on downloads.&lt;br /&gt;
* 👌&lt;br /&gt;
* 1&lt;br /&gt;
* Bryan - Yes! :smiley:(edited)&lt;br /&gt;
* 💯&lt;br /&gt;
* 1&lt;br /&gt;
* Any other questions for Content?&lt;br /&gt;
* @Nylanfs (UTC-5) Anything to report from the PR team?&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:30 AM&lt;br /&gt;
* It looks like using Slack and Discord have been a success. :smiley:&lt;br /&gt;
* I started a groups.io to replace the Yahoo groups if we want to switch.&lt;br /&gt;
* Bryan McRoberts Today at 6:31 AM&lt;br /&gt;
* I'm still sore over switching from egroups to yahoo groups.... :smile:&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:32 AM&lt;br /&gt;
* Both Andrew and I are liking how that works, it's exactly what we were wanting when we originally started looking for other options when Verizon bought Yahoo&lt;br /&gt;
* 👌🏻&lt;br /&gt;
* 1&lt;br /&gt;
* Mailing list, replies via email, web interface etc.&lt;br /&gt;
* LegacyKing Today at 6:32 AM&lt;br /&gt;
* It can replace the Forums we host!&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:33 AM&lt;br /&gt;
* I have started a Patreon page for the project but haven't launched it yet, needs more polishing.&lt;br /&gt;
* There's some sources that need license review which should be able to get done tomorrow&lt;br /&gt;
* I think that's it from PR&lt;br /&gt;
* Any questions?&lt;br /&gt;
* LegacyKing Today at 6:34 AM&lt;br /&gt;
* Thanks Paul. He really took ownership of that groups.io I set up. Next thing I knew, he'd redecorated the place and mimic'd the Y! groups. :stuck_out_tongue:&lt;br /&gt;
* Bryan McRoberts Today at 6:35 AM&lt;br /&gt;
* Awesome!&lt;br /&gt;
* LegacyKing Today at 6:35 AM&lt;br /&gt;
* Nothing but compliments from those using on how easy it is. pcgen.groups.io if anyone wants to check it out.&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:36 AM&lt;br /&gt;
* We need to make an system announcement on the Yahoo groups and let people know about the switch so they can adjust their membership if they don't want to transition&lt;br /&gt;
* LegacyKing Today at 6:36 AM&lt;br /&gt;
* Yeah.&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:36 AM&lt;br /&gt;
* https://pcgen.groups.io/g/main&lt;br /&gt;
* main groups.io Group&lt;br /&gt;
* PCGen.org - This is a mailing list group replacement for the old Yahoo Groups&lt;br /&gt;
* &lt;br /&gt;
* LegacyKing Today at 6:37 AM&lt;br /&gt;
* Okay, @thpr what have you got for us from Architecture/Code?&lt;br /&gt;
* thpr Today at 6:38 AM&lt;br /&gt;
* Working to review the work / local branches I have on the formula system, make sure they are updated, etc. and evaluating urgency to be in the next release&lt;br /&gt;
* Mostly through that now, although there are a few that will probably require a full redo, since a rebase has a huge clash with some formatting changes done on the code&lt;br /&gt;
* Then mostly the testing I'm working with you on... I don't have major items I know need to be done...&lt;br /&gt;
* Bryan McRoberts Today at 6:41 AM&lt;br /&gt;
* Nice&lt;br /&gt;
* thpr Today at 6:41 AM&lt;br /&gt;
* As a broader scope, I'm unsure if the docs done earlier this year are of use in folks understanding how the system is structured&lt;br /&gt;
* So if anyone is coming up to speed on code or things of that nature, comments about the content on the wiki are welcomed&lt;br /&gt;
* PCGen is just inherently challenging since it's not just a push/get from a UI/database structure, there is a huge &amp;quot;solving engine&amp;quot; in the background that can make it a bit more challenging to get into&lt;br /&gt;
* Bryan McRoberts Today at 6:43 AM&lt;br /&gt;
* Very true!&lt;br /&gt;
* thpr Today at 6:43 AM&lt;br /&gt;
* Hence why we need a bit more on the doc front to be able to get folks into it&lt;br /&gt;
* BT Today at 6:43 AM&lt;br /&gt;
* Note:  http://wiki.pcgen.org/PCGen_Documentation  has a number of links that go nowhere&lt;br /&gt;
* PCGen Documentation&lt;br /&gt;
* LegacyKing Today at 6:44 AM&lt;br /&gt;
* @Jacob is our newest Code monkey, and probably a good barometer on project complexity and documentation.&lt;br /&gt;
* thpr Today at 6:44 AM&lt;br /&gt;
* So http://wiki.pcgen.org/Index_to_Architecture_Documents is the starting point for the docs I'm referring to&lt;br /&gt;
* Index to Architecture Documents&lt;br /&gt;
* We will look at what @BT raised though, as we should fix that as well&lt;br /&gt;
* Teladorer Today at 6:44 AM&lt;br /&gt;
* i say discord is a success. :smiley:&lt;br /&gt;
* Jacob Today at 6:45 AM&lt;br /&gt;
* I will be taking a look later today / tomorrow, and try to take notes :)&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:45 AM&lt;br /&gt;
* A Brad Fonseca is looking for programmers on G+, I pointed him in the wiki direction and Tom's way if he finds any&lt;br /&gt;
* thpr Today at 6:45 AM&lt;br /&gt;
* That would be great&lt;br /&gt;
* Zaister Today at 6:46 AM&lt;br /&gt;
* isnt G+ dead?&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:46 AM&lt;br /&gt;
* Next year :smiley:&lt;br /&gt;
* Zaister Today at 6:46 AM&lt;br /&gt;
* ah&lt;br /&gt;
* BT Today at 6:47 AM&lt;br /&gt;
* Actually the Wiki has a lot of outdated/broken links you might want to check out.  This page as well in particular:  http://wiki.pcgen.org/Users&lt;br /&gt;
* Users&lt;br /&gt;
* with yahoo no longer being relevant&lt;br /&gt;
* thpr Today at 6:47 AM&lt;br /&gt;
* There are a number of ... working projects ... that folks can also take on to help out.&lt;br /&gt;
* Meaning there is a set of things to do across a few dozen or more files that doesn't require deep knowledge of how PCGen works, but once complete, will allow us to take out some more complex items in the code and help out clarity&lt;br /&gt;
* So if anyone is looking for a project ...&lt;br /&gt;
* :wink:&lt;br /&gt;
* I think that's it for my report&lt;br /&gt;
* LegacyKing Today at 6:49 AM&lt;br /&gt;
* Thanks @thpr&lt;br /&gt;
* okay, agenda 3) Additional Business (If any)&lt;br /&gt;
* I believe it is time we migrated the documentation to not be tied to the releases. Many other projects host their documentation online.&lt;br /&gt;
* That's the one thing that always lags behind&lt;br /&gt;
* Bryan McRoberts Today at 6:51 AM&lt;br /&gt;
* Agreed&lt;br /&gt;
* Zaister Today at 6:52 AM&lt;br /&gt;
* Yes&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:52 AM&lt;br /&gt;
* Lewis Yip had a concept from Hip chat that was very interesting.&lt;br /&gt;
* way back when.&lt;br /&gt;
* LegacyKing Today at 6:52 AM&lt;br /&gt;
* Yes, but he hasn't been active. It was a nice approach.&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:54 AM&lt;br /&gt;
* We do need somebody focused to work on the documentation. :smiley:&lt;br /&gt;
* LegacyKing Today at 6:54 AM&lt;br /&gt;
* @Bryan McRoberts if we choose a wiki/website, will you be able to change the Document load function to search the webpage and not the local pages?&lt;br /&gt;
* Or grant Content the ability to control that pointer in case it has to change?&lt;br /&gt;
* Maybe a local redirect page or something?&lt;br /&gt;
* Bryan McRoberts Today at 6:55 AM&lt;br /&gt;
* The preference would have to be able to refer to a website - I don't think that should be hard.&lt;br /&gt;
* Teladorer Today at 6:55 AM&lt;br /&gt;
* me have to be off now. to a 20 year reunion. pc will remain on&lt;br /&gt;
* LegacyKing Today at 6:55 AM&lt;br /&gt;
* Okay, cool.&lt;br /&gt;
* Last item - 4) Open Forum / Public Q&amp;amp;A - This is where anyone may ask anything of the Board Members&lt;br /&gt;
* Zaister Today at 6:56 AM&lt;br /&gt;
* I can take a look at the Documentation thing&lt;br /&gt;
* Teladorer Today at 6:56 AM&lt;br /&gt;
* ps: remember release package should always contain documentation, just in case people end up playing games in cabins in the wilderness&lt;br /&gt;
* 👍&lt;br /&gt;
* 1&lt;br /&gt;
* Jacob Today at 6:57 AM&lt;br /&gt;
* What's the idea behind the coming Patreon page? Is there any extra service we can provide to patrons?&lt;br /&gt;
* BT Today at 6:57 AM&lt;br /&gt;
* if @thpr has an index of those projects mentioned, I have a lot more free time with my new gig and should be able to get my hands dirty again&lt;br /&gt;
* Jacob Today at 6:58 AM&lt;br /&gt;
* I would also be interested in those projects&lt;br /&gt;
* thpr Today at 6:58 AM&lt;br /&gt;
* @BT I'll create some pages on the Wiki to describe them&lt;br /&gt;
* BT Today at 6:58 AM&lt;br /&gt;
* :thumbsup:&lt;br /&gt;
* Nylanfs (UTC-5) Today at 6:59 AM&lt;br /&gt;
* @Jacob That's one of the reasons why we never launched one before. As a free project what can we offer any of the tiers? :smiley:&lt;br /&gt;
* BT Today at 7:01 AM&lt;br /&gt;
* custom files would be one option&lt;br /&gt;
* Gwen T. Today at 7:01 AM&lt;br /&gt;
* Other then their name on a supporters page, not a lot. I wish I could say custom content, but what would happen if they want something that's impossible?&lt;br /&gt;
* Nylanfs (UTC-5) Today at 7:01 AM&lt;br /&gt;
* There were some mentions of options, but I sure can't find it now. :smiley:&lt;br /&gt;
* LegacyKing Today at 7:01 AM&lt;br /&gt;
* I have 7am (-0800 UTC) thank you for everyone showing up. Meeting is adjourned! BANGS GAVEL&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4322</id>
		<title>Meeting Logs</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4322"/>
		<updated>2018-11-10T15:09:53Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a new section to hold the Meeting Logs.&lt;br /&gt;
&lt;br /&gt;
=2018=&lt;br /&gt;
* [[Meeting 2018 11 10]] &amp;quot;Full Board&amp;quot;&lt;br /&gt;
* [[Meeting 2018 08 04]] &amp;quot;Data Team in the house&amp;quot;&lt;br /&gt;
* [[Meeting 2018 04 28]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 03 31]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 02 24]] &amp;quot;Roadmap to Production&amp;quot;&lt;br /&gt;
* [[Meeting 2018 01 13]] &amp;quot;Future of PCGen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2017=&lt;br /&gt;
* [[Meeting 2017 06 17]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 02 25]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 01 21]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2016=&lt;br /&gt;
* [[Meeting 2016 11 12]] &amp;quot;Release Discussion 6.07.01, and hold up&amp;quot;&lt;br /&gt;
* [[Meeting 2016 10 01]] &amp;quot;Discussion for 7.00&amp;quot;&lt;br /&gt;
* [[Meeting 2016 07 02]] &amp;quot;Quorum - 6.06 release and 7.00 roadmap&amp;quot;&lt;br /&gt;
* [[Meeting 2016 05 28]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting 2016 02 27]] &amp;quot;Production Release Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2015=&lt;br /&gt;
* [[Meeting 2015 11 14]] &amp;quot;Informal Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 09 12]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 08 15]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 05 09]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* [[Meeting 2015 03 27]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting 2015 02 13]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting 2015 01 30]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_16]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_02]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2014=&lt;br /&gt;
* [[Agenda_Next_Meeting_Deep_Dive]]&lt;br /&gt;
* [[Agenda_Next_Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_12_19]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_12_05]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_21]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_07]] &amp;quot;Team Discussion &amp;amp; Parser Conversation Post Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_24]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_10]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_09_26]] &amp;quot;Post Release Meeting &amp;amp; Deep Dive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_09_12]] &amp;quot;Release Meeting&amp;quot; RC2 good to Go?&lt;br /&gt;
* [[Meeting_2014_08_29]] &amp;quot;Release Meeting&amp;quot; RC1 good?&lt;br /&gt;
* [[Meeting_2014_08_15]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_18]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_11]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement Part 2; Documentation Discussion&lt;br /&gt;
* [[Meeting_2014_06_20]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_06_06]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement&lt;br /&gt;
* [[Meeting_2014_05_09]]&lt;br /&gt;
* [[Meeting_2014_04_29]]&lt;br /&gt;
* [[Meeting 2014_02_28]]&lt;br /&gt;
* [[Meeting_2014_01_03]]&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
* [[Meeting_2013_12_06]] &amp;lt;-- Final 2013 Meeting&lt;br /&gt;
* [[Meeting_2013_11_22]]&lt;br /&gt;
* [[Meeting_2013_10_25]]&lt;br /&gt;
* [[Meeting_2013_08_30]]&lt;br /&gt;
* [[Meeting_2013_08_02]]&lt;br /&gt;
* [[Meeting_2013_06_22]]&lt;br /&gt;
* [[Meeting_2013_05_28]]&lt;br /&gt;
* [[Meeting_2013_05_10]]&lt;br /&gt;
* [[Meeting_2013_03_05]]&lt;br /&gt;
* [[Meeting_2013_02_01]]&lt;br /&gt;
* [[Meeting_2013_01_22]]&lt;br /&gt;
* [[Meeting_2013_01_04]]&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
* [[Meeting_2012_12_11]]&lt;br /&gt;
* [[Meeting_2012_11_23]]&lt;br /&gt;
* [[Meeting_2012_11_09]]&lt;br /&gt;
* [[Meeting_2012_10_30]]&lt;br /&gt;
* [[Meeting_2012_10_12]]&lt;br /&gt;
* [[Meeting_2012_09_28]]&lt;br /&gt;
* [[Meeting_2012_09_18]]&lt;br /&gt;
* [[Meeting_2012_08_31]]&lt;br /&gt;
* [[Meeting_2012_08_17]]&lt;br /&gt;
* [[Meeting_2012_08_07]]&lt;br /&gt;
* [[Meeting_2012_06_26]]&lt;br /&gt;
* [[Meeting_2012_06_08]]&lt;br /&gt;
* [[Meeting_2012_05_25]]&lt;br /&gt;
* [[Meeting_2012_March_16]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2010_08_02]]&lt;br /&gt;
* [[Meeting_2010_07_19]]&lt;br /&gt;
* [[Meeting_2010_July_5]]&lt;br /&gt;
* [[Meeting_2010_June_7]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Users&amp;diff=4321</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Users&amp;diff=4321"/>
		<updated>2018-11-10T14:48:56Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  {| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
Welcome to the Wiki section for the User Community!&lt;br /&gt;
&lt;br /&gt;
=Online Resources=&lt;br /&gt;
* PCGen [http://pcgen.sourceforge.net website].&lt;br /&gt;
* Visit our [http://groups.yahoo.com/group/pcgen main community group/forum], please read the [[Posting Guidelines]] first&lt;br /&gt;
* Submit a Bug or Feature Request into our [https://pcgenorg.atlassian.net JIRA Tracking System]&lt;br /&gt;
** We need help! We have a [[PCGen Jira Guide]] on how to use this new tracking system.&lt;br /&gt;
&lt;br /&gt;
=Wiki links=&lt;br /&gt;
* [[PCGen Features]]&lt;br /&gt;
* [[PCGen Requirements]]&lt;br /&gt;
* [[Updating Homebrew Sets]]&lt;br /&gt;
* The [[Roadmap]] for PCGen&lt;br /&gt;
* For our non English speakers we have a [[Internationalization]] section.&lt;br /&gt;
* The [[Data Wishlist]]&lt;br /&gt;
* [[4e Documentation Review]]&lt;br /&gt;
* The [[Output Sheet Wishlist]]&lt;br /&gt;
* An [[Explanation of Teams]] in PCGen&lt;br /&gt;
&lt;br /&gt;
=Show your Support=&lt;br /&gt;
* You can [https://sourceforge.net/project/project_donations.php?group_id=25576 donate] to the project!&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_08_04&amp;diff=4309</id>
		<title>Meeting 2018 08 04</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_08_04&amp;diff=4309"/>
		<updated>2018-08-04T13:58:14Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;'''Summary:''' Quick meeting, only data was represented.  '''Raw Log:'''  * [6:30 AM] Andrew Maitland: Welcome to the Board Meeting. The agenda for today is:  * 1) Team Report...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary:''' Quick meeting, only data was represented.&lt;br /&gt;
&lt;br /&gt;
'''Raw Log:'''&lt;br /&gt;
&lt;br /&gt;
* [6:30 AM] Andrew Maitland: Welcome to the Board Meeting. The agenda for today is: &lt;br /&gt;
* 1) Team Reports (10 minutes)&lt;br /&gt;
* 2) Tom's Roadblocks Update (35 minutes)&lt;br /&gt;
* 4) Public Q&amp;amp;A (5 minutes)&lt;br /&gt;
* [6:31 AM] Andrew Maitland: Tom appears to be absent, so we have a much shorter agenda this morning.&lt;br /&gt;
* [6:32 AM] Andrew Maitland: Team Reports - I see Data is present, so we'll cover that&lt;br /&gt;
* [6:33 AM] Andrew Maitland: We have had a few patches and submissions reviewed.&lt;br /&gt;
* [6:33 AM] Andrew Maitland: @DouglasLimmer has been working on a new source&lt;br /&gt;
* [6:33 AM] Andrew Maitland: Anything you want to add @DouglasLimmer or @GwenT ?&lt;br /&gt;
* [6:34 AM] Douglas Limmer: I've been a bit distracted, so my new source is coming along more slowly than I'd like.&lt;br /&gt;
* [6:35 AM] Gwen T: I hope to get working on UW archetypes, get them as close to finished as possible, once the kids are back in school. That will be a slow process, but I'd like to get it into release.&lt;br /&gt;
* [6:35 AM] Gwen T: @DouglasLimmer Which source?&lt;br /&gt;
* [6:36 AM] Douglas Limmer: Path of War Expanded&lt;br /&gt;
* [6:39 AM] Gwen T: I think that's the whole Data Team report....&lt;br /&gt;
* [6:40 AM] Andrew Maitland: We're still waiting on code to finalize the formula system so we can switch to beta releases and focus on bug fixes. But looks like real life threw a nasty curve ball on that one.&lt;br /&gt;
* [6:40 AM] Gwen T: Tom ok?&lt;br /&gt;
* [6:40 AM] Andrew Maitland: As far as I know. Just a busy guy.&lt;br /&gt;
* [6:41 AM] Andrew Maitland: We have no PR rep, but I saw Pathfinder 2 had a hiccup going out for the prerelease beta&lt;br /&gt;
* [6:42 AM] Andrew Maitland: Hopefully folks get their orders soon!&lt;br /&gt;
* [6:42 AM] Gwen T: Yeah. Amazon fulfillment can't move the product fast enough.&lt;br /&gt;
* [6:42 AM] Douglas Limmer: The PDFs are available for download.  I have one.&lt;br /&gt;
* [6:42 AM] Gwen T: We have hardcopies, but ours came from Paizo&lt;br /&gt;
* [6:43 AM] Andrew Maitland: Anyways, since we lack the rest of the teams, we'll move onto Q&amp;amp;A.&lt;br /&gt;
* [6:43 AM] Andrew Maitland: Anyone is free to ask questions of the team.&lt;br /&gt;
* [6:43 AM] Andrew Maitland: (Obviously Code &amp;amp; PR questions might be deferred)...&lt;br /&gt;
* [6:44 AM] Douglas Limmer: What's the state of Starfinder material?  Is there anyone specifically working on anything?&lt;br /&gt;
* [6:44 AM] Andrew Maitland: Core Rules is coded up, and working. Pact Worlds was submitted for License review in Newsources&lt;br /&gt;
* [6:45 AM] Douglas Limmer: I'm willing to code up the player-facing material in Alien Archive, but I should probably finish what I'm doing first.&lt;br /&gt;
* [6:45 AM] Andrew Maitland: My school schedule has kept me tied up, but that will change soon(tm).&lt;br /&gt;
* [6:48 AM] Andrew Maitland: Any other questions from our guests? @DavidGuest4 @SwiftbrookGuest ?&lt;br /&gt;
* [6:48 AM] David: Not me....&lt;br /&gt;
* [6:49 AM] Gwen T: It's been a rough summer for the PCGen team, it looks like!&lt;br /&gt;
* [6:50 AM] Andrew Maitland: Volunteers have lives outside of their *favorite* hobby, bound to happen.&lt;br /&gt;
* [6:51 AM] Andrew Maitland: Right, I have 6:50am. Thanks for everyone who made it. *Bangs Gavel* Meeting adjourned.&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4308</id>
		<title>Meeting Logs</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4308"/>
		<updated>2018-08-04T13:57:10Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a new section to hold the Meeting Logs.&lt;br /&gt;
&lt;br /&gt;
=2018=&lt;br /&gt;
* [[Meeting 2018 08 04]] &amp;quot;Data Team in the house&amp;quot;&lt;br /&gt;
* [[Meeting 2018 04 28]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 03 31]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 02 24]] &amp;quot;Roadmap to Production&amp;quot;&lt;br /&gt;
* [[Meeting 2018 01 13]] &amp;quot;Future of PCGen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2017=&lt;br /&gt;
* [[Meeting 2017 06 17]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 02 25]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 01 21]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2016=&lt;br /&gt;
* [[Meeting 2016 11 12]] &amp;quot;Release Discussion 6.07.01, and hold up&amp;quot;&lt;br /&gt;
* [[Meeting 2016 10 01]] &amp;quot;Discussion for 7.00&amp;quot;&lt;br /&gt;
* [[Meeting 2016 07 02]] &amp;quot;Quorum - 6.06 release and 7.00 roadmap&amp;quot;&lt;br /&gt;
* [[Meeting 2016 05 28]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting 2016 02 27]] &amp;quot;Production Release Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2015=&lt;br /&gt;
* [[Meeting 2015 11 14]] &amp;quot;Informal Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 09 12]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 08 15]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 05 09]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* [[Meeting 2015 03 27]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting 2015 02 13]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting 2015 01 30]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_16]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_02]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2014=&lt;br /&gt;
* [[Agenda_Next_Meeting_Deep_Dive]]&lt;br /&gt;
* [[Agenda_Next_Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_12_19]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_12_05]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_21]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_07]] &amp;quot;Team Discussion &amp;amp; Parser Conversation Post Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_24]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_10]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_09_26]] &amp;quot;Post Release Meeting &amp;amp; Deep Dive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_09_12]] &amp;quot;Release Meeting&amp;quot; RC2 good to Go?&lt;br /&gt;
* [[Meeting_2014_08_29]] &amp;quot;Release Meeting&amp;quot; RC1 good?&lt;br /&gt;
* [[Meeting_2014_08_15]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_18]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_11]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement Part 2; Documentation Discussion&lt;br /&gt;
* [[Meeting_2014_06_20]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_06_06]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement&lt;br /&gt;
* [[Meeting_2014_05_09]]&lt;br /&gt;
* [[Meeting_2014_04_29]]&lt;br /&gt;
* [[Meeting 2014_02_28]]&lt;br /&gt;
* [[Meeting_2014_01_03]]&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
* [[Meeting_2013_12_06]] &amp;lt;-- Final 2013 Meeting&lt;br /&gt;
* [[Meeting_2013_11_22]]&lt;br /&gt;
* [[Meeting_2013_10_25]]&lt;br /&gt;
* [[Meeting_2013_08_30]]&lt;br /&gt;
* [[Meeting_2013_08_02]]&lt;br /&gt;
* [[Meeting_2013_06_22]]&lt;br /&gt;
* [[Meeting_2013_05_28]]&lt;br /&gt;
* [[Meeting_2013_05_10]]&lt;br /&gt;
* [[Meeting_2013_03_05]]&lt;br /&gt;
* [[Meeting_2013_02_01]]&lt;br /&gt;
* [[Meeting_2013_01_22]]&lt;br /&gt;
* [[Meeting_2013_01_04]]&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
* [[Meeting_2012_12_11]]&lt;br /&gt;
* [[Meeting_2012_11_23]]&lt;br /&gt;
* [[Meeting_2012_11_09]]&lt;br /&gt;
* [[Meeting_2012_10_30]]&lt;br /&gt;
* [[Meeting_2012_10_12]]&lt;br /&gt;
* [[Meeting_2012_09_28]]&lt;br /&gt;
* [[Meeting_2012_09_18]]&lt;br /&gt;
* [[Meeting_2012_08_31]]&lt;br /&gt;
* [[Meeting_2012_08_17]]&lt;br /&gt;
* [[Meeting_2012_08_07]]&lt;br /&gt;
* [[Meeting_2012_06_26]]&lt;br /&gt;
* [[Meeting_2012_06_08]]&lt;br /&gt;
* [[Meeting_2012_05_25]]&lt;br /&gt;
* [[Meeting_2012_March_16]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2010_08_02]]&lt;br /&gt;
* [[Meeting_2010_07_19]]&lt;br /&gt;
* [[Meeting_2010_July_5]]&lt;br /&gt;
* [[Meeting_2010_June_7]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_04_28&amp;diff=4301</id>
		<title>Meeting 2018 04 28</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_04_28&amp;diff=4301"/>
		<updated>2018-04-28T13:57:27Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Attendance==&lt;br /&gt;
* Andrew M.&lt;br /&gt;
* Paul G.&lt;br /&gt;
* Douglas L.&lt;br /&gt;
* Gwen T.&lt;br /&gt;
* Avilay&lt;br /&gt;
* William L.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
* Beta gated by code requested PRs, no details from code&lt;br /&gt;
* Content working on bugs, but the core programmers are busy with real life (Slow progress)&lt;br /&gt;
* Ultimate Wilderness is in the final phase with just Archetypes waiting to be handled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Log==&lt;br /&gt;
* [6:10 AM] Andrew Maitland: Welcome all to the pcgen board of director's meeting for April.&lt;br /&gt;
* [6:10 AM] Avilay: hello&lt;br /&gt;
* [6:11 AM] Andrew Maitland: Our planned agenda is 1: Team reports, 2: Beta status from Code, 3: Open forum&lt;br /&gt;
* [6:11 AM] Andrew Maitland: With nobody representing code #2 will not be possible&lt;br /&gt;
* [6:13 AM] Andrew Maitland: I'll kick this off for Content Team - We have had some bug fixes, and features by the team. My involvement will be less for the next 11 weeks as I finish up some advanced classes. Regan is assisting with a new OS for SagaBorn system. Otherwise, not too much activity this past month.&lt;br /&gt;
* [6:14 AM] Andrew Maitland: Paul - What's happening with the PR team?&lt;br /&gt;
* [6:17 AM] Paul Grosse: There's been a few requests for books, I've put them in Jira or pointed people at that to add them.&lt;br /&gt;
* [6:17 AM] Paul Grosse: I think everything ready for release has been cleared, will catch up tomorrow and make sure nothing has been marked for license review&lt;br /&gt;
* [6:18 AM] Paul Grosse: Other than that I think it's been kinda quiet on the PR front&lt;br /&gt;
* [6:19 AM] Andrew Maitland: Have we contacted any publishers for the Facebook inquiries we've had? I know one was for a Cthulhu system we assisted a user with...&lt;br /&gt;
* [6:21 AM] Paul Grosse: Hmm, I don't think I had, I'll review the FB messages this weekend for those.&lt;br /&gt;
* [6:21 AM] Andrew Maitland: Okay, thanks.&lt;br /&gt;
* [6:23 AM] Andrew Maitland: We're waiting on code to push in several PRs before they'll be ready to switch gears in a Beta mode. We planned on a month or so of Beta, then 2 Release Candidates, before 6.08.00 is pushed out. Then 6.09.00 would be focused on full conversion for the formula system. At present rate, we're looking at a July or August production release.&lt;br /&gt;
* [6:24 AM] Andrew Maitland: @TomParker has the exact information on how far out Code is.&lt;br /&gt;
* [6:25 AM] Andrew Maitland: I think the covers the official team agenda, I'll open the forum for any questions or comments from those present.&lt;br /&gt;
* [6:26 AM] Andrew Maitland: @here any questions or comments?&lt;br /&gt;
* [6:26 AM] Avilay: august release?&lt;br /&gt;
* [6:27 AM] Andrew Maitland: August release of 6.08.00 - the first production release&lt;br /&gt;
* [6:27 AM] Andrew Maitland: A version we deem is stable/safe for public consumption. Like the older 6.06.01 release most people use&lt;br /&gt;
* [6:27 AM] Avilay: oki&lt;br /&gt;
* [6:28 AM] Douglas Limmer: What books are people asking for? [Yes, I'm too lazy to look at JIRA.]&lt;br /&gt;
* [6:29 AM] Andrew Maitland: Our release follow a standard &amp;quot;Alpha (toss in new features), Beta (Fix introduced bugs), Release Candidate (Verify we fixed known issues), Production (We're happy to have the public use it)&amp;quot;&lt;br /&gt;
* [6:29 AM] Andrew Maitland: Horror Adventures is one&lt;br /&gt;
* [6:30 AM] Andrew Maitland: Curse of the Crimson Throne&lt;br /&gt;
* [6:31 AM] Andrew Maitland: In One's Blood&lt;br /&gt;
* [6:32 AM] Avilay: ultimate wilderness, gwen is working on it already&lt;br /&gt;
* [6:32 AM] Andrew Maitland: Those are the most recent requests, I know the Paths of Prestige has been requested recently on forums&lt;br /&gt;
* [6:32 AM] William L (WarStoke): has any one looked at spheres of power?&lt;br /&gt;
* [6:33 AM] Andrew Maitland: I worked on that for David, and he adapted it a bit. Not sure if it's release worthy&lt;br /&gt;
* [6:34 AM] Andrew Maitland: Morning Gwen. Folks are asking how Ultimate Wilderness is coming along&lt;br /&gt;
* [6:34 AM] Gwen T: Sorry. Life's been busy...&lt;br /&gt;
* [6:35 AM] Andrew Maitland: An all too common issue.&lt;br /&gt;
* [6:35 AM] Gwen T: US is 90% done. Mostly archetypes left. 40 or so IIRC.&lt;br /&gt;
* [6:35 AM] Avilay: hmmmm.... why that about life is so familiar. no hassle in time taken&lt;br /&gt;
* [6:36 AM] Gwen T: So it's farther along than Intrigue was when we put it out as an alpha...&lt;br /&gt;
* [6:38 AM] Andrew Maitland: Sounds good. Thanks for the update Gwen. Any other questions or comments before I end the meeting?&lt;br /&gt;
* [6:39 AM] Douglas Limmer: Not from me.&lt;br /&gt;
* [6:39 AM] Avilay: i can test shifter normal&lt;br /&gt;
* [6:40 AM] Avilay: have a shifter character&lt;br /&gt;
* [6:40 AM] William L (WarStoke): any luck with getting winter witches working again ?&lt;br /&gt;
* [6:40 AM] William L (WarStoke): havent seen any updates to the bug report&lt;br /&gt;
* [6:41 AM] Andrew Maitland: Like Gwen, I've been extremely busy with life. I have a Final due tomorrow, and then then next 14 weeks I'm in two advanced overlapping programming classes for the summer semester&lt;br /&gt;
* [6:42 AM] Gwen T: @Avilay My local game shop requested it. They've been testing it since late November. I've adjusted it based on their feedback. So if you test it, try to break it! It's pretty solid, I believe.&lt;br /&gt;
* [6:42 AM] Avilay: will do my best&lt;br /&gt;
* [6:42 AM] William L (WarStoke): @AndrewMaitland wow heavy load&lt;br /&gt;
* [6:43 AM] Andrew Maitland: My fall semester has one last heavy hitting 300 series class IIRC, and then two general ed classes, before I graduate.&lt;br /&gt;
* [6:44 AM] William L (WarStoke): hopefully not in two extreamly dissimilar lang's i made the mistake of taking french and spanish and latin freshman year of col as electives lol to get all 3 lang classes out of the way lol was brutal&lt;br /&gt;
* [6:44 AM] Andrew Maitland: Yeah, heavy load. I have 8 books between the next two classes to pound out.&lt;br /&gt;
* [6:44 AM] Andrew Maitland: Nope, no language classes, history and philosophy I think&lt;br /&gt;
* [6:46 AM] Andrew Maitland: Thanks for everyone showing up to participate. This concludes our Board meeting. *Bangs Gavel*&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_04_28&amp;diff=4300</id>
		<title>Meeting 2018 04 28</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_04_28&amp;diff=4300"/>
		<updated>2018-04-28T13:56:26Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot; ==Attendance== * Andrew M. * Paul G. * Douglas L. * Gwen T. * Avilay * William L.  ==Summary== * Beta gated by code requested PRs, no details from code * Content working on b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Attendance==&lt;br /&gt;
* Andrew M.&lt;br /&gt;
* Paul G.&lt;br /&gt;
* Douglas L.&lt;br /&gt;
* Gwen T.&lt;br /&gt;
* Avilay&lt;br /&gt;
* William L.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
* Beta gated by code requested PRs, no details from code&lt;br /&gt;
* Content working on bugs, but the core programmers are busy with real life (Slow progress)&lt;br /&gt;
* Ultimate Wilderness is in the final phase with just Archetypes waiting to be handled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Log==&lt;br /&gt;
[6:10 AM] Andrew Maitland: Welcome all to the pcgen board of director's meeting for April.&lt;br /&gt;
[6:10 AM] Avilay: hello&lt;br /&gt;
[6:11 AM] Andrew Maitland: Our planned agenda is 1: Team reports, 2: Beta status from Code, 3: Open forum&lt;br /&gt;
[6:11 AM] Andrew Maitland: With nobody representing code #2 will not be possible&lt;br /&gt;
[6:13 AM] Andrew Maitland: I'll kick this off for Content Team - We have had some bug fixes, and features by the team. My involvement will be less for the next 11 weeks as I finish up some advanced classes. Regan is assisting with a new OS for SagaBorn system. Otherwise, not too much activity this past month.&lt;br /&gt;
[6:14 AM] Andrew Maitland: Paul - What's happening with the PR team?&lt;br /&gt;
[6:17 AM] Paul Grosse: There's been a few requests for books, I've put them in Jira or pointed people at that to add them.&lt;br /&gt;
[6:17 AM] Paul Grosse: I think everything ready for release has been cleared, will catch up tomorrow and make sure nothing has been marked for license review&lt;br /&gt;
[6:18 AM] Paul Grosse: Other than that I think it's been kinda quiet on the PR front&lt;br /&gt;
[6:19 AM] Andrew Maitland: Have we contacted any publishers for the Facebook inquiries we've had? I know one was for a Cthulhu system we assisted a user with...&lt;br /&gt;
[6:21 AM] Paul Grosse: Hmm, I don't think I had, I'll review the FB messages this weekend for those.&lt;br /&gt;
[6:21 AM] Andrew Maitland: Okay, thanks.&lt;br /&gt;
[6:23 AM] Andrew Maitland: We're waiting on code to push in several PRs before they'll be ready to switch gears in a Beta mode. We planned on a month or so of Beta, then 2 Release Candidates, before 6.08.00 is pushed out. Then 6.09.00 would be focused on full conversion for the formula system. At present rate, we're looking at a July or August production release.&lt;br /&gt;
[6:24 AM] Andrew Maitland: @TomParker has the exact information on how far out Code is.&lt;br /&gt;
[6:25 AM] Andrew Maitland: I think the covers the official team agenda, I'll open the forum for any questions or comments from those present.&lt;br /&gt;
[6:26 AM] Andrew Maitland: @here any questions or comments?&lt;br /&gt;
[6:26 AM] Avilay: august release?&lt;br /&gt;
[6:27 AM] Andrew Maitland: August release of 6.08.00 - the first production release&lt;br /&gt;
[6:27 AM] Andrew Maitland: A version we deem is stable/safe for public consumption. Like the older 6.06.01 release most people use&lt;br /&gt;
[6:27 AM] Avilay: oki&lt;br /&gt;
[6:28 AM] Douglas Limmer: What books are people asking for? [Yes, I'm too lazy to look at JIRA.]&lt;br /&gt;
[6:29 AM] Andrew Maitland: Our release follow a standard &amp;quot;Alpha (toss in new features), Beta (Fix introduced bugs), Release Candidate (Verify we fixed known issues), Production (We're happy to have the public use it)&amp;quot;&lt;br /&gt;
[6:29 AM] Andrew Maitland: Horror Adventures is one&lt;br /&gt;
[6:30 AM] Andrew Maitland: Curse of the Crimson Throne&lt;br /&gt;
[6:31 AM] Andrew Maitland: In One's Blood&lt;br /&gt;
[6:32 AM] Avilay: ultimate wilderness, gwen is working on it already&lt;br /&gt;
[6:32 AM] Andrew Maitland: Those are the most recent requests, I know the Paths of Prestige has been requested recently on forums&lt;br /&gt;
[6:32 AM] William L (WarStoke): has any one looked at spheres of power?&lt;br /&gt;
    Gwen T joined the room&lt;br /&gt;
[6:33 AM] Andrew Maitland: I worked on that for David, and he adapted it a bit. Not sure if it's release worthy&lt;br /&gt;
[6:34 AM] Andrew Maitland: Morning Gwen. Folks are asking how Ultimate Wilderness is coming along&lt;br /&gt;
[6:34 AM] Gwen T: Sorry. Life's been busy...&lt;br /&gt;
[6:35 AM] Andrew Maitland: An all too common issue.&lt;br /&gt;
[6:35 AM] Gwen T: US is 90% done. Mostly archetypes left. 40 or so IIRC.&lt;br /&gt;
[6:35 AM] Avilay: hmmmm.... why that about life is so familiar. no hassle in time taken&lt;br /&gt;
[6:36 AM] Gwen T: So it's farther along than Intrigue was when we put it out as an alpha...&lt;br /&gt;
[6:38 AM] Andrew Maitland: Sounds good. Thanks for the update Gwen. Any other questions or comments before I end the meeting?&lt;br /&gt;
[6:39 AM] Douglas Limmer: Not from me.&lt;br /&gt;
[6:39 AM] Avilay: i can test shifter normal&lt;br /&gt;
[6:40 AM] Avilay: have a shifter character&lt;br /&gt;
[6:40 AM] William L (WarStoke): any luck with getting winter witches working again ?&lt;br /&gt;
[6:40 AM] William L (WarStoke): havent seen any updates to the bug report&lt;br /&gt;
[6:41 AM] Andrew Maitland: Like Gwen, I've been extremely busy with life. I have a Final due tomorrow, and then then next 14 weeks I'm in two advanced overlapping programming classes for the summer semester&lt;br /&gt;
[6:42 AM] Gwen T: @Avilay My local game shop requested it. They've been testing it since late November. I've adjusted it based on their feedback. So if you test it, try to break it! It's pretty solid, I believe.&lt;br /&gt;
[6:42 AM] Avilay: will do my best&lt;br /&gt;
[6:42 AM] William L (WarStoke): @AndrewMaitland wow heavy load&lt;br /&gt;
[6:43 AM] Andrew Maitland: My fall semester has one last heavy hitting 300 series class IIRC, and then two general ed classes, before I graduate.&lt;br /&gt;
[6:44 AM] William L (WarStoke): hopefully not in two extreamly dissimilar lang's i made the mistake of taking french and spanish and latin freshman year of col as electives lol to get all 3 lang classes out of the way lol was brutal&lt;br /&gt;
[6:44 AM] Andrew Maitland: Yeah, heavy load. I have 8 books between the next two classes to pound out.&lt;br /&gt;
[6:44 AM] Andrew Maitland: Nope, no language classes, history and philosophy I think&lt;br /&gt;
[6:46 AM] Andrew Maitland: Thanks for everyone showing up to participate. This concludes our Board meeting. *Bangs Gavel*&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4299</id>
		<title>Meeting Logs</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4299"/>
		<updated>2018-04-28T13:51:24Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a new section to hold the Meeting Logs.&lt;br /&gt;
&lt;br /&gt;
=2018=&lt;br /&gt;
* [[Meeting 2018 04 28]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 03 31]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 02 24]] &amp;quot;Roadmap to Production&amp;quot;&lt;br /&gt;
* [[Meeting 2018 01 13]] &amp;quot;Future of PCGen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2017=&lt;br /&gt;
* [[Meeting 2017 06 17]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 02 25]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 01 21]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2016=&lt;br /&gt;
* [[Meeting 2016 11 12]] &amp;quot;Release Discussion 6.07.01, and hold up&amp;quot;&lt;br /&gt;
* [[Meeting 2016 10 01]] &amp;quot;Discussion for 7.00&amp;quot;&lt;br /&gt;
* [[Meeting 2016 07 02]] &amp;quot;Quorum - 6.06 release and 7.00 roadmap&amp;quot;&lt;br /&gt;
* [[Meeting 2016 05 28]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting 2016 02 27]] &amp;quot;Production Release Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2015=&lt;br /&gt;
* [[Meeting 2015 11 14]] &amp;quot;Informal Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 09 12]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 08 15]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 05 09]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* [[Meeting 2015 03 27]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting 2015 02 13]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting 2015 01 30]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_16]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_02]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2014=&lt;br /&gt;
* [[Agenda_Next_Meeting_Deep_Dive]]&lt;br /&gt;
* [[Agenda_Next_Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_12_19]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_12_05]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_21]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_07]] &amp;quot;Team Discussion &amp;amp; Parser Conversation Post Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_24]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_10]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_09_26]] &amp;quot;Post Release Meeting &amp;amp; Deep Dive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_09_12]] &amp;quot;Release Meeting&amp;quot; RC2 good to Go?&lt;br /&gt;
* [[Meeting_2014_08_29]] &amp;quot;Release Meeting&amp;quot; RC1 good?&lt;br /&gt;
* [[Meeting_2014_08_15]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_18]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_11]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement Part 2; Documentation Discussion&lt;br /&gt;
* [[Meeting_2014_06_20]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_06_06]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement&lt;br /&gt;
* [[Meeting_2014_05_09]]&lt;br /&gt;
* [[Meeting_2014_04_29]]&lt;br /&gt;
* [[Meeting 2014_02_28]]&lt;br /&gt;
* [[Meeting_2014_01_03]]&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
* [[Meeting_2013_12_06]] &amp;lt;-- Final 2013 Meeting&lt;br /&gt;
* [[Meeting_2013_11_22]]&lt;br /&gt;
* [[Meeting_2013_10_25]]&lt;br /&gt;
* [[Meeting_2013_08_30]]&lt;br /&gt;
* [[Meeting_2013_08_02]]&lt;br /&gt;
* [[Meeting_2013_06_22]]&lt;br /&gt;
* [[Meeting_2013_05_28]]&lt;br /&gt;
* [[Meeting_2013_05_10]]&lt;br /&gt;
* [[Meeting_2013_03_05]]&lt;br /&gt;
* [[Meeting_2013_02_01]]&lt;br /&gt;
* [[Meeting_2013_01_22]]&lt;br /&gt;
* [[Meeting_2013_01_04]]&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
* [[Meeting_2012_12_11]]&lt;br /&gt;
* [[Meeting_2012_11_23]]&lt;br /&gt;
* [[Meeting_2012_11_09]]&lt;br /&gt;
* [[Meeting_2012_10_30]]&lt;br /&gt;
* [[Meeting_2012_10_12]]&lt;br /&gt;
* [[Meeting_2012_09_28]]&lt;br /&gt;
* [[Meeting_2012_09_18]]&lt;br /&gt;
* [[Meeting_2012_08_31]]&lt;br /&gt;
* [[Meeting_2012_08_17]]&lt;br /&gt;
* [[Meeting_2012_08_07]]&lt;br /&gt;
* [[Meeting_2012_06_26]]&lt;br /&gt;
* [[Meeting_2012_06_08]]&lt;br /&gt;
* [[Meeting_2012_05_25]]&lt;br /&gt;
* [[Meeting_2012_March_16]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2010_08_02]]&lt;br /&gt;
* [[Meeting_2010_07_19]]&lt;br /&gt;
* [[Meeting_2010_July_5]]&lt;br /&gt;
* [[Meeting_2010_June_7]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Git_Setup&amp;diff=4298</id>
		<title>Git Setup</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Git_Setup&amp;diff=4298"/>
		<updated>2018-03-31T16:45:44Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot; git is what the PCGen uses to track changes and move those changes to our git repository on github.com.  For Linux and Mac users, you will need to download/install git for yo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
git is what the PCGen uses to track changes and move those changes to our git repository on github.com.&lt;br /&gt;
&lt;br /&gt;
For Linux and Mac users, you will need to download/install git for you operating system.&lt;br /&gt;
&lt;br /&gt;
Windows machines:&lt;br /&gt;
* Download git and install it -- LINK: https://git-scm.com/downloads&lt;br /&gt;
* You can use command line, or a git client. However, the programs the team uses are [https://www.sourcetreeapp.com/ SourceTree] and the [https://tortoisegit.org/ TortoiseGit Windows Shell Interface]&lt;br /&gt;
&lt;br /&gt;
We will want to create a SSH key. This can be accomplished using PuttyGen, which comes with TortoiseGit or is a standalone [https://www.ssh.com/ssh/putty/windows/puttygen download here]&lt;br /&gt;
&lt;br /&gt;
Create the Key, you will move your mouse to seed randomness. Once that is done, the window will have a KEY. Save the Private key somewhere easy to remember, like Documents/keys. Copy the public portion (Entire window), we'll be using that in a moment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, you will need a [https://github.com/ GitHub account].&lt;br /&gt;
&lt;br /&gt;
Once you have an account, [https://github.com/settings/keys click here to go to your settings/keys]&lt;br /&gt;
&lt;br /&gt;
Create a NEW SSH KEY&lt;br /&gt;
&lt;br /&gt;
Paste the key, and name it, click okay/save.&lt;br /&gt;
&lt;br /&gt;
After that, you will want to have a copy of the PCGen Project, [https://github.com/PCGen/pcgen#fork-destination-box click on this to FORK a copy of the PCGen development] and [https://github.com/PCGen/pcgen-newsources#fork-destination-box click here for the NewSource Development]&lt;br /&gt;
&lt;br /&gt;
After you have Forked, the green Button Clone or Download will have a LINK. Example: git@github.com:PCGen/pcgen.git or if you desire git@github.com:&amp;lt;YourUserName&amp;gt;/pcgen.git&lt;br /&gt;
&lt;br /&gt;
Copy that LINK.&lt;br /&gt;
&lt;br /&gt;
Next, you'll want to clone that repository onto your computer. I recommend a folder set aside for these repos. Like c:\Projects\PCGen. If using tortoisegit, right click while inside the destination folder and select 'Git Clone here'. If you copied the Github Clone link, then tortoisegit has already placed that link for the URL.&lt;br /&gt;
&lt;br /&gt;
[[FILE:Tgit-clone.PNG]]&lt;br /&gt;
&lt;br /&gt;
Check the Load Putty Key and give it the path to your key you created. Verify the destination is correct, and then click okay. Repeat the Git clone process for every repo you want to have available.&lt;br /&gt;
&lt;br /&gt;
===Contribute Work===&lt;br /&gt;
&lt;br /&gt;
If you are going to edit and work on files for inclusion in the next release, then you need to become familiar with the terms used and the workflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Branch - A named branch to edit files in. (Always do changes in a branch). PCGen standards are name branchs for the JIRA you are working on. Each feature or bug gets a separate branch.&lt;br /&gt;
* Switch/Checkout - Method to change branch&lt;br /&gt;
* Add - Adds files to the git stage&lt;br /&gt;
* Commit - Takes the 'added' files and takes a snapshot of the changes&lt;br /&gt;
* Push - Takes all the snapshots in the branch, and &amp;quot;pushes&amp;quot; those changes to a remote repository (In this case, your repository on github.com)&lt;br /&gt;
* Pull Request (PR) - How to get your branch and changes to be seen by the upstream repository (PCGen/pcgen or PCGen/pcgen-Newsource). &lt;br /&gt;
* Merged - What takes place when two branches combine into each other. Each branch needs to eventually merge into the master to be seen for the releases.&lt;br /&gt;
&lt;br /&gt;
* Fetch - Used to grab the list of another remote repository branch list&lt;br /&gt;
* Pull - Pull changes from the selected repository into the current selected branch&lt;br /&gt;
* Rebase - Used during a Pull/Fetch to reorder the commits you have made, and place them after the existing commits.&lt;br /&gt;
 &lt;br /&gt;
ALL work takes place on your computer. You host a local repository on your computer. You add/commit to save those changes. PUSH and PULL REQUEST are the methods to move your changes into the internet and share your changes with the team.&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=File:Tgit-clone.PNG&amp;diff=4297</id>
		<title>File:Tgit-clone.PNG</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=File:Tgit-clone.PNG&amp;diff=4297"/>
		<updated>2018-03-31T16:31:14Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Screenshot of tortoisegit clone dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of tortoisegit clone dialog&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_03_31&amp;diff=4296</id>
		<title>Meeting 2018 03 31</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_03_31&amp;diff=4296"/>
		<updated>2018-03-31T16:10:26Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;=Board Meeting 2018/03/31=  ==Participants== * Andrew (Content / Acting Chair) * Paul (Public &amp;amp; Publisher Relations) * Douglas L. * William L. * David B.  ==Summary== * PR has...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Board Meeting 2018/03/31=&lt;br /&gt;
&lt;br /&gt;
==Participants==&lt;br /&gt;
* Andrew (Content / Acting Chair)&lt;br /&gt;
* Paul (Public &amp;amp; Publisher Relations)&lt;br /&gt;
* Douglas L.&lt;br /&gt;
* William L.&lt;br /&gt;
* David B.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
* PR has flyers and swag if anyone wants to represent PCGen at any upcoming conventions&lt;br /&gt;
* 6.07.07 had an issue with the windows installer and pcgen.sh not being executable. Javier has been helping to address that.&lt;br /&gt;
* 6.07.08 should be released tonight&lt;br /&gt;
* Still Alpha. Code is gating the switch to Beta pending several code merges&lt;br /&gt;
&lt;br /&gt;
===Raw log===&lt;br /&gt;
* [6:05 AM] Andrew Maitland: Welcome to the PCGen Board of Director's Meeting for March 31st 2018.&lt;br /&gt;
* [6:06 AM] Andrew Maitland: Agenda:1) Team Reports (10 minutes)&lt;br /&gt;
* 2) Tom's Roadblocks Update (35 minutes)&lt;br /&gt;
* 3) Public Q&amp;amp;A (5 minutes)&lt;br /&gt;
* [6:06 AM] Andrew Maitland: @PaulGrosse would you like to give an update for PR?&lt;br /&gt;
* [6:07 AM] Paul Grosse: Lets see, since the last meeting all sources that were deemed complete and submitted for license review were cleared. One book by Legendary Games was decided it needed more work.&lt;br /&gt;
* [6:08 AM] Paul Grosse: Andrew and I are continuing to keep up with the various media fronts for PCGen, FB, forums, reddit, twitter, etc.&lt;br /&gt;
* [6:09 AM] Paul Grosse: If anyone has any cons coming up that they want to represent PCGen at, or leave some flyers on a swag table let me know&lt;br /&gt;
* [6:10 AM] Paul Grosse: I think that's about it&lt;br /&gt;
* [6:10 AM] Paul Grosse: Any questions?&lt;br /&gt;
* [6:10 AM] Andrew Maitland: None from me, thanks Paul!&lt;br /&gt;
* [6:11 AM] Andrew Maitland: Okay, content report -&lt;br /&gt;
* [6:12 AM] Andrew Maitland: Been working on mainly bug fixes found in the newer releases that were put out in 6.07.07. Thanks to our community who catch issues and report them.&lt;br /&gt;
* [6:13 AM] Andrew Maitland: I've done a lot of conversion to the new formula system with Starfinder, as that is a nice new game system with minimal files to change.&lt;br /&gt;
* [6:14 AM] Andrew Maitland: I'll be including that for the upcoming 6.07.08 (Tonight if all goes well)&lt;br /&gt;
* [6:14 AM] Paul Grosse: Did the Windows installer get worked out?&lt;br /&gt;
* [6:14 AM] Andrew Maitland: Our last release had issues with the Windows Installer. I have been working with Javier to get that hammered out.&lt;br /&gt;
* [6:15 AM] Andrew Maitland: I'll be testing his efforts to see where we land. And get those included if they work properly (He also included the build testing for Mac, so we have two distinct build tests - Linux and Mac).&lt;br /&gt;
* [6:16 AM] Paul Grosse: Yea!&lt;br /&gt;
* [6:16 AM] Andrew Maitland: The end goal is to have our CI actually build the release so it is consistent every time.&lt;br /&gt;
* [6:17 AM] Andrew Maitland: We've discovered a &amp;quot;break PCGen&amp;quot; bug with temporary bonuses and the javascript in Eddy's Fantasy Character Sheet (Character Tab Only)&lt;br /&gt;
* [6:18 AM] Andrew Maitland: Due to that, I'm afraid I'll have to pull it, until we can fix the javascript (Handles Rolling Dice)&lt;br /&gt;
* [6:20 AM] Andrew Maitland: Questions for Content?&lt;br /&gt;
* [6:20 AM] Paul Grosse: Want me to see if Eddy wants to take a look at it?&lt;br /&gt;
* [6:20 AM] Andrew Maitland: Yes please.&lt;br /&gt;
* [6:22 AM] Andrew Maitland: For Code -&lt;br /&gt;
* [6:24 AM] Andrew Maitland: Tom has not indicated he is ready to go Beta, he indicated he had about 3 more PR's that had to be merged in a specific order and conflicts resolved before Code would be ready to switch.&lt;br /&gt;
* [6:25 AM] Andrew Maitland: Tonight's release will be an Alpha as a result, and then the next release after should be a Beta. Gated upon Code giving the green light.&lt;br /&gt;
* [6:26 AM] Andrew Maitland: Any questions for the release/code portion?&lt;br /&gt;
* [6:27 AM] Paul Grosse: Not from I&lt;br /&gt;
* [6:28 AM] Andrew Maitland: Okay, well, I've covered Agenda #1 and #2, so that leaves us with #3 Public Forums.&lt;br /&gt;
* [6:28 AM] Andrew Maitland: Open Discussion time - Any questions for the Board of Directors from anyone?&lt;br /&gt;
* [6:29 AM] Andrew Maitland: Doug, David, or William?&lt;br /&gt;
* [6:29 AM] Papa (aka David Bender): not from I&lt;br /&gt;
* [6:29 AM] William L: I for one just want to say thank you to you folks and every one involved&lt;br /&gt;
* [6:29 AM] Douglas Limmer: No questions here.&lt;br /&gt;
* [6:30 AM] Andrew Maitland: Thanks David&lt;br /&gt;
* [6:30 AM] Andrew Maitland: Thanks for the kind words William&lt;br /&gt;
* [6:30 AM] Andrew Maitland: Thanks Douglas&lt;br /&gt;
* [6:31 AM] Andrew Maitland: Okay, well if there is no other business to present to the Board of Directors, I declare this meeting is adjourned.&lt;br /&gt;
*     Andrew Maitland bangs gavel&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4295</id>
		<title>Meeting Logs</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4295"/>
		<updated>2018-03-31T13:37:00Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a new section to hold the Meeting Logs.&lt;br /&gt;
&lt;br /&gt;
=2018=&lt;br /&gt;
* [[Meeting 2018 03 31]] &amp;quot;Board Light Beta&amp;quot;&lt;br /&gt;
* [[Meeting 2018 02 24]] &amp;quot;Roadmap to Production&amp;quot;&lt;br /&gt;
* [[Meeting 2018 01 13]] &amp;quot;Future of PCGen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2017=&lt;br /&gt;
* [[Meeting 2017 06 17]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 02 25]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 01 21]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2016=&lt;br /&gt;
* [[Meeting 2016 11 12]] &amp;quot;Release Discussion 6.07.01, and hold up&amp;quot;&lt;br /&gt;
* [[Meeting 2016 10 01]] &amp;quot;Discussion for 7.00&amp;quot;&lt;br /&gt;
* [[Meeting 2016 07 02]] &amp;quot;Quorum - 6.06 release and 7.00 roadmap&amp;quot;&lt;br /&gt;
* [[Meeting 2016 05 28]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting 2016 02 27]] &amp;quot;Production Release Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2015=&lt;br /&gt;
* [[Meeting 2015 11 14]] &amp;quot;Informal Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 09 12]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 08 15]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 05 09]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* [[Meeting 2015 03 27]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting 2015 02 13]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting 2015 01 30]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_16]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_02]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2014=&lt;br /&gt;
* [[Agenda_Next_Meeting_Deep_Dive]]&lt;br /&gt;
* [[Agenda_Next_Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_12_19]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_12_05]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_21]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_07]] &amp;quot;Team Discussion &amp;amp; Parser Conversation Post Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_24]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_10]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_09_26]] &amp;quot;Post Release Meeting &amp;amp; Deep Dive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_09_12]] &amp;quot;Release Meeting&amp;quot; RC2 good to Go?&lt;br /&gt;
* [[Meeting_2014_08_29]] &amp;quot;Release Meeting&amp;quot; RC1 good?&lt;br /&gt;
* [[Meeting_2014_08_15]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_18]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_11]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement Part 2; Documentation Discussion&lt;br /&gt;
* [[Meeting_2014_06_20]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_06_06]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement&lt;br /&gt;
* [[Meeting_2014_05_09]]&lt;br /&gt;
* [[Meeting_2014_04_29]]&lt;br /&gt;
* [[Meeting 2014_02_28]]&lt;br /&gt;
* [[Meeting_2014_01_03]]&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
* [[Meeting_2013_12_06]] &amp;lt;-- Final 2013 Meeting&lt;br /&gt;
* [[Meeting_2013_11_22]]&lt;br /&gt;
* [[Meeting_2013_10_25]]&lt;br /&gt;
* [[Meeting_2013_08_30]]&lt;br /&gt;
* [[Meeting_2013_08_02]]&lt;br /&gt;
* [[Meeting_2013_06_22]]&lt;br /&gt;
* [[Meeting_2013_05_28]]&lt;br /&gt;
* [[Meeting_2013_05_10]]&lt;br /&gt;
* [[Meeting_2013_03_05]]&lt;br /&gt;
* [[Meeting_2013_02_01]]&lt;br /&gt;
* [[Meeting_2013_01_22]]&lt;br /&gt;
* [[Meeting_2013_01_04]]&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
* [[Meeting_2012_12_11]]&lt;br /&gt;
* [[Meeting_2012_11_23]]&lt;br /&gt;
* [[Meeting_2012_11_09]]&lt;br /&gt;
* [[Meeting_2012_10_30]]&lt;br /&gt;
* [[Meeting_2012_10_12]]&lt;br /&gt;
* [[Meeting_2012_09_28]]&lt;br /&gt;
* [[Meeting_2012_09_18]]&lt;br /&gt;
* [[Meeting_2012_08_31]]&lt;br /&gt;
* [[Meeting_2012_08_17]]&lt;br /&gt;
* [[Meeting_2012_08_07]]&lt;br /&gt;
* [[Meeting_2012_06_26]]&lt;br /&gt;
* [[Meeting_2012_06_08]]&lt;br /&gt;
* [[Meeting_2012_05_25]]&lt;br /&gt;
* [[Meeting_2012_March_16]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2010_08_02]]&lt;br /&gt;
* [[Meeting_2010_07_19]]&lt;br /&gt;
* [[Meeting_2010_July_5]]&lt;br /&gt;
* [[Meeting_2010_June_7]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Mailing_Lists_and_PCGen_Links&amp;diff=4294</id>
		<title>Mailing Lists and PCGen Links</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Mailing_Lists_and_PCGen_Links&amp;diff=4294"/>
		<updated>2018-03-29T04:19:27Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* I need Help, please! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=I need Help, please!=&lt;br /&gt;
* [mailto:help@pcgen.org Email the Help Desk Help@PCGen.org]&lt;br /&gt;
* [https://www.hipchat.com/gmddByrFS I need to talk to a real person via Hipchat]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Lists==&lt;br /&gt;
* [http://pcgen.sourceforge.net PCGen's Release Site (On Sourceforge)]&lt;br /&gt;
* [https://github.com/PCGen/pcgen PCGen's Development on GITHUB]&lt;br /&gt;
* [https://github.com/PCGen/pcgen-newsource PCGen's New Source Development on GITHUB]&lt;br /&gt;
* [http://www.pcgen.org PCGen's Main Site] &lt;br /&gt;
* [http://groups.pcgen.org PCGen Forums!]&lt;br /&gt;
* [https://www.facebook.com/PCGen/ PCGen Facebook Page]&lt;br /&gt;
* [https://www.facebook.com/groups/267698787055301/ Official Friends of PCGen Facebook group]&lt;br /&gt;
* [http://wiki.pcgen.org/ PCGen's Wiki]&lt;br /&gt;
* [https://pcgenorg.atlassian.net PCGen's Bug &amp;amp; New Feature Requests Tracker] (Users may submit bugs or requests for new features)&lt;br /&gt;
* [http://www.pcgen.org/index.php?title=Roadmap PCGen's Roadmap]&lt;br /&gt;
&lt;br /&gt;
===Autobuilds===&lt;br /&gt;
* [http://www.pcgen.org/autobuilds/ PCGen's Trunk/Development nightly Autobuild]  &lt;br /&gt;
* [http://www.pcgen.org/autobuilds-prod/ PCGen's Production nightly Autobuild]&lt;br /&gt;
&lt;br /&gt;
==='''PCGen Yahoo Groups'''===&lt;br /&gt;
* [http://games.groups.yahoo.com/group/pcgen/ PCGen] (The main PCGen group for asking generic questions and reporting bugs. High Traffic)&lt;br /&gt;
* [http://tech.groups.yahoo.com/group/pcgen_developers/ PCGen Developers] (Where the Code and Architecture monkeys hang out to discuss code implementation)&lt;br /&gt;
* [http://games.groups.yahoo.com/group/PCGen_webteam/ PCGen Webteam] (The Website team gathers here to discuss implementation and maintenance of the future website for PCGen)&lt;br /&gt;
* [http://tech.groups.yahoo.com/group/pcgen_international/ PCGen International] (Where international standards and translations are discussed by our international users. LOW TRAFFIC)&lt;br /&gt;
* [http://tech.groups.yahoo.com/group/PCGenListFileHelp/  PCGen List File Help](for assistance in creating new homebrew or official list files)&lt;br /&gt;
* [http://tech.groups.yahoo.com/group/pcgen_experimental/ PCGen Experimental] (for new official data source development and cutting edge FREQs)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PCGen JIRA Mailing Lists ===&lt;br /&gt;
&lt;br /&gt;
'''Team Project Tracker Groups'''&lt;br /&gt;
&lt;br /&gt;
These are grouped tracker mailing lists&lt;br /&gt;
&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-team-code pcgen-team-code] - This encompasses all Code, New Tag and Support Requests&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-team-content pcgen-team-content] - This encompasses all Data, Docs and Outputsheet Trackers&lt;br /&gt;
&lt;br /&gt;
'''GITHUB Commit List'''&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/pcgen-github Github.com commits]  - Only subscribe to this list if you want to see all the code and data changes added to the PCGen Repository&lt;br /&gt;
&lt;br /&gt;
'''Main Tracker'''&lt;br /&gt;
&lt;br /&gt;
This Tracker gets ALL the JIRA PCGen Project Traffic (HIGH TRAFFIC)&lt;br /&gt;
&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers pcgen-trackers] - This list will receive all the changes made to the PCGen trackers.&lt;br /&gt;
&lt;br /&gt;
'''Individual Project Tracker Lists'''&lt;br /&gt;
&lt;br /&gt;
Subscribe to individual Project Trackers&lt;br /&gt;
&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_code pcgen-trackers_code] - This mailing list will send out every change to Code related trackers&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_code pcgen-trackers_data] - This mailing list will send out every change in the Data related trackers&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_docs pcgen-trackers_docs] - This list will send out every change in the Documentation related trackers&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_new_source pcgen-trackers_new_source] - This mailing list will send out every New Source being worked on in PCGen&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_new_tag pcgen-trackers_new_tag] - This mailing list will send out every New Tag proposal related trackers&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_outputsheets pcgen-trackers_outputsheets] - This mailing list will send out every change in the OS related trackers&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_project_test_requests pcgen-trackers_project_test_requests] - This mailing list will send out every Project Test Request related trackers&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-trackers_support_requests pcgen-trackers_support_requests] - This mailing list will send out every support request from the trackers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OBSOLETE: SVN Commit List'''&lt;br /&gt;
&lt;br /&gt;
Only subscribe to this list if you want to see all the code and data changes added to the PCGen Repository&lt;br /&gt;
&lt;br /&gt;
* [https://lists.sourceforge.net/mailman/listinfo/pcgen-commit-svn pcgen-commit-svn]  - Subversion commits&lt;br /&gt;
&lt;br /&gt;
=== PCGen Misc. Mailing Lists ===&lt;br /&gt;
&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/pcgen-wiki PCGen Wiki Mailing List] - This is a mailing list to keep tabs on the wiki maintained by PCGen.&lt;br /&gt;
&lt;br /&gt;
Old links:&lt;br /&gt;
* PCGen's Autobuilds and Docs: http://pcgen-test.org/autobuilds/ (Where you can get up to date changes from the nightly build)&lt;br /&gt;
* Direct Link to PCGen's Online Docs: http://pcgen-test.org/autobuilds/pcgen-docs/index.html&lt;br /&gt;
* PCGen's Backup Autobuilds and Docs: http://pcgen.akozakis.id.au/autobuilds/download.html&lt;br /&gt;
* [http://games.groups.yahoo.com/group/LSTfileclass/ OBSOLETE: PCGen List File Class] (Where new documentation for class files are discussed. LOW TRAFFIC)&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=TEMPBONUS_Replacement&amp;diff=4291</id>
		<title>TEMPBONUS Replacement</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=TEMPBONUS_Replacement&amp;diff=4291"/>
		<updated>2018-03-26T02:24:42Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;On the Temporary Bonus tab, we have the various Abilities, Spells, and Templates that can alter the character for a temporary time. This Tab is populated only when a specific...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On the Temporary Bonus tab, we have the various Abilities, Spells, and Templates that can alter the character for a temporary time. This Tab is populated only when a specific tag is used &amp;quot;TEMPBONUS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Furthermore, TEMPBONUS has three aspects to control when or what is impacted - &lt;br /&gt;
  'PC' &lt;br /&gt;
If the character must have the object 'attached' to it to see this object in the list&lt;br /&gt;
  'ANYPC'&lt;br /&gt;
This produces a list of any ability, spell or effect placed upon them from another caster or object (potion, wand, poison, etc.)&lt;br /&gt;
  EQ (Equipment)&lt;br /&gt;
This is visible always, but only alters the equipment type(s) listed. Example of Power Attack has different effects based upon the Weapon Handedness.&lt;br /&gt;
&lt;br /&gt;
Issue - TEMPBONUS is JEP. It is a derivative of the BONUS tag.&lt;br /&gt;
&lt;br /&gt;
Question, what will we replace TEMPBONUS with, or will we reuse the MODIFY/MODIFYOTHER tags and use special tags inside to denote they are a Temp variety?&lt;br /&gt;
&lt;br /&gt;
MODIFYOTHER:Foo|Bar|ADD|TEMP(Formula Or value)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TEMPBONUS has a special Number only chooser called TEMPVALUE which allows the selection of a Number range. Will TEMPVALUE interact with the new System, since often the Caster Level of the temporary effect must be determined?&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Data_Team_Discussions_for_Replacements&amp;diff=4290</id>
		<title>Data Team Discussions for Replacements</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Data_Team_Discussions_for_Replacements&amp;diff=4290"/>
		<updated>2018-03-26T02:12:24Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Archetype Swapping Concerns]]&lt;br /&gt;
&lt;br /&gt;
[[Race Racial Trait Swapping]]&lt;br /&gt;
&lt;br /&gt;
[[Animal Companion Sprawl]]&lt;br /&gt;
&lt;br /&gt;
[[TEMPBONUS Replacement]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Animal_Companion_Sprawl&amp;diff=4289</id>
		<title>Animal Companion Sprawl</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Animal_Companion_Sprawl&amp;diff=4289"/>
		<updated>2018-03-25T23:42:12Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;One of the conventional holdovers from the D&amp;amp;D 3.5e era was multiple categories of companions - Familiar, Animal Companion, and Special Mount. In Pathfinder, these categories...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;One of the conventional holdovers from the D&amp;amp;D 3.5e era was multiple categories of companions - Familiar, Animal Companion, and Special Mount. In Pathfinder, these categories were changed to Familiar, and Animal Companion, with Eidolon added later as a Summoner companion.&lt;br /&gt;
&lt;br /&gt;
Pathfinder:&lt;br /&gt;
&lt;br /&gt;
Paladin Special Mount is an Animal Companion, same as the Samurai Mount, and the Cavalier Mount. &lt;br /&gt;
&lt;br /&gt;
For the Paladin, we have a the Bonded Mount, &amp;quot;This mount functions as a druid’s animal companion, using the paladin’s level as her effective druid level. Bonded mounts have an Intelligence of at least 6.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For the Cavalier &amp;amp; Samurai, we have the Mount, &amp;quot;This mount functions as a druid’s animal companion, using the cavalier’s level as his effective druid level. The creature must be one that he is capable of riding and is suitable as a mount.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
According to these FAQ rules:&lt;br /&gt;
&lt;br /&gt;
FAQ: http://paizo.com/paizo/faq/v5748nruor1fn#v5748eaic9qqn&lt;br /&gt;
&lt;br /&gt;
Cavalier: Do animal companion levels from the druid class stack with cavalier mount levels?&lt;br /&gt;
&lt;br /&gt;
If the animal is on the cavalier mount list and on the list of animal companions for your other class, your cavalier and druid levels stack to determine the animal's abilities. If the animal is not on the cavalier mount list, the druid levels do not stack and you must have different animals (one an animal companion, one a cavalier mount). &lt;br /&gt;
For example, if you are Medium druid and you choose a horse companion, levels in cavalier stack to determine the horse's abilities. If you are a Medium druid and you choose a bird companion, levels in cavalier do not stack to determine the bird's abilities, and you must choose a second creature to be your mount (or abandon the bird and select an animal companion you can use as a mount). &lt;br /&gt;
This same answer applies to multiclassed cavalier/rangers. &lt;br /&gt;
(Note that the design team discourages players from having more than one companion creature at a time, as those creatures tend to be much weaker than a single creature affected by these stacking rules, and add to the bookkeeping for playing that character.)&lt;br /&gt;
&lt;br /&gt;
In order to properly support these rulings, we'll need to take the MOST permissive lists, and place them in a selection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solution 1:&lt;br /&gt;
&lt;br /&gt;
Separate out every single Animal Companion, have it add to one or more &amp;quot;lists&amp;quot; - 'Nature Bond Animal Companion', 'Divine Bond Mount', 'Mount'&lt;br /&gt;
&lt;br /&gt;
Pros: Very precise, easy to add/remove&lt;br /&gt;
Cons: Ability or templates become very numerous.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solution 2:&lt;br /&gt;
Have grouped Abilities that added entire groups of valid companions (Similar to what we are doing to handle Druid Archetypes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ultimate Solution:&lt;br /&gt;
&lt;br /&gt;
Formula System v3 - Using the Arrays and allow the Lists to be populated from the Arrays.&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Data_Team_Discussions_for_Replacements&amp;diff=4288</id>
		<title>Data Team Discussions for Replacements</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Data_Team_Discussions_for_Replacements&amp;diff=4288"/>
		<updated>2018-03-25T21:11:21Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Archetype Swapping Concerns]]&lt;br /&gt;
&lt;br /&gt;
[[Race Racial Trait Swapping]]&lt;br /&gt;
&lt;br /&gt;
[[Animal Companion Sprawl]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Setting_up_the_new_Formula_System&amp;diff=4282</id>
		<title>Setting up the new Formula System</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Setting_up_the_new_Formula_System&amp;diff=4282"/>
		<updated>2018-03-09T09:35:20Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* FORMATs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=The basics=&lt;br /&gt;
&lt;br /&gt;
The new formula system is designed to do a few things relative to data:&lt;br /&gt;
* Validate formulas at LST load instead of runtime&lt;br /&gt;
* Dramatically increase flexibility&lt;br /&gt;
* It will replace many tokens, including all the BONUS tokens&lt;br /&gt;
* It allows a sensible location for global modifications (things generally related to rule book type modifications that impact all objects of a given type)&lt;br /&gt;
&lt;br /&gt;
==Key concepts==&lt;br /&gt;
&lt;br /&gt;
To use the new system a few key things need to be remembered:&lt;br /&gt;
* It is possible to have local variables&lt;br /&gt;
* All variables must be defined prior to use&lt;br /&gt;
* Variables are not only numbers, but can be Strings, Dice, etc.&lt;br /&gt;
** We call this the variable FORMAT&lt;br /&gt;
&lt;br /&gt;
You will want to keep track of what these key terms mean as you learn the new formula system:&lt;br /&gt;
* FORMAT: The type of variable, e.g. NUMBER, BOOLEAN, ORDEREDPAIR.&lt;br /&gt;
* SCOPE: The part of the data in which a (local) variable is available&lt;br /&gt;
* MODIFIER: An argument to MODIFY* tokens, specifically the &amp;quot;command&amp;quot; of what the modification represents&lt;br /&gt;
* OPERATOR: A mathematical operator as you would see in a formula (&amp;quot;+&amp;quot;, &amp;quot;-&amp;quot;, etc.)&lt;br /&gt;
* GROUPING: A name for a set of objects in PCGen&lt;br /&gt;
* ASSOCIATION: An additional set of information attached to a MODIFY* token.  This is a key-value pair of information, e.g. PRIORITY=100&lt;br /&gt;
&lt;br /&gt;
=Creating and Using Variables=&lt;br /&gt;
&lt;br /&gt;
==Required Setup==&lt;br /&gt;
&lt;br /&gt;
Every format that needs to be used requires a default value. This value is shared throughout an entire system (it CANNOT be redefined to a different value).  This is placed into a file referred to in a PCC file from the DATACONTROL: token.&lt;br /&gt;
&lt;br /&gt;
===DATACONTROL (PCC File)===&lt;br /&gt;
&lt;br /&gt;
DATACONTROL: is a new Campaign file token (for PCC files).  It is treated &amp;quot;recursively&amp;quot; like other tokens, e.g. TEMPLATE.  &lt;br /&gt;
&lt;br /&gt;
   DATACONTROL:x&lt;br /&gt;
&lt;br /&gt;
* x is the file to be loaded as a DATACONTROL file&lt;br /&gt;
* Limitations: It does not support PRExxx or INCLUDE/EXCLUDE.&lt;br /&gt;
&lt;br /&gt;
===DEFAULTVARIABLEVALUE (DATACONTROL LST)===&lt;br /&gt;
&lt;br /&gt;
The Format is:&lt;br /&gt;
   DEFAULTVARIABLEVALUE:X|Y&lt;br /&gt;
* X is the format name&lt;br /&gt;
* Y is the default value&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
   DEFAULTVARIABLEVALUE:NUMBER|0&lt;br /&gt;
&lt;br /&gt;
It is a best practice to always define a DEFAULTVARIABLEVALUE for every FORMAT regardless of whether the data uses that FORMAT.  The internal parts of PCGen may use it, so a default value may be required.&lt;br /&gt;
&lt;br /&gt;
Note: it IS safe to &amp;quot;redefine&amp;quot; a DEFAULTVARIABLEVALUE to the same value.  So if multiple datasets are loaded and they all had DATACONTROL: and all defined the default value for NUMBER to be 0, they will all happily load as the system is capable of recognizing the defaults are the same&lt;br /&gt;
&lt;br /&gt;
==How to define a variable==&lt;br /&gt;
&lt;br /&gt;
===VARIABLE (PCC File)===&lt;br /&gt;
&lt;br /&gt;
To define a variable, you need to add an LST file that is referred to in a PCC file from the VARIABLE: token.  It is treated &amp;quot;recursively&amp;quot; like other tokens, e.g. TEMPLATE.  &lt;br /&gt;
&lt;br /&gt;
   VARIABLE:x&lt;br /&gt;
&lt;br /&gt;
* x is the file to be loaded as a DATACONTROL file&lt;br /&gt;
* Limitations: It does not support PRExxx or INCLUDE/EXCLUDE.&lt;br /&gt;
&lt;br /&gt;
There are 2 basic tokens for the VARIABLE file: GLOBAL and LOCAL.&lt;br /&gt;
&lt;br /&gt;
===GLOBAL (VARIABLE File)===&lt;br /&gt;
&lt;br /&gt;
* GLOBAL defines a global variable, usable from anywhere within the PlayerCharacter.&lt;br /&gt;
&lt;br /&gt;
The format is:&lt;br /&gt;
   GLOBAL:X=Y&lt;br /&gt;
* X is the format name&lt;br /&gt;
* Y is the variable name&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
   GLOBAL:ORDEREDPAIR=Face&lt;br /&gt;
&lt;br /&gt;
A GLOBAL token can take additional token on the line called EXPLANATION, which it is advisable to use to communicate to other data monkeys (and it is likely any future editor will also draw on this information).&lt;br /&gt;
&lt;br /&gt;
===LOCAL (VARIABLE File)===&lt;br /&gt;
&lt;br /&gt;
* LOCAL defines a local variable, usable only within the object on which the variable exists (or its children)&lt;br /&gt;
** The place where a local variable is usable is called the SCOPE.  This could include a STAT (such as the stat's SCORE or STATMOD) or EQUIPMENT.  The scopes possible in PCGen are hard-coded (see below for more info)&lt;br /&gt;
&lt;br /&gt;
The format is:&lt;br /&gt;
   LOCAL:W|X=Y&lt;br /&gt;
* W is the SCOPE of the variable&lt;br /&gt;
* X is the format name&lt;br /&gt;
* Y is the variable name&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
   LOCAL:STAT|NUMBER=Score&lt;br /&gt;
&lt;br /&gt;
A LOCAL token can take additional token on the line called EXPLANATION, which it is advisable to use to communicate to other data monkeys (and it is likely any future editor will also draw on this information).&lt;br /&gt;
&lt;br /&gt;
===EXPLANATION (VARIABLE File)===&lt;br /&gt;
&lt;br /&gt;
EXPLANATION: is a free-text token (no parsing is really done) that is designed to describe why a variable exists&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
   EXPLANATION:x&lt;br /&gt;
&lt;br /&gt;
* x is the text of the Explanation&lt;br /&gt;
* Limitations: By Design: Must not appear as the first token on a line&lt;br /&gt;
* Behavior: Overwrites (as if someone would use it twice??)&lt;br /&gt;
&lt;br /&gt;
===Defaults in the VARIABLE file===&lt;br /&gt;
&lt;br /&gt;
A few notes about the VARIABLE files:&lt;br /&gt;
If you see an item without a leading token, e.g.:&lt;br /&gt;
   ORDEREDPAIR=Face&lt;br /&gt;
...then the system is using the default (GLOBAL).  For now, the data standard is to avoid using this shortcut (as far as I know)&lt;br /&gt;
&lt;br /&gt;
If you see an item without a leading format (&amp;quot;X&amp;quot; in both GLOBAL and LOCAL above), e.g.:&lt;br /&gt;
   LOCAL:STAT|Score&lt;br /&gt;
...then the format is a NUMBER.  For now, the data standard is to avoid using this shortcut (as far as I know)&lt;br /&gt;
&lt;br /&gt;
Note both defaults can be combined, so a variable name with no other information on that line is a Global NUMBER&lt;br /&gt;
&lt;br /&gt;
===No Overlapping===&lt;br /&gt;
&lt;br /&gt;
In most programming languages, it is legal to have local variable share the same name as the global variable and thus &amp;quot;override&amp;quot; it in that context (although it is considered less than ideal, and in some languages it will now produce a warning).  It is not legal in PCGen.&lt;br /&gt;
&lt;br /&gt;
If a Global variable called &amp;quot;Hands&amp;quot; exists, then NO local variable IN ANY SCOPE can be &amp;quot;Hands&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Similar restrictions exist for scopes and SubScopes.  If &amp;quot;CritMult&amp;quot; is an EQUIPMENT variable, then &amp;quot;CritMult&amp;quot; can't be an EQUIPMENT.PART variable.  &lt;br /&gt;
&lt;br /&gt;
Non-overlapping (when the Scopes do not interact) is legal.  &amp;quot;Score&amp;quot; can be a local STAT variable and a local CHECK variable, for example.&lt;br /&gt;
&lt;br /&gt;
For clarity: &lt;br /&gt;
* This occurs regardless of the FORMAT of the variables - tokens will infer the format from the variable name, so you can't have overlapping variables even of different FORMAT.&lt;br /&gt;
* Two variables of the same name but different FORMAT in the same SCOPE will cause an error as well, because that is effectively overlapping, and those variables can't be distinguished in most circumstances.&lt;br /&gt;
&lt;br /&gt;
===Identical Duplication Legal===&lt;br /&gt;
&lt;br /&gt;
It is legal for a load to include one or more PCC files that have one or more VARIABLE: files that redefine the same variables.  As long as they are the same format and scope, they are not considered an error.  If either the scope or format differs, then the &amp;quot;No Overlapping&amp;quot; rules above are applied.&lt;br /&gt;
&lt;br /&gt;
A difference in the &amp;quot;Explanation&amp;quot; text is not considered a difference in the variables significant enough to trigger an error. (In fact, the last loaded Explanation will &amp;quot;win&amp;quot; -&amp;gt; it is overwritten each time it is encountered for redefined but identical variables)&lt;br /&gt;
&lt;br /&gt;
==Setting and Modifying a variable==&lt;br /&gt;
&lt;br /&gt;
===MODIFY (LST files)===&lt;br /&gt;
&lt;br /&gt;
The MODIFY token is used to set a variable that is accessible in the current SCOPE.  (Note: It could be local to the current scope or any ancestor of the current scope... so modifying a global variable always just requires MODIFY)&lt;br /&gt;
&lt;br /&gt;
The format of the token is: &lt;br /&gt;
   MODIFY:V|W|X|Y=Z|Y=Z&lt;br /&gt;
* V is the Variable name for which the value will be modified&lt;br /&gt;
**  This variable MUST be visible in the current scope.  Therefore, it must be either a global variable or a local variable on the current object or its parents.&lt;br /&gt;
* W is the MODIFIER to be taken on the variable (e.g. SET)&lt;br /&gt;
** There can be multiple actions (more below), but SET will ALWAYS be available for any format.&lt;br /&gt;
* X is the value related to the action.  If the action is set, the variable will be set to the value in this part of the token.&lt;br /&gt;
** Note: The value CAN be a formula.  It is possible, for example, to SET a variable to OtherVar+4 ... the system will solve that formula.  For legal OPERATORS (e.g. &amp;quot;+&amp;quot;) , see below.&lt;br /&gt;
* Y is the name of an (optional) ASSOCIATION.  For now, PRIORITY (more below) is the only available association.&lt;br /&gt;
* Z is the value of the association.&lt;br /&gt;
&lt;br /&gt;
Note: If a PRIORITY is not set it is assumed to be ZERO.&lt;br /&gt;
&lt;br /&gt;
Example: Give a Player Character 2 hands:&lt;br /&gt;
   MODIFY:Hands|SET|2&lt;br /&gt;
&lt;br /&gt;
===MODIFYOTHER (LST files)===&lt;br /&gt;
&lt;br /&gt;
The MODIFYOTHER token is used to set a variable that is not accessible in the current SCOPE.  Beyond what is necessary in MODIFY, this token also requires the &amp;quot;address&amp;quot; of where to go before it runs the modification.  Think of it as the ability to remotely place a MODIFY on another object (but revoke that MODIFY if the current object is no longer granted to the PC)&lt;br /&gt;
&lt;br /&gt;
The format of the token is: &lt;br /&gt;
   MODIFYOTHER:T|U|V|W|X|Y=Z|Y=Z&lt;br /&gt;
* T is the FORMAT of the object on which the resulting MODIFY (as defined by V-Z) should occur&lt;br /&gt;
* U is the object or GROUPING of objects on which the MODIFY (as defined by V-Z) should occur&lt;br /&gt;
** Note that this does not and will not support TYPE.&lt;br /&gt;
* V is the Variable name for which the value will be modified&lt;br /&gt;
**  This variable MUST be visible in the scope of the addressed object.  Therefore, it is likely to be a local variable on the remote object or its parents.  &lt;br /&gt;
** In rare cases, a remote modification of a global variable is useful.  It effectively adds to that global variable only if both objects are granted to the PC.&lt;br /&gt;
* W is the MODIFIER to be taken on the variable (e.g. SET)&lt;br /&gt;
** There can be multiple actions (more below), but SET will ALWAYS be available for any format.&lt;br /&gt;
* X is the value related to the action.  If the action is set, the variable will be set to the value in this part of the token.&lt;br /&gt;
** Note: The value CAN be a formula.  It is possible, for example, to SET a variable to OtherVar+4 ... the system will solve that formula.  For legal OPERATORS (e.g. &amp;quot;+&amp;quot;) , see below.&lt;br /&gt;
* Y is the name of an (optional) ASSOCIATION.  For now, PRIORITY (more below) is the only available association.&lt;br /&gt;
* Z is the value of the association.&lt;br /&gt;
&lt;br /&gt;
Note: If a PRIORITY is not set it is assumed to be ZERO.&lt;br /&gt;
&lt;br /&gt;
Example: Reduce the HandsRequired on all Weapons by 1:&lt;br /&gt;
   MODIFYOTHER:EQUIPMENT|GROUP=Weapon|HandsRequired|ADD|-1&lt;br /&gt;
&lt;br /&gt;
Note this assumes GROUP:Weapon is in the LST line of every Weapon... PCGen can't guess or derive what a weapon is :)&lt;br /&gt;
&lt;br /&gt;
==Formulas==&lt;br /&gt;
&lt;br /&gt;
SET as a MODIFIER allows the use of a formula for the value.  This follows many mathematical systems of using parenthesis - &amp;quot;(&amp;quot; and &amp;quot;)&amp;quot; to be precise - to group (and thus prioritize parts of the calculation). &lt;br /&gt;
There are a number of build in OPERATORs (see below).  The system can also use functions, which use parenthesis to contain their arguments.  For example:&lt;br /&gt;
* min(this,that)&lt;br /&gt;
Would return the minimum of the two variables &amp;quot;this&amp;quot; and &amp;quot;that&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Built in Functions===&lt;br /&gt;
&lt;br /&gt;
The system also has a series of built-in functions that work with the NUMBER format:&lt;br /&gt;
* abs: calculates the absolute value of the one argument.&lt;br /&gt;
* ceil: calculates the next integer that is &amp;gt;= the value of the one argument.&lt;br /&gt;
* floor: calculates the next lower integer that is &amp;lt;= the value of the one argument&lt;br /&gt;
* if: conditionally performs an operation.  The first argument must resolve to a BOOLEAN.  If true, the second argument is evaluated; if false, the third argument is evaluated.&lt;br /&gt;
* max: calculates the maximum of the provided two or more comma-separated arguments&lt;br /&gt;
* min: calculates the minimum of the provided two or more comma-separated arguments&lt;br /&gt;
* round: calculates the closest integer to the value of the one argument.  Exactly 0.5 is rounded up.&lt;br /&gt;
* value: returns the value of the calculation before the current modification was started (no arguments)&lt;br /&gt;
&lt;br /&gt;
Additional functions specifically related to PCGen are available:&lt;br /&gt;
* get: This function takes two arguments.  The first is a Object type (like &amp;quot;SKILL&amp;quot;), the second is the key of a CDOMObject (like a Skill) (also in quotes)&lt;br /&gt;
**Example: get(&amp;quot;SKILL&amp;quot;,&amp;quot;Hide&amp;quot;)&lt;br /&gt;
* getFact: This function returns the value of a FACT.  The first two arguments are much like the two arguments of &amp;quot;get&amp;quot;, the third argument is the name of the FACT to be returned&lt;br /&gt;
&lt;br /&gt;
=Legal Values=&lt;br /&gt;
&lt;br /&gt;
==FORMATs==&lt;br /&gt;
&lt;br /&gt;
Currently, the following are built-in formats:&lt;br /&gt;
* NUMBER: This is a mathematical value.  Note that integer arithmetic is done if possible, so if you have an integer 6 and an integer 3, 6/3 will be an integer 2.  If the 6 or 3 is a decimal value (double), then integer arithmetic was not possible and thus rounding may occur.&lt;br /&gt;
* STRING: A String&lt;br /&gt;
* BOOLEAN: A True/False value&lt;br /&gt;
* ORDEREDPAIR: An ordered pair of numbers.  This could be an X,Y point (or in a game system more like a FACE)&lt;br /&gt;
* DICE: A value that takes the form AdB+C.  A is the number of rolls of the die, B is the number of sides on the die, and C is the value to be added afterwords&lt;br /&gt;
* ALIGNMENT: An alignment object (None is default typically)&lt;br /&gt;
&lt;br /&gt;
==OPERATORs==&lt;br /&gt;
&lt;br /&gt;
For NUMBER, the following modifiers are available:&lt;br /&gt;
* +: performs addition&lt;br /&gt;
* -: performs subtraction (or is the unary minus operator to make a value negative)&lt;br /&gt;
* *: performs multiplication&lt;br /&gt;
* /: performs division&lt;br /&gt;
* %: performs a remainder function&lt;br /&gt;
* ^: performs an exponential calculation&lt;br /&gt;
* ==: Checks for equality (NOTE: Returns a BOOLEAN, not a NUMBER)&lt;br /&gt;
* !=: Checks for inequality (NOTE: Returns a BOOLEAN, not a NUMBER)&lt;br /&gt;
* &amp;gt;: Checks for greater than (NOTE: Returns a BOOLEAN, not a NUMBER)&lt;br /&gt;
* &amp;lt;: Checks for less than (NOTE: Returns a BOOLEAN, not a NUMBER)&lt;br /&gt;
* &amp;gt;=: Checks for greater than or equal to (NOTE: Returns a BOOLEAN, not a NUMBER)&lt;br /&gt;
* &amp;lt;=: Checks for less than or equal to (NOTE: Returns a BOOLEAN, not a NUMBER)&lt;br /&gt;
&lt;br /&gt;
For BOOLEAN, the following modifiers are available:&lt;br /&gt;
* ==: Checks for equality&lt;br /&gt;
* !=: Checks for inequality&lt;br /&gt;
* &amp;amp;&amp;amp;: Performs a logical AND&lt;br /&gt;
* ||: Performs a logical OR&lt;br /&gt;
* !: Negates the value&lt;br /&gt;
&lt;br /&gt;
For other formats, the following operators are always available:&lt;br /&gt;
* ==: Checks for equality (NOTE: Returns a BOOLEAN, not the compared format)&lt;br /&gt;
* !=: Checks for inequality (NOTE: Returns a BOOLEAN, not the compared format)&lt;br /&gt;
&lt;br /&gt;
==MODIFIERs==&lt;br /&gt;
&lt;br /&gt;
For NUMBER, the following modifiers are available:&lt;br /&gt;
* SET: This sets the variable to the value provided in the &amp;quot;X&amp;quot; parameter&lt;br /&gt;
* ADD: This adds the current value of the variable to the value provided in the &amp;quot;X&amp;quot; parameter&lt;br /&gt;
* MAX: This takes the maximum value of the current value of the variable and the value provided in the &amp;quot;X&amp;quot; parameter (i.e. min(current value, &amp;quot;X&amp;quot;))&lt;br /&gt;
* MIN: This takes the minimum value of the current value of the variable and the value provided in the &amp;quot;X&amp;quot; parameter (i.e. max(current value, &amp;quot;X&amp;quot;))&lt;br /&gt;
* MULTIPLY: This multiplies the current value of the variable and the value provided in the &amp;quot;X&amp;quot; parameter&lt;br /&gt;
* DIVIDE: This divides the current value of the variable by the value provided in the &amp;quot;X&amp;quot; parameter&lt;br /&gt;
&lt;br /&gt;
For other Formats, the SET modifier will always be available&lt;br /&gt;
&lt;br /&gt;
==GROUPINGs==&lt;br /&gt;
&lt;br /&gt;
At present, the second argument of MODIFYOTHER supports 3 possible values:&lt;br /&gt;
* ALL&lt;br /&gt;
** This means the MODIFYOTHER will impact ALL objects of that type.  This is useful for setting a general default for that value (e.g. you could default &amp;quot;HandsRequired&amp;quot; on weapons to 1)&lt;br /&gt;
* GROUP=X&lt;br /&gt;
** This is set by the GROUP token in LST data&lt;br /&gt;
* A specific object KEY&lt;br /&gt;
&lt;br /&gt;
More will be added over time.&lt;br /&gt;
&lt;br /&gt;
==SCOPEs==&lt;br /&gt;
&lt;br /&gt;
The following are the legal scopes (not including GLOBAL):&lt;br /&gt;
* EQUIPMENT: This is a variable local to equipment&lt;br /&gt;
** EQUIPMENT.PART: This is a variable local to an equipment PART (or in older terms, an Equipment HEAD).  Note that due to double sided weapons, Damage, CritMult and other items are generally on an equipment PART, not on the Equipment itself.  Note also that this is a SUBSCOPE of the EQUIPMENT scope (so all variables in the EQUIPMENT scope can also be seen in the EQUIPMENT.PART scope)&lt;br /&gt;
* SAVE: This is a variable local to Save (or if you prefer, Check)&lt;br /&gt;
* SIZE: This is a variable local to the Size of a PC&lt;br /&gt;
* SKILL: This is a variable local to a Skill&lt;br /&gt;
* STAT: This is a variable local to a Stat&lt;br /&gt;
&lt;br /&gt;
More will be added over time.&lt;br /&gt;
&lt;br /&gt;
DYNAMIC can also be used to create a Scope and Object Type (see below)&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
==Understanding SubScope in practice==&lt;br /&gt;
&lt;br /&gt;
To understand how local variables work in SubScopes, consider the following (note this is not all the variables we will use but a critical set to define the scope):&lt;br /&gt;
   GLOBAL:NUMBER=Hands&lt;br /&gt;
   LOCAL:EQUIPMENT|NUMBER=HandsRequired&lt;br /&gt;
   LOCAL:EQUIPMENT|BOOLEAN=Penalized&lt;br /&gt;
   LOCAL:EQUIPMENT.PART|NUMBER=CritMult&lt;br /&gt;
&lt;br /&gt;
The Equipment part is what the traditional system called a &amp;quot;head&amp;quot; (so a double headed axe has two &amp;quot;parts&amp;quot; in the new system - this was done since in some game systems, an item could have more than 2)&lt;br /&gt;
&lt;br /&gt;
To understand how variables are available and how they get modified consider this:&lt;br /&gt;
&lt;br /&gt;
Inside of a piece of equipment it could do something like:&lt;br /&gt;
   MODIFY:Penalized|SET|HandsRequired&amp;gt;Hands&lt;br /&gt;
&lt;br /&gt;
This would be &amp;quot;true&amp;quot; if HandsRequired on the Equipment were more than the Hands on the PC.  The &amp;quot;Hands&amp;quot; variable is Global, so it is available anywhere.  A Template of &amp;quot;Extra Hands&amp;quot; could do something like: &lt;br /&gt;
   MODIFY:Hands|ADD|2 &lt;br /&gt;
... and that adds to the Global variable &amp;quot;Hands&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now consider an Equipment Modifier that was something like &amp;quot;Lighter Than Normal&amp;quot;.  Assume the game benefit was one less hand is required.  This would look like:&lt;br /&gt;
   Lighter Than Normal   MODIFY:HandsRequired|ADD|-1&lt;br /&gt;
(This ignores for the moment any situation like &amp;quot;can't be reduced to below one&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
Note that the EquipmentModifier falls into EQUIPMENT.PART, so that it has access to the HandsRequired variable from the EQUIPMENT scope and can modify it.  Note that this change could then impact the result of the BOOLEAN variable Penalized, since HandsRequired changed.  Note also that &amp;quot;HandsRequired&amp;quot;, when evaluated anywhere in that Equipment is now 1 less.  Even if another EquipmentModifier evaluates HandsRequired, it is analyzing the variable from its parent scope, so that value on a variable from EQUIPMENT is the same in every EquipmentModifier (in the EQUIPMENT.PART scope) of that piece of Equipment.&lt;br /&gt;
&lt;br /&gt;
==Understanding SubScope on Equipment==&lt;br /&gt;
&lt;br /&gt;
Since variables like CritMult and Damage would be on an Equipment &amp;quot;part&amp;quot; it is important to understand how to get access to that &amp;quot;part&amp;quot; from the LST code.  If a single-headed weapon wanted a larger CritMult, it would be silly to have to add a Dummy EquipmentModifier just to modify the CritMult on the part.  (Much of the point of the new system is to make things more direct)&lt;br /&gt;
&lt;br /&gt;
There is a token for Equipment called PART.  This effectively takes 2 arguments: A number (today 1 for the primary head, 2 for the secondary head) and a full token otherwise valid on a plain object.  MODIFY and MODIFYOTHER will both work in that situation, so for a piece of Equipment to set its own CritMult to 3 on its primary (and perhaps only) head, it would do:&lt;br /&gt;
   PART:1|MODIFY:CritMult|SET|3&lt;br /&gt;
&lt;br /&gt;
Note since the MODIFY is a &amp;quot;real&amp;quot; token call it uses &amp;quot;:&amp;quot; after the MODIFY which makes PART look slightly different to most tokens which use | as an internal separator.  Since PART is effectively calling a &amp;quot;real&amp;quot; token, we need to use the inner &amp;quot;:&amp;quot; in order to have it pass through the same code/parsing system.&lt;br /&gt;
&lt;br /&gt;
==Understanding SubScopes in relation to MODIFYOTHER==&lt;br /&gt;
&lt;br /&gt;
* Note Jan 29 2018: There is a possibility of a solution for this issue that would allow MODIFYOTHER to do direct addressing of sub-objects under certain conditions&lt;br /&gt;
&lt;br /&gt;
Normally MODIFYOTHER allows you to &amp;quot;address&amp;quot; another scope.  For example:&lt;br /&gt;
   MODIFYOTHER:EQUIPMENT|Bastard Sword|HandsRequired|ADD|-1&lt;br /&gt;
&lt;br /&gt;
However, since items like Damage and CritMult are actually on the EQUIPMENT.PART, that is different.  If you consider how you would have to &amp;quot;address&amp;quot; the first head on &amp;quot;Bastard Sword&amp;quot;, you would need something like:&lt;br /&gt;
   SOMEWEIRDTOKEN:EQUIPMENT|Bastard Sword|PART|1|CritMult|ADD|1&lt;br /&gt;
&lt;br /&gt;
Note that this requires both a primary and secondary address.  No token like this exists (at the moment).  To alter items in a SubScope, you need to pass them down to the SubScope.  An attempt to modify it at the Equipment level, such as:&lt;br /&gt;
   MyAbility   MODIFYOTHER:EQUIPMENT|ALL|CritMult|ADD|1&lt;br /&gt;
... will fail (at LST load) because CritMult was on EQUIPMENT.PART, so it is not visible to the EQUIPMENT scope.  Said another way, you can't universally modify all EQUIPMENT.PART variables by attempting to use that variable at a higher scope.&lt;br /&gt;
&lt;br /&gt;
A more appropriate method (since this is relevant to a Feat that might alter CritMult) is to add another variable at the EQUIPMENT level:&lt;br /&gt;
   LOCAL:EQUIPMENT|NUMBER=CritMultAdder&lt;br /&gt;
If all the heads then get&lt;br /&gt;
   MODIFY:CritMult|ADD|CritMultAdder&lt;br /&gt;
... you can have the Feat do a MODIFYOTHER to alter CritMultAdder and the MODIFY will &amp;quot;pull&amp;quot; that into each PART:&lt;br /&gt;
   SomeFeat   MODIFYOTHER:EQUIPMENT|ALL|CritMultAdd|ADD|1&lt;br /&gt;
So the data can be set up to only require one modification from a Feat and each Equipment Part can pull that modification down into the part.  (A tangential note for those objecting that the known modifiers of CritMult select a specific weapon type: Yep, got it.  That's not possible yet, so not documented yet.  Suspend disbelief on the examples - Imagine a more powerful Feat for now)&lt;br /&gt;
&lt;br /&gt;
==Understanding PRIORITY and processing of MODIFY and MODIFYOTHER==&lt;br /&gt;
&lt;br /&gt;
When a PlayerCharacter has multiple items that attempt to modify a variable, they are sorted by two systems:&lt;br /&gt;
* First, they are sorted by their user priority.  This is provided in the PRIORITY=Z association.  Lower PRIORITY will be processed first.&lt;br /&gt;
* Second, they are sorted by their inherent priority.  This is a built-in system that approximates mathematical priority rules. It ensures, for example, that a SET will occur before ADD if they both have a matching user priority.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Assume we had the following items:&lt;br /&gt;
   MODIFY:Hands|MULTIPLY|2|PRIORITY=100&lt;br /&gt;
   MODIFY:Hands|SET|2|PRIORITY=50&lt;br /&gt;
   MODIFY:Hands|ADD|1|PRIORITY=50&lt;br /&gt;
&lt;br /&gt;
The first thing is that we can tell from the PRIORITY items that the SET and ADD will both occur BEFORE the multiply (because 50 &amp;lt; 100).  For the SET and ADD, we would need to know the inherent priority (For what it's worth, SET is 0, ADD is 3, MULTIPLY and DIVIDE are 1 and 2 since they are higher priority than ADD in traditional math).  This means the SET will happen first.  So the result is Hands is SET to 2, then ADD 1 to get 3, then MULTIPLY by 2 to get 6.&lt;br /&gt;
&lt;br /&gt;
By controlling the PRIORITY, the data team can reorder any calculation and perform much more complicated calculations than was possible with BONUS (where movement, for example, had multiple different BONUS tokens to try to do adding before and after a multiply).  This is much the same as using parenthesis in a formula in normal math, but this allows you trigger any required ordering even if the MODIFY statements are in different objects.&lt;br /&gt;
&lt;br /&gt;
==Using the previous value in a more complex calculation==&lt;br /&gt;
&lt;br /&gt;
Take a modification that, for example, wishes to perform a calculation such as: &amp;quot;Reduce the value by 1, but to no less than 1&amp;quot;.  We could write this as two MODIFY statements, but that is probably undesirable for a few reasons: &lt;br /&gt;
* If the book states it as one sentence, it would be preferable to write it as one MODIFY&lt;br /&gt;
* It makes the calculation a bit harder to follow as to what is going on&lt;br /&gt;
* If the items are different PRIORITY, there is a risk of another dataset attempting to (or accidentally) putting something in between those two steps, resulting in an incorrect calculation.  &lt;br /&gt;
&lt;br /&gt;
Therefore, we need a method of drawing on the current value in a formula.  To do that we use the value() function.  The calculation above then becomes:&lt;br /&gt;
   max(value()-1,1)&lt;br /&gt;
...and we can use it in a MODIFY as such:&lt;br /&gt;
   MODIFY:HandsRequired|SET|max(value()-1,1)&lt;br /&gt;
&lt;br /&gt;
Note that we are using SET here - if a formula is used, it is likely to be best done as a SET, since that will be much more clear than calculating a formula and then immediately applying another MODIFICATION.  Note that some modifications may also prohibit a formula depending on their underlying behavior.&lt;br /&gt;
&lt;br /&gt;
=Global Modifier File=&lt;br /&gt;
&lt;br /&gt;
There is a new file type that is defined in the PCC files with GLOBALMODIFIER.&lt;br /&gt;
&lt;br /&gt;
This file allows for a centralized (and clear to the data user) location for global modifications (don't hide things on stats or elsewhere anymore).  This supports MODIFY for global variables (if you want to start all PCs with 2 hands for example) or MODIFYOTHER for local variables.&lt;br /&gt;
&lt;br /&gt;
==GLOBALMODIFIER (PCC File)==&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
   GLOBALMODIFIER:x&lt;br /&gt;
* x is the file to be loaded as a GLOBALMODIFIER file&lt;br /&gt;
* Limitations: It does not support PRExxx or INCLUDE/EXCLUDE.&lt;br /&gt;
&lt;br /&gt;
=Advanced Topics=&lt;br /&gt;
&lt;br /&gt;
==Dynamic Objects and Scope==&lt;br /&gt;
&lt;br /&gt;
This set of features allows the data to supplement the defined SCOPEs with new object types not originally comprehended in PCGen. Within a Dynamic Scope, the data can produce objects.  &lt;br /&gt;
&lt;br /&gt;
Warning: Attempts to define a SCOPE that overlaps with existing objects (e.g. LANGUAGE) will not produce a warning today but will get you in trouble long term.  It won't work in the way you would like it to work (it won't attach a SCOPE to that object type), so just avoid those overlapping names.  Basically if you can CHOOSE it, or use it with FACT, don't DYMAMICSCOPE it.&lt;br /&gt;
&lt;br /&gt;
===DYNAMICSCOPE (DATACONTROL LST)===&lt;br /&gt;
&lt;br /&gt;
The DYNAMICSCOPE token (used in files referred to by the DATACONTROL: token in PCC files) can define a Dynamic Scope.&lt;br /&gt;
&lt;br /&gt;
   DYNAMICSCOPE:x&lt;br /&gt;
&lt;br /&gt;
*x is the new scope&lt;br /&gt;
**Any argument to DYNAMICSCOPE becomes a legal &amp;quot;scope&amp;quot; in LOCAL: in the variable definition file&lt;br /&gt;
**Limit of one new scope per line.  (No delimiter on this token)&lt;br /&gt;
*Like other LST tokens, this is case insensitive, but usage in later tokens is always capitalized, so I suspect the data standard should be ALL CAPS&lt;br /&gt;
&lt;br /&gt;
===DYNAMIC (PCC File)=== &lt;br /&gt;
&lt;br /&gt;
In order to create objects within the defined DYNAMICSCOPE, DYNAMIC: becomes a new token legal in PCC files. It's format is:&lt;br /&gt;
&lt;br /&gt;
   DYNAMIC:x&lt;br /&gt;
&lt;br /&gt;
* x is the file just as in tokens like DEITY or DOMAIN&lt;br /&gt;
* INCLUDE/EXCLUDE on the line are are legal.&lt;br /&gt;
&lt;br /&gt;
Within the Dynamic file, the Scope of the new objects being created MUST appear as a prefix token on the line.  For example, if there was a DYNAMICSCOPE:VISION, then the following would be legal in a DYNAMIC file:&lt;br /&gt;
   VISION:Darkvision&lt;br /&gt;
   VISION:Low-Light Vision&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;Token Name&amp;quot; (what appears before the ':') is the DYNAMICSCOPE name.&lt;br /&gt;
* These are created as basically hollow, simple objects.  &lt;br /&gt;
* These objects CAN contain variables.&lt;br /&gt;
(It is the intent to allow these at some point to also have MODIFY* tokens, but that is not currently supported)&lt;br /&gt;
&lt;br /&gt;
===GRANT (LST files)===&lt;br /&gt;
&lt;br /&gt;
A Dynamic object MUST be granted in order to have its local variables modified or to have its modifiers have an impact (just like any other object) &lt;br /&gt;
&lt;br /&gt;
    GRANT:x|y&lt;br /&gt;
&lt;br /&gt;
* x is a DYNAMICSCOPE&lt;br /&gt;
* y is the name of the dynamic object.&lt;br /&gt;
&lt;br /&gt;
===Export===&lt;br /&gt;
&lt;br /&gt;
Dynamic items can be exported in Freemarker using the &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;#list pc.dynamic.x as y&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* x is the name of the DYNAMICSCOPE&lt;br /&gt;
* y is the local variable within the #list that the output team wants to use to access the dynamic object&lt;br /&gt;
* It is likely for ease of use by the output team, x and y will be identical&lt;br /&gt;
&lt;br /&gt;
For a complete example using output, see below&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
DATACONTROL: file:&lt;br /&gt;
   DYNAMICSCOPE:VISION&lt;br /&gt;
&lt;br /&gt;
DYNAMIC: file:&lt;br /&gt;
   VISION:Normal&lt;br /&gt;
   VISION:Darkvision&lt;br /&gt;
   VISION:Low-Light Vision&lt;br /&gt;
&lt;br /&gt;
VARIABLE: File:&lt;br /&gt;
   LOCAL:VISION|NUMBER=Range&lt;br /&gt;
&lt;br /&gt;
GLOBALMODIFIERFILE:&lt;br /&gt;
    MODIFYOTHER:VISION|ALL|Range|Set|60&lt;br /&gt;
&lt;br /&gt;
Sets a &amp;quot;default&amp;quot; range for any VISION, to avoid setting on each VISION object&lt;br /&gt;
&lt;br /&gt;
RACE LST file:&lt;br /&gt;
   Human &amp;lt;&amp;gt; GRANT:VISION|Normal&lt;br /&gt;
&lt;br /&gt;
Export:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;#list pc.dynamic.vision as vision&amp;gt;&lt;br /&gt;
    ${vision.name} ${vision.val.range}&lt;br /&gt;
   &amp;lt;/#list&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(this ignores converting the range to local units and all that, but you get the idea)&lt;br /&gt;
&lt;br /&gt;
==ARRAY Format==&lt;br /&gt;
&lt;br /&gt;
In addition to the base formats, there is an ARRAY[x] format:&lt;br /&gt;
   ARRAY[x]&lt;br /&gt;
* x is an existing valid Format&lt;br /&gt;
** x CANNOT be ARRAY (multi-dimensional arrays not supported&lt;br /&gt;
** Just to be precise, yes DYNAMIC formats are legal&lt;br /&gt;
&lt;br /&gt;
(Note: This may get renamed - we need to decide on a few things for how this will work vs other types of collections)&lt;br /&gt;
&lt;br /&gt;
===Modifiers===&lt;br /&gt;
&lt;br /&gt;
There are two valid MODIFIERs for ARRAY:&lt;br /&gt;
* ADD: This adds a value to the ARRAY&lt;br /&gt;
** Mathematically, ARRAY acts as an ordered set of objects.  Therefore, if you add an item to an array more than once it is ignored.&lt;br /&gt;
* SET: This sets the contents of the ARRAY&lt;br /&gt;
&lt;br /&gt;
==Custom Functions==&lt;br /&gt;
&lt;br /&gt;
Within certain game systems, there are calculations that are likely to be repeated.  In order to simplify the calculation of these items, there is an ability to create custom functions.&lt;br /&gt;
&lt;br /&gt;
A function can have zero or more arguments.  The number is defined by what appears in the VALUE token (see below).&lt;br /&gt;
&lt;br /&gt;
Note that the function actually has to be *used in the data* (not just defined) for most errors to be caught (since the system can't guess at overall context before a function is used and it would be possible to write a function that would work in more than one FORMAT).&lt;br /&gt;
&lt;br /&gt;
===Function (DATACONTROL LST)===&lt;br /&gt;
&lt;br /&gt;
   FUNCTION:x&lt;br /&gt;
* This token must appear as the first token on a line in a DATACONTROL file.&lt;br /&gt;
* x is the name of the function.  This name must starts with a letter, e.g. A-Z, additional legal characters are 0-9 and _ (none of those additional legal characters as the first character)&lt;br /&gt;
** x must not contain spaces, no other special characters.&lt;br /&gt;
** Function names are case insensitive (as many other things in LST files) &lt;br /&gt;
&lt;br /&gt;
A Function MUST also contain a VALUE, which defines how the function is calculated.&lt;br /&gt;
&lt;br /&gt;
If a FUNCTION appears more than once, the other characteristics (VALUE) must be identical. &lt;br /&gt;
&lt;br /&gt;
===Value (DATACONTROL LST)===&lt;br /&gt;
&lt;br /&gt;
   VALUE:x&lt;br /&gt;
* Must appear as an additional token on the line of a FUNCTION: in the data control file&lt;br /&gt;
* x is a valid formula.  &lt;br /&gt;
** This means it must have valid variable names, valid function names, matching parenthesis, etc. &lt;br /&gt;
&lt;br /&gt;
In addition to all of the build-in functions (e.g. if, ceil, round), two additional items can be used:&lt;br /&gt;
* the arg(n) function (see below).&lt;br /&gt;
* Any previously defined FUNCTION. This MUST appear in the file before the current Function or in a file processed before the current file.&lt;br /&gt;
&lt;br /&gt;
===arg (Function)===&lt;br /&gt;
&lt;br /&gt;
The arg function is a &amp;quot;local&amp;quot; function to the VALUE: part of a FUNCTION (it can not generally be used in LST files). The arg function takes one argument. It MUST be a Integer &amp;gt;= 0.&lt;br /&gt;
&lt;br /&gt;
   arg(x)&lt;br /&gt;
* x is an integer number (zero-indexed)&lt;br /&gt;
&lt;br /&gt;
When arg(x) is used in value, the function pulls from the arguments that were provided to the original function in the data.  &lt;br /&gt;
&lt;br /&gt;
===Using a Function===&lt;br /&gt;
&lt;br /&gt;
When a function is used in LST data, it is called by the name provided in the FUNCTION token. It requires a certain number of arguments. This exactly matches the integer one greater than the highest number of the arg(n) function provided in the VALUE part of a FUNCTION (In computer science terms, the arg(n) function is zero-indexed). The provided arguments can be any legal formula, so:&lt;br /&gt;
&lt;br /&gt;
   d20Mod(INT)&lt;br /&gt;
   d20Mod(INT+4)&lt;br /&gt;
&lt;br /&gt;
...are both perfectly legal.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
The modification calculation in most d20 games is fairly easy to calculate, but is repeated very often.  It basically takes (ability score - 10)/2.&lt;br /&gt;
&lt;br /&gt;
Here is how we would define a new function d20Mod in the DATACONTROL file:&lt;br /&gt;
   FUNCTION:d20Mod    VALUE:floor((arg(0)-10)/2)&lt;br /&gt;
&lt;br /&gt;
This would then be used in LST data as:&lt;br /&gt;
&lt;br /&gt;
   d20Mod(n)&lt;br /&gt;
&lt;br /&gt;
The system will catch both of these as errors:&lt;br /&gt;
&lt;br /&gt;
   d20Mod()&lt;br /&gt;
   d20Mod(14,5) &lt;br /&gt;
&lt;br /&gt;
These have too few or too many arguments, respectively. It would also catch:&lt;br /&gt;
&lt;br /&gt;
   d20Mod(&amp;quot;mystring&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
...as an error (wrong format - requires a Number, found a String). &lt;br /&gt;
&lt;br /&gt;
The n is substituted where &amp;quot;arg(0)&amp;quot; appears in the &amp;quot;VALUE&amp;quot;... so a statmod would be as easy as:&lt;br /&gt;
&lt;br /&gt;
   d20Mod(INT)&lt;br /&gt;
&lt;br /&gt;
or some such... Direct values can also be used, e.g.:&lt;br /&gt;
&lt;br /&gt;
   d20Mod(10)&lt;br /&gt;
&lt;br /&gt;
...would return 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Performance Considerations==&lt;br /&gt;
&lt;br /&gt;
It is possible to write two identical modifiers that perform the same net calculation on a PC.  For example:&lt;br /&gt;
   MODIFY:Age|ADD|2&lt;br /&gt;
   MODIFY:Age|SET|value()+2&lt;br /&gt;
&lt;br /&gt;
...perform the same calculation (adding 2 to Age).&lt;br /&gt;
&lt;br /&gt;
Why have ADD at all?  Answer: These are NOT AT ALL equivalent in memory use or speed/performance.&lt;br /&gt;
&lt;br /&gt;
The ADD (Since it's adding an integer) occupies approximately 40 bytes of memory and is an extremely rapid calculation: If it took 200 nanoseconds I'd be surprised. This is because ADD is using a number. If it was a formula, even 1+2, it would load the formula parser. This special case on constants allows the modification system to modify a value without loading a much larger infrastructure, and this is valuable as a large majority of our calculations are simple modifications of values.&lt;br /&gt;
&lt;br /&gt;
The SET shown above (since it has an operator) loads the formula system, and thus may occupy 500 (or more) bytes of memory (&amp;gt;10x), so it could take 100 times as long to process as the ADD (it also took longer during LST load).&lt;br /&gt;
&lt;br /&gt;
Thus: When possible the data standards should be written to use numeric modifiers and no operator.  (Think &amp;quot;static&amp;quot; modifiers ... that only use numbers) rather than a formula.&lt;br /&gt;
&lt;br /&gt;
==Lookup and Tables==&lt;br /&gt;
&lt;br /&gt;
For some situations, it makes more sense to have a lookup table rather than attempting to have a set of tokens or calculations perform processing.  This also allows for much cleaner translation from books when the books are using tables to organize information.&lt;br /&gt;
&lt;br /&gt;
The Table file format is designed to allow you to use a spreadsheet program to modify the tables and export the table in CSV format.  While we don't strictly follow full CSV rules, as long as you avoid embedded quotes and embedded return carriage/line feed, it should be safe.&lt;br /&gt;
&lt;br /&gt;
More than one table is allowed per file (to avoid sprawl and help simplify modification/management of tables).&lt;br /&gt;
&lt;br /&gt;
===TABLE (PCC File)===&lt;br /&gt;
&lt;br /&gt;
   TABLE:x&lt;br /&gt;
* x is the file to be loaded as a TABLE file&lt;br /&gt;
* Limitations: It does not support PRExxx or INCLUDE/EXCLUDE.&lt;br /&gt;
&lt;br /&gt;
====Table LST file format====&lt;br /&gt;
&lt;br /&gt;
File formatting considerations:&lt;br /&gt;
* Trailing commas will not impact any TABLE, and will be ignored&lt;br /&gt;
* Blank lines will be ignored.  This includes lines with commas but without content. (allows tables to be separated by blank lines or lines of all commas)&lt;br /&gt;
* Attempts to use embedded line breaks or embedded quotes may or may not be supported by the parsing system, but certainly aren't supported for purposes of PCGen.&lt;br /&gt;
* Lines that have the first cell starting with &amp;quot;#&amp;quot; are considered comment lines and will be ignored.  This will likely need to include if the first cell is escaped in quotes, just for protection from any tools that quote by default.&lt;br /&gt;
* Since the CSV format ignores leading/trailing spaces, one can easily have a spaced out version that is a table in a text editor if folks don't want to edit in a spreadsheet.  (Having someone write a &amp;quot;PrettyTable&amp;quot; ... a trivial perl or python program to do that for the data team seems fairly easy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A TABLE starts with STARTTABLE:&lt;br /&gt;
   STARTTABLE:x&lt;br /&gt;
* x is the name of the Table.  Most characters are allowed, avoiding quotes is advisable.&lt;br /&gt;
* Allowing Trailing commas allows the STARTTABLE lines to have blank cells where the rest are the table contents... we don't want to complain on minor things that may tools will do.&lt;br /&gt;
&lt;br /&gt;
If a STARTTABLE is encountered when another Table is active, an LST load error will occur.&lt;br /&gt;
&lt;br /&gt;
A TABLE ends with ENDTABLE:&lt;br /&gt;
   ENDTABLE:x&lt;br /&gt;
* x is the name of the Table.  Most characters are allowed, avoiding quotes is advisable.&lt;br /&gt;
* Allowing Trailing commas allows the ENDTABLE lines to have blank cells where the rest are the table contents... we don't want to complain on minor things that may tools will do.&lt;br /&gt;
&lt;br /&gt;
If an ENDTABLE is encountered without a STARTTABLE, an LST load error will occur.&lt;br /&gt;
&lt;br /&gt;
A Table must have a minimum of 3 rows, NOT counting the STARTTABLE and ENDTABLE tokens.&lt;br /&gt;
&lt;br /&gt;
The First row:&lt;br /&gt;
   x,x&lt;br /&gt;
* x is the column name.  These are always the first line of the table after STARTTABLE:&lt;br /&gt;
&lt;br /&gt;
Any column which has data MUST have a name.&lt;br /&gt;
&lt;br /&gt;
The Second row:&lt;br /&gt;
   y,y&lt;br /&gt;
* y is the format for the column.  Any column that was named must have a FORMAT.&lt;br /&gt;
&lt;br /&gt;
Additional rows:&lt;br /&gt;
   z,z&lt;br /&gt;
* z represents contents of the table.  These must be in the FORMAT provided for the appropriate column.&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
   STARTTABLE:Carrying Capacity,&lt;br /&gt;
   Strength,Capacity&lt;br /&gt;
   NUMBER,NUMBER&lt;br /&gt;
   1,10&lt;br /&gt;
   2,20&lt;br /&gt;
   ...&lt;br /&gt;
   29,1400&lt;br /&gt;
   ENDTABLE:Carrying Capacity,&lt;br /&gt;
&lt;br /&gt;
===TABLE[x] Format===&lt;br /&gt;
&lt;br /&gt;
When a TABLE is created, it implicitly picks up a FORMAT based on the FORMAT of the first column of the Table.  &lt;br /&gt;
Unlike basic FORMATs shown above, TABLE has a SUBFORMAT (in brackets).&lt;br /&gt;
&lt;br /&gt;
   TABLE[x]&lt;br /&gt;
* x is the SUB-FORMAT of the TABLE (this is the format of the first column of the Table)&lt;br /&gt;
** x must be an otherwise valid FORMAT, and it is advised to avoid any FORMAT that has a SUB-FORMAT&lt;br /&gt;
*** This limitation may be inconsistently enforced.  It certainly is prohibited to create a TABLE[TABLE[x]], but other situations the behavior may not be prohibited by the code (but the behavior is also not guaranteed)&lt;br /&gt;
&lt;br /&gt;
===COLUMN[x] Format===&lt;br /&gt;
&lt;br /&gt;
When a Column needs to be referred to in the data, it has a special format as well:&lt;br /&gt;
&lt;br /&gt;
Unlike basic FORMATs shown above, COLUMN has a SUBFORMAT (in brackets).&lt;br /&gt;
   COLUMN[x]&lt;br /&gt;
* x is the SUB-FORMAT of the COLUMN (this is the format of the data that appears in that column in a Table)&lt;br /&gt;
** x must be an otherwise valid FORMAT, and it is advised to avoid any FORMAT that has a SUB-FORMAT&lt;br /&gt;
*** This limitation may be inconsistently enforced.  Such behavior may not be prohibited by the code (but avoiding bad behavior is also not guaranteed in a situation where embedded brackets occur)&lt;br /&gt;
&lt;br /&gt;
===Using Tables===&lt;br /&gt;
&lt;br /&gt;
With MODIFY, a TABLE[x] variable doesn't look any different.  It's still:&lt;br /&gt;
   MODIFY:TableNameVar|SET|&amp;quot;SomeTable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;SomeTable&amp;quot; is still a string to a naive reader, but what the system will do at that point is make sure that SomeTable can actually be interpreted as a TABLE[x]... rather than just treating it as a String.  Similar for column names when they are encountered (see below).&lt;br /&gt;
&lt;br /&gt;
In that way, the sub variable will allow multiple tables to be swapped in, AS LONG AS they are the right format.  If the format is not compatible, then all bets are off and you'll get an error.&lt;br /&gt;
&lt;br /&gt;
===lookup() Function===&lt;br /&gt;
&lt;br /&gt;
The major consideration is how to do the lookup in data.  We can borrow some inspiration from things like Excel and Google Docs:&lt;br /&gt;
&lt;br /&gt;
   lookup(X,Y,Z)&lt;br /&gt;
&lt;br /&gt;
* X is a table.  This must resolve in the formula system to a valid table.  For now, a get(...) function may be required.&lt;br /&gt;
* Y is the lookup value in the table.  It must match the format of the first column in the table.  At this time, it does an EXACT match.&lt;br /&gt;
* Z is the target column.  This must resolve in the formula system to a valid table column. It must appear in the table named by the contents of the first argument of lookup.&lt;br /&gt;
&lt;br /&gt;
Example: Max load calculation would be something like:&lt;br /&gt;
   lookup(&amp;quot;Carrying Capacity&amp;quot;,floor(StrScore),&amp;quot;Capacity&amp;quot;)*SizeMult&lt;br /&gt;
We have to do the floor due to the exact name of the lookup&lt;br /&gt;
&lt;br /&gt;
Note: The format of both TABLE &amp;quot;Carrying Capacity&amp;quot; and COLUMN &amp;quot;Capacity&amp;quot; can be derived by PCGen internally and thus are no longer required to have a get (current as of Jan 30, 2018)&lt;br /&gt;
&lt;br /&gt;
Note that this function allows some runtime errors, but catches a lot of possible issues.  It is still possible to do a lookup on a Table that doesn't contain a specific column of the given name or format, simply because those items can be variables resolved at runtime.  For example, if the third variable is COLUMN[NUMBER], we can check at load that the TABLEFORMAT has columns of FORMAT=NUMBER, but we can't guarantee the variable will resolve to a name actually in that table... that will have to wait for a runtime error.  That's life, but it does allow us to know the formats at load time, so we do get a lot of error checking in the context of the usage, if not the exact table and column names.&lt;br /&gt;
&lt;br /&gt;
Note you can do some really dynamic behaviors to have folks override game mode behaviors.  For example, one neat item would be that we could alter a query for dice steps to extract the table name into the Global Modifier file:&lt;br /&gt;
   MODIFY:DiceStepTable|SET|&amp;quot;Dice Step&amp;quot;&lt;br /&gt;
   lookup(get(&amp;quot;TABLE[NUMBER]&amp;quot;,DiceStepTable),BaseDamage,get(&amp;quot;COLUMN[NUMBER]&amp;quot;,lookup(&amp;quot;Step Column&amp;quot;,CurrentSize-BaseSize,&amp;quot;Name&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
Note: In both cases here, the &amp;quot;get&amp;quot; is shown for completeness.  In the case of DiceStepTable - it MAY be required or prohibited - it depends on what the Format is of the &amp;quot;DiceStepTable&amp;quot; variable.  If it's TABLE, then the get is not necessary (and is actually prohibited).  The example shown above assumes DiceStepTable is a String.  The better design would be for it to be a TABLE (specifically TABLE[NUMBER]).  For the &amp;quot;get&amp;quot; after the lookup, that is required - the lookup value will return a STRING, and as such, will needs to be converted to a COLUMN.&lt;br /&gt;
&lt;br /&gt;
Now, if someone needs different dice steps for some reason... they can override the DiceStepTable variable and it will look up in a different table... so expansions could truly be expansions and not have to reach back into core PCC files in order to change key behaviors.&lt;br /&gt;
&lt;br /&gt;
Consider also that spell tables can be shared across classes, or if a subclass alters the default, just create a new table rather than having to BONUS/MODIFY all the numbers in a table with adding and subtracting...&lt;br /&gt;
&lt;br /&gt;
==To be completed==&lt;br /&gt;
* dropIntoContext&lt;br /&gt;
* Channels&lt;br /&gt;
&lt;br /&gt;
=Material Changes=&lt;br /&gt;
&lt;br /&gt;
==lookup function simplification==&lt;br /&gt;
&lt;br /&gt;
Effective January 30, 2018, tables and columns can be referred to directly in lookup().  This is actually a &amp;quot;broad&amp;quot; change to how strings are interpreted.  The system - when possible - fully asserts a FORMAT, and first attempts to convert the given String per the rules of that FORMAT.  This also means an assignment of an ALIGNMENT, by key, will not require a &amp;quot;get&amp;quot;:&lt;br /&gt;
   MODIFY:Alignment|SET|&amp;quot;LE&amp;quot;&lt;br /&gt;
...will be fully legal.  (This assumes Alignment is FORMAT: of ALIGNMENT)&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Archetype_Swapping_Concerns&amp;diff=4275</id>
		<title>Archetype Swapping Concerns</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Archetype_Swapping_Concerns&amp;diff=4275"/>
		<updated>2018-03-08T23:30:55Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Class Archetypes - I think you covered the main class feature x is replaced by y nicely, however, in some instances a Class Feature is not replaced, but a portion of the feature is negated in order to gain another new feature.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
Rogue gains Sneak Attack (Class Feature), which has level dependent gains.&lt;br /&gt;
&lt;br /&gt;
Every odd level, the rogue gains an additional +1d6 to the Sneak Attack Damage.&lt;br /&gt;
&lt;br /&gt;
Broken down:&lt;br /&gt;
   1 = 1d6&lt;br /&gt;
   3 = 2d6&lt;br /&gt;
   5 = 3d6&lt;br /&gt;
&lt;br /&gt;
However, we encounter this:&lt;br /&gt;
&lt;br /&gt;
   1 = 1d6&lt;br /&gt;
   3 = New Class Feature&lt;br /&gt;
   5 = 2d6&lt;br /&gt;
&lt;br /&gt;
We need to manage several things:&lt;br /&gt;
&lt;br /&gt;
1) When a new bonus is applied (We cannot remove/negate a bonus until the correct level is reached)&lt;br /&gt;
&lt;br /&gt;
2) We cannot grant new features until the minimum level has been reached&lt;br /&gt;
&lt;br /&gt;
3) And in odd cases, when features are granted, there can be level dependent bonuses on those as well...&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Archetype_Swapping_Concerns&amp;diff=4274</id>
		<title>Archetype Swapping Concerns</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Archetype_Swapping_Concerns&amp;diff=4274"/>
		<updated>2018-03-08T22:59:28Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot; Class Archetypes - I think you covered the main class feature x is replaced by y nicely, however, in some instances a Class Feature is not replaced, but a portion of the feat...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Class Archetypes - I think you covered the main class feature x is replaced by y nicely, however, in some instances a Class Feature is not replaced, but a portion of the feature is negated in order to gain another new feature.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
Rogue gains Sneak Attack (Class Feature), which has level dependent gains.&lt;br /&gt;
&lt;br /&gt;
Every odd level, the rogue gains an additional +1d6 to the Sneak Attack Damage.&lt;br /&gt;
&lt;br /&gt;
Broken down:&lt;br /&gt;
   1 = 1d6&lt;br /&gt;
   3 = 2d6&lt;br /&gt;
   5 = 3d6&lt;br /&gt;
&lt;br /&gt;
However, we encounter this:&lt;br /&gt;
&lt;br /&gt;
   1 = 1d6&lt;br /&gt;
   3 = New Class Feature&lt;br /&gt;
   5 = 2d6&lt;br /&gt;
&lt;br /&gt;
We need to manage several things:&lt;br /&gt;
&lt;br /&gt;
1) When a new bonus is applied (We cannot remove/negate a bonus until the correct level is reached)&lt;br /&gt;
2) We cannot grant new features until the minimum level has been reached&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Race_Racial_Trait_Swapping&amp;diff=4273</id>
		<title>Race Racial Trait Swapping</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Race_Racial_Trait_Swapping&amp;diff=4273"/>
		<updated>2018-03-08T22:55:18Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;Concern:  Race is granted 'default' traits as a standard. Paizo has introduced two systems of concern:  1) &amp;quot;Race Package&amp;quot; where a race is granted specific non-default traits,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Concern:&lt;br /&gt;
&lt;br /&gt;
Race is granted 'default' traits as a standard. Paizo has introduced two systems of concern:&lt;br /&gt;
&lt;br /&gt;
1) &amp;quot;Race Package&amp;quot; where a race is granted specific non-default traits, and/or a choice between two or more additional choices&lt;br /&gt;
&lt;br /&gt;
2) Racial Trait that is chosen by the player actually removes 2 or more existing default traits&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Data_Team_Discussions_for_Replacements&amp;diff=4272</id>
		<title>Data Team Discussions for Replacements</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Data_Team_Discussions_for_Replacements&amp;diff=4272"/>
		<updated>2018-03-08T22:53:31Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot; Archetype Swapping Concerns  Race Racial Trait Swapping&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Archetype Swapping Concerns]]&lt;br /&gt;
&lt;br /&gt;
[[Race Racial Trait Swapping]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=6.08_Documentation&amp;diff=4271</id>
		<title>6.08 Documentation</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=6.08_Documentation&amp;diff=4271"/>
		<updated>2018-03-08T22:52:54Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==New Documentation Repository for 6.08==&lt;br /&gt;
&lt;br /&gt;
[[Setting up the new Formula System]] - How to set up and use variables (MODIFY, MODIFYOTHER, DYMAMIC, GRANT, FUNCTION, VALUE)&lt;br /&gt;
&lt;br /&gt;
[[Lookup &amp;amp; TABLE 6.08]] - Lookup is used with Table&lt;br /&gt;
&lt;br /&gt;
[[INFO &amp;amp; INFOVARS 6.08]] - Dynamic Text Display (Replaces DESC, BENEFIT, ASPECT, QUALITY, SPROP)&lt;br /&gt;
&lt;br /&gt;
[[DICE in Formula 6.08]] - New System for handling Dice Formats&lt;br /&gt;
&lt;br /&gt;
[[CODE CONTROLS]] - Disable specific tags and replaces it with a FORMULA Version (For output sheets integration)&lt;br /&gt;
&lt;br /&gt;
[[Replacing Archetype Controls]] - Some initial thoughts on how to use the formula system to make Archetypes easier&lt;br /&gt;
&lt;br /&gt;
[[OUTPUT for 6.08]] - Formats for output into Freemarker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Data Team Discussions for Replacements]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=FAQ_and_Help&amp;diff=4240</id>
		<title>FAQ and Help</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=FAQ_and_Help&amp;diff=4240"/>
		<updated>2018-02-26T00:12:23Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* What systems does PCGen support today? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just some tips to help along. It'll be a repository of Frequently Asked Questions and Help Tips that we've encountered a lot.&lt;br /&gt;
&lt;br /&gt;
== What is PCGen? ==&lt;br /&gt;
PCGen is a JAVA Program that uses custom 'text' files (*.pcc and *.lst) to emulate books from table-top role-playing games, like Dungeons &amp;amp; Dragons 3rd edition, to help create and maintain system rules-legal characters for that game system. It allows you to print out character sheets, or export them into various formats for later use - such as a basic text sheet, xml for various forum play and software systems, htm for web browser enabled devices and pdf. PCGen is built to support the most popular d20 systems and has plans for future expansion into non-d20 based systems.&lt;br /&gt;
&lt;br /&gt;
== What systems does PCGen support today? ==&lt;br /&gt;
Today PCGen (version 6.2) supports Dungeons and Dragons by Wizard of the Coast - the specific versions supported directly are: 3rd edition (Known as SRD), 3.5 edition (RSRD), d20 Modern (MSRD). Due to license issues, the program can support 4th edition and the upcoming 5th edition (known as D&amp;amp;D Next) but we cannot supply any pre-made books. Those will require custom sets that you can make yourself.&lt;br /&gt;
&lt;br /&gt;
Our list of supported d20 systems with pre-made books: &lt;br /&gt;
* D&amp;amp;D 5.0 edition (Listed as SRD5)&lt;br /&gt;
* D&amp;amp;D 3.0 edition (Listed as SRD - System Resource Documents)&lt;br /&gt;
* D&amp;amp;D 3.5 edition (Listed as RSRD - Revised System Resource Documents)&lt;br /&gt;
* D&amp;amp;D Modern Edition (Listed as MSRD - Modern System Resource Documents)&lt;br /&gt;
* Deadlands by Pinnacle Entertainment&lt;br /&gt;
* Fantasy Craft by Crafty Games (Crafty Games is hosting the full core rule book, we only have a level 4 demo set)&lt;br /&gt;
* Gaslight 1st edition by Battlefield Press&lt;br /&gt;
* Legends of Excalibur&lt;br /&gt;
* Pathfinder by Paizo Publishing&lt;br /&gt;
* Sidewinder&lt;br /&gt;
* Spycraft&lt;br /&gt;
* Xcrawl&lt;br /&gt;
* Sagaborn (d20)&lt;br /&gt;
* Killshot (Non-d20 system) by Broken Ruler Games (This is ready to play but needs a Character Sheet to display)&lt;br /&gt;
* Starfinder&lt;br /&gt;
* Darwin's World II&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Non-d20 Systems we're building support for:&lt;br /&gt;
&lt;br /&gt;
* Cyberpunk&lt;br /&gt;
* Shadowrun&lt;br /&gt;
&lt;br /&gt;
== Using Pathfinder in PCGen ==&lt;br /&gt;
* Unchained Classes - Q&amp;amp;A:&lt;br /&gt;
** '''QUESTION''': How can I created an Unchained x class?&lt;br /&gt;
** '''ANSWER''': First, you need to make sure you are loading the correct book(s). You will need to load ''Pathfinder Unchained'' to have access to the first four Unchained variant classes - Barbarian, Monk, Rogue, and Summoner. Select the base class, Rogue for Unchained Rogue as an example. Once you add the first level, go to the Feats &amp;amp; Abilities tab, under Class Features, there should be a CLASS SELECTION group. Select the Unchained Version from there. Congratulations, you now have an Unchained version of the Class. &lt;br /&gt;
** '''LIMITATIONS''': Warning - Due to how PCGen processes SPELL LISTS, an Unchained Summoner will require you to SAVE and RELOAD to have the correct spells populate your spell list.&lt;br /&gt;
** QUESTION: I'm very curious (from both a user's viewpoint and that of a designer) as to why you made the Unchained classes as options within the class (when the source is selected) instead of a separate class in their own right. I actually found that very confusing when making an unchained class as I couldn't select it from the class list as one would usually do when making a character. It was only when I went back to the summary screen after selecting the class that I realized I could make the Unchained version. That's a design decision that needs to be deliberated upon and possibly altered because as it stands, it is highly confusing and may lead a lot of people to believe that you can't make an Unchained class at all in PCGen.&lt;br /&gt;
** ANSWER: Since that was my decision, I'll be happy to explain the reasoning and how I arrived at that conclusion.  If you do a comparison between the normal classes and the unchained versions, you will see (in most cases) the only differences was the class features - Monk had a HD boost, Summoner has a Spell List change, Barbarian only changes features, and Rogue added some new features.  It seemed more economical to re-use the base framework which 90% of the classes were built upon. Reduce duplication in code (Each class loaded requires some memory, whereas the method I opted did not increase memory, merely which features to use). Unchained classes comes across as more a variant. Plus, you cannot have an unchained version and regular version of the class. Programming in &amp;quot;Cannot take this&amp;quot; does increase cpu cycles and additional code lines. Add in the fact they were treated just as the regular version in terms of meeting prerequisites for prestige classes, feats, and archetypes, etc.  Looking at it big picture, it made more sense to simply use the base class and treat the unchained variant as a super archetype - swap out abilities. They were more the base class then not. The chance of breaking support was higher if they were coded separately - anything using the code classlevel(&amp;quot;Summoner&amp;quot;) would fail for an &amp;quot;Unchained Summoner&amp;quot; as an example, SERVESAS only does prexxx support. Reviewing everything related to the class - favored classes, archetype support, feats and the data hacks was a bit more time consuming.  Plus, it gave me the excuse to test out a function of the program to try and support a prestige class that grants class features from other classes, which we could not support in the past.  To combat the confusion, I did include the Summary TO DO to prompt the user to choose which version they want to use; most users use the summary screen to add classes to the character, which would mean they see the prompt right off. Under the hood, it defaults to the base version in case they never make that selection. An important fact for the Summoner - so it still gains spells.  If it helps to know, I went back and forth several times, actually coding them up initially as classes. But the lack of time on my part limited what I was willing to undertake, so choosing the path that had the least chance to break any particular build was what I ended up doing. As I progressed, I learned a new tidbit that swung the pendulum toward the other method. I might have chosen differently knowing what I know today.  Right or wrong, it is a bit late to change the decision (6.06.00 is now released). With our focus for the 6.08 dev cycle to rip out the JEP reliance tags - anything that starts with BONUS:x, anything that is touched by BONUS, such as LEGS, FACE, REACH, WEAPONPROF, etc. Implementing new support for global and local variable numbers, Booleans, strings and orderedpairs. Rip out every text output tag and replace it with INFO/INFOVARS. Redesign the output sheets to (1) use the freemarker template code properly, and (2) switch to grabbing the new output via fact, info and value. The end goal is a more lean and efficient code base and data processing. Hope that helps clear up the decision making process that led to variant vs. class. If you have any other questions, comments or otherwise, feel free to reach out to me. --Andrew Maitland (Content Silverback - PCGen Board of Director's)&lt;br /&gt;
** Reply back: Thanks for the explanation. Now I understand the process behind the decision a lot more. Might be something to add to the FAQs because other people may also get confused and I admittedly found the Unchained version by accident.&lt;br /&gt;
&lt;br /&gt;
* Pathfinder vs Pathfinder Society:&lt;br /&gt;
** QUESTION: What is the difference between these and why should I care?&lt;br /&gt;
** ANSWER: Pathfinder Society is an actual real world international organization which publishes official rules of play for gamemasters and players alike. The games are run using official modules with completion items given out, special sheets to track rewards and of course a very different XP progression, which is capped well before 20th level. As mentioned before they publish rules each year to tell their members what is legal to use in their games. In essence Pathfinder Society (abbreviated PFS) is a structured event setting which determines what is legal in their games, allowing players from all over the world to have the same experiences and options. Many feats, spells, equipment and class options are restricted in the Pathfinder Society games. PCGen supports the various seasons of play as best we can. Many false bugs are raised due to people mistakenly thinking their favorite options are not working. Rule of thumb, unless you play in this actual society, do not use their rules.&lt;br /&gt;
&lt;br /&gt;
== How Customizable is PCGen? ==&lt;br /&gt;
PCGen is designed with user customizations in mind. For the Books Side, we are looking to re-include an In-built LST Editor in the program for version 6.4.0. LST files are the main text files for holding the information that PCGen (JAVA Program) can read and execute. LST Files are plain text programing using a customized Language that is designed towards simple premise of Human-Readable and easily used. &lt;br /&gt;
&lt;br /&gt;
PCGen has several methods to impart how to create your own custom files. First, we supply a sample folder including a full set of pcc and lst files for you to get started. We have extensive documentation in the program, and maintained on our website. Andrew Maitland has made several youtube videos explaining how to craft the files, and the common mistakes to avoid. Finally, we offer online support via our Yahoo Groups and direct help from our Support Desk Monkey - Help@PCGen.Org. &lt;br /&gt;
&lt;br /&gt;
== Is there support for issues and recommendations? ==&lt;br /&gt;
Yes, PCGen is a volunteer project run by monkeys and humans. We all know monkeys are a laugh, and humans are fallible. Thus, we have a Ticket Support system that is monitored by the various projects that go towards supporting PCGen. Our ticket support system is called 'JIRA' and anyone can log into the system after creating an account, and report a problem &amp;quot;Bug&amp;quot; or make recommendations for improvements (Feature Requests). The system is located at http://jira.pcgen.org. &lt;br /&gt;
&lt;br /&gt;
Wait, what do all those projects visible mean? I'm totally confused?!!?!&lt;br /&gt;
* Data - This is the Books. Chances are if it's incorrect the logical issue would be this project. Bug is something broken; Feature is new things to be added.&lt;br /&gt;
* Code - This is the heart of PCGen and encompasses the JAVA involved. They also handle the User Interface (UI for short).&lt;br /&gt;
* Docs - This is the Documentation that comes with PCGen. Bugs are typographical errors, or formatting problems. Features would be adding new &amp;quot;classes&amp;quot; or &amp;quot;how-to&amp;quot; to explain using PCGen in new ways.&lt;br /&gt;
* OS - This is the output sheets or the final product you see. This encompasses the Summary bottom Pane, the Preview Sheets found on &amp;quot;Character&amp;quot; tab of the program, and all of the export methods.&lt;br /&gt;
* Admin - This is non-pcgen issues, like the Website has mistakes.&lt;br /&gt;
* Support - This is the catch-all &amp;quot;Help, I'm lost and need guidance&amp;quot;. When the program is causing issues, or you cannot figure out something, this is a good place to start.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What if I mess up and place it in the wrong area?&lt;br /&gt;
* Fear not, our Jira is monitored by experienced project volunteers, and can easily move your issue to the correct location at any time. &lt;br /&gt;
&lt;br /&gt;
 How should I submit an issue? &lt;br /&gt;
* Details are the key point. In order to address any issue we need facts. Please include the following in all reports:&lt;br /&gt;
** Summary of the issue (Single sentence to briefly give an idea of the issue)&lt;br /&gt;
** Version of PCGen (In most cases this is a requirement)&lt;br /&gt;
** Data You are loading (You can submit a character file (*.pcg) to the Ticket and that will help speed things along&lt;br /&gt;
** Description - What is wrong in your own words, and what is the correct result. Cite a source book if available. Since a person needs to verify the issue before making corrections.&lt;br /&gt;
** Environment - Your operating system, Java version and anything else you think will help us.&lt;br /&gt;
&lt;br /&gt;
== Trouble Shooting Problems ==&lt;br /&gt;
&lt;br /&gt;
===Mouse Over Issues for some users===&lt;br /&gt;
Solution: run Command Line, navigate to your PCGen installed files &amp;quot;cd c:\the\path\to\pcgen&amp;quot; and type in:&lt;br /&gt;
   java &amp;quot;-Dsun.java2d.d3d=false&amp;quot; -jar .\pcgen.jar&lt;br /&gt;
&lt;br /&gt;
===High Resolution Display===&lt;br /&gt;
I was able to workaround this issue by going into the compatibility properties of the PCGen shortcut and setting the &amp;quot;Override high DPI scaling behavior&amp;quot; to System. This was tested on Windows 10.&lt;br /&gt;
&lt;br /&gt;
=== Java 7 for version 5.17.11 or lower ===&lt;br /&gt;
PCGen versions prior to 5.17.11 (including the current production version, 5.16.4) are not compatible with Java 7. This is now the default version Java installed for most system types. Open JDK 6 on Linux exhibits the same problems and the same fix applies.&lt;br /&gt;
&lt;br /&gt;
==== Symptoms ====&lt;br /&gt;
&lt;br /&gt;
When you start PCGen, all character tabs other than the summary tab are blank (i.e. the table outline is there but there is no table displayed and thus no races, classes, equipment etc. can be seen). The advanced sources tab is also empty.&lt;br /&gt;
&lt;br /&gt;
==== Fix ====&lt;br /&gt;
There are two options to fix this:&lt;br /&gt;
# Install Java 6 and ensure PCGen uses that (may require downgrading &lt;br /&gt;
Java or using a batch file to start PCGen with Java 6)&lt;br /&gt;
# Use PCGen 5.17.11 or later. At the time of writing the current alpha version was 5.17.14. See [http://sourceforge.net/projects/pcgen/files/PCGen%20Unstable/ PCGen Alpha Downloads]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows Installations ===&lt;br /&gt;
* Vista &amp;amp; Win7 (32 &amp;amp; 64 versions) Install and Running&lt;br /&gt;
** If you are running 64-bit versions of Vista or Win7, the bat file may not find JAVA. You may have to hard-code the path to java.exe. To edit those either Right Click on my Computer -&amp;gt; Properties -&amp;gt; Advanced System Settings -&amp;gt; Environment Variables OR Control Panel -&amp;gt; System -&amp;gt; Advanced Syystem Settings -&amp;gt; Environment Variables.&lt;br /&gt;
** You can modify the PATH by adding your JAVA path to it.&lt;br /&gt;
** Example of a Direct Reference to Java:&lt;br /&gt;
** &amp;quot;C:\Program Files (x86)\Java\jre6\bin\java&amp;quot; -Dswing.aatext=true -Xms1024m -Xmx1024m -jar pcgen.jar&lt;br /&gt;
** Put that in your PCGen Bat File.&lt;br /&gt;
** If you're using the BAT, feel free to up the memory usage. I have mine set to 512 and 1028 (Just edit the bat file in a text editor). Set the memory to what your system can handle.&lt;br /&gt;
** Install in a NON-default directory (not c:\program files) Vista and Win7 seem to have directory permission issues at times. (Especially Win7) The UAC in both can cause problems in some cases.&lt;br /&gt;
** Setting the Permission of the FOLDER to the highest level can help&lt;br /&gt;
** 5.17.0 onward have an exe file that solves the JAVA issue.&lt;br /&gt;
** Make sure you have a current version of JAVA installed (Not normally an issue for Windows Users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1)  Create a pcgen.cmd file with the following in it:&lt;br /&gt;
&lt;br /&gt;
** &amp;quot;C:\Program Files (x86)\Java\jre6\bin\java.exe&amp;quot; -Dswing.aatext=true -Xms256m -Xmx1024m -jar &amp;quot;C:\Program Files (x86)\PCGen\PCGen5161\pcgen.jar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
** 2)  Put the pcgen.cmd file in your C:\program files (x86)\pcgen\pcgen5161\ directory.&lt;br /&gt;
** 3)  Change your shortcut link to the pcgen.cmd file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mac Installation Issues ===&lt;br /&gt;
ISSUE: I have downloaded PCGen for the Mac and I cannot get it to run.  If I try to open the application from within the disk image, I get this error message: &amp;quot; “PCGen 6.04.01” is damaged and can’t be opened. You should eject the disk image.&amp;quot;  If I move the application into the Applications folder on my hard drive, I get this error message: &amp;quot;You can’t open the application “PCGen 6.04.01” because it is not supported on this type of Mac.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SOLUTION: To prevent this error, go to System Preferences -&amp;gt; Security &amp;amp; Privacy. At the bottom of the window there is a section titled: &amp;quot;Allow apps downloaded from:&amp;quot; Then select &amp;quot;Anywhere&amp;quot;. That will allow you to open PCGen.&lt;br /&gt;
&lt;br /&gt;
ISSUE: Gatekeeper will not allow PCGen to run&lt;br /&gt;
&lt;br /&gt;
SOLUTION: Disable Gatekeeper, run PCGen, re-enable Gatekeeper. Once PCGen has run once successfully, it's ignored by Gatekeeper.&lt;br /&gt;
&lt;br /&gt;
UPDATE:&lt;br /&gt;
&lt;br /&gt;
*  Hold down &amp;quot;control&amp;quot; button&lt;br /&gt;
*  Click on the app that is triggering the message about the security preferences&lt;br /&gt;
*  Select &amp;quot;open&amp;quot; to override and install/open the application&lt;br /&gt;
&lt;br /&gt;
This allows you to avoid changing the security setting to &amp;quot;anywhere.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Homebrew OS Sheet for working 5.17.16 and forward ===&lt;br /&gt;
&lt;br /&gt;
As part of an improvement to Display all the Allowable Range Increments properly for Thrown and Ranged Weapons, some changes were made to the BASE.XML file and the reliant XSLT files. Sadly, this change '''will''' break home-brew OS sheets going forward.&lt;br /&gt;
&lt;br /&gt;
You have two options going forward.&lt;br /&gt;
&lt;br /&gt;
'''Option 1:'''&lt;br /&gt;
You'll need to make the following change to the section listed in your XSLT files that contains this:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!--&lt;br /&gt;
====================================&lt;br /&gt;
====================================&lt;br /&gt;
	TEMPLATE - weapons ranged&lt;br /&gt;
====================================&lt;br /&gt;
====================================--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace that entire Section with this new code.&lt;br /&gt;
&lt;br /&gt;
[http://pastebin.com/2YAhrBSV PCGen Pastebin Link to Updated Ranges Template]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Option 2:'''&lt;br /&gt;
&lt;br /&gt;
Replace the BASE.XML file shipped by us and using an older one (But this will mean you lose the newer functionality)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Changing a Character's Sources ===&lt;br /&gt;
&lt;br /&gt;
Sometimes you may need to change the sources a character is associated with, you could be adding a new source book you have started using or removing a book that is unused. Here's how to do it:&lt;br /&gt;
&lt;br /&gt;
# Turn off the &amp;quot;Load Sources with PC&amp;quot; option in Preferences &amp;gt; Sources&lt;br /&gt;
# Load the desired sources&lt;br /&gt;
# Load your character&lt;br /&gt;
# Save your character again (I'd recommend saving to a new file)&lt;br /&gt;
# Reactivate &amp;quot;Load Sources with PC&amp;quot; in preferences. &lt;br /&gt;
&lt;br /&gt;
The saved character will now be registered against the new sources which will be checked each time you load the character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another option is to use a pre-saved source selection. This can then be used by a number of characters and just updated when you want to add books. You can create a pre-saved source selection using these steps&lt;br /&gt;
&lt;br /&gt;
# Open Sources &amp;gt; Select Sources and switch to the Advanced tab&lt;br /&gt;
# Select the game you are using in the first drop-down.&lt;br /&gt;
# Select the sources you would like to use (using Add Selected)&lt;br /&gt;
# Once happy click the Save Source Selection button and enter a name for your source set.&lt;br /&gt;
# Select the new set on the Basic tab and load it.&lt;br /&gt;
&lt;br /&gt;
Then when you want to update the sources used for those characters just repeat the process using the same name. You should select the original saved selection first before switching to the Advanced tab and then the old books you selected will be already selected.&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=FAQ_and_Help&amp;diff=4239</id>
		<title>FAQ and Help</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=FAQ_and_Help&amp;diff=4239"/>
		<updated>2018-02-26T00:10:13Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just some tips to help along. It'll be a repository of Frequently Asked Questions and Help Tips that we've encountered a lot.&lt;br /&gt;
&lt;br /&gt;
== What is PCGen? ==&lt;br /&gt;
PCGen is a JAVA Program that uses custom 'text' files (*.pcc and *.lst) to emulate books from table-top role-playing games, like Dungeons &amp;amp; Dragons 3rd edition, to help create and maintain system rules-legal characters for that game system. It allows you to print out character sheets, or export them into various formats for later use - such as a basic text sheet, xml for various forum play and software systems, htm for web browser enabled devices and pdf. PCGen is built to support the most popular d20 systems and has plans for future expansion into non-d20 based systems.&lt;br /&gt;
&lt;br /&gt;
== What systems does PCGen support today? ==&lt;br /&gt;
Today PCGen (version 6.2) supports Dungeons and Dragons by Wizard of the Coast - the specific versions supported directly are: 3rd edition (Known as SRD), 3.5 edition (RSRD), d20 Modern (MSRD). Due to license issues, the program can support 4th edition and the upcoming 5th edition (known as D&amp;amp;D Next) but we cannot supply any pre-made books. Those will require custom sets that you can make yourself.&lt;br /&gt;
&lt;br /&gt;
Our list of supported d20 systems with pre-made books: &lt;br /&gt;
* D&amp;amp;D 5.0 edition (Listed as SRD5)&lt;br /&gt;
* D&amp;amp;D 3.0 edition (Listed as SRD - System Resource Documents)&lt;br /&gt;
* D&amp;amp;D 3.5 edition (Listed as RSRD - Revised System Resource Documents)&lt;br /&gt;
* D&amp;amp;D Modern Edition (Listed as MSRD - Modern System Resource Documents)&lt;br /&gt;
* Deadlands by Pinnacle Entertainment&lt;br /&gt;
* Fantasy Craft by Crafty Games (Crafty Games is hosting the full core rule book, we only have a level 4 demo set)&lt;br /&gt;
* Gaslight 1st edition by Battlefield Press&lt;br /&gt;
* Legends of Excalibur&lt;br /&gt;
* Pathfinder by Paizo Publishing&lt;br /&gt;
* Sidewinder&lt;br /&gt;
* Spycraft&lt;br /&gt;
* Xcrawl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Non-d20 Systems we're building support for:&lt;br /&gt;
* Killshot by Broken Ruler Games (This is ready to play but needs a Character Sheet to display)&lt;br /&gt;
* Cyberpunk&lt;br /&gt;
* Shadowrun&lt;br /&gt;
&lt;br /&gt;
== Using Pathfinder in PCGen ==&lt;br /&gt;
* Unchained Classes - Q&amp;amp;A:&lt;br /&gt;
** '''QUESTION''': How can I created an Unchained x class?&lt;br /&gt;
** '''ANSWER''': First, you need to make sure you are loading the correct book(s). You will need to load ''Pathfinder Unchained'' to have access to the first four Unchained variant classes - Barbarian, Monk, Rogue, and Summoner. Select the base class, Rogue for Unchained Rogue as an example. Once you add the first level, go to the Feats &amp;amp; Abilities tab, under Class Features, there should be a CLASS SELECTION group. Select the Unchained Version from there. Congratulations, you now have an Unchained version of the Class. &lt;br /&gt;
** '''LIMITATIONS''': Warning - Due to how PCGen processes SPELL LISTS, an Unchained Summoner will require you to SAVE and RELOAD to have the correct spells populate your spell list.&lt;br /&gt;
** QUESTION: I'm very curious (from both a user's viewpoint and that of a designer) as to why you made the Unchained classes as options within the class (when the source is selected) instead of a separate class in their own right. I actually found that very confusing when making an unchained class as I couldn't select it from the class list as one would usually do when making a character. It was only when I went back to the summary screen after selecting the class that I realized I could make the Unchained version. That's a design decision that needs to be deliberated upon and possibly altered because as it stands, it is highly confusing and may lead a lot of people to believe that you can't make an Unchained class at all in PCGen.&lt;br /&gt;
** ANSWER: Since that was my decision, I'll be happy to explain the reasoning and how I arrived at that conclusion.  If you do a comparison between the normal classes and the unchained versions, you will see (in most cases) the only differences was the class features - Monk had a HD boost, Summoner has a Spell List change, Barbarian only changes features, and Rogue added some new features.  It seemed more economical to re-use the base framework which 90% of the classes were built upon. Reduce duplication in code (Each class loaded requires some memory, whereas the method I opted did not increase memory, merely which features to use). Unchained classes comes across as more a variant. Plus, you cannot have an unchained version and regular version of the class. Programming in &amp;quot;Cannot take this&amp;quot; does increase cpu cycles and additional code lines. Add in the fact they were treated just as the regular version in terms of meeting prerequisites for prestige classes, feats, and archetypes, etc.  Looking at it big picture, it made more sense to simply use the base class and treat the unchained variant as a super archetype - swap out abilities. They were more the base class then not. The chance of breaking support was higher if they were coded separately - anything using the code classlevel(&amp;quot;Summoner&amp;quot;) would fail for an &amp;quot;Unchained Summoner&amp;quot; as an example, SERVESAS only does prexxx support. Reviewing everything related to the class - favored classes, archetype support, feats and the data hacks was a bit more time consuming.  Plus, it gave me the excuse to test out a function of the program to try and support a prestige class that grants class features from other classes, which we could not support in the past.  To combat the confusion, I did include the Summary TO DO to prompt the user to choose which version they want to use; most users use the summary screen to add classes to the character, which would mean they see the prompt right off. Under the hood, it defaults to the base version in case they never make that selection. An important fact for the Summoner - so it still gains spells.  If it helps to know, I went back and forth several times, actually coding them up initially as classes. But the lack of time on my part limited what I was willing to undertake, so choosing the path that had the least chance to break any particular build was what I ended up doing. As I progressed, I learned a new tidbit that swung the pendulum toward the other method. I might have chosen differently knowing what I know today.  Right or wrong, it is a bit late to change the decision (6.06.00 is now released). With our focus for the 6.08 dev cycle to rip out the JEP reliance tags - anything that starts with BONUS:x, anything that is touched by BONUS, such as LEGS, FACE, REACH, WEAPONPROF, etc. Implementing new support for global and local variable numbers, Booleans, strings and orderedpairs. Rip out every text output tag and replace it with INFO/INFOVARS. Redesign the output sheets to (1) use the freemarker template code properly, and (2) switch to grabbing the new output via fact, info and value. The end goal is a more lean and efficient code base and data processing. Hope that helps clear up the decision making process that led to variant vs. class. If you have any other questions, comments or otherwise, feel free to reach out to me. --Andrew Maitland (Content Silverback - PCGen Board of Director's)&lt;br /&gt;
** Reply back: Thanks for the explanation. Now I understand the process behind the decision a lot more. Might be something to add to the FAQs because other people may also get confused and I admittedly found the Unchained version by accident.&lt;br /&gt;
&lt;br /&gt;
* Pathfinder vs Pathfinder Society:&lt;br /&gt;
** QUESTION: What is the difference between these and why should I care?&lt;br /&gt;
** ANSWER: Pathfinder Society is an actual real world international organization which publishes official rules of play for gamemasters and players alike. The games are run using official modules with completion items given out, special sheets to track rewards and of course a very different XP progression, which is capped well before 20th level. As mentioned before they publish rules each year to tell their members what is legal to use in their games. In essence Pathfinder Society (abbreviated PFS) is a structured event setting which determines what is legal in their games, allowing players from all over the world to have the same experiences and options. Many feats, spells, equipment and class options are restricted in the Pathfinder Society games. PCGen supports the various seasons of play as best we can. Many false bugs are raised due to people mistakenly thinking their favorite options are not working. Rule of thumb, unless you play in this actual society, do not use their rules.&lt;br /&gt;
&lt;br /&gt;
== How Customizable is PCGen? ==&lt;br /&gt;
PCGen is designed with user customizations in mind. For the Books Side, we are looking to re-include an In-built LST Editor in the program for version 6.4.0. LST files are the main text files for holding the information that PCGen (JAVA Program) can read and execute. LST Files are plain text programing using a customized Language that is designed towards simple premise of Human-Readable and easily used. &lt;br /&gt;
&lt;br /&gt;
PCGen has several methods to impart how to create your own custom files. First, we supply a sample folder including a full set of pcc and lst files for you to get started. We have extensive documentation in the program, and maintained on our website. Andrew Maitland has made several youtube videos explaining how to craft the files, and the common mistakes to avoid. Finally, we offer online support via our Yahoo Groups and direct help from our Support Desk Monkey - Help@PCGen.Org. &lt;br /&gt;
&lt;br /&gt;
== Is there support for issues and recommendations? ==&lt;br /&gt;
Yes, PCGen is a volunteer project run by monkeys and humans. We all know monkeys are a laugh, and humans are fallible. Thus, we have a Ticket Support system that is monitored by the various projects that go towards supporting PCGen. Our ticket support system is called 'JIRA' and anyone can log into the system after creating an account, and report a problem &amp;quot;Bug&amp;quot; or make recommendations for improvements (Feature Requests). The system is located at http://jira.pcgen.org. &lt;br /&gt;
&lt;br /&gt;
Wait, what do all those projects visible mean? I'm totally confused?!!?!&lt;br /&gt;
* Data - This is the Books. Chances are if it's incorrect the logical issue would be this project. Bug is something broken; Feature is new things to be added.&lt;br /&gt;
* Code - This is the heart of PCGen and encompasses the JAVA involved. They also handle the User Interface (UI for short).&lt;br /&gt;
* Docs - This is the Documentation that comes with PCGen. Bugs are typographical errors, or formatting problems. Features would be adding new &amp;quot;classes&amp;quot; or &amp;quot;how-to&amp;quot; to explain using PCGen in new ways.&lt;br /&gt;
* OS - This is the output sheets or the final product you see. This encompasses the Summary bottom Pane, the Preview Sheets found on &amp;quot;Character&amp;quot; tab of the program, and all of the export methods.&lt;br /&gt;
* Admin - This is non-pcgen issues, like the Website has mistakes.&lt;br /&gt;
* Support - This is the catch-all &amp;quot;Help, I'm lost and need guidance&amp;quot;. When the program is causing issues, or you cannot figure out something, this is a good place to start.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What if I mess up and place it in the wrong area?&lt;br /&gt;
* Fear not, our Jira is monitored by experienced project volunteers, and can easily move your issue to the correct location at any time. &lt;br /&gt;
&lt;br /&gt;
 How should I submit an issue? &lt;br /&gt;
* Details are the key point. In order to address any issue we need facts. Please include the following in all reports:&lt;br /&gt;
** Summary of the issue (Single sentence to briefly give an idea of the issue)&lt;br /&gt;
** Version of PCGen (In most cases this is a requirement)&lt;br /&gt;
** Data You are loading (You can submit a character file (*.pcg) to the Ticket and that will help speed things along&lt;br /&gt;
** Description - What is wrong in your own words, and what is the correct result. Cite a source book if available. Since a person needs to verify the issue before making corrections.&lt;br /&gt;
** Environment - Your operating system, Java version and anything else you think will help us.&lt;br /&gt;
&lt;br /&gt;
== Trouble Shooting Problems ==&lt;br /&gt;
&lt;br /&gt;
===Mouse Over Issues for some users===&lt;br /&gt;
Solution: run Command Line, navigate to your PCGen installed files &amp;quot;cd c:\the\path\to\pcgen&amp;quot; and type in:&lt;br /&gt;
   java &amp;quot;-Dsun.java2d.d3d=false&amp;quot; -jar .\pcgen.jar&lt;br /&gt;
&lt;br /&gt;
===High Resolution Display===&lt;br /&gt;
I was able to workaround this issue by going into the compatibility properties of the PCGen shortcut and setting the &amp;quot;Override high DPI scaling behavior&amp;quot; to System. This was tested on Windows 10.&lt;br /&gt;
&lt;br /&gt;
=== Java 7 for version 5.17.11 or lower ===&lt;br /&gt;
PCGen versions prior to 5.17.11 (including the current production version, 5.16.4) are not compatible with Java 7. This is now the default version Java installed for most system types. Open JDK 6 on Linux exhibits the same problems and the same fix applies.&lt;br /&gt;
&lt;br /&gt;
==== Symptoms ====&lt;br /&gt;
&lt;br /&gt;
When you start PCGen, all character tabs other than the summary tab are blank (i.e. the table outline is there but there is no table displayed and thus no races, classes, equipment etc. can be seen). The advanced sources tab is also empty.&lt;br /&gt;
&lt;br /&gt;
==== Fix ====&lt;br /&gt;
There are two options to fix this:&lt;br /&gt;
# Install Java 6 and ensure PCGen uses that (may require downgrading &lt;br /&gt;
Java or using a batch file to start PCGen with Java 6)&lt;br /&gt;
# Use PCGen 5.17.11 or later. At the time of writing the current alpha version was 5.17.14. See [http://sourceforge.net/projects/pcgen/files/PCGen%20Unstable/ PCGen Alpha Downloads]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows Installations ===&lt;br /&gt;
* Vista &amp;amp; Win7 (32 &amp;amp; 64 versions) Install and Running&lt;br /&gt;
** If you are running 64-bit versions of Vista or Win7, the bat file may not find JAVA. You may have to hard-code the path to java.exe. To edit those either Right Click on my Computer -&amp;gt; Properties -&amp;gt; Advanced System Settings -&amp;gt; Environment Variables OR Control Panel -&amp;gt; System -&amp;gt; Advanced Syystem Settings -&amp;gt; Environment Variables.&lt;br /&gt;
** You can modify the PATH by adding your JAVA path to it.&lt;br /&gt;
** Example of a Direct Reference to Java:&lt;br /&gt;
** &amp;quot;C:\Program Files (x86)\Java\jre6\bin\java&amp;quot; -Dswing.aatext=true -Xms1024m -Xmx1024m -jar pcgen.jar&lt;br /&gt;
** Put that in your PCGen Bat File.&lt;br /&gt;
** If you're using the BAT, feel free to up the memory usage. I have mine set to 512 and 1028 (Just edit the bat file in a text editor). Set the memory to what your system can handle.&lt;br /&gt;
** Install in a NON-default directory (not c:\program files) Vista and Win7 seem to have directory permission issues at times. (Especially Win7) The UAC in both can cause problems in some cases.&lt;br /&gt;
** Setting the Permission of the FOLDER to the highest level can help&lt;br /&gt;
** 5.17.0 onward have an exe file that solves the JAVA issue.&lt;br /&gt;
** Make sure you have a current version of JAVA installed (Not normally an issue for Windows Users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1)  Create a pcgen.cmd file with the following in it:&lt;br /&gt;
&lt;br /&gt;
** &amp;quot;C:\Program Files (x86)\Java\jre6\bin\java.exe&amp;quot; -Dswing.aatext=true -Xms256m -Xmx1024m -jar &amp;quot;C:\Program Files (x86)\PCGen\PCGen5161\pcgen.jar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
** 2)  Put the pcgen.cmd file in your C:\program files (x86)\pcgen\pcgen5161\ directory.&lt;br /&gt;
** 3)  Change your shortcut link to the pcgen.cmd file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mac Installation Issues ===&lt;br /&gt;
ISSUE: I have downloaded PCGen for the Mac and I cannot get it to run.  If I try to open the application from within the disk image, I get this error message: &amp;quot; “PCGen 6.04.01” is damaged and can’t be opened. You should eject the disk image.&amp;quot;  If I move the application into the Applications folder on my hard drive, I get this error message: &amp;quot;You can’t open the application “PCGen 6.04.01” because it is not supported on this type of Mac.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SOLUTION: To prevent this error, go to System Preferences -&amp;gt; Security &amp;amp; Privacy. At the bottom of the window there is a section titled: &amp;quot;Allow apps downloaded from:&amp;quot; Then select &amp;quot;Anywhere&amp;quot;. That will allow you to open PCGen.&lt;br /&gt;
&lt;br /&gt;
ISSUE: Gatekeeper will not allow PCGen to run&lt;br /&gt;
&lt;br /&gt;
SOLUTION: Disable Gatekeeper, run PCGen, re-enable Gatekeeper. Once PCGen has run once successfully, it's ignored by Gatekeeper.&lt;br /&gt;
&lt;br /&gt;
UPDATE:&lt;br /&gt;
&lt;br /&gt;
*  Hold down &amp;quot;control&amp;quot; button&lt;br /&gt;
*  Click on the app that is triggering the message about the security preferences&lt;br /&gt;
*  Select &amp;quot;open&amp;quot; to override and install/open the application&lt;br /&gt;
&lt;br /&gt;
This allows you to avoid changing the security setting to &amp;quot;anywhere.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Homebrew OS Sheet for working 5.17.16 and forward ===&lt;br /&gt;
&lt;br /&gt;
As part of an improvement to Display all the Allowable Range Increments properly for Thrown and Ranged Weapons, some changes were made to the BASE.XML file and the reliant XSLT files. Sadly, this change '''will''' break home-brew OS sheets going forward.&lt;br /&gt;
&lt;br /&gt;
You have two options going forward.&lt;br /&gt;
&lt;br /&gt;
'''Option 1:'''&lt;br /&gt;
You'll need to make the following change to the section listed in your XSLT files that contains this:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!--&lt;br /&gt;
====================================&lt;br /&gt;
====================================&lt;br /&gt;
	TEMPLATE - weapons ranged&lt;br /&gt;
====================================&lt;br /&gt;
====================================--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace that entire Section with this new code.&lt;br /&gt;
&lt;br /&gt;
[http://pastebin.com/2YAhrBSV PCGen Pastebin Link to Updated Ranges Template]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Option 2:'''&lt;br /&gt;
&lt;br /&gt;
Replace the BASE.XML file shipped by us and using an older one (But this will mean you lose the newer functionality)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Changing a Character's Sources ===&lt;br /&gt;
&lt;br /&gt;
Sometimes you may need to change the sources a character is associated with, you could be adding a new source book you have started using or removing a book that is unused. Here's how to do it:&lt;br /&gt;
&lt;br /&gt;
# Turn off the &amp;quot;Load Sources with PC&amp;quot; option in Preferences &amp;gt; Sources&lt;br /&gt;
# Load the desired sources&lt;br /&gt;
# Load your character&lt;br /&gt;
# Save your character again (I'd recommend saving to a new file)&lt;br /&gt;
# Reactivate &amp;quot;Load Sources with PC&amp;quot; in preferences. &lt;br /&gt;
&lt;br /&gt;
The saved character will now be registered against the new sources which will be checked each time you load the character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another option is to use a pre-saved source selection. This can then be used by a number of characters and just updated when you want to add books. You can create a pre-saved source selection using these steps&lt;br /&gt;
&lt;br /&gt;
# Open Sources &amp;gt; Select Sources and switch to the Advanced tab&lt;br /&gt;
# Select the game you are using in the first drop-down.&lt;br /&gt;
# Select the sources you would like to use (using Add Selected)&lt;br /&gt;
# Once happy click the Save Source Selection button and enter a name for your source set.&lt;br /&gt;
# Select the new set on the Basic tab and load it.&lt;br /&gt;
&lt;br /&gt;
Then when you want to update the sources used for those characters just repeat the process using the same name. You should select the original saved selection first before switching to the Advanced tab and then the old books you selected will be already selected.&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Release_6.10.x&amp;diff=4213</id>
		<title>Release 6.10.x</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Release_6.10.x&amp;diff=4213"/>
		<updated>2018-02-24T17:38:40Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;{| align=&amp;quot;right&amp;quot;   | __TOC__   |}  =Release dates=  '''Alpha''' TBD  '''Beta''' TBD  '''RC''' TBD  '''Production''' TBD  =Team Goals=  * Implement the Formula Parser Replaceme...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Release dates=&lt;br /&gt;
&lt;br /&gt;
'''Alpha'''&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
'''Beta'''&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
'''RC'''&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
'''Production'''&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=Team Goals=&lt;br /&gt;
&lt;br /&gt;
* Implement the Formula Parser Replacement&lt;br /&gt;
* Update OS to take advantage of the new FACT system, the Formula Parser and other improvements.&lt;br /&gt;
&lt;br /&gt;
==[[Architecture]]==&lt;br /&gt;
* [[Formula_Parser_Equip_Vars_Proposal | Formula Parser replacement for JEP (Global and Local)]] &lt;br /&gt;
* Deprecate unnecessary BONUS tags being replaced by new Formula Parser System&lt;br /&gt;
&lt;br /&gt;
==[[Code]]==&lt;br /&gt;
* [[LST Editor]] overhaul&lt;br /&gt;
* Correct Natural Attacks (Discussion)&lt;br /&gt;
&lt;br /&gt;
==[[Data]]==&lt;br /&gt;
* Continue Data Improvements&lt;br /&gt;
* Work with Arch to Align Data to use new Formula Parser&lt;br /&gt;
&lt;br /&gt;
==[[Output Sheets]]==&lt;br /&gt;
* Continue migration to Freemarker Output&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Documentation]]==&lt;br /&gt;
* Update to reflect Tag changes&lt;br /&gt;
&lt;br /&gt;
==[[Publisher Liaison]]==&lt;br /&gt;
* No major projects, continuation of existing work&lt;br /&gt;
&lt;br /&gt;
==[[Data License]]==&lt;br /&gt;
* No major projects, continuation of existing work&lt;br /&gt;
&lt;br /&gt;
==[[Advertising]]==&lt;br /&gt;
* No major projects, continuation of existing work&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Roadmap&amp;diff=4212</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Roadmap&amp;diff=4212"/>
		<updated>2018-02-24T17:37:15Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
This page contains the PCGen Roadmap&lt;br /&gt;
&lt;br /&gt;
=Releases=&lt;br /&gt;
* [[Release 6.10.x]] - Release 6.10.0 will implement Formula Parser improvements, deprecate the JEP code, and begin progress on both Output sheets and User Interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Release 6.8.x]] - Release 6.08.0 will continue the pattern of improvements in the code base (migrating to a replacement formula parser) and OS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&lt;br /&gt;
* [[Release 5.6.x]] - There is no further active development on this branch&lt;br /&gt;
* [[Release 5.8.x]] - 5.8.1 was last production release of this branch, there is no further active development&lt;br /&gt;
* [[Release 5.10.x]] - 5.10.2 was the last production release of this branch, there is no further active development&lt;br /&gt;
* [[Release 5.12.x]] - 5.12.1 was the last production release of this branch, there is no further active development&lt;br /&gt;
* [[Release 5.14.x]] - 5.14.1 was the last production release of this branch, there is no further active development&lt;br /&gt;
* [[Release 5.16.x]] - 5.16.4 was the last production release of this branch, there is no further active development&lt;br /&gt;
* [[Release 6.0.x]] - 6.0.1 was the last production release of this branch, there is no further active development&lt;br /&gt;
* [[Release 6.2.x]] - Release 6.2.1 is the current production release&lt;br /&gt;
* [[Release 6.4.x]] - Release 6.4.0 is the next planned production release (No further active development)&lt;br /&gt;
* [[Release 6.6.x]] - Release 6.6.0 will contain various feature enhancements to PCGen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
* [[Proposed FREQ Roadmap]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Release_6.8.x&amp;diff=4211</id>
		<title>Release 6.8.x</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Release_6.8.x&amp;diff=4211"/>
		<updated>2018-02-24T17:35:12Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Release dates=&lt;br /&gt;
&lt;br /&gt;
'''Alpha'''&lt;br /&gt;
* 2017-01-14 -- 6.07.01 &lt;br /&gt;
* 2017-06-11 -- 6.07.02 &lt;br /&gt;
* 2017-08-13 -- 6.07.03&lt;br /&gt;
* 2017-10-15 -- 6.07.04 &lt;br /&gt;
* 2017-11-22 -- 6.07.05&lt;br /&gt;
* 2018-01-29 -- 6.07.06&lt;br /&gt;
* 2018-03-04 -- 6.07.07&lt;br /&gt;
* 2018-03-18 -- 6.07.08&lt;br /&gt;
&lt;br /&gt;
'''Beta'''&lt;br /&gt;
* 2018-04-01 -- 6.07.09&lt;br /&gt;
* 2018-04-08 -- 6.07.10&lt;br /&gt;
* 2018-04-15 -- 6.07.11&lt;br /&gt;
* 2018-04-22 -- 6.07.12&lt;br /&gt;
&lt;br /&gt;
'''RC'''&lt;br /&gt;
* 2018-04-29 -- 6.08.00RC1&lt;br /&gt;
* 2018-05-06 -- 6.08.00RC2&lt;br /&gt;
* 2018-05-13 -- 6.08.00RC3&lt;br /&gt;
&lt;br /&gt;
'''Production'''&lt;br /&gt;
* 2018-05-20 -- 6.08.00 (Production)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Team Goals=&lt;br /&gt;
&lt;br /&gt;
* Implement the Formula Parser Replacement&lt;br /&gt;
* Update OS to take advantage of the new FACT system, the Formula Parser and other improvements.&lt;br /&gt;
&lt;br /&gt;
==[[Architecture]]==&lt;br /&gt;
* [[Formula_Parser_Equip_Vars_Proposal | Formula Parser replacement for JEP (Global and Local)]] &lt;br /&gt;
* Deprecate unnecessary BONUS tags being replaced by new Formula Parser System&lt;br /&gt;
&lt;br /&gt;
==[[Code]]==&lt;br /&gt;
* [[LST Editor]] overhaul&lt;br /&gt;
* Correct Natural Attacks (Discussion)&lt;br /&gt;
* Update Java to use 8 as the base code, remove support for Java 7&lt;br /&gt;
&lt;br /&gt;
==[[Data]]==&lt;br /&gt;
* Continue Data Improvements&lt;br /&gt;
* Work with Arch to Align Data to use new Formula Parser&lt;br /&gt;
&lt;br /&gt;
==[[Output Sheets]]==&lt;br /&gt;
* Continue migration to Freemarker Output&lt;br /&gt;
* Take advantage of FACT/FACTSET capabilities when available&lt;br /&gt;
&lt;br /&gt;
==[[Documentation]]==&lt;br /&gt;
* Update to reflect Tag changes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Publisher Liaison]]==&lt;br /&gt;
* No major projects, continuation of existing work&lt;br /&gt;
&lt;br /&gt;
==[[Data License]]==&lt;br /&gt;
* No major projects, continuation of existing work&lt;br /&gt;
&lt;br /&gt;
==[[Advertising]]==&lt;br /&gt;
* No major projects, continuation of existing work&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_02_24&amp;diff=4209</id>
		<title>Meeting 2018 02 24</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_02_24&amp;diff=4209"/>
		<updated>2018-02-24T17:06:04Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==''Attendance:''==&lt;br /&gt;
* Benevolent Dictator - Bryan&lt;br /&gt;
* Chair - Kar&lt;br /&gt;
* Code - Tom&lt;br /&gt;
* Content - Andrew&lt;br /&gt;
* PR - Paul&lt;br /&gt;
* Data 2nd - Gwen&lt;br /&gt;
* Observer - Douglas&lt;br /&gt;
* Observer - David&lt;br /&gt;
&lt;br /&gt;
==''Summary:''==&lt;br /&gt;
* PR - Willing to support local volunteers for Conventions for 2018&lt;br /&gt;
* PR - No GenCon for 2018 planned&lt;br /&gt;
* PR - Will review Data Books waiting on queue&lt;br /&gt;
* Content - Fixing bugs and making publishers happy&lt;br /&gt;
* Code - Several GATE issues prevent any Production Release&lt;br /&gt;
* Code - Issues are fixed, just in a queue to be PR and reviewed&lt;br /&gt;
* Code - Will improve WIKI to get new developers up and running&lt;br /&gt;
* Roadmap - Target is May/June for Production release 6.08.00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Redacted Log===&lt;br /&gt;
* [6:00 AM] Andrew Maitland: Good morning all, welcome to the Board of Directors meeting&lt;br /&gt;
* [6:00 AM] Andrew Maitland: The agenda on the table for today is:&lt;br /&gt;
* [6:00 AM] Andrew Maitland: Agenda: 1) Team Reports (10 minutes) 2) Roadmap Progress / Release Planning (10 minutes) 3) Tom's Corner (35 minutes) 4) Public Q&amp;amp;A (5 minutes)&lt;br /&gt;
* [6:01 AM] Andrew Maitland: @PaulGrosse would you like to kick this off from the PR?&lt;br /&gt;
* [6:04 AM] Paul Grosse: Lets see, we've had some books cleared for release, theres a pile of them that I will be getting to next week while wife is on vacation. :)&lt;br /&gt;
* [6:05 AM] Paul Grosse: We've had a good response from the call for help, and there's been a trickle of volunteers coming in&lt;br /&gt;
* [6:06 AM] Paul Grosse: I need to update the news page on the 6.07.06 release while the ability to update the webpage was broken&lt;br /&gt;
* [6:06 AM] Paul Grosse: I think that's it for me&lt;br /&gt;
* [6:07 AM] Bryan McRoberts: Nice&lt;br /&gt;
* [6:07 AM] Andrew Maitland: Any plans for convention presence this year?&lt;br /&gt;
* [6:09 AM] Paul Grosse: GenCon is already out we would have had to sign up last year&lt;br /&gt;
* [6:10 AM] Andrew Maitland: Okay, when would we need to plan for 2019's convention then?&lt;br /&gt;
* [6:10 AM] Paul Grosse: We almost have the funds already though if we want to aim for next year. Other then that there some other ones we could aim at.&lt;br /&gt;
* [6:11 AM] Andrew Maitland: Cool. I think we should encourage local volunteers to hit up their local area conventions to get to a wider audience if possible. :)&lt;br /&gt;
* [6:11 AM] Paul Grosse: GaryCon, Origins, a couple others I can't remember ATM&lt;br /&gt;
* [6:11 AM] Andrew Maitland: No booth necessary, just pass out flyers.&lt;br /&gt;
* [6:11 AM] Andrew Maitland: (or run games using PCGen created sheets).&lt;br /&gt;
* [6:12 AM] Paul Grosse: We could even cover a booth if they had a team to cover it, most cons are around 40-150ish for a booth depending on size&lt;br /&gt;
* [6:12 AM] Andrew Maitland: Okay, for the Content Team -&lt;br /&gt;
* [6:12 AM] Andrew Maitland: @GwenT and the data volunteers have been pounding out a solid stream of books to keep @PaulGrosse fairly busy. :)&lt;br /&gt;
* [6:13 AM] Andrew Maitland: @ReganAnderson is working on revamping the Sorcerer Bloodlines&lt;br /&gt;
* [6:14 AM] Bryan McRoberts: When is the next production release?&lt;br /&gt;
* [6:14 AM] Andrew Maitland: We'll hit that in a moment Bryan.&lt;br /&gt;
* [6:14 AM] Andrew Maitland: We've discovered they were not coded up correctly, and in order to properly handling the various archetypes, a major overhaul was required (The existing system was broken, and un-maintainable).&lt;br /&gt;
* [6:14 AM] Bryan McRoberts: That's a big undertaking by Regan&lt;br /&gt;
* [6:15 AM] Andrew Maitland: It is, but I've been supporting him and letting him tackle this project at his pace.&lt;br /&gt;
* [6:15 AM] Andrew Maitland: However, since we took a rather large chunk of Usability out, I've delayed the next release until we can include that back in.&lt;br /&gt;
* [6:16 AM] Andrew Maitland: I updated our Saga Born data and connected Output sheets to the delight of one of our Publishers.&lt;br /&gt;
* [6:16 AM] Paul Grosse: :)&lt;br /&gt;
* [6:16 AM] Bryan McRoberts: Very cool!&lt;br /&gt;
* [6:17 AM] Andrew Maitland: Other than that, I've been handling bugs that are trickling in.&lt;br /&gt;
* [6:17 AM] Andrew Maitland: Any questions before we move on to Code team report from @TomParker ?&lt;br /&gt;
* [6:17 AM] Bryan McRoberts: Well done, data team! Paul - thanks for all your work with PR as well!&lt;br /&gt;
* [6:18 AM] Bryan McRoberts: What % done would you say the Sorcerer work is?&lt;br /&gt;
* [6:18 AM] Bryan McRoberts: Just ballpark&lt;br /&gt;
* [6:19 AM] Andrew Maitland: With APG, CR and UM pretty completed, supporting the Eldritch feats, and Crossblooded, leaving only the Wildblooded, I'd say 80-90% since I'm not the one doing the work.&lt;br /&gt;
* [6:20 AM] Bryan McRoberts: Excellent&lt;br /&gt;
* [6:20 AM] Gwen T: Sorry I'm late. Over slept&lt;br /&gt;
* [6:20 AM] Bryan McRoberts: GM Gwen&lt;br /&gt;
* [6:21 AM] Andrew Maitland: Morning Gwen&lt;br /&gt;
* [6:21 AM] Gwen T: Good Morning... or it will be when coffee finishes brewing. :p&lt;br /&gt;
* [6:21 AM] Andrew Maitland: Okay @TomParker code team is probably going to cover agenda #2 and #3 as well, so feel free to hit on all of those. :)&lt;br /&gt;
* [6:22 AM] Tom Parker: Continuing work to simplify the core infrastructure - a bunch of internal changes there that don't really appear externally&lt;br /&gt;
* [6:22 AM] Tom Parker: but have removed a lot of one-off cases in the code&lt;br /&gt;
* [6:23 AM] Bryan McRoberts: Nice&lt;br /&gt;
* [6:23 AM] Tom Parker: Have a bit of an issue at the moment that's preventing us from retiring the &amp;quot;built-in&amp;quot; default race&lt;br /&gt;
* [6:23 AM] Tom Parker: Effectively, FACT / FACTSET leak between loaded game modes/campaigns&lt;br /&gt;
* [6:24 AM] Tom Parker: which could cause issues if things are swapped in and out, especially if one of the campaigns causes a FACT to be required&lt;br /&gt;
* [6:25 AM] Tom Parker: That's going to gate other things on my end until I get it addressed, since the fix will likely be a bit invasive to a number of places in the code&lt;br /&gt;
* [6:25 AM] Tom Parker: The new formula system is doing work behind the scenes already, so we know it works to the first order&lt;br /&gt;
* [6:25 AM] Tom Parker: (FACE is currently done for all game modes, for example, even if it's not apparent to the data team)&lt;br /&gt;
* [6:25 AM] martijnverburg: Sorry I’m late - toddler battles!&lt;br /&gt;
* [6:26 AM] Bryan McRoberts: Martijn - lol&lt;br /&gt;
* [6:27 AM] Tom Parker: Speaking of which. ... Martijn has been suggesting some use of DI, but given that we are so heavily data driven, that is a huge challenge.... I rapidly hit the point where a DI framework is unusable or unruly... so could use a more detailed discussion with Martijn (and others who want to participate) at some point&lt;br /&gt;
* [6:27 AM] Bryan McRoberts: Tom - would the leak gate a production release? Or has this not been folded into the master branch yet?&lt;br /&gt;
* [6:27 AM] Tom Parker: The leak is in master&lt;br /&gt;
* [6:27 AM] Tom Parker: has been for a long time actually&lt;br /&gt;
* [6:27 AM] Tom Parker: It shouldn't gate another 6.7.x release&lt;br /&gt;
* [6:28 AM] Tom Parker: but should probably gate a 6.8&lt;br /&gt;
* [6:28 AM] Bryan McRoberts: Ok&lt;br /&gt;
* [6:28 AM] Tom Parker: On the bug front, have addressed some of those, and Marco (one of the new folks that has helped out) diagnosed a few of them to where it appeared to be a data issue&lt;br /&gt;
* [6:30 AM] martijnverburg: Yeah I need to understand the code better before making spurious suggestions&lt;br /&gt;
* [6:30 AM] Tom Parker: On the new volunteer front for code engagement and retention is a bit of an issue.  There aren't a lot of &amp;quot;easy projects&amp;quot; around, and I can point people at some bugs to go look at to start to get familiar with things but that doesn't always lead to them actually looking&lt;br /&gt;
* [6:32 AM] Tom Parker: On the wider side of things, there are updated docs on the formula system on the wiki&lt;br /&gt;
* [6:32 AM] Tom Parker: As well as a proposal on the CHOOSE replacement (which will need to be tweaked a bit, but gives the general sense for now)&lt;br /&gt;
* [6:33 AM] Tom Parker: The new developer startup page is also updated, with a review and some feedback from folks as well&lt;br /&gt;
* [6:33 AM] Tom Parker: If anyone has other things to consider for how it might keep (or get) people engaged, let me know&lt;br /&gt;
* [6:34 AM] Andrew Maitland: Should we list out useful projects for people to look at?&lt;br /&gt;
* [6:35 AM] Andrew Maitland: Like a roadmap with the subtasks looking to accomplish perhaps?&lt;br /&gt;
* [6:35 AM] Gwen T: I'd like to see one of our &amp;quot;splash screens&amp;quot; that pop up while loading used for recruitment&lt;br /&gt;
* [6:36 AM] Tom Parker: I think the question is what level of detail is needed&lt;br /&gt;
* [6:36 AM] Tom Parker: not sure I know, so it needs to be more of a discussion with folks&lt;br /&gt;
* [6:37 AM] Tom Parker: otherwise I'm just writing tons of stuff down for no effect&lt;br /&gt;
* [6:37 AM] Tom Parker: As far as the splash screen, I'd be cautious about driving more recruitment if we can't retain - we should try to figure out how to retain the trickle we have now before we open a flood gate&lt;br /&gt;
* [6:37 AM] Tom Parker: Not sure I have anything else for today&lt;br /&gt;
* [6:38 AM] Bryan McRoberts: Is the new developer document on the wiki?&lt;br /&gt;
* [6:38 AM] Andrew Maitland: Based upon current code gates to the formula system, where do we see the next production release potentially happening?&lt;br /&gt;
* [6:38 AM] Avilay: is there a way to sort of tasks according to urgency?&lt;br /&gt;
* [6:39 AM] Andrew Maitland: Avilay - in Jira yes, on the wiki, it's however they are listed out.&lt;br /&gt;
* [6:39 AM] Tom Parker: http://wiki.pcgen.org/Basic_Developer_Setup&lt;br /&gt;
* [6:39 AM] Tom Parker: JIRA though it a LONG list of items&lt;br /&gt;
* [6:39 AM] Tom Parker: with lots of mixes of complexity&lt;br /&gt;
* [6:40 AM] Tom Parker: The problem being we don't know the skill set of devs coming in - we've dealt with all levels&lt;br /&gt;
* [6:40 AM] Bryan McRoberts: I don't see a link to that on the main wiki page&lt;br /&gt;
* [6:40 AM] Gwen T: @AndrewMaitland When we port to Stride, we should look at getting Trillo boards for that!&lt;br /&gt;
* [6:40 AM] Tom Parker: Someone who is new to Java probably can't take on a deep diagnosis&lt;br /&gt;
* [6:42 AM] Andrew Maitland: I think the retention is at least a two-fold problem&lt;br /&gt;
* [6:42 AM] Tom Parker: I'm not sure how to do that balancing without a conversation with those folks, but when I've tended to ask questions about skills et al, so I have a sense of where to start, that seems to drive some away, and at times it feels others go silent when I don't assume they know what they are doing (because they may be an experienced dev but I really don't know that)&lt;br /&gt;
* [6:43 AM] Andrew Maitland: Getting set up seems to be a big hurdle (I cannot get set up with the newest Eclipse) as an example. And then getting them plugged into an easy communication with the teams seems to be another part.&lt;br /&gt;
* [6:43 AM] martijnverburg: I think a basic tutorial could be written on getting a piece of data from a LST file through to the UI and exported to a character sheet&lt;br /&gt;
* [6:44 AM] Tom Parker: @MartijnVerburg Fair point.  Part of the challenge being there are a few ways to do it today - one strategic, and some legacy&lt;br /&gt;
* [6:45 AM] Tom Parker: I will at least write up the two primary ones&lt;br /&gt;
* [6:45 AM] Bryan McRoberts: Martijn - great idea. Something that explains a bonus that has a prereq and how it gets to a character sheet and UI would take a dev through the main functions of the code.&lt;br /&gt;
* [6:45 AM] Bryan McRoberts: Same for the new formula code&lt;br /&gt;
* [6:45 AM] martijnverburg: Yeah I’ll admit I’m lost on the legacy way vs current way vs proposed future way&lt;br /&gt;
* [6:46 AM] Bryan McRoberts: As Andrew noted, making sure the new dev instructions gets someone up and running fairly quickly is paramount&lt;br /&gt;
* [6:46 AM] Tom Parker: All a great point.  Barring some major issue, I will write that this week&lt;br /&gt;
* [6:47 AM] Bryan McRoberts: I'd be a good guinea pig.  My build was working, I did an update and now it's broken and I haven't had/made time to figure it out.&lt;br /&gt;
* [6:47 AM] martijnverburg: I’ll happily review / try it out as well - happy to write some as well if that helps with the load&lt;br /&gt;
* [6:48 AM] Tom Parker: @BryanMcRoberts There are a few situations where an update can break things, and I think you joined when we did one of them&lt;br /&gt;
* [6:48 AM] Tom Parker: sorry, LOL not joined&lt;br /&gt;
* [6:48 AM] Tom Parker: brought up your dev environment :)&lt;br /&gt;
* [6:48 AM] Bryan McRoberts: right :)&lt;br /&gt;
* [6:48 AM] Tom Parker: So you may need to delete the project and re-import it as a new Gradle project to get Gradle to behave&lt;br /&gt;
* [6:49 AM] Tom Parker: (so delete from eclipse but not from the disk)&lt;br /&gt;
* [6:49 AM] Bryan McRoberts: ah&lt;br /&gt;
* [6:49 AM] martijnverburg: 👍&lt;br /&gt;
* [6:50 AM] Tom Parker: I removed a few key files from git that Gradle can now consistently build correctly, and that breaks you if you didn't realize the impact&lt;br /&gt;
* [6:50 AM] Tom Parker: Thankfully those types of rebuild events are rare&lt;br /&gt;
* [6:51 AM] Bryan McRoberts: cool&lt;br /&gt;
* [6:52 AM] Tom Parker: If it doesn't work for you let me know and we can try to find some time to walk through what is misbehaving&lt;br /&gt;
* [6:52 AM] Bryan McRoberts: ok - thanks&lt;br /&gt;
* [6:53 AM] Tom Parker: Any other questions or suggestions ?&lt;br /&gt;
* [6:53 AM] Andrew Maitland: Tom - on the Jira side, I enabled tasks for data, which allows for sub issues inside on main issue.&lt;br /&gt;
* [6:53 AM] Andrew Maitland: Would that be helpful for the code and new tag projects?&lt;br /&gt;
* [6:54 AM] Tom Parker: My sense if probably not, but I'll think about it.  For the few times I've needed that I've just created a Mini-Project and linked the issues together&lt;br /&gt;
* [6:54 AM] Bryan McRoberts: Not from me - great work on the code, Tom.  Hopefully Martijn, I and others can become more productive to lessen the load on you.&lt;br /&gt;
* [6:54 AM] Andrew Maitland: And the last question Bryan had that we don't have answer for - Production Release?&lt;br /&gt;
* [6:55 AM] Bryan McRoberts: Drum roll....&lt;br /&gt;
* [6:55 AM] Tom Parker: So my big gates&lt;br /&gt;
* [6:55 AM] Tom Parker: FACT / FACTSET needs fixing&lt;br /&gt;
* [6:56 AM] Tom Parker: GROUPING needs fixing, since it's a nasty inner class hack at the moment&lt;br /&gt;
* [6:56 AM] Tom Parker: I need to fix a Scope/Format issue that impacts what is currently dropIntoContext&lt;br /&gt;
* [6:57 AM] Tom Parker: and in the process of changing that convert to getOther instead (better semantics)&lt;br /&gt;
* [6:57 AM] Tom Parker: the latter two are needed so we don't end up with MODIFY/MODIFYOTHER statements that I immediately need to break -&lt;br /&gt;
* [6:57 AM] Tom Parker: that should all happen in one Alpha cycle&lt;br /&gt;
* [6:58 AM] Tom Parker: The GROUPING item is done, but about 4th in line on my local system for pushing&lt;br /&gt;
* [6:58 AM] Tom Parker: (I have a HUGE set of interacting PRs, one of which turns out is gated by the FACT fix)&lt;br /&gt;
* [6:59 AM] Tom Parker: The Scope/Format fix has had a bunch of the work done in the Formula Library; let me look at whether it is already integrated&lt;br /&gt;
* [7:00 AM] Tom Parker: So Scope/Format is partially in the formula library&lt;br /&gt;
* [7:01 AM] Tom Parker: I have a few other PRs to go in there, but I try to integrate things that are incompatible interface changes one at a time into the master of PCGen, so avoid confusing myself too much :)&lt;br /&gt;
* [7:01 AM] Tom Parker: The other items I need are built, just not Pushed&lt;br /&gt;
* [7:01 AM] Tom Parker: So once I get the FACT thing down, it's probably a few weeks to get the rest pushed through.  80% of the work is done and I just get to do a slew of conflict resolution to create valid PRs&lt;br /&gt;
* [7:02 AM] Tom Parker: So maybe target moving to Beta in April?&lt;br /&gt;
* [7:03 AM] Andrew Maitland: Wow, that's faster than I anticipated.&lt;br /&gt;
* [7:03 AM] Andrew Maitland: I guess the better question is what do we expect in the next production release.&lt;br /&gt;
* [7:03 AM] Tom Parker: That's a fair question, actually&lt;br /&gt;
* [7:04 AM] Tom Parker: The April statement is about as fast as I can do it&lt;br /&gt;
* [7:04 AM] Andrew Maitland: If we want single gamemode conversion, then I'm probably going to need a couple of months at least.&lt;br /&gt;
* [7:05 AM] Tom Parker: Yea, I'm not sure everything you need for that is April&lt;br /&gt;
* [7:05 AM] Tom Parker: I was answering &amp;quot;If you need to get stuff stable enough to be usable, what would it be&amp;quot;&lt;br /&gt;
* [7:05 AM] Tom Parker: Not &amp;quot;If PF conversion will be complete, what is the date&amp;quot;&lt;br /&gt;
* [7:06 AM] Tom Parker: At the same time, I'm not sure we should get a full conversion done&lt;br /&gt;
* [7:06 AM] Tom Parker: There are 2 or 3, perhaps 4 changes that are very likely to break PCs&lt;br /&gt;
* [7:06 AM] Andrew Maitland: Question to the group - Push out a stable 6.08 quickly, and focus on Code Formula completion and data conversion for a 6.10?&lt;br /&gt;
* [7:06 AM] Tom Parker: The problem being that PCGen today discards information based on how it stores PCs&lt;br /&gt;
* [7:07 AM] Tom Parker: A classic example is Domain is only loosely stored to the Class... but it's hard to do a dual class with two Domains&lt;br /&gt;
* [7:07 AM] Bryan McRoberts: It'd be nice to get a prod release out since it's been so long and a lot of data work has been done.&lt;br /&gt;
* [7:07 AM] Andrew Maitland: Agreed.&lt;br /&gt;
* [7:07 AM] Tom Parker: When we fix that, the PCG file format  would need to change, and then we end up with a compatibility gap during load&lt;br /&gt;
* [7:07 AM] Tom Parker: The Domain one we probably just let break and people re-select the Domain - pretty innocent&lt;br /&gt;
* [7:07 AM] Tom Parker: But they become more invasive from there&lt;br /&gt;
* [7:08 AM] Bryan McRoberts: I don't think anyone would complain about a prod release soon-ish and another one in April/May.&lt;br /&gt;
* [7:08 AM] Tom Parker: I'm not prepared for one soon-ish&lt;br /&gt;
* [7:08 AM] Tom Parker: (under that definition of soon-ish)&lt;br /&gt;
* [7:08 AM] Bryan McRoberts: Ok - so there are current code issues gating a release from master?&lt;br /&gt;
* [7:09 AM] Tom Parker: The 3 I listed a bit ago&lt;br /&gt;
* [7:09 AM] Tom Parker: The &amp;quot;big gates&amp;quot;&lt;br /&gt;
* [7:09 AM] Andrew Maitland: We fix those 3, Push out a Production 6.08.00 May 15th, since we need at least 1 RC?&lt;br /&gt;
* [7:09 AM] Gwen T: I'd love to see a stable 6.8 as soon as reasonable. 2/3 of the issues I run across are because folks only like to use the &amp;quot;stable&amp;quot; versions. Currently, that's 6.06.01, released 2016-07-30&lt;br /&gt;
* [7:10 AM] Bryan McRoberts: Ok - I thought those were related to dev efforts aimed at an April release.&lt;br /&gt;
* [7:10 AM] Gwen T: We've killerd a lot of bugs since then!&lt;br /&gt;
* [7:10 AM] Tom Parker: Gwen has a good point&lt;br /&gt;
* [7:10 AM] Tom Parker: Andrew, I think it's better to call out early may for RC1&lt;br /&gt;
* [7:10 AM] Bryan McRoberts: Would it be work putting out just a data release?&lt;br /&gt;
* [7:10 AM] Tom Parker: and then go from there&lt;br /&gt;
* [7:11 AM] Andrew Maitland: Agreed, people don't touch the latest releases, and we get a lot of redundant reports.&lt;br /&gt;
* [7:11 AM] Tom Parker: We can't really do just a data release&lt;br /&gt;
* [7:11 AM] Tom Parker: the data is compatible with the current code, not the 6.6 code&lt;br /&gt;
* [7:11 AM] Bryan McRoberts: Ah&lt;br /&gt;
* [7:11 AM] Andrew Maitland: We can, but it gets sloppy... so a nice clean prod release&lt;br /&gt;
* [7:11 AM] Andrew Maitland: I'm still getting Starfinder 1.6 bug reports. :(&lt;br /&gt;
* [7:12 AM] Paul Grosse: And we are going to definitely want to have SF in the prod release. :)&lt;br /&gt;
* [7:12 AM] Andrew Maitland: Okay, Target May/June for 6.08.00 release.&lt;br /&gt;
* [7:12 AM] Bryan McRoberts: Sounds good&lt;br /&gt;
* [7:13 AM] Andrew Maitland: That means we drop Alpha and switch to Beta no later then end of April.&lt;br /&gt;
* [7:14 AM] Gwen T: That SHOULD allow for at least a couple RCs, if not a final version, in time for the summer conventions.&lt;br /&gt;
* [7:14 AM] Andrew Maitland: We've gone over time a bit, but any questions from anyone else before we close this up?&lt;br /&gt;
* [7:16 AM] Andrew Maitland: Thanks for coming everyone. Meeting adjourned - **Bangs Gavel**&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_02_24&amp;diff=4208</id>
		<title>Meeting 2018 02 24</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_02_24&amp;diff=4208"/>
		<updated>2018-02-24T17:04:59Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;''Attendance:'' * Benevolent Dictator - Bryan * Chair - Kar * Code - Tom * Content - Andrew * PR - Paul * Data 2nd - Gwen * Observer - Douglas * Observer - David  ''Summary:''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Attendance:''&lt;br /&gt;
* Benevolent Dictator - Bryan&lt;br /&gt;
* Chair - Kar&lt;br /&gt;
* Code - Tom&lt;br /&gt;
* Content - Andrew&lt;br /&gt;
* PR - Paul&lt;br /&gt;
* Data 2nd - Gwen&lt;br /&gt;
* Observer - Douglas&lt;br /&gt;
* Observer - David&lt;br /&gt;
&lt;br /&gt;
''Summary:''&lt;br /&gt;
* PR - Willing to support local volunteers for Conventions for 2018&lt;br /&gt;
* PR - No GenCon for 2018 planned&lt;br /&gt;
* PR - Will review Data Books waiting on queue&lt;br /&gt;
* Content - Fixing bugs and making publishers happy&lt;br /&gt;
* Code - Several GATE issues prevent any Production Release&lt;br /&gt;
* Code - Issues are fixed, just in a queue to be PR and reviewed&lt;br /&gt;
* Code - Will improve WIKI to get new developers up and running&lt;br /&gt;
* Roadmap - Target is May/June for Production release 6.08.00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Redacted Log===&lt;br /&gt;
* [6:00 AM] Andrew Maitland: Good morning all, welcome to the Board of Directors meeting&lt;br /&gt;
* [6:00 AM] Andrew Maitland: The agenda on the table for today is:&lt;br /&gt;
* [6:00 AM] Andrew Maitland: Agenda: 1) Team Reports (10 minutes) 2) Roadmap Progress / Release Planning (10 minutes) 3) Tom's Corner (35 minutes) 4) Public Q&amp;amp;A (5 minutes)&lt;br /&gt;
* [6:01 AM] Andrew Maitland: @PaulGrosse would you like to kick this off from the PR?&lt;br /&gt;
* [6:04 AM] Paul Grosse: Lets see, we've had some books cleared for release, theres a pile of them that I will be getting to next week while wife is on vacation. :)&lt;br /&gt;
* [6:05 AM] Paul Grosse: We've had a good response from the call for help, and there's been a trickle of volunteers coming in&lt;br /&gt;
* [6:06 AM] Paul Grosse: I need to update the news page on the 6.07.06 release while the ability to update the webpage was broken&lt;br /&gt;
* [6:06 AM] Paul Grosse: I think that's it for me&lt;br /&gt;
* [6:07 AM] Bryan McRoberts: Nice&lt;br /&gt;
* [6:07 AM] Andrew Maitland: Any plans for convention presence this year?&lt;br /&gt;
* [6:09 AM] Paul Grosse: GenCon is already out we would have had to sign up last year&lt;br /&gt;
* [6:10 AM] Andrew Maitland: Okay, when would we need to plan for 2019's convention then?&lt;br /&gt;
* [6:10 AM] Paul Grosse: We almost have the funds already though if we want to aim for next year. Other then that there some other ones we could aim at.&lt;br /&gt;
* [6:11 AM] Andrew Maitland: Cool. I think we should encourage local volunteers to hit up their local area conventions to get to a wider audience if possible. :)&lt;br /&gt;
* [6:11 AM] Paul Grosse: GaryCon, Origins, a couple others I can't remember ATM&lt;br /&gt;
* [6:11 AM] Andrew Maitland: No booth necessary, just pass out flyers.&lt;br /&gt;
* [6:11 AM] Andrew Maitland: (or run games using PCGen created sheets).&lt;br /&gt;
* [6:12 AM] Paul Grosse: We could even cover a booth if they had a team to cover it, most cons are around 40-150ish for a booth depending on size&lt;br /&gt;
* [6:12 AM] Andrew Maitland: Okay, for the Content Team -&lt;br /&gt;
* [6:12 AM] Andrew Maitland: @GwenT and the data volunteers have been pounding out a solid stream of books to keep @PaulGrosse fairly busy. :)&lt;br /&gt;
* [6:13 AM] Andrew Maitland: @ReganAnderson is working on revamping the Sorcerer Bloodlines&lt;br /&gt;
* [6:14 AM] Bryan McRoberts: When is the next production release?&lt;br /&gt;
* [6:14 AM] Andrew Maitland: We'll hit that in a moment Bryan.&lt;br /&gt;
* [6:14 AM] Andrew Maitland: We've discovered they were not coded up correctly, and in order to properly handling the various archetypes, a major overhaul was required (The existing system was broken, and un-maintainable).&lt;br /&gt;
* [6:14 AM] Bryan McRoberts: That's a big undertaking by Regan&lt;br /&gt;
* [6:15 AM] Andrew Maitland: It is, but I've been supporting him and letting him tackle this project at his pace.&lt;br /&gt;
* [6:15 AM] Andrew Maitland: However, since we took a rather large chunk of Usability out, I've delayed the next release until we can include that back in.&lt;br /&gt;
* [6:16 AM] Andrew Maitland: I updated our Saga Born data and connected Output sheets to the delight of one of our Publishers.&lt;br /&gt;
* [6:16 AM] Paul Grosse: :)&lt;br /&gt;
* [6:16 AM] Bryan McRoberts: Very cool!&lt;br /&gt;
* [6:17 AM] Andrew Maitland: Other than that, I've been handling bugs that are trickling in.&lt;br /&gt;
* [6:17 AM] Andrew Maitland: Any questions before we move on to Code team report from @TomParker ?&lt;br /&gt;
* [6:17 AM] Bryan McRoberts: Well done, data team! Paul - thanks for all your work with PR as well!&lt;br /&gt;
* [6:18 AM] Bryan McRoberts: What % done would you say the Sorcerer work is?&lt;br /&gt;
* [6:18 AM] Bryan McRoberts: Just ballpark&lt;br /&gt;
* [6:19 AM] Andrew Maitland: With APG, CR and UM pretty completed, supporting the Eldritch feats, and Crossblooded, leaving only the Wildblooded, I'd say 80-90% since I'm not the one doing the work.&lt;br /&gt;
* [6:20 AM] Bryan McRoberts: Excellent&lt;br /&gt;
* [6:20 AM] Gwen T: Sorry I'm late. Over slept&lt;br /&gt;
* [6:20 AM] Bryan McRoberts: GM Gwen&lt;br /&gt;
* [6:21 AM] Andrew Maitland: Morning Gwen&lt;br /&gt;
* [6:21 AM] Gwen T: Good Morning... or it will be when coffee finishes brewing. :p&lt;br /&gt;
* [6:21 AM] Andrew Maitland: Okay @TomParker code team is probably going to cover agenda #2 and #3 as well, so feel free to hit on all of those. :)&lt;br /&gt;
* [6:22 AM] Tom Parker: Continuing work to simplify the core infrastructure - a bunch of internal changes there that don't really appear externally&lt;br /&gt;
* [6:22 AM] Tom Parker: but have removed a lot of one-off cases in the code&lt;br /&gt;
* [6:23 AM] Bryan McRoberts: Nice&lt;br /&gt;
* [6:23 AM] Tom Parker: Have a bit of an issue at the moment that's preventing us from retiring the &amp;quot;built-in&amp;quot; default race&lt;br /&gt;
* [6:23 AM] Tom Parker: Effectively, FACT / FACTSET leak between loaded game modes/campaigns&lt;br /&gt;
* [6:24 AM] Tom Parker: which could cause issues if things are swapped in and out, especially if one of the campaigns causes a FACT to be required&lt;br /&gt;
* [6:25 AM] Tom Parker: That's going to gate other things on my end until I get it addressed, since the fix will likely be a bit invasive to a number of places in the code&lt;br /&gt;
* [6:25 AM] Tom Parker: The new formula system is doing work behind the scenes already, so we know it works to the first order&lt;br /&gt;
* [6:25 AM] Tom Parker: (FACE is currently done for all game modes, for example, even if it's not apparent to the data team)&lt;br /&gt;
* [6:25 AM] martijnverburg: Sorry I’m late - toddler battles!&lt;br /&gt;
* [6:26 AM] Bryan McRoberts: Martijn - lol&lt;br /&gt;
* [6:27 AM] Tom Parker: Speaking of which. ... Martijn has been suggesting some use of DI, but given that we are so heavily data driven, that is a huge challenge.... I rapidly hit the point where a DI framework is unusable or unruly... so could use a more detailed discussion with Martijn (and others who want to participate) at some point&lt;br /&gt;
* [6:27 AM] Bryan McRoberts: Tom - would the leak gate a production release? Or has this not been folded into the master branch yet?&lt;br /&gt;
* [6:27 AM] Tom Parker: The leak is in master&lt;br /&gt;
* [6:27 AM] Tom Parker: has been for a long time actually&lt;br /&gt;
* [6:27 AM] Tom Parker: It shouldn't gate another 6.7.x release&lt;br /&gt;
* [6:28 AM] Tom Parker: but should probably gate a 6.8&lt;br /&gt;
* [6:28 AM] Bryan McRoberts: Ok&lt;br /&gt;
* [6:28 AM] Tom Parker: On the bug front, have addressed some of those, and Marco (one of the new folks that has helped out) diagnosed a few of them to where it appeared to be a data issue&lt;br /&gt;
* [6:30 AM] martijnverburg: Yeah I need to understand the code better before making spurious suggestions&lt;br /&gt;
* [6:30 AM] Tom Parker: On the new volunteer front for code engagement and retention is a bit of an issue.  There aren't a lot of &amp;quot;easy projects&amp;quot; around, and I can point people at some bugs to go look at to start to get familiar with things but that doesn't always lead to them actually looking&lt;br /&gt;
* [6:32 AM] Tom Parker: On the wider side of things, there are updated docs on the formula system on the wiki&lt;br /&gt;
* [6:32 AM] Tom Parker: As well as a proposal on the CHOOSE replacement (which will need to be tweaked a bit, but gives the general sense for now)&lt;br /&gt;
* [6:33 AM] Tom Parker: The new developer startup page is also updated, with a review and some feedback from folks as well&lt;br /&gt;
* [6:33 AM] Tom Parker: If anyone has other things to consider for how it might keep (or get) people engaged, let me know&lt;br /&gt;
* [6:34 AM] Andrew Maitland: Should we list out useful projects for people to look at?&lt;br /&gt;
* [6:35 AM] Andrew Maitland: Like a roadmap with the subtasks looking to accomplish perhaps?&lt;br /&gt;
* [6:35 AM] Gwen T: I'd like to see one of our &amp;quot;splash screens&amp;quot; that pop up while loading used for recruitment&lt;br /&gt;
* [6:36 AM] Tom Parker: I think the question is what level of detail is needed&lt;br /&gt;
* [6:36 AM] Tom Parker: not sure I know, so it needs to be more of a discussion with folks&lt;br /&gt;
* [6:37 AM] Tom Parker: otherwise I'm just writing tons of stuff down for no effect&lt;br /&gt;
* [6:37 AM] Tom Parker: As far as the splash screen, I'd be cautious about driving more recruitment if we can't retain - we should try to figure out how to retain the trickle we have now before we open a flood gate&lt;br /&gt;
* [6:37 AM] Tom Parker: Not sure I have anything else for today&lt;br /&gt;
* [6:38 AM] Bryan McRoberts: Is the new developer document on the wiki?&lt;br /&gt;
* [6:38 AM] Andrew Maitland: Based upon current code gates to the formula system, where do we see the next production release potentially happening?&lt;br /&gt;
* [6:38 AM] Avilay: is there a way to sort of tasks according to urgency?&lt;br /&gt;
* [6:39 AM] Andrew Maitland: Avilay - in Jira yes, on the wiki, it's however they are listed out.&lt;br /&gt;
* [6:39 AM] Tom Parker: http://wiki.pcgen.org/Basic_Developer_Setup&lt;br /&gt;
* [6:39 AM] Tom Parker: JIRA though it a LONG list of items&lt;br /&gt;
* [6:39 AM] Tom Parker: with lots of mixes of complexity&lt;br /&gt;
* [6:40 AM] Tom Parker: The problem being we don't know the skill set of devs coming in - we've dealt with all levels&lt;br /&gt;
* [6:40 AM] Bryan McRoberts: I don't see a link to that on the main wiki page&lt;br /&gt;
* [6:40 AM] Gwen T: @AndrewMaitland When we port to Stride, we should look at getting Trillo boards for that!&lt;br /&gt;
* [6:40 AM] Tom Parker: Someone who is new to Java probably can't take on a deep diagnosis&lt;br /&gt;
* [6:42 AM] Andrew Maitland: I think the retention is at least a two-fold problem&lt;br /&gt;
* [6:42 AM] Tom Parker: I'm not sure how to do that balancing without a conversation with those folks, but when I've tended to ask questions about skills et al, so I have a sense of where to start, that seems to drive some away, and at times it feels others go silent when I don't assume they know what they are doing (because they may be an experienced dev but I really don't know that)&lt;br /&gt;
* [6:43 AM] Andrew Maitland: Getting set up seems to be a big hurdle (I cannot get set up with the newest Eclipse) as an example. And then getting them plugged into an easy communication with the teams seems to be another part.&lt;br /&gt;
* [6:43 AM] martijnverburg: I think a basic tutorial could be written on getting a piece of data from a LST file through to the UI and exported to a character sheet&lt;br /&gt;
* [6:44 AM] Tom Parker: @MartijnVerburg Fair point.  Part of the challenge being there are a few ways to do it today - one strategic, and some legacy&lt;br /&gt;
* [6:45 AM] Tom Parker: I will at least write up the two primary ones&lt;br /&gt;
* [6:45 AM] Bryan McRoberts: Martijn - great idea. Something that explains a bonus that has a prereq and how it gets to a character sheet and UI would take a dev through the main functions of the code.&lt;br /&gt;
* [6:45 AM] Bryan McRoberts: Same for the new formula code&lt;br /&gt;
* [6:45 AM] martijnverburg: Yeah I’ll admit I’m lost on the legacy way vs current way vs proposed future way&lt;br /&gt;
* [6:46 AM] Bryan McRoberts: As Andrew noted, making sure the new dev instructions gets someone up and running fairly quickly is paramount&lt;br /&gt;
* [6:46 AM] Tom Parker: All a great point.  Barring some major issue, I will write that this week&lt;br /&gt;
* [6:47 AM] Bryan McRoberts: I'd be a good guinea pig.  My build was working, I did an update and now it's broken and I haven't had/made time to figure it out.&lt;br /&gt;
* [6:47 AM] martijnverburg: I’ll happily review / try it out as well - happy to write some as well if that helps with the load&lt;br /&gt;
* [6:48 AM] Tom Parker: @BryanMcRoberts There are a few situations where an update can break things, and I think you joined when we did one of them&lt;br /&gt;
* [6:48 AM] Tom Parker: sorry, LOL not joined&lt;br /&gt;
* [6:48 AM] Tom Parker: brought up your dev environment :)&lt;br /&gt;
* [6:48 AM] Bryan McRoberts: right :)&lt;br /&gt;
* [6:48 AM] Tom Parker: So you may need to delete the project and re-import it as a new Gradle project to get Gradle to behave&lt;br /&gt;
* [6:49 AM] Tom Parker: (so delete from eclipse but not from the disk)&lt;br /&gt;
* [6:49 AM] Bryan McRoberts: ah&lt;br /&gt;
* [6:49 AM] martijnverburg: 👍&lt;br /&gt;
* [6:50 AM] Tom Parker: I removed a few key files from git that Gradle can now consistently build correctly, and that breaks you if you didn't realize the impact&lt;br /&gt;
* [6:50 AM] Tom Parker: Thankfully those types of rebuild events are rare&lt;br /&gt;
* [6:51 AM] Bryan McRoberts: cool&lt;br /&gt;
* [6:52 AM] Tom Parker: If it doesn't work for you let me know and we can try to find some time to walk through what is misbehaving&lt;br /&gt;
* [6:52 AM] Bryan McRoberts: ok - thanks&lt;br /&gt;
* [6:53 AM] Tom Parker: Any other questions or suggestions ?&lt;br /&gt;
* [6:53 AM] Andrew Maitland: Tom - on the Jira side, I enabled tasks for data, which allows for sub issues inside on main issue.&lt;br /&gt;
* [6:53 AM] Andrew Maitland: Would that be helpful for the code and new tag projects?&lt;br /&gt;
* [6:54 AM] Tom Parker: My sense if probably not, but I'll think about it.  For the few times I've needed that I've just created a Mini-Project and linked the issues together&lt;br /&gt;
* [6:54 AM] Bryan McRoberts: Not from me - great work on the code, Tom.  Hopefully Martijn, I and others can become more productive to lessen the load on you.&lt;br /&gt;
* [6:54 AM] Andrew Maitland: And the last question Bryan had that we don't have answer for - Production Release?&lt;br /&gt;
* [6:55 AM] Bryan McRoberts: Drum roll....&lt;br /&gt;
* [6:55 AM] Tom Parker: So my big gates&lt;br /&gt;
* [6:55 AM] Tom Parker: FACT / FACTSET needs fixing&lt;br /&gt;
* [6:56 AM] Tom Parker: GROUPING needs fixing, since it's a nasty inner class hack at the moment&lt;br /&gt;
* [6:56 AM] Tom Parker: I need to fix a Scope/Format issue that impacts what is currently dropIntoContext&lt;br /&gt;
* [6:57 AM] Tom Parker: and in the process of changing that convert to getOther instead (better semantics)&lt;br /&gt;
* [6:57 AM] Tom Parker: the latter two are needed so we don't end up with MODIFY/MODIFYOTHER statements that I immediately need to break -&lt;br /&gt;
* [6:57 AM] Tom Parker: that should all happen in one Alpha cycle&lt;br /&gt;
* [6:58 AM] Tom Parker: The GROUPING item is done, but about 4th in line on my local system for pushing&lt;br /&gt;
* [6:58 AM] Tom Parker: (I have a HUGE set of interacting PRs, one of which turns out is gated by the FACT fix)&lt;br /&gt;
* [6:59 AM] Tom Parker: The Scope/Format fix has had a bunch of the work done in the Formula Library; let me look at whether it is already integrated&lt;br /&gt;
* [7:00 AM] Tom Parker: So Scope/Format is partially in the formula library&lt;br /&gt;
* [7:01 AM] Tom Parker: I have a few other PRs to go in there, but I try to integrate things that are incompatible interface changes one at a time into the master of PCGen, so avoid confusing myself too much :)&lt;br /&gt;
* [7:01 AM] Tom Parker: The other items I need are built, just not Pushed&lt;br /&gt;
* [7:01 AM] Tom Parker: So once I get the FACT thing down, it's probably a few weeks to get the rest pushed through.  80% of the work is done and I just get to do a slew of conflict resolution to create valid PRs&lt;br /&gt;
* [7:02 AM] Tom Parker: So maybe target moving to Beta in April?&lt;br /&gt;
* [7:03 AM] Andrew Maitland: Wow, that's faster than I anticipated.&lt;br /&gt;
* [7:03 AM] Andrew Maitland: I guess the better question is what do we expect in the next production release.&lt;br /&gt;
* [7:03 AM] Tom Parker: That's a fair question, actually&lt;br /&gt;
* [7:04 AM] Tom Parker: The April statement is about as fast as I can do it&lt;br /&gt;
* [7:04 AM] Andrew Maitland: If we want single gamemode conversion, then I'm probably going to need a couple of months at least.&lt;br /&gt;
* [7:05 AM] Tom Parker: Yea, I'm not sure everything you need for that is April&lt;br /&gt;
* [7:05 AM] Tom Parker: I was answering &amp;quot;If you need to get stuff stable enough to be usable, what would it be&amp;quot;&lt;br /&gt;
* [7:05 AM] Tom Parker: Not &amp;quot;If PF conversion will be complete, what is the date&amp;quot;&lt;br /&gt;
* [7:06 AM] Tom Parker: At the same time, I'm not sure we should get a full conversion done&lt;br /&gt;
* [7:06 AM] Tom Parker: There are 2 or 3, perhaps 4 changes that are very likely to break PCs&lt;br /&gt;
* [7:06 AM] Andrew Maitland: Question to the group - Push out a stable 6.08 quickly, and focus on Code Formula completion and data conversion for a 6.10?&lt;br /&gt;
* [7:06 AM] Tom Parker: The problem being that PCGen today discards information based on how it stores PCs&lt;br /&gt;
* [7:07 AM] Tom Parker: A classic example is Domain is only loosely stored to the Class... but it's hard to do a dual class with two Domains&lt;br /&gt;
* [7:07 AM] Bryan McRoberts: It'd be nice to get a prod release out since it's been so long and a lot of data work has been done.&lt;br /&gt;
* [7:07 AM] Andrew Maitland: Agreed.&lt;br /&gt;
* [7:07 AM] Tom Parker: When we fix that, the PCG file format  would need to change, and then we end up with a compatibility gap during load&lt;br /&gt;
* [7:07 AM] Tom Parker: The Domain one we probably just let break and people re-select the Domain - pretty innocent&lt;br /&gt;
* [7:07 AM] Tom Parker: But they become more invasive from there&lt;br /&gt;
* [7:08 AM] Bryan McRoberts: I don't think anyone would complain about a prod release soon-ish and another one in April/May.&lt;br /&gt;
* [7:08 AM] Tom Parker: I'm not prepared for one soon-ish&lt;br /&gt;
* [7:08 AM] Tom Parker: (under that definition of soon-ish)&lt;br /&gt;
* [7:08 AM] Bryan McRoberts: Ok - so there are current code issues gating a release from master?&lt;br /&gt;
* [7:09 AM] Tom Parker: The 3 I listed a bit ago&lt;br /&gt;
* [7:09 AM] Tom Parker: The &amp;quot;big gates&amp;quot;&lt;br /&gt;
* [7:09 AM] Andrew Maitland: We fix those 3, Push out a Production 6.08.00 May 15th, since we need at least 1 RC?&lt;br /&gt;
* [7:09 AM] Gwen T: I'd love to see a stable 6.8 as soon as reasonable. 2/3 of the issues I run across are because folks only like to use the &amp;quot;stable&amp;quot; versions. Currently, that's 6.06.01, released 2016-07-30&lt;br /&gt;
* [7:10 AM] Bryan McRoberts: Ok - I thought those were related to dev efforts aimed at an April release.&lt;br /&gt;
* [7:10 AM] Gwen T: We've killerd a lot of bugs since then!&lt;br /&gt;
* [7:10 AM] Tom Parker: Gwen has a good point&lt;br /&gt;
* [7:10 AM] Tom Parker: Andrew, I think it's better to call out early may for RC1&lt;br /&gt;
* [7:10 AM] Bryan McRoberts: Would it be work putting out just a data release?&lt;br /&gt;
* [7:10 AM] Tom Parker: and then go from there&lt;br /&gt;
* [7:11 AM] Andrew Maitland: Agreed, people don't touch the latest releases, and we get a lot of redundant reports.&lt;br /&gt;
* [7:11 AM] Tom Parker: We can't really do just a data release&lt;br /&gt;
* [7:11 AM] Tom Parker: the data is compatible with the current code, not the 6.6 code&lt;br /&gt;
* [7:11 AM] Bryan McRoberts: Ah&lt;br /&gt;
* [7:11 AM] Andrew Maitland: We can, but it gets sloppy... so a nice clean prod release&lt;br /&gt;
* [7:11 AM] Andrew Maitland: I'm still getting Starfinder 1.6 bug reports. :(&lt;br /&gt;
* [7:12 AM] Paul Grosse: And we are going to definitely want to have SF in the prod release. :)&lt;br /&gt;
* [7:12 AM] Andrew Maitland: Okay, Target May/June for 6.08.00 release.&lt;br /&gt;
* [7:12 AM] Bryan McRoberts: Sounds good&lt;br /&gt;
* [7:13 AM] Andrew Maitland: That means we drop Alpha and switch to Beta no later then end of April.&lt;br /&gt;
* [7:14 AM] Gwen T: That SHOULD allow for at least a couple RCs, if not a final version, in time for the summer conventions.&lt;br /&gt;
* [7:14 AM] Andrew Maitland: We've gone over time a bit, but any questions from anyone else before we close this up?&lt;br /&gt;
* [7:16 AM] Andrew Maitland: Thanks for coming everyone. Meeting adjourned - **Bangs Gavel**&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_2018_01_13&amp;diff=4207</id>
		<title>Meeting 2018 01 13</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_2018_01_13&amp;diff=4207"/>
		<updated>2018-02-24T16:56:42Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: Created page with &amp;quot;''Attendance:'' * Chair - Bryan * Arch - Tom * Content - Gwen * PR - Paul * Observer - Several Team members and general users  ''Summary:'' * PCGen is still an active project...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Attendance:''&lt;br /&gt;
* Chair - Bryan&lt;br /&gt;
* Arch - Tom&lt;br /&gt;
* Content - Gwen&lt;br /&gt;
* PR - Paul&lt;br /&gt;
* Observer - Several Team members and general users&lt;br /&gt;
&lt;br /&gt;
''Summary:''&lt;br /&gt;
* PCGen is still an active project with an influx of old and new team members&lt;br /&gt;
* Java is still the prefered language because a re-write will take a large chunk of time&lt;br /&gt;
* Get Code team back up and running and implement Tom's Formula system&lt;br /&gt;
* Migrate server from Anestis to Stefan&lt;br /&gt;
* Start recruitment drive for Data, Code, Webmasters, Architecture, &amp;amp; Documentation&lt;br /&gt;
* Clean up and update documentation on contributing code and data, setting up dev environment&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Raw Log&amp;quot;&lt;br /&gt;
*[09:06] &amp;lt;Bryan&amp;gt; Yeah - let's get started&lt;br /&gt;
*[09:06] &amp;lt;Bryan&amp;gt; Let me grab the agenda from the meeting announcement&lt;br /&gt;
*[09:06] == Strato [535b3d8a@gateway/web/freenode/ip.83.91.61.138] has joined #pcgen&lt;br /&gt;
*[09:07] &amp;lt;Bryan&amp;gt; 1) Current PCGen Status - Are we still active or is it time to retire the project?&lt;br /&gt;
*[09:07] &amp;lt;Tom[Arch_SB]&amp;gt; df&lt;br /&gt;
*[09:07] &amp;lt;Gwen&amp;gt; I know the first issue we face is that there has been very little support of the project as a whole.&lt;br /&gt;
*[09:07] &amp;lt;Bryan&amp;gt; PCGen has been around for a long time.... 17+ years if my math is right.&lt;br /&gt;
*[09:08] &amp;lt;[OGL]Nylanfs&amp;gt; 20&lt;br /&gt;
*[09:08] &amp;lt;[OGL]Nylanfs&amp;gt; You first released in aug 1998 :)&lt;br /&gt;
*[09:08] &amp;lt;@Zaister&amp;gt; I'm sorry that I have been inactive recently - my job demand a lot more time than previously, but I still hope to keep contributing&lt;br /&gt;
*[09:08] &amp;lt;Bryan&amp;gt; Really??? Oh boy...&lt;br /&gt;
*[09:08] &amp;lt;Tom[Arch_SB]&amp;gt; :)&lt;br /&gt;
*[09:08] &amp;lt;Bryan&amp;gt; It's come a long way since I first posted it on ENWorld&lt;br /&gt;
*[09:08] == Strato_ [535b3d8a@gateway/web/freenode/ip.83.91.61.138] has joined #pcgen&lt;br /&gt;
*[09:09] &amp;lt;Bryan&amp;gt; A *lot* of people have contributed to it and made it *way* better than I could have ever on my own&lt;br /&gt;
*[09:09] &amp;lt;Bryan&amp;gt; I still use it for my own campaigns and clearly lots of other people do too&lt;br /&gt;
*[09:09] &amp;lt;karianna&amp;gt; I'm also constrained (as I foolishly took on the CEO role at my company), but have started a new D&amp;amp;D group with my Chief Scientist as a member and he's also willing to chip in a little.&lt;br /&gt;
*[09:09] &amp;lt;Gwen&amp;gt; Personally, I see our biggest need as recruitment of volunteers, both CODE and DATA.&lt;br /&gt;
*[09:10] &amp;lt;Bryan&amp;gt; To be active, we need people involved in each of the categories&lt;br /&gt;
*[09:10] &amp;lt;[OGL]Nylanfs&amp;gt; We got quite a bit of responses on the FB posts about it. Most were positive about keeping it running&lt;br /&gt;
*[09:10] &amp;lt;@Zaister&amp;gt; I can still work on both code and data&lt;br /&gt;
*[09:10] &amp;lt;Bryan&amp;gt; I think that having made the issue known that we need help, people have responded (myself included).&lt;br /&gt;
*[09:10] &amp;lt;Bryan&amp;gt; So it sounds like a resounding yes, let's remain active.&lt;br /&gt;
*[09:11] &amp;lt;karianna&amp;gt; There I can help for sure (Java recruitment), but we'll need to improve the CONTRIBUTING.md and wiki docs so that new coders know what parts of hte code base are legacy (don't touch) and what parts are new (along with a guide on how to contribute to that newness)&lt;br /&gt;
*[09:11] &amp;lt;Gwen&amp;gt; I'm happy to teach new data monkeys, if we can drum a few up who will last longer than a month ot so.&lt;br /&gt;
*[09:11] &amp;lt;@Zaister&amp;gt; I'M all for it&lt;br /&gt;
*[09:11] &amp;lt;Bryan&amp;gt; Karianna - very good points.&lt;br /&gt;
*[09:11] == Strato [535b3d8a@gateway/web/freenode/ip.83.91.61.138] has quit [Ping timeout: 260 seconds]&lt;br /&gt;
*[09:11] &amp;lt;Bryan&amp;gt; I just got reinvolved in the coding and it was a large hurdle to get to the point where I could debug/commit&lt;br /&gt;
*[09:11] &amp;lt;karianna&amp;gt; I'm willing to Pair with Tom and other coders to write those docs (I'm effectively a new developer to the project now)&lt;br /&gt;
*[09:11] &amp;lt;Bryan&amp;gt; That hurdle has to be lowered/removed.&lt;br /&gt;
*[09:12] &amp;lt;@Zaister&amp;gt; yeah it's difficult to get in&lt;br /&gt;
*[09:12] &amp;lt;Bryan&amp;gt; Karianna - Andrew was very helpful, so you might pair with him.&lt;br /&gt;
*[09:12] &amp;lt;Bryan&amp;gt; If you could do that, let's improve that documentation as a high priority.&lt;br /&gt;
*[09:12] &amp;lt;karianna&amp;gt; Right, and the complexity is mostly needed because we're doing some formal methods of computer science graph modelling here amongst other things.&lt;br /&gt;
*[09:12] &amp;lt;karianna&amp;gt; Oh and LST is a turing complete language :-O&lt;br /&gt;
*[09:12] &amp;lt;@Zaister&amp;gt; cool&lt;br /&gt;
*[09:12] &amp;lt;Avilay&amp;gt; i going to be rather busy too for next 3 years as i be doing a double phd. but on sunday's i can get some time to work on pcgen and my other project&lt;br /&gt;
*[09:13] &amp;lt;Bryan&amp;gt; All in favor of PCGen remaining active, say Aye&lt;br /&gt;
*[09:13] &amp;lt;karianna&amp;gt; Aye!&lt;br /&gt;
*[09:13] &amp;lt;@Zaister&amp;gt; Aye&lt;br /&gt;
*[09:13] &amp;lt;Gwen&amp;gt; Aye!&lt;br /&gt;
*[09:13] &amp;lt;rfinch&amp;gt; Aye!&lt;br /&gt;
*[09:13] &amp;lt;[OGL]Nylanfs&amp;gt; Aye&lt;br /&gt;
*[09:13] &amp;lt;Avilay&amp;gt; definitely a YES&lt;br /&gt;
*[09:13] &amp;lt;Bryan&amp;gt; All opposed say Nay&lt;br /&gt;
*[09:14] &amp;lt;Tom[Arch_SB]&amp;gt; I'm Aye as well, just didn't type fast enough :P&lt;br /&gt;
*[09:14] &amp;lt;Avilay&amp;gt; bryan wants to retire. :p&lt;br /&gt;
*[09:14] &amp;lt;Bryan&amp;gt; Congatulations, the Ayes have it, so PCGen will remain active. :)&lt;br /&gt;
*[09:14] &amp;lt;Avilay&amp;gt; though i c++ coder camp, definitely not java&lt;br /&gt;
*[09:14] &amp;lt;@Zaister&amp;gt; good&lt;br /&gt;
*[09:14] &amp;lt;Bryan&amp;gt; 2) If #1 is Active, then restructure discussions and recruiting coders (Java or next gen C++/C#) OR retire the project and restart with new Language and Open Source License (LPGL is a bit restrictive, and was thought to be only for libraries according to others)&lt;br /&gt;
*[09:15] &amp;lt;Bryan&amp;gt; So is there any appetite for re-writing the project in a different language? This would be a massive effort.&lt;br /&gt;
*[09:15] &amp;lt;Tom[Arch_SB]&amp;gt; I really don't think language is the issue&lt;br /&gt;
*[09:15] &amp;lt;@Zaister&amp;gt; Restarting would certainly be interesting and would bring in opportunities for cleanup we'd not have otherwise&lt;br /&gt;
*[09:15] &amp;lt;Bryan&amp;gt; Tom, I agree.&lt;br /&gt;
*[09:16] &amp;lt;@Zaister&amp;gt; Java has the platform mobility advantage&lt;br /&gt;
*[09:16] &amp;lt;[OGL]Nylanfs&amp;gt; Right, but with volunteers only this could take a LOG time&lt;br /&gt;
*[09:16] &amp;lt;Tom[Arch_SB]&amp;gt; @Zaister... not sure.  If we really want a &amp;quot;hard fork&amp;quot; so to speak, we could just delete the code we don't like and fix what is then missing&lt;br /&gt;
*[09:16] &amp;lt;Tom[Arch_SB]&amp;gt; doesn't require dumping the language to do that&lt;br /&gt;
*[09:16] &amp;lt;@Zaister&amp;gt; however, Java keeps being problematic with HiDPI monitors&lt;br /&gt;
*[09:16] &amp;lt;Tom[Arch_SB]&amp;gt; (and I'm not advising that, just observing)&lt;br /&gt;
*[09:16] &amp;lt;karianna&amp;gt; That's all fixed in 9+&lt;br /&gt;
*[09:16] &amp;lt;karianna&amp;gt; That's all fixed in 9+ (monitor issues)&lt;br /&gt;
*[09:16] &amp;lt;Bryan&amp;gt; Restarting, even in the same language, would be a huge step back in functionality that would take a long time to catch up to where PCGen is now.&lt;br /&gt;
*[09:17] &amp;lt;@Zaister&amp;gt; oh, cool&lt;br /&gt;
*[09:17] &amp;lt;[OGL]Nylanfs&amp;gt; That's fixed if we redo the gui in JavaFX&lt;br /&gt;
*[09:17] &amp;lt;Tom[Arch_SB]&amp;gt; So that is one gap we have&lt;br /&gt;
*[09:17] &amp;lt;Gwen&amp;gt; Personally, I think a new language would be ideal, especially if it offers mobile options, BUT it should be a longer-term project. Fix what we have for now, while we develop in a newer language&lt;br /&gt;
*[09:17] &amp;lt;karianna&amp;gt; I've been involved in massive re-writes before and it almost never ends well&lt;br /&gt;
*[09:17] &amp;lt;Tom[Arch_SB]&amp;gt; UI design has never been an area I've coded&lt;br /&gt;
*[09:17] &amp;lt;Tom[Arch_SB]&amp;gt; Well, not well anyway ;)&lt;br /&gt;
*[09:17] &amp;lt;@Zaister&amp;gt; we could really  use app suppport these days&lt;br /&gt;
*[09:17] &amp;lt;[OGL]Nylanfs&amp;gt; I think there's an issue with Swing and 9+&lt;br /&gt;
*[09:18] &amp;lt;@Zaister&amp;gt; put ypour csheet on your mobile device, active temp bonuses on the fly etc&lt;br /&gt;
*[09:18] &amp;lt;@Zaister&amp;gt; that would be awesome&lt;br /&gt;
*[09:18] &amp;lt;[OGL]Nylanfs&amp;gt; There's a couple of indepentant app's thar import pcgen files or output&lt;br /&gt;
*[09:18] &amp;lt;@Zaister&amp;gt; yeah but probably static&lt;br /&gt;
*[09:18] == Luigi [beeccb44@gateway/web/freenode/ip.190.236.203.68] has quit [Quit: Page closed]&lt;br /&gt;
*[09:18] &amp;lt;rfinch&amp;gt; They do not allow for applying temp bonuses however, you need to export a copy of the sheet with them on and switch, its cludgey&lt;br /&gt;
*[09:18] &amp;lt;karianna&amp;gt; So Swing is no longer supported by Oracle (e.g. they won't fix or enhance it).  That said OpenFX / JavaFX is not necessarily well supported either (by a major vendor).&lt;br /&gt;
*[09:19] &amp;lt;Bryan&amp;gt; Zaister - that sounds like a separate app.&lt;br /&gt;
*[09:19] &amp;lt;@Zaister&amp;gt; yeah&lt;br /&gt;
*[09:19] &amp;lt;Tom[Arch_SB]&amp;gt; @Zaister - I think it's an open question whether there is enough need for overlap with the core code... yea, what Bryan just typed&lt;br /&gt;
*[09:19] &amp;lt;Bryan&amp;gt; I think PCGen itself needs to be focused on the PC&lt;br /&gt;
*[09:19] &amp;lt;@Zaister&amp;gt; so it would be advantageous to use a code base that couls be used for mobile devices somehow&lt;br /&gt;
*[09:19] &amp;lt;Bryan&amp;gt; And we can have someone who is interested write an app for that functionality&lt;br /&gt;
*[09:19] &amp;lt;karianna&amp;gt; One option is that if the API is well defined enough we can use a JSON Binding/Parsing Lib like Jackson and an embedded web server like Jetty/Tomcat and Voila we could build a browser based UI for PCGen that can run from a desktop&lt;br /&gt;
*[09:19] &amp;lt;@Zaister&amp;gt; ah good idea&lt;br /&gt;
*[09:19] &amp;lt;Bryan&amp;gt; Karianna - excellent idea&lt;br /&gt;
*[09:20] &amp;lt;Gwen&amp;gt; PC focus is what I'm planning for the next several source. LITE versions that only include the info for &amp;quot;official&amp;quot; PC races.&lt;br /&gt;
*[09:20] &amp;lt;karianna&amp;gt; Browser based will be an easier skill set to recruit for and we could then also HTML5 app it for mobile and run PCGen as a service&lt;br /&gt;
*[09:20] &amp;lt;karianna&amp;gt; grand ideas.&lt;br /&gt;
*[09:21] &amp;lt;Bryan&amp;gt; Does anyone have any questions or comments before we vote on whether or not to rewrite in another language?&lt;br /&gt;
*[09:21] &amp;lt;Avilay&amp;gt; concern: how to make ui for tiny screen, when we work with huge amount of information, and normally have pcgen window maxed at hd resolutions&lt;br /&gt;
*[09:21] &amp;lt;karianna&amp;gt; I think completing Tom's excellent work on formula and CDOM etc comes first though&lt;br /&gt;
*[09:21] &amp;lt;@Zaister&amp;gt; yes&lt;br /&gt;
*[09:21] &amp;lt;Gwen&amp;gt; Would the costs be higher for a browser-based version?&lt;br /&gt;
*[09:21] &amp;lt;Tom[Arch_SB]&amp;gt; define cost&lt;br /&gt;
*[09:21] &amp;lt;karianna&amp;gt; Avilay - progressive disclousre&lt;br /&gt;
*[09:22] &amp;lt;Bryan&amp;gt; Gwen, what costs are you referring to?&lt;br /&gt;
*[09:22] &amp;lt;Gwen&amp;gt; Bandwidth, server space, etc?&lt;br /&gt;
*[09:22] &amp;lt;Avilay&amp;gt; definitely have 2 sets of ui, one for mobile and one for hd screens&lt;br /&gt;
*[09:22] &amp;lt;Tom[Arch_SB]&amp;gt; probably more disk space&lt;br /&gt;
*[09:23] &amp;lt;[OGL]Nylanfs&amp;gt; Also if it were a service how would homebrew be handled?&lt;br /&gt;
*[09:23] &amp;lt;Tom[Arch_SB]&amp;gt; but I don't know enough to ballpark the difference&lt;br /&gt;
*[09:23] &amp;lt;Tom[Arch_SB]&amp;gt; Not sure this is a service as in online&lt;br /&gt;
*[09:23] &amp;lt;karianna&amp;gt; Nylanfs - upload your homebrew (with your user account)&lt;br /&gt;
*[09:23] &amp;lt;Bryan&amp;gt; This agenda item is 2-fold. Do we maintain/fix the existing code base (java) or rewrite (either in java or another language)&lt;br /&gt;
*[09:23] &amp;lt;Tom[Arch_SB]&amp;gt; I think karianna was proposing we use the browser but it targets a local web server&lt;br /&gt;
*[09:23] &amp;lt;Tom[Arch_SB]&amp;gt; Bryan, hold on one sec&lt;br /&gt;
*[09:23] &amp;lt;karianna&amp;gt; And Tom is correct, local user desktop browser first&lt;br /&gt;
*[09:24] &amp;lt;karianna&amp;gt; PCGen as a Service much later on&lt;br /&gt;
*[09:24] &amp;lt;Gwen&amp;gt; OR, are we talking about PCGen being a program that runs locally, but displays in a browser?&lt;br /&gt;
*[09:24] &amp;lt;karianna&amp;gt; Gwen - yes&lt;br /&gt;
*[09:24] &amp;lt;[OGL]Nylanfs&amp;gt; Ahh okay got it&lt;br /&gt;
*[09:24] &amp;lt;@Zaister&amp;gt; SAS would be problematic as we would have to offer it as a free service&lt;br /&gt;
*[09:24] &amp;lt;Gwen&amp;gt; Sorry, took me a second.&lt;br /&gt;
*[09:24] &amp;lt;karianna&amp;gt; No problem - I explained it poorly&lt;br /&gt;
*[09:25] == JOhn [4cd99f59@gateway/web/freenode/ip.76.217.159.89] has joined #pcgen&lt;br /&gt;
*[09:25] &amp;lt;Tom[Arch_SB]&amp;gt; ok, I think that clears it up enough, thanks for the pause Bryan&lt;br /&gt;
*[09:25] &amp;lt;@Zaister&amp;gt; ok&lt;br /&gt;
*[09:25] == JOhn has changed nick to Guest51542&lt;br /&gt;
*[09:25] &amp;lt;Avilay&amp;gt; homebrew on webserver based apps is going to be challenging&lt;br /&gt;
*[09:25] &amp;lt;Bryan&amp;gt; The question I'd like to pose is whether or not we want to maintain or abandon the current code-base.&lt;br /&gt;
*[09:25] &amp;lt;Bryan&amp;gt; In the short-term.&lt;br /&gt;
*[09:26] &amp;lt;karianna&amp;gt; It's a trick we use for jClarity.  We write the server/core code in Java, define the API in Java and auto generate a Javascript API via Jackson and various Java EE or Spring annotations.  Then the browser just thinks it's talkin to a Javascript backend&lt;br /&gt;
*[09:26] &amp;lt;Gwen&amp;gt; What benefits specifically would a local run/browser displayed version?&lt;br /&gt;
*[09:26] &amp;lt;Bryan&amp;gt; Long-term is a different animal.&lt;br /&gt;
*[09:26] &amp;lt;karianna&amp;gt; Bryan - I'd keep what we have&lt;br /&gt;
*[09:26] &amp;lt;@Zaister&amp;gt; I think so too&lt;br /&gt;
*[09:26] &amp;lt;karianna&amp;gt; Bryan - I'd keep what we have but document how to work in it and as Tom suggested on anotehr thread, start deleting the deprecated stuff&lt;br /&gt;
*[09:26] &amp;lt;karianna&amp;gt; There's 20 years of history in that code, very hard to reproduce that konwledge again&lt;br /&gt;
*[09:26] &amp;lt;Bryan&amp;gt; Ok - so all in favor of keeping our current code-base, say Aye&lt;br /&gt;
*[09:27] &amp;lt;Tom[Arch_SB]&amp;gt; same, but I'll need to learn from karianna here - outside my historical experience working with web UI&lt;br /&gt;
*[09:27] &amp;lt;@Zaister&amp;gt; migrating in place to newer stuff&lt;br /&gt;
*[09:27] &amp;lt;Tom[Arch_SB]&amp;gt; Aye&lt;br /&gt;
*[09:27] &amp;lt;[OGL]Nylanfs&amp;gt; Aye&lt;br /&gt;
*[09:27] &amp;lt;karianna&amp;gt; Aye&lt;br /&gt;
*[09:27] &amp;lt;Gwen&amp;gt; aye&lt;br /&gt;
*[09:27] &amp;lt;@Zaister&amp;gt; Aye&lt;br /&gt;
*[09:27] &amp;lt;Bryan&amp;gt; All opposed say Nay&lt;br /&gt;
*[09:27] &amp;lt;Bryan&amp;gt; Ok - so we keep the current code base, and Karianna's suggestion to delete deprecated code is excellent&lt;br /&gt;
*[09:28] &amp;lt;Tom[Arch_SB]&amp;gt; Can we delve into that for a minute?&lt;br /&gt;
*[09:28] &amp;lt;[OGL]Nylanfs&amp;gt; Yep, rip and fix what breaks. :)&lt;br /&gt;
*[09:28] &amp;lt;Bryan&amp;gt; Moving to a service based system can be on a future agenda&lt;br /&gt;
*[09:28] &amp;lt;karianna&amp;gt; If we move to Java 9 then we can use it's new deprecation system&lt;br /&gt;
*[09:28] &amp;lt;@Zaister&amp;gt; sounds good&lt;br /&gt;
*[09:28] &amp;lt;Tom[Arch_SB]&amp;gt; So on the deprecation, right now if we rip any of it out, things break&lt;br /&gt;
*[09:28] &amp;lt;karianna&amp;gt; Tom - yep, can you re outline what you said in the mail thread a few days ago?&lt;br /&gt;
*[09:29] &amp;lt;@Zaister&amp;gt; is there an openjdk for Java 9 yet?&lt;br /&gt;
*[09:29] &amp;lt;Tom[Arch_SB]&amp;gt; and we dont' always know what those things are (the deprecated code isn't 100% code coverage&lt;br /&gt;
*[09:29] &amp;lt;karianna&amp;gt; Zaister - yes&lt;br /&gt;
*[09:29] &amp;lt;@Zaister&amp;gt; good&lt;br /&gt;
*[09:29] &amp;lt;karianna&amp;gt; Zaister - I run the build farm for it :-)&lt;br /&gt;
*[09:29] &amp;lt;Tom[Arch_SB]&amp;gt; So any ripping involves replacing or we don't have working code&lt;br /&gt;
*[09:29] &amp;lt;@Zaister&amp;gt; ah :)&lt;br /&gt;
*[09:29] &amp;lt;@Zaister&amp;gt; karianna: I'm on Gentoo linux so I'll have to build it&lt;br /&gt;
*[09:29] &amp;lt;karianna&amp;gt; Tom - right, that's where the new deprecation system in Java 9 is super useful&lt;br /&gt;
*[09:30] &amp;lt;Tom[Arch_SB]&amp;gt; Up to this point, for the last probably 6 years anyway, we have kept one branch - always working code, no major fork with work&lt;br /&gt;
*[09:30] &amp;lt;Tom[Arch_SB]&amp;gt; So if that's going to change, it should be conscious&lt;br /&gt;
*[09:30] &amp;lt;karianna&amp;gt; you can annotate things as &amp;quot;We have a known good replacement&amp;quot;, &amp;quot;This is obsolete&amp;quot;, &amp;quot;This will be removed next release&amp;quot; so on and so forth&lt;br /&gt;
*[09:30] &amp;lt;@Zaister&amp;gt; cool&lt;br /&gt;
*[09:30] &amp;lt;karianna&amp;gt; Tom - I think we can still work on one branch&lt;br /&gt;
*[09:31] &amp;lt;karianna&amp;gt; Tom - I think we can still work on one pcgen canonical branch, as long as folks keep to the practice of brancjing locally and PR'ing from there&lt;br /&gt;
*[09:31] &amp;lt;Tom[Arch_SB]&amp;gt; @karianna okay, we'll have to talk on that, most of our stuff is replacement at a very high level - so will be interesting to learn how to tag stuff and how useful it would be&lt;br /&gt;
*[09:31] &amp;lt;Bryan&amp;gt; That's implementation details - let's stick to big picture items here&lt;br /&gt;
*[09:31] &amp;lt;@Zaister&amp;gt; yeah&lt;br /&gt;
*[09:31] &amp;lt;karianna&amp;gt; yep&lt;br /&gt;
*[09:31] &amp;lt;Tom[Arch_SB]&amp;gt; ok&lt;br /&gt;
*[09:31] &amp;lt;Bryan&amp;gt; I have to leave in 30 minutes, so I want to push things along :)&lt;br /&gt;
*[09:31] &amp;lt;Bryan&amp;gt; The next item Andrew had was team restructuring&lt;br /&gt;
*[09:32] &amp;lt;Bryan&amp;gt; Clearly the teams had become depleted, but the call for help has had some good success&lt;br /&gt;
*[09:32] &amp;lt;Bryan&amp;gt; So who are the data monkeys and their leadership?&lt;br /&gt;
*[09:32] &amp;lt;karianna&amp;gt; Gwen?&lt;br /&gt;
*[09:32] &amp;lt;@Zaister&amp;gt; I thing Doug is the leader&lt;br /&gt;
*[09:32] &amp;lt;Avilay&amp;gt; oki. so no migration from java&lt;br /&gt;
*[09:33] &amp;lt;Avilay&amp;gt; i continue lurker in the shadows watching :)&lt;br /&gt;
*[09:33] &amp;lt;Bryan&amp;gt; Avilay - correct, we're sticking with the current code base&lt;br /&gt;
*[09:33] &amp;lt;Gwen&amp;gt; I'm Data Second&lt;br /&gt;
*[09:33] &amp;lt;[OGL]Nylanfs&amp;gt; Andrew, Gwen, Regan, And a few others&lt;br /&gt;
*[09:34] &amp;lt;[OGL]Nylanfs&amp;gt; I'd have to check the data commits&lt;br /&gt;
*[09:34] &amp;lt;@Zaister&amp;gt; I do data too&lt;br /&gt;
*[09:34] &amp;lt;Bryan&amp;gt; It sounds like data is fairly active. Would you agree Gwen?&lt;br /&gt;
*[09:34] &amp;lt;Tom[Arch_SB]&amp;gt; I'm not sure I always know the real names vs the userids :)&lt;br /&gt;
*[09:34] &amp;lt;Gwen&amp;gt; Yes.&lt;br /&gt;
*[09:34] &amp;lt;Bryan&amp;gt; Tom - I sure don't know real names either!&lt;br /&gt;
*[09:35] &amp;lt;Bryan&amp;gt; Does anyone think the data team needs restructuring?&lt;br /&gt;
*[09:35] &amp;lt;Gwen&amp;gt; This week I finished Bestiary 4, Familiar Folio, and am almost done with a LITE version of Monster Codex&lt;br /&gt;
*[09:35] &amp;lt;Bryan&amp;gt; I'm impressed!  Thanks for all your effort!&lt;br /&gt;
*[09:35] &amp;lt;@Zaister&amp;gt; cool&lt;br /&gt;
*[09:36] &amp;lt;[OGL]Nylanfs&amp;gt; The data team will always have the highest amount of turn over&lt;br /&gt;
*[09:36] &amp;lt;Gwen&amp;gt; I had 2 weeks off of work....&lt;br /&gt;
*[09:36] &amp;lt;Avilay&amp;gt; i wish with java coders the best in updating pcgen&lt;br /&gt;
*[09:37] &amp;lt;Bryan&amp;gt; How many people here can be active on data, even if its just intermittent?&lt;br /&gt;
*[09:37] &amp;lt;@Zaister&amp;gt; here&lt;br /&gt;
*[09:37] &amp;lt;[OGL]Nylanfs&amp;gt; So keeping Andrew and lead (telling the monkeys what's needed) and Gwen picking up the odd pieces and user support in Hipchat has worked really well&lt;br /&gt;
*[09:37] &amp;lt;@Zaister&amp;gt; sounds good&lt;br /&gt;
*[09:37] &amp;lt;[OGL]Nylanfs&amp;gt; I'm been having a hard time conceptually with data since we started using categories :(&lt;br /&gt;
*[09:37] &amp;lt;Bryan&amp;gt; We need more than Andrew and Gwen.  Zaister can help. anyone else?&lt;br /&gt;
*[09:38] &amp;lt;Bryan&amp;gt; Sounds like a documentation issue, Nylanfs&lt;br /&gt;
*[09:38] &amp;lt;sethj11&amp;gt; i'd prefer to work on code, but i can learn data instead if that's needed&lt;br /&gt;
*[09:38] &amp;lt;Bryan&amp;gt; sethj11 - we'll circle back on that after we talk code team&lt;br /&gt;
*[09:39] &amp;lt;Tom[Arch_SB]&amp;gt; Bryan there are other data folks that just may not be here&lt;br /&gt;
*[09:39] &amp;lt;karianna&amp;gt; There seem to be a lot of data PR's - I'd argue it's pretty good progress&lt;br /&gt;
*[09:39] &amp;lt;Tom[Arch_SB]&amp;gt; What @karianna said&lt;br /&gt;
*[09:39] &amp;lt;Bryan&amp;gt; I'd like anyone who is willing to help with data to contact Andrew Maitland on HipChat/email/etc&lt;br /&gt;
*[09:39] &amp;lt;Gwen&amp;gt; I was wondering if we could add a recruitment ad to the download pages or to a PCGen loadscreen? We used it for years and didn't realize it was all volunteer until a couple years ago.&lt;br /&gt;
*[09:39] &amp;lt;karianna&amp;gt; The docs not being updated is a concern for me though - that LST documentation was a jewel in hte crown of PCGen&lt;br /&gt;
*[09:39] &amp;lt;Bryan&amp;gt; Lets talk documentation&lt;br /&gt;
*[09:39] &amp;lt;karianna&amp;gt; Gwen - great idea&lt;br /&gt;
*[09:40] &amp;lt;Bryan&amp;gt; As Karianna said, documentation is *very* important&lt;br /&gt;
*[09:40] &amp;lt;@Zaister&amp;gt; Sp we'd need to collect the changes and then update the docs. I could do that&lt;br /&gt;
*[09:40] &amp;lt;[OGL]Nylanfs&amp;gt; Yea Regan isn't here, there's at least two others that are fairly active that Ican't think of at the moment&lt;br /&gt;
*[09:40] &amp;lt;Bryan&amp;gt; And as Nylanfs indirectly said, it's important not just for users, but for coders and data monkeys as well&lt;br /&gt;
*[09:40] &amp;lt;Bryan&amp;gt; Do we have any formal documentation monkeys?&lt;br /&gt;
*[09:40] &amp;lt;Gwen&amp;gt; My 2 cents.... I use the LST Tag Index almost daily and it's a bit arcane and VERY out of date.&lt;br /&gt;
*[09:41] &amp;lt;@Zaister&amp;gt; I think Eric ist still lited as the doc monkey&lt;br /&gt;
*[09:41] &amp;lt;@Zaister&amp;gt; *listed&lt;br /&gt;
*[09:41] &amp;lt;Bryan&amp;gt; Any doc monkeys here?&lt;br /&gt;
*[09:41] &amp;lt;[OGL]Nylanfs&amp;gt; There isn't anybody actively working on docs&lt;br /&gt;
*[09:41] &amp;lt;@Zaister&amp;gt; I've done docs&lt;br /&gt;
*[09:41] &amp;lt;[OGL]Nylanfs&amp;gt; currently&lt;br /&gt;
*[09:41] &amp;lt;Bryan&amp;gt; Zaister - looks like you're nominated&lt;br /&gt;
*[09:41] &amp;lt;@Zaister&amp;gt; heh&lt;br /&gt;
*[09:42] &amp;lt;Bryan&amp;gt; Zaister - we need documentation for categories and update the out-of-date LST syntax&lt;br /&gt;
*[09:42] &amp;lt;Bryan&amp;gt; Gwen and data monkeys, please inform Zaister of any incorrect or incomplete LST documentation&lt;br /&gt;
*[09:42] &amp;lt;@Zaister&amp;gt; with categories you mean for ability objects?&lt;br /&gt;
*[09:42] &amp;lt;[OGL]Nylanfs&amp;gt; LiaungYip did have some good ideas on how to redo the documentation&lt;br /&gt;
*[09:42] &amp;lt;Bryan&amp;gt; Zaister - how do you prefer to be contacted?&lt;br /&gt;
*[09:42] &amp;lt;@Zaister&amp;gt; hipchat is probably easiest&lt;br /&gt;
*[09:42] &amp;lt;Bryan&amp;gt; Zaister - yeah categories on the ability objects&lt;br /&gt;
*[09:43] &amp;lt;Tom[Arch_SB]&amp;gt; Bryan - the data monkeys can do that, but there is another place to start&lt;br /&gt;
*[09:43] &amp;lt;karianna&amp;gt; I used to do docs, my issue is that I'm not familiar with the LST stuff anymore to update that side of things&lt;br /&gt;
*[09:43] &amp;lt;Tom[Arch_SB]&amp;gt; When we converted to JIRA, there is a specific workflow for creating tokens that impact data&lt;br /&gt;
*[09:43] &amp;lt;@Zaister&amp;gt; I'm usually online here too though&lt;br /&gt;
*[09:43] &amp;lt;Tom[Arch_SB]&amp;gt; Each of those has a state &amp;quot;documentation required&amp;quot; or some such... so any of the NEWTAG-X entries in that state mean doc updates are required&lt;br /&gt;
*[09:43] == Strato_ [535b3d8a@gateway/web/freenode/ip.83.91.61.138] has quit [Ping timeout: 260 seconds]&lt;br /&gt;
*[09:43] &amp;lt;Bryan&amp;gt; Ok - Zaister, do you have access to the PCGen JIRA?&lt;br /&gt;
*[09:43] &amp;lt;@Zaister&amp;gt; sure&lt;br /&gt;
*[09:44] &amp;lt;Bryan&amp;gt; Tickets can be created/tracked there.&lt;br /&gt;
*[09:44] &amp;lt;@Zaister&amp;gt; Bryan: I've been using that for years&lt;br /&gt;
*[09:44] &amp;lt;Bryan&amp;gt; Gwen and others - do you know how to create the tickets to track badly documented LST tokens?&lt;br /&gt;
*[09:44] &amp;lt;Gwen&amp;gt; So we use DOCUMENTATION in JIRA to alert @Zaister of LST doc issues?&lt;br /&gt;
*[09:44] &amp;lt;Gwen&amp;gt; Yes&lt;br /&gt;
*[09:44] &amp;lt;@Zaister&amp;gt; good&lt;br /&gt;
*[09:45] &amp;lt;Gwen&amp;gt; Well, I do. Not sure about others, but I can teach them if need be.&lt;br /&gt;
*[09:45] &amp;lt;Bryan&amp;gt; Okay - so Zaister is in charge of documentation.  Thanks for your willingness to help!&lt;br /&gt;
*[09:45] &amp;lt;@Zaister&amp;gt; Gwen: if you can, put the teaching on the wiki&lt;br /&gt;
*[09:45] &amp;lt;Bryan&amp;gt; I can't understate how important and crucial documentation is!&lt;br /&gt;
*[09:45] &amp;lt;[OGL]Nylanfs&amp;gt; I remember the first documentation you made for PCGen. :)&lt;br /&gt;
*[09:45] &amp;lt;Bryan&amp;gt; Gwen and others, as we come across documentation needs, create a ticket so Zaister knows what needs to be done and it can be tracked.&lt;br /&gt;
*[09:46] &amp;lt;Gwen&amp;gt; OK. I can do that! I'll get together with Andrew and set up a section to teach.&lt;br /&gt;
*[09:46] &amp;lt;Bryan&amp;gt; Nylanfs - no one needs to be reminded of that... :D&lt;br /&gt;
*[09:46] &amp;lt;@Zaister&amp;gt; cool&lt;br /&gt;
*[09:46] &amp;lt;Bryan&amp;gt; Lets try to recruit help for Zaister so we don't burn out a single monkey.&lt;br /&gt;
*[09:46] &amp;lt;Bryan&amp;gt; On to the code team&lt;br /&gt;
*[09:47] &amp;lt;Bryan&amp;gt; Tom - you're Code SB, are you willing and able to remain in charge of code?&lt;br /&gt;
*[09:47] &amp;lt;Tom[Arch_SB]&amp;gt; y&lt;br /&gt;
*[09:47] &amp;lt;@Zaister&amp;gt; Code is now merged with Arch, right?&lt;br /&gt;
*[09:47] &amp;lt;karianna&amp;gt; I think it should be yes&lt;br /&gt;
*[09:47] &amp;lt;Tom[Arch_SB]&amp;gt; I think that would be a good change yes&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; Arch can be a 2nd under Code just like Content has different 2nds&lt;br /&gt;
*[09:48] &amp;lt;@Zaister&amp;gt; yes&lt;br /&gt;
*[09:48] &amp;lt;Bryan&amp;gt; So we want a Code SB and an Arch SB?&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; No&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; Code SB&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; Arch 2nd&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; and Code 2nd&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; or some such&lt;br /&gt;
*[09:48] &amp;lt;Bryan&amp;gt; Ah&lt;br /&gt;
*[09:48] &amp;lt;Tom[Arch_SB]&amp;gt; if we have enough folks to cover those&lt;br /&gt;
*[09:49] &amp;lt;Tom[Arch_SB]&amp;gt; which means my nick is wrong ... ;)&lt;br /&gt;
*[09:49] &amp;lt;Bryan&amp;gt; So do you want to be Code SB or Arch 2nd?&lt;br /&gt;
*[09:49] == Tom[Arch_SB] has changed nick to Tom[Code_SB]&lt;br /&gt;
*[09:49] &amp;lt;@Zaister&amp;gt; I'm still available for code&lt;br /&gt;
*[09:49] &amp;lt;Bryan&amp;gt; lol&lt;br /&gt;
*[09:49] &amp;lt;Tom[Code_SB]&amp;gt; Code SB&lt;br /&gt;
*[09:49] &amp;lt;Bryan&amp;gt; Okay - that answers that :)&lt;br /&gt;
*[09:49] &amp;lt;Bryan&amp;gt; Karianna - any chance you could be Arch 2nd?&lt;br /&gt;
*[09:50] &amp;lt;Bryan&amp;gt; Who all can help with coding? I'm getting involved there again.&lt;br /&gt;
*[09:50] &amp;lt;karianna&amp;gt; I assume we want developer guide documentation to be GitHub based?&lt;br /&gt;
*[09:50] &amp;lt;karianna&amp;gt; starting with CONTRiBUTING.md?&lt;br /&gt;
*[09:50] &amp;lt;Bryan&amp;gt; Karianna - yes&lt;br /&gt;
*[09:51] &amp;lt;@Zaister&amp;gt; we also have the wiki&lt;br /&gt;
*[09:51] &amp;lt;Tom[Code_SB]&amp;gt; Yea, there is stuff under Architecture and Code on the wiki&lt;br /&gt;
*[09:51] &amp;lt;Tom[Code_SB]&amp;gt; and reading the developer meeting logs would be useful for folks&lt;br /&gt;
*[09:51] &amp;lt;Tom[Code_SB]&amp;gt; I think a lot of where we are/where we are going is there and we need to decide if it's worth rewriting that or just pointing to the log&lt;br /&gt;
*[09:51] &amp;lt;@Zaister&amp;gt; I think we maintain the wiki and point there from GitHub&lt;br /&gt;
*[09:52] &amp;lt;Avilay&amp;gt; i can give input on design (non-java), which would be little it seems from the wiki content i read&lt;br /&gt;
*[09:52] &amp;lt;Bryan&amp;gt; we can get into the specifics of roles, but let's stick to who-is-on-what-team for now&lt;br /&gt;
*[09:53] &amp;lt;Bryan&amp;gt; I have to leave in about 8 minutes... so let's nail down who is on the code team&lt;br /&gt;
*[09:53] &amp;lt;Bryan&amp;gt; you guys can continue the discussions after I leave...&lt;br /&gt;
*[09:53] &amp;lt;@Zaister&amp;gt; I'd like to keep being on there&lt;br /&gt;
*[09:53] &amp;lt;sethj11&amp;gt; I'd like to be on code team, though by wiki standards I'm like sub-lemur. Plus I'm learning Java.&lt;br /&gt;
*[09:54] &amp;lt;Bryan&amp;gt; I have a former co-worker who is willing to help as well with coding&lt;br /&gt;
*[09:54] &amp;lt;Tom[Code_SB]&amp;gt; @Avilay a lot of the arch stuff is really not code specific&lt;br /&gt;
*[09:54] &amp;lt;Tom[Code_SB]&amp;gt; but it does require understanding the concepts of what we need to do&lt;br /&gt;
*[09:54] &amp;lt;karianna&amp;gt; hello?&lt;br /&gt;
*[09:54] &amp;lt;Bryan&amp;gt; sethj11 - I'd like us to get the code to a place where a new java coder can make sense of the code&lt;br /&gt;
*[09:54] &amp;lt;Tom[Code_SB]&amp;gt; so there is opportunity there as well that is independent of code&lt;br /&gt;
*[09:54] &amp;lt;Bryan&amp;gt; Hi Harianna&lt;br /&gt;
*[09:54] &amp;lt;Bryan&amp;gt; I mean, Karianna...&lt;br /&gt;
*[09:55] &amp;lt;[OGL]Nylanfs&amp;gt; Kar, you mean based around submitting and using Github, as opposed to keeping the guide IN github?&lt;br /&gt;
*[09:55] &amp;lt;Avilay&amp;gt; @tom, that is what i referring to. the non-coding content i can work with&lt;br /&gt;
*[09:56] &amp;lt;Tom[Code_SB]&amp;gt; okay, we can find time to talk  - nice to have someone to bounce ideas/concerns off of&lt;br /&gt;
*[09:57] &amp;lt;Avilay&amp;gt; yep. i rather long time lurker in hipchat.&lt;br /&gt;
*[09:57] &amp;lt;Bryan&amp;gt; In any event, it seems that Andrew's concern was Tom was the only code monkey for quite some time.&lt;br /&gt;
*[09:57] &amp;lt;@Zaister&amp;gt; yeah as i said i war rather inactive for the last year&lt;br /&gt;
*[09:57] &amp;lt;@Zaister&amp;gt; *was&lt;br /&gt;
*[09:58] &amp;lt;Bryan&amp;gt; So the code team was in danger of becoming inactive, based solely on what time Tom had to offer (this is just volunteer effort!)&lt;br /&gt;
*[09:58] &amp;lt;Bryan&amp;gt; So now we have some new people who can help, which is great.&lt;br /&gt;
*[09:58] &amp;lt;[OGL]Nylanfs&amp;gt; Yes, with active code the data will largely sort itself out. :)&lt;br /&gt;
*[09:58] &amp;lt;Bryan&amp;gt; Karianna, if you could pair with Andrew and Tom to get new developer documentation put together, that would be tremendously important&lt;br /&gt;
*[09:58] == karianna [97e4f0e4@gateway/web/freenode/ip.151.228.240.228] has quit [Ping timeout: 260 seconds]&lt;br /&gt;
*[09:59] &amp;lt;Bryan&amp;gt; as we want to recruit more people and get them active without turning them off due to the difficulty of getting an env set up&lt;br /&gt;
*[09:59] &amp;lt;Bryan&amp;gt; We lost Karianna...&lt;br /&gt;
*[09:59] &amp;lt;@Zaister&amp;gt; Kar seem to have technical problems&lt;br /&gt;
*[09:59] &amp;lt;Bryan&amp;gt; Anyway - Tom, can you reach out to Karianna on the documentation for new developers? I had a lot of problems and Andrew was able to talk me through them.&lt;br /&gt;
*[10:00] &amp;lt;Tom[Code_SB]&amp;gt; yep&lt;br /&gt;
*[10:00] &amp;lt;Bryan&amp;gt; Other developers might have just given up, especially for a volunteer project.&lt;br /&gt;
*[10:00] &amp;lt;Bryan&amp;gt; Cool.&lt;br /&gt;
*[10:00] == karianna [~karianna@97e4f0e4.skybroadband.com] has joined #pcgen&lt;br /&gt;
*[10:00] &amp;lt;Bryan&amp;gt; That's all the time I have.  Thanks again everyone for all your effort and interest in PCGen!&lt;br /&gt;
*[10:00] &amp;lt;[OGL]Nylanfs&amp;gt; We want the entry as easy as possible, just like a pitcher plant&lt;br /&gt;
*[10:01] &amp;lt;Avilay&amp;gt; wb karianna&lt;br /&gt;
*[10:01] &amp;lt;@Zaister&amp;gt; Thanks fo moderating!&lt;br /&gt;
*[10:01] &amp;lt;Bryan&amp;gt; Karianna - reach out to Tom and Andrew to help with the new-developer-documentation&lt;br /&gt;
*[10:01] &amp;lt;Gwen&amp;gt; It sounds like our biggest hurdle in ALL the teams is recruitment. @Nylanfs can you handle that and, if so, what support/assistance do you need?&lt;br /&gt;
*[10:01] &amp;lt;karianna&amp;gt; Hmm, I missed the last 6 mins :-/, is there an archive view?&lt;br /&gt;
*[10:01] &amp;lt;Bryan&amp;gt; And if we can find some doc monkeys to help Zaister, that would be awesome.&lt;br /&gt;
*[10:01] == distant-scholar [ac066da2@gateway/web/freenode/ip.172.6.109.162] has joined #pcgen&lt;br /&gt;
*[10:01] &amp;lt;[OGL]Nylanfs&amp;gt; I have the log&lt;br /&gt;
*[10:01] &amp;lt;Bryan&amp;gt; People can be on more than one team (for those who want to help with data and code and documentation or some combination)&lt;br /&gt;
*[10:02] &amp;lt;[OGL]Nylanfs&amp;gt; Hiya Doug&lt;br /&gt;
*[10:02] &amp;lt;Bryan&amp;gt; I just should not ever have anything to do with documentation.&lt;br /&gt;
*[10:02] &amp;lt;distant-scholar&amp;gt; Hello, each.&lt;br /&gt;
*[10:02] &amp;lt;[OGL]Nylanfs&amp;gt; heh&lt;br /&gt;
*[10:02] &amp;lt;@Zaister&amp;gt; Bryan I've been &amp;quot;full stack&amp;quot; on PCGen for several years :)&lt;br /&gt;
*[10:02] &amp;lt;Bryan&amp;gt; Thanks again everyone!&lt;br /&gt;
*[10:02] &amp;lt;Bryan&amp;gt; @Zaister - awesome! I'll stick to code only...&lt;br /&gt;
*[10:02] &amp;lt;@Zaister&amp;gt; :)&lt;br /&gt;
*[10:02] &amp;lt;karianna&amp;gt; Thanks all - nice to see the renewed interest and support&lt;br /&gt;
*[10:02] &amp;lt;Avilay&amp;gt; thanx for coming bryan&lt;br /&gt;
*[10:03] &amp;lt;Bryan&amp;gt; You can keep discussing but I need to bow out. bye!&lt;br /&gt;
*[10:03] == karianna [~karianna@97e4f0e4.skybroadband.com]&lt;br /&gt;
*[10:03] ==  realname : Martijn Verburg&lt;br /&gt;
*[10:03] ==  channels : #pcgen&lt;br /&gt;
*[10:03] ==  server   : adams.freenode.net [Budapest, HU, EU]&lt;br /&gt;
*[10:03] == End of WHOIS&lt;br /&gt;
*[10:03] &amp;lt;Bryan&amp;gt; I'll leave myself logged in so I can read what was said...&lt;br /&gt;
*[10:03] &amp;lt;Bryan&amp;gt; afk&lt;br /&gt;
*[10:03] &amp;lt;[OGL]Nylanfs&amp;gt; So we need people for data, documentation, &amp;amp; code&lt;br /&gt;
*[10:04] &amp;lt;[OGL]Nylanfs&amp;gt; We also need to move the server.&lt;br /&gt;
*[10:04] &amp;lt;Avilay&amp;gt; &amp;lt;---- architecture/design stuff (no coding)&lt;br /&gt;
*[10:04] &amp;lt;Gwen&amp;gt; I'd also like some folks to help test what is being produced. No coding or programming experience needed!!&lt;br /&gt;
*[10:05] &amp;lt;Tom[Code_SB]&amp;gt; I think the server move needs to be high priority&lt;br /&gt;
*[10:05] &amp;lt;[OGL]Nylanfs&amp;gt; we have enough monthly donations come in that I think we can afford to pay for what we need&lt;br /&gt;
*[10:05] &amp;lt;Avilay&amp;gt; i always have the latest develop package&lt;br /&gt;
*[10:05] &amp;lt;[OGL]Nylanfs&amp;gt; Arch we need the people to already be familiar with the guts and not new volunteers&lt;br /&gt;
*[10:06] &amp;lt;Tom[Code_SB]&amp;gt; @Nylanfs not always&lt;br /&gt;
*[10:06] &amp;lt;[OGL]Nylanfs&amp;gt; at least that's how percieve it&lt;br /&gt;
*[10:06] &amp;lt;Tom[Code_SB]&amp;gt; &amp;quot;guts&amp;quot; is relative&lt;br /&gt;
*[10:06] &amp;lt;Tom[Code_SB]&amp;gt; Some of it is very conceptual software design work&lt;br /&gt;
*[10:06] &amp;lt;karianna&amp;gt; The server is on Anesitis’s hosting provider right?&lt;br /&gt;
*[10:06] &amp;lt;Tom[Code_SB]&amp;gt; I have these 16 requirements - which of the tradeoffs do we make architecturally&lt;br /&gt;
*[10:06] &amp;lt;Gwen&amp;gt; An aside.... Any donors that want data, like an ability, monster, etc... I'd be happy to hook them up. They support us, we should support them!&lt;br /&gt;
*[10:06] &amp;lt;Avilay&amp;gt; oki. no hassle then. remove me then&lt;br /&gt;
*[10:06] &amp;lt;Tom[Code_SB]&amp;gt; @karianna yes&lt;br /&gt;
*[10:07] &amp;lt;Tom[Code_SB]&amp;gt; Avilay, don't think you need to be removed&lt;br /&gt;
*[10:07] &amp;lt;Tom[Code_SB]&amp;gt; Let's talk before you make those decisions&lt;br /&gt;
*[10:07] &amp;lt;Tom[Code_SB]&amp;gt; so you can have a sense of what the issues are and what you need to know&lt;br /&gt;
*[10:08] &amp;lt;[OGL]Nylanfs&amp;gt; Mostly I was thinking that the arch person needs to be familiar with where we were and where we are going, which somebody new might not be familiar with&lt;br /&gt;
*[10:09] &amp;lt;Avilay&amp;gt; anyway. i busy with my own c++ pc manager project, just means i spend more time on it, and follow design concepts, etc of pcgen and use what can work for my project to solve my custom campaigns i play in&lt;br /&gt;
*[10:09] &amp;lt;Gwen&amp;gt; Oh! @Tom!! Andrew was discussing a move towards a more &amp;quot;agnostic&amp;quot; architechture.&lt;br /&gt;
*[10:09] == Rfinch-mob [2ed0086f@gateway/web/freenode/ip.46.208.8.111] has joined #pcgen&lt;br /&gt;
*[10:09] &amp;lt;Tom[Code_SB]&amp;gt; It can be really useful to have someone who doesn't know the guts and thus asks questions&lt;br /&gt;
*[10:09] &amp;lt;Tom[Code_SB]&amp;gt; since there is no assumption they can have about what it does today&lt;br /&gt;
*[10:10] &amp;lt;Tom[Code_SB]&amp;gt; @Gwen, not sure what that means...&lt;br /&gt;
*[10:10] &amp;lt;karianna&amp;gt; Zaister - were you volunteering to take over the server?  I forget.&lt;br /&gt;
*[10:10] &amp;lt;@Zaister&amp;gt; Yes I was, but I'm not sure I can get it all to run on my own&lt;br /&gt;
*[10:10] &amp;lt;[OGL]Nylanfs&amp;gt; He was, but I think needed the requirements of the server from Anestis?&lt;br /&gt;
*[10:10] &amp;lt;Gwen&amp;gt; He was saying it shouldn't be d20 based. That it should be able to handle a wider assortment of games.&lt;br /&gt;
*[10:10] &amp;lt;@Zaister&amp;gt; The old server uses CPanel&lt;br /&gt;
*[10:10] &amp;lt;Tom[Code_SB]&amp;gt; Right&lt;br /&gt;
*[10:11] &amp;lt;Tom[Code_SB]&amp;gt; yes, I agree.  I have systems I'd like to run in PCGen that I can't today&lt;br /&gt;
*[10:11] &amp;lt;Tom[Code_SB]&amp;gt; but it's &amp;quot;one step at a time&amp;quot;&lt;br /&gt;
*[10:11] &amp;lt;Tom[Code_SB]&amp;gt; @Zaister we can move one item at a time - did you get my instructions on what Jenkins needed?&lt;br /&gt;
*[10:11] &amp;lt;Gwen&amp;gt; I agree, but wanted to be sure that the Arch team is looking in that direction as they move forward.&lt;br /&gt;
*[10:11] &amp;lt;@Zaister&amp;gt; Tom: I think I have them somewhere, yes, but I haven't acted on them&lt;br /&gt;
*[10:12] &amp;lt;Tom[Code_SB]&amp;gt; @Gwen The new formula system gets pretty &amp;quot;agnostic&amp;quot; already...&lt;br /&gt;
*[10:12] &amp;lt;Tom[Code_SB]&amp;gt; The UI then becomes the constraint&lt;br /&gt;
*[10:12] &amp;lt;Tom[Code_SB]&amp;gt; Which is why a UI focus will be needed once we manage to rip out the old formula and export systems&lt;br /&gt;
*[10:12] &amp;lt;Tom[Code_SB]&amp;gt; I have ideas there, just held close to the vest so as to not set anyone's expectations it will come soon&lt;br /&gt;
*[10:13] &amp;lt;karianna&amp;gt; Zaister - what wuold you be hosting on?  Hetzner?&lt;br /&gt;
*[10:13] &amp;lt;[OGL]Nylanfs&amp;gt; We get between $5-20ish USD per month, which could be increased if we put out more calls for donating&lt;br /&gt;
*[10:13] &amp;lt;Tom[Code_SB]&amp;gt; What @karianna has talked about with the web UI would help a lot, and ... let's just say it's likely to work really well along the direction I was thinking we needed to go&lt;br /&gt;
*[10:13] &amp;lt;Gwen&amp;gt; No problem. Just trying to give Andrew a voice here. I only JUST understand the &amp;quot;agnostic&amp;quot; engine concept.&lt;br /&gt;
*[10:13] &amp;lt;@Zaister&amp;gt; karianna yes that is my hoster&lt;br /&gt;
*[10:14] &amp;lt;karianna&amp;gt; OK, we use them at jClarity - I like them&lt;br /&gt;
*[10:14] &amp;lt;karianna&amp;gt; If you’re happy providing me ssh access then I could help you with various migrations?&lt;br /&gt;
*[10:14] &amp;lt;karianna&amp;gt; I’m a fan of pairing on these things&lt;br /&gt;
*[10:14] &amp;lt;PapaDRB&amp;gt; exit&lt;br /&gt;
*[10:14] &amp;lt;karianna&amp;gt; My Chief Scientist (john) is also a bit of a devops guru&lt;br /&gt;
*[10:14] == PapaDRB [~Papa-DRB@pool-100-40-193-73.pghkny.fios.verizon.net] has quit [Quit: ~ Trillian Astra - www.trillian.im ~]&lt;br /&gt;
*[10:14] &amp;lt;@Zaister&amp;gt; yes, why not&lt;br /&gt;
*[10:14] &amp;lt;karianna&amp;gt; so he cna likely help&lt;br /&gt;
*[10:15] == Grimthorpe [522eb8a2@gateway/web/freenode/ip.82.46.184.162] has quit [Ping timeout: 260 seconds]&lt;br /&gt;
*[10:15] &amp;lt;karianna&amp;gt; Cool - do you have a box already setup or do we need to get one provisioned?&lt;br /&gt;
*[10:16] &amp;lt;@Zaister&amp;gt; basically I have two servers thre, an older one a nd a newer one. I've moved most of the stuff, ecept mail to my newer server, and so the older one could be used for PCGen I thought&lt;br /&gt;
*[10:16] &amp;lt;karianna&amp;gt; Cool, what are the specs?  And is it backed up :-D&lt;br /&gt;
*[10:16] &amp;lt;@Zaister&amp;gt; I can dig them out, and it's not yet backed up :)&lt;br /&gt;
*[10:18] &amp;lt;karianna&amp;gt; OK, let me know what the specs are and how much the backup will cost (IIRC Hetzner has a fairly crude facility for this, but we should enable it)&lt;br /&gt;
*[10:18] &amp;lt;karianna&amp;gt; You’re German timezone?&lt;br /&gt;
*[10:18] &amp;lt;@Zaister&amp;gt; yes&lt;br /&gt;
*[10:18] &amp;lt;sethj11&amp;gt; I need to bow out - where should I keep an eye out for any code monkey updates? I've got the wiki and the hipchat bookmarked already.&lt;br /&gt;
*[10:18] &amp;lt;Tom[Code_SB]&amp;gt; are you on the dev list?&lt;br /&gt;
*[10:19] &amp;lt;sethj11&amp;gt; not sure&lt;br /&gt;
*[10:19] &amp;lt;Tom[Code_SB]&amp;gt; That provides a level of persistence HipChat doesn't so things may end up there as well&lt;br /&gt;
*[10:19] &amp;lt;karianna&amp;gt; Zaister: Cool, I’m UK (although will be New Zealand for 3 weeks starting on the 18th), but perhaps we can start this week?  Can you do during the day at all?&lt;br /&gt;
*[10:19] &amp;lt;Tom[Code_SB]&amp;gt; pcgen_developers Yahoo group&lt;br /&gt;
*[10:19] &amp;lt;sethj11&amp;gt; okay, i'll join before the end of the day and keep an eye out there&lt;br /&gt;
*[10:19] &amp;lt;@Zaister&amp;gt; karianna yes that shoudlnt be a problem&lt;br /&gt;
*[10:19] &amp;lt;@Zaister&amp;gt; the old server is a VQ12&lt;br /&gt;
*[10:20] &amp;lt;@Zaister&amp;gt; Single core, 1GB Ram, 40 GB disk&lt;br /&gt;
*[10:20] &amp;lt;karianna&amp;gt; Hmm, OK I’m afraid that’s going to struggle to host PCGen reqs&lt;br /&gt;
*[10:20] &amp;lt;@Zaister&amp;gt; yeah i was afraid that could be the case&lt;br /&gt;
*[10:20] &amp;lt;karianna&amp;gt; JIRA will eat that alive by itself!&lt;br /&gt;
*[10:20] &amp;lt;@Zaister&amp;gt; oh&lt;br /&gt;
*[10:20] &amp;lt;Tom[Code_SB]&amp;gt; we use JIRA hosted by Atlassian&lt;br /&gt;
*[10:21] &amp;lt;@Zaister&amp;gt; arenÄt we in the cloud with jira&lt;br /&gt;
*[10:21] &amp;lt;karianna&amp;gt; That’s good to know&lt;br /&gt;
*[10:21] &amp;lt;karianna&amp;gt; So what actually needs shifting?&lt;br /&gt;
*[10:21] &amp;lt;karianna&amp;gt; website?&lt;br /&gt;
*[10:21] &amp;lt;Tom[Code_SB]&amp;gt; Wiki&lt;br /&gt;
*[10:21] &amp;lt;Tom[Code_SB]&amp;gt; build&lt;br /&gt;
*[10:21] &amp;lt;Tom[Code_SB]&amp;gt; the build will suck up that 1 GB pretty quick&lt;br /&gt;
*[10:21] &amp;lt;karianna&amp;gt; Yah build will kill it&lt;br /&gt;
*[10:21] &amp;lt;@Zaister&amp;gt; Well I moved off that server because I host several mediawikis&lt;br /&gt;
*[10:22] &amp;lt;@Zaister&amp;gt; Ok then we'll need another solution&lt;br /&gt;
*[10:22] &amp;lt;karianna&amp;gt; Do we know what the current server is?&lt;br /&gt;
*[10:22] &amp;lt;karianna&amp;gt; I assume only Anestis knows&lt;br /&gt;
*[10:23] &amp;lt;karianna&amp;gt; I wonder if Hetzner takes Paypal as well&lt;br /&gt;
*[10:23] &amp;lt;sethj11&amp;gt; i'm trying to join the yahoo group, but there seems to be an issue getting some content? I'll have to figure it out later. I'm out - thanks all and see you later!&lt;br /&gt;
*[10:23] &amp;lt;@Zaister&amp;gt; karianna I think so&lt;br /&gt;
*[10:23] == sethj11 [4915e9f2@gateway/web/freenode/ip.73.21.233.242] has quit [Quit: Page closed]&lt;br /&gt;
*[10:24] &amp;lt;@Zaister&amp;gt; however you have to pay manually each month then&lt;br /&gt;
*[10:24] &amp;lt;karianna&amp;gt; OK, I’ll ping anestis and see what he’s currently running&lt;br /&gt;
*[10:25] &amp;lt;Tom[Code_SB]&amp;gt; For the moment, even if we could just get the libraries up and running on that VQ12 it would let me shut down my Amazon image&lt;br /&gt;
*[10:25] &amp;lt;Avilay&amp;gt; i impressed that small server has served well over the years :)&lt;br /&gt;
*[10:25] == Rfinch-mob [2ed0086f@gateway/web/freenode/ip.46.208.8.111] has quit [Ping timeout: 260 seconds]&lt;br /&gt;
*[10:25] &amp;lt;Tom[Code_SB]&amp;gt; it can support that, since  I'm running on even less than that on the current VM&lt;br /&gt;
*[10:26] &amp;lt;@Zaister&amp;gt; I'll check your instructions to see if I can get that to run&lt;br /&gt;
*[10:26] &amp;lt;Tom[Code_SB]&amp;gt; cool&lt;br /&gt;
*[10:26] &amp;lt;Tom[Code_SB]&amp;gt; Okay, I'm going AFK as well... thanks all&lt;br /&gt;
*[10:27] &amp;lt;@Zaister&amp;gt; I'll use one of my parked domains for that for now&lt;br /&gt;
*[10:27] &amp;lt;@Zaister&amp;gt; have a nice weekend&lt;br /&gt;
*[10:28] &amp;lt;karianna&amp;gt; Tom - quickly before you go, why can’t those libs go to Maven Central?&lt;br /&gt;
*[10:28] &amp;lt;karianna&amp;gt; Sorry didn’t word that well but hopefully you get the gist :-)&lt;br /&gt;
*[10:29] &amp;lt;karianna&amp;gt; I’ll ping him later on thiat :-)&lt;br /&gt;
*[10:29] &amp;lt;@Zaister&amp;gt; ok&lt;br /&gt;
*[10:31] &amp;lt;[OGL]Nylanfs&amp;gt; So looks like we have everything discussed that we had planned? :)&lt;br /&gt;
*[10:31] &amp;lt;Gwen&amp;gt; I'd like to bring up something that my husband just reminded me of. Our web presence is a bit splintered. The wiki, forums, FB, download locations, etc.... They don't seem to have a lot of links to each other or are solidly in most user's awareness.&lt;br /&gt;
*[10:32] &amp;lt;@Zaister&amp;gt; that's true&lt;br /&gt;
*[10:32] &amp;lt;Gwen&amp;gt; If folks don't know about these resources, they can't use them.&lt;br /&gt;
*[10:32] &amp;lt;karianna&amp;gt; Cool, I’ll head off now as well - I’ve dropped tom a note on the developers list and anestis a note on the BoD list and Tom and I are going to try to resolve hte PND issue with Eitan in the next few days, then we can move to Java 9 (Tom and I will sort that) and then I can start the doc exercise with Tom (for developers)&lt;br /&gt;
*[10:32] &amp;lt;karianna&amp;gt; Gwen - you’re totally right&lt;br /&gt;
*[10:33] &amp;lt;karianna&amp;gt; Is that something you, your Husband and I can go through on a video call?&lt;br /&gt;
*[10:33] &amp;lt;Gwen&amp;gt; Can we look at recruiting a sort of webmaster to tighten this up??&lt;br /&gt;
*[10:33] &amp;lt;@Zaister&amp;gt; PND?&lt;br /&gt;
*[10:33] &amp;lt;karianna&amp;gt; I used to be that person, I can probably do that again&lt;br /&gt;
*[10:33] &amp;lt;karianna&amp;gt; Zaister - PMD&lt;br /&gt;
*[10:33] &amp;lt;@Zaister&amp;gt; ah&lt;br /&gt;
*[10:34] &amp;lt;karianna&amp;gt; I upgraded to 6.0.0 (needed for Java 9) but it’s a massive change and so it’s breaking hte build by default (we need to re do the ruleset)&lt;br /&gt;
*[10:34] &amp;lt;Gwen&amp;gt; Not at the moment. We're about to head to the movies. The local theater is running a Sensory Friendly showing, so kids with autism don't have to be still and quiet. We don't get those often, so we need to take advantage when we can.&lt;br /&gt;
*[10:34] &amp;lt;@Zaister&amp;gt; hm gettign Java 9 on my machine doesn't look too easy. I'll have to look into that&lt;br /&gt;
*[10:35] &amp;lt;@Zaister&amp;gt; Gwen that's awesome&lt;br /&gt;
*[10:35] &amp;lt;Gwen&amp;gt; But I think hubby would be happy to do that later. He's a &amp;quot;super-user&amp;quot; so his input might be more useful than mine. (all of his gaming groups use PCGen)&lt;br /&gt;
*[10:36] &amp;lt;karianna&amp;gt; Gwen - sorry I wasn’t thinking now :-), ping me on martijnverburg AT gmail DOT com and we can arrange a date / time that suits&lt;br /&gt;
*[10:36] &amp;lt;Gwen&amp;gt; Sounds good!&lt;br /&gt;
*[10:36] == rfinch [2ed0086f@gateway/web/freenode/ip.46.208.8.111] has quit [Quit: Page closed]&lt;br /&gt;
*[10:36] &amp;lt;Avilay&amp;gt; curious. is meeting finished?&lt;br /&gt;
*[10:36] &amp;lt;karianna&amp;gt; And that sounds awesome (movies)&lt;br /&gt;
*[10:36] &amp;lt;karianna&amp;gt; Avilay - I think so now yes&lt;br /&gt;
*[10:37] &amp;lt;Avilay&amp;gt; so i can return to lurking again :)&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4206</id>
		<title>Meeting Logs</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Meeting_Logs&amp;diff=4206"/>
		<updated>2018-02-24T16:56:21Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a new section to hold the Meeting Logs.&lt;br /&gt;
&lt;br /&gt;
=2018=&lt;br /&gt;
* [[Meeting 2018 02 24]] &amp;quot;Roadmap to Production&amp;quot;&lt;br /&gt;
* [[Meeting 2018 01 13]] &amp;quot;Future of PCGen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2017=&lt;br /&gt;
* [[Meeting 2017 06 17]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 02 25]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
* [[Meeting 2017 01 21]] &amp;quot;Team Reports&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2016=&lt;br /&gt;
* [[Meeting 2016 11 12]] &amp;quot;Release Discussion 6.07.01, and hold up&amp;quot;&lt;br /&gt;
* [[Meeting 2016 10 01]] &amp;quot;Discussion for 7.00&amp;quot;&lt;br /&gt;
* [[Meeting 2016 07 02]] &amp;quot;Quorum - 6.06 release and 7.00 roadmap&amp;quot;&lt;br /&gt;
* [[Meeting 2016 05 28]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting 2016 02 27]] &amp;quot;Production Release Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2015=&lt;br /&gt;
* [[Meeting 2015 11 14]] &amp;quot;Informal Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 09 12]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 08 15]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
* [[Meeting 2015 05 09]] &amp;quot;Monthly Meeting&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* [[Meeting 2015 03 27]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting 2015 02 13]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting 2015 01 30]] &amp;quot;TBD&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_16]] &amp;quot;Informal&amp;quot;&lt;br /&gt;
* [[Meeting_2015_01_02]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=2014=&lt;br /&gt;
* [[Agenda_Next_Meeting_Deep_Dive]]&lt;br /&gt;
* [[Agenda_Next_Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_12_19]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_12_05]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_21]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_11_07]] &amp;quot;Team Discussion &amp;amp; Parser Conversation Post Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_24]] &amp;quot;Deep Dive&amp;quot;&lt;br /&gt;
* [[Meeting_2014_10_10]] &amp;quot;Team Discussion&amp;quot;&lt;br /&gt;
* [[Meeting_2014_09_26]] &amp;quot;Post Release Meeting &amp;amp; Deep Dive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2014_09_12]] &amp;quot;Release Meeting&amp;quot; RC2 good to Go?&lt;br /&gt;
* [[Meeting_2014_08_29]] &amp;quot;Release Meeting&amp;quot; RC1 good?&lt;br /&gt;
* [[Meeting_2014_08_15]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_18]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_07_11]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement Part 2; Documentation Discussion&lt;br /&gt;
* [[Meeting_2014_06_20]] &amp;quot;Team Discussion Meeting&amp;quot;&lt;br /&gt;
* [[Meeting_2014_06_06]] &amp;quot;Deep Dive Meeting - Formula Parser Compatibility System Replacement&lt;br /&gt;
* [[Meeting_2014_05_09]]&lt;br /&gt;
* [[Meeting_2014_04_29]]&lt;br /&gt;
* [[Meeting 2014_02_28]]&lt;br /&gt;
* [[Meeting_2014_01_03]]&lt;br /&gt;
&lt;br /&gt;
=2013=&lt;br /&gt;
* [[Meeting_2013_12_06]] &amp;lt;-- Final 2013 Meeting&lt;br /&gt;
* [[Meeting_2013_11_22]]&lt;br /&gt;
* [[Meeting_2013_10_25]]&lt;br /&gt;
* [[Meeting_2013_08_30]]&lt;br /&gt;
* [[Meeting_2013_08_02]]&lt;br /&gt;
* [[Meeting_2013_06_22]]&lt;br /&gt;
* [[Meeting_2013_05_28]]&lt;br /&gt;
* [[Meeting_2013_05_10]]&lt;br /&gt;
* [[Meeting_2013_03_05]]&lt;br /&gt;
* [[Meeting_2013_02_01]]&lt;br /&gt;
* [[Meeting_2013_01_22]]&lt;br /&gt;
* [[Meeting_2013_01_04]]&lt;br /&gt;
&lt;br /&gt;
=2012=&lt;br /&gt;
* [[Meeting_2012_12_11]]&lt;br /&gt;
* [[Meeting_2012_11_23]]&lt;br /&gt;
* [[Meeting_2012_11_09]]&lt;br /&gt;
* [[Meeting_2012_10_30]]&lt;br /&gt;
* [[Meeting_2012_10_12]]&lt;br /&gt;
* [[Meeting_2012_09_28]]&lt;br /&gt;
* [[Meeting_2012_09_18]]&lt;br /&gt;
* [[Meeting_2012_08_31]]&lt;br /&gt;
* [[Meeting_2012_08_17]]&lt;br /&gt;
* [[Meeting_2012_08_07]]&lt;br /&gt;
* [[Meeting_2012_06_26]]&lt;br /&gt;
* [[Meeting_2012_06_08]]&lt;br /&gt;
* [[Meeting_2012_05_25]]&lt;br /&gt;
* [[Meeting_2012_March_16]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=2010=&lt;br /&gt;
&lt;br /&gt;
* [[Meeting_2010_08_02]]&lt;br /&gt;
* [[Meeting_2010_07_19]]&lt;br /&gt;
* [[Meeting_2010_July_5]]&lt;br /&gt;
* [[Meeting_2010_June_7]]&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=FAQ_and_Help&amp;diff=4205</id>
		<title>FAQ and Help</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=FAQ_and_Help&amp;diff=4205"/>
		<updated>2018-02-17T21:00:38Z</updated>

		<summary type="html">&lt;p&gt;LegacyKing: /* Trouble Shooting Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just some tips to help along. It'll be a repository of Frequently Asked Questions and Help Tips that we've encountered a lot.&lt;br /&gt;
&lt;br /&gt;
== What is PCGen? ==&lt;br /&gt;
PCGen is a JAVA Program that uses custom 'text' files (*.pcc and *.lst) to emulate books from table-top role-playing games, like Dungeons &amp;amp; Dragons 3rd edition, to help create and maintain system rules-legal characters for that game system. It allows you to print out character sheets, or export them into various formats for later use - such as a basic text sheet, xml for various forum play and software systems, htm for web browser enabled devices and pdf. PCGen is built to support the most popular d20 systems and has plans for future expansion into non-d20 based systems.&lt;br /&gt;
&lt;br /&gt;
== What systems does PCGen support today? ==&lt;br /&gt;
Today PCGen (version 6.2) supports Dungeons and Dragons by Wizard of the Coast - the specific versions supported directly are: 3rd edition (Known as SRD), 3.5 edition (RSRD), d20 Modern (MSRD). Due to license issues, the program can support 4th edition and the upcoming 5th edition (known as D&amp;amp;D Next) but we cannot supply any pre-made books. Those will require custom sets that you can make yourself.&lt;br /&gt;
&lt;br /&gt;
Our list of supported d20 systems with pre-made books: &lt;br /&gt;
* D&amp;amp;D 5.0 edition (Listed as SRD5)&lt;br /&gt;
* D&amp;amp;D 3.0 edition (Listed as SRD - System Resource Documents)&lt;br /&gt;
* D&amp;amp;D 3.5 edition (Listed as RSRD - Revised System Resource Documents)&lt;br /&gt;
* D&amp;amp;D Modern Edition (Listed as MSRD - Modern System Resource Documents)&lt;br /&gt;
* Deadlands by Pinnacle Entertainment&lt;br /&gt;
* Fantasy Craft by Crafty Games (Crafty Games is hosting the full core rule book, we only have a level 4 demo set)&lt;br /&gt;
* Gaslight 1st edition by Battlefield Press&lt;br /&gt;
* Legends of Excalibur&lt;br /&gt;
* Pathfinder by Paizo Publishing&lt;br /&gt;
* Sidewinder&lt;br /&gt;
* Spycraft&lt;br /&gt;
* Xcrawl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Non-d20 Systems we're building support for:&lt;br /&gt;
* Killshot by Broken Ruler Games (This is ready to play but needs a Character Sheet to display)&lt;br /&gt;
* Cyberpunk&lt;br /&gt;
* Shadowrun&lt;br /&gt;
&lt;br /&gt;
== Using Pathfinder in PCGen ==&lt;br /&gt;
* Unchained Classes - Q&amp;amp;A:&lt;br /&gt;
** '''QUESTION''': How can I created an Unchained x class?&lt;br /&gt;
** '''ANSWER''': First, you need to make sure you are loading the correct book(s). You will need to load ''Pathfinder Unchained'' to have access to the first four Unchained variant classes - Barbarian, Monk, Rogue, and Summoner. Select the base class, Rogue for Unchained Rogue as an example. Once you add the first level, go to the Feats &amp;amp; Abilities tab, under Class Features, there should be a CLASS SELECTION group. Select the Unchained Version from there. Congratulations, you now have an Unchained version of the Class. &lt;br /&gt;
** '''LIMITATIONS''': Warning - Due to how PCGen processes SPELL LISTS, an Unchained Summoner will require you to SAVE and RELOAD to have the correct spells populate your spell list.&lt;br /&gt;
** QUESTION: I'm very curious (from both a user's viewpoint and that of a designer) as to why you made the Unchained classes as options within the class (when the source is selected) instead of a separate class in their own right. I actually found that very confusing when making an unchained class as I couldn't select it from the class list as one would usually do when making a character. It was only when I went back to the summary screen after selecting the class that I realized I could make the Unchained version. That's a design decision that needs to be deliberated upon and possibly altered because as it stands, it is highly confusing and may lead a lot of people to believe that you can't make an Unchained class at all in PCGen.&lt;br /&gt;
** ANSWER: Since that was my decision, I'll be happy to explain the reasoning and how I arrived at that conclusion.  If you do a comparison between the normal classes and the unchained versions, you will see (in most cases) the only differences was the class features - Monk had a HD boost, Summoner has a Spell List change, Barbarian only changes features, and Rogue added some new features.  It seemed more economical to re-use the base framework which 90% of the classes were built upon. Reduce duplication in code (Each class loaded requires some memory, whereas the method I opted did not increase memory, merely which features to use). Unchained classes comes across as more a variant. Plus, you cannot have an unchained version and regular version of the class. Programming in &amp;quot;Cannot take this&amp;quot; does increase cpu cycles and additional code lines. Add in the fact they were treated just as the regular version in terms of meeting prerequisites for prestige classes, feats, and archetypes, etc.  Looking at it big picture, it made more sense to simply use the base class and treat the unchained variant as a super archetype - swap out abilities. They were more the base class then not. The chance of breaking support was higher if they were coded separately - anything using the code classlevel(&amp;quot;Summoner&amp;quot;) would fail for an &amp;quot;Unchained Summoner&amp;quot; as an example, SERVESAS only does prexxx support. Reviewing everything related to the class - favored classes, archetype support, feats and the data hacks was a bit more time consuming.  Plus, it gave me the excuse to test out a function of the program to try and support a prestige class that grants class features from other classes, which we could not support in the past.  To combat the confusion, I did include the Summary TO DO to prompt the user to choose which version they want to use; most users use the summary screen to add classes to the character, which would mean they see the prompt right off. Under the hood, it defaults to the base version in case they never make that selection. An important fact for the Summoner - so it still gains spells.  If it helps to know, I went back and forth several times, actually coding them up initially as classes. But the lack of time on my part limited what I was willing to undertake, so choosing the path that had the least chance to break any particular build was what I ended up doing. As I progressed, I learned a new tidbit that swung the pendulum toward the other method. I might have chosen differently knowing what I know today.  Right or wrong, it is a bit late to change the decision (6.06.00 is now released). With our focus for the 6.08 dev cycle to rip out the JEP reliance tags - anything that starts with BONUS:x, anything that is touched by BONUS, such as LEGS, FACE, REACH, WEAPONPROF, etc. Implementing new support for global and local variable numbers, Booleans, strings and orderedpairs. Rip out every text output tag and replace it with INFO/INFOVARS. Redesign the output sheets to (1) use the freemarker template code properly, and (2) switch to grabbing the new output via fact, info and value. The end goal is a more lean and efficient code base and data processing. Hope that helps clear up the decision making process that led to variant vs. class. If you have any other questions, comments or otherwise, feel free to reach out to me. --Andrew Maitland (Content Silverback - PCGen Board of Director's)&lt;br /&gt;
** Reply back: Thanks for the explanation. Now I understand the process behind the decision a lot more. Might be something to add to the FAQs because other people may also get confused and I admittedly found the Unchained version by accident.&lt;br /&gt;
&lt;br /&gt;
* Pathfinder vs Pathfinder Society:&lt;br /&gt;
** QUESTION: What is the difference between these and why should I care?&lt;br /&gt;
** ANSWER: Pathfinder Society is an actual real world international organization which publishes official rules of play for gamemasters and players alike. The games are run using official modules with completion items given out, special sheets to track rewards and of course a very different XP progression, which is capped well before 20th level. As mentioned before they publish rules each year to tell their members what is legal to use in their games. In essence Pathfinder Society (abbreviated PFS) is a structured event setting which determines what is legal in their games, allowing players from all over the world to have the same experiences and options. Many feats, spells, equipment and class options are restricted in the Pathfinder Society games. PCGen supports the various seasons of play as best we can. Many false bugs are raised due to people mistakenly thinking their favorite options are not working. Rule of thumb, unless you play in this actual society, do not use their rules.&lt;br /&gt;
&lt;br /&gt;
== How Customizable is PCGen? ==&lt;br /&gt;
PCGen is designed with user customizations in mind. For the Books Side, we are looking to re-include an In-built LST Editor in the program for version 6.4.0. LST files are the main text files for holding the information that PCGen (JAVA Program) can read and execute. LST Files are plain text programing using a customized Language that is designed towards simple premise of Human-Readable and easily used. &lt;br /&gt;
&lt;br /&gt;
PCGen has several methods to impart how to create your own custom files. First, we supply a sample folder including a full set of pcc and lst files for you to get started. We have extensive documentation in the program, and maintained on our website. Andrew Maitland has made several youtube videos explaining how to craft the files, and the common mistakes to avoid. Finally, we offer online support via our Yahoo Groups and direct help from our Support Desk Monkey - Help@PCGen.Org. &lt;br /&gt;
&lt;br /&gt;
== Is there support for issues and recommendations? ==&lt;br /&gt;
Yes, PCGen is a volunteer project run by monkeys and humans. We all know monkeys are a laugh, and humans are fallible. Thus, we have a Ticket Support system that is monitored by the various projects that go towards supporting PCGen. Our ticket support system is called 'JIRA' and anyone can log into the system after creating an account, and report a problem &amp;quot;Bug&amp;quot; or make recommendations for improvements (Feature Requests). The system is located at http://jira.pcgen.org. &lt;br /&gt;
&lt;br /&gt;
Wait, what do all those projects visible mean? I'm totally confused?!!?!&lt;br /&gt;
* Data - This is the Books. Chances are if it's incorrect the logical issue would be this project. Bug is something broken; Feature is new things to be added.&lt;br /&gt;
* Code - This is the heart of PCGen and encompasses the JAVA involved. They also handle the User Interface (UI for short).&lt;br /&gt;
* Docs - This is the Documentation that comes with PCGen. Bugs are typographical errors, or formatting problems. Features would be adding new &amp;quot;classes&amp;quot; or &amp;quot;how-to&amp;quot; to explain using PCGen in new ways.&lt;br /&gt;
* OS - This is the output sheets or the final product you see. This encompasses the Summary bottom Pane, the Preview Sheets found on &amp;quot;Character&amp;quot; tab of the program, and all of the export methods.&lt;br /&gt;
* Admin - This is non-pcgen issues, like the Website has mistakes.&lt;br /&gt;
* Support - This is the catch-all &amp;quot;Help, I'm lost and need guidance&amp;quot;. When the program is causing issues, or you cannot figure out something, this is a good place to start.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What if I mess up and place it in the wrong area?&lt;br /&gt;
* Fear not, our Jira is monitored by experienced project volunteers, and can easily move your issue to the correct location at any time. &lt;br /&gt;
&lt;br /&gt;
 How should I submit an issue? &lt;br /&gt;
* Details are the key point. In order to address any issue we need facts. Please include the following in all reports:&lt;br /&gt;
** Summary of the issue (Single sentence to briefly give an idea of the issue)&lt;br /&gt;
** Version of PCGen (In most cases this is a requirement)&lt;br /&gt;
** Data You are loading (You can submit a character file (*.pcg) to the Ticket and that will help speed things along&lt;br /&gt;
** Description - What is wrong in your own words, and what is the correct result. Cite a source book if available. Since a person needs to verify the issue before making corrections.&lt;br /&gt;
** Environment - Your operating system, Java version and anything else you think will help us.&lt;br /&gt;
&lt;br /&gt;
== Trouble Shooting Problems ==&lt;br /&gt;
&lt;br /&gt;
===High Resolution Display===&lt;br /&gt;
I was able to workaround this issue by going into the compatibility properties of the PCGen shortcut and setting the &amp;quot;Override high DPI scaling behavior&amp;quot; to System. This was tested on Windows 10.&lt;br /&gt;
&lt;br /&gt;
=== Java 7 for version 5.17.11 or lower ===&lt;br /&gt;
PCGen versions prior to 5.17.11 (including the current production version, 5.16.4) are not compatible with Java 7. This is now the default version Java installed for most system types. Open JDK 6 on Linux exhibits the same problems and the same fix applies.&lt;br /&gt;
&lt;br /&gt;
==== Symptoms ====&lt;br /&gt;
&lt;br /&gt;
When you start PCGen, all character tabs other than the summary tab are blank (i.e. the table outline is there but there is no table displayed and thus no races, classes, equipment etc. can be seen). The advanced sources tab is also empty.&lt;br /&gt;
&lt;br /&gt;
==== Fix ====&lt;br /&gt;
There are two options to fix this:&lt;br /&gt;
# Install Java 6 and ensure PCGen uses that (may require downgrading &lt;br /&gt;
Java or using a batch file to start PCGen with Java 6)&lt;br /&gt;
# Use PCGen 5.17.11 or later. At the time of writing the current alpha version was 5.17.14. See [http://sourceforge.net/projects/pcgen/files/PCGen%20Unstable/ PCGen Alpha Downloads]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows Installations ===&lt;br /&gt;
* Vista &amp;amp; Win7 (32 &amp;amp; 64 versions) Install and Running&lt;br /&gt;
** If you are running 64-bit versions of Vista or Win7, the bat file may not find JAVA. You may have to hard-code the path to java.exe. To edit those either Right Click on my Computer -&amp;gt; Properties -&amp;gt; Advanced System Settings -&amp;gt; Environment Variables OR Control Panel -&amp;gt; System -&amp;gt; Advanced Syystem Settings -&amp;gt; Environment Variables.&lt;br /&gt;
** You can modify the PATH by adding your JAVA path to it.&lt;br /&gt;
** Example of a Direct Reference to Java:&lt;br /&gt;
** &amp;quot;C:\Program Files (x86)\Java\jre6\bin\java&amp;quot; -Dswing.aatext=true -Xms1024m -Xmx1024m -jar pcgen.jar&lt;br /&gt;
** Put that in your PCGen Bat File.&lt;br /&gt;
** If you're using the BAT, feel free to up the memory usage. I have mine set to 512 and 1028 (Just edit the bat file in a text editor). Set the memory to what your system can handle.&lt;br /&gt;
** Install in a NON-default directory (not c:\program files) Vista and Win7 seem to have directory permission issues at times. (Especially Win7) The UAC in both can cause problems in some cases.&lt;br /&gt;
** Setting the Permission of the FOLDER to the highest level can help&lt;br /&gt;
** 5.17.0 onward have an exe file that solves the JAVA issue.&lt;br /&gt;
** Make sure you have a current version of JAVA installed (Not normally an issue for Windows Users)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1)  Create a pcgen.cmd file with the following in it:&lt;br /&gt;
&lt;br /&gt;
** &amp;quot;C:\Program Files (x86)\Java\jre6\bin\java.exe&amp;quot; -Dswing.aatext=true -Xms256m -Xmx1024m -jar &amp;quot;C:\Program Files (x86)\PCGen\PCGen5161\pcgen.jar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
** 2)  Put the pcgen.cmd file in your C:\program files (x86)\pcgen\pcgen5161\ directory.&lt;br /&gt;
** 3)  Change your shortcut link to the pcgen.cmd file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mac Installation Issues ===&lt;br /&gt;
ISSUE: I have downloaded PCGen for the Mac and I cannot get it to run.  If I try to open the application from within the disk image, I get this error message: &amp;quot; “PCGen 6.04.01” is damaged and can’t be opened. You should eject the disk image.&amp;quot;  If I move the application into the Applications folder on my hard drive, I get this error message: &amp;quot;You can’t open the application “PCGen 6.04.01” because it is not supported on this type of Mac.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SOLUTION: To prevent this error, go to System Preferences -&amp;gt; Security &amp;amp; Privacy. At the bottom of the window there is a section titled: &amp;quot;Allow apps downloaded from:&amp;quot; Then select &amp;quot;Anywhere&amp;quot;. That will allow you to open PCGen.&lt;br /&gt;
&lt;br /&gt;
ISSUE: Gatekeeper will not allow PCGen to run&lt;br /&gt;
&lt;br /&gt;
SOLUTION: Disable Gatekeeper, run PCGen, re-enable Gatekeeper. Once PCGen has run once successfully, it's ignored by Gatekeeper.&lt;br /&gt;
&lt;br /&gt;
UPDATE:&lt;br /&gt;
&lt;br /&gt;
*  Hold down &amp;quot;control&amp;quot; button&lt;br /&gt;
*  Click on the app that is triggering the message about the security preferences&lt;br /&gt;
*  Select &amp;quot;open&amp;quot; to override and install/open the application&lt;br /&gt;
&lt;br /&gt;
This allows you to avoid changing the security setting to &amp;quot;anywhere.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Homebrew OS Sheet for working 5.17.16 and forward ===&lt;br /&gt;
&lt;br /&gt;
As part of an improvement to Display all the Allowable Range Increments properly for Thrown and Ranged Weapons, some changes were made to the BASE.XML file and the reliant XSLT files. Sadly, this change '''will''' break home-brew OS sheets going forward.&lt;br /&gt;
&lt;br /&gt;
You have two options going forward.&lt;br /&gt;
&lt;br /&gt;
'''Option 1:'''&lt;br /&gt;
You'll need to make the following change to the section listed in your XSLT files that contains this:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!--&lt;br /&gt;
====================================&lt;br /&gt;
====================================&lt;br /&gt;
	TEMPLATE - weapons ranged&lt;br /&gt;
====================================&lt;br /&gt;
====================================--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace that entire Section with this new code.&lt;br /&gt;
&lt;br /&gt;
[http://pastebin.com/2YAhrBSV PCGen Pastebin Link to Updated Ranges Template]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Option 2:'''&lt;br /&gt;
&lt;br /&gt;
Replace the BASE.XML file shipped by us and using an older one (But this will mean you lose the newer functionality)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Changing a Character's Sources ===&lt;br /&gt;
&lt;br /&gt;
Sometimes you may need to change the sources a character is associated with, you could be adding a new source book you have started using or removing a book that is unused. Here's how to do it:&lt;br /&gt;
&lt;br /&gt;
# Turn off the &amp;quot;Load Sources with PC&amp;quot; option in Preferences &amp;gt; Sources&lt;br /&gt;
# Load the desired sources&lt;br /&gt;
# Load your character&lt;br /&gt;
# Save your character again (I'd recommend saving to a new file)&lt;br /&gt;
# Reactivate &amp;quot;Load Sources with PC&amp;quot; in preferences. &lt;br /&gt;
&lt;br /&gt;
The saved character will now be registered against the new sources which will be checked each time you load the character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another option is to use a pre-saved source selection. This can then be used by a number of characters and just updated when you want to add books. You can create a pre-saved source selection using these steps&lt;br /&gt;
&lt;br /&gt;
# Open Sources &amp;gt; Select Sources and switch to the Advanced tab&lt;br /&gt;
# Select the game you are using in the first drop-down.&lt;br /&gt;
# Select the sources you would like to use (using Add Selected)&lt;br /&gt;
# Once happy click the Save Source Selection button and enter a name for your source set.&lt;br /&gt;
# Select the new set on the Basic tab and load it.&lt;br /&gt;
&lt;br /&gt;
Then when you want to update the sources used for those characters just repeat the process using the same name. You should select the original saved selection first before switching to the Advanced tab and then the old books you selected will be already selected.&lt;/div&gt;</summary>
		<author><name>LegacyKing</name></author>
		
	</entry>
</feed>