Updating Homebrew Sets

From PCGen Wiki
Revision as of 22:54, 2 July 2016 by LegacyKing (talk | contribs) (Add missing documentation to a temp holding location)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

This section is for updating older homebrew LST files to use the current standards. This is a work in progress. Any questions ask on the PCGen Yahoo Group.

New Tags not in the Documentation for Homebrew

PrettyLST

  • First off we'll need PrettyLST for earlier versions of PCGen


  • You will want to run PrettyLST with the Conversion Flag turned on to bring your sets up to 5.12 standards. Note this is not a perfect conversion, you will need to check your materials against any errors PrettyLST outputs.


It's a good idea to be methodical over this, and convert a single set at a time, otherwise the number of errors and warnings you'll have to get through may well become overwhelming. Keep track of what you have converted.

you'll want to run PrettyLst with a command line such as:

perl prettylst.pl -i=d:\pcgen_convert\input -o=d:\pcgen_convert\intermediate -gamemode=35e -systempath D:\utils\PCGen\PCGen5120\system -e=error.txt -convert pcgen512 -nojep

That '-convert pcgen512' is the flag to actually perform the conversion (otherwise its just reformatting the field order and indentation).

-i specifies the directory your old data set is in currently (note that here I've setup specific directories completely outside of my 'normal' dataset directory, so I don't risk messing up any 'live' sets.

-o indicates the output directory (I use an 'intermediate' directory, which will be used as the input for the next script (Baraks) below).

-gamemode=35e specifies the gamemode we're converting, you can leave this off, and prettylst will determine what you need, though I find migrating CMP datasets to 35e means I can make use of many other PCGen enhancements and get a better experience.

-systempath is a path to the installed PCGen 5.12.0, I'm not totally sure this is needed actually, but it cant hurt :-)

-e defines where the error output is going to be written.

-nojep prevents (what appears to be erroneous) warnings about some functions.

I suggest you put the above into a batch file (RunConvert1.bat) to make it easier to run under windows.

Run the batch file, read the error messages, make any updates to the sources in the *input* directory, and re-run the batch file, repeat until either A) you have no more errors, or B) (more likely) you get fed up trying to fix them :-) There are numerous warnings you can (probably) ignore (further options to prettylst reduce warning levels), and many that are just plain difficult to resolve at this stage - further steps below may fix them, or it may be cross references into other sources that you havent converted yet...

NOTE - if you do migrate CMP to RSRD (I personally recommend this, opinions may differ) many things (races, classes, spells, equipment...) are easier if they .MOD an appropriate (standard PCGen) 3.5 (or 3e!) dataset.

Further notes on CMP to RSRD

5.12.x-->5.14.x

For 5.12 to 5.14 you'll want to use Barak's Script

Again you'll need perl, see above. You may also need to jon the PCGenLiSTFileHelp group to access the file. I put the script with PrettyLST.


Following the methodology above to get datasets up to 5.12.0, with a dataset in d:\pcgen_convert\intermediate, run Baraks script as:

perl convert_514.pl -I=d:\pcgen_convert\intermediate -O=d:\pcgen_convert\output

Check the 'convert_514_log.txt' file for errors, edit the files in the 'intermediate'* directory to fix, and re-run Baraks script again.

  • (or edit in the original 'input' directory, and run both the PrettyLst conversion and then Baraks script again - this ensures that you only edit one set of files and don't risk overwriting your edited intermediate files)

5.14.x-->5.16.x

5.16.x and beyond has a Converter included with PCGen. That Version of PCGen will update any files from the previous version. So the 5.16.x converter will bring 5.14.x files forward to 5.16.x standards.

Use the 5.16 Converter to bring 5.14 sets forward.


NOTE: The Converter will bring the previous cycle forward, do not use 6.0 to bring 5.14 forward, use 5.16 to do that.

When you finally load the sources into PCGen - Note that the error reporting improves with each version, so while you may see more errors with the newer version, chances are that those errors were there all along, just not being made obvious. Initially, you most likely want to turn off preference options for 'deprecation' and 'show detailed error report' and fix anything else you see at load time (particularly any NPE errors - they are serious and you need to restart PCGen!)

Once those (serious) errors are fixed, then at your leisure turn those options back on and fix the remaining (less serious) issues manually.

See here for more information.

5.16.x-->6.0.x

Use the 6.0 PCGen Converter

Massive Changes that WILL affect Homebrew Users

Starting 5.16.4 and 5.17.4

All the Armor BONUS TYPES got a bit of a Change. This WILL affect any homebrew sets that use any PCGen released core sets.

The Following needs to be done to follow the standards:

  • Races that grant Natural Armor need to use this format:
 BONUS:COMBAT|AC|x|TYPE=NaturalArmor
 this replaces the old format of BONUS:COMBAT|AC|x|TYPE=NaturalArmor.REPLACE
  • Anything that improves Natural Armor not by enhancement needs to use this format:
 BONUS:COMBAT|AC|x|TYPE=NaturalArmor.STACK
   this replaces the old format of BONUS:COMBAT|AC|x|TYPE=NaturalArmor.REPLACE
 BONUS:COMBAT|AC|x|TYPE=NaturalArmorEnhancement
   should be used for any Natural Armor Enhancement

The same applies for Armor.REPLACE and Shield.REPLACE; these both become Armor and Shield respectively. If there is an enhancement you wish to and, just append 'Enhancement' to the Bonus type 'ArmorEnhancement', 'ShieldEnhancement'.

  • For Armor and Shield:
  BONUS:COMBAT|AC|x|TYPE=ArmorEnhancement
    This replaces BONUS:COMBAT|AC|x|TYPE=Armor.REPLACE
  BONUS:COMBAT|AC|x|TYPE:ShieldEnhancement
    This replaces BONUS:COMBAT|AC|x|TYPE=Shield.REPLACE
  • 3rd Edition has a slight variation. We don't use 'Shield' or 'ShieldEnhancement' instead we use:
  ArmorShield
    For Armor Bonus derived from the Shield
  ArmorShieldEnhancement
    For the Armor Bonus granted from the Shield Enhancement 



This was done to make the stacking rules work more uniformly, and avoid overlap stacking where it shouldn't occur.